From b595726deee79d0c28ce0ba0cb1ceca7cc47d756 Mon Sep 17 00:00:00 2001 From: Justin Bowen Date: Thu, 17 Sep 2026 09:11:43 -0700 Subject: [PATCH 1/8] chore(release): open the 1.6.3 line for activeagent and actionagent Bumps both gems to 1.6.3 and opens the changelog section that 1.6.3 work files its entries under. The release summary and date are settled when the tag is cut. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 4 ++++ actionagent/lib/action_agent/version.rb | 2 +- lib/active_agent/version.rb | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26dbb1e9..099221f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.6.3] - 2026-09-17 + +Releases `activeagent` and `actionagent` 1.6.3 from one tag. + ## [1.6.2] - 2026-09-16 Releases `activeagent` and `actionagent` 1.6.2 from one tag. diff --git a/actionagent/lib/action_agent/version.rb b/actionagent/lib/action_agent/version.rb index f28a295a..1ec126f0 100644 --- a/actionagent/lib/action_agent/version.rb +++ b/actionagent/lib/action_agent/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module ActionAgent - VERSION = "1.6.2" + VERSION = "1.6.3" end diff --git a/lib/active_agent/version.rb b/lib/active_agent/version.rb index 1965fc9a..4a1ce297 100644 --- a/lib/active_agent/version.rb +++ b/lib/active_agent/version.rb @@ -1,3 +1,3 @@ module ActiveAgent - VERSION = "1.6.2" + VERSION = "1.6.3" end From 78d93e379140b2673b6299e794ee67ab6dcfd2f4 Mon Sep 17 00:00:00 2001 From: Justin Bowen Date: Thu, 17 Sep 2026 10:26:34 -0700 Subject: [PATCH 2/8] feat(telemetry): size tool schemas on the prompt span MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The context meter sized each segment by estimating ~4 chars/token over the content attributes. Those attributes are previews clipped at storage, and on the SDK path the tool attribute is a roster — names, a truncated description and parameter keys — rather than the JSON Schema the model is sent, which for a twelve-tool agent is several times larger. Tool pressure therefore read far lower than what the provider billed. Each size is now recorded as its own attribute, taken before truncation, and MCP schemas are attributed apart from the toolbox's so the meter can say which half fills the window. The meter prefers a recorded size and falls back to estimating for traces that predate them. With real sizes in hand the meter apportions the provider's prompt_tokens across the segments rather than subtracting estimates from it. The old subtraction made "Messages" absorb the entire approximation error, showing a message history that was never sent. The execution service reads both halves through tool_schemas' own split, so a mock run still offers no tools and a server's tool list is fetched once per run rather than a second time for telemetry. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 20 +++ actionagent/app/assets/builds/action_agent.js | 94 +++++------ .../action_agent/agent_execution_service.rb | 65 ++++++-- .../components/dashboard/ContextMeter.jsx | 20 +-- .../components/dashboard/TraceDetail.jsx | 69 +------- .../frontend/test/traceContext.test.mjs | 156 ++++++++++++++++++ actionagent/frontend/utils/traceContext.mjs | 131 +++++++++++++++ actionagent/test/runner_workbench_test.rb | 51 ++++++ lib/active_agent/telemetry/instrumentation.rb | 18 +- test/telemetry/tool_schema_size_test.rb | 108 ++++++++++++ 10 files changed, 592 insertions(+), 140 deletions(-) create mode 100644 actionagent/frontend/test/traceContext.test.mjs create mode 100644 actionagent/frontend/utils/traceContext.mjs create mode 100644 test/telemetry/tool_schema_size_test.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 099221f9..a098ef09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Releases `activeagent` and `actionagent` 1.6.3 from one tag. +### Added + +- The prompt span records how large the tool schemas actually are, as + `prompt.input.tools.tokens`, `prompt.input.mcp_tools.tokens` and + `prompt.input.instructions.tokens`. The content attributes beside them are + previews clipped for storage — and on the SDK path the tool attribute is a + roster of names and parameter keys, several times smaller than the schema the + model is sent — so a reader that sized the context from one understated tool + pressure badly. +- MCP tool schemas are attributed apart from the toolbox's, so the context meter + can name which half fills the window. + +### Fixed + +- The dashboard's context meter divides the provider's own `prompt_tokens` + among its segments instead of subtracting its estimates from it. Charging the + difference to one segment made "Messages" absorb the whole approximation + error, so a trace with dense JSON tool schemas read as a large message history + that was never sent. + ## [1.6.2] - 2026-09-16 Releases `activeagent` and `actionagent` 1.6.2 from one tag. diff --git a/actionagent/app/assets/builds/action_agent.js b/actionagent/app/assets/builds/action_agent.js index 921e4b18..e3d1e4f4 100644 --- a/actionagent/app/assets/builds/action_agent.js +++ b/actionagent/app/assets/builds/action_agent.js @@ -1,83 +1,83 @@ -var lU=Object.create;var fw=Object.defineProperty;var sU=Object.getOwnPropertyDescriptor;var uU=Object.getOwnPropertyNames;var cU=Object.getPrototypeOf,dU=Object.prototype.hasOwnProperty;var Jr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fU=(e,t)=>{for(var r in t)fw(e,r,{get:t[r],enumerable:!0})},pU=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of uU(t))!dU.call(e,a)&&a!==r&&fw(e,a,{get:()=>t[a],enumerable:!(n=sU(t,a))||n.enumerable});return e};var te=(e,t,r)=>(r=e!=null?lU(cU(e)):{},pU(t||!e||!e.__esModule?fw(r,"default",{value:e,enumerable:!0}):r,e));var n5=Jr(Je=>{"use strict";var vw=Symbol.for("react.transitional.element"),mU=Symbol.for("react.portal"),vU=Symbol.for("react.fragment"),gU=Symbol.for("react.strict_mode"),yU=Symbol.for("react.profiler"),hU=Symbol.for("react.consumer"),xU=Symbol.for("react.context"),bU=Symbol.for("react.forward_ref"),wU=Symbol.for("react.suspense"),SU=Symbol.for("react.memo"),Q_=Symbol.for("react.lazy"),AU=Symbol.for("react.activity"),Y_=Symbol.iterator;function kU(e){return e===null||typeof e!="object"?null:(e=Y_&&e[Y_]||e["@@iterator"],typeof e=="function"?e:null)}var J_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},R_=Object.assign,e5={};function fc(e,t,r){this.props=e,this.context=t,this.refs=e5,this.updater=r||J_}fc.prototype.isReactComponent={};fc.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")};fc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function t5(){}t5.prototype=fc.prototype;function gw(e,t,r){this.props=e,this.context=t,this.refs=e5,this.updater=r||J_}var yw=gw.prototype=new t5;yw.constructor=gw;R_(yw,fc.prototype);yw.isPureReactComponent=!0;var G_=Array.isArray;function mw(){}var Qt={H:null,A:null,T:null,S:null},r5=Object.prototype.hasOwnProperty;function hw(e,t,r){var n=r.ref;return{$$typeof:vw,type:e,key:t,ref:n!==void 0?n:null,props:r}}function NU(e,t){return hw(e.type,t,e.props)}function xw(e){return typeof e=="object"&&e!==null&&e.$$typeof===vw}function CU(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var X_=/\/+/g;function pw(e,t){return typeof e=="object"&&e!==null&&e.key!=null?CU(""+e.key):t.toString(36)}function EU(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(mw,mw):(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 dc(e,t,r,n,a){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(o){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case vw:case mU:i=!0;break;case Q_:return i=e._init,dc(i(e._payload),t,r,n,a)}}if(i)return a=a(e),i=n===""?"."+pw(e,0):n,G_(a)?(r="",i!=null&&(r=i.replace(X_,"$&/")+"/"),dc(a,t,r,"",function(u){return u})):a!=null&&(xw(a)&&(a=NU(a,r+(a.key==null||e&&e.key===a.key?"":(""+a.key).replace(X_,"$&/")+"/")+i)),t.push(a)),1;i=0;var l=n===""?".":n+":";if(G_(e))for(var s=0;s{"use strict";a5.exports=n5()});var m5=Jr(ir=>{"use strict";function Aw(e,t){var r=e.length;e.push(t);e:for(;0>>1,a=e[n];if(0>>1;ngg(l,r))sgg(u,l)?(e[n]=u,e[s]=r,n=s):(e[n]=l,e[i]=r,n=i);else if(sgg(u,r))e[n]=u,e[s]=r,n=s;else break e}}return t}function gg(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}ir.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(o5=performance,ir.unstable_now=function(){return o5.now()}):(bw=Date,i5=bw.now(),ir.unstable_now=function(){return bw.now()-i5});var o5,bw,i5,oi=[],sl=[],TU=1,Ta=null,xn=3,kw=!1,Jf=!1,Rf=!1,Nw=!1,u5=typeof setTimeout=="function"?setTimeout:null,c5=typeof clearTimeout=="function"?clearTimeout:null,l5=typeof setImmediate<"u"?setImmediate:null;function yg(e){for(var t=Po(sl);t!==null;){if(t.callback===null)hg(sl);else if(t.startTime<=e)hg(sl),t.sortIndex=t.expirationTime,Aw(oi,t);else break;t=Po(sl)}}function Cw(e){if(Rf=!1,yg(e),!Jf)if(Po(oi)!==null)Jf=!0,mc||(mc=!0,pc());else{var t=Po(sl);t!==null&&Ew(Cw,t.startTime-e)}}var mc=!1,ep=-1,d5=5,f5=-1;function p5(){return Nw?!0:!(ir.unstable_now()-f5e&&p5());){var n=Ta.callback;if(typeof n=="function"){Ta.callback=null,xn=Ta.priorityLevel;var a=n(Ta.expirationTime<=e);if(e=ir.unstable_now(),typeof a=="function"){Ta.callback=a,yg(e),t=!0;break t}Ta===Po(oi)&&hg(oi),yg(e)}else hg(oi);Ta=Po(oi)}if(Ta!==null)t=!0;else{var o=Po(sl);o!==null&&Ew(Cw,o.startTime-e),t=!1}}break e}finally{Ta=null,xn=r,kw=!1}t=void 0}}finally{t?pc():mc=!1}}}var pc;typeof l5=="function"?pc=function(){l5(ww)}:typeof MessageChannel<"u"?(Sw=new MessageChannel,s5=Sw.port2,Sw.port1.onmessage=ww,pc=function(){s5.postMessage(null)}):pc=function(){u5(ww,0)};var Sw,s5;function Ew(e,t){ep=u5(function(){e(ir.unstable_now())},t)}ir.unstable_IdlePriority=5;ir.unstable_ImmediatePriority=1;ir.unstable_LowPriority=4;ir.unstable_NormalPriority=3;ir.unstable_Profiling=null;ir.unstable_UserBlockingPriority=2;ir.unstable_cancelCallback=function(e){e.callback=null};ir.unstable_forceFrameRate=function(e){0>e||125n?(e.sortIndex=r,Aw(sl,e),Po(oi)===null&&e===Po(sl)&&(Rf?(c5(ep),ep=-1):Rf=!0,Ew(Cw,r-n))):(e.sortIndex=a,Aw(oi,e),Jf||kw||(Jf=!0,mc||(mc=!0,pc()))),e};ir.unstable_shouldYield=p5;ir.unstable_wrapCallback=function(e){var t=xn;return function(){var r=xn;xn=t;try{return e.apply(this,arguments)}finally{xn=r}}}});var g5=Jr((Cce,v5)=>{"use strict";v5.exports=m5()});var h5=Jr(On=>{"use strict";var MU=ne();function y5(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function x5(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(x5)}catch(e){console.error(e)}}x5(),b5.exports=h5()});var P3=Jr(Vy=>{"use strict";var Kr=g5(),qO=ne(),IU=rp();function pe(e){var t="https://react.dev/errors/"+e;if(1wc||(e.current=fS[wc],fS[wc]=null,wc--)}function Kt(e,t){wc++,fS[wc]=e.current,e.current=t}var zo=Lo(null),_p=Lo(null),wl=Lo(null),Rg=Lo(null);function ey(e,t){switch(Kt(wl,t),Kt(_p,e),Kt(zo,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?OO(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=OO(t),e=h3(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}tn(zo),Kt(zo,e)}function $c(){tn(zo),tn(_p),tn(wl)}function pS(e){e.memoizedState!==null&&Kt(Rg,e);var t=zo.current,r=h3(t,e.type);t!==r&&(Kt(_p,e),Kt(zo,r))}function ty(e){_p.current===e&&(tn(zo),tn(_p)),Rg.current===e&&(tn(Rg),$p._currentValue=Ps)}var _w,A5;function _s(e){if(_w===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);_w=t&&t[1]||"",A5=-1()=>(t||e((t={exports:{}}).exports,t),t.exports),fU=(e,t)=>{for(var r in t)pw(e,r,{get:t[r],enumerable:!0})},pU=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of uU(t))!dU.call(e,a)&&a!==r&&pw(e,a,{get:()=>t[a],enumerable:!(n=sU(t,a))||n.enumerable});return e};var te=(e,t,r)=>(r=e!=null?lU(cU(e)):{},pU(t||!e||!e.__esModule?pw(r,"default",{value:e,enumerable:!0}):r,e));var n5=Jr(Je=>{"use strict";var gw=Symbol.for("react.transitional.element"),mU=Symbol.for("react.portal"),vU=Symbol.for("react.fragment"),gU=Symbol.for("react.strict_mode"),yU=Symbol.for("react.profiler"),hU=Symbol.for("react.consumer"),xU=Symbol.for("react.context"),bU=Symbol.for("react.forward_ref"),wU=Symbol.for("react.suspense"),SU=Symbol.for("react.memo"),Q_=Symbol.for("react.lazy"),AU=Symbol.for("react.activity"),Y_=Symbol.iterator;function kU(e){return e===null||typeof e!="object"?null:(e=Y_&&e[Y_]||e["@@iterator"],typeof e=="function"?e:null)}var J_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},R_=Object.assign,e5={};function fc(e,t,r){this.props=e,this.context=t,this.refs=e5,this.updater=r||J_}fc.prototype.isReactComponent={};fc.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")};fc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function t5(){}t5.prototype=fc.prototype;function yw(e,t,r){this.props=e,this.context=t,this.refs=e5,this.updater=r||J_}var hw=yw.prototype=new t5;hw.constructor=yw;R_(hw,fc.prototype);hw.isPureReactComponent=!0;var G_=Array.isArray;function vw(){}var Qt={H:null,A:null,T:null,S:null},r5=Object.prototype.hasOwnProperty;function xw(e,t,r){var n=r.ref;return{$$typeof:gw,type:e,key:t,ref:n!==void 0?n:null,props:r}}function NU(e,t){return xw(e.type,t,e.props)}function bw(e){return typeof e=="object"&&e!==null&&e.$$typeof===gw}function CU(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var X_=/\/+/g;function mw(e,t){return typeof e=="object"&&e!==null&&e.key!=null?CU(""+e.key):t.toString(36)}function EU(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(vw,vw):(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 dc(e,t,r,n,a){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(o){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case gw:case mU:i=!0;break;case Q_:return i=e._init,dc(i(e._payload),t,r,n,a)}}if(i)return a=a(e),i=n===""?"."+mw(e,0):n,G_(a)?(r="",i!=null&&(r=i.replace(X_,"$&/")+"/"),dc(a,t,r,"",function(u){return u})):a!=null&&(bw(a)&&(a=NU(a,r+(a.key==null||e&&e.key===a.key?"":(""+a.key).replace(X_,"$&/")+"/")+i)),t.push(a)),1;i=0;var l=n===""?".":n+":";if(G_(e))for(var s=0;s{"use strict";a5.exports=n5()});var m5=Jr(ir=>{"use strict";function kw(e,t){var r=e.length;e.push(t);e:for(;0>>1,a=e[n];if(0>>1;ngg(l,r))sgg(u,l)?(e[n]=u,e[s]=r,n=s):(e[n]=l,e[i]=r,n=i);else if(sgg(u,r))e[n]=u,e[s]=r,n=s;else break e}}return t}function gg(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}ir.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(o5=performance,ir.unstable_now=function(){return o5.now()}):(ww=Date,i5=ww.now(),ir.unstable_now=function(){return ww.now()-i5});var o5,ww,i5,ai=[],ll=[],TU=1,Ta=null,xn=3,Nw=!1,Jf=!1,Rf=!1,Cw=!1,u5=typeof setTimeout=="function"?setTimeout:null,c5=typeof clearTimeout=="function"?clearTimeout:null,l5=typeof setImmediate<"u"?setImmediate:null;function yg(e){for(var t=Po(ll);t!==null;){if(t.callback===null)hg(ll);else if(t.startTime<=e)hg(ll),t.sortIndex=t.expirationTime,kw(ai,t);else break;t=Po(ll)}}function Ew(e){if(Rf=!1,yg(e),!Jf)if(Po(ai)!==null)Jf=!0,mc||(mc=!0,pc());else{var t=Po(ll);t!==null&&_w(Ew,t.startTime-e)}}var mc=!1,ep=-1,d5=5,f5=-1;function p5(){return Cw?!0:!(ir.unstable_now()-f5e&&p5());){var n=Ta.callback;if(typeof n=="function"){Ta.callback=null,xn=Ta.priorityLevel;var a=n(Ta.expirationTime<=e);if(e=ir.unstable_now(),typeof a=="function"){Ta.callback=a,yg(e),t=!0;break t}Ta===Po(ai)&&hg(ai),yg(e)}else hg(ai);Ta=Po(ai)}if(Ta!==null)t=!0;else{var o=Po(ll);o!==null&&_w(Ew,o.startTime-e),t=!1}}break e}finally{Ta=null,xn=r,Nw=!1}t=void 0}}finally{t?pc():mc=!1}}}var pc;typeof l5=="function"?pc=function(){l5(Sw)}:typeof MessageChannel<"u"?(Aw=new MessageChannel,s5=Aw.port2,Aw.port1.onmessage=Sw,pc=function(){s5.postMessage(null)}):pc=function(){u5(Sw,0)};var Aw,s5;function _w(e,t){ep=u5(function(){e(ir.unstable_now())},t)}ir.unstable_IdlePriority=5;ir.unstable_ImmediatePriority=1;ir.unstable_LowPriority=4;ir.unstable_NormalPriority=3;ir.unstable_Profiling=null;ir.unstable_UserBlockingPriority=2;ir.unstable_cancelCallback=function(e){e.callback=null};ir.unstable_forceFrameRate=function(e){0>e||125n?(e.sortIndex=r,kw(ll,e),Po(ai)===null&&e===Po(ll)&&(Rf?(c5(ep),ep=-1):Rf=!0,_w(Ew,r-n))):(e.sortIndex=a,kw(ai,e),Jf||Nw||(Jf=!0,mc||(mc=!0,pc()))),e};ir.unstable_shouldYield=p5;ir.unstable_wrapCallback=function(e){var t=xn;return function(){var r=xn;xn=t;try{return e.apply(this,arguments)}finally{xn=r}}}});var g5=Jr((Cce,v5)=>{"use strict";v5.exports=m5()});var h5=Jr(On=>{"use strict";var MU=ne();function y5(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function x5(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(x5)}catch(e){console.error(e)}}x5(),b5.exports=h5()});var P3=Jr(Vy=>{"use strict";var Kr=g5(),qO=ne(),IU=rp();function pe(e){var t="https://react.dev/errors/"+e;if(1wc||(e.current=pS[wc],pS[wc]=null,wc--)}function Kt(e,t){wc++,pS[wc]=e.current,e.current=t}var zo=Lo(null),_p=Lo(null),bl=Lo(null),Rg=Lo(null);function ey(e,t){switch(Kt(bl,t),Kt(_p,e),Kt(zo,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?OO(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=OO(t),e=h3(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}tn(zo),Kt(zo,e)}function $c(){tn(zo),tn(_p),tn(bl)}function mS(e){e.memoizedState!==null&&Kt(Rg,e);var t=zo.current,r=h3(t,e.type);t!==r&&(Kt(_p,e),Kt(zo,r))}function ty(e){_p.current===e&&(tn(zo),tn(_p)),Rg.current===e&&(tn(Rg),$p._currentValue=Ps)}var Ow,A5;function _s(e){if(Ow===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);Ow=t&&t[1]||"",A5=-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{Ow=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?_s(r):""}function $U(e,t){switch(e.tag){case 26:case 27:case 5:return _s(e.type);case 16:return _s("Lazy");case 13:return e.child!==t&&t!==null?_s("Suspense Fallback"):_s("Suspense");case 19:return _s("SuspenseList");case 0:case 15:return Tw(e.type,!1);case 11:return Tw(e.type.render,!1);case 1:return Tw(e.type,!0);case 31:return _s("Activity");default:return""}}function k5(e){try{var t="",r=null;do t+=$U(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{Tw=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?_s(r):""}function $U(e,t){switch(e.tag){case 26:case 27:case 5:return _s(e.type);case 16:return _s("Lazy");case 13:return e.child!==t&&t!==null?_s("Suspense Fallback"):_s("Suspense");case 19:return _s("SuspenseList");case 0:case 15:return Mw(e.type,!1);case 11:return Mw(e.type.render,!1);case 1:return Mw(e.type,!0);case 31:return _s("Activity");default:return""}}function k5(e){try{var t="",r=null;do t+=$U(e,r),r=e,e=e.return;while(e);return t}catch(n){return` Error generating stack: `+n.message+` -`+n.stack}}var mS=Object.prototype.hasOwnProperty,a2=Kr.unstable_scheduleCallback,Mw=Kr.unstable_cancelCallback,UU=Kr.unstable_shouldYield,FU=Kr.unstable_requestPaint,ca=Kr.unstable_now,WU=Kr.unstable_getCurrentPriorityLevel,RO=Kr.unstable_ImmediatePriority,eT=Kr.unstable_UserBlockingPriority,ry=Kr.unstable_NormalPriority,HU=Kr.unstable_LowPriority,tT=Kr.unstable_IdlePriority,VU=Kr.log,KU=Kr.unstable_setDisableYieldValue,Hp=null,da=null;function gl(e){if(typeof VU=="function"&&KU(e),da&&typeof da.setStrictMode=="function")try{da.setStrictMode(Hp,e)}catch{}}var fa=Math.clz32?Math.clz32:GU,qU=Math.log,YU=Math.LN2;function GU(e){return e>>>=0,e===0?32:31-(qU(e)/YU|0)|0}var wg=256,Sg=262144,Ag=4194304;function Os(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 _y(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~o,n!==0?a=Os(n):(i&=l,i!==0?a=Os(i):r||(r=l&~e,r!==0&&(a=Os(r))))):(l=n&~o,l!==0?a=Os(l):i!==0?a=Os(i):r||(r=n&~e,r!==0&&(a=Os(r)))),a===0?0:t!==0&&t!==a&&(t&o)===0&&(o=a&-a,r=t&-t,o>=r||o===32&&(r&4194048)!==0)?t:a}function Vp(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function XU(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 rT(){var e=Ag;return Ag<<=1,(Ag&62914560)===0&&(Ag=4194304),e}function Pw(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Kp(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ZU(e,t,r,n,a,o){var i=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(r=i&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var rF=/[\n"\\]/g;function ja(e){return e.replace(rF,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function yS(e,t,r,n,a,o,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pa(t)):e.value!==""+Pa(t)&&(e.value=""+Pa(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?hS(e,i,Pa(t)):r!=null?hS(e,i,Pa(r)):n!=null&&e.removeAttribute("value"),a==null&&o!=null&&(e.defaultChecked=!!o),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Pa(l):e.removeAttribute("name")}function dT(e,t,r,n,a,o,i,l){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||r!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){gS(e);return}r=r!=null?""+Pa(r):"",t=t!=null?""+Pa(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,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),gS(e)}function hS(e,t,r){t==="number"&&ny(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function Dc(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"),bS=!1;if(xi)try{vc={},Object.defineProperty(vc,"passive",{get:function(){bS=!0}}),window.addEventListener("test",vc,vc),window.removeEventListener("test",vc,vc)}catch{bS=!1}var vc,yl=null,c2=null,Ug=null;function gT(){if(Ug)return Ug;var e,t=c2,r=t.length,n,a="value"in yl?yl.value:yl.textContent,o=a.length;for(e=0;e=vp),j5=" ",z5=!1;function hT(e,t){switch(e){case"keyup":return TF.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xT(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kc=!1;function PF(e,t){switch(e){case"compositionend":return xT(t);case"keypress":return t.which!==32?null:(z5=!0,j5);case"textInput":return e=t.data,e===j5&&z5?null:e;default:return null}}function DF(e,t){if(kc)return e==="compositionend"||!f2&&hT(e,t)?(e=gT(),Ug=c2=yl=null,kc=!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=U5(r)}}function AT(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?AT(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function kT(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ny(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=ny(e.document)}return t}function p2(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 FF=xi&&"documentMode"in document&&11>=document.documentMode,Nc=null,wS=null,yp=null,SS=!1;function W5(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;SS||Nc==null||Nc!==ny(n)||(n=Nc,"selectionStart"in n&&p2(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}),yp&&Mp(yp,n)||(yp=n,n=wy(wS,"onSelect"),0>=i,a-=i,Do=1<<32-fa(t)+a|r<k?(A=O,O=null):A=O.sibling;var M=f(v,O,b[k],x);if(M===null){O===null&&(O=A);break}e&&O&&M.alternate===null&&t(v,O),g=o(M,g,k),w===null?S=M:w.sibling=M,w=M,O=A}if(k===b.length)return r(v,O),yt&&di(v,k),S;if(O===null){for(;kk?(A=O,O=null):A=O.sibling;var W=f(v,O,M.value,x);if(W===null){O===null&&(O=A);break}e&&O&&W.alternate===null&&t(v,O),g=o(W,g,k),w===null?S=W:w.sibling=W,w=W,O=A}if(M.done)return r(v,O),yt&&di(v,k),S;if(O===null){for(;!M.done;k++,M=b.next())M=d(v,M.value,x),M!==null&&(g=o(M,g,k),w===null?S=M:w.sibling=M,w=M);return yt&&di(v,k),S}for(O=n(O);!M.done;k++,M=b.next())M=p(O,v,k,M.value,x),M!==null&&(e&&M.alternate!==null&&O.delete(M.key===null?k:M.key),g=o(M,g,k),w===null?S=M:w.sibling=M,w=M);return e&&O.forEach(function(L){return t(v,L)}),yt&&di(v,k),S}function h(v,g,b,x){if(typeof b=="object"&&b!==null&&b.type===bc&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case bg:e:{for(var S=b.key;g!==null;){if(g.key===S){if(S=b.type,S===bc){if(g.tag===7){r(v,g.sibling),x=a(g,b.props.children),x.return=v,v=x;break e}}else if(g.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===cl&&Ts(S)===g.type){r(v,g.sibling),x=a(g,b.props),op(x,b),x.return=v,v=x;break e}r(v,g);break}else t(v,g);g=g.sibling}b.type===bc?(x=Ds(b.props.children,v.mode,x,b.key),x.return=v,v=x):(x=Wg(b.type,b.key,b.props,null,v.mode,x),op(x,b),x.return=v,v=x)}return i(v);case cp:e:{for(S=b.key;g!==null;){if(g.key===S)if(g.tag===4&&g.stateNode.containerInfo===b.containerInfo&&g.stateNode.implementation===b.implementation){r(v,g.sibling),x=a(g,b.children||[]),x.return=v,v=x;break e}else{r(v,g);break}else t(v,g);g=g.sibling}x=Uw(b,v.mode,x),x.return=v,v=x}return i(v);case cl:return b=Ts(b),h(v,g,b,x)}if(dp(b))return m(v,g,b,x);if(np(b)){if(S=np(b),typeof S!="function")throw Error(pe(150));return b=S.call(b),y(v,g,b,x)}if(typeof b.then=="function")return h(v,g,Og(b),x);if(b.$$typeof===pi)return h(v,g,_g(v,b),x);Tg(v,b)}return typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint"?(b=""+b,g!==null&&g.tag===6?(r(v,g.sibling),x=a(g,b),x.return=v,v=x):(r(v,g),x=$w(b,v.mode,x),x.return=v,v=x),i(v)):r(v,g)}return function(v,g,b,x){try{Ip=0;var S=h(v,g,b,x);return zc=null,S}catch(O){if(O===Rc||O===Iy)throw O;var w=sa(29,O,null,v.mode);return w.lanes=x,w.return=v,w}}}var $s=$T(!0),UT=$T(!1),dl=!1;function S2(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function OS(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 Al(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function kl(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Ot&2)!==0){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,t=oy(e),MT(e,null,r),t}return Dy(e,n,t,r),oy(e)}function xp(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,aT(e,r)}}function Ww(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,o=null;if(r=r.firstBaseUpdate,r!==null){do{var i={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};o===null?a=o=i:o=o.next=i,r=r.next}while(r!==null);o===null?a=o=t:o=o.next=t}else a=o=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:o,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 TS=!1;function bp(){if(TS){var e=jc;if(e!==null)throw e}}function wp(e,t,r,n){TS=!1;var a=e.updateQueue;dl=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,u=s.next;s.next=null,i===null?o=u:i.next=u,i=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==i&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(o!==null){var d=a.baseState;i=0,c=u=s=null,l=o;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(vt&f)===f:(n&f)===f){f!==0&&f===Wc&&(TS=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var m=e,y=l;f=t;var h=r;switch(y.tag){case 1:if(m=y.payload,typeof m=="function"){d=m.call(h,d,f);break e}d=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=y.payload,f=typeof m=="function"?m.call(h,d,f):m,f==null)break e;d=er({},d,f);break e;case 2:dl=!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,i|=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,o===null&&(a.shared.lanes=0),Dl|=i,e.lanes=i,e.memoizedState=d}}function FT(e,t){if(typeof e!="function")throw Error(pe(191,e));e.call(t)}function WT(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;eo?o:8;var i=Ke.T,l={};Ke.T=l,j2(e,!1,t,r);try{var s=a(),u=Ke.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=ZF(s,n);Sp(e,t,c,pa(e))}else Sp(e,t,n,pa(e))}catch(d){Sp(e,t,{then:function(){},status:"rejected",reason:d},pa())}finally{Tt.p=o,i!==null&&l.types!==null&&(i.types=l.types),Ke.T=i}}function rW(){}function jS(e,t,r,n){if(e.tag!==5)throw Error(pe(476));var a=p4(e).queue;f4(e,a,t,Ps,r===null?rW:function(){return m4(e),r(n)})}function p4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Ps,baseState:Ps,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:wi,lastRenderedState:Ps},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:wi,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function m4(e){var t=p4(e);t.next===null&&(t=e.alternate.memoizedState),Sp(e,t.next.queue,{},pa())}function I2(){return pn($p)}function v4(){return Or().memoizedState}function g4(){return Or().memoizedState}function nW(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=pa();e=Al(r);var n=kl(t,e,r);n!==null&&(Kn(n,t,r),xp(n,t,r)),t={cache:x2()},e.payload=t;return}t=t.return}}function aW(e,t,r){var n=pa();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},By(e)?h4(t,r):(r=v2(e,t,r,n),r!==null&&(Kn(r,e,n),x4(r,t,n)))}function y4(e,t,r){var n=pa();Sp(e,t,r,n)}function Sp(e,t,r,n){var a={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(By(e))h4(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,l=o(i,r);if(a.hasEagerState=!0,a.eagerState=l,ma(l,i))return Dy(e,t,a,0),$t===null&&Py(),!1}catch{}if(r=v2(e,t,a,n),r!==null)return Kn(r,e,n),x4(r,t,n),!0}return!1}function j2(e,t,r,n){if(n={lane:2,revertLane:V2(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},By(e)){if(t)throw Error(pe(479))}else t=v2(e,r,n,2),t!==null&&Kn(t,e,2)}function By(e){var t=e.alternate;return e===et||t!==null&&t===et}function h4(e,t){Lc=dy=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function x4(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,aT(e,r)}}var zp={readContext:pn,use:zy,useCallback:br,useContext:br,useEffect:br,useImperativeHandle:br,useLayoutEffect:br,useInsertionEffect:br,useMemo:br,useReducer:br,useRef:br,useState:br,useDebugValue:br,useDeferredValue:br,useTransition:br,useSyncExternalStore:br,useId:br,useHostTransitionStatus:br,useFormState:br,useActionState:br,useOptimistic:br,useMemoCache:br,useCacheRefresh:br};zp.useEffectEvent=br;var b4={readContext:pn,use:zy,useCallback:function(e,t){return Tn().memoizedState=[e,t===void 0?null:t],e},useContext:pn,useEffect:nO,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,Kg(4194308,4,l4.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Kg(4194308,4,e,t)},useInsertionEffect:function(e,t){Kg(4,2,e,t)},useMemo:function(e,t){var r=Tn();t=t===void 0?null:t;var n=e();if(Us){gl(!0);try{e()}finally{gl(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=Tn();if(r!==void 0){var a=r(t);if(Us){gl(!0);try{r(t)}finally{gl(!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=aW.bind(null,et,e),[n.memoizedState,e]},useRef:function(e){var t=Tn();return e={current:e},t.memoizedState=e},useState:function(e){e=DS(e);var t=e.queue,r=y4.bind(null,et,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:P2,useDeferredValue:function(e,t){var r=Tn();return D2(r,e,t)},useTransition:function(){var e=DS(!1);return e=f4.bind(null,et,e.queue,!0,!1),Tn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=et,a=Tn();if(yt){if(r===void 0)throw Error(pe(407));r=r()}else{if(r=t(),$t===null)throw Error(pe(349));(vt&127)!==0||YT(n,t,r)}a.memoizedState=r;var o={value:r,getSnapshot:t};return a.queue=o,nO(XT.bind(null,n,o,e),[e]),n.flags|=2048,Vc(9,{destroy:void 0},GT.bind(null,n,o,r,t),null),r},useId:function(){var e=Tn(),t=$t.identifierPrefix;if(yt){var r=Io,n=Do;r=(n&~(1<<32-fa(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=fy++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof n.is=="string"?i.createElement("select",{is:n.is}):i.createElement("select"),n.multiple?o.multiple=!0:n.size&&(o.size=n.size);break;default:o=typeof n.is=="string"?i.createElement(a,{is:n.is}):i.createElement(a)}}o[dn]=t,o[qn]=n;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)o.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=o;e:switch(mn(o,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&&li(t)}}return Jt(t),Zw(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&li(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(pe(166));if(e=wl.current,gc(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,a=fn,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}e[dn]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||y3(e.nodeValue,r)),e||Ml(t,!0)}else e=Sy(e).createTextNode(n),e[dn]=t,t.stateNode=e}return Jt(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=gc(t),r!==null){if(e===null){if(!n)throw Error(pe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(pe(557));e[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),e=!1}else r=Fw(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(la(t),t):(la(t),null);if((t.flags&128)!==0)throw Error(pe(558))}return Jt(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=gc(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(pe(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(pe(317));a[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),a=!1}else a=Fw(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(la(t),t):(la(t),null)}return la(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),o=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(o=n.memoizedState.cachePool.pool),o!==a&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),Mg(t,t.updateQueue),Jt(t),null);case 4:return $c(),e===null&&K2(t.stateNode.containerInfo),Jt(t),null;case 10:return yi(t.type),Jt(t),null;case 19:if(tn(_r),n=t.memoizedState,n===null)return Jt(t),null;if(a=(t.flags&128)!==0,o=n.rendering,o===null)if(a)ip(n,!1);else{if(wr!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=cy(e),o!==null){for(t.flags|=128,ip(n,!1),e=o.updateQueue,t.updateQueue=e,Mg(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)PT(r,e),r=r.sibling;return Kt(_r,_r.current&1|2),yt&&di(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&ca()>gy&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304)}else{if(!a)if(e=cy(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Mg(t,e),ip(n,!0),n.tail===null&&n.tailMode==="hidden"&&!o.alternate&&!yt)return Jt(t),null}else 2*ca()-n.renderingStartTime>gy&&r!==536870912&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(e=n.last,e!==null?e.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=ca(),e.sibling=null,r=_r.current,Kt(_r,a?r&1|2:r&1),yt&&di(t,n.treeForkCount),e):(Jt(t),null);case 22:case 23:return la(t),A2(),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&&(Jt(t),t.subtreeFlags&6&&(t.flags|=8192)):Jt(t),r=t.updateQueue,r!==null&&Mg(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&&tn(Is),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),yi($r),Jt(t),null;case 25:return null;case 30:return null}throw Error(pe(156,t.tag))}function uW(e,t){switch(h2(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return yi($r),$c(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ty(t),null;case 31:if(t.memoizedState!==null){if(la(t),t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(la(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return tn(_r),null;case 4:return $c(),null;case 10:return yi(t.type),null;case 22:case 23:return la(t),A2(),e!==null&&tn(Is),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return yi($r),null;case 25:return null;default:return null}}function P4(e,t){switch(h2(t),t.tag){case 3:yi($r),$c();break;case 26:case 27:case 5:ty(t);break;case 4:$c();break;case 31:t.memoizedState!==null&&la(t);break;case 13:la(t);break;case 19:tn(_r);break;case 10:yi(t.type);break;case 22:case 23:la(t),A2(),e!==null&&tn(Is);break;case 24:yi($r)}}function Zp(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 o=r.create,i=r.inst;n=o(),i.destroy=n}r=r.next}while(r!==a)}}catch(l){It(t,t.return,l)}}function Pl(e,t,r){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var o=a.next;n=o;do{if((n.tag&e)===e){var i=n.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,a=t;var s=r,u=l;try{u()}catch(c){It(a,s,c)}}}n=n.next}while(n!==o)}}catch(c){It(t,t.return,c)}}function D4(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{WT(t,r)}catch(n){It(e,e.return,n)}}}function I4(e,t,r){r.props=Fs(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){It(e,t,n)}}function Ap(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){It(e,t,a)}}function jo(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(a){It(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){It(e,t,a)}else r.current=null}function j4(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){It(e,e.return,a)}}function Qw(e,t,r){try{var n=e.stateNode;OW(n,e.type,r,t),n[qn]=t}catch(a){It(e,e.return,a)}}function z4(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&jl(e.type)||e.tag===4}function Jw(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||z4(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&&jl(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 US(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=mi));else if(n!==4&&(n===27&&jl(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(US(e,t,r),e=e.sibling;e!==null;)US(e,t,r),e=e.sibling}function vy(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&&jl(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(vy(e,t,r),e=e.sibling;e!==null;)vy(e,t,r),e=e.sibling}function L4(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);mn(t,n,r),t[dn]=e,t[qn]=r}catch(o){It(e,e.return,o)}}var fi=!1,Br=!1,Rw=!1,gO=typeof WeakSet=="function"?WeakSet:Set,Rr=null;function cW(e,t){if(e=e.containerInfo,YS=Cy,e=kT(e),p2(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,o=n.focusNode;n=n.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||a!==0&&d.nodeType!==3||(l=i+a),d!==o||n!==0&&d.nodeType!==3||(s=i+n),d.nodeType===3&&(i+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===a&&(l=i),f===o&&++c===n&&(s=i),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(GS={focusedElem:e,selectionRange:r},Cy=!1,Rr=t;Rr!==null;)if(t=Rr,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Rr=e;else for(;Rr!==null;){switch(t=Rr,o=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"))),mn(o,n,r),o[dn]=e,en(o),n=o;break e;case"link":var i=BO("link","href",a).get(n+(r.href||""));if(i){for(var l=0;lh&&(i=h,h=y,y=i);var v=F5(l,y),g=F5(l,h);if(v&&g&&(p.rangeCount!==1||p.anchorNode!==v.node||p.anchorOffset!==v.offset||p.focusNode!==g.node||p.focusOffset!==g.offset)){var b=d.createRange();b.setStart(v.node,v.offset),p.removeAllRanges(),y>h?(p.addRange(b),p.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),p.addRange(b))}}}}for(d=[],p=l;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;lr?32:r,Ke.T=null,r=HS,HS=null;var o=Cl,i=hi;if(Vr=0,qc=Cl=null,hi=0,(Ot&6)!==0)throw Error(pe(331));var l=Ot;if(Ot|=4,G4(o.current),K4(o,o.current,i,r),Ot=l,Qp(0,!1),da&&typeof da.onPostCommitFiberRoot=="function")try{da.onPostCommitFiberRoot(Hp,o)}catch{}return!0}finally{Tt.p=a,Ke.T=n,u3(e,t)}}function bO(e,t,r){t=za(r,t),t=LS(e.stateNode,t,2),e=kl(e,t,2),e!==null&&(Kp(e,2),Bo(e))}function It(e,t,r){if(e.tag===3)bO(e,e,r);else for(;t!==null;){if(t.tag===3){bO(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Nl===null||!Nl.has(n))){e=za(r,e),r=N4(2),n=kl(t,r,2),n!==null&&(C4(r,n,t,e),Kp(n,2),Bo(n));break}}t=t.return}}function tS(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new pW;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)||(F2=!0,a.add(r),e=hW.bind(null,e,t,r),t.then(e,e))}function hW(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,$t===e&&(vt&r)===r&&(wr===4||wr===3&&(vt&62914560)===vt&&300>ca()-$y?(Ot&2)===0&&Yc(e,0):W2|=r,Kc===vt&&(Kc=0)),Bo(e)}function d3(e,t){t===0&&(t=rT()),e=Ks(e,t),e!==null&&(Kp(e,t),Bo(e))}function xW(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),d3(e,r)}function bW(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(pe(314))}n!==null&&n.delete(t),d3(e,r)}function wW(e,t){return a2(e,t)}var xy=null,xc=null,KS=!1,by=!1,rS=!1,bl=0;function Bo(e){e!==xc&&e.next===null&&(xc===null?xy=xc=e:xc=xc.next=e),by=!0,KS||(KS=!0,AW())}function Qp(e,t){if(!rS&&by){rS=!0;do for(var r=!1,n=xy;n!==null;){if(!t)if(e!==0){var a=n.pendingLanes;if(a===0)var o=0;else{var i=n.suspendedLanes,l=n.pingedLanes;o=(1<<31-fa(42|e)+1)-1,o&=a&~(i&~l),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(r=!0,wO(n,o))}else o=vt,o=_y(n,n===$t?o:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(o&3)===0||Vp(n,o)||(r=!0,wO(n,o));n=n.next}while(r);rS=!1}}function SW(){f3()}function f3(){by=KS=!1;var e=0;bl!==0&&MW()&&(e=bl);for(var t=ca(),r=null,n=xy;n!==null;){var a=n.next,o=p3(n,t);o===0?(n.next=null,r===null?xy=a:r.next=a,a===null&&(xc=r)):(r=n,(e!==0||(o&3)!==0)&&(by=!0)),n=a}Vr!==0&&Vr!==5||Qp(e,!1),bl!==0&&(bl=0)}function p3(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&_O(d)&&(s=s.responseEnd,i+=c*(s"u"?null:document;function S3(e,t,r){var n=td;if(n&&typeof t=="string"&&t){var a=ja(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof r=="string"&&(a+='[crossorigin="'+r+'"]'),jO.has(a)||(jO.add(a),e={rel:e,crossOrigin:r,href:t},n.querySelector(a)===null&&(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function UW(e){ki.D(e),S3("dns-prefetch",e,null)}function FW(e,t){ki.C(e,t),S3("preconnect",e,t)}function WW(e,t,r){ki.L(e,t,r);var n=td;if(n&&e&&t){var a='link[rel="preload"][as="'+ja(t)+'"]';t==="image"&&r&&r.imageSrcSet?(a+='[imagesrcset="'+ja(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(a+='[imagesizes="'+ja(r.imageSizes)+'"]')):a+='[href="'+ja(e)+'"]';var o=a;switch(t){case"style":o=Gc(e);break;case"script":o=rd(e)}Ua.has(o)||(e=er({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Ua.set(o,e),n.querySelector(a)!==null||t==="style"&&n.querySelector(Jp(o))||t==="script"&&n.querySelector(Rp(o))||(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function HW(e,t){ki.m(e,t);var r=td;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+ja(n)+'"][href="'+ja(e)+'"]',o=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=rd(e)}if(!Ua.has(o)&&(e=er({rel:"modulepreload",href:e},t),Ua.set(o,e),r.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(Rp(o)))return}n=r.createElement("link"),mn(n,"link",e),en(n),r.head.appendChild(n)}}}function VW(e,t,r){ki.S(e,t,r);var n=td;if(n&&e){var a=Pc(n).hoistableStyles,o=Gc(e);t=t||"default";var i=a.get(o);if(!i){var l={loading:0,preload:null};if(i=n.querySelector(Jp(o)))l.loading=5;else{e=er({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Ua.get(o))&&q2(e,r);var s=i=n.createElement("link");en(s),mn(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,Xg(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:l},a.set(o,i)}}}function KW(e,t){ki.X(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0},t),(t=Ua.get(a))&&Y2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function qW(e,t){ki.M(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0,type:"module"},t),(t=Ua.get(a))&&Y2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function zO(e,t,r,n){var a=(a=wl.current)?Ay(a):null;if(!a)throw Error(pe(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=Gc(r.href),r=Pc(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=Gc(r.href);var o=Pc(a).hoistableStyles,i=o.get(e);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,i),(o=a.querySelector(Jp(e)))&&!o._p&&(i.instance=o,i.state.loading=5),Ua.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},Ua.set(e,r),o||YW(a,e,r,i.state))),t&&n===null)throw Error(pe(528,""));return i}if(t&&n!==null)throw Error(pe(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=rd(r),r=Pc(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(pe(444,e))}}function Gc(e){return'href="'+ja(e)+'"'}function Jp(e){return'link[rel="stylesheet"]['+e+"]"}function A3(e){return er({},e,{"data-precedence":e.precedence,precedence:null})}function YW(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}),mn(t,"link",r),en(t),e.head.appendChild(t))}function rd(e){return'[src="'+ja(e)+'"]'}function Rp(e){return"script[async]"+e}function LO(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+ja(r.href)+'"]');if(n)return t.instance=n,en(n),n;var a=er({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),en(n),mn(n,"style",a),Xg(n,r.precedence,e),t.instance=n;case"stylesheet":a=Gc(r.href);var o=e.querySelector(Jp(a));if(o)return t.state.loading|=4,t.instance=o,en(o),o;n=A3(r),(a=Ua.get(a))&&q2(n,a),o=(e.ownerDocument||e).createElement("link"),en(o);var i=o;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),t.state.loading|=4,Xg(o,r.precedence,e),t.instance=o;case"script":return o=rd(r.src),(a=e.querySelector(Rp(o)))?(t.instance=a,en(a),a):(n=r,(a=Ua.get(o))&&(n=er({},r),Y2(n,a)),e=e.ownerDocument||e,a=e.createElement("script"),en(a),mn(a,"link",n),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(pe(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Xg(n,r.precedence,e));return t.instance}function Xg(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,o=a,i=0;i title"):null)}function GW(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 k3(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function XW(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=Gc(n.href),o=t.querySelector(Jp(a));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ky.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=o,en(o);return}o=t.ownerDocument||t,n=A3(n),(a=Ua.get(a))&&q2(n,a),o=o.createElement("link"),en(o);var i=o;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),r.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=ky.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var iS=0;function ZW(e,t){return e.stylesheets&&e.count===0&&Qg(e,e.stylesheets),0iS?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function ky(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qg(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ny=null;function Qg(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ny=new Map,t.forEach(QW,e),Ny=null,ky.call(e))}function QW(e,t){if(!(t.state.loading&4)){var r=Ny.get(e);if(r)var n=r.get(null);else{r=new Map,Ny.set(e,r);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";function D3(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(D3)}catch(e){console.error(e)}}D3(),I3.exports=P3()});var BM=Jr(LM=>{"use strict";var wd=ne();function cV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var dV=typeof Object.is=="function"?Object.is:cV,fV=wd.useState,pV=wd.useEffect,mV=wd.useLayoutEffect,vV=wd.useDebugValue;function gV(e,t){var r=t(),n=fV({inst:{value:r,getSnapshot:t}}),a=n[0].inst,o=n[1];return mV(function(){a.value=r,a.getSnapshot=t,FA(a)&&o({inst:a})},[e,r,t]),pV(function(){return FA(a)&&o({inst:a}),e(function(){FA(a)&&o({inst:a})})},[e]),vV(r),r}function FA(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!dV(e,r)}catch{return!0}}function yV(e,t){return t()}var hV=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?yV:gV;LM.useSyncExternalStore=wd.useSyncExternalStore!==void 0?wd.useSyncExternalStore:hV});var UM=Jr((eve,$M)=>{"use strict";$M.exports=BM()});var WM=Jr(FM=>{"use strict";var Dh=ne(),xV=UM();function bV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wV=typeof Object.is=="function"?Object.is:bV,SV=xV.useSyncExternalStore,AV=Dh.useRef,kV=Dh.useEffect,NV=Dh.useMemo,CV=Dh.useDebugValue;FM.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=AV(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=NV(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var m=i.value;if(a(m,p))return d=m}return d=p}if(m=d,wV(c,p))return m;var y=n(p);return a!==void 0&&a(m,y)?(c=p,m):(c=p,d=y)}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=SV(e,o[0],o[1]);return kV(function(){i.hasValue=!0,i.value=l},[l]),CV(l),l}});var VM=Jr((rve,HM)=>{"use strict";HM.exports=WM()});var MD=Jr(TD=>{"use strict";var wm=ne();function Tq(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mq=typeof Object.is=="function"?Object.is:Tq,Pq=wm.useSyncExternalStore,Dq=wm.useRef,Iq=wm.useEffect,jq=wm.useMemo,zq=wm.useDebugValue;TD.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=Dq(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=jq(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var m=i.value;if(a(m,p))return d=m}return d=p}if(m=d,Mq(c,p))return m;var y=n(p);return a!==void 0&&a(m,y)?(c=p,m):(c=p,d=y)}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=Pq(e,o[0],o[1]);return Iq(function(){i.hasValue=!0,i.value=l},[l]),zq(l),l}});var DD=Jr((tye,PD)=>{"use strict";PD.exports=MD()});var zk=Jr((a6,H0)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",o=a+"Invalid argument: ",i=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,m=l(p/f),y={};y.absoluteValue=y.abs=function(){var N=new this.constructor(this);return N.s&&(N.s=1),N},y.comparedTo=y.cmp=function(N){var _,z,j,P,B=this;if(N=new B.constructor(N),B.s!==N.s)return B.s||-N.s;if(B.e!==N.e)return B.e>N.e^B.s<0?1:-1;for(j=B.d.length,P=N.d.length,_=0,z=jN.d[_]^B.s<0?1:-1;return j===P?0:j>P^B.s<0?1:-1},y.decimalPlaces=y.dp=function(){var N=this,_=N.d.length-1,z=(_-N.e)*f;if(_=N.d[_],_)for(;_%10==0;_/=10)z--;return z<0?0:z},y.dividedBy=y.div=function(N){return b(this,new this.constructor(N))},y.dividedToIntegerBy=y.idiv=function(N){var _=this,z=_.constructor;return M(b(_,new z(N),0,1),z.precision)},y.equals=y.eq=function(N){return!this.cmp(N)},y.exponent=function(){return S(this)},y.greaterThan=y.gt=function(N){return this.cmp(N)>0},y.greaterThanOrEqualTo=y.gte=function(N){return this.cmp(N)>=0},y.isInteger=y.isint=function(){return this.e>this.d.length-2},y.isNegative=y.isneg=function(){return this.s<0},y.isPositive=y.ispos=function(){return this.s>0},y.isZero=function(){return this.s===0},y.lessThan=y.lt=function(N){return this.cmp(N)<0},y.lessThanOrEqualTo=y.lte=function(N){return this.cmp(N)<1},y.logarithm=y.log=function(N){var _,z=this,j=z.constructor,P=j.precision,B=P+5;if(N===void 0)N=new j(10);else if(N=new j(N),N.s<1||N.eq(c))throw Error(a+"NaN");if(z.s<1)throw Error(a+(z.s?"NaN":"-Infinity"));return z.eq(c)?new j(0):(n=!1,_=b(k(z,B),k(N,B),B),n=!0,M(_,P))},y.minus=y.sub=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?W(_,N):h(_,(N.s=-N.s,N))},y.modulo=y.mod=function(N){var _,z=this,j=z.constructor,P=j.precision;if(N=new j(N),!N.s)throw Error(a+"NaN");return z.s?(n=!1,_=b(z,N,0,1).times(N),n=!0,z.minus(_)):M(new j(z),P)},y.naturalExponential=y.exp=function(){return x(this)},y.naturalLogarithm=y.ln=function(){return k(this)},y.negated=y.neg=function(){var N=new this.constructor(this);return N.s=-N.s||0,N},y.plus=y.add=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?h(_,N):W(_,(N.s=-N.s,N))},y.precision=y.sd=function(N){var _,z,j,P=this;if(N!==void 0&&N!==!!N&&N!==1&&N!==0)throw Error(o+N);if(_=S(P)+1,j=P.d.length-1,z=j*f+1,j=P.d[j],j){for(;j%10==0;j/=10)z--;for(j=P.d[0];j>=10;j/=10)z++}return N&&_>z?_:z},y.squareRoot=y.sqrt=function(){var N,_,z,j,P,B,R,F=this,G=F.constructor;if(F.s<1){if(!F.s)return new G(0);throw Error(a+"NaN")}for(N=S(F),n=!1,P=Math.sqrt(+F),P==0||P==1/0?(_=g(F.d),(_.length+N)%2==0&&(_+="0"),P=Math.sqrt(_),N=l((N+1)/2)-(N<0||N%2),P==1/0?_="5e"+N:(_=P.toExponential(),_=_.slice(0,_.indexOf("e")+1)+N),j=new G(_)):j=new G(P.toString()),z=G.precision,P=R=z+3;;)if(B=j,j=B.plus(b(F,B,R+2)).times(.5),g(B.d).slice(0,R)===(_=g(j.d)).slice(0,R)){if(_=_.slice(R-3,R+1),P==R&&_=="4999"){if(M(B,z+1,0),B.times(B).eq(F)){j=B;break}}else if(_!="9999")break;R+=4}return n=!0,M(j,z)},y.times=y.mul=function(N){var _,z,j,P,B,R,F,G,ee,fe=this,de=fe.constructor,De=fe.d,le=(N=new de(N)).d;if(!fe.s||!N.s)return new de(0);for(N.s*=fe.s,z=fe.e+N.e,G=De.length,ee=le.length,G=0;){for(_=0,P=G+j;P>j;)F=B[P]+le[j]*De[P-j-1]+_,B[P--]=F%d|0,_=F/d|0;B[P]=(B[P]+_)%d|0}for(;!B[--R];)B.pop();return _?++z:B.shift(),N.d=B,N.e=z,n?M(N,de.precision):N},y.toDecimalPlaces=y.todp=function(N,_){var z=this,j=z.constructor;return z=new j(z),N===void 0?z:(v(N,0,t),_===void 0?_=j.rounding:v(_,0,8),M(z,N+S(z)+1,_))},y.toExponential=function(N,_){var z,j=this,P=j.constructor;return N===void 0?z=L(j,!0):(v(N,0,t),_===void 0?_=P.rounding:v(_,0,8),j=M(new P(j),N+1,_),z=L(j,!0,N+1)),z},y.toFixed=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?L(P):(v(N,0,t),_===void 0?_=B.rounding:v(_,0,8),j=M(new B(P),N+S(P)+1,_),z=L(j.abs(),!1,N+S(j)+1),P.isneg()&&!P.isZero()?"-"+z:z)},y.toInteger=y.toint=function(){var N=this,_=N.constructor;return M(new _(N),S(N)+1,_.rounding)},y.toNumber=function(){return+this},y.toPower=y.pow=function(N){var _,z,j,P,B,R,F=this,G=F.constructor,ee=12,fe=+(N=new G(N));if(!N.s)return new G(c);if(F=new G(F),!F.s){if(N.s<1)throw Error(a+"Infinity");return F}if(F.eq(c))return F;if(j=G.precision,N.eq(c))return M(F,j);if(_=N.e,z=N.d.length-1,R=_>=z,B=F.s,R){if((z=fe<0?-fe:fe)<=p){for(P=new G(c),_=Math.ceil(j/f+4),n=!1;z%2&&(P=P.times(F),H(P.d,_)),z=l(z/2),z!==0;)F=F.times(F),H(F.d,_);return n=!0,N.s<0?new G(c).div(P):M(P,j)}}else if(B<0)throw Error(a+"NaN");return B=B<0&&N.d[Math.max(_,z)]&1?-1:1,F.s=1,n=!1,P=N.times(k(F,j+ee)),n=!0,P=x(P),P.s=B,P},y.toPrecision=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?(z=S(P),j=L(P,z<=B.toExpNeg||z>=B.toExpPos)):(v(N,1,t),_===void 0?_=B.rounding:v(_,0,8),P=M(new B(P),N,_),z=S(P),j=L(P,N<=z||z<=B.toExpNeg,N)),j},y.toSignificantDigits=y.tosd=function(N,_){var z=this,j=z.constructor;return N===void 0?(N=j.precision,_=j.rounding):(v(N,1,t),_===void 0?_=j.rounding:v(_,0,8)),M(new j(z),N,_)},y.toString=y.valueOf=y.val=y.toJSON=function(){var N=this,_=S(N),z=N.constructor;return L(N,_<=z.toExpNeg||_>=z.toExpPos)};function h(N,_){var z,j,P,B,R,F,G,ee,fe=N.constructor,de=fe.precision;if(!N.s||!_.s)return _.s||(_=new fe(N)),n?M(_,de):_;if(G=N.d,ee=_.d,R=N.e,P=_.e,G=G.slice(),B=R-P,B){for(B<0?(j=G,B=-B,F=ee.length):(j=ee,P=R,F=G.length),R=Math.ceil(de/f),F=R>F?R+1:F+1,B>F&&(B=F,j.length=1),j.reverse();B--;)j.push(0);j.reverse()}for(F=G.length,B=ee.length,F-B<0&&(B=F,j=ee,ee=G,G=j),z=0;B;)z=(G[--B]=G[B]+ee[B]+z)/d|0,G[B]%=d;for(z&&(G.unshift(z),++P),F=G.length;G[--F]==0;)G.pop();return _.d=G,_.e=P,n?M(_,de):_}function v(N,_,z){if(N!==~~N||N<_||N>z)throw Error(o+N)}function g(N){var _,z,j,P=N.length-1,B="",R=N[0];if(P>0){for(B+=R,_=1;_R?1:-1;else for(F=G=0;FP[F]?1:-1;break}return G}function z(j,P,B){for(var R=0;B--;)j[B]-=R,R=j[B]1;)j.shift()}return function(j,P,B,R){var F,G,ee,fe,de,De,le,Te,K,I,C,T,X,$,Ne,E,Z,ge,Le=j.constructor,nt=j.s==P.s?1:-1,Bt=j.d,ft=P.d;if(!j.s)return new Le(j);if(!P.s)throw Error(a+"Division by zero");for(G=j.e-P.e,Z=ft.length,Ne=Bt.length,le=new Le(nt),Te=le.d=[],ee=0;ft[ee]==(Bt[ee]||0);)++ee;if(ft[ee]>(Bt[ee]||0)&&--G,B==null?T=B=Le.precision:R?T=B+(S(j)-S(P))+1:T=B,T<0)return new Le(0);if(T=T/f+2|0,ee=0,Z==1)for(fe=0,ft=ft[0],T++;(ee1&&(ft=N(ft,fe),Bt=N(Bt,fe),Z=ft.length,Ne=Bt.length),$=Z,K=Bt.slice(0,Z),I=K.length;I=d/2&&++E;do fe=0,F=_(ft,K,Z,I),F<0?(C=K[0],Z!=I&&(C=C*d+(K[1]||0)),fe=C/E|0,fe>1?(fe>=d&&(fe=d-1),de=N(ft,fe),De=de.length,I=K.length,F=_(de,K,De,I),F==1&&(fe--,z(de,Z16)throw Error(i+S(N));if(!N.s)return new fe(c);for(_==null?(n=!1,F=de):F=_,R=new fe(.03125);N.abs().gte(.1);)N=N.times(R),ee+=5;for(j=Math.log(s(2,ee))/Math.LN10*2+5|0,F+=j,z=P=B=new fe(c),fe.precision=F;;){if(P=M(P.times(N),F),z=z.times(++G),R=B.plus(b(P,z,F)),g(R.d).slice(0,F)===g(B.d).slice(0,F)){for(;ee--;)B=M(B.times(B),F);return fe.precision=de,_==null?(n=!0,M(B,de)):B}B=R}}function S(N){for(var _=N.e*f,z=N.d[0];z>=10;z/=10)_++;return _}function w(N,_,z){if(_>N.LN10.sd())throw n=!0,z&&(N.precision=z),Error(a+"LN10 precision limit exceeded");return M(new N(N.LN10),_)}function O(N){for(var _="";N--;)_+="0";return _}function k(N,_){var z,j,P,B,R,F,G,ee,fe,de=1,De=10,le=N,Te=le.d,K=le.constructor,I=K.precision;if(le.s<1)throw Error(a+(le.s?"NaN":"-Infinity"));if(le.eq(c))return new K(0);if(_==null?(n=!1,ee=I):ee=_,le.eq(10))return _==null&&(n=!0),w(K,ee);if(ee+=De,K.precision=ee,z=g(Te),j=z.charAt(0),B=S(le),Math.abs(B)<15e14){for(;j<7&&j!=1||j==1&&z.charAt(1)>3;)le=le.times(N),z=g(le.d),j=z.charAt(0),de++;B=S(le),j>1?(le=new K("0."+z),B++):le=new K(j+"."+z.slice(1))}else return G=w(K,ee+2,I).times(B+""),le=k(new K(j+"."+z.slice(1)),ee-De).plus(G),K.precision=I,_==null?(n=!0,M(le,I)):le;for(F=R=le=b(le.minus(c),le.plus(c),ee),fe=M(le.times(le),ee),P=3;;){if(R=M(R.times(fe),ee),G=F.plus(b(R,new K(P),ee)),g(G.d).slice(0,ee)===g(F.d).slice(0,ee))return F=F.times(2),B!==0&&(F=F.plus(w(K,ee+2,I).times(B+""))),F=b(F,new K(de),ee),K.precision=I,_==null?(n=!0,M(F,I)):F;F=G,P+=2}}function A(N,_){var z,j,P;for((z=_.indexOf("."))>-1&&(_=_.replace(".","")),(j=_.search(/e/i))>0?(z<0&&(z=j),z+=+_.slice(j+1),_=_.substring(0,j)):z<0&&(z=_.length),j=0;_.charCodeAt(j)===48;)++j;for(P=_.length;_.charCodeAt(P-1)===48;)--P;if(_=_.slice(j,P),_){if(P-=j,z=z-j-1,N.e=l(z/f),N.d=[],j=(z+1)%f,z<0&&(j+=f),jm||N.e<-m))throw Error(i+z)}else N.s=0,N.e=0,N.d=[0];return N}function M(N,_,z){var j,P,B,R,F,G,ee,fe,de=N.d;for(R=1,B=de[0];B>=10;B/=10)R++;if(j=_-R,j<0)j+=f,P=_,ee=de[fe=0];else{if(fe=Math.ceil((j+1)/f),B=de.length,fe>=B)return N;for(ee=B=de[fe],R=1;B>=10;B/=10)R++;j%=f,P=j-f+R}if(z!==void 0&&(B=s(10,R-P-1),F=ee/B%10|0,G=_<0||de[fe+1]!==void 0||ee%B,G=z<4?(F||G)&&(z==0||z==(N.s<0?3:2)):F>5||F==5&&(z==4||G||z==6&&(j>0?P>0?ee/s(10,R-P):0:de[fe-1])%10&1||z==(N.s<0?8:7))),_<1||!de[0])return G?(B=S(N),de.length=1,_=_-B-1,de[0]=s(10,(f-_%f)%f),N.e=l(-_/f)||0):(de.length=1,de[0]=N.e=N.s=0),N;if(j==0?(de.length=fe,B=1,fe--):(de.length=fe+1,B=s(10,f-j),de[fe]=P>0?(ee/s(10,R-P)%s(10,P)|0)*B:0),G)for(;;)if(fe==0){(de[0]+=B)==d&&(de[0]=1,++N.e);break}else{if(de[fe]+=B,de[fe]!=d)break;de[fe--]=0,B=1}for(j=de.length;de[--j]===0;)de.pop();if(n&&(N.e>m||N.e<-m))throw Error(i+S(N));return N}function W(N,_){var z,j,P,B,R,F,G,ee,fe,de,De=N.constructor,le=De.precision;if(!N.s||!_.s)return _.s?_.s=-_.s:_=new De(N),n?M(_,le):_;if(G=N.d,de=_.d,j=_.e,ee=N.e,G=G.slice(),R=ee-j,R){for(fe=R<0,fe?(z=G,R=-R,F=de.length):(z=de,j=ee,F=G.length),P=Math.max(Math.ceil(le/f),F)+2,R>P&&(R=P,z.length=1),z.reverse(),P=R;P--;)z.push(0);z.reverse()}else{for(P=G.length,F=de.length,fe=P0;--P)G[F++]=0;for(P=de.length;P>R;){if(G[--P]0?B=B.charAt(0)+"."+B.slice(1)+O(j):R>1&&(B=B.charAt(0)+"."+B.slice(1)),B=B+(P<0?"e":"e+")+P):P<0?(B="0."+O(-P-1)+B,z&&(j=z-R)>0&&(B+=O(j))):P>=R?(B+=O(P+1-R),z&&(j=z-P-1)>0&&(B=B+"."+O(j))):((j=P+1)0&&(P+1===R&&(B+="."),B+=O(j))),N.s<0?"-"+B:B}function H(N,_){if(N.length>_)return N.length=_,!0}function D(N){var _,z,j;function P(B){var R=this;if(!(R instanceof P))return new P(B);if(R.constructor=P,B instanceof P){R.s=B.s,R.e=B.e,R.d=(B=B.d)?B.slice():B;return}if(typeof B=="number"){if(B*0!==0)throw Error(o+B);if(B>0)R.s=1;else if(B<0)B=-B,R.s=-1;else{R.s=0,R.e=0,R.d=[0];return}if(B===~~B&&B<1e7){R.e=0,R.d=[B];return}return A(R,B.toString())}else if(typeof B!="string")throw Error(o+B);if(B.charCodeAt(0)===45?(B=B.slice(1),R.s=-1):R.s=1,u.test(B))A(R,B);else throw Error(o+B)}if(P.prototype=y,P.ROUND_UP=0,P.ROUND_DOWN=1,P.ROUND_CEIL=2,P.ROUND_FLOOR=3,P.ROUND_HALF_UP=4,P.ROUND_HALF_DOWN=5,P.ROUND_HALF_EVEN=6,P.ROUND_HALF_CEIL=7,P.ROUND_HALF_FLOOR=8,P.clone=D,P.config=P.set=Y,N===void 0&&(N={}),N)for(j=["precision","rounding","toExpNeg","toExpPos","LN10"],_=0;_=P[_+1]&&j<=P[_+2])this[z]=j;else throw Error(o+z+": "+j);if((j=N[z="LN10"])!==void 0)if(j==Math.LN10)this[z]=new this(j);else throw Error(o+z+": "+j);return this}r=D(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof H0<"u"&&H0.exports?H0.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(a6)});var Rj=Jr((Hke,wC)=>{"use strict";var $R=Object.prototype.hasOwnProperty,zn="~";function fv(){}Object.create&&(fv.prototype=Object.create(null),new fv().__proto__||(zn=!1));function UR(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Jj(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new UR(r,n||e,a),i=zn?zn+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],o]:e._events[i].push(o):(e._events[i]=o,e._eventsCount++),e}function pb(e,t){--e._eventsCount===0?e._events=new fv:delete e._events[t]}function Sn(){this._events=new fv,this._eventsCount=0}Sn.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)$R.call(r,n)&&t.push(zn?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Sn.prototype.listeners=function(t){var r=zn?zn+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,o=n.length,i=new Array(o);a{"use strict";var MC=Symbol.for("react.transitional.element"),PC=Symbol.for("react.portal"),Eb=Symbol.for("react.fragment"),_b=Symbol.for("react.strict_mode"),Ob=Symbol.for("react.profiler"),Tb=Symbol.for("react.consumer"),Mb=Symbol.for("react.context"),Pb=Symbol.for("react.forward_ref"),Db=Symbol.for("react.suspense"),Ib=Symbol.for("react.suspense_list"),jb=Symbol.for("react.memo"),zb=Symbol.for("react.lazy"),Nte=Symbol.for("react.view_transition"),Cte=Symbol.for("react.client.reference");function to(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case MC:switch(e=e.type,e){case Eb:case Ob:case _b:case Db:case Ib:case Nte:return e;default:switch(e=e&&e.$$typeof,e){case Mb:case Pb:case zb:case jb:return e;case Tb:return e;default:return t}}case PC:return t}}}Ht.ContextConsumer=Tb;Ht.ContextProvider=Mb;Ht.Element=MC;Ht.ForwardRef=Pb;Ht.Fragment=Eb;Ht.Lazy=zb;Ht.Memo=jb;Ht.Portal=PC;Ht.Profiler=Ob;Ht.StrictMode=_b;Ht.Suspense=Db;Ht.SuspenseList=Ib;Ht.isContextConsumer=function(e){return to(e)===Tb};Ht.isContextProvider=function(e){return to(e)===Mb};Ht.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===MC};Ht.isForwardRef=function(e){return to(e)===Pb};Ht.isFragment=function(e){return to(e)===Eb};Ht.isLazy=function(e){return to(e)===zb};Ht.isMemo=function(e){return to(e)===jb};Ht.isPortal=function(e){return to(e)===PC};Ht.isProfiler=function(e){return to(e)===Ob};Ht.isStrictMode=function(e){return to(e)===_b};Ht.isSuspense=function(e){return to(e)===Db};Ht.isSuspenseList=function(e){return to(e)===Ib};Ht.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Eb||e===Ob||e===_b||e===Db||e===Ib||typeof e=="object"&&e!==null&&(e.$$typeof===zb||e.$$typeof===jb||e.$$typeof===Mb||e.$$typeof===Tb||e.$$typeof===Pb||e.$$typeof===Cte||e.getModuleId!==void 0)};Ht.typeOf=to});var dL=Jr((KCe,cL)=>{"use strict";cL.exports=uL()});var nU=te(ne()),aU=te(j3());var Ze=te(ne());var Be=te(ne());var At=te(ne()),Ys={github:{emoji:"\u{1F419}",label:"GitHub"},ruby:{emoji:"\u{1F48E}",label:"Ruby"},rails:{emoji:"\u{1F6E4}\uFE0F",label:"Rails"},aws:{emoji:"\u2601\uFE0F",label:"AWS"},gcp:{emoji:"\u{1F310}",label:"GCP"},python:{emoji:"\u{1F40D}",label:"Python"},typescript:{emoji:"\u{1F4D8}",label:"TypeScript"},docker:{emoji:"\u{1F433}",label:"Docker"},kubernetes:{emoji:"\u2638\uFE0F",label:"Kubernetes"}},Gs={terminal:{emoji:"\u{1F4BB}",label:"Terminal"},playwright:{emoji:"\u{1F3AD}",label:"Playwright"},filesystem:{emoji:"\u{1F4C1}",label:"Filesystem"},code:{emoji:"\u{1F468}\u200D\u{1F4BB}",label:"Code"},database:{emoji:"\u{1F5C4}\uFE0F",label:"Database"},slack:{emoji:"\u{1F4AC}",label:"Slack"},fetch:{emoji:"\u{1F310}",label:"Fetch"},search:{emoji:"\u{1F50D}",label:"Search"},edit:{emoji:"\u270F\uFE0F",label:"Edit"},translate:{emoji:"\u{1F30D}",label:"Translate"},memory:{emoji:"\u{1F9E0}",label:"Memory"},ui:{emoji:"\u{1F9E9}",label:"Generative UI"}},nd={terminal:{instructions:["github"],tools:["terminal","code"]},webDeveloper:{instructions:["typescript"],tools:["playwright","fetch"]},documentAnalysis:{instructions:["python"],tools:["database","search","code"]},writing:{instructions:["ruby"],tools:["edit","memory"]},translation:{instructions:["ruby","python","typescript"],tools:["translate","code"]},playwright:{instructions:["typescript"],tools:["playwright","fetch"]},research:{instructions:["github"],tools:["fetch","search","memory"]},imageAnalysis:{instructions:["python"],tools:["filesystem","code"]},computerUse:{instructions:["github"],tools:["terminal","playwright"]},productDesign:{instructions:["typescript"],tools:["playwright","code"]}};var oH=({id:e="mascot"})=>At.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},At.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},At.default.createElement("g",{fillRule:"nonzero"},At.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"})),At.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"}),At.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"}),At.default.createElement("g",{transform:"translate(75.105, 196.182)"},At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},At.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"})),At.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"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.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"})),At.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},At.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"}),At.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 mr({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:a="",hat:o,hatAccessory:i,heldItem:l,theme:s,customColors:u}){return At.default.createElement("div",{className:`inline-flex flex-col items-center ${a}`},n&&t.length>0&&At.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=Ys[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),At.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"},At.default.createElement("title",null,"ActiveAgent"),At.default.createElement(oH,null)),n&&r.length>0&&At.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=Gs[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var Gn=te(ne());var go=te(ne()),z3=(0,go.createContext)();function L3({children:e}){let[t,r]=(0,go.useState)(()=>{let a=localStorage.getItem("dashboard-theme");return a?a==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,go.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,go.useEffect)(()=>{let a=window.matchMedia("(prefers-color-scheme: dark)"),o=i=>{localStorage.getItem("dashboard-theme")||r(i.matches)};return a.addEventListener("change",o),()=>a.removeEventListener("change",o)},[]);let n=()=>r(!t);return go.default.createElement(z3.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function kt(){let e=(0,go.useContext)(z3);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function ad({name:e,subtitle:t,badge:r,accentColor:n,stats:a=[],footer:o,onClick:i,actions:l}){let{darkMode:s}=kt(),[u,c]=Gn.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 Gn.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:p=>{i&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(p))},style:{background:d.cardBg,borderTop:`1px solid ${u?d.borderHover:d.border}`,borderRight:`1px solid ${u?d.borderHover:d.border}`,borderBottom:`1px solid ${u?d.borderHover:d.border}`,borderLeft:n?`4px solid ${n}`:`1px solid ${u?d.borderHover:d.border}`,borderRadius:"12px",padding:"16px",cursor:i?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&i?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},Gn.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},Gn.default.createElement("div",{style:{minWidth:0}},Gn.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&i?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&Gn.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&Gn.default.createElement("div",{style:{flexShrink:0}},r)),a.length>0&&Gn.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},a.map(p=>Gn.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},Gn.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),Gn.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),o&&Gn.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},o),l&&Gn.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function J2(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var iH=[{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 R2({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:a,onDuplicate:o,onDelete:i,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Be.useState)(""),[p,m]=(0,Be.useState)(""),[y,h]=(0,Be.useState)(""),v=e.filter(k=>{let A=!d||k.name.toLowerCase().includes(d.toLowerCase())||k.description?.toLowerCase().includes(d.toLowerCase()),M=!p||k.provider===p,W=!y||k.status===y;return A&&M&&W}),g=k=>{let A=new Date(k),W=new Date-A,L=Math.floor(W/(1e3*60*60*24));return L===0?"Today":L===1?"Yesterday":L<7?`${L} days ago`:A.toLocaleDateString()},b=k=>{switch(k){case"active":return"bg-green-100 text-green-700";case"draft":return"bg-yellow-100 text-yellow-700";case"archived":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},x=k=>k==null?"\u2014":k<1e3?`${Math.round(k)}ms`:`${(k/1e3).toFixed(1)}s`,S=k=>k==null?"\u2014":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:`${k}`,w=k=>k==null?"\u2014":k>0&&k<.01?"<$0.01":`$${k.toFixed(2)}`,O=k=>{if(!k)return"\u2014";let A=Math.floor((new Date-new Date(k))/(1e3*60*60*24));return A<=0?"Today":A<30?`${A}d ago`:new Date(k).toLocaleDateString()};return Be.default.createElement("div",{className:"space-y-6"},Be.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Be.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Be.default.createElement("div",{className:"relative flex-1 max-w-md"},Be.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:k=>f(k.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),Be.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"},Be.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"}))),Be.default.createElement("select",{value:p,onChange:k=>m(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Providers"),t.providers?.map(k=>Be.default.createElement("option",{key:k,value:k},k.charAt(0).toUpperCase()+k.slice(1)))),Be.default.createElement("select",{value:y,onChange:k=>h(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Status"),Be.default.createElement("option",{value:"active"},"Active"),Be.default.createElement("option",{value:"draft"},"Draft"),Be.default.createElement("option",{value:"archived"},"Archived")),Be.default.createElement("select",{value:s,onChange:k=>u?.(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500",title:"Rank agents by their scorecard"},iH.map(k=>Be.default.createElement("option",{key:k.value,value:k.value},k.label)))),Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.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"},Be.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"}))),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"})),Be.default.createElement("span",null,"Browse Templates")),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"New Agent")))),v.length>0?Be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},v.map(k=>{let A=k.stats||{},M=A.run_sources||[],W=M.length?`Counted from ${M.map(L=>L==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Be.default.createElement(ad,{key:k.id,name:k.name,subtitle:k.description||"No description",badge:Be.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${b(k.status)}`},k.status),onClick:()=>r(k),stats:[{label:`Runs ${A.window_days||30}d`,value:A.runs??0,title:W},{label:"Success",value:A.success_rate!=null?`${Math.round(A.success_rate)}%`:"\u2014",tone:J2(A.success_rate!=null?A.success_rate/100:null)},{label:"Avg time",value:x(A.avg_duration_ms)},{label:A.eval_samples_evaluated?`Eval ${A.eval_samples_passed}/${A.eval_samples_evaluated}`:"Eval",title:A.eval_samples_evaluated?`Latest evaluation: ${A.eval_samples_passed} of ${A.eval_samples_evaluated} samples passed`:void 0,value:A.eval_score!=null?`${Math.round(A.eval_score*100)}%`:"\u2014",tone:J2(A.eval_score)},{label:"Tokens",value:S(A.tokens)},{label:"Cost",value:w(A.cost),title:"Estimated from token counts at each model's published rates",tone:A.cost==null?"muted":void 0}],footer:Be.default.createElement(Be.default.Fragment,null,Be.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Be.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},k.provider),Be.default.createElement("span",{title:k.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},k.model)),Be.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${g(k.updatedAt||k.updated_at)}`},A.last_run_at?`Last run ${O(A.last_run_at)}`:`Updated ${g(k.updatedAt||k.updated_at)}`)),actions:Be.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),o(k.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),i(k.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Be.default.createElement("div",{className:"text-center py-16"},Be.default.createElement("div",{className:"inline-block mb-4"},Be.default.createElement(mr,{size:100})),Be.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Be.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&&Be.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"})),Be.default.createElement("span",null,"Browse Templates")),Be.default.createElement("span",{className:"text-gray-400"},"or"),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"Create From Scratch")))))}var ve=te(ne());var Ut={chevronRight:">",chevronDown:"v",chevronUp:"^",arrow:"->",arrowLeft:"<-",pipe:"|",corner:"+",branch:"|-",success:"[+]",error:"[!]",warning:"[?]",info:"[i]",pending:"[ ]",active:"[*]",add:"+",remove:"-",edit:"*",view:"@",run:">",stop:"x",refresh:"~",trace:"->",span:"|",metric:"#",log:">",agent:"@",action:"#",time:":",cost:"$",tokens:"T",memory:"M",nav:{agents:"@",newAgent:"+",demo:">",traces:"->",metrics:"#",evaluations:"=",interactions:"<>",benchmarks:"%%",replay:"[>]",tools:"[]",mcp:"{}",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Fe={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 od={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 Ky(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 od[e]||[]}var qy=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function eA({meta:e,onSave:t,onCancel:r,isLoading:n,initialDraft:a=null}){let[o,i]=(0,ve.useState)(0),[l,s]=(0,ve.useState)(od),[u,c]=(0,ve.useState)({name:"",description:"",provider:"openai",model:od.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7},...a?{name:a.name,description:a.description||"",instructions:a.instructions,provider:a.provider,model:a.model,tools:a.tools||[],instruction_sets:[],mcp_servers:[]}:{}});(0,ve.useEffect)(()=>{let h=!1;return Ky(u.provider).then(v=>{if(h||v.length===0)return;let g=a?.provider===u.provider&&a.model?[...new Set([a.model,...v])]:v;s(b=>({...b,[u.provider]:g})),c(b=>g.includes(b.model)?b:{...b,model:g[0]})}),()=>{h=!0}},[u.provider]);let d=(h,v)=>{c(g=>({...g,[h]:v}))},f=(h,v)=>{c(g=>{let b=g[h]||[],x=b.includes(v)?b.filter(S=>S!==v):[...b,v];return{...g,[h]:x}})},p=h=>{if(d("preset_type",h),nd[h]){let v=nd[h];d("instruction_sets",[...v.instructions]),d("tools",[...v.tools])}},m=()=>{switch(o){case 0:return u.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},y=()=>{t(u)};return ve.default.createElement("div",{className:"max-w-4xl mx-auto"},a&&ve.default.createElement("div",{className:"mb-4 p-4 rounded-lg border border-red-200 bg-red-50 text-sm text-gray-700"},"Prepared by your workspace assistant. Review the instructions, model, and tools before creating this agent."),ve.default.createElement("div",{className:"mb-8"},ve.default.createElement("div",{className:"flex items-center justify-between"},qy.map((h,v)=>ve.default.createElement("div",{key:h.id,className:"flex items-center"},ve.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${vi(o-1),className:"px-6 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},o===0?"Cancel":"Back"),ve.default.createElement("button",{onClick:o===qy.length-1?y:()=>i(o+1),disabled:!m()||n,className:`px-6 py-2 rounded-lg transition-colors ${m()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},o===qy.length-1?"Create Agent":"Continue")))}function lH({formData:e,updateField:t,providerModels:r}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),ve.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),ve.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"})),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),ve.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"})),ve.default.createElement("div",{className:"grid grid-cols-2 gap-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),ve.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=>ve.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),ve.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=>ve.default.createElement("option",{key:n,value:n},n))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),ve.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"}),ve.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},ve.default.createElement("span",null,"Precise"),ve.default.createElement("span",null,"Creative")))))}function sH({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:a}){let o=Object.keys(nd),i=Object.keys(Ys),l=Object.keys(Gs);return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),ve.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex flex-col items-center"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=Ys[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),ve.default.createElement(mr,{size:120}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=Gs[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map(s=>ve.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"}`},ve.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Instructions"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>{let u=Ys[s];return ve.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"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Tools"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=Gs[s];return ve.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"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),ve.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 uH({formData:e}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),ve.default.createElement("div",{className:"grid grid-cols-2 gap-8"},ve.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement(mr,{size:100}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=Gs[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),ve.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),ve.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),ve.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=Gs[t];return r?ve.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}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),ve.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 ie=te(ne());var Fa=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"}),vn="#ef4444";var U=te(ne());var Yy=te(ne()),W3=te(ne());function B3(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,o=e.viewBox,i=e.className,l=e.style,s=e.title,u=e.desc,c=mH(e,pH),d=o||{width:n,height:a,x:0,y:0},f=Ue("recharts-surface",i);return Yy.createElement("svg",nA({},rr(c),{className:f,width:n,height:a,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),Yy.createElement("title",null,s),Yy.createElement("desc",null,u),r)});var Gy=te(ne());var gH=["children","className"];function aA(){return aA=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=yH(e,gH),o=Ue("recharts-layer",n);return Gy.createElement("g",aA({className:o},rr(a),{ref:t}),r)});var Sa=te(ne()),w0=te(ne()),WD=te(rp());function Xy(e){return e==="__proto__"}var xH=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Zy(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:xH.test(e);default:return!1}}function id(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function oA(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(oA).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function ld(e){if(Array.isArray(e))return e.map(id);if(typeof e=="symbol")return[e];e=oA(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",o="",i=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:wH,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function qr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[i-1];return typeof l=="string"?a+l+o:l!==void 0?a+Wa(l)+o:a+o},"")}var Ft=e=>e===0?0:e>0?1:-1,nn=e=>typeof e=="number"&&e!=+e,Ni=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,be=e=>(typeof e=="number"||e instanceof Number)&&!nn(e),Mn=e=>be(e)||typeof e=="string",SH=0,Ci=e=>{var t=++SH;return"".concat(e||"").concat(t)},vr=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(!be(t)&&typeof t!="string")return n;var o;if(Ni(t)){if(r==null)return n;var i=t.indexOf("%");o=r*parseFloat(t.slice(0,i))/100}else o=+t;return nn(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},iA=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):rn(n,t))===r)}var ct=e=>e===null||typeof e>"u",Ei=e=>ct(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Yr(e){return e!=null}function Pn(){}function rm(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 H3(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 $o(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,o=e.parentViewBox,i=e.clamp,l=rm(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,m=s+(d-f)/2,y=(p+m)/2,h=(d+f)/2,v=p+d/2,g=c>=0?1:-1,b=g*a,x=g>0?"end":"start",S=g>0?"start":"end",w=d>=0?1:-1,O=w*a,k=w>0?"end":"start",A=w>0?"start":"end",M=o;if(r==="top"){var W={x:p+d/2,y:u-b,horizontalAnchor:"middle",verticalAnchor:x};return i&&M&&(W.height=Math.max(u-M.y,0),W.width=d),W}if(r==="bottom"){var L={x:m+f/2,y:u+c+b,horizontalAnchor:"middle",verticalAnchor:S};return i&&M&&(L.height=Math.max(M.y+M.height-(u+c),0),L.width=f),L}if(r==="left"){var H={x:y-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"};return i&&M&&(H.width=Math.max(H.x-M.x,0),H.height=c),H}if(r==="right"){var D={x:y+h+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"};return i&&M&&(D.width=Math.max(M.x+M.width-D.x,0),D.height=c),D}var Y=i&&M?{width:h,height:c}:{};return r==="insideLeft"?$o({x:y+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"},Y):r==="insideRight"?$o({x:y+h-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"},Y):r==="insideTop"?$o({x:p+d/2,y:u+b,horizontalAnchor:"middle",verticalAnchor:S},Y):r==="insideBottom"?$o({x:m+f/2,y:u+c-b,horizontalAnchor:"middle",verticalAnchor:x},Y):r==="insideTopLeft"?$o({x:p+O,y:u+b,horizontalAnchor:A,verticalAnchor:S},Y):r==="insideTopRight"?$o({x:p+d-O,y:u+b,horizontalAnchor:k,verticalAnchor:S},Y):r==="insideBottomLeft"?$o({x:m+O,y:u+c-b,horizontalAnchor:A,verticalAnchor:x},Y):r==="insideBottomRight"?$o({x:m+f-O,y:u+c-b,horizontalAnchor:k,verticalAnchor:x},Y):r&&typeof r=="object"&&(be(r.x)||Ni(r.x))&&(be(r.y)||Ni(r.y))?$o({x:s+vr(r.x,h),y:u+vr(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Y):$o({x:v,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Y)},CH=["top","left","right","bottom"];function nm(e){return e==null?!1:typeof e=="object"?!0:CH.includes(e)}var Ry=te(ne()),lA=(0,Ry.createContext)(null),V3=()=>(0,Ry.useContext)(lA);var Dn=te(ne());var uM=te(ne());function Mt(e){return function(){return e}}var sA=Math.cos;var am=Math.sin,an=Math.sqrt;var Xs=Math.PI,_de=Xs/2,sd=2*Xs;var uA=Math.PI,cA=2*uA,Zs=1e-6,EH=cA-Zs;function K3(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return K3;let r=10**t;return function(n){this._+=n[0];for(let a=1,o=n.length;aZs)if(!(Math.abs(d*s-u*c)>Zs)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-i,m=a-l,y=s*s+u*u,h=p*p+m*m,v=Math.sqrt(y),g=Math.sqrt(f),b=o*Math.tan((uA-Math.acos((y+f-h)/(2*v*g)))/2),x=b/g,S=b/v;Math.abs(x-1)>Zs&&this._append`L${t+x*c},${r+x*d}`,this._append`A${o},${o},0,0,${+(d*p>c*m)},${this._x1=t+S*s},${this._y1=r+S*u}`}}arc(t,r,n,a,o,i){if(t=+t,r=+r,n=+n,i=!!i,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^i,f=i?a-o:o-a;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Zs||Math.abs(this._y1-c)>Zs)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%cA+cA),f>EH?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>Zs&&this._append`A${n},${n},0,${+(f>=uA)},${d},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}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 q3(){return new Qs}q3.prototype=Qs.prototype;function ud(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 Qs(t)}var zde=Array.prototype.slice;function cd(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Y3(e){this._context=e}Y3.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function zl(e){return new Y3(e)}function eh(e){return e[0]}function th(e){return e[1]}function om(e,t){var r=Mt(!0),n=null,a=zl,o=null,i=ud(l);e=typeof e=="function"?e:e===void 0?eh:Mt(e),t=typeof t=="function"?t:t===void 0?th:Mt(t);function l(s){var u,c=(s=cd(s)).length,d,f=!1,p;for(n==null&&(o=a(p=i())),u=0;u<=c;++u)!(u=p;--m)l.point(b[m],x[m]);l.lineEnd(),l.areaEnd()}v&&(b[f]=+e(h,f,d),x[f]=+t(h,f,d),l.point(n?+n(h,f,d):b[f],r?+r(h,f,d):x[f]))}if(g)return l=null,g+""||null}function c(){return om().defined(a).curve(i).context(o)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Mt(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Mt(+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:Mt(!!d),u):a},u.curve=function(d){return arguments.length?(i=d,o!=null&&(l=i(o)),u):i},u.context=function(d){return arguments.length?(d==null?o=l=null:l=i(o=d),u):o},u}var rh=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 dA(e){return new rh(e,!0)}function fA(e){return new rh(e,!1)}var fd={draw(e,t){let r=an(t/Xs);e.moveTo(r,0),e.arc(0,0,r,0,sd)}};var pA={draw(e,t){let r=an(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var G3=an(1/3),OH=G3*2,mA={draw(e,t){let r=an(t/OH),n=r*G3;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var vA={draw(e,t){let r=an(t),n=-r/2;e.rect(n,n,r,r)}};var TH=.8908130915292852,X3=am(Xs/10)/am(7*Xs/10),MH=am(sd/10)*X3,PH=-sA(sd/10)*X3,gA={draw(e,t){let r=an(t*TH),n=MH*r,a=PH*r;e.moveTo(0,-r),e.lineTo(n,a);for(let o=1;o<5;++o){let i=sd*o/5,l=sA(i),s=am(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*a,s*n+l*a)}e.closePath()}};var yA=an(3),hA={draw(e,t){let r=-an(t/(yA*3));e.moveTo(0,r*2),e.lineTo(-yA*r,-r),e.lineTo(yA*r,-r),e.closePath()}};var Ha=-.5,Va=an(3)/2,xA=1/an(12),DH=(xA/2+1)*3,bA={draw(e,t){let r=an(t/DH),n=r/2,a=r*xA,o=n,i=r*xA+r,l=-o,s=i;e.moveTo(n,a),e.lineTo(o,i),e.lineTo(l,s),e.lineTo(Ha*n-Va*a,Va*n+Ha*a),e.lineTo(Ha*o-Va*i,Va*o+Ha*i),e.lineTo(Ha*l-Va*s,Va*l+Ha*s),e.lineTo(Ha*n+Va*a,Ha*a-Va*n),e.lineTo(Ha*o+Va*i,Ha*i-Va*o),e.lineTo(Ha*l+Va*s,Ha*s-Va*l),e.closePath()}};function nh(e,t){let r=null,n=ud(a);e=typeof e=="function"?e:Mt(e||fd),t=typeof t=="function"?t:Mt(t===void 0?64:+t);function a(){let o;if(r||(r=o=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),o)return r=null,o+""||null}return a.type=function(o){return arguments.length?(e=typeof o=="function"?o:Mt(o),a):e},a.size=function(o){return arguments.length?(t=typeof o=="function"?o:Mt(+o),a):t},a.context=function(o){return arguments.length?(r=o??null,a):r},a}function pd(){}function md(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 Z3(e){this._context=e}Z3.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:md(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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function wA(e){return new Z3(e)}function Q3(e){this._context=e}Q3.prototype={areaStart:pd,areaEnd:pd,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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function SA(e){return new Q3(e)}function J3(e){this._context=e}J3.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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function AA(e){return new J3(e)}function R3(e){this._context=e}R3.prototype={areaStart:pd,areaEnd:pd,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 kA(e){return new R3(e)}function eM(e){return e<0?-1:1}function tM(e,t,r){var n=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(n||a<0&&-0),i=(r-e._y1)/(a||n<0&&-0),l=(o*a+i*n)/(n+a);return(eM(o)+eM(i))*Math.min(Math.abs(o),Math.abs(i),.5*Math.abs(l))||0}function rM(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function NA(e,t,r){var n=e._x0,a=e._y0,o=e._x1,i=e._y1,l=(o-n)/3;e._context.bezierCurveTo(n+l,a+l*t,o-l,i-l*r,o,i)}function ah(e){this._context=e}ah.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:NA(this,this._t0,rM(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,NA(this,rM(this,r=tM(this,e,t)),r);break;default:NA(this,this._t0,r=tM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function nM(e){this._context=new aM(e)}(nM.prototype=Object.create(ah.prototype)).point=function(e,t){ah.prototype.point.call(this,t,e)};function aM(e){this._context=e}aM.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,o){this._context.bezierCurveTo(t,e,n,r,o,a)}};function CA(e){return new ah(e)}function EA(e){return new nM(e)}function iM(e){this._context=e}iM.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=oM(e),a=oM(t),o=0,i=1;i=0;--t)a[t]=(i[t]-a[t+1])/o[t];for(o[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 OA(e){return new oh(e,.5)}function TA(e){return new oh(e,0)}function MA(e){return new oh(e,1)}function ya(e,t){if((i=e.length)>1)for(var r=1,n,a,o=e[t[0]],i,l=o.length;r=0;)r[t]=t;return r}function IH(e,t){return e[t]}function jH(e){let t=[];return t.key=e,t}function PA(){var e=Mt([]),t=vd,r=ya,n=IH;function a(o){var i=Array.from(e.apply(this,arguments),jH),l,s=i.length,u=-1,c;for(let d of o)for(l=0,++u;l0){for(var r,n,a=0,o=e[0].length,i;a0){for(var r=0,n=e[t[0]],a,o=n.length;r0)||!((o=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,o,i;n{var t="symbol".concat(Ei(e));return cM[t]||fd},KH=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*HH;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},qH=(e,t)=>{cM["symbol".concat(Ei(e))]=t},LA=e=>{var t=e.type,r=t===void 0?"circle":t,n=e.size,a=n===void 0?64:n,o=e.sizeType,i=o===void 0?"area":o,l=FH(e,LH),s=sM(sM({},l),{},{type:r,size:a,sizeType:i}),u="circle";typeof r=="string"&&(u=r);var c=()=>{var y=VH(u),h=nh().type(y).size(KH(a,i,u)),v=h();if(v!==null)return v},d=s.className,f=s.cx,p=s.cy,m=rr(s);return be(f)&&be(p)&&be(a)?uM.createElement("path",zA({},m,{className:Ue("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:c()})):null};LA.registerSymbol=qH;var dM=te(ne());var ih=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,gd=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,dM.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{em(a)&&typeof r[a]=="function"&&(n[a]=t||(o=>r[a](r,o)))}),n},YH=(e,t,r)=>n=>(e(t,r,n),null),_i=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var o=e[a];em(a)&&typeof o=="function"&&(n||(n={}),n[a]=YH(o,t,r))}),n};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 GH(e){for(var t=1;t(i[l]===void 0&&n[l]!==void 0&&(i[l]=n[l]),i),r);return o}function lh(){return lh=Object.assign?Object.assign.bind():function(e){for(var t=1;t>>=0,e===0?32:31-(qU(e)/YU|0)|0}var wg=256,Sg=262144,Ag=4194304;function Os(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 _y(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~o,n!==0?a=Os(n):(i&=l,i!==0?a=Os(i):r||(r=l&~e,r!==0&&(a=Os(r))))):(l=n&~o,l!==0?a=Os(l):i!==0?a=Os(i):r||(r=n&~e,r!==0&&(a=Os(r)))),a===0?0:t!==0&&t!==a&&(t&o)===0&&(o=a&-a,r=t&-t,o>=r||o===32&&(r&4194048)!==0)?t:a}function Vp(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function XU(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 rT(){var e=Ag;return Ag<<=1,(Ag&62914560)===0&&(Ag=4194304),e}function Dw(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Kp(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ZU(e,t,r,n,a,o){var i=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(r=i&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var rF=/[\n"\\]/g;function ja(e){return e.replace(rF,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function hS(e,t,r,n,a,o,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pa(t)):e.value!==""+Pa(t)&&(e.value=""+Pa(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?xS(e,i,Pa(t)):r!=null?xS(e,i,Pa(r)):n!=null&&e.removeAttribute("value"),a==null&&o!=null&&(e.defaultChecked=!!o),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Pa(l):e.removeAttribute("name")}function dT(e,t,r,n,a,o,i,l){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||r!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){yS(e);return}r=r!=null?""+Pa(r):"",t=t!=null?""+Pa(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,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),yS(e)}function xS(e,t,r){t==="number"&&ny(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function Dc(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"),wS=!1;if(hi)try{vc={},Object.defineProperty(vc,"passive",{get:function(){wS=!0}}),window.addEventListener("test",vc,vc),window.removeEventListener("test",vc,vc)}catch{wS=!1}var vc,gl=null,d2=null,Ug=null;function gT(){if(Ug)return Ug;var e,t=d2,r=t.length,n,a="value"in gl?gl.value:gl.textContent,o=a.length;for(e=0;e=vp),j5=" ",z5=!1;function hT(e,t){switch(e){case"keyup":return TF.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xT(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kc=!1;function PF(e,t){switch(e){case"compositionend":return xT(t);case"keypress":return t.which!==32?null:(z5=!0,j5);case"textInput":return e=t.data,e===j5&&z5?null:e;default:return null}}function DF(e,t){if(kc)return e==="compositionend"||!p2&&hT(e,t)?(e=gT(),Ug=d2=gl=null,kc=!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=U5(r)}}function AT(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?AT(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function kT(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ny(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=ny(e.document)}return t}function m2(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 FF=hi&&"documentMode"in document&&11>=document.documentMode,Nc=null,SS=null,yp=null,AS=!1;function W5(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;AS||Nc==null||Nc!==ny(n)||(n=Nc,"selectionStart"in n&&m2(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}),yp&&Mp(yp,n)||(yp=n,n=wy(SS,"onSelect"),0>=i,a-=i,Do=1<<32-fa(t)+a|r<k?(A=O,O=null):A=O.sibling;var M=f(m,O,x[k],b);if(M===null){O===null&&(O=A);break}e&&O&&M.alternate===null&&t(m,O),g=o(M,g,k),w===null?S=M:w.sibling=M,w=M,O=A}if(k===x.length)return r(m,O),yt&&ci(m,k),S;if(O===null){for(;kk?(A=O,O=null):A=O.sibling;var W=f(m,O,M.value,b);if(W===null){O===null&&(O=A);break}e&&O&&W.alternate===null&&t(m,O),g=o(W,g,k),w===null?S=W:w.sibling=W,w=W,O=A}if(M.done)return r(m,O),yt&&ci(m,k),S;if(O===null){for(;!M.done;k++,M=x.next())M=d(m,M.value,b),M!==null&&(g=o(M,g,k),w===null?S=M:w.sibling=M,w=M);return yt&&ci(m,k),S}for(O=n(O);!M.done;k++,M=x.next())M=p(O,m,k,M.value,b),M!==null&&(e&&M.alternate!==null&&O.delete(M.key===null?k:M.key),g=o(M,g,k),w===null?S=M:w.sibling=M,w=M);return e&&O.forEach(function(L){return t(m,L)}),yt&&ci(m,k),S}function h(m,g,x,b){if(typeof x=="object"&&x!==null&&x.type===bc&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case bg:e:{for(var S=x.key;g!==null;){if(g.key===S){if(S=x.type,S===bc){if(g.tag===7){r(m,g.sibling),b=a(g,x.props.children),b.return=m,m=b;break e}}else if(g.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===ul&&Ts(S)===g.type){r(m,g.sibling),b=a(g,x.props),op(b,x),b.return=m,m=b;break e}r(m,g);break}else t(m,g);g=g.sibling}x.type===bc?(b=Ds(x.props.children,m.mode,b,x.key),b.return=m,m=b):(b=Wg(x.type,x.key,x.props,null,m.mode,b),op(b,x),b.return=m,m=b)}return i(m);case cp:e:{for(S=x.key;g!==null;){if(g.key===S)if(g.tag===4&&g.stateNode.containerInfo===x.containerInfo&&g.stateNode.implementation===x.implementation){r(m,g.sibling),b=a(g,x.children||[]),b.return=m,m=b;break e}else{r(m,g);break}else t(m,g);g=g.sibling}b=Fw(x,m.mode,b),b.return=m,m=b}return i(m);case ul:return x=Ts(x),h(m,g,x,b)}if(dp(x))return v(m,g,x,b);if(np(x)){if(S=np(x),typeof S!="function")throw Error(pe(150));return x=S.call(x),y(m,g,x,b)}if(typeof x.then=="function")return h(m,g,Og(x),b);if(x.$$typeof===fi)return h(m,g,_g(m,x),b);Tg(m,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,g!==null&&g.tag===6?(r(m,g.sibling),b=a(g,x),b.return=m,m=b):(r(m,g),b=Uw(x,m.mode,b),b.return=m,m=b),i(m)):r(m,g)}return function(m,g,x,b){try{Ip=0;var S=h(m,g,x,b);return zc=null,S}catch(O){if(O===Rc||O===Iy)throw O;var w=sa(29,O,null,m.mode);return w.lanes=b,w.return=m,w}}}var $s=$T(!0),UT=$T(!1),cl=!1;function A2(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function TS(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 Sl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Al(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Ot&2)!==0){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,t=oy(e),MT(e,null,r),t}return Dy(e,n,t,r),oy(e)}function xp(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,aT(e,r)}}function Hw(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,o=null;if(r=r.firstBaseUpdate,r!==null){do{var i={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};o===null?a=o=i:o=o.next=i,r=r.next}while(r!==null);o===null?a=o=t:o=o.next=t}else a=o=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:o,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 MS=!1;function bp(){if(MS){var e=jc;if(e!==null)throw e}}function wp(e,t,r,n){MS=!1;var a=e.updateQueue;cl=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,u=s.next;s.next=null,i===null?o=u:i.next=u,i=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==i&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(o!==null){var d=a.baseState;i=0,c=u=s=null,l=o;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(vt&f)===f:(n&f)===f){f!==0&&f===Wc&&(MS=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var v=e,y=l;f=t;var h=r;switch(y.tag){case 1:if(v=y.payload,typeof v=="function"){d=v.call(h,d,f);break e}d=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=y.payload,f=typeof v=="function"?v.call(h,d,f):v,f==null)break e;d=er({},d,f);break e;case 2:cl=!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,i|=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,o===null&&(a.shared.lanes=0),Pl|=i,e.lanes=i,e.memoizedState=d}}function FT(e,t){if(typeof e!="function")throw Error(pe(191,e));e.call(t)}function WT(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;eo?o:8;var i=Ke.T,l={};Ke.T=l,z2(e,!1,t,r);try{var s=a(),u=Ke.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=ZF(s,n);Sp(e,t,c,pa(e))}else Sp(e,t,n,pa(e))}catch(d){Sp(e,t,{then:function(){},status:"rejected",reason:d},pa())}finally{Tt.p=o,i!==null&&l.types!==null&&(i.types=l.types),Ke.T=i}}function rW(){}function zS(e,t,r,n){if(e.tag!==5)throw Error(pe(476));var a=p4(e).queue;f4(e,a,t,Ps,r===null?rW:function(){return m4(e),r(n)})}function p4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Ps,baseState:Ps,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:Ps},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function m4(e){var t=p4(e);t.next===null&&(t=e.alternate.memoizedState),Sp(e,t.next.queue,{},pa())}function j2(){return pn($p)}function v4(){return Or().memoizedState}function g4(){return Or().memoizedState}function nW(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=pa();e=Sl(r);var n=Al(t,e,r);n!==null&&(Kn(n,t,r),xp(n,t,r)),t={cache:b2()},e.payload=t;return}t=t.return}}function aW(e,t,r){var n=pa();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},By(e)?h4(t,r):(r=g2(e,t,r,n),r!==null&&(Kn(r,e,n),x4(r,t,n)))}function y4(e,t,r){var n=pa();Sp(e,t,r,n)}function Sp(e,t,r,n){var a={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(By(e))h4(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,l=o(i,r);if(a.hasEagerState=!0,a.eagerState=l,ma(l,i))return Dy(e,t,a,0),$t===null&&Py(),!1}catch{}if(r=g2(e,t,a,n),r!==null)return Kn(r,e,n),x4(r,t,n),!0}return!1}function z2(e,t,r,n){if(n={lane:2,revertLane:K2(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},By(e)){if(t)throw Error(pe(479))}else t=g2(e,r,n,2),t!==null&&Kn(t,e,2)}function By(e){var t=e.alternate;return e===et||t!==null&&t===et}function h4(e,t){Lc=dy=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function x4(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,aT(e,r)}}var zp={readContext:pn,use:zy,useCallback:br,useContext:br,useEffect:br,useImperativeHandle:br,useLayoutEffect:br,useInsertionEffect:br,useMemo:br,useReducer:br,useRef:br,useState:br,useDebugValue:br,useDeferredValue:br,useTransition:br,useSyncExternalStore:br,useId:br,useHostTransitionStatus:br,useFormState:br,useActionState:br,useOptimistic:br,useMemoCache:br,useCacheRefresh:br};zp.useEffectEvent=br;var b4={readContext:pn,use:zy,useCallback:function(e,t){return Tn().memoizedState=[e,t===void 0?null:t],e},useContext:pn,useEffect:nO,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,Kg(4194308,4,l4.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Kg(4194308,4,e,t)},useInsertionEffect:function(e,t){Kg(4,2,e,t)},useMemo:function(e,t){var r=Tn();t=t===void 0?null:t;var n=e();if(Us){vl(!0);try{e()}finally{vl(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=Tn();if(r!==void 0){var a=r(t);if(Us){vl(!0);try{r(t)}finally{vl(!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=aW.bind(null,et,e),[n.memoizedState,e]},useRef:function(e){var t=Tn();return e={current:e},t.memoizedState=e},useState:function(e){e=IS(e);var t=e.queue,r=y4.bind(null,et,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:D2,useDeferredValue:function(e,t){var r=Tn();return I2(r,e,t)},useTransition:function(){var e=IS(!1);return e=f4.bind(null,et,e.queue,!0,!1),Tn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=et,a=Tn();if(yt){if(r===void 0)throw Error(pe(407));r=r()}else{if(r=t(),$t===null)throw Error(pe(349));(vt&127)!==0||YT(n,t,r)}a.memoizedState=r;var o={value:r,getSnapshot:t};return a.queue=o,nO(XT.bind(null,n,o,e),[e]),n.flags|=2048,Vc(9,{destroy:void 0},GT.bind(null,n,o,r,t),null),r},useId:function(){var e=Tn(),t=$t.identifierPrefix;if(yt){var r=Io,n=Do;r=(n&~(1<<32-fa(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=fy++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof n.is=="string"?i.createElement("select",{is:n.is}):i.createElement("select"),n.multiple?o.multiple=!0:n.size&&(o.size=n.size);break;default:o=typeof n.is=="string"?i.createElement(a,{is:n.is}):i.createElement(a)}}o[dn]=t,o[qn]=n;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)o.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=o;e:switch(mn(o,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&&ii(t)}}return Jt(t),Qw(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&ii(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(pe(166));if(e=bl.current,gc(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,a=fn,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}e[dn]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||y3(e.nodeValue,r)),e||Tl(t,!0)}else e=Sy(e).createTextNode(n),e[dn]=t,t.stateNode=e}return Jt(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=gc(t),r!==null){if(e===null){if(!n)throw Error(pe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(pe(557));e[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),e=!1}else r=Ww(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(la(t),t):(la(t),null);if((t.flags&128)!==0)throw Error(pe(558))}return Jt(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=gc(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(pe(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(pe(317));a[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),a=!1}else a=Ww(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(la(t),t):(la(t),null)}return la(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),o=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(o=n.memoizedState.cachePool.pool),o!==a&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),Mg(t,t.updateQueue),Jt(t),null);case 4:return $c(),e===null&&q2(t.stateNode.containerInfo),Jt(t),null;case 10:return gi(t.type),Jt(t),null;case 19:if(tn(_r),n=t.memoizedState,n===null)return Jt(t),null;if(a=(t.flags&128)!==0,o=n.rendering,o===null)if(a)ip(n,!1);else{if(wr!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=cy(e),o!==null){for(t.flags|=128,ip(n,!1),e=o.updateQueue,t.updateQueue=e,Mg(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)PT(r,e),r=r.sibling;return Kt(_r,_r.current&1|2),yt&&ci(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&ca()>gy&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304)}else{if(!a)if(e=cy(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Mg(t,e),ip(n,!0),n.tail===null&&n.tailMode==="hidden"&&!o.alternate&&!yt)return Jt(t),null}else 2*ca()-n.renderingStartTime>gy&&r!==536870912&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(e=n.last,e!==null?e.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=ca(),e.sibling=null,r=_r.current,Kt(_r,a?r&1|2:r&1),yt&&ci(t,n.treeForkCount),e):(Jt(t),null);case 22:case 23:return la(t),k2(),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&&(Jt(t),t.subtreeFlags&6&&(t.flags|=8192)):Jt(t),r=t.updateQueue,r!==null&&Mg(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&&tn(Is),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),gi($r),Jt(t),null;case 25:return null;case 30:return null}throw Error(pe(156,t.tag))}function uW(e,t){switch(x2(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return gi($r),$c(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ty(t),null;case 31:if(t.memoizedState!==null){if(la(t),t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(la(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return tn(_r),null;case 4:return $c(),null;case 10:return gi(t.type),null;case 22:case 23:return la(t),k2(),e!==null&&tn(Is),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return gi($r),null;case 25:return null;default:return null}}function P4(e,t){switch(x2(t),t.tag){case 3:gi($r),$c();break;case 26:case 27:case 5:ty(t);break;case 4:$c();break;case 31:t.memoizedState!==null&&la(t);break;case 13:la(t);break;case 19:tn(_r);break;case 10:gi(t.type);break;case 22:case 23:la(t),k2(),e!==null&&tn(Is);break;case 24:gi($r)}}function Zp(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 o=r.create,i=r.inst;n=o(),i.destroy=n}r=r.next}while(r!==a)}}catch(l){It(t,t.return,l)}}function Ml(e,t,r){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var o=a.next;n=o;do{if((n.tag&e)===e){var i=n.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,a=t;var s=r,u=l;try{u()}catch(c){It(a,s,c)}}}n=n.next}while(n!==o)}}catch(c){It(t,t.return,c)}}function D4(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{WT(t,r)}catch(n){It(e,e.return,n)}}}function I4(e,t,r){r.props=Fs(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){It(e,t,n)}}function Ap(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){It(e,t,a)}}function jo(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(a){It(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){It(e,t,a)}else r.current=null}function j4(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){It(e,e.return,a)}}function Jw(e,t,r){try{var n=e.stateNode;OW(n,e.type,r,t),n[qn]=t}catch(a){It(e,e.return,a)}}function z4(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Il(e.type)||e.tag===4}function Rw(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||z4(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&&Il(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 FS(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=pi));else if(n!==4&&(n===27&&Il(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(FS(e,t,r),e=e.sibling;e!==null;)FS(e,t,r),e=e.sibling}function vy(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&&Il(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(vy(e,t,r),e=e.sibling;e!==null;)vy(e,t,r),e=e.sibling}function L4(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);mn(t,n,r),t[dn]=e,t[qn]=r}catch(o){It(e,e.return,o)}}var di=!1,Br=!1,eS=!1,gO=typeof WeakSet=="function"?WeakSet:Set,Rr=null;function cW(e,t){if(e=e.containerInfo,GS=Cy,e=kT(e),m2(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,o=n.focusNode;n=n.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||a!==0&&d.nodeType!==3||(l=i+a),d!==o||n!==0&&d.nodeType!==3||(s=i+n),d.nodeType===3&&(i+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===a&&(l=i),f===o&&++c===n&&(s=i),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(XS={focusedElem:e,selectionRange:r},Cy=!1,Rr=t;Rr!==null;)if(t=Rr,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Rr=e;else for(;Rr!==null;){switch(t=Rr,o=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"))),mn(o,n,r),o[dn]=e,en(o),n=o;break e;case"link":var i=BO("link","href",a).get(n+(r.href||""));if(i){for(var l=0;lh&&(i=h,h=y,y=i);var m=F5(l,y),g=F5(l,h);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(),y>h?(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,Ke.T=null,r=VS,VS=null;var o=Nl,i=yi;if(Vr=0,qc=Nl=null,yi=0,(Ot&6)!==0)throw Error(pe(331));var l=Ot;if(Ot|=4,G4(o.current),K4(o,o.current,i,r),Ot=l,Qp(0,!1),da&&typeof da.onPostCommitFiberRoot=="function")try{da.onPostCommitFiberRoot(Hp,o)}catch{}return!0}finally{Tt.p=a,Ke.T=n,u3(e,t)}}function bO(e,t,r){t=za(r,t),t=BS(e.stateNode,t,2),e=Al(e,t,2),e!==null&&(Kp(e,2),Bo(e))}function It(e,t,r){if(e.tag===3)bO(e,e,r);else for(;t!==null;){if(t.tag===3){bO(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(kl===null||!kl.has(n))){e=za(r,e),r=N4(2),n=Al(t,r,2),n!==null&&(C4(r,n,t,e),Kp(n,2),Bo(n));break}}t=t.return}}function rS(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new pW;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)||(W2=!0,a.add(r),e=hW.bind(null,e,t,r),t.then(e,e))}function hW(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,$t===e&&(vt&r)===r&&(wr===4||wr===3&&(vt&62914560)===vt&&300>ca()-$y?(Ot&2)===0&&Yc(e,0):H2|=r,Kc===vt&&(Kc=0)),Bo(e)}function d3(e,t){t===0&&(t=rT()),e=Ks(e,t),e!==null&&(Kp(e,t),Bo(e))}function xW(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),d3(e,r)}function bW(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(pe(314))}n!==null&&n.delete(t),d3(e,r)}function wW(e,t){return o2(e,t)}var xy=null,xc=null,qS=!1,by=!1,nS=!1,xl=0;function Bo(e){e!==xc&&e.next===null&&(xc===null?xy=xc=e:xc=xc.next=e),by=!0,qS||(qS=!0,AW())}function Qp(e,t){if(!nS&&by){nS=!0;do for(var r=!1,n=xy;n!==null;){if(!t)if(e!==0){var a=n.pendingLanes;if(a===0)var o=0;else{var i=n.suspendedLanes,l=n.pingedLanes;o=(1<<31-fa(42|e)+1)-1,o&=a&~(i&~l),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(r=!0,wO(n,o))}else o=vt,o=_y(n,n===$t?o:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(o&3)===0||Vp(n,o)||(r=!0,wO(n,o));n=n.next}while(r);nS=!1}}function SW(){f3()}function f3(){by=qS=!1;var e=0;xl!==0&&MW()&&(e=xl);for(var t=ca(),r=null,n=xy;n!==null;){var a=n.next,o=p3(n,t);o===0?(n.next=null,r===null?xy=a:r.next=a,a===null&&(xc=r)):(r=n,(e!==0||(o&3)!==0)&&(by=!0)),n=a}Vr!==0&&Vr!==5||Qp(e,!1),xl!==0&&(xl=0)}function p3(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&_O(d)&&(s=s.responseEnd,i+=c*(s"u"?null:document;function S3(e,t,r){var n=td;if(n&&typeof t=="string"&&t){var a=ja(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof r=="string"&&(a+='[crossorigin="'+r+'"]'),jO.has(a)||(jO.add(a),e={rel:e,crossOrigin:r,href:t},n.querySelector(a)===null&&(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function UW(e){Ai.D(e),S3("dns-prefetch",e,null)}function FW(e,t){Ai.C(e,t),S3("preconnect",e,t)}function WW(e,t,r){Ai.L(e,t,r);var n=td;if(n&&e&&t){var a='link[rel="preload"][as="'+ja(t)+'"]';t==="image"&&r&&r.imageSrcSet?(a+='[imagesrcset="'+ja(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(a+='[imagesizes="'+ja(r.imageSizes)+'"]')):a+='[href="'+ja(e)+'"]';var o=a;switch(t){case"style":o=Gc(e);break;case"script":o=rd(e)}Ua.has(o)||(e=er({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Ua.set(o,e),n.querySelector(a)!==null||t==="style"&&n.querySelector(Jp(o))||t==="script"&&n.querySelector(Rp(o))||(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function HW(e,t){Ai.m(e,t);var r=td;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+ja(n)+'"][href="'+ja(e)+'"]',o=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=rd(e)}if(!Ua.has(o)&&(e=er({rel:"modulepreload",href:e},t),Ua.set(o,e),r.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(Rp(o)))return}n=r.createElement("link"),mn(n,"link",e),en(n),r.head.appendChild(n)}}}function VW(e,t,r){Ai.S(e,t,r);var n=td;if(n&&e){var a=Pc(n).hoistableStyles,o=Gc(e);t=t||"default";var i=a.get(o);if(!i){var l={loading:0,preload:null};if(i=n.querySelector(Jp(o)))l.loading=5;else{e=er({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Ua.get(o))&&Y2(e,r);var s=i=n.createElement("link");en(s),mn(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,Xg(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:l},a.set(o,i)}}}function KW(e,t){Ai.X(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0},t),(t=Ua.get(a))&&G2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function qW(e,t){Ai.M(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0,type:"module"},t),(t=Ua.get(a))&&G2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function zO(e,t,r,n){var a=(a=bl.current)?Ay(a):null;if(!a)throw Error(pe(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=Gc(r.href),r=Pc(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=Gc(r.href);var o=Pc(a).hoistableStyles,i=o.get(e);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,i),(o=a.querySelector(Jp(e)))&&!o._p&&(i.instance=o,i.state.loading=5),Ua.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},Ua.set(e,r),o||YW(a,e,r,i.state))),t&&n===null)throw Error(pe(528,""));return i}if(t&&n!==null)throw Error(pe(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=rd(r),r=Pc(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(pe(444,e))}}function Gc(e){return'href="'+ja(e)+'"'}function Jp(e){return'link[rel="stylesheet"]['+e+"]"}function A3(e){return er({},e,{"data-precedence":e.precedence,precedence:null})}function YW(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}),mn(t,"link",r),en(t),e.head.appendChild(t))}function rd(e){return'[src="'+ja(e)+'"]'}function Rp(e){return"script[async]"+e}function LO(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+ja(r.href)+'"]');if(n)return t.instance=n,en(n),n;var a=er({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),en(n),mn(n,"style",a),Xg(n,r.precedence,e),t.instance=n;case"stylesheet":a=Gc(r.href);var o=e.querySelector(Jp(a));if(o)return t.state.loading|=4,t.instance=o,en(o),o;n=A3(r),(a=Ua.get(a))&&Y2(n,a),o=(e.ownerDocument||e).createElement("link"),en(o);var i=o;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),t.state.loading|=4,Xg(o,r.precedence,e),t.instance=o;case"script":return o=rd(r.src),(a=e.querySelector(Rp(o)))?(t.instance=a,en(a),a):(n=r,(a=Ua.get(o))&&(n=er({},r),G2(n,a)),e=e.ownerDocument||e,a=e.createElement("script"),en(a),mn(a,"link",n),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(pe(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Xg(n,r.precedence,e));return t.instance}function Xg(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,o=a,i=0;i title"):null)}function GW(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 k3(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function XW(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=Gc(n.href),o=t.querySelector(Jp(a));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ky.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=o,en(o);return}o=t.ownerDocument||t,n=A3(n),(a=Ua.get(a))&&Y2(n,a),o=o.createElement("link"),en(o);var i=o;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),r.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=ky.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var lS=0;function ZW(e,t){return e.stylesheets&&e.count===0&&Qg(e,e.stylesheets),0lS?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function ky(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qg(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ny=null;function Qg(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ny=new Map,t.forEach(QW,e),Ny=null,ky.call(e))}function QW(e,t){if(!(t.state.loading&4)){var r=Ny.get(e);if(r)var n=r.get(null);else{r=new Map,Ny.set(e,r);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";function D3(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(D3)}catch(e){console.error(e)}}D3(),I3.exports=P3()});var BM=Jr(LM=>{"use strict";var wd=ne();function cV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var dV=typeof Object.is=="function"?Object.is:cV,fV=wd.useState,pV=wd.useEffect,mV=wd.useLayoutEffect,vV=wd.useDebugValue;function gV(e,t){var r=t(),n=fV({inst:{value:r,getSnapshot:t}}),a=n[0].inst,o=n[1];return mV(function(){a.value=r,a.getSnapshot=t,WA(a)&&o({inst:a})},[e,r,t]),pV(function(){return WA(a)&&o({inst:a}),e(function(){WA(a)&&o({inst:a})})},[e]),vV(r),r}function WA(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!dV(e,r)}catch{return!0}}function yV(e,t){return t()}var hV=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?yV:gV;LM.useSyncExternalStore=wd.useSyncExternalStore!==void 0?wd.useSyncExternalStore:hV});var UM=Jr((eve,$M)=>{"use strict";$M.exports=BM()});var WM=Jr(FM=>{"use strict";var Dh=ne(),xV=UM();function bV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wV=typeof Object.is=="function"?Object.is:bV,SV=xV.useSyncExternalStore,AV=Dh.useRef,kV=Dh.useEffect,NV=Dh.useMemo,CV=Dh.useDebugValue;FM.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=AV(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=NV(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var v=i.value;if(a(v,p))return d=v}return d=p}if(v=d,wV(c,p))return v;var y=n(p);return a!==void 0&&a(v,y)?(c=p,v):(c=p,d=y)}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=SV(e,o[0],o[1]);return kV(function(){i.hasValue=!0,i.value=l},[l]),CV(l),l}});var VM=Jr((rve,HM)=>{"use strict";HM.exports=WM()});var MD=Jr(TD=>{"use strict";var wm=ne();function Tq(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mq=typeof Object.is=="function"?Object.is:Tq,Pq=wm.useSyncExternalStore,Dq=wm.useRef,Iq=wm.useEffect,jq=wm.useMemo,zq=wm.useDebugValue;TD.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=Dq(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=jq(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var v=i.value;if(a(v,p))return d=v}return d=p}if(v=d,Mq(c,p))return v;var y=n(p);return a!==void 0&&a(v,y)?(c=p,v):(c=p,d=y)}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=Pq(e,o[0],o[1]);return Iq(function(){i.hasValue=!0,i.value=l},[l]),zq(l),l}});var DD=Jr((tye,PD)=>{"use strict";PD.exports=MD()});var Lk=Jr((a6,H0)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",o=a+"Invalid argument: ",i=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),y={};y.absoluteValue=y.abs=function(){var N=new this.constructor(this);return N.s&&(N.s=1),N},y.comparedTo=y.cmp=function(N){var _,z,j,P,B=this;if(N=new B.constructor(N),B.s!==N.s)return B.s||-N.s;if(B.e!==N.e)return B.e>N.e^B.s<0?1:-1;for(j=B.d.length,P=N.d.length,_=0,z=jN.d[_]^B.s<0?1:-1;return j===P?0:j>P^B.s<0?1:-1},y.decimalPlaces=y.dp=function(){var N=this,_=N.d.length-1,z=(_-N.e)*f;if(_=N.d[_],_)for(;_%10==0;_/=10)z--;return z<0?0:z},y.dividedBy=y.div=function(N){return x(this,new this.constructor(N))},y.dividedToIntegerBy=y.idiv=function(N){var _=this,z=_.constructor;return M(x(_,new z(N),0,1),z.precision)},y.equals=y.eq=function(N){return!this.cmp(N)},y.exponent=function(){return S(this)},y.greaterThan=y.gt=function(N){return this.cmp(N)>0},y.greaterThanOrEqualTo=y.gte=function(N){return this.cmp(N)>=0},y.isInteger=y.isint=function(){return this.e>this.d.length-2},y.isNegative=y.isneg=function(){return this.s<0},y.isPositive=y.ispos=function(){return this.s>0},y.isZero=function(){return this.s===0},y.lessThan=y.lt=function(N){return this.cmp(N)<0},y.lessThanOrEqualTo=y.lte=function(N){return this.cmp(N)<1},y.logarithm=y.log=function(N){var _,z=this,j=z.constructor,P=j.precision,B=P+5;if(N===void 0)N=new j(10);else if(N=new j(N),N.s<1||N.eq(c))throw Error(a+"NaN");if(z.s<1)throw Error(a+(z.s?"NaN":"-Infinity"));return z.eq(c)?new j(0):(n=!1,_=x(k(z,B),k(N,B),B),n=!0,M(_,P))},y.minus=y.sub=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?W(_,N):h(_,(N.s=-N.s,N))},y.modulo=y.mod=function(N){var _,z=this,j=z.constructor,P=j.precision;if(N=new j(N),!N.s)throw Error(a+"NaN");return z.s?(n=!1,_=x(z,N,0,1).times(N),n=!0,z.minus(_)):M(new j(z),P)},y.naturalExponential=y.exp=function(){return b(this)},y.naturalLogarithm=y.ln=function(){return k(this)},y.negated=y.neg=function(){var N=new this.constructor(this);return N.s=-N.s||0,N},y.plus=y.add=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?h(_,N):W(_,(N.s=-N.s,N))},y.precision=y.sd=function(N){var _,z,j,P=this;if(N!==void 0&&N!==!!N&&N!==1&&N!==0)throw Error(o+N);if(_=S(P)+1,j=P.d.length-1,z=j*f+1,j=P.d[j],j){for(;j%10==0;j/=10)z--;for(j=P.d[0];j>=10;j/=10)z++}return N&&_>z?_:z},y.squareRoot=y.sqrt=function(){var N,_,z,j,P,B,R,F=this,G=F.constructor;if(F.s<1){if(!F.s)return new G(0);throw Error(a+"NaN")}for(N=S(F),n=!1,P=Math.sqrt(+F),P==0||P==1/0?(_=g(F.d),(_.length+N)%2==0&&(_+="0"),P=Math.sqrt(_),N=l((N+1)/2)-(N<0||N%2),P==1/0?_="5e"+N:(_=P.toExponential(),_=_.slice(0,_.indexOf("e")+1)+N),j=new G(_)):j=new G(P.toString()),z=G.precision,P=R=z+3;;)if(B=j,j=B.plus(x(F,B,R+2)).times(.5),g(B.d).slice(0,R)===(_=g(j.d)).slice(0,R)){if(_=_.slice(R-3,R+1),P==R&&_=="4999"){if(M(B,z+1,0),B.times(B).eq(F)){j=B;break}}else if(_!="9999")break;R+=4}return n=!0,M(j,z)},y.times=y.mul=function(N){var _,z,j,P,B,R,F,G,ee,fe=this,de=fe.constructor,De=fe.d,le=(N=new de(N)).d;if(!fe.s||!N.s)return new de(0);for(N.s*=fe.s,z=fe.e+N.e,G=De.length,ee=le.length,G=0;){for(_=0,P=G+j;P>j;)F=B[P]+le[j]*De[P-j-1]+_,B[P--]=F%d|0,_=F/d|0;B[P]=(B[P]+_)%d|0}for(;!B[--R];)B.pop();return _?++z:B.shift(),N.d=B,N.e=z,n?M(N,de.precision):N},y.toDecimalPlaces=y.todp=function(N,_){var z=this,j=z.constructor;return z=new j(z),N===void 0?z:(m(N,0,t),_===void 0?_=j.rounding:m(_,0,8),M(z,N+S(z)+1,_))},y.toExponential=function(N,_){var z,j=this,P=j.constructor;return N===void 0?z=L(j,!0):(m(N,0,t),_===void 0?_=P.rounding:m(_,0,8),j=M(new P(j),N+1,_),z=L(j,!0,N+1)),z},y.toFixed=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?L(P):(m(N,0,t),_===void 0?_=B.rounding:m(_,0,8),j=M(new B(P),N+S(P)+1,_),z=L(j.abs(),!1,N+S(j)+1),P.isneg()&&!P.isZero()?"-"+z:z)},y.toInteger=y.toint=function(){var N=this,_=N.constructor;return M(new _(N),S(N)+1,_.rounding)},y.toNumber=function(){return+this},y.toPower=y.pow=function(N){var _,z,j,P,B,R,F=this,G=F.constructor,ee=12,fe=+(N=new G(N));if(!N.s)return new G(c);if(F=new G(F),!F.s){if(N.s<1)throw Error(a+"Infinity");return F}if(F.eq(c))return F;if(j=G.precision,N.eq(c))return M(F,j);if(_=N.e,z=N.d.length-1,R=_>=z,B=F.s,R){if((z=fe<0?-fe:fe)<=p){for(P=new G(c),_=Math.ceil(j/f+4),n=!1;z%2&&(P=P.times(F),H(P.d,_)),z=l(z/2),z!==0;)F=F.times(F),H(F.d,_);return n=!0,N.s<0?new G(c).div(P):M(P,j)}}else if(B<0)throw Error(a+"NaN");return B=B<0&&N.d[Math.max(_,z)]&1?-1:1,F.s=1,n=!1,P=N.times(k(F,j+ee)),n=!0,P=b(P),P.s=B,P},y.toPrecision=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?(z=S(P),j=L(P,z<=B.toExpNeg||z>=B.toExpPos)):(m(N,1,t),_===void 0?_=B.rounding:m(_,0,8),P=M(new B(P),N,_),z=S(P),j=L(P,N<=z||z<=B.toExpNeg,N)),j},y.toSignificantDigits=y.tosd=function(N,_){var z=this,j=z.constructor;return N===void 0?(N=j.precision,_=j.rounding):(m(N,1,t),_===void 0?_=j.rounding:m(_,0,8)),M(new j(z),N,_)},y.toString=y.valueOf=y.val=y.toJSON=function(){var N=this,_=S(N),z=N.constructor;return L(N,_<=z.toExpNeg||_>=z.toExpPos)};function h(N,_){var z,j,P,B,R,F,G,ee,fe=N.constructor,de=fe.precision;if(!N.s||!_.s)return _.s||(_=new fe(N)),n?M(_,de):_;if(G=N.d,ee=_.d,R=N.e,P=_.e,G=G.slice(),B=R-P,B){for(B<0?(j=G,B=-B,F=ee.length):(j=ee,P=R,F=G.length),R=Math.ceil(de/f),F=R>F?R+1:F+1,B>F&&(B=F,j.length=1),j.reverse();B--;)j.push(0);j.reverse()}for(F=G.length,B=ee.length,F-B<0&&(B=F,j=ee,ee=G,G=j),z=0;B;)z=(G[--B]=G[B]+ee[B]+z)/d|0,G[B]%=d;for(z&&(G.unshift(z),++P),F=G.length;G[--F]==0;)G.pop();return _.d=G,_.e=P,n?M(_,de):_}function m(N,_,z){if(N!==~~N||N<_||N>z)throw Error(o+N)}function g(N){var _,z,j,P=N.length-1,B="",R=N[0];if(P>0){for(B+=R,_=1;_R?1:-1;else for(F=G=0;FP[F]?1:-1;break}return G}function z(j,P,B){for(var R=0;B--;)j[B]-=R,R=j[B]1;)j.shift()}return function(j,P,B,R){var F,G,ee,fe,de,De,le,Te,K,I,C,T,X,$,Ne,E,Z,ge,Le=j.constructor,nt=j.s==P.s?1:-1,Bt=j.d,ft=P.d;if(!j.s)return new Le(j);if(!P.s)throw Error(a+"Division by zero");for(G=j.e-P.e,Z=ft.length,Ne=Bt.length,le=new Le(nt),Te=le.d=[],ee=0;ft[ee]==(Bt[ee]||0);)++ee;if(ft[ee]>(Bt[ee]||0)&&--G,B==null?T=B=Le.precision:R?T=B+(S(j)-S(P))+1:T=B,T<0)return new Le(0);if(T=T/f+2|0,ee=0,Z==1)for(fe=0,ft=ft[0],T++;(ee1&&(ft=N(ft,fe),Bt=N(Bt,fe),Z=ft.length,Ne=Bt.length),$=Z,K=Bt.slice(0,Z),I=K.length;I=d/2&&++E;do fe=0,F=_(ft,K,Z,I),F<0?(C=K[0],Z!=I&&(C=C*d+(K[1]||0)),fe=C/E|0,fe>1?(fe>=d&&(fe=d-1),de=N(ft,fe),De=de.length,I=K.length,F=_(de,K,De,I),F==1&&(fe--,z(de,Z16)throw Error(i+S(N));if(!N.s)return new fe(c);for(_==null?(n=!1,F=de):F=_,R=new fe(.03125);N.abs().gte(.1);)N=N.times(R),ee+=5;for(j=Math.log(s(2,ee))/Math.LN10*2+5|0,F+=j,z=P=B=new fe(c),fe.precision=F;;){if(P=M(P.times(N),F),z=z.times(++G),R=B.plus(x(P,z,F)),g(R.d).slice(0,F)===g(B.d).slice(0,F)){for(;ee--;)B=M(B.times(B),F);return fe.precision=de,_==null?(n=!0,M(B,de)):B}B=R}}function S(N){for(var _=N.e*f,z=N.d[0];z>=10;z/=10)_++;return _}function w(N,_,z){if(_>N.LN10.sd())throw n=!0,z&&(N.precision=z),Error(a+"LN10 precision limit exceeded");return M(new N(N.LN10),_)}function O(N){for(var _="";N--;)_+="0";return _}function k(N,_){var z,j,P,B,R,F,G,ee,fe,de=1,De=10,le=N,Te=le.d,K=le.constructor,I=K.precision;if(le.s<1)throw Error(a+(le.s?"NaN":"-Infinity"));if(le.eq(c))return new K(0);if(_==null?(n=!1,ee=I):ee=_,le.eq(10))return _==null&&(n=!0),w(K,ee);if(ee+=De,K.precision=ee,z=g(Te),j=z.charAt(0),B=S(le),Math.abs(B)<15e14){for(;j<7&&j!=1||j==1&&z.charAt(1)>3;)le=le.times(N),z=g(le.d),j=z.charAt(0),de++;B=S(le),j>1?(le=new K("0."+z),B++):le=new K(j+"."+z.slice(1))}else return G=w(K,ee+2,I).times(B+""),le=k(new K(j+"."+z.slice(1)),ee-De).plus(G),K.precision=I,_==null?(n=!0,M(le,I)):le;for(F=R=le=x(le.minus(c),le.plus(c),ee),fe=M(le.times(le),ee),P=3;;){if(R=M(R.times(fe),ee),G=F.plus(x(R,new K(P),ee)),g(G.d).slice(0,ee)===g(F.d).slice(0,ee))return F=F.times(2),B!==0&&(F=F.plus(w(K,ee+2,I).times(B+""))),F=x(F,new K(de),ee),K.precision=I,_==null?(n=!0,M(F,I)):F;F=G,P+=2}}function A(N,_){var z,j,P;for((z=_.indexOf("."))>-1&&(_=_.replace(".","")),(j=_.search(/e/i))>0?(z<0&&(z=j),z+=+_.slice(j+1),_=_.substring(0,j)):z<0&&(z=_.length),j=0;_.charCodeAt(j)===48;)++j;for(P=_.length;_.charCodeAt(P-1)===48;)--P;if(_=_.slice(j,P),_){if(P-=j,z=z-j-1,N.e=l(z/f),N.d=[],j=(z+1)%f,z<0&&(j+=f),jv||N.e<-v))throw Error(i+z)}else N.s=0,N.e=0,N.d=[0];return N}function M(N,_,z){var j,P,B,R,F,G,ee,fe,de=N.d;for(R=1,B=de[0];B>=10;B/=10)R++;if(j=_-R,j<0)j+=f,P=_,ee=de[fe=0];else{if(fe=Math.ceil((j+1)/f),B=de.length,fe>=B)return N;for(ee=B=de[fe],R=1;B>=10;B/=10)R++;j%=f,P=j-f+R}if(z!==void 0&&(B=s(10,R-P-1),F=ee/B%10|0,G=_<0||de[fe+1]!==void 0||ee%B,G=z<4?(F||G)&&(z==0||z==(N.s<0?3:2)):F>5||F==5&&(z==4||G||z==6&&(j>0?P>0?ee/s(10,R-P):0:de[fe-1])%10&1||z==(N.s<0?8:7))),_<1||!de[0])return G?(B=S(N),de.length=1,_=_-B-1,de[0]=s(10,(f-_%f)%f),N.e=l(-_/f)||0):(de.length=1,de[0]=N.e=N.s=0),N;if(j==0?(de.length=fe,B=1,fe--):(de.length=fe+1,B=s(10,f-j),de[fe]=P>0?(ee/s(10,R-P)%s(10,P)|0)*B:0),G)for(;;)if(fe==0){(de[0]+=B)==d&&(de[0]=1,++N.e);break}else{if(de[fe]+=B,de[fe]!=d)break;de[fe--]=0,B=1}for(j=de.length;de[--j]===0;)de.pop();if(n&&(N.e>v||N.e<-v))throw Error(i+S(N));return N}function W(N,_){var z,j,P,B,R,F,G,ee,fe,de,De=N.constructor,le=De.precision;if(!N.s||!_.s)return _.s?_.s=-_.s:_=new De(N),n?M(_,le):_;if(G=N.d,de=_.d,j=_.e,ee=N.e,G=G.slice(),R=ee-j,R){for(fe=R<0,fe?(z=G,R=-R,F=de.length):(z=de,j=ee,F=G.length),P=Math.max(Math.ceil(le/f),F)+2,R>P&&(R=P,z.length=1),z.reverse(),P=R;P--;)z.push(0);z.reverse()}else{for(P=G.length,F=de.length,fe=P0;--P)G[F++]=0;for(P=de.length;P>R;){if(G[--P]0?B=B.charAt(0)+"."+B.slice(1)+O(j):R>1&&(B=B.charAt(0)+"."+B.slice(1)),B=B+(P<0?"e":"e+")+P):P<0?(B="0."+O(-P-1)+B,z&&(j=z-R)>0&&(B+=O(j))):P>=R?(B+=O(P+1-R),z&&(j=z-P-1)>0&&(B=B+"."+O(j))):((j=P+1)0&&(P+1===R&&(B+="."),B+=O(j))),N.s<0?"-"+B:B}function H(N,_){if(N.length>_)return N.length=_,!0}function D(N){var _,z,j;function P(B){var R=this;if(!(R instanceof P))return new P(B);if(R.constructor=P,B instanceof P){R.s=B.s,R.e=B.e,R.d=(B=B.d)?B.slice():B;return}if(typeof B=="number"){if(B*0!==0)throw Error(o+B);if(B>0)R.s=1;else if(B<0)B=-B,R.s=-1;else{R.s=0,R.e=0,R.d=[0];return}if(B===~~B&&B<1e7){R.e=0,R.d=[B];return}return A(R,B.toString())}else if(typeof B!="string")throw Error(o+B);if(B.charCodeAt(0)===45?(B=B.slice(1),R.s=-1):R.s=1,u.test(B))A(R,B);else throw Error(o+B)}if(P.prototype=y,P.ROUND_UP=0,P.ROUND_DOWN=1,P.ROUND_CEIL=2,P.ROUND_FLOOR=3,P.ROUND_HALF_UP=4,P.ROUND_HALF_DOWN=5,P.ROUND_HALF_EVEN=6,P.ROUND_HALF_CEIL=7,P.ROUND_HALF_FLOOR=8,P.clone=D,P.config=P.set=Y,N===void 0&&(N={}),N)for(j=["precision","rounding","toExpNeg","toExpPos","LN10"],_=0;_=P[_+1]&&j<=P[_+2])this[z]=j;else throw Error(o+z+": "+j);if((j=N[z="LN10"])!==void 0)if(j==Math.LN10)this[z]=new this(j);else throw Error(o+z+": "+j);return this}r=D(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof H0<"u"&&H0.exports?H0.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(a6)});var Rj=Jr((Hke,SC)=>{"use strict";var $R=Object.prototype.hasOwnProperty,zn="~";function fv(){}Object.create&&(fv.prototype=Object.create(null),new fv().__proto__||(zn=!1));function UR(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Jj(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new UR(r,n||e,a),i=zn?zn+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],o]:e._events[i].push(o):(e._events[i]=o,e._eventsCount++),e}function pb(e,t){--e._eventsCount===0?e._events=new fv:delete e._events[t]}function Sn(){this._events=new fv,this._eventsCount=0}Sn.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)$R.call(r,n)&&t.push(zn?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Sn.prototype.listeners=function(t){var r=zn?zn+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,o=n.length,i=new Array(o);a{"use strict";var PC=Symbol.for("react.transitional.element"),DC=Symbol.for("react.portal"),Eb=Symbol.for("react.fragment"),_b=Symbol.for("react.strict_mode"),Ob=Symbol.for("react.profiler"),Tb=Symbol.for("react.consumer"),Mb=Symbol.for("react.context"),Pb=Symbol.for("react.forward_ref"),Db=Symbol.for("react.suspense"),Ib=Symbol.for("react.suspense_list"),jb=Symbol.for("react.memo"),zb=Symbol.for("react.lazy"),Nte=Symbol.for("react.view_transition"),Cte=Symbol.for("react.client.reference");function to(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case PC:switch(e=e.type,e){case Eb:case Ob:case _b:case Db:case Ib:case Nte:return e;default:switch(e=e&&e.$$typeof,e){case Mb:case Pb:case zb:case jb:return e;case Tb:return e;default:return t}}case DC:return t}}}Ht.ContextConsumer=Tb;Ht.ContextProvider=Mb;Ht.Element=PC;Ht.ForwardRef=Pb;Ht.Fragment=Eb;Ht.Lazy=zb;Ht.Memo=jb;Ht.Portal=DC;Ht.Profiler=Ob;Ht.StrictMode=_b;Ht.Suspense=Db;Ht.SuspenseList=Ib;Ht.isContextConsumer=function(e){return to(e)===Tb};Ht.isContextProvider=function(e){return to(e)===Mb};Ht.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===PC};Ht.isForwardRef=function(e){return to(e)===Pb};Ht.isFragment=function(e){return to(e)===Eb};Ht.isLazy=function(e){return to(e)===zb};Ht.isMemo=function(e){return to(e)===jb};Ht.isPortal=function(e){return to(e)===DC};Ht.isProfiler=function(e){return to(e)===Ob};Ht.isStrictMode=function(e){return to(e)===_b};Ht.isSuspense=function(e){return to(e)===Db};Ht.isSuspenseList=function(e){return to(e)===Ib};Ht.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Eb||e===Ob||e===_b||e===Db||e===Ib||typeof e=="object"&&e!==null&&(e.$$typeof===zb||e.$$typeof===jb||e.$$typeof===Mb||e.$$typeof===Tb||e.$$typeof===Pb||e.$$typeof===Cte||e.getModuleId!==void 0)};Ht.typeOf=to});var dL=Jr((KCe,cL)=>{"use strict";cL.exports=uL()});var nU=te(ne()),aU=te(j3());var Ze=te(ne());var Be=te(ne());var At=te(ne()),Ys={github:{emoji:"\u{1F419}",label:"GitHub"},ruby:{emoji:"\u{1F48E}",label:"Ruby"},rails:{emoji:"\u{1F6E4}\uFE0F",label:"Rails"},aws:{emoji:"\u2601\uFE0F",label:"AWS"},gcp:{emoji:"\u{1F310}",label:"GCP"},python:{emoji:"\u{1F40D}",label:"Python"},typescript:{emoji:"\u{1F4D8}",label:"TypeScript"},docker:{emoji:"\u{1F433}",label:"Docker"},kubernetes:{emoji:"\u2638\uFE0F",label:"Kubernetes"}},Gs={terminal:{emoji:"\u{1F4BB}",label:"Terminal"},playwright:{emoji:"\u{1F3AD}",label:"Playwright"},filesystem:{emoji:"\u{1F4C1}",label:"Filesystem"},code:{emoji:"\u{1F468}\u200D\u{1F4BB}",label:"Code"},database:{emoji:"\u{1F5C4}\uFE0F",label:"Database"},slack:{emoji:"\u{1F4AC}",label:"Slack"},fetch:{emoji:"\u{1F310}",label:"Fetch"},search:{emoji:"\u{1F50D}",label:"Search"},edit:{emoji:"\u270F\uFE0F",label:"Edit"},translate:{emoji:"\u{1F30D}",label:"Translate"},memory:{emoji:"\u{1F9E0}",label:"Memory"},ui:{emoji:"\u{1F9E9}",label:"Generative UI"}},nd={terminal:{instructions:["github"],tools:["terminal","code"]},webDeveloper:{instructions:["typescript"],tools:["playwright","fetch"]},documentAnalysis:{instructions:["python"],tools:["database","search","code"]},writing:{instructions:["ruby"],tools:["edit","memory"]},translation:{instructions:["ruby","python","typescript"],tools:["translate","code"]},playwright:{instructions:["typescript"],tools:["playwright","fetch"]},research:{instructions:["github"],tools:["fetch","search","memory"]},imageAnalysis:{instructions:["python"],tools:["filesystem","code"]},computerUse:{instructions:["github"],tools:["terminal","playwright"]},productDesign:{instructions:["typescript"],tools:["playwright","code"]}};var oH=({id:e="mascot"})=>At.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},At.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},At.default.createElement("g",{fillRule:"nonzero"},At.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"})),At.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"}),At.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"}),At.default.createElement("g",{transform:"translate(75.105, 196.182)"},At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},At.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"})),At.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"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.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"})),At.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},At.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"}),At.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 mr({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:a="",hat:o,hatAccessory:i,heldItem:l,theme:s,customColors:u}){return At.default.createElement("div",{className:`inline-flex flex-col items-center ${a}`},n&&t.length>0&&At.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=Ys[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),At.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"},At.default.createElement("title",null,"ActiveAgent"),At.default.createElement(oH,null)),n&&r.length>0&&At.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=Gs[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var Gn=te(ne());var go=te(ne()),z3=(0,go.createContext)();function L3({children:e}){let[t,r]=(0,go.useState)(()=>{let a=localStorage.getItem("dashboard-theme");return a?a==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,go.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,go.useEffect)(()=>{let a=window.matchMedia("(prefers-color-scheme: dark)"),o=i=>{localStorage.getItem("dashboard-theme")||r(i.matches)};return a.addEventListener("change",o),()=>a.removeEventListener("change",o)},[]);let n=()=>r(!t);return go.default.createElement(z3.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function kt(){let e=(0,go.useContext)(z3);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function ad({name:e,subtitle:t,badge:r,accentColor:n,stats:a=[],footer:o,onClick:i,actions:l}){let{darkMode:s}=kt(),[u,c]=Gn.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 Gn.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:p=>{i&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(p))},style:{background:d.cardBg,borderTop:`1px solid ${u?d.borderHover:d.border}`,borderRight:`1px solid ${u?d.borderHover:d.border}`,borderBottom:`1px solid ${u?d.borderHover:d.border}`,borderLeft:n?`4px solid ${n}`:`1px solid ${u?d.borderHover:d.border}`,borderRadius:"12px",padding:"16px",cursor:i?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&i?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},Gn.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},Gn.default.createElement("div",{style:{minWidth:0}},Gn.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&i?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&Gn.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&Gn.default.createElement("div",{style:{flexShrink:0}},r)),a.length>0&&Gn.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},a.map(p=>Gn.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},Gn.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),Gn.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),o&&Gn.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},o),l&&Gn.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function R2(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var iH=[{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 eA({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:a,onDuplicate:o,onDelete:i,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Be.useState)(""),[p,v]=(0,Be.useState)(""),[y,h]=(0,Be.useState)(""),m=e.filter(k=>{let A=!d||k.name.toLowerCase().includes(d.toLowerCase())||k.description?.toLowerCase().includes(d.toLowerCase()),M=!p||k.provider===p,W=!y||k.status===y;return A&&M&&W}),g=k=>{let A=new Date(k),W=new Date-A,L=Math.floor(W/(1e3*60*60*24));return L===0?"Today":L===1?"Yesterday":L<7?`${L} days ago`:A.toLocaleDateString()},x=k=>{switch(k){case"active":return"bg-green-100 text-green-700";case"draft":return"bg-yellow-100 text-yellow-700";case"archived":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},b=k=>k==null?"\u2014":k<1e3?`${Math.round(k)}ms`:`${(k/1e3).toFixed(1)}s`,S=k=>k==null?"\u2014":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:`${k}`,w=k=>k==null?"\u2014":k>0&&k<.01?"<$0.01":`$${k.toFixed(2)}`,O=k=>{if(!k)return"\u2014";let A=Math.floor((new Date-new Date(k))/(1e3*60*60*24));return A<=0?"Today":A<30?`${A}d ago`:new Date(k).toLocaleDateString()};return Be.default.createElement("div",{className:"space-y-6"},Be.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Be.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Be.default.createElement("div",{className:"relative flex-1 max-w-md"},Be.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:k=>f(k.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),Be.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"},Be.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"}))),Be.default.createElement("select",{value:p,onChange:k=>v(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Providers"),t.providers?.map(k=>Be.default.createElement("option",{key:k,value:k},k.charAt(0).toUpperCase()+k.slice(1)))),Be.default.createElement("select",{value:y,onChange:k=>h(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Status"),Be.default.createElement("option",{value:"active"},"Active"),Be.default.createElement("option",{value:"draft"},"Draft"),Be.default.createElement("option",{value:"archived"},"Archived")),Be.default.createElement("select",{value:s,onChange:k=>u?.(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500",title:"Rank agents by their scorecard"},iH.map(k=>Be.default.createElement("option",{key:k.value,value:k.value},k.label)))),Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.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"},Be.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"}))),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"})),Be.default.createElement("span",null,"Browse Templates")),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"New Agent")))),m.length>0?Be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},m.map(k=>{let A=k.stats||{},M=A.run_sources||[],W=M.length?`Counted from ${M.map(L=>L==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Be.default.createElement(ad,{key:k.id,name:k.name,subtitle:k.description||"No description",badge:Be.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${x(k.status)}`},k.status),onClick:()=>r(k),stats:[{label:`Runs ${A.window_days||30}d`,value:A.runs??0,title:W},{label:"Success",value:A.success_rate!=null?`${Math.round(A.success_rate)}%`:"\u2014",tone:R2(A.success_rate!=null?A.success_rate/100:null)},{label:"Avg time",value:b(A.avg_duration_ms)},{label:A.eval_samples_evaluated?`Eval ${A.eval_samples_passed}/${A.eval_samples_evaluated}`:"Eval",title:A.eval_samples_evaluated?`Latest evaluation: ${A.eval_samples_passed} of ${A.eval_samples_evaluated} samples passed`:void 0,value:A.eval_score!=null?`${Math.round(A.eval_score*100)}%`:"\u2014",tone:R2(A.eval_score)},{label:"Tokens",value:S(A.tokens)},{label:"Cost",value:w(A.cost),title:"Estimated from token counts at each model's published rates",tone:A.cost==null?"muted":void 0}],footer:Be.default.createElement(Be.default.Fragment,null,Be.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Be.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},k.provider),Be.default.createElement("span",{title:k.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},k.model)),Be.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${g(k.updatedAt||k.updated_at)}`},A.last_run_at?`Last run ${O(A.last_run_at)}`:`Updated ${g(k.updatedAt||k.updated_at)}`)),actions:Be.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),o(k.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),i(k.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Be.default.createElement("div",{className:"text-center py-16"},Be.default.createElement("div",{className:"inline-block mb-4"},Be.default.createElement(mr,{size:100})),Be.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Be.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&&Be.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"})),Be.default.createElement("span",null,"Browse Templates")),Be.default.createElement("span",{className:"text-gray-400"},"or"),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"Create From Scratch")))))}var ve=te(ne());var Ut={chevronRight:">",chevronDown:"v",chevronUp:"^",arrow:"->",arrowLeft:"<-",pipe:"|",corner:"+",branch:"|-",success:"[+]",error:"[!]",warning:"[?]",info:"[i]",pending:"[ ]",active:"[*]",add:"+",remove:"-",edit:"*",view:"@",run:">",stop:"x",refresh:"~",trace:"->",span:"|",metric:"#",log:">",agent:"@",action:"#",time:":",cost:"$",tokens:"T",memory:"M",nav:{agents:"@",newAgent:"+",demo:">",traces:"->",metrics:"#",evaluations:"=",interactions:"<>",benchmarks:"%%",replay:"[>]",tools:"[]",mcp:"{}",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Fe={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 od={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 Ky(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 od[e]||[]}var qy=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function tA({meta:e,onSave:t,onCancel:r,isLoading:n,initialDraft:a=null}){let[o,i]=(0,ve.useState)(0),[l,s]=(0,ve.useState)(od),[u,c]=(0,ve.useState)({name:"",description:"",provider:"openai",model:od.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7},...a?{name:a.name,description:a.description||"",instructions:a.instructions,provider:a.provider,model:a.model,tools:a.tools||[],instruction_sets:[],mcp_servers:[]}:{}});(0,ve.useEffect)(()=>{let h=!1;return Ky(u.provider).then(m=>{if(h||m.length===0)return;let g=a?.provider===u.provider&&a.model?[...new Set([a.model,...m])]:m;s(x=>({...x,[u.provider]:g})),c(x=>g.includes(x.model)?x:{...x,model:g[0]})}),()=>{h=!0}},[u.provider]);let d=(h,m)=>{c(g=>({...g,[h]:m}))},f=(h,m)=>{c(g=>{let x=g[h]||[],b=x.includes(m)?x.filter(S=>S!==m):[...x,m];return{...g,[h]:b}})},p=h=>{if(d("preset_type",h),nd[h]){let m=nd[h];d("instruction_sets",[...m.instructions]),d("tools",[...m.tools])}},v=()=>{switch(o){case 0:return u.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},y=()=>{t(u)};return ve.default.createElement("div",{className:"max-w-4xl mx-auto"},a&&ve.default.createElement("div",{className:"mb-4 p-4 rounded-lg border border-red-200 bg-red-50 text-sm text-gray-700"},"Prepared by your workspace assistant. Review the instructions, model, and tools before creating this agent."),ve.default.createElement("div",{className:"mb-8"},ve.default.createElement("div",{className:"flex items-center justify-between"},qy.map((h,m)=>ve.default.createElement("div",{key:h.id,className:"flex items-center"},ve.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${mi(o-1),className:"px-6 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},o===0?"Cancel":"Back"),ve.default.createElement("button",{onClick:o===qy.length-1?y:()=>i(o+1),disabled:!v()||n,className:`px-6 py-2 rounded-lg transition-colors ${v()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},o===qy.length-1?"Create Agent":"Continue")))}function lH({formData:e,updateField:t,providerModels:r}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),ve.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),ve.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"})),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),ve.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"})),ve.default.createElement("div",{className:"grid grid-cols-2 gap-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),ve.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=>ve.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),ve.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=>ve.default.createElement("option",{key:n,value:n},n))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),ve.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"}),ve.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},ve.default.createElement("span",null,"Precise"),ve.default.createElement("span",null,"Creative")))))}function sH({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:a}){let o=Object.keys(nd),i=Object.keys(Ys),l=Object.keys(Gs);return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),ve.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex flex-col items-center"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=Ys[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),ve.default.createElement(mr,{size:120}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=Gs[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map(s=>ve.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"}`},ve.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Instructions"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>{let u=Ys[s];return ve.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"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Tools"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=Gs[s];return ve.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"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),ve.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 uH({formData:e}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),ve.default.createElement("div",{className:"grid grid-cols-2 gap-8"},ve.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement(mr,{size:100}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=Gs[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),ve.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),ve.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),ve.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=Gs[t];return r?ve.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}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),ve.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 ie=te(ne());var Fa=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"}),vn="#ef4444";var U=te(ne());var Yy=te(ne()),W3=te(ne());function B3(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,o=e.viewBox,i=e.className,l=e.style,s=e.title,u=e.desc,c=mH(e,pH),d=o||{width:n,height:a,x:0,y:0},f=Ue("recharts-surface",i);return Yy.createElement("svg",aA({},rr(c),{className:f,width:n,height:a,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),Yy.createElement("title",null,s),Yy.createElement("desc",null,u),r)});var Gy=te(ne());var gH=["children","className"];function oA(){return oA=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=yH(e,gH),o=Ue("recharts-layer",n);return Gy.createElement("g",oA({className:o},rr(a),{ref:t}),r)});var Sa=te(ne()),w0=te(ne()),WD=te(rp());function Xy(e){return e==="__proto__"}var xH=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Zy(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:xH.test(e);default:return!1}}function id(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function iA(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(iA).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function ld(e){if(Array.isArray(e))return e.map(id);if(typeof e=="symbol")return[e];e=iA(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",o="",i=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:wH,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function qr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[i-1];return typeof l=="string"?a+l+o:l!==void 0?a+Wa(l)+o:a+o},"")}var Ft=e=>e===0?0:e>0?1:-1,nn=e=>typeof e=="number"&&e!=+e,ki=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,be=e=>(typeof e=="number"||e instanceof Number)&&!nn(e),Mn=e=>be(e)||typeof e=="string",SH=0,Ni=e=>{var t=++SH;return"".concat(e||"").concat(t)},vr=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(!be(t)&&typeof t!="string")return n;var o;if(ki(t)){if(r==null)return n;var i=t.indexOf("%");o=r*parseFloat(t.slice(0,i))/100}else o=+t;return nn(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},lA=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):rn(n,t))===r)}var ct=e=>e===null||typeof e>"u",Ci=e=>ct(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Yr(e){return e!=null}function Pn(){}function rm(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 H3(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 $o(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,o=e.parentViewBox,i=e.clamp,l=rm(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,v=s+(d-f)/2,y=(p+v)/2,h=(d+f)/2,m=p+d/2,g=c>=0?1:-1,x=g*a,b=g>0?"end":"start",S=g>0?"start":"end",w=d>=0?1:-1,O=w*a,k=w>0?"end":"start",A=w>0?"start":"end",M=o;if(r==="top"){var W={x:p+d/2,y:u-x,horizontalAnchor:"middle",verticalAnchor:b};return i&&M&&(W.height=Math.max(u-M.y,0),W.width=d),W}if(r==="bottom"){var L={x:v+f/2,y:u+c+x,horizontalAnchor:"middle",verticalAnchor:S};return i&&M&&(L.height=Math.max(M.y+M.height-(u+c),0),L.width=f),L}if(r==="left"){var H={x:y-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"};return i&&M&&(H.width=Math.max(H.x-M.x,0),H.height=c),H}if(r==="right"){var D={x:y+h+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"};return i&&M&&(D.width=Math.max(M.x+M.width-D.x,0),D.height=c),D}var Y=i&&M?{width:h,height:c}:{};return r==="insideLeft"?$o({x:y+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"},Y):r==="insideRight"?$o({x:y+h-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"},Y):r==="insideTop"?$o({x:p+d/2,y:u+x,horizontalAnchor:"middle",verticalAnchor:S},Y):r==="insideBottom"?$o({x:v+f/2,y:u+c-x,horizontalAnchor:"middle",verticalAnchor:b},Y):r==="insideTopLeft"?$o({x:p+O,y:u+x,horizontalAnchor:A,verticalAnchor:S},Y):r==="insideTopRight"?$o({x:p+d-O,y:u+x,horizontalAnchor:k,verticalAnchor:S},Y):r==="insideBottomLeft"?$o({x:v+O,y:u+c-x,horizontalAnchor:A,verticalAnchor:b},Y):r==="insideBottomRight"?$o({x:v+f-O,y:u+c-x,horizontalAnchor:k,verticalAnchor:b},Y):r&&typeof r=="object"&&(be(r.x)||ki(r.x))&&(be(r.y)||ki(r.y))?$o({x:s+vr(r.x,h),y:u+vr(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Y):$o({x:m,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Y)},CH=["top","left","right","bottom"];function nm(e){return e==null?!1:typeof e=="object"?!0:CH.includes(e)}var Ry=te(ne()),sA=(0,Ry.createContext)(null),V3=()=>(0,Ry.useContext)(sA);var Dn=te(ne());var uM=te(ne());function Mt(e){return function(){return e}}var uA=Math.cos;var am=Math.sin,an=Math.sqrt;var Xs=Math.PI,_de=Xs/2,sd=2*Xs;var cA=Math.PI,dA=2*cA,Zs=1e-6,EH=dA-Zs;function K3(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return K3;let r=10**t;return function(n){this._+=n[0];for(let a=1,o=n.length;aZs)if(!(Math.abs(d*s-u*c)>Zs)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-i,v=a-l,y=s*s+u*u,h=p*p+v*v,m=Math.sqrt(y),g=Math.sqrt(f),x=o*Math.tan((cA-Math.acos((y+f-h)/(2*m*g)))/2),b=x/g,S=x/m;Math.abs(b-1)>Zs&&this._append`L${t+b*c},${r+b*d}`,this._append`A${o},${o},0,0,${+(d*p>c*v)},${this._x1=t+S*s},${this._y1=r+S*u}`}}arc(t,r,n,a,o,i){if(t=+t,r=+r,n=+n,i=!!i,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^i,f=i?a-o:o-a;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Zs||Math.abs(this._y1-c)>Zs)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%dA+dA),f>EH?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>Zs&&this._append`A${n},${n},0,${+(f>=cA)},${d},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}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 q3(){return new Qs}q3.prototype=Qs.prototype;function ud(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 Qs(t)}var zde=Array.prototype.slice;function cd(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Y3(e){this._context=e}Y3.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 jl(e){return new Y3(e)}function eh(e){return e[0]}function th(e){return e[1]}function om(e,t){var r=Mt(!0),n=null,a=jl,o=null,i=ud(l);e=typeof e=="function"?e:e===void 0?eh:Mt(e),t=typeof t=="function"?t:t===void 0?th:Mt(t);function l(s){var u,c=(s=cd(s)).length,d,f=!1,p;for(n==null&&(o=a(p=i())),u=0;u<=c;++u)!(u=p;--v)l.point(x[v],b[v]);l.lineEnd(),l.areaEnd()}m&&(x[f]=+e(h,f,d),b[f]=+t(h,f,d),l.point(n?+n(h,f,d):x[f],r?+r(h,f,d):b[f]))}if(g)return l=null,g+""||null}function c(){return om().defined(a).curve(i).context(o)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Mt(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Mt(+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:Mt(!!d),u):a},u.curve=function(d){return arguments.length?(i=d,o!=null&&(l=i(o)),u):i},u.context=function(d){return arguments.length?(d==null?o=l=null:l=i(o=d),u):o},u}var rh=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 fA(e){return new rh(e,!0)}function pA(e){return new rh(e,!1)}var fd={draw(e,t){let r=an(t/Xs);e.moveTo(r,0),e.arc(0,0,r,0,sd)}};var mA={draw(e,t){let r=an(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var G3=an(1/3),OH=G3*2,vA={draw(e,t){let r=an(t/OH),n=r*G3;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var gA={draw(e,t){let r=an(t),n=-r/2;e.rect(n,n,r,r)}};var TH=.8908130915292852,X3=am(Xs/10)/am(7*Xs/10),MH=am(sd/10)*X3,PH=-uA(sd/10)*X3,yA={draw(e,t){let r=an(t*TH),n=MH*r,a=PH*r;e.moveTo(0,-r),e.lineTo(n,a);for(let o=1;o<5;++o){let i=sd*o/5,l=uA(i),s=am(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*a,s*n+l*a)}e.closePath()}};var hA=an(3),xA={draw(e,t){let r=-an(t/(hA*3));e.moveTo(0,r*2),e.lineTo(-hA*r,-r),e.lineTo(hA*r,-r),e.closePath()}};var Ha=-.5,Va=an(3)/2,bA=1/an(12),DH=(bA/2+1)*3,wA={draw(e,t){let r=an(t/DH),n=r/2,a=r*bA,o=n,i=r*bA+r,l=-o,s=i;e.moveTo(n,a),e.lineTo(o,i),e.lineTo(l,s),e.lineTo(Ha*n-Va*a,Va*n+Ha*a),e.lineTo(Ha*o-Va*i,Va*o+Ha*i),e.lineTo(Ha*l-Va*s,Va*l+Ha*s),e.lineTo(Ha*n+Va*a,Ha*a-Va*n),e.lineTo(Ha*o+Va*i,Ha*i-Va*o),e.lineTo(Ha*l+Va*s,Ha*s-Va*l),e.closePath()}};function nh(e,t){let r=null,n=ud(a);e=typeof e=="function"?e:Mt(e||fd),t=typeof t=="function"?t:Mt(t===void 0?64:+t);function a(){let o;if(r||(r=o=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),o)return r=null,o+""||null}return a.type=function(o){return arguments.length?(e=typeof o=="function"?o:Mt(o),a):e},a.size=function(o){return arguments.length?(t=typeof o=="function"?o:Mt(+o),a):t},a.context=function(o){return arguments.length?(r=o??null,a):r},a}function pd(){}function md(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 Z3(e){this._context=e}Z3.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:md(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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function SA(e){return new Z3(e)}function Q3(e){this._context=e}Q3.prototype={areaStart:pd,areaEnd:pd,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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function AA(e){return new Q3(e)}function J3(e){this._context=e}J3.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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function kA(e){return new J3(e)}function R3(e){this._context=e}R3.prototype={areaStart:pd,areaEnd:pd,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 NA(e){return new R3(e)}function eM(e){return e<0?-1:1}function tM(e,t,r){var n=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(n||a<0&&-0),i=(r-e._y1)/(a||n<0&&-0),l=(o*a+i*n)/(n+a);return(eM(o)+eM(i))*Math.min(Math.abs(o),Math.abs(i),.5*Math.abs(l))||0}function rM(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function CA(e,t,r){var n=e._x0,a=e._y0,o=e._x1,i=e._y1,l=(o-n)/3;e._context.bezierCurveTo(n+l,a+l*t,o-l,i-l*r,o,i)}function ah(e){this._context=e}ah.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:CA(this,this._t0,rM(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,CA(this,rM(this,r=tM(this,e,t)),r);break;default:CA(this,this._t0,r=tM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function nM(e){this._context=new aM(e)}(nM.prototype=Object.create(ah.prototype)).point=function(e,t){ah.prototype.point.call(this,t,e)};function aM(e){this._context=e}aM.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,o){this._context.bezierCurveTo(t,e,n,r,o,a)}};function EA(e){return new ah(e)}function _A(e){return new nM(e)}function iM(e){this._context=e}iM.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=oM(e),a=oM(t),o=0,i=1;i=0;--t)a[t]=(i[t]-a[t+1])/o[t];for(o[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 TA(e){return new oh(e,.5)}function MA(e){return new oh(e,0)}function PA(e){return new oh(e,1)}function ya(e,t){if((i=e.length)>1)for(var r=1,n,a,o=e[t[0]],i,l=o.length;r=0;)r[t]=t;return r}function IH(e,t){return e[t]}function jH(e){let t=[];return t.key=e,t}function DA(){var e=Mt([]),t=vd,r=ya,n=IH;function a(o){var i=Array.from(e.apply(this,arguments),jH),l,s=i.length,u=-1,c;for(let d of o)for(l=0,++u;l0){for(var r,n,a=0,o=e[0].length,i;a0){for(var r=0,n=e[t[0]],a,o=n.length;r0)||!((o=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,o,i;n{var t="symbol".concat(Ci(e));return cM[t]||fd},KH=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*HH;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},qH=(e,t)=>{cM["symbol".concat(Ci(e))]=t},BA=e=>{var t=e.type,r=t===void 0?"circle":t,n=e.size,a=n===void 0?64:n,o=e.sizeType,i=o===void 0?"area":o,l=FH(e,LH),s=sM(sM({},l),{},{type:r,size:a,sizeType:i}),u="circle";typeof r=="string"&&(u=r);var c=()=>{var y=VH(u),h=nh().type(y).size(KH(a,i,u)),m=h();if(m!==null)return m},d=s.className,f=s.cx,p=s.cy,v=rr(s);return be(f)&&be(p)&&be(a)?uM.createElement("path",LA({},v,{className:Ue("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:c()})):null};BA.registerSymbol=qH;var dM=te(ne());var ih=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,gd=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,dM.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{em(a)&&typeof r[a]=="function"&&(n[a]=t||(o=>r[a](r,o)))}),n},YH=(e,t,r)=>n=>(e(t,r,n),null),Ei=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var o=e[a];em(a)&&typeof o=="function"&&(n||(n={}),n[a]=YH(o,t,r))}),n};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 GH(e){for(var t=1;t(i[l]===void 0&&n[l]!==void 0&&(i[l]=n[l]),i),r);return o}function lh(){return lh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var p,m,y=d.formatter||a,h=Ue({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:d.inactive});if(d.type==="none")return null;var v=typeof l=="object"?mM({},l):{};v.color=d.inactive?o:v.color||d.color,(p=v.whiteSpace)!==null&&p!==void 0||(v.whiteSpace="normal"),(m=v.overflowWrap)!==null&&m!==void 0||(v.overflowWrap="break-word");var g=y?y(d.value,d,f):d.value;return Dn.createElement("li",lh({className:h,style:u,key:"legend-item-".concat(f)},_i(e,d,f)),Dn.createElement(tm,{width:r,height:r,viewBox:s,style:c,"aria-label":d.value==null?"legend icon":"".concat(d.value," legend icon")},Dn.createElement(nV,{data:d,iconType:i,inactiveColor:o})),Dn.createElement("span",{className:"recharts-legend-item-text",style:v},g))})}var vM=e=>{var t=lt(e,tV),r=t.payload,n=t.layout,a=t.align;if(!r||!r.length)return null;var o={padding:0,margin:0,textAlign:n==="horizontal"?a:"left"};return Dn.createElement("ul",{className:"recharts-default-legend",style:o},Dn.createElement(aV,lh({},t,{payload:r})))};function gM(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function Oi(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var uh="[object RegExp]",yd="[object String]",hd="[object Number]",xd="[object Boolean]",ch="[object Arguments]",dh="[object Symbol]",fh="[object Date]",ph="[object Map]",mh="[object Set]",vh="[object Array]",bM="[object Function]",gh="[object ArrayBuffer]",bd="[object Object]",wM="[object Error]",yh="[object DataView]",hh="[object Uint8Array]",xh="[object Uint8ClampedArray]",bh="[object Uint16Array]",wh="[object Uint32Array]",SM="[object BigUint64Array]",Sh="[object Int8Array]",Ah="[object Int16Array]",kh="[object Int32Array]",AM="[object BigInt64Array]",Nh="[object Float32Array]",Ch="[object Float64Array]";var BA=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function sm(e){return typeof BA.Buffer<"u"&&BA.Buffer.isBuffer(e)}function kM(e,t){return Ll(e,void 0,e,new Map,t)}function Ll(e,t,r,n=new Map,a=void 0){let o=a?.(e,t,r,n);if(o!==void 0)return o;if(im(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let i=new Array(e.length);n.set(e,i);for(let l=0;l{}):$A(e,t,function n(a,o,i,l,s,u){let c=r(a,o,i,l,s,u);return c!==void 0?!!c:$A(a,o,n,u,!1)},new Map,!0)}function $A(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return iV(e,t,r,n);case"function":return Object.keys(t).length>0?$A(e,{...t},r,n,a):Bl(e,t);default:return Eh(e)?a?typeof t=="string"?t==="":!0:Bl(e,t):Bl(e,t)}}function iV(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return CM(e,t,r,n);if(t instanceof Map)return lV(e,t,r,n);if(t instanceof Set)return sV(e,t,r,n);let a=Object.keys(t);if(e==null||im(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 o=0;o{})}function EM(e){return e=NM(e),t=>_h(t,e)}function _M(e,t){return kM(e,(r,n,a,o)=>{let i=t?.(r,n,a,o);if(i!==void 0)return i;if(typeof e=="object"){if(Oi(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return o.set(e,l),qa(l,e,a,o),l}switch(Object.prototype.toString.call(e)){case hd:case yd:case xd:{let l=new e.constructor(e?.valueOf());return qa(l,e),l}case ch:{let l={};return qa(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function OM(e){return _M(e)}var uV=/^(?:0|[1-9]\d*)$/;function Oh(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function Th(e){return e!=null&&typeof e!="function"&&IM(e.length)}function jM(e){return typeof e=="object"&&e!==null}function zM(e){return jM(e)&&Th(e)}function Mh(e,t=sh){return zM(e)?gM(Array.from(e),yM(DM(t),1)):[]}function Ph(e,t,r){return t===!0?Mh(e,r):typeof t=="function"?Mh(e,t):e}var qM=te(VM()),cm=te(ne());var KM=te(ne()),um=(0,KM.createContext)(null);var EV=e=>e,Ve=()=>{var e=(0,cm.useContext)(um);return e?e.store.dispatch:EV},Ih=()=>{},_V=()=>Ih,OV=(e,t)=>e===t;function we(e){var t=(0,cm.useContext)(um),r=(0,cm.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:Ih,[t,e]);return(0,qM.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:_V,t?t.store.getState:Ih,t?t.store.getState:Ih,r,OV)}function TV(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function MV(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 YM=e=>Array.isArray(e)?e:[e];function PV(e){let t=Array.isArray(e[0])?e[0]:e;return MV(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function DV(e,t){let r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?IV:WeakRef,XM=jV(),zV=0,GM=1;function jh(){return{s:zV,v:void 0,o:null,p:null}}function LV(e){return e instanceof XM?e.deref():e}function ZM(e,t={}){let r=jh(),{resultEqualityCheck:n}=t,a,o=0;function i(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=jh(),i.resetResultsCount()},i.resultsCount=()=>o,i.resetResultsCount=()=>{o=0},i}function BV(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let o=0,i=0,l,s={},u=a.pop();typeof u=="object"&&(s=u,u=a.pop()),TV(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=ZM,argsMemoizeOptions:m=[]}=c,y=YM(f),h=YM(m),v=PV(a),g=d(function(){return o++,u.apply(null,arguments)},...y),b=!0,x=p(function(){i++;let w=DV(v,arguments);return l=g.apply(null,w),l},...h);return Object.assign(x,{resultFunc:u,memoizedResultFunc:g,dependencies:v,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var J=BV(ZM);function QM(e,t=1){let r=[],n=Math.floor(t),a=(o,i)=>{for(let l=0;l{if(e!==t){let n=JM(e),a=JM(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function zh(e){return typeof e=="symbol"||e instanceof Symbol}var $V=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,UV=/^\w*$/;function eP(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||zh(e)?!0:typeof e=="string"&&(UV.test(e)||!$V.test(e))||t!=null&&Object.hasOwn(t,e)}function tP(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,i=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||eP(l)?l:{key:l,path:ld(l)}));return e.map(l=>({original:l,criteria:i.map(s=>o(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function Ti(e,...t){let r=t.length;return r>1&&dm(e,t[0],t[1])?t=[]:r>2&&dm(t[0],t[1],t[2])&&(t=[t[0]]),tP(e,QM(t),["asc"])}var WA=e=>e.legend.settings,rP=e=>e.legend.size,FV=e=>e.legend.payload,nP=J([FV,WA],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Ti(n,r):n});function aP(){return we(nP)}var Mi=te(ne());function WV(e,t){return qV(e)||KV(e,t)||VV(e,t)||HV()}function HV(){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 VV(e,t){if(e){if(typeof e=="string")return oP(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)?oP(e,t):void 0}}function oP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rLh||Math.abs(e.left-t.left)>Lh||Math.abs(e.top-t.top)>Lh||Math.abs(e.width-t.width)>Lh}function lP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Bh(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,Mi.useState)({height:0,left:0,top:0,width:0}),r=WV(t,2),n=r[0],a=r[1],o=(0,Mi.useRef)(null),i=(0,Mi.useRef)(n);i.current=n;var l=(0,Mi.useCallback)(s=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),s!=null){var u=lP(s);if(iP(u,i.current)&&a(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=lP(s);iP(d,i.current)&&a(d)});c.observe(s),o.current=c}}},[...e]);return(0,Mi.useEffect)(()=>()=>{var s;(s=o.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var AD=te(ne());function gn(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 YV=typeof Symbol=="function"&&Symbol.observable||"@@observable",sP=YV,HA=()=>Math.random().toString(36).substring(7).split("").join("."),GV={INIT:`@@redux/INIT${HA()}`,REPLACE:`@@redux/REPLACE${HA()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${HA()}`},$h=GV;function Uh(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 VA(e,t,r){if(typeof e!="function")throw new Error(gn(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(gn(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(gn(1));return r(VA)(e,t)}let n=e,a=t,o=new Map,i=o,l=0,s=!1;function u(){i===o&&(i=new Map,o.forEach((h,v)=>{i.set(v,h)}))}function c(){if(s)throw new Error(gn(3));return a}function d(h){if(typeof h!="function")throw new Error(gn(4));if(s)throw new Error(gn(5));let v=!0;u();let g=l++;return i.set(g,h),function(){if(v){if(s)throw new Error(gn(6));v=!1,u(),i.delete(g),o=null}}}function f(h){if(!Uh(h))throw new Error(gn(7));if(typeof h.type>"u")throw new Error(gn(8));if(typeof h.type!="string")throw new Error(gn(17));if(s)throw new Error(gn(9));try{s=!0,a=n(a,h)}finally{s=!1}return(o=i).forEach(g=>{g()}),h}function p(h){if(typeof h!="function")throw new Error(gn(10));n=h,f({type:$h.REPLACE})}function m(){let h=d;return{subscribe(v){if(typeof v!="object"||v===null)throw new Error(gn(11));function g(){let x=v;x.next&&x.next(c())}return g(),{unsubscribe:h(g)}},[sP](){return this}}}return f({type:$h.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[sP]:m}}function XV(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:$h.INIT})>"u")throw new Error(gn(12));if(typeof r(void 0,{type:$h.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(gn(13))})}function Fh(e){let t=Object.keys(e),r={};for(let i=0;i"u"){let h=s&&s.type;throw new Error(gn(14))}c[f]=y,u=u||y!==m}return u=u||n.length!==Object.keys(l).length,u?c:l}}function fm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function uP(...e){return t=>(r,n)=>{let a=t(r,n),o=()=>{throw new Error(gn(15))},i={getState:a.getState,dispatch:(s,...u)=>o(s,...u)},l=e.map(s=>s(i));return o=fm(...l)(a.dispatch),{...a,dispatch:o}}}function KA(e){return Uh(e)&&"type"in e&&typeof e.type=="string"}var hP=Symbol.for("immer-nothing"),cP=Symbol.for("immer-draftable"),bn=Symbol.for("immer-state");function yo(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ha=Object,Ad=ha.getPrototypeOf,Kh="constructor",Qh="prototype",XA="configurable",qh="enumerable",Hh="writable",pm="value",Uo=e=>!!e&&!!e[bn];function xa(e){return e?xP(e)||Rh(e)||!!e[cP]||!!e[Kh]?.[cP]||e0(e)||t0(e):!1}var ZV=ha[Qh][Kh].toString(),dP=new WeakMap;function xP(e){if(!e||!nk(e))return!1;let t=Ad(e);if(t===null||t===ha[Qh])return!0;let r=ha.hasOwnProperty.call(t,Kh)&&t[Kh];if(r===Object)return!0;if(!Sd(r))return!1;let n=dP.get(r);return n===void 0&&(n=Function.toString.call(r),dP.set(r,n)),n===ZV}function Jh(e,t,r=!0){gm(e)===0?(r?Reflect.ownKeys(e):ha.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function gm(e){let t=e[bn];return t?t.type_:Rh(e)?1:e0(e)?2:t0(e)?3:0}var qA=(e,t,r=gm(e))=>r===2?e.has(t):ha[Qh].hasOwnProperty.call(e,t),ZA=(e,t,r=gm(e))=>r===2?e.get(t):e[t],Yh=(e,t,r,n=gm(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function QV(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Rh=Array.isArray,e0=e=>e instanceof Map,t0=e=>e instanceof Set,nk=e=>typeof e=="object",Sd=e=>typeof e=="function",YA=e=>typeof e=="boolean";function JV(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Pi=e=>e.copy_||e.base_;var ak=e=>e.modified_?e.copy_:e.base_;function QA(e,t){if(e0(e))return new Map(e);if(t0(e))return new Set(e);if(Rh(e))return Array[Qh].slice.call(e);let r=xP(e);if(t===!0||t==="class_only"&&!r){let n=ha.getOwnPropertyDescriptors(e);delete n[bn];let a=Reflect.ownKeys(n);for(let o=0;o1&&ha.defineProperties(e,{set:Wh,add:Wh,clear:Wh,delete:Wh}),ha.freeze(e),t&&Jh(e,(r,n)=>{ok(n,!0)},!1)),e}function RV(){yo(2)}var Wh={[pm]:RV};function r0(e){return e===null||!nk(e)?!0:ha.isFrozen(e)}var Gh="MapSet",JA="Patches",fP="ArrayMethods",bP={};function Js(e){let t=bP[e];return t||yo(0,e),t}var pP=e=>!!bP[e];var mm,wP=()=>mm,eK=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:pP(Gh)?Js(Gh):void 0,arrayMethodsPlugin_:pP(fP)?Js(fP):void 0});function mP(e,t){t&&(e.patchPlugin_=Js(JA),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function RA(e){ek(e),e.drafts_.forEach(tK),e.drafts_=null}function ek(e){e===mm&&(mm=e.parent_)}var vP=e=>mm=eK(mm,e);function tK(e){let t=e[bn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function gP(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[bn].modified_&&(RA(t),yo(4)),xa(e)&&(e=yP(t,e));let{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[bn].base_,e,t)}else e=yP(t,r);return rK(t,e,!0),RA(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==hP?e:void 0}function yP(e,t){if(r0(t))return t;let r=t[bn];if(!r)return Xh(t,e.handledSet_,e);if(!n0(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);kP(r,e)}return r.copy_}function rK(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ok(t,r)}function SP(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var n0=(e,t)=>e.scope_===t,nK=[];function AP(e,t,r,n){let a=Pi(e),o=e.type_;if(n!==void 0&&ZA(a,n,o)===t){Yh(a,n,r,o);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;Jh(a,(s,u)=>{if(Uo(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let i=e.draftLocations_.get(t)??nK;for(let l of i)Yh(a,l,r,o)}function aK(e,t,r){e.callbacks_.push(function(a){let o=t;if(!o||!n0(o,a))return;a.mapSetPlugin_?.fixSetContents(o);let i=ak(o);AP(e,o.draft_??o,i,r),kP(o,a)})}function kP(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)}SP(e)}}function oK(e,t,r){let{scope_:n}=e;if(Uo(r)){let a=r[bn];n0(a,n)&&a.callbacks_.push(function(){Vh(e);let i=ak(a);AP(e,r,i,t)})}else xa(r)&&e.callbacks_.push(function(){let o=Pi(e);e.type_===3?o.has(r)&&Xh(r,n.handledSet_,n):ZA(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Xh(ZA(e.copy_,t,e.type_),n.handledSet_,n)})}function Xh(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Uo(e)||t.has(e)||!xa(e)||r0(e)||(t.add(e),Jh(e,(n,a)=>{if(Uo(a)){let o=a[bn];if(n0(o,r)){let i=ak(o);Yh(e,n,i,e.type_),SP(o)}}else xa(a)&&Xh(a,t,r)})),e}function iK(e,t){let r=Rh(e),n={type_:r?1:0,scope_:t?t.scope_:wP(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},a=n,o=Zh;r&&(a=[n],o=vm);let{revoke:i,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=i,[l,n]}var Zh={get(e,t){if(t===bn)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(!qA(a,t,e.type_))return sK(e,a,t);let o=a[t];if(e.finalized_||!xa(o)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&JV(t))return o;if(o===GA(e.base_,t)||lK(e,t,o)){Vh(e);let i=e.type_===1?+t:t,l=rk(e.scope_,o,e,i);return e.copy_[i]=l}return o},has(e,t){return t in Pi(e)},ownKeys(e){return Reflect.ownKeys(Pi(e))},set(e,t,r){let n=NP(Pi(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let a=GA(Pi(e),t),o=a?.[bn];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(QV(r,a)&&(r!==void 0||qA(e.base_,t,e.type_)))return!0;Vh(e),tk(e)}return e.copy_[t]===r&&(r!==void 0||qA(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),oK(e,t,r)),!0},deleteProperty(e,t){return Vh(e),GA(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),tk(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&&{[Hh]:!0,[XA]:e.type_!==1||t!=="length",[qh]:n[qh],[pm]:r[t]}},defineProperty(){yo(11)},getPrototypeOf(e){return Ad(e.base_)},setPrototypeOf(){yo(12)}},vm={};for(let e in Zh){let t=Zh[e];vm[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}vm.deleteProperty=function(e,t){return vm.set.call(this,e,t,void 0)};vm.set=function(e,t,r){return Zh.set.call(this,e[0],t,r,e[0])};function GA(e,t){let r=e[bn];return(r?Pi(r):e)[t]}function lK(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!xa(r)||r[bn]?!1:e.baseRefs_.has(r)}function sK(e,t,r){let n=NP(t,r);return n?pm in n?n[pm]:n.get?.call(e.draft_):void 0}function NP(e,t){if(!(t in e))return;let r=Ad(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ad(r)}}function tk(e){e.modified_||(e.modified_=!0,e.parent_&&tk(e.parent_))}function Vh(e){e.copy_||(e.assigned_=new Map,e.copy_=QA(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var uK=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(Sd(t)&&!Sd(r)){let o=r;r=t;let i=this;return function(s=o,...u){return i.produce(s,c=>r.call(this,c,...u))}}Sd(r)||yo(6),n!==void 0&&!Sd(n)&&yo(7);let a;if(xa(t)){let o=vP(this),i=rk(o,t,void 0),l=!0;try{a=r(i),l=!1}finally{l?RA(o):ek(o)}return mP(o,n),gP(a,o)}else if(!t||!nk(t)){if(a=r(t),a===void 0&&(a=t),a===hP&&(a=void 0),this.autoFreeze_&&ok(a,!0),n){let o=[],i=[];Js(JA).generateReplacementPatches_(t,a,{patches_:o,inversePatches_:i}),n(o,i)}return a}else yo(1,t)},this.produceWithPatches=(t,r)=>{if(Sd(t))return(i,...l)=>this.produceWithPatches(i,s=>t(s,...l));let n,a;return[this.produce(t,r,(i,l)=>{n=i,a=l}),n,a]},YA(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),YA(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),YA(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){xa(e)||yo(8),Uo(e)&&(e=yn(e));let t=vP(this),r=rk(t,e,void 0);return r[bn].isManual_=!0,ek(t),r}finishDraft(e,t){let r=e&&e[bn];(!r||!r.isManual_)&&yo(9);let{scope_:n}=r;return mP(n,t),gP(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=Js(JA).applyPatches_;return Uo(e)?n(e,t):this.produce(e,a=>n(a,t))}};function rk(e,t,r,n){let[a,o]=e0(t)?Js(Gh).proxyMap_(t,r):t0(t)?Js(Gh).proxySet_(t,r):iK(t,r);return(r?.scope_??wP()).drafts_.push(a),o.callbacks_=r?.callbacks_??[],o.key_=n,r&&n!==void 0?aK(r,o,n):o.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(o);let{patchPlugin_:u}=s;o.modified_&&u&&u.generatePatches_(o,[],s)}),a}function yn(e){return Uo(e)||yo(10,e),CP(e)}function CP(e){if(!xa(e)||r0(e))return e;let t=e[bn],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=QA(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=QA(e,!0);return Jh(r,(a,o)=>{Yh(r,a,CP(o))},n),t&&(t.finalized_=!1),r}var cK=new uK,ik=cK.produce;var tt=e=>e;function EP(e){return({dispatch:r,getState:n})=>a=>o=>typeof o=="function"?o(r,n,e):a(o)}var _P=EP(),OP=EP;var dK=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?fm:fm.apply(null,arguments)},Wve=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},fK=e=>e&&typeof e.match=="function";function Fr(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(ba(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=>KA(n)&&n.type===e,r}var LP=class ym extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,ym.prototype)}static get[Symbol.species](){return ym}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new ym(...t[0].concat(this)):new ym(...t.concat(this))}};function TP(e){return xa(e)?ik(e,()=>{}):e}function a0(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function pK(e){return typeof e=="boolean"}var mK=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:o=!0}=t??{},i=new LP;return r&&(pK(r)?i.push(_P):i.push(OP(r.extraArgument))),i},BP="RTK_autoBatch",Pt=()=>e=>({payload:e,meta:{[BP]:!0}}),MP=e=>t=>{setTimeout(t,e)},vK=(e,t)=>r=>{let n=!1,a=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(i),r())},o=e(a),i=setTimeout(a,t)},ck=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),a=!0,o=!1,i=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?vK(window.requestAnimationFrame,100):MP(10):e.type==="callback"?e.queueNotification:MP(e.timeout),u=()=>{i=!1,o&&(o=!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?.[BP],o=!a,o&&(i||(i=!0,s(u))),n.dispatch(c)}finally{a=!0}}})},gK=e=>function(r){let{autoBatch:n=!0}=r??{},a=new LP(e);return n&&a.push(ck(typeof n=="object"?n:void 0)),a};function $P(e){let t=mK(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:o=!0,preloadedState:i=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(Uh(r))s=Fh(r);else throw new Error(ba(1));let u;typeof n=="function"?u=n(t):u=t();let c=fm;a&&(c=dK({trace:!1,...typeof a=="object"&&a}));let d=uP(...u),f=gK(d),p=typeof l=="function"?l(f):f(),m=c(...p);return VA(s,i,m)}function UP(e){let t={},r=[],n,a={addCase(o,i){let l=typeof o=="string"?o:o.type;if(!l)throw new Error(ba(28));if(l in t)throw new Error(ba(29));return t[l]=i,a},addAsyncThunk(o,i){return i.pending&&(t[o.pending.type]=i.pending),i.rejected&&(t[o.rejected.type]=i.rejected),i.fulfilled&&(t[o.fulfilled.type]=i.fulfilled),i.settled&&r.push({matcher:o.settled,reducer:i.settled}),a},addMatcher(o,i){return r.push({matcher:o,reducer:i}),a},addDefaultCase(o){return n=o,a}};return e(a),[t,r,n]}function yK(e){return typeof e=="function"}function hK(e,t){let[r,n,a]=UP(t),o;if(yK(e))o=()=>TP(e());else{let l=TP(e);o=()=>l}function i(l=o(),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(Uo(c)){let p=d(c,s);return p===void 0?c:p}else{if(xa(c))return ik(c,f=>d(f,s));{let f=d(c,s);if(f===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return f}}return c},l)}return i.getInitialState=o,i}var xK=(e,t)=>fK(e)?e.match(t):e(t);function bK(...e){return t=>e.some(r=>xK(r,t))}var wK="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",FP=(e=21)=>{let t="",r=e;for(;r--;)t+=wK[Math.random()*64|0];return t},SK=["name","message","stack","code"],lk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},PP=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},AK=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of SK)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},DP="External signal was aborted",kK=(()=>{function e(t,r,n){let a=Fr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),o=Fr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),i=Fr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||AK)(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):FP(),m=new AbortController,y,h;function v(b){h=b,m.abort()}u&&(u.aborted?v(DP):u.addEventListener("abort",()=>v(DP),{once:!0}));let g=(async function(){let b;try{let S=n?.condition?.(s,{getState:d,extra:f});if(CK(S)&&(S=await S),S===!1||m.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let w=new Promise((O,k)=>{y=()=>{k({name:"AbortError",message:h||"Aborted"})},m.signal.addEventListener("abort",y,{once:!0})});c(o(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),b=await Promise.race([w,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:m.signal,abort:v,rejectWithValue:((O,k)=>new lk(O,k)),fulfillWithValue:((O,k)=>new PP(O,k))})).then(O=>{if(O instanceof lk)throw O;return O instanceof PP?a(O.payload,p,s,O.meta):a(O,p,s)})])}catch(S){b=S instanceof lk?i(null,p,s,S.payload,S.meta):i(S,p,s)}finally{y&&m.signal.removeEventListener("abort",y)}return n&&!n.dispatchConditionRejection&&i.match(b)&&b.meta.condition||c(b),b})();return Object.assign(g,{abort:v,requestId:p,arg:s,unwrap(){return g.then(NK)}})}}return Object.assign(l,{pending:o,rejected:i,fulfilled:a,settled:bK(i,a),typePrefix:t})}return e.withTypes=()=>e,e})();function NK(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function CK(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var WP=Symbol.for("rtk-slice-createasyncthunk"),Vve={[WP]:kK};function EK(e,t){return`${e}/${t}`}function _K({creators:e}={}){let t=e?.asyncThunk?.[WP];return function(n){let{name:a,reducerPath:o=a}=n;if(!a)throw new Error(ba(11));typeof process<"u";let i=(typeof n.reducers=="function"?n.reducers(TK()):n.reducers)||{},l=Object.keys(i),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(b,x){let S=typeof b=="string"?b:b.type;if(!S)throw new Error(ba(12));if(S in s.sliceCaseReducersByType)throw new Error(ba(13));return s.sliceCaseReducersByType[S]=x,u},addMatcher(b,x){return s.sliceMatchers.push({matcher:b,reducer:x}),u},exposeAction(b,x){return s.actionCreators[b]=x,u},exposeCaseReducer(b,x){return s.sliceCaseReducersByName[b]=x,u}};l.forEach(b=>{let x=i[b],S={reducerName:b,type:EK(a,b),createNotation:typeof n.reducers=="function"};PK(x)?IK(S,x,u,t):MK(S,x,u)});function c(){let[b={},x=[],S=void 0]=typeof n.extraReducers=="function"?UP(n.extraReducers):[n.extraReducers],w={...b,...s.sliceCaseReducersByType};return hK(n.initialState,O=>{for(let k in w)O.addCase(k,w[k]);for(let k of s.sliceMatchers)O.addMatcher(k.matcher,k.reducer);for(let k of x)O.addMatcher(k.matcher,k.reducer);S&&O.addDefaultCase(S)})}let d=b=>b,f=new Map,p=new WeakMap,m;function y(b,x){return m||(m=c()),m(b,x)}function h(){return m||(m=c()),m.getInitialState()}function v(b,x=!1){function S(O){let k=O[b];return typeof k>"u"&&x&&(k=a0(p,S,h)),k}function w(O=d){let k=a0(f,x,()=>new WeakMap);return a0(k,O,()=>{let A={};for(let[M,W]of Object.entries(n.selectors??{}))A[M]=OK(W,O,()=>a0(p,O,h),x);return A})}return{reducerPath:b,getSelectors:w,get selectors(){return w(S)},selectSlice:S}}let g={name:a,reducer:y,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...v(o),injectInto(b,{reducerPath:x,...S}={}){let w=x??o;return b.inject({reducerPath:w,reducer:y},S),{...g,...v(w,!0)}}};return g}}function OK(e,t,r,n){function a(o,...i){let l=t(o);return typeof l>"u"&&n&&(l=r()),e(l,...i)}return a.unwrapped=e,a}var Ct=_K();function TK(){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 MK({type:e,reducerName:t,createNotation:r},n,a){let o,i;if("reducer"in n){if(r&&!DK(n))throw new Error(ba(17));o=n.reducer,i=n.prepare}else o=n;a.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,i?Fr(e,i):Fr(e))}function PK(e){return e._reducerDefinitionType==="asyncThunk"}function DK(e){return e._reducerDefinitionType==="reducerWithPrepare"}function IK({type:e,reducerName:t},r,n,a){if(!a)throw new Error(ba(18));let{payloadCreator:o,fulfilled:i,pending:l,rejected:s,settled:u,options:c}=r,d=a(e,o,c);n.exposeAction(t,d),i&&n.addCase(d.fulfilled,i),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:i||o0,pending:l||o0,rejected:s||o0,settled:u||o0})}function o0(){}var jK="task",HP="listener",VP="completed",dk="cancelled",zK=`task-${dk}`,LK=`task-${VP}`,sk=`${HP}-${dk}`,BK=`${HP}-${VP}`,s0=class{constructor(e){this.code=e,this.message=`${jK} ${dk} (reason: ${e})`}code;name="TaskAbortError";message},fk=(e,t)=>{if(typeof e!="function")throw new TypeError(ba(32))},i0=()=>{},KP=(e,t=i0)=>(e.catch(t),e),qP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Rs=e=>{if(e.aborted)throw new s0(e.reason)};function YP(e,t){let r=i0;return new Promise((n,a)=>{let o=()=>a(new s0(e.reason));if(e.aborted){o();return}r=qP(e,o),t.finally(()=>r()).then(n,a)}).finally(()=>{r=i0})}var $K=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof s0?"cancelled":"rejected",error:r}}finally{t?.()}},l0=e=>t=>KP(YP(e,t).then(r=>(Rs(e),r))),GP=e=>{let t=l0(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:kd}=Object,IP={},u0="listenerMiddleware",UK=(e,t)=>{let r=n=>qP(e,()=>n.abort(e.reason));return(n,a)=>{fk(n,"taskExecutor");let o=new AbortController;r(o);let i=$K(async()=>{Rs(e),Rs(o.signal);let l=await n({pause:l0(o.signal),delay:GP(o.signal),signal:o.signal});return Rs(o.signal),l},()=>o.abort(LK));return a?.autoJoin&&t.push(i.catch(i0)),{result:l0(e)(i),cancel(){o.abort(zK)}}}},FK=(e,t)=>{let r=async(n,a)=>{Rs(t);let o=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});o=()=>{c(),u()}})];a!=null&&l.push(new Promise(s=>setTimeout(s,a,null)));try{let s=await YP(t,Promise.race(l));return Rs(t),s}finally{o()}};return((n,a)=>KP(r(n,a)))},XP=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:o}=e;if(t)a=Fr(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(ba(21));return fk(o,"options.listener"),{predicate:a,type:t,effect:o}},ZP=kd(e=>{let{type:t,predicate:r,effect:n}=XP(e);return{id:FP(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(ba(22))}}},{withTypes:()=>ZP}),jP=(e,t)=>{let{type:r,effect:n,predicate:a}=XP(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===a)&&o.effect===n)},uk=e=>{e.pending.forEach(t=>{t.abort(sk)})},WK=(e,t)=>()=>{for(let r of t.keys())uk(r);e.clear()},zP=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},QP=kd(Fr(`${u0}/add`),{withTypes:()=>QP}),HK=Fr(`${u0}/removeAll`),JP=kd(Fr(`${u0}/remove`),{withTypes:()=>JP}),VK=(...e)=>{console.error(`${u0}/error`,...e)},Di=(e={})=>{let t=new Map,r=new Map,n=p=>{let m=r.get(p)??0;r.set(p,m+1)},a=p=>{let m=r.get(p)??1;m===1?r.delete(p):r.set(p,m-1)},{extra:o,onError:i=VK}=e;fk(i,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),m=>{p.unsubscribe(),m?.cancelActive&&uk(p)}),s=(p=>{let m=jP(t,p)??ZP(p);return l(m)});kd(s,{withTypes:()=>s});let u=p=>{let m=jP(t,p);return m&&(m.unsubscribe(),p.cancelActive&&uk(m)),!!m};kd(u,{withTypes:()=>u});let c=async(p,m,y,h)=>{let v=new AbortController,g=FK(s,v.signal),b=[];try{p.pending.add(v),n(p),await Promise.resolve(p.effect(m,kd({},y,{getOriginalState:h,condition:(x,S)=>g(x,S).then(Boolean),take:g,delay:GP(v.signal),pause:l0(v.signal),extra:o,signal:v.signal,fork:UK(v.signal,b),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((x,S,w)=>{x!==v&&(x.abort(sk),w.delete(x))})},cancel:()=>{v.abort(sk),p.pending.delete(v)},throwIfCancelled:()=>{Rs(v.signal)}})))}catch(x){x instanceof s0||zP(i,x,{raisedBy:"effect"})}finally{await Promise.all(b),v.abort(BK),a(p),p.pending.delete(v)}},d=WK(t,r);return{middleware:p=>m=>y=>{if(!KA(y))return m(y);if(QP.match(y))return s(y.payload);if(HK.match(y)){d();return}if(JP.match(y))return u(y.payload);let h=p.getState(),v=()=>{if(h===IP)throw new Error(ba(23));return h},g;try{if(g=m(y),t.size>0){let b=p.getState(),x=Array.from(t.values());for(let S of x){let w=!1;try{w=S.predicate(y,b,h)}catch(O){w=!1,zP(i,O,{raisedBy:"predicate"})}w&&c(S,y,p,v)}}}finally{h=IP}return g},startListening:s,stopListening:u,clearListeners:d}};function ba(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 KK={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},RP=Ct({name:"chartLayout",initialState:KK,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,o;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=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),c0=RP.actions,pk=c0.setMargin,eD=c0.setLayout,tD=c0.setChartSize,rD=c0.setScale;var nD=RP.reducer;function d0(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function He(e){return Number.isFinite(e)}function Xn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}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 Zn(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,o=t.align,i=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(nm(s)){if(s==="top"&&be(e.top))return Zn(Zn({},e),{},{top:e.top+(a||0)+c});if(s==="bottom"&&be(e.bottom))return Zn(Zn({},e),{},{bottom:e.bottom+(a||0)+c});if(s==="left"&&be(e.left))return Zn(Zn({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&be(e.right))return Zn(Zn({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&i==="middle")&&o!=="center"&&be(e[o]))return Zn(Zn({},e),{},{[o]:e[o]+(n||0)});if((l==="horizontal"||l==="vertical"&&o==="center")&&i!=="middle"&&be(e[i]))return Zn(Zn({},e),{},{[i]:e[i]+(a||0)})}return e},wn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",mk=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,o,i=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(o=!0),l.coordinate));return a||i.push(t),o||i.push(r),i},vk=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,o=e.range,i=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!i)return null;var m=l==="scaleBand"&&i.bandwidth?i.bandwidth()/2:2,y=(t||r)&&a==="category"&&i.bandwidth?i.bandwidth()/m:0;if(y=p==="angleAxis"&&o&&o.length>=2?Ft(o[0]-o[1])*2*y:y,t&&(d||f)){var h=(d||f||[]).map((v,g)=>{var b=n?n.indexOf(v):v,x=i.map(b);return He(x)?{coordinate:x+y,value:v,offset:y,index:g}:null}).filter(Yr);return h}return s&&u?u.map((v,g)=>{var b=i.map(v);return He(b)?{coordinate:b+y,value:v,index:g,offset:y}:null}).filter(Yr):i.ticks&&!r&&c!=null?i.ticks(c).map((v,g)=>{var b=i.map(v);return He(b)?{coordinate:b+y,value:v,index:g,offset:y}:null}).filter(Yr):i.domain().map((v,g)=>{var b=i.map(v);return He(b)?{coordinate:b+y,value:n?n[v]:v,index:g,offset:y}:null}).filter(Yr)},iD=(e,t)=>{if(!t||t.length!==2||!be(t[0])||!be(t[1]))return e;var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),a=[e[0],e[1]];return(!be(e[0])||e[0]n)&&(a[1]=n),a[0]>n&&(a[0]=n),a[1]{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(u[0]=o,o+=f,u[1]=o):(u[0]=i,i+=f,u[1]=i)}}}},ZK=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]=o,o+=u,s[1]=o):(s[0]=0,s[1]=0)}}}},QK={sign:XK,expand:DA,none:ya,silhouette:IA,wiggle:jA,positive:ZK},lD=(e,t,r)=>{var n,a=(n=QK[r])!==null&&n!==void 0?n:ya,o=PA().keys(t).value((l,s)=>Number(Qe(l,s,0))).order(vd).offset(a),i=o(e);return i.forEach((l,s)=>{l.forEach((u,c)=>{var d=Qe(e[c],t[s],0);Array.isArray(d)&&d.length===2&&be(d[0])&&be(d[1])&&(u[0]=d[0],u[1]=d[1])})}),i};function f0(e){return e==null?void 0:String(e)}function Nd(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,o=e.index,i=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!ct(a[t.dataKey])){var l=Qy(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var s=Qe(a,ct(i)?t.dataKey:i),u=t.scale.map(s);return be(u)?u:null}var gk=e=>{var t=e.axis,r=e.ticks,n=e.offset,a=e.bandSize,o=e.entry,i=e.index;if(t.type==="category")return r[i]?r[i].coordinate+n:null;var l=Qe(o,t.dataKey,t.scale.domain()[i]);if(ct(l))return null;var s=t.scale.map(l);return be(s)?s-a/2+n:null},sD=e=>{var t=e.numericAxis,r=t.scale.domain();if(t.type==="number"){var n=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);return n<=0&&a>=0?0:a<0?a:n}return r[0]},JK=e=>{var t=e.flat(2).filter(be);return[Math.min(...t),Math.max(...t)]},RK=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],uD=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return RK(Object.keys(e).reduce((n,a)=>{var o=e[a];if(!o)return n;var i=o.stackedData,l=i.reduce((s,u)=>{var c=d0(u,t,r),d=JK(c);return!He(d[0])||!He(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]))},yk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,hk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ya=(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=Ti(t,y=>y.coordinate),o=[],i=0,l=1,s=a.length;lf&&(p=Math.min(m,p));return p===1/0?0:p}return r?void 0:0};function xk(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,a=e.value,o=e.name;return Zn(Zn({},t),{},{dataKey:r,payload:n,value:a,name:o})}function wa(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var cD=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},dD=(e,t)=>t==="centric"?e.angle:e.radius;var on=e=>e.layout.width,ln=e=>e.layout.height,fD=e=>e.layout.scale,Cd=e=>e.layout.margin;var Ed=J(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),_d=J(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var p0="data-recharts-item-index",m0="data-recharts-item-id",eu=60,hm=30;function pD(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 v0(e){for(var t=1;te.brush.height;function aq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function oq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function iq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}function lq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}var jt=J([on,ln,Cd,nq,aq,oq,iq,lq,WA,rP],(e,t,r,n,a,o,i,l,s,u)=>{var c={left:(r.left||0)+a,right:(r.right||0)+o},d={top:(r.top||0)+i,bottom:(r.bottom||0)+l},f=v0(v0({},d),c),p=f.bottom;f.bottom+=n,f=oD(f,s,u);var m=e-f.left-f.right,y=t-f.top-f.bottom;return v0(v0({brushBottom:p},f),{},{width:Math.max(m,0),height:Math.max(y,0)})}),g0=J(jt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Od=J(on,ln,(e,t)=>({x:0,y:0,width:e,height:t}));var sq=te(ne()),y0=te(ne()),uq=(0,y0.createContext)(null),Et=()=>(0,y0.useContext)(uq)!=null;var Td=e=>e.brush,tu=J([Td,jt,Cd],(e,t,r)=>({height:e.height,x:be(e.x)?e.x:t.left,y:be(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:be(e.width)?e.width:t.width}));var ru=te(ne()),Wr=te(ne());function mD(e,t,{signal:r,edges:n}={}){let a,o=null,i=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{o!==null&&(e.apply(a,o),a=void 0,o=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,o=null},m=()=>{s()},y=function(...h){if(r?.aborted)return;a=this,o=h;let v=c==null;d(),i&&v&&s()};return y.schedule=d,y.cancel=p,y.flush=m,r?.addEventListener("abort",p,{once:!0}),y}function vD(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:o}=r,i=Array(2);n&&(i[0]="leading"),a&&(i[1]="trailing");let l,s=null,u=mD(function(...f){l=e.apply(this,f),s=null},t,{edges:i}),c=function(...f){return o!=null&&(s===null&&(s=Date.now()),Date.now()-s>=o)?(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 bk(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return vD(e,t,{leading:n,maxWait:t,trailing:a})}var cq=!0,Md=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;oa[i++]))}};var ho={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},wk=(e,t,r)=>{var n=r.width,a=n===void 0?ho.width:n,o=r.height,i=o===void 0?ho.height:o,l=r.aspect,s=r.maxHeight,u=Ni(a)?e:Number(a),c=Ni(i)?t:Number(i);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},dq={width:0,height:0,overflow:"visible"},fq={width:0,overflowX:"visible"},pq={height:0,overflowY:"visible"},mq={},gD=e=>{var t=e.width,r=e.height,n=Ni(t),a=Ni(r);return n&&a?dq:n?fq:a?pq:mq};function yD(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=ho.width,o=ho.height):a===void 0?a=n&&n>0?void 0:ho.width:o===void 0&&(o=n&&n>0?void 0:ho.height),{width:a,height:o}}var vq=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function h0(){return h0=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 Cq(a)?ru.createElement(wD.Provider,{value:a},t):null}var xm=()=>(0,Wr.useContext)(wD),Eq=(0,Wr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?ho.initialDimension:n,o=e.width,i=e.height,l=e.minWidth,s=l===void 0?ho.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?ho.debounce:f,m=e.id,y=e.className,h=e.onResize,v=e.style,g=v===void 0?{}:v,b=kq(e,vq),x=(0,Wr.useRef)(null),S=(0,Wr.useRef)();S.current=h,(0,Wr.useImperativeHandle)(t,()=>x.current);var w=(0,Wr.useState)({containerWidth:a.width,containerHeight:a.height}),O=xq(w,2),k=O[0],A=O[1],M=(0,Wr.useCallback)((N,_)=>{A(z=>{var j=Math.round(N),P=Math.round(_);return z.containerWidth===j&&z.containerHeight===P?z:{containerWidth:j,containerHeight:P}})},[]);(0,Wr.useEffect)(()=>{if(x.current==null||typeof ResizeObserver>"u")return Pn;var N=B=>{var R,F=B[0];if(F!=null){var G=F.contentRect,ee=G.width,fe=G.height;M(ee,fe),(R=S.current)===null||R===void 0||R.call(S,ee,fe)}};p>0&&(N=bk(N,p,{trailing:!0,leading:!1}));var _=new ResizeObserver(N),z=x.current.getBoundingClientRect(),j=z.width,P=z.height;return M(j,P),_.observe(x.current),()=>{_.disconnect()}},[M,p]);var W=k.containerWidth,L=k.containerHeight;Md(!r||r>0,"The aspect(%s) must be greater than zero.",r);var H=wk(W,L,{width:o,height:i,aspect:r,maxHeight:c}),D=H.calculatedWidth,Y=H.calculatedHeight;return Md(W<0||L<0||D!=null&&D>0||Y!=null&&Y>0,`The width(%s) and height(%s) of chart should be greater than 0, + A`).concat(o,",").concat(o,",0,1,1,").concat(i,",").concat(a),className:"recharts-legend-icon"});if(s==="rect")return Dn.createElement("path",{stroke:"none",fill:l,d:"M0,".concat(Ka/8,"h").concat(Ka,"v").concat(Ka*3/4,"h").concat(-Ka,"z"),className:"recharts-legend-icon"});if(Dn.isValidElement(t.legendIcon)){var u=mM({},t);return delete u.legendIcon,Dn.cloneElement(t.legendIcon,u)}return Dn.createElement(BA,{fill:l,cx:a,cy:a,size:Ka,sizeType:"diameter",type:s})}function aV(e){var t=e.payload,r=e.iconSize,n=e.layout,a=e.formatter,o=e.inactiveColor,i=e.iconType,l=e.labelStyle,s={x:0,y:0,width:Ka,height:Ka},u={display:n==="horizontal"?"inline-block":"block",marginRight:10,whiteSpace:"nowrap"},c={display:"inline-block",verticalAlign:"middle",marginRight:4};return t.map((d,f)=>{var p,v,y=d.formatter||a,h=Ue({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:d.inactive});if(d.type==="none")return null;var m=typeof l=="object"?mM({},l):{};m.color=d.inactive?o:m.color||d.color,(p=m.whiteSpace)!==null&&p!==void 0||(m.whiteSpace="normal"),(v=m.overflowWrap)!==null&&v!==void 0||(m.overflowWrap="break-word");var g=y?y(d.value,d,f):d.value;return Dn.createElement("li",lh({className:h,style:u,key:"legend-item-".concat(f)},Ei(e,d,f)),Dn.createElement(tm,{width:r,height:r,viewBox:s,style:c,"aria-label":d.value==null?"legend icon":"".concat(d.value," legend icon")},Dn.createElement(nV,{data:d,iconType:i,inactiveColor:o})),Dn.createElement("span",{className:"recharts-legend-item-text",style:m},g))})}var vM=e=>{var t=lt(e,tV),r=t.payload,n=t.layout,a=t.align;if(!r||!r.length)return null;var o={padding:0,margin:0,textAlign:n==="horizontal"?a:"left"};return Dn.createElement("ul",{className:"recharts-default-legend",style:o},Dn.createElement(aV,lh({},t,{payload:r})))};function gM(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function _i(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var uh="[object RegExp]",yd="[object String]",hd="[object Number]",xd="[object Boolean]",ch="[object Arguments]",dh="[object Symbol]",fh="[object Date]",ph="[object Map]",mh="[object Set]",vh="[object Array]",bM="[object Function]",gh="[object ArrayBuffer]",bd="[object Object]",wM="[object Error]",yh="[object DataView]",hh="[object Uint8Array]",xh="[object Uint8ClampedArray]",bh="[object Uint16Array]",wh="[object Uint32Array]",SM="[object BigUint64Array]",Sh="[object Int8Array]",Ah="[object Int16Array]",kh="[object Int32Array]",AM="[object BigInt64Array]",Nh="[object Float32Array]",Ch="[object Float64Array]";var $A=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function sm(e){return typeof $A.Buffer<"u"&&$A.Buffer.isBuffer(e)}function kM(e,t){return zl(e,void 0,e,new Map,t)}function zl(e,t,r,n=new Map,a=void 0){let o=a?.(e,t,r,n);if(o!==void 0)return o;if(im(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let i=new Array(e.length);n.set(e,i);for(let l=0;l{}):UA(e,t,function n(a,o,i,l,s,u){let c=r(a,o,i,l,s,u);return c!==void 0?!!c:UA(a,o,n,u,!1)},new Map,!0)}function UA(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return iV(e,t,r,n);case"function":return Object.keys(t).length>0?UA(e,{...t},r,n,a):Ll(e,t);default:return Eh(e)?a?typeof t=="string"?t==="":!0:Ll(e,t):Ll(e,t)}}function iV(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return CM(e,t,r,n);if(t instanceof Map)return lV(e,t,r,n);if(t instanceof Set)return sV(e,t,r,n);let a=Object.keys(t);if(e==null||im(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 o=0;o{})}function EM(e){return e=NM(e),t=>_h(t,e)}function _M(e,t){return kM(e,(r,n,a,o)=>{let i=t?.(r,n,a,o);if(i!==void 0)return i;if(typeof e=="object"){if(_i(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return o.set(e,l),qa(l,e,a,o),l}switch(Object.prototype.toString.call(e)){case hd:case yd:case xd:{let l=new e.constructor(e?.valueOf());return qa(l,e),l}case ch:{let l={};return qa(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function OM(e){return _M(e)}var uV=/^(?:0|[1-9]\d*)$/;function Oh(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function Th(e){return e!=null&&typeof e!="function"&&IM(e.length)}function jM(e){return typeof e=="object"&&e!==null}function zM(e){return jM(e)&&Th(e)}function Mh(e,t=sh){return zM(e)?gM(Array.from(e),yM(DM(t),1)):[]}function Ph(e,t,r){return t===!0?Mh(e,r):typeof t=="function"?Mh(e,t):e}var qM=te(VM()),cm=te(ne());var KM=te(ne()),um=(0,KM.createContext)(null);var EV=e=>e,Ve=()=>{var e=(0,cm.useContext)(um);return e?e.store.dispatch:EV},Ih=()=>{},_V=()=>Ih,OV=(e,t)=>e===t;function we(e){var t=(0,cm.useContext)(um),r=(0,cm.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:Ih,[t,e]);return(0,qM.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:_V,t?t.store.getState:Ih,t?t.store.getState:Ih,r,OV)}function TV(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function MV(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 YM=e=>Array.isArray(e)?e:[e];function PV(e){let t=Array.isArray(e[0])?e[0]:e;return MV(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function DV(e,t){let r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?IV:WeakRef,XM=jV(),zV=0,GM=1;function jh(){return{s:zV,v:void 0,o:null,p:null}}function LV(e){return e instanceof XM?e.deref():e}function ZM(e,t={}){let r=jh(),{resultEqualityCheck:n}=t,a,o=0;function i(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=jh(),i.resetResultsCount()},i.resultsCount=()=>o,i.resetResultsCount=()=>{o=0},i}function BV(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let o=0,i=0,l,s={},u=a.pop();typeof u=="object"&&(s=u,u=a.pop()),TV(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=ZM,argsMemoizeOptions:v=[]}=c,y=YM(f),h=YM(v),m=PV(a),g=d(function(){return o++,u.apply(null,arguments)},...y),x=!0,b=p(function(){i++;let w=DV(m,arguments);return l=g.apply(null,w),l},...h);return Object.assign(b,{resultFunc:u,memoizedResultFunc:g,dependencies:m,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var J=BV(ZM);function QM(e,t=1){let r=[],n=Math.floor(t),a=(o,i)=>{for(let l=0;l{if(e!==t){let n=JM(e),a=JM(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function zh(e){return typeof e=="symbol"||e instanceof Symbol}var $V=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,UV=/^\w*$/;function eP(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||zh(e)?!0:typeof e=="string"&&(UV.test(e)||!$V.test(e))||t!=null&&Object.hasOwn(t,e)}function tP(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,i=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||eP(l)?l:{key:l,path:ld(l)}));return e.map(l=>({original:l,criteria:i.map(s=>o(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function Oi(e,...t){let r=t.length;return r>1&&dm(e,t[0],t[1])?t=[]:r>2&&dm(t[0],t[1],t[2])&&(t=[t[0]]),tP(e,QM(t),["asc"])}var HA=e=>e.legend.settings,rP=e=>e.legend.size,FV=e=>e.legend.payload,nP=J([FV,HA],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Oi(n,r):n});function aP(){return we(nP)}var Ti=te(ne());function WV(e,t){return qV(e)||KV(e,t)||VV(e,t)||HV()}function HV(){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 VV(e,t){if(e){if(typeof e=="string")return oP(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)?oP(e,t):void 0}}function oP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rLh||Math.abs(e.left-t.left)>Lh||Math.abs(e.top-t.top)>Lh||Math.abs(e.width-t.width)>Lh}function lP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Bh(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,Ti.useState)({height:0,left:0,top:0,width:0}),r=WV(t,2),n=r[0],a=r[1],o=(0,Ti.useRef)(null),i=(0,Ti.useRef)(n);i.current=n;var l=(0,Ti.useCallback)(s=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),s!=null){var u=lP(s);if(iP(u,i.current)&&a(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=lP(s);iP(d,i.current)&&a(d)});c.observe(s),o.current=c}}},[...e]);return(0,Ti.useEffect)(()=>()=>{var s;(s=o.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var AD=te(ne());function gn(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 YV=typeof Symbol=="function"&&Symbol.observable||"@@observable",sP=YV,VA=()=>Math.random().toString(36).substring(7).split("").join("."),GV={INIT:`@@redux/INIT${VA()}`,REPLACE:`@@redux/REPLACE${VA()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${VA()}`},$h=GV;function Uh(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 KA(e,t,r){if(typeof e!="function")throw new Error(gn(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(gn(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(gn(1));return r(KA)(e,t)}let n=e,a=t,o=new Map,i=o,l=0,s=!1;function u(){i===o&&(i=new Map,o.forEach((h,m)=>{i.set(m,h)}))}function c(){if(s)throw new Error(gn(3));return a}function d(h){if(typeof h!="function")throw new Error(gn(4));if(s)throw new Error(gn(5));let m=!0;u();let g=l++;return i.set(g,h),function(){if(m){if(s)throw new Error(gn(6));m=!1,u(),i.delete(g),o=null}}}function f(h){if(!Uh(h))throw new Error(gn(7));if(typeof h.type>"u")throw new Error(gn(8));if(typeof h.type!="string")throw new Error(gn(17));if(s)throw new Error(gn(9));try{s=!0,a=n(a,h)}finally{s=!1}return(o=i).forEach(g=>{g()}),h}function p(h){if(typeof h!="function")throw new Error(gn(10));n=h,f({type:$h.REPLACE})}function v(){let h=d;return{subscribe(m){if(typeof m!="object"||m===null)throw new Error(gn(11));function g(){let b=m;b.next&&b.next(c())}return g(),{unsubscribe:h(g)}},[sP](){return this}}}return f({type:$h.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[sP]:v}}function XV(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:$h.INIT})>"u")throw new Error(gn(12));if(typeof r(void 0,{type:$h.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(gn(13))})}function Fh(e){let t=Object.keys(e),r={};for(let i=0;i"u"){let h=s&&s.type;throw new Error(gn(14))}c[f]=y,u=u||y!==v}return u=u||n.length!==Object.keys(l).length,u?c:l}}function fm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function uP(...e){return t=>(r,n)=>{let a=t(r,n),o=()=>{throw new Error(gn(15))},i={getState:a.getState,dispatch:(s,...u)=>o(s,...u)},l=e.map(s=>s(i));return o=fm(...l)(a.dispatch),{...a,dispatch:o}}}function qA(e){return Uh(e)&&"type"in e&&typeof e.type=="string"}var hP=Symbol.for("immer-nothing"),cP=Symbol.for("immer-draftable"),bn=Symbol.for("immer-state");function yo(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ha=Object,Ad=ha.getPrototypeOf,Kh="constructor",Qh="prototype",ZA="configurable",qh="enumerable",Hh="writable",pm="value",Uo=e=>!!e&&!!e[bn];function xa(e){return e?xP(e)||Rh(e)||!!e[cP]||!!e[Kh]?.[cP]||e0(e)||t0(e):!1}var ZV=ha[Qh][Kh].toString(),dP=new WeakMap;function xP(e){if(!e||!ak(e))return!1;let t=Ad(e);if(t===null||t===ha[Qh])return!0;let r=ha.hasOwnProperty.call(t,Kh)&&t[Kh];if(r===Object)return!0;if(!Sd(r))return!1;let n=dP.get(r);return n===void 0&&(n=Function.toString.call(r),dP.set(r,n)),n===ZV}function Jh(e,t,r=!0){gm(e)===0?(r?Reflect.ownKeys(e):ha.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function gm(e){let t=e[bn];return t?t.type_:Rh(e)?1:e0(e)?2:t0(e)?3:0}var YA=(e,t,r=gm(e))=>r===2?e.has(t):ha[Qh].hasOwnProperty.call(e,t),QA=(e,t,r=gm(e))=>r===2?e.get(t):e[t],Yh=(e,t,r,n=gm(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function QV(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Rh=Array.isArray,e0=e=>e instanceof Map,t0=e=>e instanceof Set,ak=e=>typeof e=="object",Sd=e=>typeof e=="function",GA=e=>typeof e=="boolean";function JV(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Mi=e=>e.copy_||e.base_;var ok=e=>e.modified_?e.copy_:e.base_;function JA(e,t){if(e0(e))return new Map(e);if(t0(e))return new Set(e);if(Rh(e))return Array[Qh].slice.call(e);let r=xP(e);if(t===!0||t==="class_only"&&!r){let n=ha.getOwnPropertyDescriptors(e);delete n[bn];let a=Reflect.ownKeys(n);for(let o=0;o1&&ha.defineProperties(e,{set:Wh,add:Wh,clear:Wh,delete:Wh}),ha.freeze(e),t&&Jh(e,(r,n)=>{ik(n,!0)},!1)),e}function RV(){yo(2)}var Wh={[pm]:RV};function r0(e){return e===null||!ak(e)?!0:ha.isFrozen(e)}var Gh="MapSet",RA="Patches",fP="ArrayMethods",bP={};function Js(e){let t=bP[e];return t||yo(0,e),t}var pP=e=>!!bP[e];var mm,wP=()=>mm,eK=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:pP(Gh)?Js(Gh):void 0,arrayMethodsPlugin_:pP(fP)?Js(fP):void 0});function mP(e,t){t&&(e.patchPlugin_=Js(RA),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ek(e){tk(e),e.drafts_.forEach(tK),e.drafts_=null}function tk(e){e===mm&&(mm=e.parent_)}var vP=e=>mm=eK(mm,e);function tK(e){let t=e[bn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function gP(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[bn].modified_&&(ek(t),yo(4)),xa(e)&&(e=yP(t,e));let{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[bn].base_,e,t)}else e=yP(t,r);return rK(t,e,!0),ek(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==hP?e:void 0}function yP(e,t){if(r0(t))return t;let r=t[bn];if(!r)return Xh(t,e.handledSet_,e);if(!n0(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);kP(r,e)}return r.copy_}function rK(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ik(t,r)}function SP(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var n0=(e,t)=>e.scope_===t,nK=[];function AP(e,t,r,n){let a=Mi(e),o=e.type_;if(n!==void 0&&QA(a,n,o)===t){Yh(a,n,r,o);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;Jh(a,(s,u)=>{if(Uo(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let i=e.draftLocations_.get(t)??nK;for(let l of i)Yh(a,l,r,o)}function aK(e,t,r){e.callbacks_.push(function(a){let o=t;if(!o||!n0(o,a))return;a.mapSetPlugin_?.fixSetContents(o);let i=ok(o);AP(e,o.draft_??o,i,r),kP(o,a)})}function kP(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)}SP(e)}}function oK(e,t,r){let{scope_:n}=e;if(Uo(r)){let a=r[bn];n0(a,n)&&a.callbacks_.push(function(){Vh(e);let i=ok(a);AP(e,r,i,t)})}else xa(r)&&e.callbacks_.push(function(){let o=Mi(e);e.type_===3?o.has(r)&&Xh(r,n.handledSet_,n):QA(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Xh(QA(e.copy_,t,e.type_),n.handledSet_,n)})}function Xh(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Uo(e)||t.has(e)||!xa(e)||r0(e)||(t.add(e),Jh(e,(n,a)=>{if(Uo(a)){let o=a[bn];if(n0(o,r)){let i=ok(o);Yh(e,n,i,e.type_),SP(o)}}else xa(a)&&Xh(a,t,r)})),e}function iK(e,t){let r=Rh(e),n={type_:r?1:0,scope_:t?t.scope_:wP(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},a=n,o=Zh;r&&(a=[n],o=vm);let{revoke:i,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=i,[l,n]}var Zh={get(e,t){if(t===bn)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=Mi(e);if(!YA(a,t,e.type_))return sK(e,a,t);let o=a[t];if(e.finalized_||!xa(o)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&JV(t))return o;if(o===XA(e.base_,t)||lK(e,t,o)){Vh(e);let i=e.type_===1?+t:t,l=nk(e.scope_,o,e,i);return e.copy_[i]=l}return o},has(e,t){return t in Mi(e)},ownKeys(e){return Reflect.ownKeys(Mi(e))},set(e,t,r){let n=NP(Mi(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let a=XA(Mi(e),t),o=a?.[bn];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(QV(r,a)&&(r!==void 0||YA(e.base_,t,e.type_)))return!0;Vh(e),rk(e)}return e.copy_[t]===r&&(r!==void 0||YA(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),oK(e,t,r)),!0},deleteProperty(e,t){return Vh(e),XA(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),rk(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=Mi(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Hh]:!0,[ZA]:e.type_!==1||t!=="length",[qh]:n[qh],[pm]:r[t]}},defineProperty(){yo(11)},getPrototypeOf(e){return Ad(e.base_)},setPrototypeOf(){yo(12)}},vm={};for(let e in Zh){let t=Zh[e];vm[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}vm.deleteProperty=function(e,t){return vm.set.call(this,e,t,void 0)};vm.set=function(e,t,r){return Zh.set.call(this,e[0],t,r,e[0])};function XA(e,t){let r=e[bn];return(r?Mi(r):e)[t]}function lK(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!xa(r)||r[bn]?!1:e.baseRefs_.has(r)}function sK(e,t,r){let n=NP(t,r);return n?pm in n?n[pm]:n.get?.call(e.draft_):void 0}function NP(e,t){if(!(t in e))return;let r=Ad(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ad(r)}}function rk(e){e.modified_||(e.modified_=!0,e.parent_&&rk(e.parent_))}function Vh(e){e.copy_||(e.assigned_=new Map,e.copy_=JA(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var uK=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(Sd(t)&&!Sd(r)){let o=r;r=t;let i=this;return function(s=o,...u){return i.produce(s,c=>r.call(this,c,...u))}}Sd(r)||yo(6),n!==void 0&&!Sd(n)&&yo(7);let a;if(xa(t)){let o=vP(this),i=nk(o,t,void 0),l=!0;try{a=r(i),l=!1}finally{l?ek(o):tk(o)}return mP(o,n),gP(a,o)}else if(!t||!ak(t)){if(a=r(t),a===void 0&&(a=t),a===hP&&(a=void 0),this.autoFreeze_&&ik(a,!0),n){let o=[],i=[];Js(RA).generateReplacementPatches_(t,a,{patches_:o,inversePatches_:i}),n(o,i)}return a}else yo(1,t)},this.produceWithPatches=(t,r)=>{if(Sd(t))return(i,...l)=>this.produceWithPatches(i,s=>t(s,...l));let n,a;return[this.produce(t,r,(i,l)=>{n=i,a=l}),n,a]},GA(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),GA(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),GA(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){xa(e)||yo(8),Uo(e)&&(e=yn(e));let t=vP(this),r=nk(t,e,void 0);return r[bn].isManual_=!0,tk(t),r}finishDraft(e,t){let r=e&&e[bn];(!r||!r.isManual_)&&yo(9);let{scope_:n}=r;return mP(n,t),gP(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=Js(RA).applyPatches_;return Uo(e)?n(e,t):this.produce(e,a=>n(a,t))}};function nk(e,t,r,n){let[a,o]=e0(t)?Js(Gh).proxyMap_(t,r):t0(t)?Js(Gh).proxySet_(t,r):iK(t,r);return(r?.scope_??wP()).drafts_.push(a),o.callbacks_=r?.callbacks_??[],o.key_=n,r&&n!==void 0?aK(r,o,n):o.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(o);let{patchPlugin_:u}=s;o.modified_&&u&&u.generatePatches_(o,[],s)}),a}function yn(e){return Uo(e)||yo(10,e),CP(e)}function CP(e){if(!xa(e)||r0(e))return e;let t=e[bn],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=JA(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=JA(e,!0);return Jh(r,(a,o)=>{Yh(r,a,CP(o))},n),t&&(t.finalized_=!1),r}var cK=new uK,lk=cK.produce;var tt=e=>e;function EP(e){return({dispatch:r,getState:n})=>a=>o=>typeof o=="function"?o(r,n,e):a(o)}var _P=EP(),OP=EP;var dK=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?fm:fm.apply(null,arguments)},Wve=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},fK=e=>e&&typeof e.match=="function";function Fr(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(ba(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=>qA(n)&&n.type===e,r}var LP=class ym extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,ym.prototype)}static get[Symbol.species](){return ym}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new ym(...t[0].concat(this)):new ym(...t.concat(this))}};function TP(e){return xa(e)?lk(e,()=>{}):e}function a0(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function pK(e){return typeof e=="boolean"}var mK=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:o=!0}=t??{},i=new LP;return r&&(pK(r)?i.push(_P):i.push(OP(r.extraArgument))),i},BP="RTK_autoBatch",Pt=()=>e=>({payload:e,meta:{[BP]:!0}}),MP=e=>t=>{setTimeout(t,e)},vK=(e,t)=>r=>{let n=!1,a=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(i),r())},o=e(a),i=setTimeout(a,t)},dk=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),a=!0,o=!1,i=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?vK(window.requestAnimationFrame,100):MP(10):e.type==="callback"?e.queueNotification:MP(e.timeout),u=()=>{i=!1,o&&(o=!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?.[BP],o=!a,o&&(i||(i=!0,s(u))),n.dispatch(c)}finally{a=!0}}})},gK=e=>function(r){let{autoBatch:n=!0}=r??{},a=new LP(e);return n&&a.push(dk(typeof n=="object"?n:void 0)),a};function $P(e){let t=mK(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:o=!0,preloadedState:i=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(Uh(r))s=Fh(r);else throw new Error(ba(1));let u;typeof n=="function"?u=n(t):u=t();let c=fm;a&&(c=dK({trace:!1,...typeof a=="object"&&a}));let d=uP(...u),f=gK(d),p=typeof l=="function"?l(f):f(),v=c(...p);return KA(s,i,v)}function UP(e){let t={},r=[],n,a={addCase(o,i){let l=typeof o=="string"?o:o.type;if(!l)throw new Error(ba(28));if(l in t)throw new Error(ba(29));return t[l]=i,a},addAsyncThunk(o,i){return i.pending&&(t[o.pending.type]=i.pending),i.rejected&&(t[o.rejected.type]=i.rejected),i.fulfilled&&(t[o.fulfilled.type]=i.fulfilled),i.settled&&r.push({matcher:o.settled,reducer:i.settled}),a},addMatcher(o,i){return r.push({matcher:o,reducer:i}),a},addDefaultCase(o){return n=o,a}};return e(a),[t,r,n]}function yK(e){return typeof e=="function"}function hK(e,t){let[r,n,a]=UP(t),o;if(yK(e))o=()=>TP(e());else{let l=TP(e);o=()=>l}function i(l=o(),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(Uo(c)){let p=d(c,s);return p===void 0?c:p}else{if(xa(c))return lk(c,f=>d(f,s));{let f=d(c,s);if(f===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return f}}return c},l)}return i.getInitialState=o,i}var xK=(e,t)=>fK(e)?e.match(t):e(t);function bK(...e){return t=>e.some(r=>xK(r,t))}var wK="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",FP=(e=21)=>{let t="",r=e;for(;r--;)t+=wK[Math.random()*64|0];return t},SK=["name","message","stack","code"],sk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},PP=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},AK=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of SK)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},DP="External signal was aborted",kK=(()=>{function e(t,r,n){let a=Fr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),o=Fr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),i=Fr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||AK)(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):FP(),v=new AbortController,y,h;function m(x){h=x,v.abort()}u&&(u.aborted?m(DP):u.addEventListener("abort",()=>m(DP),{once:!0}));let g=(async function(){let x;try{let S=n?.condition?.(s,{getState:d,extra:f});if(CK(S)&&(S=await S),S===!1||v.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let w=new Promise((O,k)=>{y=()=>{k({name:"AbortError",message:h||"Aborted"})},v.signal.addEventListener("abort",y,{once:!0})});c(o(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),x=await Promise.race([w,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:v.signal,abort:m,rejectWithValue:((O,k)=>new sk(O,k)),fulfillWithValue:((O,k)=>new PP(O,k))})).then(O=>{if(O instanceof sk)throw O;return O instanceof PP?a(O.payload,p,s,O.meta):a(O,p,s)})])}catch(S){x=S instanceof sk?i(null,p,s,S.payload,S.meta):i(S,p,s)}finally{y&&v.signal.removeEventListener("abort",y)}return n&&!n.dispatchConditionRejection&&i.match(x)&&x.meta.condition||c(x),x})();return Object.assign(g,{abort:m,requestId:p,arg:s,unwrap(){return g.then(NK)}})}}return Object.assign(l,{pending:o,rejected:i,fulfilled:a,settled:bK(i,a),typePrefix:t})}return e.withTypes=()=>e,e})();function NK(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function CK(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var WP=Symbol.for("rtk-slice-createasyncthunk"),Vve={[WP]:kK};function EK(e,t){return`${e}/${t}`}function _K({creators:e}={}){let t=e?.asyncThunk?.[WP];return function(n){let{name:a,reducerPath:o=a}=n;if(!a)throw new Error(ba(11));typeof process<"u";let i=(typeof n.reducers=="function"?n.reducers(TK()):n.reducers)||{},l=Object.keys(i),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(x,b){let S=typeof x=="string"?x:x.type;if(!S)throw new Error(ba(12));if(S in s.sliceCaseReducersByType)throw new Error(ba(13));return s.sliceCaseReducersByType[S]=b,u},addMatcher(x,b){return s.sliceMatchers.push({matcher:x,reducer:b}),u},exposeAction(x,b){return s.actionCreators[x]=b,u},exposeCaseReducer(x,b){return s.sliceCaseReducersByName[x]=b,u}};l.forEach(x=>{let b=i[x],S={reducerName:x,type:EK(a,x),createNotation:typeof n.reducers=="function"};PK(b)?IK(S,b,u,t):MK(S,b,u)});function c(){let[x={},b=[],S=void 0]=typeof n.extraReducers=="function"?UP(n.extraReducers):[n.extraReducers],w={...x,...s.sliceCaseReducersByType};return hK(n.initialState,O=>{for(let k in w)O.addCase(k,w[k]);for(let k of s.sliceMatchers)O.addMatcher(k.matcher,k.reducer);for(let k of b)O.addMatcher(k.matcher,k.reducer);S&&O.addDefaultCase(S)})}let d=x=>x,f=new Map,p=new WeakMap,v;function y(x,b){return v||(v=c()),v(x,b)}function h(){return v||(v=c()),v.getInitialState()}function m(x,b=!1){function S(O){let k=O[x];return typeof k>"u"&&b&&(k=a0(p,S,h)),k}function w(O=d){let k=a0(f,b,()=>new WeakMap);return a0(k,O,()=>{let A={};for(let[M,W]of Object.entries(n.selectors??{}))A[M]=OK(W,O,()=>a0(p,O,h),b);return A})}return{reducerPath:x,getSelectors:w,get selectors(){return w(S)},selectSlice:S}}let g={name:a,reducer:y,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...m(o),injectInto(x,{reducerPath:b,...S}={}){let w=b??o;return x.inject({reducerPath:w,reducer:y},S),{...g,...m(w,!0)}}};return g}}function OK(e,t,r,n){function a(o,...i){let l=t(o);return typeof l>"u"&&n&&(l=r()),e(l,...i)}return a.unwrapped=e,a}var Ct=_K();function TK(){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 MK({type:e,reducerName:t,createNotation:r},n,a){let o,i;if("reducer"in n){if(r&&!DK(n))throw new Error(ba(17));o=n.reducer,i=n.prepare}else o=n;a.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,i?Fr(e,i):Fr(e))}function PK(e){return e._reducerDefinitionType==="asyncThunk"}function DK(e){return e._reducerDefinitionType==="reducerWithPrepare"}function IK({type:e,reducerName:t},r,n,a){if(!a)throw new Error(ba(18));let{payloadCreator:o,fulfilled:i,pending:l,rejected:s,settled:u,options:c}=r,d=a(e,o,c);n.exposeAction(t,d),i&&n.addCase(d.fulfilled,i),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:i||o0,pending:l||o0,rejected:s||o0,settled:u||o0})}function o0(){}var jK="task",HP="listener",VP="completed",fk="cancelled",zK=`task-${fk}`,LK=`task-${VP}`,uk=`${HP}-${fk}`,BK=`${HP}-${VP}`,s0=class{constructor(e){this.code=e,this.message=`${jK} ${fk} (reason: ${e})`}code;name="TaskAbortError";message},pk=(e,t)=>{if(typeof e!="function")throw new TypeError(ba(32))},i0=()=>{},KP=(e,t=i0)=>(e.catch(t),e),qP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Rs=e=>{if(e.aborted)throw new s0(e.reason)};function YP(e,t){let r=i0;return new Promise((n,a)=>{let o=()=>a(new s0(e.reason));if(e.aborted){o();return}r=qP(e,o),t.finally(()=>r()).then(n,a)}).finally(()=>{r=i0})}var $K=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof s0?"cancelled":"rejected",error:r}}finally{t?.()}},l0=e=>t=>KP(YP(e,t).then(r=>(Rs(e),r))),GP=e=>{let t=l0(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:kd}=Object,IP={},u0="listenerMiddleware",UK=(e,t)=>{let r=n=>qP(e,()=>n.abort(e.reason));return(n,a)=>{pk(n,"taskExecutor");let o=new AbortController;r(o);let i=$K(async()=>{Rs(e),Rs(o.signal);let l=await n({pause:l0(o.signal),delay:GP(o.signal),signal:o.signal});return Rs(o.signal),l},()=>o.abort(LK));return a?.autoJoin&&t.push(i.catch(i0)),{result:l0(e)(i),cancel(){o.abort(zK)}}}},FK=(e,t)=>{let r=async(n,a)=>{Rs(t);let o=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});o=()=>{c(),u()}})];a!=null&&l.push(new Promise(s=>setTimeout(s,a,null)));try{let s=await YP(t,Promise.race(l));return Rs(t),s}finally{o()}};return((n,a)=>KP(r(n,a)))},XP=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:o}=e;if(t)a=Fr(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(ba(21));return pk(o,"options.listener"),{predicate:a,type:t,effect:o}},ZP=kd(e=>{let{type:t,predicate:r,effect:n}=XP(e);return{id:FP(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(ba(22))}}},{withTypes:()=>ZP}),jP=(e,t)=>{let{type:r,effect:n,predicate:a}=XP(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===a)&&o.effect===n)},ck=e=>{e.pending.forEach(t=>{t.abort(uk)})},WK=(e,t)=>()=>{for(let r of t.keys())ck(r);e.clear()},zP=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},QP=kd(Fr(`${u0}/add`),{withTypes:()=>QP}),HK=Fr(`${u0}/removeAll`),JP=kd(Fr(`${u0}/remove`),{withTypes:()=>JP}),VK=(...e)=>{console.error(`${u0}/error`,...e)},Pi=(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:o,onError:i=VK}=e;pk(i,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),v=>{p.unsubscribe(),v?.cancelActive&&ck(p)}),s=(p=>{let v=jP(t,p)??ZP(p);return l(v)});kd(s,{withTypes:()=>s});let u=p=>{let v=jP(t,p);return v&&(v.unsubscribe(),p.cancelActive&&ck(v)),!!v};kd(u,{withTypes:()=>u});let c=async(p,v,y,h)=>{let m=new AbortController,g=FK(s,m.signal),x=[];try{p.pending.add(m),n(p),await Promise.resolve(p.effect(v,kd({},y,{getOriginalState:h,condition:(b,S)=>g(b,S).then(Boolean),take:g,delay:GP(m.signal),pause:l0(m.signal),extra:o,signal:m.signal,fork:UK(m.signal,x),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((b,S,w)=>{b!==m&&(b.abort(uk),w.delete(b))})},cancel:()=>{m.abort(uk),p.pending.delete(m)},throwIfCancelled:()=>{Rs(m.signal)}})))}catch(b){b instanceof s0||zP(i,b,{raisedBy:"effect"})}finally{await Promise.all(x),m.abort(BK),a(p),p.pending.delete(m)}},d=WK(t,r);return{middleware:p=>v=>y=>{if(!qA(y))return v(y);if(QP.match(y))return s(y.payload);if(HK.match(y)){d();return}if(JP.match(y))return u(y.payload);let h=p.getState(),m=()=>{if(h===IP)throw new Error(ba(23));return h},g;try{if(g=v(y),t.size>0){let x=p.getState(),b=Array.from(t.values());for(let S of b){let w=!1;try{w=S.predicate(y,x,h)}catch(O){w=!1,zP(i,O,{raisedBy:"predicate"})}w&&c(S,y,p,m)}}}finally{h=IP}return g},startListening:s,stopListening:u,clearListeners:d}};function ba(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 KK={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},RP=Ct({name:"chartLayout",initialState:KK,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,o;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=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),c0=RP.actions,mk=c0.setMargin,eD=c0.setLayout,tD=c0.setChartSize,rD=c0.setScale;var nD=RP.reducer;function d0(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function He(e){return Number.isFinite(e)}function Xn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}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 Zn(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,o=t.align,i=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(nm(s)){if(s==="top"&&be(e.top))return Zn(Zn({},e),{},{top:e.top+(a||0)+c});if(s==="bottom"&&be(e.bottom))return Zn(Zn({},e),{},{bottom:e.bottom+(a||0)+c});if(s==="left"&&be(e.left))return Zn(Zn({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&be(e.right))return Zn(Zn({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&i==="middle")&&o!=="center"&&be(e[o]))return Zn(Zn({},e),{},{[o]:e[o]+(n||0)});if((l==="horizontal"||l==="vertical"&&o==="center")&&i!=="middle"&&be(e[i]))return Zn(Zn({},e),{},{[i]:e[i]+(a||0)})}return e},wn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",vk=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,o,i=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(o=!0),l.coordinate));return a||i.push(t),o||i.push(r),i},gk=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,o=e.range,i=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!i)return null;var v=l==="scaleBand"&&i.bandwidth?i.bandwidth()/2:2,y=(t||r)&&a==="category"&&i.bandwidth?i.bandwidth()/v:0;if(y=p==="angleAxis"&&o&&o.length>=2?Ft(o[0]-o[1])*2*y:y,t&&(d||f)){var h=(d||f||[]).map((m,g)=>{var x=n?n.indexOf(m):m,b=i.map(x);return He(b)?{coordinate:b+y,value:m,offset:y,index:g}:null}).filter(Yr);return h}return s&&u?u.map((m,g)=>{var x=i.map(m);return He(x)?{coordinate:x+y,value:m,index:g,offset:y}:null}).filter(Yr):i.ticks&&!r&&c!=null?i.ticks(c).map((m,g)=>{var x=i.map(m);return He(x)?{coordinate:x+y,value:m,index:g,offset:y}:null}).filter(Yr):i.domain().map((m,g)=>{var x=i.map(m);return He(x)?{coordinate:x+y,value:n?n[m]:m,index:g,offset:y}:null}).filter(Yr)},iD=(e,t)=>{if(!t||t.length!==2||!be(t[0])||!be(t[1]))return e;var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),a=[e[0],e[1]];return(!be(e[0])||e[0]n)&&(a[1]=n),a[0]>n&&(a[0]=n),a[1]{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(u[0]=o,o+=f,u[1]=o):(u[0]=i,i+=f,u[1]=i)}}}},ZK=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]=o,o+=u,s[1]=o):(s[0]=0,s[1]=0)}}}},QK={sign:XK,expand:IA,none:ya,silhouette:jA,wiggle:zA,positive:ZK},lD=(e,t,r)=>{var n,a=(n=QK[r])!==null&&n!==void 0?n:ya,o=DA().keys(t).value((l,s)=>Number(Qe(l,s,0))).order(vd).offset(a),i=o(e);return i.forEach((l,s)=>{l.forEach((u,c)=>{var d=Qe(e[c],t[s],0);Array.isArray(d)&&d.length===2&&be(d[0])&&be(d[1])&&(u[0]=d[0],u[1]=d[1])})}),i};function f0(e){return e==null?void 0:String(e)}function Nd(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,o=e.index,i=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!ct(a[t.dataKey])){var l=Qy(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var s=Qe(a,ct(i)?t.dataKey:i),u=t.scale.map(s);return be(u)?u:null}var yk=e=>{var t=e.axis,r=e.ticks,n=e.offset,a=e.bandSize,o=e.entry,i=e.index;if(t.type==="category")return r[i]?r[i].coordinate+n:null;var l=Qe(o,t.dataKey,t.scale.domain()[i]);if(ct(l))return null;var s=t.scale.map(l);return be(s)?s-a/2+n:null},sD=e=>{var t=e.numericAxis,r=t.scale.domain();if(t.type==="number"){var n=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);return n<=0&&a>=0?0:a<0?a:n}return r[0]},JK=e=>{var t=e.flat(2).filter(be);return[Math.min(...t),Math.max(...t)]},RK=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],uD=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return RK(Object.keys(e).reduce((n,a)=>{var o=e[a];if(!o)return n;var i=o.stackedData,l=i.reduce((s,u)=>{var c=d0(u,t,r),d=JK(c);return!He(d[0])||!He(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]))},hk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,xk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ya=(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=Oi(t,y=>y.coordinate),o=[],i=0,l=1,s=a.length;lf&&(p=Math.min(v,p));return p===1/0?0:p}return r?void 0:0};function bk(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,a=e.value,o=e.name;return Zn(Zn({},t),{},{dataKey:r,payload:n,value:a,name:o})}function wa(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var cD=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},dD=(e,t)=>t==="centric"?e.angle:e.radius;var on=e=>e.layout.width,ln=e=>e.layout.height,fD=e=>e.layout.scale,Cd=e=>e.layout.margin;var Ed=J(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),_d=J(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var p0="data-recharts-item-index",m0="data-recharts-item-id",eu=60,hm=30;function pD(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 v0(e){for(var t=1;te.brush.height;function aq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function oq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function iq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}function lq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}var jt=J([on,ln,Cd,nq,aq,oq,iq,lq,HA,rP],(e,t,r,n,a,o,i,l,s,u)=>{var c={left:(r.left||0)+a,right:(r.right||0)+o},d={top:(r.top||0)+i,bottom:(r.bottom||0)+l},f=v0(v0({},d),c),p=f.bottom;f.bottom+=n,f=oD(f,s,u);var v=e-f.left-f.right,y=t-f.top-f.bottom;return v0(v0({brushBottom:p},f),{},{width:Math.max(v,0),height:Math.max(y,0)})}),g0=J(jt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Od=J(on,ln,(e,t)=>({x:0,y:0,width:e,height:t}));var sq=te(ne()),y0=te(ne()),uq=(0,y0.createContext)(null),Et=()=>(0,y0.useContext)(uq)!=null;var Td=e=>e.brush,tu=J([Td,jt,Cd],(e,t,r)=>({height:e.height,x:be(e.x)?e.x:t.left,y:be(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:be(e.width)?e.width:t.width}));var ru=te(ne()),Wr=te(ne());function mD(e,t,{signal:r,edges:n}={}){let a,o=null,i=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{o!==null&&(e.apply(a,o),a=void 0,o=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,o=null},v=()=>{s()},y=function(...h){if(r?.aborted)return;a=this,o=h;let m=c==null;d(),i&&m&&s()};return y.schedule=d,y.cancel=p,y.flush=v,r?.addEventListener("abort",p,{once:!0}),y}function vD(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:o}=r,i=Array(2);n&&(i[0]="leading"),a&&(i[1]="trailing");let l,s=null,u=mD(function(...f){l=e.apply(this,f),s=null},t,{edges:i}),c=function(...f){return o!=null&&(s===null&&(s=Date.now()),Date.now()-s>=o)?(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 wk(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return vD(e,t,{leading:n,maxWait:t,trailing:a})}var cq=!0,Md=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;oa[i++]))}};var ho={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},Sk=(e,t,r)=>{var n=r.width,a=n===void 0?ho.width:n,o=r.height,i=o===void 0?ho.height:o,l=r.aspect,s=r.maxHeight,u=ki(a)?e:Number(a),c=ki(i)?t:Number(i);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},dq={width:0,height:0,overflow:"visible"},fq={width:0,overflowX:"visible"},pq={height:0,overflowY:"visible"},mq={},gD=e=>{var t=e.width,r=e.height,n=ki(t),a=ki(r);return n&&a?dq:n?fq:a?pq:mq};function yD(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=ho.width,o=ho.height):a===void 0?a=n&&n>0?void 0:ho.width:o===void 0&&(o=n&&n>0?void 0:ho.height),{width:a,height:o}}var vq=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function h0(){return h0=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 Cq(a)?ru.createElement(wD.Provider,{value:a},t):null}var xm=()=>(0,Wr.useContext)(wD),Eq=(0,Wr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?ho.initialDimension:n,o=e.width,i=e.height,l=e.minWidth,s=l===void 0?ho.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?ho.debounce:f,v=e.id,y=e.className,h=e.onResize,m=e.style,g=m===void 0?{}:m,x=kq(e,vq),b=(0,Wr.useRef)(null),S=(0,Wr.useRef)();S.current=h,(0,Wr.useImperativeHandle)(t,()=>b.current);var w=(0,Wr.useState)({containerWidth:a.width,containerHeight:a.height}),O=xq(w,2),k=O[0],A=O[1],M=(0,Wr.useCallback)((N,_)=>{A(z=>{var j=Math.round(N),P=Math.round(_);return z.containerWidth===j&&z.containerHeight===P?z:{containerWidth:j,containerHeight:P}})},[]);(0,Wr.useEffect)(()=>{if(b.current==null||typeof ResizeObserver>"u")return Pn;var N=B=>{var R,F=B[0];if(F!=null){var G=F.contentRect,ee=G.width,fe=G.height;M(ee,fe),(R=S.current)===null||R===void 0||R.call(S,ee,fe)}};p>0&&(N=wk(N,p,{trailing:!0,leading:!1}));var _=new ResizeObserver(N),z=b.current.getBoundingClientRect(),j=z.width,P=z.height;return M(j,P),_.observe(b.current),()=>{_.disconnect()}},[M,p]);var W=k.containerWidth,L=k.containerHeight;Md(!r||r>0,"The aspect(%s) must be greater than zero.",r);var H=Sk(W,L,{width:o,height:i,aspect:r,maxHeight:c}),D=H.calculatedWidth,Y=H.calculatedHeight;return Md(W<0||L<0||D!=null&&D>0||Y!=null&&Y>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,D,Y,o,i,s,u,r),ru.createElement("div",h0({id:m?"".concat(m):void 0,className:Ue("recharts-responsive-container",y),style:xD(xD({},g),{},{width:o,height:i,minWidth:s,minHeight:u,maxHeight:c}),ref:x},b),ru.createElement("div",{style:gD({width:o,height:i})},ru.createElement(SD,{width:D,height:Y},d)))}),$l=(0,Wr.forwardRef)((e,t)=>{var r=xm();if(Xn(r.width)&&Xn(r.height))return e.children;var n=yD({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,o=n.height,i=wk(void 0,void 0,{width:a,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),l=i.calculatedWidth,s=i.calculatedHeight;return be(l)&&be(s)?ru.createElement(SD,{width:l,height:s},e.children):ru.createElement(Eq,h0({},e,{width:a,height:o,ref:t}))});var nu=()=>{var e,t=Et(),r=we(g0),n=we(tu),a=(e=we(Td))===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}},_q={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},x0=()=>{var e;return(e=we(jt))!==null&&e!==void 0?e:_q},Pd=()=>we(on),Dd=()=>we(ln),kD=()=>we(e=>e.layout.margin),qe=e=>e.layout.layoutType,Qn=()=>we(qe),Id=()=>{var e=Qn();if(e==="horizontal"||e==="vertical")return e},b0=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},ND=()=>we(b0),CD=()=>{var e=Qn();return e!==void 0},au=e=>{var t=Ve(),r=Et(),n=e.width,a=e.height,o=xm(),i=n,l=a;return o&&(i=o.width>0?o.width:n,l=o.height>0?o.height:a),(0,AD.useEffect)(()=>{!r&&Xn(i)&&Xn(l)&&t(tD({width:i,height:l}))},[t,r,i,l]),null};var Oq={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},ED=Ct({name:"legend",initialState:Oq,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(tt(t.payload))},prepare:Pt()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).payload.indexOf(tt(n));o>-1&&(e.payload[o]=tt(a))},prepare:Pt()},removeLegendPayload:{reducer(e,t){var r=yn(e).payload.indexOf(tt(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Pt()}}}),bm=ED.actions,Sk=bm.setLegendSize,_D=bm.setLegendSettings,Ak=bm.addLegendPayload,kk=bm.replaceLegendPayload,Nk=bm.removeLegendPayload;var OD=ED.reducer;var Sr=te(ne(),1),nY=te(DD(),1);var Lq=Symbol.for("react.forward_ref");var Bq=Symbol.for("react.memo");var $q=Lq,Uq=Bq;function Fq(e){e()}function Wq(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Fq(()=>{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 ID={notify(){},get:()=>[]};function Hq(e,t){let r,n=ID,a=0,o=!1;function i(y){c();let h=n.subscribe(y),v=!1;return()=>{v||(v=!0,h(),d())}}function l(){n.notify()}function s(){m.onStateChange&&m.onStateChange()}function u(){return o}function c(){a++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=Wq())}function d(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=ID)}function f(){o||(o=!0,c())}function p(){o&&(o=!1,d())}let m={addNestedSub:i,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return m}var Vq=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Kq=Vq(),qq=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Yq=qq(),Gq=()=>Kq||Yq?Sr.useLayoutEffect:Sr.useEffect,Xq=Gq();function jD(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function zD(e,t){if(jD(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=Hq(a);return{store:a,subscription:s,getServerState:n?()=>n:void 0}},[a,n]),i=Sr.useMemo(()=>a.getState(),[a]);return Xq(()=>{let{subscription:s}=o;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==a.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[o,i]),Sr.createElement((r||tY).Provider,{value:o},t)}var LD=rY;var aY=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function oY(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Jn(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(aY.has(n)){if(e[n]==null&&t[n]==null)continue;if(!zD(e[n],t[n]))return!1}else if(!oY(e[n],t[n]))return!1;return!0}var BD=J([on,ln,Cd],(e,t,r)=>({x:r.left||0,y:r.top||0,width:Math.max(e-(r.left||0)-(r.right||0),0),height:Math.max(t-(r.top||0)-(r.bottom||0),0)}));function $D(e,t){var r;if(e==="start"&&t==="start")return"";var n={start:"0",middle:"-50%",end:"-100%"},a={start:"0",middle:"-50%",end:"-100%"},o=e==="inherit"?"0":n[e],i=(r=a[t])!==null&&r!==void 0?r:"0";return"translate(".concat(o,", ").concat(i,")")}var iY=["contextPayload"];function Ck(){return Ck=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(_D({align:t,layout:r,verticalAlign:n,itemSorter:a,position:o,offset:i}))},[l,t,r,n,a,o,i]),null}function kY(e){var t=e.width,r=e.height,n=Ve();return(0,w0.useLayoutEffect)(()=>{n(Sk({width:t,height:r}))},[n,t,r]),(0,w0.useLayoutEffect)(()=>()=>{n(Sk({width:0,height:0}))},[n]),null}function NY(e,t,r,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||n}:null}var CY={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"auto",verticalAlign:"bottom",offset:0};function EY(e){var t,r,n,a,o,i,l,s,u=lt(e,CY),c=e.layout&&e.layout!=="auto"?e.layout:xY(u.position),d=aP(),f=V3(),p=kD(),m=we(P=>bY(P,u.position)),y=u.width,h=u.height,v=u.wrapperStyle,g=u.portal,b=g==null&&(u.position==null||nm(u.position)),x=Bh([d]),S=lY(x,2),w=S[0],O=S[1],k=Pd(),A=Dd();if(k==null||A==null||u.position!=null&&m==null)return null;var M=k-(p?.left||0)-(p?.right||0),W=NY(c,h,y,M),L=u.position==null?null:Jy({viewBox:m??{x:0,y:0,width:k,height:A},position:u.position,offset:(t=u.offset)!==null&&t!==void 0?t:0}),H=wY(u.position,(r=u.offset)!==null&&r!==void 0?r:0,w),D=c==="vertical"?((n=m?.width)!==null&&n!==void 0?n:0)/2:(a=m?.width)!==null&&a!==void 0?a:0,Y=c==="horizontal"?((o=m?.height)!==null&&o!==void 0?o:0)/2:(i=m?.height)!==null&&i!==void 0?i:0,N=L?{width:"max-content",height:"max-content",maxWidth:D,maxHeight:Y,overflowY:"auto",top:L.y+((l=H.top)!==null&&l!==void 0?l:0),left:L.x+((s=H.left)!==null&&s!==void 0?s:0),transform:$D(L.horizontalAnchor,L.verticalAnchor)}:SY(v,u,p,k,A,w),_=g?v:jd(jd({position:"absolute",width:W?.width||y||"auto",height:W?.height||h||"auto"},N),v),z=g??f;if(z==null||d==null)return null;var j=Sa.createElement("div",{className:"recharts-legend-wrapper",style:_,ref:O},Sa.createElement(AY,{layout:c,align:u.align,verticalAlign:u.verticalAlign,itemSorter:u.itemSorter,position:u.position,offset:u.offset}),b&&Sa.createElement(kY,w),Sa.createElement(hY,Ck({},u,{layout:c},W,{margin:p,chartWidth:k,chartHeight:A,contextPayload:d})));return(0,WD.createPortal)(j,z)}var S0=Sa.memo(EY,Jn);S0.displayName="Legend";var eo=te(ne()),gz=te(ne()),yz=te(rp());var xo=te(ne());function Ek(){return Ek=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?zd.separator:t,n=e.contentStyle,a=e.itemStyle,o=e.labelStyle,i=o===void 0?zd.labelStyle:o,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,m=e.accessibilityLayer,y=m===void 0?zd.accessibilityLayer:m,h=()=>{if(l&&l.length){var k={padding:0,margin:0},A=LY(l,u),M=A.map((W,L)=>{if(!W||W.type==="none")return null;var H=W.formatter||s||zY,D=W.value,Y=W.name,N=D,_=Y;if(H){var z=H(D,Y,W,L,l);if(Array.isArray(z)){var j=MY(z,2);N=j[0],_=j[1]}else if(z!=null)N=z;else return null}var P=Sm(Sm({},zd.itemStyle),{},{color:W.color||zd.itemStyle.color},a);return xo.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(L),style:P},Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-name"},_):null,Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,xo.createElement("span",{className:"recharts-tooltip-item-value"},N),xo.createElement("span",{className:"recharts-tooltip-item-unit"},W.unit||""))});return xo.createElement("ul",{className:"recharts-tooltip-item-list",style:k},M)}return null},v=Sm(Sm({},zd.contentStyle),n),g=Sm({margin:0},i),b=!ct(f),x=b?f:"",S=Ue("recharts-default-tooltip",c),w=Ue("recharts-tooltip-label",d);b&&p&&l!==void 0&&l!==null&&(x=p(f,l));var O=y?{role:"status","aria-live":"assertive"}:{};return xo.createElement("div",Ek({className:S,style:v},O),xo.createElement("p",{className:w,style:g},xo.isValidElement(x)?x:"".concat(x)),h())};var Ul=te(ne());var Am="recharts-tooltip-wrapper",BY={visibility:"hidden"};function $Y(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Ue(Am,{["".concat(Am,"-right")]:be(r)&&t&&be(t.x)&&r>=t.x,["".concat(Am,"-left")]:be(r)&&t&&be(t.x)&&r=t.y,["".concat(Am,"-top")]:be(n)&&t&&be(t.y)&&n0?a:0),d=r[n]+a;if(t[n])return i[n]?c:d;var f=s[n];if(f==null)return 0;if(i[n]){var p=c,m=f;return ph?Math.max(c,f):Math.max(d,f)}function UY(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 YD(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,o=e.position,i=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=qD({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:o,reverseDirection:i,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=qD({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:i,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=UY({translateX:d,translateY:f,useTranslate3d:s})):c=BY,{cssProperties:c,cssClasses:$Y({translateX:d,translateY:f,coordinate:r})}}var A0=te(ne());var FY=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Ga={devToolsEnabled:!0,isSsr:FY()};function WY(e,t){return qY(e)||KY(e,t)||VY(e,t)||HY()}function HY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. + height and width.`,D,Y,o,i,s,u,r),ru.createElement("div",h0({id:v?"".concat(v):void 0,className:Ue("recharts-responsive-container",y),style:xD(xD({},g),{},{width:o,height:i,minWidth:s,minHeight:u,maxHeight:c}),ref:b},x),ru.createElement("div",{style:gD({width:o,height:i})},ru.createElement(SD,{width:D,height:Y},d)))}),Bl=(0,Wr.forwardRef)((e,t)=>{var r=xm();if(Xn(r.width)&&Xn(r.height))return e.children;var n=yD({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,o=n.height,i=Sk(void 0,void 0,{width:a,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),l=i.calculatedWidth,s=i.calculatedHeight;return be(l)&&be(s)?ru.createElement(SD,{width:l,height:s},e.children):ru.createElement(Eq,h0({},e,{width:a,height:o,ref:t}))});var nu=()=>{var e,t=Et(),r=we(g0),n=we(tu),a=(e=we(Td))===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}},_q={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},x0=()=>{var e;return(e=we(jt))!==null&&e!==void 0?e:_q},Pd=()=>we(on),Dd=()=>we(ln),kD=()=>we(e=>e.layout.margin),qe=e=>e.layout.layoutType,Qn=()=>we(qe),Id=()=>{var e=Qn();if(e==="horizontal"||e==="vertical")return e},b0=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},ND=()=>we(b0),CD=()=>{var e=Qn();return e!==void 0},au=e=>{var t=Ve(),r=Et(),n=e.width,a=e.height,o=xm(),i=n,l=a;return o&&(i=o.width>0?o.width:n,l=o.height>0?o.height:a),(0,AD.useEffect)(()=>{!r&&Xn(i)&&Xn(l)&&t(tD({width:i,height:l}))},[t,r,i,l]),null};var Oq={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},ED=Ct({name:"legend",initialState:Oq,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(tt(t.payload))},prepare:Pt()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).payload.indexOf(tt(n));o>-1&&(e.payload[o]=tt(a))},prepare:Pt()},removeLegendPayload:{reducer(e,t){var r=yn(e).payload.indexOf(tt(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Pt()}}}),bm=ED.actions,Ak=bm.setLegendSize,_D=bm.setLegendSettings,kk=bm.addLegendPayload,Nk=bm.replaceLegendPayload,Ck=bm.removeLegendPayload;var OD=ED.reducer;var Sr=te(ne(),1),nY=te(DD(),1);var Lq=Symbol.for("react.forward_ref");var Bq=Symbol.for("react.memo");var $q=Lq,Uq=Bq;function Fq(e){e()}function Wq(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Fq(()=>{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 ID={notify(){},get:()=>[]};function Hq(e,t){let r,n=ID,a=0,o=!1;function i(y){c();let h=n.subscribe(y),m=!1;return()=>{m||(m=!0,h(),d())}}function l(){n.notify()}function s(){v.onStateChange&&v.onStateChange()}function u(){return o}function c(){a++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=Wq())}function d(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=ID)}function f(){o||(o=!0,c())}function p(){o&&(o=!1,d())}let v={addNestedSub:i,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return v}var Vq=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Kq=Vq(),qq=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Yq=qq(),Gq=()=>Kq||Yq?Sr.useLayoutEffect:Sr.useEffect,Xq=Gq();function jD(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function zD(e,t){if(jD(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=Hq(a);return{store:a,subscription:s,getServerState:n?()=>n:void 0}},[a,n]),i=Sr.useMemo(()=>a.getState(),[a]);return Xq(()=>{let{subscription:s}=o;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==a.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[o,i]),Sr.createElement((r||tY).Provider,{value:o},t)}var LD=rY;var aY=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function oY(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Jn(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(aY.has(n)){if(e[n]==null&&t[n]==null)continue;if(!zD(e[n],t[n]))return!1}else if(!oY(e[n],t[n]))return!1;return!0}var BD=J([on,ln,Cd],(e,t,r)=>({x:r.left||0,y:r.top||0,width:Math.max(e-(r.left||0)-(r.right||0),0),height:Math.max(t-(r.top||0)-(r.bottom||0),0)}));function $D(e,t){var r;if(e==="start"&&t==="start")return"";var n={start:"0",middle:"-50%",end:"-100%"},a={start:"0",middle:"-50%",end:"-100%"},o=e==="inherit"?"0":n[e],i=(r=a[t])!==null&&r!==void 0?r:"0";return"translate(".concat(o,", ").concat(i,")")}var iY=["contextPayload"];function Ek(){return Ek=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(_D({align:t,layout:r,verticalAlign:n,itemSorter:a,position:o,offset:i}))},[l,t,r,n,a,o,i]),null}function kY(e){var t=e.width,r=e.height,n=Ve();return(0,w0.useLayoutEffect)(()=>{n(Ak({width:t,height:r}))},[n,t,r]),(0,w0.useLayoutEffect)(()=>()=>{n(Ak({width:0,height:0}))},[n]),null}function NY(e,t,r,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||n}:null}var CY={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"auto",verticalAlign:"bottom",offset:0};function EY(e){var t,r,n,a,o,i,l,s,u=lt(e,CY),c=e.layout&&e.layout!=="auto"?e.layout:xY(u.position),d=aP(),f=V3(),p=kD(),v=we(P=>bY(P,u.position)),y=u.width,h=u.height,m=u.wrapperStyle,g=u.portal,x=g==null&&(u.position==null||nm(u.position)),b=Bh([d]),S=lY(b,2),w=S[0],O=S[1],k=Pd(),A=Dd();if(k==null||A==null||u.position!=null&&v==null)return null;var M=k-(p?.left||0)-(p?.right||0),W=NY(c,h,y,M),L=u.position==null?null:Jy({viewBox:v??{x:0,y:0,width:k,height:A},position:u.position,offset:(t=u.offset)!==null&&t!==void 0?t:0}),H=wY(u.position,(r=u.offset)!==null&&r!==void 0?r:0,w),D=c==="vertical"?((n=v?.width)!==null&&n!==void 0?n:0)/2:(a=v?.width)!==null&&a!==void 0?a:0,Y=c==="horizontal"?((o=v?.height)!==null&&o!==void 0?o:0)/2:(i=v?.height)!==null&&i!==void 0?i:0,N=L?{width:"max-content",height:"max-content",maxWidth:D,maxHeight:Y,overflowY:"auto",top:L.y+((l=H.top)!==null&&l!==void 0?l:0),left:L.x+((s=H.left)!==null&&s!==void 0?s:0),transform:$D(L.horizontalAnchor,L.verticalAnchor)}:SY(m,u,p,k,A,w),_=g?m:jd(jd({position:"absolute",width:W?.width||y||"auto",height:W?.height||h||"auto"},N),m),z=g??f;if(z==null||d==null)return null;var j=Sa.createElement("div",{className:"recharts-legend-wrapper",style:_,ref:O},Sa.createElement(AY,{layout:c,align:u.align,verticalAlign:u.verticalAlign,itemSorter:u.itemSorter,position:u.position,offset:u.offset}),x&&Sa.createElement(kY,w),Sa.createElement(hY,Ek({},u,{layout:c},W,{margin:p,chartWidth:k,chartHeight:A,contextPayload:d})));return(0,WD.createPortal)(j,z)}var S0=Sa.memo(EY,Jn);S0.displayName="Legend";var eo=te(ne()),gz=te(ne()),yz=te(rp());var xo=te(ne());function _k(){return _k=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?zd.separator:t,n=e.contentStyle,a=e.itemStyle,o=e.labelStyle,i=o===void 0?zd.labelStyle:o,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,v=e.accessibilityLayer,y=v===void 0?zd.accessibilityLayer:v,h=()=>{if(l&&l.length){var k={padding:0,margin:0},A=LY(l,u),M=A.map((W,L)=>{if(!W||W.type==="none")return null;var H=W.formatter||s||zY,D=W.value,Y=W.name,N=D,_=Y;if(H){var z=H(D,Y,W,L,l);if(Array.isArray(z)){var j=MY(z,2);N=j[0],_=j[1]}else if(z!=null)N=z;else return null}var P=Sm(Sm({},zd.itemStyle),{},{color:W.color||zd.itemStyle.color},a);return xo.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(L),style:P},Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-name"},_):null,Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,xo.createElement("span",{className:"recharts-tooltip-item-value"},N),xo.createElement("span",{className:"recharts-tooltip-item-unit"},W.unit||""))});return xo.createElement("ul",{className:"recharts-tooltip-item-list",style:k},M)}return null},m=Sm(Sm({},zd.contentStyle),n),g=Sm({margin:0},i),x=!ct(f),b=x?f:"",S=Ue("recharts-default-tooltip",c),w=Ue("recharts-tooltip-label",d);x&&p&&l!==void 0&&l!==null&&(b=p(f,l));var O=y?{role:"status","aria-live":"assertive"}:{};return xo.createElement("div",_k({className:S,style:m},O),xo.createElement("p",{className:w,style:g},xo.isValidElement(b)?b:"".concat(b)),h())};var $l=te(ne());var Am="recharts-tooltip-wrapper",BY={visibility:"hidden"};function $Y(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Ue(Am,{["".concat(Am,"-right")]:be(r)&&t&&be(t.x)&&r>=t.x,["".concat(Am,"-left")]:be(r)&&t&&be(t.x)&&r=t.y,["".concat(Am,"-top")]:be(n)&&t&&be(t.y)&&n0?a:0),d=r[n]+a;if(t[n])return i[n]?c:d;var f=s[n];if(f==null)return 0;if(i[n]){var p=c,v=f;return ph?Math.max(c,f):Math.max(d,f)}function UY(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 YD(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,o=e.position,i=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=qD({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:o,reverseDirection:i,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=qD({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:i,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=UY({translateX:d,translateY:f,useTranslate3d:s})):c=BY,{cssProperties:c,cssClasses:$Y({translateX:d,translateY:f,coordinate:r})}}var A0=te(ne());var FY=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Ga={devToolsEnabled:!0,isSsr:FY()};function WY(e,t){return qY(e)||KY(e,t)||VY(e,t)||HY()}function HY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VY(e,t){if(e){if(typeof e=="string")return GD(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)?GD(e,t):void 0}}function GD(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rGa.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=WY(e,2),r=t[0],n=t[1];return(0,A0.useEffect)(()=>{if(window.matchMedia){var a=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(a.matches)};return a.addEventListener("change",o),()=>{a.removeEventListener("change",o)}}},[]),r}function XD(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 Ld(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),u=ZY(s,2),c=u[0],d=u[1];Ul.useEffect(()=>{var v=g=>{if(g.key==="Escape"){var b,x,S,w;d({dismissed:!0,dismissedAtCoordinate:{x:(b=(x=e.coordinate)===null||x===void 0?void 0:x.x)!==null&&b!==void 0?b:0,y:(S=(w=e.coordinate)===null||w===void 0?void 0:w.y)!==null&&S!==void 0?S:0}})}};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),c.dismissed&&(((n=(a=e.coordinate)===null||a===void 0?void 0:a.x)!==null&&n!==void 0?n:0)!==c.dismissedAtCoordinate.x||((o=(i=e.coordinate)===null||i===void 0?void 0:i.y)!==null&&o!==void 0?o:0)!==c.dismissedAtCoordinate.y)&&d(Ld(Ld({},c),{},{dismissed:!1}));var f=YD({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),p=f.cssClasses,m=f.cssProperties,y=e.hasPortalFromProps?{}:Ld(Ld({transition:tG({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},m),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),h=Ld(Ld({},y),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return Ul.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:h,ref:e.innerRef},e.children)}var QD=Ul.memo(rG);var N0=()=>{var e;return(e=we(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var db=te(ne()),ff=te(ne());var n8=te(ne());function _k(){return _k=Object.assign?Object.assign.bind():function(e){for(var t=1;tHe(e.x)&&He(e.y),t8=e=>e.base!=null&&C0(e.base)&&C0(e),km=e=>e.x,Nm=e=>e.y,iG=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(Ei(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=e8["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return e8[r]||zl},r8={connectNulls:!1,type:"linear"},lG=e=>{var t=e.type,r=t===void 0?r8.type:t,n=e.points,a=n===void 0?[]:n,o=e.baseLine,i=e.layout,l=e.connectNulls,s=l===void 0?r8.connectNulls:l,u=iG(r,i),c=s?a.filter(C0):a;if(Array.isArray(o)){var d,f=a.map((v,g)=>RD(RD({},v),{},{base:o[g]}));i==="vertical"?d=dd().y(Nm).x1(km).x0(v=>v.base.x):d=dd().x(km).y1(Nm).y0(v=>v.base.y);var p=d.defined(t8).curve(u),m=s?f.filter(t8):f;return p(m)}var y;i==="vertical"&&be(o)?y=dd().y(Nm).x1(km).x0(o):be(o)?y=dd().x(km).y1(Nm).y0(o):y=om().x(km).y(Nm);var h=y.defined(C0).curve(u);return h(c)},Fo=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,o=Qn();if((!r||!r.length)&&!n)return null;var i={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},l=r&&r.length?lG(i):n;return n8.createElement("path",_k({},tr(e),gd(e),{className:Ue("recharts-curve",t),d:l===null?void 0:l,ref:a}))};var o8=te(ne());var sG=["x","y","top","left","width","height","className"];function Ok(){return Ok=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),i8=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,o=e.top,i=o===void 0?0:o,l=e.left,s=l===void 0?0:l,u=e.width,c=u===void 0?0:u,d=e.height,f=d===void 0?0:d,p=e.className,m=pG(e,sG),y=uG({x:r,y:a,top:i,left:s,width:c,height:f},m);return!be(r)||!be(a)||!be(c)||!be(f)||!be(i)||!be(s)?null:o8.createElement("path",Ok({},rr(y),{className:Ue("recharts-cross",p),d:vG(r,a,c,f,i,s)}))};function l8(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 P0=te(ne()),Xa=te(ne());var Cm=te(ne());var E0=1e-4,c8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],d8=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),s8=(e,t)=>r=>{var n=c8(e,t);return d8(n,r)},gG=(e,t)=>r=>{var n=c8(e,t),a=[...n.map((o,i)=>o*i).slice(1),0];return d8(a,r)},yG=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(o=>parseFloat(o));return[a[0],a[1],a[2],a[3]]},hG=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=s8(e,r),o=s8(t,n),i=gG(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,m=i(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,o=a===void 0?8:a,i=t.dt,l=i===void 0?16.67:i,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var g,b,x;if(v<=0)return 0;if(v>=1)return s;var S=v*h,w=Math.floor(S),O=S-w;return((g=u[w])!==null&&g!==void 0?g:0)+(((b=u[w+1])!==null&&b!==void 0?b:0)-((x=u[w])!==null&&x!==void 0?x:0))*O}},f8=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return u8(e);case"spring":return bG();default:if(e.split("(")[0]==="cubic-bezier")return u8(e)}return typeof e=="function"?e:null};var Bd=te(ne());var p8=(e,t,r)=>{var n,a=o=>{var i=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,i);return}n=e.setTimeout(a,i)};return n=e.setTimeout(a,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}};var m8=(0,Bd.createContext)(p8),nhe=m8.Provider;function v8(e){var t=(0,Bd.useContext)(m8);return(0,Bd.useMemo)(()=>e??t,[e,t])}function wG(e,t,r){return(t=SG(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SG(e){var t=AG(e,"string");return typeof t=="symbol"?t:t+""}function AG(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 g8="init",y8="pending",h8="active",kG="completed";function Tk(e){return Math.max(0,e)}var Mk=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;wG(this,"state",g8),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Tk(t.animationDuration),this.animationBegin=Tk(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()===g8)return this.state=y8,this.beginStartedTime=t,this.animationBegin;if(this.getState()===y8){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=h8,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Tk(this.animationBegin-r)}if(this.getState()===h8){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=kG}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},_0=class extends Mk{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Nt(this.getFrom(),this.getTo(),this.getProgress()))}};var O0=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,o=i=>{i-n>=r?t(i):a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!=null&&cancelAnimationFrame(a)}}};function NG(e,t){return OG(e)||_G(e,t)||EG(e,t)||CG()}function CG(){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 EG(e,t){if(e){if(typeof e=="string")return x8(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)?x8(e,t):void 0}}function x8(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},b8=0,Pk=1;function T0(e){var t=lt(e,TG),r=t.animationId,n=t.isActive,a=t.canBegin,o=t.duration,i=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=k0(),f=n==="auto"?!Ga.isSsr&&!d:n,p=v8(t.animationController),m=(0,Cm.useState)(f?b8:Pk),y=NG(m,2),h=y[0],v=y[1];return(0,Cm.useEffect)(()=>{f||v(Pk)},[f]),(0,Cm.useEffect)(()=>{var g=f8(i);if(!f||!a||g==null)return Pn;var b=new O0,x=new _0({animationId:r,easing:g,animationDuration:o,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:b8,to:Pk});return p(b,x,v)},[p,r,f,a,o,i,l,u,s]),c(Number(h))}var Dk=te(ne());function M0(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,Dk.useRef)(Ci(t)),n=(0,Dk.useRef)(e);return n.current!==e&&(r.current=Ci(t),n.current=e),r.current}var MG=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),w8=(e,t,r)=>e.map(n=>"".concat(MG(n)," ").concat(t,"ms ").concat(r)).join(",");var PG=["radius"],DG=["radius"],S8,A8,k8,N8,C8,E8,_8,O8,T8,M8;function P8(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 D8(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=Wa(r),i=Wa(n),l=Math.min(Math.abs(o)/2,Math.abs(i)/2),s=i>=0?1:-1,u=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,d;if(l>0&&Array.isArray(a)){for(var f=[0,0,0,0],p=0,m=4;pl?l:h}d=qr(S8||(S8=Wo(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=qr(A8||(A8=Wo(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=qr(k8||(k8=Wo(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=qr(N8||(N8=Wo(["A ",",",",0,0,",`, +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JY(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({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),u=ZY(s,2),c=u[0],d=u[1];$l.useEffect(()=>{var m=g=>{if(g.key==="Escape"){var x,b,S,w;d({dismissed:!0,dismissedAtCoordinate:{x:(x=(b=e.coordinate)===null||b===void 0?void 0:b.x)!==null&&x!==void 0?x:0,y:(S=(w=e.coordinate)===null||w===void 0?void 0:w.y)!==null&&S!==void 0?S: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||((o=(i=e.coordinate)===null||i===void 0?void 0:i.y)!==null&&o!==void 0?o:0)!==c.dismissedAtCoordinate.y)&&d(Ld(Ld({},c),{},{dismissed:!1}));var f=YD({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,y=e.hasPortalFromProps?{}:Ld(Ld({transition:tG({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},v),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),h=Ld(Ld({},y),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return $l.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:h,ref:e.innerRef},e.children)}var QD=$l.memo(rG);var N0=()=>{var e;return(e=we(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var db=te(ne()),ff=te(ne());var n8=te(ne());function Ok(){return Ok=Object.assign?Object.assign.bind():function(e){for(var t=1;tHe(e.x)&&He(e.y),t8=e=>e.base!=null&&C0(e.base)&&C0(e),km=e=>e.x,Nm=e=>e.y,iG=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(Ci(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=e8["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return e8[r]||jl},r8={connectNulls:!1,type:"linear"},lG=e=>{var t=e.type,r=t===void 0?r8.type:t,n=e.points,a=n===void 0?[]:n,o=e.baseLine,i=e.layout,l=e.connectNulls,s=l===void 0?r8.connectNulls:l,u=iG(r,i),c=s?a.filter(C0):a;if(Array.isArray(o)){var d,f=a.map((m,g)=>RD(RD({},m),{},{base:o[g]}));i==="vertical"?d=dd().y(Nm).x1(km).x0(m=>m.base.x):d=dd().x(km).y1(Nm).y0(m=>m.base.y);var p=d.defined(t8).curve(u),v=s?f.filter(t8):f;return p(v)}var y;i==="vertical"&&be(o)?y=dd().y(Nm).x1(km).x0(o):be(o)?y=dd().x(km).y1(Nm).y0(o):y=om().x(km).y(Nm);var h=y.defined(C0).curve(u);return h(c)},Fo=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,o=Qn();if((!r||!r.length)&&!n)return null;var i={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},l=r&&r.length?lG(i):n;return n8.createElement("path",Ok({},tr(e),gd(e),{className:Ue("recharts-curve",t),d:l===null?void 0:l,ref:a}))};var o8=te(ne());var sG=["x","y","top","left","width","height","className"];function Tk(){return Tk=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),i8=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,o=e.top,i=o===void 0?0:o,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=pG(e,sG),y=uG({x:r,y:a,top:i,left:s,width:c,height:f},v);return!be(r)||!be(a)||!be(c)||!be(f)||!be(i)||!be(s)?null:o8.createElement("path",Tk({},rr(y),{className:Ue("recharts-cross",p),d:vG(r,a,c,f,i,s)}))};function l8(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 P0=te(ne()),Xa=te(ne());var Cm=te(ne());var E0=1e-4,c8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],d8=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),s8=(e,t)=>r=>{var n=c8(e,t);return d8(n,r)},gG=(e,t)=>r=>{var n=c8(e,t),a=[...n.map((o,i)=>o*i).slice(1),0];return d8(a,r)},yG=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(o=>parseFloat(o));return[a[0],a[1],a[2],a[3]]},hG=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=s8(e,r),o=s8(t,n),i=gG(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=i(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,o=a===void 0?8:a,i=t.dt,l=i===void 0?16.67:i,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var g,x,b;if(m<=0)return 0;if(m>=1)return s;var S=m*h,w=Math.floor(S),O=S-w;return((g=u[w])!==null&&g!==void 0?g:0)+(((x=u[w+1])!==null&&x!==void 0?x:0)-((b=u[w])!==null&&b!==void 0?b:0))*O}},f8=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return u8(e);case"spring":return bG();default:if(e.split("(")[0]==="cubic-bezier")return u8(e)}return typeof e=="function"?e:null};var Bd=te(ne());var p8=(e,t,r)=>{var n,a=o=>{var i=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,i);return}n=e.setTimeout(a,i)};return n=e.setTimeout(a,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}};var m8=(0,Bd.createContext)(p8),nhe=m8.Provider;function v8(e){var t=(0,Bd.useContext)(m8);return(0,Bd.useMemo)(()=>e??t,[e,t])}function wG(e,t,r){return(t=SG(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SG(e){var t=AG(e,"string");return typeof t=="symbol"?t:t+""}function AG(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 g8="init",y8="pending",h8="active",kG="completed";function Mk(e){return Math.max(0,e)}var Pk=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;wG(this,"state",g8),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Mk(t.animationDuration),this.animationBegin=Mk(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()===g8)return this.state=y8,this.beginStartedTime=t,this.animationBegin;if(this.getState()===y8){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=h8,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Mk(this.animationBegin-r)}if(this.getState()===h8){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=kG}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},_0=class extends Pk{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Nt(this.getFrom(),this.getTo(),this.getProgress()))}};var O0=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,o=i=>{i-n>=r?t(i):a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!=null&&cancelAnimationFrame(a)}}};function NG(e,t){return OG(e)||_G(e,t)||EG(e,t)||CG()}function CG(){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 EG(e,t){if(e){if(typeof e=="string")return x8(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)?x8(e,t):void 0}}function x8(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},b8=0,Dk=1;function T0(e){var t=lt(e,TG),r=t.animationId,n=t.isActive,a=t.canBegin,o=t.duration,i=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=k0(),f=n==="auto"?!Ga.isSsr&&!d:n,p=v8(t.animationController),v=(0,Cm.useState)(f?b8:Dk),y=NG(v,2),h=y[0],m=y[1];return(0,Cm.useEffect)(()=>{f||m(Dk)},[f]),(0,Cm.useEffect)(()=>{var g=f8(i);if(!f||!a||g==null)return Pn;var x=new O0,b=new _0({animationId:r,easing:g,animationDuration:o,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:b8,to:Dk});return p(x,b,m)},[p,r,f,a,o,i,l,u,s]),c(Number(h))}var Ik=te(ne());function M0(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,Ik.useRef)(Ni(t)),n=(0,Ik.useRef)(e);return n.current!==e&&(r.current=Ni(t),n.current=e),r.current}var MG=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),w8=(e,t,r)=>e.map(n=>"".concat(MG(n)," ").concat(t,"ms ").concat(r)).join(",");var PG=["radius"],DG=["radius"],S8,A8,k8,N8,C8,E8,_8,O8,T8,M8;function P8(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 D8(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=Wa(r),i=Wa(n),l=Math.min(Math.abs(o)/2,Math.abs(i)/2),s=i>=0?1:-1,u=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,d;if(l>0&&Array.isArray(a)){for(var f=[0,0,0,0],p=0,v=4;pl?l:h}d=qr(S8||(S8=Wo(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=qr(A8||(A8=Wo(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=qr(k8||(k8=Wo(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=qr(N8||(N8=Wo(["A ",",",",0,0,",`, `,",",""])),f[1],f[1],c,e+r,t+s*f[1])),d+=qr(C8||(C8=Wo(["L ",",",""])),e+r,t+n-s*f[2]),f[2]>0&&(d+=qr(E8||(E8=Wo(["A ",",",",0,0,",`, `,",",""])),f[2],f[2],c,e+r-u*f[2],t+n)),d+=qr(_8||(_8=Wo(["L ",",",""])),e+u*f[3],t+n),f[3]>0&&(d+=qr(O8||(O8=Wo(["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 v=Math.min(l,a);d=qr(T8||(T8=Wo(["M ",",",` + `,",",""])),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=qr(T8||(T8=Wo(["M ",",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+s*v,v,v,c,e+u*v,t,e+r-u*v,t,v,v,c,e+r,t+s*v,e+r,t+n-s*v,v,v,c,e+r-u*v,t+n,e+u*v,t+n,v,v,c,e,t+n-s*v)}else d=qr(M8||(M8=Wo(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},L8={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},I0=e=>{var t=lt(e,L8),r=(0,Xa.useRef)(null),n=(0,Xa.useState)(-1),a=BG(n,2),o=a[0],i=a[1];(0,Xa.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var j=r.current.getTotalLength();j&&i(j)}catch{}},[]);var l=t.x,s=t.y,u=t.width,c=t.height,d=t.radius,f=t.className,p=t.animationEasing,m=t.animationDuration,y=t.animationBegin,h=t.isAnimationActive,v=t.isUpdateAnimationActive,g=(0,Xa.useRef)(u),b=(0,Xa.useRef)(c),x=(0,Xa.useRef)(l),S=(0,Xa.useRef)(s),w=(0,Xa.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),O=M0(w,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var k=Ue("recharts-rectangle",f);if(!v){var A=rr(t),M=A.radius,W=I8(A,PG);return P0.createElement("path",D0({},W,{x:Wa(l),y:Wa(s),width:Wa(u),height:Wa(c),radius:typeof d=="number"?d:void 0,className:k,d:z8(l,s,u,c,d)}))}var L=g.current,H=b.current,D=x.current,Y=S.current,N="0px ".concat(o===-1?1:o,"px"),_="".concat(o,"px ").concat(o,"px"),z=w8(["strokeDasharray"],m,typeof p=="string"?p:L8.animationEasing);return P0.createElement(T0,{animationId:O,key:O,canBegin:o>0,duration:m,easing:p,isActive:v,begin:y},j=>{var P=Nt(L,u,j),B=Nt(H,c,j),R=Nt(D,l,j),F=Nt(Y,s,j);r.current&&(g.current=P,b.current=B,x.current=R,S.current=F);var G;h?j>0?G={transition:z,strokeDasharray:_}:G={strokeDasharray:N}:G={strokeDasharray:_};var ee=rr(t),fe=ee.radius,de=I8(ee,DG);return P0.createElement("path",D0({},de,{radius:typeof d=="number"?d:void 0,className:k,d:z8(R,F,P,B,d),ref:r,style:D8(D8({},G),t.style)}))})};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 $8(e){for(var t=1;te*180/Math.PI,qt=(e,t,r,n)=>({x:e+Math.cos(-Em*n)*r,y:t+Math.sin(-Em*n)*r}),j0=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},YG=(e,t)=>{var r=e.x,n=e.y,a=t.x,o=t.y;return Math.sqrt((r-a)**2+(n-o)**2)},GG=(e,t)=>{var r=e.x,n=e.y,a=t.cx,o=t.cy,i=YG({x:r,y:n},{x:a,y:o});if(i<=0)return{radius:i,angle:0};var l=(r-a)/i,s=Math.acos(l);return n>o&&(s=2*Math.PI-s),{radius:i,angle:qG(s),angleInRadian:s}},XG=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),o=Math.min(n,a);return{startAngle:t-o*360,endAngle:r-o*360}},ZG=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),o=Math.floor(n/360),i=Math.min(a,o);return e+i*360},U8=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=GG({x:r,y:n},t),o=a.radius,i=a.angle,l=t.innerRadius,s=t.outerRadius;if(os||o===0)return null;var u=XG(t),c=u.startAngle,d=u.endAngle,f=i,p;if(c<=d){for(;f>d;)f-=360;for(;f=c&&f<=d}else{for(;f>c;)f-=360;for(;f=d&&f<=c}return p?$8($8({},t),{},{radius:o,angle:ZG(f,t)}):null};function z0(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,o=e.endAngle,i=qt(t,r,n,a),l=qt(t,r,n,o);return{points:[i,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:o}}var G8=te(ne());var F8,W8,H8,V8,K8,q8,Y8;function Ik(){return Ik=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Ft(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},L0=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,o=e.sign,i=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(i?1:-1)+n,c=Math.asin(l/u)/Em,d=s?a:a+o*c,f=qt(t,r,u,d),p=qt(t,r,n,d),m=s?a-o*c:a,y=qt(t,r,u*Math.cos(c*Em),m);return{center:f,circleTangency:p,lineTangency:y,theta:c}},X8=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=QG(o,i),s=o+l,u=qt(t,r,a,o),c=qt(t,r,a,s),d=qr(F8||(F8=ou(["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=qr(M8||(M8=Wo(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},L8={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},I0=e=>{var t=lt(e,L8),r=(0,Xa.useRef)(null),n=(0,Xa.useState)(-1),a=BG(n,2),o=a[0],i=a[1];(0,Xa.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var j=r.current.getTotalLength();j&&i(j)}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,y=t.animationBegin,h=t.isAnimationActive,m=t.isUpdateAnimationActive,g=(0,Xa.useRef)(u),x=(0,Xa.useRef)(c),b=(0,Xa.useRef)(l),S=(0,Xa.useRef)(s),w=(0,Xa.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),O=M0(w,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var k=Ue("recharts-rectangle",f);if(!m){var A=rr(t),M=A.radius,W=I8(A,PG);return P0.createElement("path",D0({},W,{x:Wa(l),y:Wa(s),width:Wa(u),height:Wa(c),radius:typeof d=="number"?d:void 0,className:k,d:z8(l,s,u,c,d)}))}var L=g.current,H=x.current,D=b.current,Y=S.current,N="0px ".concat(o===-1?1:o,"px"),_="".concat(o,"px ").concat(o,"px"),z=w8(["strokeDasharray"],v,typeof p=="string"?p:L8.animationEasing);return P0.createElement(T0,{animationId:O,key:O,canBegin:o>0,duration:v,easing:p,isActive:m,begin:y},j=>{var P=Nt(L,u,j),B=Nt(H,c,j),R=Nt(D,l,j),F=Nt(Y,s,j);r.current&&(g.current=P,x.current=B,b.current=R,S.current=F);var G;h?j>0?G={transition:z,strokeDasharray:_}:G={strokeDasharray:N}:G={strokeDasharray:_};var ee=rr(t),fe=ee.radius,de=I8(ee,DG);return P0.createElement("path",D0({},de,{radius:typeof d=="number"?d:void 0,className:k,d:z8(R,F,P,B,d),ref:r,style:D8(D8({},G),t.style)}))})};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 $8(e){for(var t=1;te*180/Math.PI,qt=(e,t,r,n)=>({x:e+Math.cos(-Em*n)*r,y:t+Math.sin(-Em*n)*r}),j0=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},YG=(e,t)=>{var r=e.x,n=e.y,a=t.x,o=t.y;return Math.sqrt((r-a)**2+(n-o)**2)},GG=(e,t)=>{var r=e.x,n=e.y,a=t.cx,o=t.cy,i=YG({x:r,y:n},{x:a,y:o});if(i<=0)return{radius:i,angle:0};var l=(r-a)/i,s=Math.acos(l);return n>o&&(s=2*Math.PI-s),{radius:i,angle:qG(s),angleInRadian:s}},XG=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),o=Math.min(n,a);return{startAngle:t-o*360,endAngle:r-o*360}},ZG=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),o=Math.floor(n/360),i=Math.min(a,o);return e+i*360},U8=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=GG({x:r,y:n},t),o=a.radius,i=a.angle,l=t.innerRadius,s=t.outerRadius;if(os||o===0)return null;var u=XG(t),c=u.startAngle,d=u.endAngle,f=i,p;if(c<=d){for(;f>d;)f-=360;for(;f=c&&f<=d}else{for(;f>c;)f-=360;for(;f=d&&f<=c}return p?$8($8({},t),{},{radius:o,angle:ZG(f,t)}):null};function z0(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,o=e.endAngle,i=qt(t,r,n,a),l=qt(t,r,n,o);return{points:[i,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:o}}var G8=te(ne());var F8,W8,H8,V8,K8,q8,Y8;function jk(){return jk=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Ft(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},L0=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,o=e.sign,i=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(i?1:-1)+n,c=Math.asin(l/u)/Em,d=s?a:a+o*c,f=qt(t,r,u,d),p=qt(t,r,n,d),v=s?a-o*c:a,y=qt(t,r,u*Math.cos(c*Em),v);return{center:f,circleTangency:p,lineTangency:y,theta:c}},X8=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=QG(o,i),s=o+l,u=qt(t,r,a,o),c=qt(t,r,a,s),d=qr(F8||(F8=ou(["M ",",",` A `,",",`,0, `,",",`, `,",",` `])),u.x,u.y,a,a,+(Math.abs(l)>180),+(o>s),c.x,c.y);if(n>0){var f=qt(t,r,n,o),p=qt(t,r,n,s);d+=qr(W8||(W8=ou(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(o<=s),f.x,f.y)}else d+=qr(H8||(H8=ou(["L ",","," Z"])),t,r);return d},JG=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.cornerRadius,i=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=Ft(u-s),d=L0({cx:t,cy:r,radius:a,angle:s,sign:c,cornerRadius:o,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,m=d.theta,y=L0({cx:t,cy:r,radius:a,angle:u,sign:-c,cornerRadius:o,cornerIsExternal:l}),h=y.circleTangency,v=y.lineTangency,g=y.theta,b=l?Math.abs(s-u):Math.abs(s-u)-m-g;if(b<0)return i?qr(V8||(V8=ou(["M ",",",` + `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(o<=s),f.x,f.y)}else d+=qr(H8||(H8=ou(["L ",","," Z"])),t,r);return d},JG=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.cornerRadius,i=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=Ft(u-s),d=L0({cx:t,cy:r,radius:a,angle:s,sign:c,cornerRadius:o,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,v=d.theta,y=L0({cx:t,cy:r,radius:a,angle:u,sign:-c,cornerRadius:o,cornerIsExternal:l}),h=y.circleTangency,m=y.lineTangency,g=y.theta,x=l?Math.abs(s-u):Math.abs(s-u)-v-g;if(x<0)return i?qr(V8||(V8=ou(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),p.x,p.y,o,o,o*2,o,o,-o*2):X8({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:s,endAngle:u});var x=qr(K8||(K8=ou(["M ",",",` + `])),p.x,p.y,o,o,o*2,o,o,-o*2):X8({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:s,endAngle:u});var b=qr(K8||(K8=ou(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),p.x,p.y,o,o,+(c<0),f.x,f.y,a,a,+(b>180),+(c<0),h.x,h.y,o,o,+(c<0),v.x,v.y);if(n>0){var S=L0({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),w=S.circleTangency,O=S.lineTangency,k=S.theta,A=L0({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),M=A.circleTangency,W=A.lineTangency,L=A.theta,H=l?Math.abs(s-u):Math.abs(s-u)-k-L;if(H<0&&o===0)return"".concat(x,"L").concat(t,",").concat(r,"Z");x+=qr(q8||(q8=ou(["L",",",` + `])),p.x,p.y,o,o,+(c<0),f.x,f.y,a,a,+(x>180),+(c<0),h.x,h.y,o,o,+(c<0),m.x,m.y);if(n>0){var S=L0({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),w=S.circleTangency,O=S.lineTangency,k=S.theta,A=L0({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),M=A.circleTangency,W=A.lineTangency,L=A.theta,H=l?Math.abs(s-u):Math.abs(s-u)-k-L;if(H<0&&o===0)return"".concat(b,"L").concat(t,",").concat(r,"Z");b+=qr(q8||(q8=ou(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),W.x,W.y,o,o,+(c<0),M.x,M.y,n,n,+(H>180),+(c>0),w.x,w.y,o,o,+(c<0),O.x,O.y)}else x+=qr(Y8||(Y8=ou(["L",",","Z"])),t,r);return x},RG={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},B0=e=>{var t=lt(e,RG),r=t.cx,n=t.cy,a=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(o0&&Math.abs(u-c)<360?y=JG({cx:r,cy:n,innerRadius:a,outerRadius:o,cornerRadius:Math.min(m,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):y=X8({cx:r,cy:n,innerRadius:a,outerRadius:o,startAngle:u,endAngle:c}),G8.createElement("path",Ik({},rr(t),{className:f,d:y}))};function Z8(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(ih(t)){if(e==="centric"){var n=t.cx,a=t.cy,o=t.innerRadius,i=t.outerRadius,l=t.angle,s=qt(n,a,o,l),u=qt(n,a,i,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return z0(t)}}function Q8(e){return zh(e)?NaN:Number(e)}function $0(e){return e?(e=Q8(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function U0(e,t,r){r&&typeof r!="number"&&dm(e,t,r)&&(t=r=void 0),e=$0(e),t===void 0?(t=e,e=0):t=$0(t),r=r===void 0?ee.chartData,iu=J([Rn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),lu=(e,t,r,n)=>n?iu(e):Rn(e),F0=(e,t,r)=>r?iu(e):Rn(e),J8=J([lu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),R8=J([iu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),e6=J([Rn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function jk(e,t){return nX(e)||rX(e,t)||tX(e,t)||eX()}function eX(){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 tX(e,t){if(e){if(typeof e=="string")return t6(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)?t6(e,t):void 0}}function t6(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=_m(e,2),r=t[0],n=t[1],a=r,o=n;return r>n&&(a=n,o=r),[a,o]},Uk=(e,t,r)=>{if(e.lte(0))return new wt.default(0);var n=Bk(e.toNumber()),a=new wt.default(10).pow(n),o=e.div(a),i=n!==1?.05:.1,l=new wt.default(Math.ceil(o.div(i).toNumber())).add(r).mul(i),s=l.mul(a);return t?new wt.default(s.toNumber()):new wt.default(Math.ceil(s.toNumber()))},l6=(e,t,r)=>{var n;if(e.lte(0))return new wt.default(0);var a=[1,2,2.5,5],o=e.toNumber(),i=Math.floor(new wt.default(o).abs().log(10).toNumber()),l=new wt.default(10).pow(i),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 wt.default(10).pow(c))}var d=(n=a[u])!==null&&n!==void 0?n:1,f=new wt.default(d).mul(l);return t?f:new wt.default(Math.ceil(f.toNumber()))},sX=(e,t,r)=>{var n=new wt.default(1),a=new wt.default(e);if(!a.isint()&&r){var o=Math.abs(e);o<1?(n=new wt.default(10).pow(Bk(e)-1),a=new wt.default(Math.floor(a.div(n).toNumber())).mul(n)):o>1&&(a=new wt.default(Math.floor(e)))}else e===0?a=new wt.default(Math.floor((t-1)/2)):r||(a=new wt.default(Math.floor(e)));for(var i=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Uk;if(!Number.isFinite((r-t)/(n-1)))return{step:new wt.default(0),tickMin:new wt.default(0),tickMax:new wt.default(0)};var l=i(new wt.default(r).sub(t).div(n-1),a,o),s;t<=0&&r>=0?s=new wt.default(0):(s=new wt.default(t).add(r).div(2),s=s.sub(new wt.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new wt.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?s6(t,r,n,a,o+1,i):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new wt.default(u).mul(l)),tickMax:s.add(new wt.default(c).mul(l))})};var V0=function(t){var r=_m(t,2),n=r[0],a=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(o,2),u=i6([n,a]),c=_m(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),f];return n>a?p.reverse():p}if(d===f)return sX(d,o,i);var m=l==="snap125"?l6:Uk,y=s6(d,f,s,i,0,m),h=y.step,v=y.tickMin,g=y.tickMax,b=$k(v,g.add(new wt.default(.1).mul(h)),h);return n>a?b.reverse():b},K0=function(t,r){var n=_m(t,2),a=n[0],o=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=i6([a,o]),u=_m(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[a,o];if(c===d)return[c];var f=l==="snap125"?l6:Uk,p=Math.max(r,2),m=f(new wt.default(d).sub(c).div(p-1),i,0),y=[...$k(new wt.default(c),new wt.default(d),m),d];if(i===!1){y=y.map(v=>Math.round(v));var h=y.length-1;h>0&&y[h]===y[h-1]&&(y=y.slice(0,h))}return a>o?y.reverse():y};var Fk=e=>e.rootProps.maxBarSize,u6=e=>e.rootProps.barGap,q0=e=>e.rootProps.barCategoryGap,c6=e=>e.rootProps.barSize,Fl=e=>e.rootProps.stackOffset,Y0=e=>e.rootProps.reverseStackOrder,$d=e=>e.options.chartName,G0=e=>e.rootProps.syncId,Wk=e=>e.rootProps.syncMethod,X0=e=>e.options.eventEmitter,d6=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 Wl={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 bo={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 su=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function uu(e,t,r){if(r!=="auto")return r;if(e!=null)return wn(e,t)?"category":"number"}function f6(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 Z0(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Q0=J([fX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"angleAxis",p6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},p6),{},{type:n})}),pX=(e,t)=>e.polarAxis.radiusAxis[t],J0=J([pX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"radiusAxis",m6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},m6),{},{type:n})}),R0=e=>e.polarOptions,Hk=J([on,ln,jt],j0),v6=J([R0,Hk],(e,t)=>{if(e!=null)return vr(e.innerRadius,t,0)}),g6=J([R0,Hk],(e,t)=>{if(e!=null)return vr(e.outerRadius,t,t*.8)}),mX=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},Vk=J([R0],mX),_0e=J([Q0,Vk],su),Kk=J([Hk,v6,g6],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),O0e=J([J0,Kk],su),ex=J([qe,R0,v6,g6,on,ln],(e,t,r,n,a,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var i=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:vr(i,a,a/2),cy:vr(l,o,o/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var nr=(e,t)=>t;var cu=(e,t,r)=>r;function Hl(e){return e?.id}function tx(e,t,r){var n=t.chartData,a=n===void 0?[]:n,o=r.allowDuplicatedCategory,i=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=Hl(s);c.forEach((f,p)=>{var m=i==null||o?p:String(Qe(f,i,null)),y=Qe(f,s.dataKey,0),h;l.has(m)?h=l.get(m):h={},Object.assign(h,{[d]:y}),l.set(m,h)})}}),Array.from(l.values())}function du(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var fu=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Ud(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function y6(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 Vl=e=>e.tooltip.settings.axisId;function Om(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(o){function i(){return o.apply(this,arguments)}return i.toString=function(){return o.toString()},i})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(o){var i=a[0],l=a[1];return i<=l?o>=i&&o<=l:o>=l&&o<=i},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,i)=>{var l=e(o);if(l!=null){if(e.bandwidth&&i!==null&&i!==void 0&&i.position){var s=e.bandwidth();switch(i.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var rx=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Aa(t)){for(var r,n,a=0;an)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var Zm={};fU(Zm,{scaleBand:()=>Dm,scaleDiverging:()=>Lx,scaleDivergingLog:()=>kN,scaleDivergingPow:()=>Bx,scaleDivergingSqrt:()=>$I,scaleDivergingSymlog:()=>NN,scaleIdentity:()=>wx,scaleImplicit:()=>ux,scaleLinear:()=>bx,scaleLog:()=>Sx,scaleOrdinal:()=>Hd,scalePoint:()=>k6,scalePow:()=>Vm,scaleQuantile:()=>Nx,scaleQuantize:()=>Cx,scaleRadial:()=>kx,scaleSequential:()=>Dx,scaleSequentialLog:()=>SN,scaleSequentialPow:()=>Ix,scaleSequentialQuantile:()=>jx,scaleSequentialSqrt:()=>BI,scaleSequentialSymlog:()=>AN,scaleSqrt:()=>iI,scaleSymlog:()=>Ax,scaleThreshold:()=>Ex,scaleTime:()=>bN,scaleUtc:()=>wN,tickFormat:()=>$m});function In(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function qk(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function pu(e){let t,r,n;e.length!==2?(t=In,r=(l,s)=>In(e(l),s),n=(l,s)=>e(l)-s):(t=e===In||e===qk?e:vX,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:i,right:o}}function vX(){return 0}function Tm(e){return e===null?NaN:+e}function*h6(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 x6=pu(In),b6=x6.right,gX=x6.left,yX=pu(Tm).center,wo=b6;var Fd=class extends Map{constructor(t,r=bX){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(w6(this,t))}has(t){return super.has(w6(this,t))}set(t,r){return super.set(hX(this,t),r)}delete(t){return super.delete(xX(this,t))}};function w6({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function hX({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function xX({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function bX(e){return e!==null&&typeof e=="object"?e.valueOf():e}function S6(e=In){if(e===In)return Yk;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 Yk(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var wX=Math.sqrt(50),SX=Math.sqrt(10),AX=Math.sqrt(2);function nx(e,t,r){let n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),o=n/Math.pow(10,a),i=o>=wX?10:o>=SX?5:o>=AX?2:1,l,s,u;return a<0?(u=Math.pow(10,-a)/i,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,a)*i,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=o-a+1,s=new Array(l);if(n)if(i<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 ox(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 ix(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?Yk:S6(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)),m=Math.min(n,Math.floor(t+(s-u)*d/s+f));ix(e,t,p,m,a)}let o=e[t],i=r,l=n;for(Pm(e,r,t),a(e[n],o)>0&&Pm(e,r,n);i0;)--l}a(e[r],o)===0?Pm(e,r,l):(++l,Pm(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Pm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function lx(e,t,r){if(e=Float64Array.from(h6(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return ox(e);if(t>=1)return ax(e);var n,a=(n-1)*t,o=Math.floor(a),i=ax(ix(e,o).subarray(0,o+1)),l=ox(e.subarray(o+1));return i+(l-i)*(a-o)}}function Gk(e,t,r=Tm){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,o=Math.floor(a),i=+r(e[o],o,e),l=+r(e[o+1],o+1,e);return i+(l-i)*(a-o)}}function sx(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,o=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?dx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?dx(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=NX.exec(e))?new ea(t[1],t[2],t[3],1):(t=CX.exec(e))?new ea(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=EX.exec(e))?dx(t[1],t[2],t[3],t[4]):(t=_X.exec(e))?dx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=OX.exec(e))?M6(t[1],t[2]/100,t[3]/100,1):(t=TX.exec(e))?M6(t[1],t[2]/100,t[3]/100,t[4]):N6.hasOwnProperty(e)?_6(N6[e]):e==="transparent"?new ea(NaN,NaN,NaN,0):null}function _6(e){return new ea(e>>16&255,e>>8&255,e&255,1)}function dx(e,t,r,n){return n<=0&&(e=t=r=NaN),new ea(e,t,r,n)}function DX(e){return e instanceof zm||(e=Kl(e)),e?(e=e.rgb(),new ea(e.r,e.g,e.b,e.opacity)):new ea}function Kd(e,t,r,n){return arguments.length===1?DX(e):new ea(e,t,r,n??1)}function ea(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}cx(ea,Kd,Xk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ea(gu(this.r),gu(this.g),gu(this.b),mx(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:O6,formatHex:O6,formatHex8:IX,formatRgb:T6,toString:T6}));function O6(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}`}function IX(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}${vu((isNaN(this.opacity)?1:this.opacity)*255)}`}function T6(){let e=mx(this.opacity);return`${e===1?"rgb(":"rgba("}${gu(this.r)}, ${gu(this.g)}, ${gu(this.b)}${e===1?")":`, ${e})`}`}function mx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function gu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vu(e){return e=gu(e),(e<16?"0":"")+e.toString(16)}function M6(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new So(e,t,r,n)}function D6(e){if(e instanceof So)return new So(e.h,e.s,e.l,e.opacity);if(e instanceof zm||(e=Kl(e)),!e)return new So;if(e instanceof So)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),i=NaN,l=o-a,s=(o+a)/2;return l?(t===o?i=(r-n)/l+(r0&&s<1?0:i,new So(i,l,s,e.opacity)}function I6(e,t,r,n){return arguments.length===1?D6(e):new So(e,t,r,n??1)}function So(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}cx(So,I6,Xk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new So(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new So(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 ea(Zk(e>=240?e-240:e+120,a,n),Zk(e,a,n),Zk(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new So(P6(this.h),fx(this.s),fx(this.l),mx(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=mx(this.opacity);return`${e===1?"hsl(":"hsla("}${P6(this.h)}, ${fx(this.s)*100}%, ${fx(this.l)*100}%${e===1?")":`, ${e})`}`}}));function P6(e){return e=(e||0)%360,e<0?e+360:e}function fx(e){return Math.max(0,Math.min(1,e||0))}function Zk(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 Qk(e,t,r,n,a){var o=e*e,i=o*e;return((1-3*e+3*o-i)*t+(4-6*o+3*i)*r+(1+3*e+3*o-3*i)*n+i*a)/6}function j6(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],o=e[n+1],i=n>0?e[n-1]:2*a-o,l=n()=>e;function jX(e,t){return function(r){return e+r*t}}function zX(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 L6(e){return(e=+e)==1?vx:function(t,r){return r-t?zX(t,r,e):Lm(isNaN(t)?r:t)}}function vx(e,t){var r=t-e;return r?jX(e,r):Lm(isNaN(e)?t:e)}var Jk=(function e(t){var r=L6(t);function n(a,o){var i=r((a=Kd(a)).r,(o=Kd(o)).r),l=r(a.g,o.g),s=r(a.b,o.b),u=vx(a.opacity,o.opacity);return function(c){return a.r=i(c),a.g=l(c),a.b=s(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);function B6(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),o=new Array(r),i,l;for(i=0;ir&&(o=t.slice(r,o),l[i]?l[i]+=o:l[++i]=o),(n=n[0])===(a=a[0])?l[i]?l[i]+=a:l[++i]=a:(l[++i]=null,s.push({i,x:ql(n,a)})),r=Rk.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function UX(e,t,r){var n=e[0],a=e[1],o=t[0],i=t[1];return a2?FX:UX,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?o:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(a((u||(u=l(t,e.map(n),ql)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,Yl),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=yu,c()},d.clamp=function(f){return arguments.length?(i=f?!0:Gr,c()):i!==Gr},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(o=f,d):o},function(f,p){return n=f,a=p,c()}}function xu(){return hu()(Gr,Gr)}function q6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function bu(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 Ko(e){return e=bu(Math.abs(e)),e?e[1]:NaN}function Y6(e,t){return function(r,n){for(var a=r.length,o=[],i=0,l=e[0],s=0;a>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),o.push(r.substring(a-=l,a+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return o.reverse().join(t)}}function G6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var WX=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function qo(e){if(!(t=WX.exec(e)))throw new Error("invalid format: "+e);var t;return new yx({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]})}qo.prototype=yx.prototype;function yx(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+""}yx.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 X6(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 Bm;function Z6(e,t){var r=bu(e,t);if(!r)return Bm=void 0,e.toPrecision(t);var n=r[0],a=r[1],o=a-(Bm=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,i=n.length;return o===i?n:o>i?n+new Array(o-i+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+bu(e,Math.max(0,t+o-1))[0]}function nN(e,t){var r=bu(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 aN={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:q6,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)=>nN(e*100,t),r:nN,s:Z6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function oN(e){return e}var Q6=Array.prototype.map,J6=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function R6(e){var t=e.grouping===void 0||e.thousands===void 0?oN:Y6(Q6.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+"",o=e.numerals===void 0?oN:G6(Q6.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d,f){d=qo(d);var p=d.fill,m=d.align,y=d.sign,h=d.symbol,v=d.zero,g=d.width,b=d.comma,x=d.precision,S=d.trim,w=d.type;w==="n"?(b=!0,w="g"):aN[w]||(x===void 0&&(x=12),S=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var O=(f&&f.prefix!==void 0?f.prefix:"")+(h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),k=(h==="$"?n:/[%p]/.test(w)?i:"")+(f&&f.suffix!==void 0?f.suffix:""),A=aN[w],M=/[defgprs%]/.test(w);x=x===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function W(L){var H=O,D=k,Y,N,_;if(w==="c")D=A(L)+D,L="";else{L=+L;var z=L<0||1/L<0;if(L=isNaN(L)?s:A(Math.abs(L),x),S&&(L=X6(L)),z&&+L==0&&y!=="+"&&(z=!1),H=(z?y==="("?y:l:y==="-"||y==="("?"":y)+H,D=(w==="s"&&!isNaN(L)&&Bm!==void 0?J6[8+Bm/3]:"")+D+(z&&y==="("?")":""),M){for(Y=-1,N=L.length;++Y_||_>57){D=(_===46?a+L.slice(Y+1):L.slice(Y))+D,L=L.slice(0,Y);break}}}b&&!v&&(L=t(L,1/0));var j=H.length+L.length+D.length,P=j>1)+H+L+D+P.slice(j);break;default:L=P+H+L+D;break}return o(L)}return W.toString=function(){return d+""},W}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(Ko(f)/3)))*3,m=Math.pow(10,-p),y=u((d=qo(d),d.type="f",d),{suffix:J6[8+p/3]});return function(h){return y(m*h)}}return{format:u,formatPrefix:c}}var hx,qd,xx;iN({thousands:",",grouping:[3],currency:["$",""]});function iN(e){return hx=R6(e),qd=hx.format,xx=hx.formatPrefix,hx}function lN(e){return Math.max(0,-Ko(Math.abs(e)))}function sN(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ko(t)/3)))*3-Ko(Math.abs(e)))}function uN(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ko(t)-Ko(e))+1}function $m(e,t,r,n){var a=Wd(e,t,r),o;switch(n=qo(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=sN(a,i))&&(n.precision=o),xx(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=uN(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=lN(a))&&(n.precision=o-(n.type==="%")*2);break}}return qd(n)}function jn(e){var t=e.domain;return e.ticks=function(r){var n=t();return mu(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return $m(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,o=n.length-1,i=n[a],l=n[o],s,u,c=10;for(l0;){if(u=Mm(i,l,r),u===s)return n[a]=i,n[o]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function bx(){var e=xu();return e.copy=function(){return Vo(e,bx())},sr.apply(e,arguments),jn(e)}function wx(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,Yl),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return wx(e).unknown(t)},e=arguments.length?Array.from(e,Yl):[0,1],jn(r)}function Um(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],o=e[n],i;return oMath.pow(e,t)}function YX(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 rI(e){return(t,r)=>-e(-t,r)}function Fm(e){let t=e(eI,tI),r=t.domain,n=10,a,o;function i(){return a=YX(n),o=qX(n),r()[0]<0?(a=rI(a),o=rI(o),e(HX,VX)):e(eI,tI),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(m=1;mc)break;v.push(y)}}else for(;f<=p;++f)for(m=n-1;m>=1;--m)if(y=f>0?m/o(-f):m*o(f),!(yc)break;v.push(y)}v.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=qo(s)).precision==null&&(s.trim=!0),s=qd(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/o(Math.round(a(c)));return d*nr(Um(r(),{floor:l=>o(Math.floor(a(l))),ceil:l=>o(Math.ceil(a(l)))})),t}function Sx(){let e=Fm(hu()).domain([1,10]);return e.copy=()=>Vo(e,Sx()).base(e.base()),sr.apply(e,arguments),e}function nI(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function aI(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Wm(e){var t=1,r=e(nI(t),aI(t));return r.constant=function(n){return arguments.length?e(nI(t=+n),aI(t)):t},jn(r)}function Ax(){var e=Wm(hu());return e.copy=function(){return Vo(e,Ax()).constant(e.constant())},sr.apply(e,arguments)}function oI(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function GX(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function XX(e){return e<0?-e*e:e*e}function Hm(e){var t=e(Gr,Gr),r=1;function n(){return r===1?e(Gr,Gr):r===.5?e(GX,XX):e(oI(r),oI(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},jn(t)}function Vm(){var e=Hm(hu());return e.copy=function(){return Vo(e,Vm()).exponent(e.exponent())},sr.apply(e,arguments),e}function iI(){return Vm.apply(null,arguments).exponent(.5)}function lI(e){return Math.sign(e)*e*e}function ZX(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function kx(){var e=xu(),t=[0,1],r=!1,n;function a(o){var i=ZX(e(o));return isNaN(i)?n:r?Math.round(i):i}return a.invert=function(o){return e.invert(lI(o))},a.domain=function(o){return arguments.length?(e.domain(o),a):e.domain()},a.range=function(o){return arguments.length?(e.range((t=Array.from(o,Yl)).map(lI)),a):t.slice()},a.rangeRound=function(o){return a.range(o).round(!0)},a.round=function(o){return arguments.length?(r=!!o,a):r},a.clamp=function(o){return arguments.length?(e.clamp(o),a):e.clamp()},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return kx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},sr.apply(a,arguments),jn(a)}function Nx(){var e=[],t=[],r=[],n;function a(){var i=0,l=Math.max(1,t.length);for(r=new Array(l-1);++i0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},i.unknown=function(s){return arguments.length&&(o=s),i},i.thresholds=function(){return n.slice()},i.copy=function(){return Cx().domain([e,t]).range(a).unknown(o)},sr.apply(jn(i),arguments)}function Ex(){var e=[.5],t=[0,1],r,n=1;function a(o){return o!=null&&o<=o?t[wo(e,o,0,n)]:r}return a.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(o){var i=t.indexOf(o);return[e[i-1],e[i]]},a.unknown=function(o){return arguments.length?(r=o,a):r},a.copy=function(){return Ex().domain(e).range(t).unknown(r)},sr.apply(a,arguments)}var cN=new Date,dN=new Date;function Wt(e,t,r,n){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return a.floor=o=>(e(o=new Date(+o)),o),a.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),a.round=o=>{let i=a(o),l=a.ceil(o);return o-i(t(o=new Date(+o),i==null?1:Math.floor(i)),o),a.range=(o,i,l)=>{let s=[];if(o=a.ceil(o),l=l==null?1:Math.floor(l),!(o0))return s;let u;do s.push(u=new Date(+o)),t(o,l),e(o);while(uWt(i=>{if(i>=i)for(;e(i),!o(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!o(i););else for(;--l>=0;)for(;t(i,1),!o(i););}),r&&(a.count=(o,i)=>(cN.setTime(+o),dN.setTime(+i),e(cN),e(dN),Math.floor(r(cN,dN))),a.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(n?i=>n(i)%o===0:i=>a.count(0,i)%o===0):a)),a}var Km=Wt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Km.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Wt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Km);var lwe=Km.range;var Qa=Wt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),sI=Qa.range;var Yd=Wt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),QX=Yd.range,Gd=Wt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),JX=Gd.range;var Xd=Wt(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()),RX=Xd.range,Zd=Wt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),eZ=Zd.range;var Ii=Wt(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),tZ=Ii.range,Au=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),rZ=Au.range,_x=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),nZ=_x.range;function ku(e){return Wt(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 ji=ku(0),Qd=ku(1),cI=ku(2),dI=ku(3),Gl=ku(4),fI=ku(5),pI=ku(6),mI=ji.range,aZ=Qd.range,oZ=cI.range,iZ=dI.range,lZ=Gl.range,sZ=fI.range,uZ=pI.range;function Nu(e){return Wt(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 zi=Nu(0),Jd=Nu(1),vI=Nu(2),gI=Nu(3),Xl=Nu(4),yI=Nu(5),hI=Nu(6),xI=zi.range,cZ=Jd.range,dZ=vI.range,fZ=gI.range,pZ=Xl.range,mZ=yI.range,vZ=hI.range;var Rd=Wt(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()),gZ=Rd.range,ef=Wt(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()),yZ=ef.range;var Na=Wt(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());Na.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(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 hZ=Na.range,Ca=Wt(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());Ca.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(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 xZ=Ca.range;function wI(e,t,r,n,a,o){let i=[[Qa,1,1e3],[Qa,5,5*1e3],[Qa,15,15*1e3],[Qa,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,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=ch).right(i,f);if(p===i.length)return e.every(Wd(u/31536e6,c/31536e6,d));if(p===0)return Km.every(Math.max(Wd(u,c,d),1));let[m,y]=i[f/i[p-1][2]53)return null;"w"in I||(I.w=1),"Z"in I?(T=yN(Ym(I.y,0,1)),X=T.getUTCDay(),T=X>4||X===0?Jd.ceil(T):Jd(T),T=Au.offset(T,(I.V-1)*7),I.y=T.getUTCFullYear(),I.m=T.getUTCMonth(),I.d=T.getUTCDate()+(I.w+6)%7):(T=gN(Ym(I.y,0,1)),X=T.getDay(),T=X>4||X===0?Qd.ceil(T):Qd(T),T=Ii.offset(T,(I.V-1)*7),I.y=T.getFullYear(),I.m=T.getMonth(),I.d=T.getDate()+(I.w+6)%7)}else("W"in I||"U"in I)&&("w"in I||(I.w="u"in I?I.u%7:"W"in I?1:0),X="Z"in I?yN(Ym(I.y,0,1)).getUTCDay():gN(Ym(I.y,0,1)).getDay(),I.m=0,I.d="W"in I?(I.w+6)%7+I.W*7-(X+5)%7:I.w+I.U*7-(X+6)%7);return"Z"in I?(I.H+=I.Z/100|0,I.M+=I.Z%100,yN(I)):gN(I)}}function k(le,Te,K,I){for(var C=0,T=Te.length,X=K.length,$,Ne;C=X)return-1;if($=Te.charCodeAt(C++),$===37){if($=Te.charAt(C++),Ne=S[$ in SI?Te.charAt(C++):$],!Ne||(I=Ne(le,K,I))<0)return-1}else if($!=K.charCodeAt(I++))return-1}return I}function A(le,Te,K){var I=u.exec(Te.slice(K));return I?(le.p=c.get(I[0].toLowerCase()),K+I[0].length):-1}function M(le,Te,K){var I=p.exec(Te.slice(K));return I?(le.w=m.get(I[0].toLowerCase()),K+I[0].length):-1}function W(le,Te,K){var I=d.exec(Te.slice(K));return I?(le.w=f.get(I[0].toLowerCase()),K+I[0].length):-1}function L(le,Te,K){var I=v.exec(Te.slice(K));return I?(le.m=g.get(I[0].toLowerCase()),K+I[0].length):-1}function H(le,Te,K){var I=y.exec(Te.slice(K));return I?(le.m=h.get(I[0].toLowerCase()),K+I[0].length):-1}function D(le,Te,K){return k(le,t,Te,K)}function Y(le,Te,K){return k(le,r,Te,K)}function N(le,Te,K){return k(le,n,Te,K)}function _(le){return i[le.getDay()]}function z(le){return o[le.getDay()]}function j(le){return s[le.getMonth()]}function P(le){return l[le.getMonth()]}function B(le){return a[+(le.getHours()>=12)]}function R(le){return 1+~~(le.getMonth()/3)}function F(le){return i[le.getUTCDay()]}function G(le){return o[le.getUTCDay()]}function ee(le){return s[le.getUTCMonth()]}function fe(le){return l[le.getUTCMonth()]}function de(le){return a[+(le.getUTCHours()>=12)]}function De(le){return 1+~~(le.getUTCMonth()/3)}return{format:function(le){var Te=w(le+="",b);return Te.toString=function(){return le},Te},parse:function(le){var Te=O(le+="",!1);return Te.toString=function(){return le},Te},utcFormat:function(le){var Te=w(le+="",x);return Te.toString=function(){return le},Te},utcParse:function(le){var Te=O(le+="",!0);return Te.toString=function(){return le},Te}}}var SI={"-":"",_:" ",0:"0"},sn=/^\s*\d+/,wZ=/^%/,SZ=/[\\^$*+?|[\]().{}]/g;function _t(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",o=a.length;return n+(o[t.toLowerCase(),r]))}function kZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function NZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function CZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function EZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function _Z(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function AI(e,t,r){var n=sn.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function kI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function OZ(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 TZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function MZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function NI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function PZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function CI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function DZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function IZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function jZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function zZ(e,t,r){var n=sn.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function LZ(e,t,r){var n=wZ.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function BZ(e,t,r){var n=sn.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function $Z(e,t,r){var n=sn.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function EI(e,t){return _t(e.getDate(),t,2)}function UZ(e,t){return _t(e.getHours(),t,2)}function FZ(e,t){return _t(e.getHours()%12||12,t,2)}function WZ(e,t){return _t(1+Ii.count(Na(e),e),t,3)}function PI(e,t){return _t(e.getMilliseconds(),t,3)}function HZ(e,t){return PI(e,t)+"000"}function VZ(e,t){return _t(e.getMonth()+1,t,2)}function KZ(e,t){return _t(e.getMinutes(),t,2)}function qZ(e,t){return _t(e.getSeconds(),t,2)}function YZ(e){var t=e.getDay();return t===0?7:t}function GZ(e,t){return _t(ji.count(Na(e)-1,e),t,2)}function DI(e){var t=e.getDay();return t>=4||t===0?Gl(e):Gl.ceil(e)}function XZ(e,t){return e=DI(e),_t(Gl.count(Na(e),e)+(Na(e).getDay()===4),t,2)}function ZZ(e){return e.getDay()}function QZ(e,t){return _t(Qd.count(Na(e)-1,e),t,2)}function JZ(e,t){return _t(e.getFullYear()%100,t,2)}function RZ(e,t){return e=DI(e),_t(e.getFullYear()%100,t,2)}function eQ(e,t){return _t(e.getFullYear()%1e4,t,4)}function tQ(e,t){var r=e.getDay();return e=r>=4||r===0?Gl(e):Gl.ceil(e),_t(e.getFullYear()%1e4,t,4)}function rQ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+_t(t/60|0,"0",2)+_t(t%60,"0",2)}function _I(e,t){return _t(e.getUTCDate(),t,2)}function nQ(e,t){return _t(e.getUTCHours(),t,2)}function aQ(e,t){return _t(e.getUTCHours()%12||12,t,2)}function oQ(e,t){return _t(1+Au.count(Ca(e),e),t,3)}function II(e,t){return _t(e.getUTCMilliseconds(),t,3)}function iQ(e,t){return II(e,t)+"000"}function lQ(e,t){return _t(e.getUTCMonth()+1,t,2)}function sQ(e,t){return _t(e.getUTCMinutes(),t,2)}function uQ(e,t){return _t(e.getUTCSeconds(),t,2)}function cQ(e){var t=e.getUTCDay();return t===0?7:t}function dQ(e,t){return _t(zi.count(Ca(e)-1,e),t,2)}function jI(e){var t=e.getUTCDay();return t>=4||t===0?Xl(e):Xl.ceil(e)}function fQ(e,t){return e=jI(e),_t(Xl.count(Ca(e),e)+(Ca(e).getUTCDay()===4),t,2)}function pQ(e){return e.getUTCDay()}function mQ(e,t){return _t(Jd.count(Ca(e)-1,e),t,2)}function vQ(e,t){return _t(e.getUTCFullYear()%100,t,2)}function gQ(e,t){return e=jI(e),_t(e.getUTCFullYear()%100,t,2)}function yQ(e,t){return _t(e.getUTCFullYear()%1e4,t,4)}function hQ(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Xl(e):Xl.ceil(e),_t(e.getUTCFullYear()%1e4,t,4)}function xQ(){return"+0000"}function OI(){return"%"}function TI(e){return+e}function MI(e){return Math.floor(+e/1e3)}var tf,Ox,zI,Tx,LI;xN({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 xN(e){return tf=hN(e),Ox=tf.format,zI=tf.parse,Tx=tf.utcFormat,LI=tf.utcParse,tf}function bQ(e){return new Date(e)}function wQ(e){return e instanceof Date?+e:+new Date(+e)}function Mx(e,t,r,n,a,o,i,l,s,u){var c=xu(),d=c.invert,f=c.domain,p=u(".%L"),m=u(":%S"),y=u("%I:%M"),h=u("%I %p"),v=u("%a %d"),g=u("%b %d"),b=u("%B"),x=u("%Y");function S(w){return(s(w)t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,o)=>lx(e,o/n))},r.copy=function(){return jx(t).domain(e)},Za.apply(r,arguments)}function zx(){var e=0,t=.5,r=1,n=1,a,o,i,l,s,u=Gr,c,d=!1,f;function p(y){return isNaN(y=+y)?f:(y=.5+((y=+c(y))-o)*(n*y{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 kQ(n)?n:"point"}};function NQ(e,t){for(var r=0,n=e.length,a=e[0]t)?r=o+1:n=o}return r}function Ux(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var i;return(i=e(o))!==null&&i!==void 0?i:0}),a=e.range();if(!(r.length===0||a.length<2))return o=>{var i,l,s=NQ(n,o);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(i=n[s-1])!==null&&i!==void 0?i:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(o-u)<=Math.abs(o-c)?r[s-1]:r[s]}}}function FI(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):Ux(e,void 0)}function WI(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 Fx(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Go=(e,t)=>{var r=EN(e,t);return r??Mr},Pr={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:CN,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:eu},_N=(e,t)=>e.cartesianAxis.yAxis[t],Xo=(e,t)=>{var r=_N(e,t);return r??Pr},DQ={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:""},ON=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??DQ},ur=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"zAxis":return ON(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},IQ=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Cu=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},TN=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function Rm(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 Zl=e=>e.graphicalItems.cartesianItems,jQ=J([nr,cu],Rm),ev=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),nf=J([Zl,ur,jQ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),qI=J([nf],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(du)),MN=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),zQ=J([nf],MN),tv=e=>e.map(t=>t.data).filter(Boolean).flat(1),LQ=J([nf],e=>e.some(t=>!t.data)),YI=J([nf],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),rv=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(a,o+1)},PN=J([YI,lu],rv),DN=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:Qe(a,n)}))):e.map(n=>({value:n})),IN=(e,t,r,n,a,o)=>{var i=n.chartData,l=i===void 0?[]:i,s=n.dataStartIndex,u=n.dataEndIndex,c=DN(e,t,r);if(a&&t?.dataKey!=null&&o.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:Qe(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},nv=J([PN,ur,nf,lu,LQ,YI],IN);function rf(e){if(Mn(e)||e instanceof Date){var t=Number(e);if(He(t))return t}}function VI(e){if(Array.isArray(e)){var t=[rf(e[0]),rf(e[1])];return Aa(t)?t:void 0}var r=rf(e);if(r!=null)return[r,r]}function Ao(e){return e.map(rf).filter(Yr)}function BQ(e,t){var r=rf(e),n=rf(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var $Q=J([nv],e=>e?.map(t=>t.value).sort(BQ));function GI(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function UQ(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!nn(t))n=t;else if(Array.isArray(t)){var a=Ao(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:Ao(r.flatMap(o=>{var i=Qe(e,o.dataKey),l,s;if(Array.isArray(i)){var u=KI(i,2);l=u[0],s=u[1]}else l=s=i;if(!(!He(l)||!He(s)))return[n-l,n+s]}))}var Dr=e=>{var t=Tr(e),r=Vl(e);return Cu(e,t,r)},Bi=J([Dr],e=>e?.dataKey),FQ=J([qI,lu,Dr],tx),jN=(e,t,r,n)=>{var a={},o=t.reduce((i,l)=>{if(l.stackId==null)return i;var s=i[l.stackId];return s==null&&(s=[]),s.push(l),i[l.stackId]=s,i},a);return Object.fromEntries(Object.entries(o).map(i=>{var l=KI(i,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(Hl);return[s,{stackedData:lD(e,d,r),graphicalItems:c}]}))},af=J([FQ,qI,Fl,Y0],jN),zN=(e,t,r,n)=>{var a=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return uD(e,a,o)},WQ=J([ur],e=>e.allowDataOverflow),Wx=e=>{var t;if(e==null||!("domain"in e))return CN;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ao(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e?.domain)!==null&&t!==void 0?t:CN},Hx=J([ur],Wx),Vx=J([Hx,WQ],W0),HQ=J([af,Rn,nr,Vx],zN,{memoizeOptions:{resultEqualityCheck:fu}}),of=e=>e.errorBars,VQ=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>GI(r,n)),Jm=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,s;if(n.length>0&&n.forEach(u=>{var c,d=u.data!=null?[...u.data]:i,f=(c=a[u.id])===null||c===void 0?void 0:c.filter(p=>GI(o,p));d.forEach(p=>{var m,y=Qe(p,(m=r.dataKey)!==null&&m!==void 0?m:u.dataKey),h=UQ(p,y,f);if(h.length>=2){var v=Math.min(...h),g=Math.max(...h);(l==null||vs)&&(s=g)}var b=VI(y);b!=null&&(l=l==null?b[0]:Math.min(l,b[0]),s=s==null?b[1]:Math.max(s,b[1]))})}),r?.dataKey!=null&&n.length===0&&t.forEach(u=>{var c=VI(Qe(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]))}),He(l)&&He(s))return[l,s]},KQ=J([PN,ur,zQ,of,nr,J8],av,{memoizeOptions:{resultEqualityCheck:fu}});function qQ(e){var t=e.value;if(Mn(t)||t instanceof Date)return t}var YQ=(e,t,r)=>{var n=e.map(qQ).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&iA(n))?U0(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},LN=e=>e.referenceElements.dots,Eu=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),GQ=J([LN,nr,cu],Eu),BN=e=>e.referenceElements.areas,XQ=J([BN,nr,cu],Eu),$N=e=>e.referenceElements.lines,ZQ=J([$N,nr,cu],Eu),UN=(e,t)=>{if(e!=null){var r=Ao(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},QQ=J(GQ,nr,UN),FN=(e,t)=>{if(e!=null){var r=Ao(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)]}},JQ=J([XQ,nr],FN);function RQ(e){var t;if(e.x!=null)return Ao([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ao(r)}function eJ(e){var t;if(e.y!=null)return Ao([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ao(r)}var WN=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?RQ(n):eJ(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},tJ=J([ZQ,nr],WN),rJ=J(QQ,tJ,JQ,(e,t,r)=>Jm(e,r,t)),ov=(e,t,r,n,a,o,i,l,s)=>{if(r!=null)return r;var u=i==="vertical"&&l==="xAxis"||i==="horizontal"&&l==="yAxis",c=u?Jm(n,o,a):Jm(o,a),d=n6(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},nJ=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=Ao(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},aJ=J([ur],nJ,{memoizeOptions:{resultEqualityCheck:fu}}),oJ=J([ur,Hx,Vx,HQ,KQ,rJ,qe,nr,aJ],ov,{memoizeOptions:{resultEqualityCheck:fu}}),iJ=[0,1],iv=(e,t,r,n,a,o,i)=>{if(!((e==null||r==null||r.length===0)&&i===void 0)){var l=e.dataKey,s=e.type,u=wn(t,o);if(u&&l==null){var c;return U0(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?YQ(n,e,u):a==="expand"&&!u?iJ:i}},HN=J([ur,qe,PN,nv,Fl,nr,oJ],iv),$i=J([ur,TN,$d],$x),lv=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=Wx(t),o=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Aa(e)){if(o)return V0(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return K0(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Aa(e))return V0(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Aa(e))return K0(e,t.tickCount,t.allowDecimals,"adaptive")}}},VN=J([HN,Cu,$i],lv),sv=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&Aa(t)&&Array.isArray(r)&&r.length>0){var a,o,i=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,s=t[1],u=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(i,l),Math.max(s,u)]}return t},lJ=J([ur,HN,VN,nr],sv),sJ=J(nv,ur,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ao(e.map(d=>d.value))).sort((d,f)=>d-f),a=n[0],o=n[n.length-1];if(a==null||o==null)return 1/0;var i=o-a;if(i===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!He(e))return 0;var o=t==="vertical"?n.height:n.width;if(a==="gap")return e*o/2;if(a==="no-gap"){var i=vr(r,e*o),l=e*o/2;return l-i-(l-i)/o*i}return 0}),uJ=(e,t,r)=>{var n=Go(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"xAxis",t,r,n.padding)},cJ=(e,t,r)=>{var n=Xo(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"yAxis",t,r,n.padding)},dJ=J(Go,uJ,(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}}),fJ=J(Xo,cJ,(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}}),KN=J([jt,dJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a)=>{var o=n.padding;return a?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),qN=J([jt,qe,fJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a,o)=>{var i=a.padding;return o?[n.height-i.bottom,i.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),lf=(e,t,r,n)=>{var a;switch(t){case"xAxis":return KN(e,r,n);case"yAxis":return qN(e,r,n);case"zAxis":return(a=ON(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return Vk(e);case"radiusAxis":return Kk(e,r);default:return}},ZI=J([ur,lf],su),pJ=J([$i,lJ],rx),YN=J([ur,$i,pJ,ZI],Qm),GN=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,o=r.scale,i=wn(e,n);if(i&&(a==="number"||o!=="auto"))return t.map(l=>l.value)}},XN=J([qe,nv,Cu,nr],GN),Kx=J([YN],Om),T2e=J([YN],FI),M2e=J([YN,$Q],Ux),P2e=J([nf,of,nr],VQ);function QI(e,t){return e.idt.id?1:0}var qx=(e,t)=>t,Yx=(e,t,r)=>r,mJ=J(Ed,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),vJ=J(_d,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),JI=(e,t)=>{var r=typeof t.height=="number"?t.height:hm;return{width:e.width,height:r}},gJ=(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}},ZN=J(jt,Go,JI),yJ=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},hJ=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},xJ=J(ln,jt,mJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=JI(t,l);i==null&&(i=yJ(t,n,e));var u=n==="top"&&!a||n==="bottom"&&a;o[l.id]=i-Number(u)*s.height,i+=(u?-1:1)*s.height}),o}),bJ=J(on,jt,vJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=gJ(t,l);i==null&&(i=hJ(t,n,e));var u=n==="left"&&!a||n==="right"&&a;o[l.id]=i-Number(u)*s.width,i+=(u?-1:1)*s.width}),o}),wJ=(e,t)=>{var r=Go(e,t);if(r!=null)return xJ(e,r.orientation,r.mirror)},RI=J([jt,Go,wJ,(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}}}),SJ=(e,t)=>{var r=Xo(e,t);if(r!=null)return bJ(e,r.orientation,r.mirror)},ej=J([jt,Xo,SJ,(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}}}),QN=J(jt,Xo,(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}}),JN=(e,t,r)=>{switch(t){case"xAxis":return ZN(e,r).width;case"yAxis":return QN(e,r).height;default:return}},RN=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,o=r.type,i=r.dataKey,l=wn(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(i&&l&&o==="category"&&a&&iA(u))return s}},eC=J([qe,nv,ur,nr],RN),tC=J([qe,IQ,$i,Kx,eC,XN,lf,VN,nr],(e,t,r,n,a,o,i,l,s)=>{if(t!=null){var u=wn(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:o,duplicateDomain:a,isCategorical:u,niceTicks:l,range:i,realScaleType:r,scale:n}}}),AJ=(e,t,r,n,a,o,i,l,s)=>{if(!(t==null||n==null)){var u=wn(e,s),c=t.type,d=t.ticks,f=t.tickCount,p=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,m=c==="category"&&n.bandwidth?n.bandwidth()/p:0;m=s==="angleAxis"&&o!=null&&o.length>=2?Ft(o[0]-o[1])*2*m:m;var y=d||a;return y?y.map((h,v)=>{var g=i?i.indexOf(h):h,b=n.map(g);return He(b)?{index:v,coordinate:b+m,value:h,offset:m}:null}).filter(Yr):u&&l?l.map((h,v)=>{var g=n.map(h);return He(g)?{coordinate:g+m,value:h,index:v,offset:m}:null}).filter(Yr):n.ticks?n.ticks(f).map((h,v)=>{var g=n.map(h);return He(g)?{coordinate:g+m,value:h,index:v,offset:m}:null}).filter(Yr):n.domain().map((h,v)=>{var g=n.map(h);return He(g)?{coordinate:g+m,value:i?i[h]:h,index:v,offset:m}:null}).filter(Yr)}},Gx=J([qe,Cu,$i,Kx,VN,lf,eC,XN,nr],AJ),kJ=(e,t,r,n,a,o,i)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=wn(e,i),s=t.tickCount,u=0;return u=i==="angleAxis"&&n?.length>=2?Ft(n[0]-n[1])*2*u:u,l&&o?o.map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.domain().map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:a?a[c]:c,index:d,offset:u}:null}).filter(Yr)}},Ea=J([qe,Cu,Kx,lf,eC,XN,nr],kJ),_a=J(ur,Kx,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),NJ=J([ur,$i,HN,ZI],Qm),CJ=J([NJ],Om),D2e=J((e,t,r)=>ON(e,r),CJ,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),tj=J([qe,Ed,_d],(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}}),EJ=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},I2e=J([EJ],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var o of e){var i=Math.abs(o.coordinate-t);ie.options.defaultTooltipEventType,nC=e=>e.options.validateTooltipEventTypes;function aC(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Ql(e,t){var r=rC(e),n=nC(e);return aC(t,r,n)}function rj(e){return we(t=>Ql(t,e))}var Xx=(e,t)=>{var r,n=Number(t);if(!(nn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var nj=e=>e.tooltip.settings;var Ui={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},_J={itemInteraction:{click:Ui,hover:Ui},axisInteraction:{click:Ui,hover:Ui},keyboardInteraction:Ui,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}},aj=Ct({name:"tooltip",initialState:_J,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(tt(t.payload))},prepare:Pt()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).tooltipItemPayloads.indexOf(tt(n));o>-1&&(e.tooltipItemPayloads[o]=tt(a))},prepare:Pt()},removeTooltipEntrySettings:{reducer(e,t){var r=yn(e).tooltipItemPayloads.indexOf(tt(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Pt()},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}}}),Ja=aj.actions,oj=Ja.addTooltipEntrySettings,ij=Ja.replaceTooltipEntrySettings,lj=Ja.removeTooltipEntrySettings,sj=Ja.setTooltipSettingsState,Zx=Ja.setActiveMouseOverItemIndex,uj=Ja.mouseLeaveItem,Qx=Ja.mouseLeaveChart,cj=Ja.setActiveClickItemIndex,Jx=Ja.setMouseOverAxisIndex,dj=Ja.setMouseClickAxisIndex,sf=Ja.setSyncInteraction,uv=Ja.setKeyboardInteraction;var fj=aj.reducer;function pj(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 Rx(e){for(var t=1;t{if(t==null)return Ui;var a=PJ(e,t,r);if(a==null)return Ui;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(DJ(a)){if(o)return Rx(Rx({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Rx(Rx({},Ui),{},{coordinate:a.coordinate})};function IJ(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 jJ(e,t){var r=IJ(e),n=t[0],a=t[1];if(r===void 0)return!1;var o=Math.min(n,a),i=Math.max(n,a);return r>=o&&r<=i}function zJ(e,t,r){if(r==null||t==null)return!0;var n=Qe(e,t);return n==null||!Aa(r)?!0:jJ(n,r)}var Jl=(e,t,r,n)=>{var a=e?.index;if(a==null)return null;var o=Number(a);if(!He(o))return a;var i=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(i,Math.min(o,l)),u=t[s];return u==null||zJ(u,r,n)?String(s):null};var tb=(e,t,r,n,a,o,i)=>{if(o!=null){var l=i[0],s=l?.getPosition(o);if(s!=null)return s;var u=a?.[Number(o)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var rb=(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 o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(i=>{var l;return((l=i.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})};var nb=e=>e.options.tooltipPayloadSearcher;var Fi=e=>e.tooltip;function mj(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 vj(e){for(var t=1;te(t)}function gj(e){if(typeof e=="string")return e}function HJ(e){if(!(e==null||typeof e!="object")){var t="name"in e?UJ(e.name):void 0,r="unit"in e?FJ(e.unit):void 0,n="dataKey"in e?WJ(e.dataKey):void 0,a="payload"in e?e.payload:void 0,o="color"in e?gj(e.color):void 0,i="fill"in e?gj(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:o,fill:i}}}function VJ(e,t){return e??t}var ab=(e,t,r,n,a,o,i)=>{if(!(t==null||o==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var m,y=p.dataDefinedOnItem,h=p.settings,v=VJ(y,l),g=Array.isArray(v)?d0(v,u,c):v,b=(m=h?.dataKey)!==null&&m!==void 0?m:n,x=h?.nameKey,S;if(n&&Array.isArray(g)&&!Array.isArray(g[0])&&i==="axis"?(S=Qy(g,n,a),S==null&&(S=o(g,t,s,x))):S=o(g,t,s,x),Array.isArray(S))S.forEach(O=>{var k,A,M=HJ(O),W=M?.name,L=M?.dataKey,H=M?.payload,D=vj(vj({},h),{},{name:W,unit:M?.unit,color:(k=M?.color)!==null&&k!==void 0?k:h?.color,fill:(A=M?.fill)!==null&&A!==void 0?A:h?.fill});f.push(xk({tooltipEntrySettings:D,dataKey:L,payload:H,value:Qe(H,L),name:W==null?void 0:String(W)}))});else{var w;f.push(xk({tooltipEntrySettings:h,dataKey:b,payload:S,value:Qe(S,b),name:(w=Qe(S,x))!==null&&w!==void 0?w:h?.name}))}return f},d)}};var oC=J([Dr,TN,$d],$x),KJ=J([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),qJ=J([Tr,Vl],Rm),Rl=J([KJ,Dr,qJ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),YJ=J([Rl],e=>e.filter(du)),yj=J([Rl],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),GJ=J([Rl],e=>e.some(t=>!t.data)),Wi=J([yj,Rn],rv),XJ=J([YJ,Rn,Dr],tx),iC=J([Wi,Dr,Rl,Rn,GJ,yj],IN),hj=J([Dr],Wx),ZJ=J([Dr],e=>e.allowDataOverflow),xj=J([hj,ZJ],W0),QJ=J([Rl],e=>e.filter(du)),JJ=J([XJ,QJ,Fl,Y0],jN),RJ=J([JJ,Rn,Tr,xj],zN),eR=J([Rl],MN),tR=J([Wi,Dr,eR,of,Tr,e6],av,{memoizeOptions:{resultEqualityCheck:fu}}),rR=J([LN,Tr,Vl],Eu),nR=J([rR,Tr],UN),aR=J([BN,Tr,Vl],Eu),oR=J([aR,Tr],FN),iR=J([$N,Tr,Vl],Eu),lR=J([iR,Tr],WN),sR=J([nR,lR,oR],Jm),uR=J([Dr,hj,xj,RJ,tR,sR,qe,Tr],ov),es=J([Dr,qe,Wi,iC,Fl,Tr,uR],iv),cR=J([es,Dr,oC],lv),dR=J([Dr,es,cR,Tr],sv),bj=e=>{var t=Tr(e),r=Vl(e),n=!1;return lf(e,t,r,n)},lC=J([Dr,bj],su),fR=J([Dr,oC,dR,lC],Qm),sC=J([fR],Om),pR=J([qe,iC,Dr,Tr],RN),mR=J([qe,iC,Dr,Tr],GN),vR=(e,t,r,n,a,o,i,l)=>{if(t){var s=t.type,u=wn(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?Ft(a[0]-a[1])*2*d:d,u&&i?i.map((f,p)=>{var m=n.map(f);return He(m)?{coordinate:m+d,value:f,index:p,offset:d}:null}).filter(Yr):n.domain().map((f,p)=>{var m=n.map(f);return He(m)?{coordinate:m+d,value:o?o[f]:f,index:p,offset:d}:null}).filter(Yr)}}},ta=J([qe,Dr,oC,sC,bj,pR,mR,Tr],vR),uC=J([rC,nC,nj],(e,t,r)=>aC(r.shared,e,t)),wj=e=>e.tooltip.settings.trigger,cC=e=>e.tooltip.settings.defaultIndex,cv=J([Fi,uC,wj,cC],eb),Ra=J([cv,Wi,Bi,es],Jl),ob=J([ta,Ra],Xx),uf=J([cv],e=>{if(e)return e.dataKey}),ib=J([cv],e=>{if(e)return e.graphicalItemId}),Sj=J([Fi,uC,wj,cC],rb),gR=J([on,ln,qe,jt,ta,cC,Sj],tb),dC=J([cv,gR],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),fC=J([cv],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),yR=J([Sj,Ra,Rn,Bi,ob,nb,uC],ab),Aj=J([yR],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function kj(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 Nj(e){for(var t=1;twe(Dr),Cj=()=>{var e=wR(),t=we(ta),r=we(sC);return!e||!r?Ya(void 0,t):Ya(Nj(Nj({},e),{},{scale:r}),t)};function Ej(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 cf(e){for(var t=1;t{var a=t.find(o=>o&&o.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}},Oj=(e,t,r,n)=>{var a=t.find(u=>u&&u.index===r);if(a){if(e==="centric"){var o=a.coordinate,i=n.radius;return cf(cf(cf({},n),qt(n.cx,n.cy,i,o)),{},{angle:o,radius:i})}var l=a.coordinate,s=n.angle;return cf(cf(cf({},n),qt(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 Tj(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 pC=(e,t,r,n,a)=>{var o,i=(o=t?.length)!==null&&o!==void 0?o:0;if(i<=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=(Y,N,_)=>[e,e+l,e-l].some(z=>(_?z>=Y:z>Y)&&z<=N),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[i-1])===null||d===void 0?void 0:d.coordinate,h=(f=r[u])===null||f===void 0?void 0:f.coordinate,v=u>=i-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(m=r[u+1])===null||m===void 0?void 0:m.coordinate,g=void 0;if(!(y==null||h==null||v==null))if(Ft(h-y)!==Ft(v-h)){var b=[];if(Ft(v-h)===Ft(a[1]-a[0])){g=v;var x=h+a[1]-a[0];b[0]=Math.min(x,(x+y)/2),b[1]=Math.max(x,(x+y)/2)}else{g=y;var S=v+a[1]-a[0];b[0]=Math.min(h,(S+h)/2),b[1]=Math.max(h,(S+h)/2)}var w=[Math.min(h,(g+h)/2),Math.max(h,(g+h)/2)];if(s(w[0],w[1],!1)||s(b[0],b[1],!0)){var O;return(O=r[u])===null||O===void 0?void 0:O.index}}else{var k=Math.min(y,v),A=Math.max(y,v);if(s((k+h)/2,(A+h)/2,!1)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}}else if(t)for(var W=0;W(L.coordinate+D.coordinate)/2||W>0&&W(L.coordinate+D.coordinate)/2&&e<=(L.coordinate+H.coordinate)/2)return L.index}}return-1};var lb=()=>we($d),mC=(e,t)=>t,Mj=(e,t,r)=>r,vC=(e,t,r,n)=>n,Pj=J(ta,e=>Ti(e,t=>t.coordinate)),gC=J([Fi,mC,Mj,vC],eb),yC=J([gC,Wi,Bi,es],Jl),Dj=(e,t,r)=>{if(t!=null){var n=Fi(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Ij=J([Fi,mC,Mj,vC],rb),dv=J([on,ln,qe,jt,ta,vC,Ij],tb),jj=J([gC,dv],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),hC=J([ta,yC],Xx),zj=J([Ij,yC,Rn,Bi,hC,nb,mC],ab),Lj=J([gC,yC],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),NR=(e,t,r,n,a,o,i)=>{if(!(!e||!r||!n||!a)&&Tj(e,i)){var l=cD(e,t),s=pC(l,o,a,r,n),u=_j(t,a,s,e);return{activeIndex:String(s),activeCoordinate:u}}},CR=(e,t,r,n,a,o,i)=>{if(!(!e||!n||!a||!o||!r)){var l=U8(e,r);if(l){var s=dD(l,t),u=pC(s,i,o,n,a),c=Oj(t,o,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},Bj=(e,t,r,n,a,o,i,l)=>{if(!(!e||!t||!n||!a||!o))return t==="horizontal"||t==="vertical"?NR(e,t,n,a,o,i,l):CR(e,t,r,n,a,o,i)};var df=te(ne()),Gj=te(rp());var $j=J(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),Uj=J(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:y6}});function Fj(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 Wj(e){for(var t=1;tWj(Wj({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),TR)},PR=new Set(Object.values(dt));function DR(e){return PR.has(e)}var Hj=Ct({name:"zIndex",initialState:MR,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:Pt()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!DR(r)&&delete e.zIndexMap[r])},prepare:Pt()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=tt(a):e.zIndexMap[n].element=tt(a):e.zIndexMap[n]={consumers:0,element:o?void 0:tt(a),panoramaElement:o?tt(a):void 0}},prepare:Pt()},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:Pt()}}}),sb=Hj.actions,Vj=sb.registerZIndexPortal,ub=sb.unregisterZIndexPortal,Kj=sb.registerZIndexPortalElement,qj=sb.unregisterZIndexPortalElement;var Yj=Hj.reducer;function Yt(e){var t=e.zIndex,r=e.children,n=CD(),a=n&&t!==void 0&&t!==0,o=Et(),i=(0,df.useRef)(void 0),l=(0,df.useRef)(new Set),s=Ve(),u=we(d=>$j(d,t,o));if((0,df.useLayoutEffect)(()=>{if(!a){var d=l.current;d.forEach(p=>{s(ub({zIndex:p}))}),d.clear(),i.current=void 0;return}if(l.current.has(t)||(s(Vj({zIndex:t})),l.current.add(t)),u){i.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(ub({zIndex:p})),f.delete(p))})}},[s,t,a,u]),(0,df.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(ub({zIndex:f}))}),d.clear()}},[s]),!a)return r;var c=u??i.current;return c?(0,Gj.createPortal)(r,c):null}function xC(){return xC=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,fb.useContext)(bC);var pv=te(ne());var ez=te(Rj(),1);var tz=ez.default;var pf=new tz;var mb="recharts.syncEvent.tooltip",SC="recharts.syncEvent.brush";var ts=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!nn(r))return e[r]}},FR={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},rz=Ct({name:"options",initialState:FR,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),nz=rz.reducer,az=rz.actions.createEventEmitter;function oz(e){return e.tooltip.syncInteraction}var WR={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},iz=Ct({name:"chartData",initialState:WR,reducers:{setChartData(e,t){if(e.chartData=tt(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)}}}),AC=iz.actions,kC=AC.setChartData,lz=AC.setDataStartEndIndexes,HR=AC.setComputedData;var sz=iz.reducer;var VR=["x","y"];function uz(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 mf(e){for(var t=1;ts.rootProps.className);(0,pv.useEffect)(()=>{if(e==null)return Pn;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var f;if(i&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,m=p.x,y=p.y,h=GR(p,VR),v=c.payload.sourceViewBox,g=v.x,b=v.y,x=v.width,S=v.height,w=mf(mf({},h),{},{x:i.x+(x?(m-g)/x:0)*i.width,y:i.y+(S?(y-b)/S:0)*i.height});r(mf(mf({},c),{},{payload:mf(mf({},c.payload),{},{coordinate:w})}))}else r(c);return}if(a!=null){var O;if(typeof n=="function"){var k={activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate},A=n(a,k);O=a[A]}else n==="value"&&(O=a.find(_=>String(_.value)===c.payload.label));var M=c.payload.coordinate;if(M==null||i==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(O==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var W=M.x,L=M.y,H=Math.min(W,i.x+i.width),D=Math.min(L,i.y+i.height),Y={x:o==="horizontal"?O.coordinate:H,y:o==="horizontal"?D:O.coordinate},N=sf({active:c.payload.active,coordinate:Y,dataKey:c.payload.dataKey,index:String(O.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(N)}}};return pf.on(mb,s),()=>{pf.off(mb,s)}},[l,r,t,e,n,a,o,i])}function QR(){var e=we(G0),t=we(X0),r=Ve();(0,pv.useEffect)(()=>{if(e==null)return Pn;var n=(a,o,i)=>{t!==i&&e===a&&r(lz(o))};return pf.on(SC,n),()=>{pf.off(SC,n)}},[r,t,e])}function cz(){var e=Ve();(0,pv.useEffect)(()=>{e(az())},[e]),ZR(),QR()}function dz(e,t,r,n,a,o){var i=we(m=>Dj(m,e,t)),l=we(ib),s=we(X0),u=we(G0),c=we(Wk),d=we(oz),f=d?.sourceViewBox!=null,p=nu();(0,pv.useEffect)(()=>{if(!f&&u!=null&&s!=null){var m=sf({active:o,coordinate:r,dataKey:i,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});pf.emit(mb,u,m,s)}},[f,r,i,l,a,n,s,u,c,o,p])}function fz(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 pz(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{O(sj({shared:g,trigger:b,axisId:w,active:a,defaultIndex:k}))},[O,g,b,w,a,k]);var A=nu(),M=N0(),W=rj(g),L=(t=we(K=>Lj(K,W,b,k)))!==null&&t!==void 0?t:{},H=L.activeIndex,D=L.isActive,Y=we(K=>zj(K,W,b,k)),N=we(K=>hC(K,W,b,k)),_=we(K=>jj(K,W,b,k)),z=Y,j=Qj(),P=(r=a??D)!==null&&r!==void 0?r:!1,B=Bh([z,P]),R=tee(B,2),F=R[0],G=R[1],ee=W==="axis"?N:void 0;dz(W,b,_,ee,H,P);var fe=S??j;if(fe==null||A==null||W==null)return null;var de=z??vz;P||(de=vz),u&&de.length&&(de=Ph(de.filter(K=>K.value!=null&&(K.hide!==!0||n.includeHidden)),f,iee));var De=de.length>0,le=pz(pz({},n),{},{payload:de,label:ee,active:P,activeIndex:H,coordinate:_,accessibilityLayer:M}),Te=eo.createElement(QD,{allowEscapeViewBox:o,animationDuration:i,animationEasing:l,isAnimationActive:c,active:P,coordinate:_,hasPayload:De,offset:d,position:p,reverseDirection:m,useTranslate3d:y,viewBox:A,wrapperStyle:h,lastBoundingBox:F,innerRef:G,hasPortalFromProps:!!S},lee(s,le));return eo.createElement(eo.Fragment,null,(0,yz.createPortal)(Te,fe),P&&eo.createElement(Zj,{cursor:v,tooltipEventType:W,coordinate:_,payload:de,index:H}))}var Hi=e=>null;Hi.displayName="Cell";var CC=te(ne()),hb=te(ne());function uee(e,t,r){return(t=cee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cee(e){var t=dee(e,"string");return typeof t=="symbol"?t:t+""}function dee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var vb=class{constructor(t){uee(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 hz(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 fee(e){for(var t=1;t{try{var r=document.getElementById(bz);r||(r=document.createElement("span"),r.setAttribute("id",bz),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,yee,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},_u=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ga.isSsr)return{width:0,height:0};if(!Sz.enableCache)return wz(t,r);var n=hee(t,r),a=xz.get(n);if(a)return a;var o=wz(t,r);return xz.set(n,o),o};var Ez;function gb(e,t){return See(e)||wee(e,t)||bee(e,t)||xee()}function xee(){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 bee(e,t){if(e){if(typeof e=="string")return Az(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)?Az(e,t):void 0}}function Az(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=[];ct(t)||(r?a=t.toString().split(""):a=t.toString().split(Iz));var o=a.map(l=>({word:l,width:_u(l,n).width})),i=r?0:_u("\xA0",n).width;return{wordsWithComputedWidth:o,spaceWidth:i}}catch{return null}};function xb(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function zz(e){return ct(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Lz=(e,t,r,n)=>e.reduce((a,o)=>{var i=o.word,l=o.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),Wee="\u2026",Pz=(e,t,r,n,a,o,i,l)=>{var s=e.slice(0,t),u=jz({breakAll:r,style:n,children:s+Wee});if(!u)return[!1,[]];var c=Lz(u.wordsWithComputedWidth,o,i,l),d=c.length>a||Bz(c).width>Number(o);return[d,c]},Hee=(e,t,r,n,a)=>{var o=e.maxLines,i=e.children,l=e.style,s=e.breakAll,u=be(o),c=String(i),d=Lz(t,n,r,a);if(!u||a)return d;var f=d.length>o||Bz(d).width>Number(n);if(!f)return d;for(var p=0,m=c.length-1,y=0,h;p<=m&&y<=c.length-1;){var v=Math.floor((p+m)/2),g=v-1,b=Pz(c,g,s,l,o,n,r,a),x=Tz(b,2),S=x[0],w=x[1],O=Pz(c,v,s,l,o,n,r,a),k=Tz(O,1),A=k[0];if(!S&&!A&&(p=v+1),S&&A&&(m=v-1),!S&&A){h=w;break}y++}return h||d},Dz=e=>{var t=ct(e)?[]:e.toString().split(Iz);return[{words:t,width:void 0}]},Vee=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,o=e.breakAll,i=e.maxLines;if((t||r)&&!Ga.isSsr){var l,s,u=jz({breakAll:o,children:n,style:a});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return Dz(n);return Hee({breakAll:o,children:n,maxLines:i,style:a},l,s,t,!!r)}return Dz(n)},$z="#808080",Kee={angle:0,breakAll:!1,capHeight:"0.71em",fill:$z,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Ou=(0,hb.forwardRef)((e,t)=>{var r=lt(e,Kee),n=r.x,a=r.y,o=r.lineHeight,i=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=Oz(r,jee),f=(0,hb.useMemo)(()=>Vee({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:s,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,s,d.style,d.width]),p=d.dx,m=d.dy,y=d.angle,h=d.className,v=d.breakAll,g=Oz(d,zee);if(!Mn(n)||!Mn(a)||f.length===0)return null;var b=Number(n)+(be(p)?p:0),x=Number(a)+(be(m)?m:0);if(!He(b)||!He(x))return null;var S;switch(c){case"start":S=yb("calc(".concat(i,")"));break;case"middle":S=yb("calc(".concat((f.length-1)/2," * -").concat(o," + (").concat(i," / 2))"));break;default:S=yb("calc(".concat(f.length-1," * -").concat(o,")"));break}var w=[],O=f[0];if(s&&O!=null){var k=O.width,A=d.width;w.push("scale(".concat(be(A)&&be(k)?A/k:1,")"))}return y&&w.push("rotate(".concat(y,", ").concat(b,", ").concat(x,")")),w.length&&(g.transform=w.join(" ")),CC.createElement("text",NC({},rr(g),{ref:t,x:b,y:x,className:Ue("recharts-text",h),textAnchor:u,fill:l.includes("url")?$z:l}),f.map((M,W)=>{var L=M.words.join(v?"":" ");return CC.createElement("tspan",{x:b,dy:W===0?S:o,key:"".concat(L,"-").concat(W)},L)}))});Ou.displayName="Text";var ra=te(ne()),Xr=te(ne());var qee=["labelRef"],Yee=["content"];function Uz(e,t){if(e==null)return{};var r,n,a=Gee(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,o=e.width,i=e.height,l=e.children,s=(0,Xr.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:o,height:i}),[t,r,n,a,o,i]);return ra.createElement(Wz.Provider,{value:s},l)},Vz=()=>{var e=(0,Xr.useContext)(Wz),t=nu();return e||(t?rm(t):void 0)},Kz=(0,Xr.createContext)(null),qz=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=e.clockWise,s=e.children,u=(0,Xr.useMemo)(()=>({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:o,endAngle:i,clockWise:l}),[t,r,n,a,o,i,l]);return ra.createElement(Kz.Provider,{value:u},s)},Jee=()=>{var e=(0,Xr.useContext)(Kz),t=we(ex);return e||t},Ree=e=>{var t=e.value,r=e.formatter,n=ct(e.children)?t:e.children;return typeof r=="function"?r(n):n},Mu=e=>e!=null&&typeof e=="function",ete=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},tte=(e,t,r,n,a)=>{var o=e.offset,i=e.className,l=a.cx,s=a.cy,u=a.innerRadius,c=a.outerRadius,d=a.startAngle,f=a.endAngle,p=a.clockWise,m=(u+c)/2,y=ete(d,f),h=y>=0?1:-1,v,g;switch(t){case"insideStart":v=d+h*o,g=p;break;case"insideEnd":v=f-h*o,g=!p;break;case"end":v=f+h*o,g=p;break;default:throw new Error("Unsupported position ".concat(t))}g=y<=0?g:!g;var b=qt(l,s,m,v),x=qt(l,s,m,v+(g?1:-1)*359),S="M".concat(b.x,",").concat(b.y,` - A`).concat(m,",").concat(m,",0,1,").concat(g?0:1,`, - `).concat(x.x,",").concat(x.y),w=ct(e.id)?Ci("recharts-radial-line-"):e.id;return ra.createElement("text",Ki({},n,{dominantBaseline:"central",className:Ue("recharts-radial-bar-label",i)}),ra.createElement("defs",null,ra.createElement("path",{id:w,d:S})),ra.createElement("textPath",{xlinkHref:"#".concat(w)},r))},rte=(e,t,r)=>{var n=e.cx,a=e.cy,o=e.innerRadius,i=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=qt(n,a,i+t,u),d=c.x,f=c.y;return{x:d,y:f,textAnchor:d>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y: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=(o+i)/2,m=qt(n,a,p,u),y=m.x,h=m.y;return{x:y,y:h,textAnchor:"middle",verticalAnchor:"middle"}},gf=e=>e!=null&&"cx"in e&&be(e.cx),nte={angle:0,offset:5,zIndex:dt.label,position:"middle",textBreakAll:!1};function ate(e){if(!gf(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=lt(e,nte),a=n.viewBox,o=n.parentViewBox,i=n.position,l=n.value,s=n.children,u=n.content,c=n.className,d=c===void 0?"":c,f=n.textBreakAll,p=n.labelRef,m=Jee(),y=Vz(),h=i==="center"?y:m??y,v,g,b;a==null?v=h:gf(a)?v=a:v=rm(a);var x=ate(v);if(!v||ct(l)&&ct(s)&&!(0,Xr.isValidElement)(u)&&typeof u!="function")return null;var S=gf(v)&&(i==="insideStart"||i==="insideEnd"||i==="end");if(gf(v))S||(b=rte(v,n.offset,n.position));else if(x){var w=Jy({viewBox:x,position:i,offset:n.offset,parentViewBox:gf(o)?void 0:o,clamp:!0});b=Tu(Tu({x:w.x,y:w.y,textAnchor:w.horizontalAnchor,verticalAnchor:w.verticalAnchor},w.width!==void 0?{width:w.width}:{}),w.height!==void 0?{height:w.height}:{})}var O=Tu(Tu(Tu(Tu({},((t=b)===null||t===void 0?void 0:t.x)!==void 0?{x:b.x}:{}),((r=b)===null||r===void 0?void 0:r.y)!==void 0?{y:b.y}:{}),n),{},{viewBox:v});if((0,Xr.isValidElement)(u)){var k=O.labelRef,A=Uz(O,qee);return(0,Xr.cloneElement)(u,A)}if(typeof u=="function"){var M=O.content,W=Uz(O,Yee);if(g=(0,Xr.createElement)(u,W),(0,Xr.isValidElement)(g))return g}else g=Ree(n);var L=rr(n);return S&&gf(v)?tte(n,i,g,L,v):b==null?null:ra.createElement(Yt,{zIndex:n.zIndex},ra.createElement(Ou,Ki({ref:p,className:Ue("recharts-label",d)},L,b,{textAnchor:xb(L.textAnchor)?L.textAnchor:b.textAnchor,breakAll:f}),g))}Vi.displayName="Label";var ote=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?ra.createElement(Vi,Ki({key:"label-implicit"},n)):Mn(e)?ra.createElement(Vi,Ki({key:"label-implicit",value:e},n)):(0,Xr.isValidElement)(e)?e.type===Vi?(0,Xr.cloneElement)(e,Tu({key:"label-implicit"},n)):ra.createElement(Vi,Ki({key:"label-implicit",content:e},n)):Mu(e)?ra.createElement(Vi,Ki({key:"label-implicit",content:e},n)):e&&typeof e=="object"?ra.createElement(Vi,Ki({},e,{key:"label-implicit"},n)):null};function Yz(e){var t=e.label,r=e.labelRef,n=Vz();return ote(t,n,r)||null}var qi=te(ne()),yf=te(ne());var ite=["valueAccessor"],lte=["dataKey","clockWise","id","textBreakAll","zIndex"];function wb(){return wb=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(zz(t))return t},Xz=(0,yf.createContext)(void 0),hf=Xz.Provider,Zz=(0,yf.createContext)(void 0),Qz=Zz.Provider;function cte(){return(0,yf.useContext)(Xz)}function dte(){return(0,yf.useContext)(Zz)}function bb(e){var t=e.valueAccessor,r=t===void 0?ute:t,n=Gz(e,ite),a=n.dataKey,o=n.clockWise,i=n.id,l=n.textBreakAll,s=n.zIndex,u=Gz(n,lte),c=cte(),d=dte(),f=c||d;return!f||!f.length?null:qi.createElement(Yt,{zIndex:s??dt.label},qi.createElement(bt,{className:"recharts-label-list"},f.map((p,m)=>{var y,h=ct(a)?r(p,m):Qe(p.payload,a),v=ct(i)?{}:{id:"".concat(i,"-").concat(m)};return qi.createElement(Vi,wb({key:"label-".concat(m)},rr(p),u,v,{fill:(y=n.fill)!==null&&y!==void 0?y:p.fill,parentViewBox:p.parentViewBox,value:h,textBreakAll:l,viewBox:p.viewBox,index:m,zIndex:0}))})))}bb.displayName="LabelList";function as(e){var t=e.label;return t?t===!0?qi.createElement(bb,{key:"labelList-implicit"}):qi.isValidElement(t)||Mu(t)?qi.createElement(bb,{key:"labelList-implicit",content:t}):typeof t=="object"?qi.createElement(bb,wb({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var Jz=te(ne());function EC(){return EC=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,o=Ue("recharts-dot",a);return be(t)&&be(r)&&be(n)?Jz.createElement("circle",EC({},tr(e),gd(e),{className:o,cx:t,cy:r,r:n})):null};var _C=e=>e.graphicalItems.polarItems,fte=J([nr,cu],Rm),Ab=J([_C,ur,fte],ev),pte=J([Ab],tv),kb=J([pte,iu],rv),mte=J([kb,ur,Ab],DN),CCe=J([kb,ur,Ab],(e,t,r)=>r.length>0?e.flatMap(n=>r.flatMap(a=>{var o,i=Qe(n,(o=t.dataKey)!==null&&o!==void 0?o:a.dataKey);return{value:i,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey),errorDomain:[]})):e.map(n=>({value:n,errorDomain:[]}))),Rz=()=>{},vte=J([kb,ur,Ab,of,nr,R8],av),gte=J([ur,Hx,Vx,Rz,vte,Rz,qe,nr],ov),eL=J([ur,qe,kb,mte,Fl,nr,gte],iv),yte=J([eL,Cu,$i],lv),hte=J([ur,eL,yte,nr],sv),ECe=J([$i,hte],rx);var xte={radiusAxis:{},angleAxis:{}},tL=Ct({name:"polarAxis",initialState:xte,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=tt(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=tt(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Nb=tL.actions,MCe=Nb.addRadiusAxis,PCe=Nb.removeRadiusAxis,DCe=Nb.addAngleAxis,ICe=Nb.removeAngleAxis;var rL=tL.reducer;function Cb(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var Re=te(ne()),Nf=te(ne());function nL(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 aL(e){for(var t=1;tt,OC=J([_C,Ate],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),kte=[],TC=(e,t,r)=>r?.length===0?kte:r,oL=J([iu,OC,TC],(e,t,r)=>{var n=e.chartData;if(t!=null){var a;if(t?.data!=null&&t.data.length>0?a=t.data:a=n,(!a||!a.length)&&r!=null&&(a=r.map(o=>aL(aL({},t.presentationProps),o.props))),a!=null)return a}}),iL=J([oL,OC,TC],(e,t,r)=>{if(!(e==null||t==null))return e.map((n,a)=>{var o,i=Qe(n,t.nameKey,t.name),l;return r!=null&&(o=r[a])!==null&&o!==void 0&&(o=o.props)!==null&&o!==void 0&&o.fill?l=r[a].props.fill:typeof n=="object"&&n!=null&&"fill"in n?l=n.fill:l=t.fill,{value:wa(i,t.dataKey),dataKey:t.dataKey,color:l,payload:n,type:t.legendType}})}),lL=J([oL,OC,TC,jt],(e,t,r,n)=>{if(!(t==null||e==null))return sL({offset:n,pieSettings:t,displayedData:e,cells:r})});var mL=te(ne()),vL=te(dL());var fL=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",pL=null,DC=null,gL=e=>{if(e===pL&&Array.isArray(DC))return DC;var t=[];return mL.Children.forEach(e,r=>{ct(r)||((0,vL.isFragment)(r)?t=t.concat(gL(r.props.children)):t.push(r))}),DC=t,pL=e,t};function mv(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(a=>fL(a)):n=[fL(t)],gL(e).forEach(a=>{var o=rn(a,"type.displayName")||rn(a,"type.name");o&&n.indexOf(o)!==-1&&r.push(a)}),r}var xf=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var bf=te(ne()),vv=te(ne());function yL(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 hL(e){for(var t=1;t{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(Zx({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}},yv=e=>{var t=Ve();return(r,n)=>a=>{e?.(r,n,a),t(uj())}},hv=(e,t,r)=>{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(cj({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}};var xv=te(ne());function is(e){var t=e.tooltipEntrySettings,r=Ve(),n=Et(),a=(0,xv.useRef)(null);return(0,xv.useLayoutEffect)(()=>{n||(a.current===null?r(oj(t)):a.current!==t&&r(ij({prev:a.current,next:t})),a.current=t)},[t,r,n]),(0,xv.useLayoutEffect)(()=>()=>{a.current&&(r(lj(a.current)),a.current=null)},[r]),null}var ls=te(ne());function wf(e){var t=e.legendPayload,r=Ve(),n=Et(),a=(0,ls.useRef)(null);return(0,ls.useLayoutEffect)(()=>{n||(a.current===null?r(Ak(t)):a.current!==t&&r(kk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,ls.useLayoutEffect)(()=>()=>{a.current&&(r(Nk(a.current)),a.current=null)},[r]),null}function bL(e){var t=e.legendPayload,r=Ve(),n=we(qe),a=(0,ls.useRef)(null);return(0,ls.useLayoutEffect)(()=>{n!=="centric"&&n!=="radial"||(a.current===null?r(Ak(t)):a.current!==t&&r(kk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,ls.useLayoutEffect)(()=>()=>{a.current&&(r(Nk(a.current)),a.current=null)},[r]),null}var AL=te(ne()),Sv=te(ne());function Ite(e,t){return Bte(e)||Lte(e,t)||zte(e,t)||jte()}function jte(){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 zte(e,t){if(e){if(typeof e=="string")return wL(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)?wL(e,t):void 0}}function wL(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 o=0;oe[Math.floor(o*r)]);return IC(n,t)}function Ute(e,t){var r=t.map((n,a)=>e[a]);return IC(r,t)}function Fte(e,t){for(var r=new Map,n=0;n{var p=r(d,f);if(p!=null){var m=n.get(p);if(m!==void 0)return a.add(p),m}}),i=[];for(var l of n){var s=Ite(l,2),u=s[0],c=s[1];a.has(u)||i.push(c)}return IC(o,t,i)}function wv(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Pu?$te(e,t):r===bv?Ute(e,t):Wte(e,t,r)}var Sf=te(ne());function Lb(e,t){var r=(0,Sf.useRef)(e),n=(0,Sf.useRef)(t.current),a=(0,Sf.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var o=(0,Sf.useCallback)(function(i,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=i),l>0&&a.current&&s&&(t.current=i)},[t]);return{startValue:n.current,syncStepValue:o}}function Hte(e,t){return Yte(e)||qte(e,t)||Kte(e,t)||Vte()}function Vte(){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 Kte(e,t){if(e){if(typeof e=="string")return SL(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)?SL(e,t):void 0}}function SL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),l=(0,Sv.useCallback)(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:a,handleAnimationStart:i,handleAnimationEnd:l}}function us(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,o=e.previousItemsRef,i=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,y=e.children,h=e.layout,v=M0(r,n),g=Lb(v,o),b=(t=g.startValue)!==null&&t!==void 0?t:null,x=wv(b,a,p??Pu);return AL.createElement(T0,{animationId:v,begin:l,duration:s,isActive:i,easing:u,onAnimationEnd:d,onAnimationStart:c,key:v},S=>{var w=b==null,O=a==null?a:f(x,S,h),k=m?m(S):S>0;return g.syncStepValue(O,S,k),O==null?null:y(O,S,w)})}var CL=te(ne()),zC=te(ne());var Bb=te(ne());var jC;function Gte(e,t){return Jte(e)||Qte(e,t)||Zte(e,t)||Xte()}function Xte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zte(e,t){if(e){if(typeof e=="string")return kL(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)?kL(e,t):void 0}}function kL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=Bb.useState(()=>Ci("uid-")),t=Gte(e,1),r=t[0];return r},$b=(jC=Bb.useId)!==null&&jC!==void 0?jC:Rte;function NL(e,t){var r=$b();return t||(e?"".concat(e,"-").concat(r):r)}var ere=(0,zC.createContext)(void 0),cs=e=>{var t=e.id,r=e.type,n=e.children,a=NL("recharts-".concat(r),t);return CL.createElement(ere.Provider,{value:a},n(a))};var ko=te(ne());var tre={cartesianItems:[],polarItems:[]},EL=Ct({name:"graphicalItems",initialState:tre,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(tt(t.payload))},prepare:Pt()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).cartesianItems.indexOf(tt(n));o>-1&&(e.cartesianItems[o]=tt(a))},prepare:Pt()},removeCartesianGraphicalItem:{reducer(e,t){var r=yn(e).cartesianItems.indexOf(tt(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Pt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(tt(t.payload))},prepare:Pt()},removePolarGraphicalItem:{reducer(e,t){var r=yn(e).polarItems.indexOf(tt(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Pt()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).polarItems.indexOf(tt(n));o>-1&&(e.polarItems[o]=tt(a))},prepare:Pt()}}}),Af=EL.actions,_L=Af.addCartesianGraphicalItem,OL=Af.replaceCartesianGraphicalItem,TL=Af.removeCartesianGraphicalItem,ML=Af.addPolarGraphicalItem,PL=Af.removePolarGraphicalItem,DL=Af.replacePolarGraphicalItem;var IL=EL.reducer;var rre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(_L(e)):r.current!==e&&t(OL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(TL(r.current)),r.current=null)},[t]),null},kf=(0,ko.memo)(rre),nre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(ML(e)):r.current!==e&&t(DL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(PL(r.current)),r.current=null)},[t]),null},jL=(0,ko.memo)(nre);var are=["key"],ore=["onMouseEnter","onClick","onMouseLeave"],ire=["id"],lre=["id"];function Du(){return Du=Object.assign?Object.assign.bind():function(e){for(var t=1;tmv(e.children,Hi),[e.children]),r=we(n=>iL(n,e.id,t));return r==null?null:Re.createElement(bL,{legendPayload:r})}function pre(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(Re.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var n=e.fill;return typeof n=="string"?n:void 0}}var mre=Re.memo(e=>{var t=e.dataKey,r=e.nameKey,n=e.sectors,a=e.stroke,o=e.strokeWidth,i=e.fill,l=e.name,s=e.hide,u=e.tooltipType,c=e.formatter,d=e.id,f=e.activeShape,p=pre(f),m=n.map(h=>{var v=h.tooltipPayload;return p==null||v==null?v:v.map(g=>cr(cr({},g),{},{color:p,fill:p}))}),y={dataDefinedOnItem:m,getPosition:h=>{var v;return(v=n[Number(h)])===null||v===void 0?void 0:v.tooltipPosition},settings:{stroke:a,strokeWidth:o,fill:i,dataKey:t,nameKey:r,name:wa(l,t),hide:s,type:u,color:i,unit:"",formatter:c,graphicalItemId:d}};return Re.createElement(is,{tooltipEntrySettings:y})}),vre=(e,t)=>e>t?"start":etypeof t=="function"?vr(t(e),r,r*.8):vr(t,r,r*.8),yre=(e,t,r)=>{var n=t.top,a=t.left,o=t.width,i=t.height,l=j0(o,i),s=a+vr(e.cx,o,o/2),u=n+vr(e.cy,i,i/2),c=vr(e.innerRadius,l,0),d=gre(r,e.outerRadius,l),f=e.maxRadius||Math.sqrt(o*o+i*i)/2;return{cx:s,cy:u,innerRadius:c,outerRadius:d,maxRadius:f}},hre=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},xre=(e,t)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);if(typeof e=="function")return e(t);var r=Ue("recharts-pie-label-line",typeof e!="boolean"?e.className:""),n=t.key,a=Ub(t,are);return Re.createElement(Fo,Du({},a,{type:"linear",className:r}))},bre=(e,t,r)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);var n=r;if(typeof e=="function"&&(n=e(t),Re.isValidElement(n)))return n;var a=Ue("recharts-pie-label-text",Cb(e));return Re.createElement(Ou,Du({},t,{alignmentBaseline:"middle",className:a}),n)};function wre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label,o=r.labelLine,i=r.dataKey;if(!n||!a||!t)return null;var l=tr(r),s=ga(a),u=ga(o),c=typeof a=="object"&&"offsetRadius"in a&&typeof a.offsetRadius=="number"&&a.offsetRadius||20,d=t.map((f,p)=>{var m=(f.startAngle+f.endAngle)/2,y=qt(f.cx,f.cy,f.outerRadius+c,m),h=cr(cr(cr(cr({},l),f),{},{stroke:"none"},s),{},{index:p,textAnchor:vre(y.x,f.cx)},y),v=cr(cr(cr(cr({},l),f),{},{fill:"none",stroke:f.fill},u),{},{index:p,points:[qt(f.cx,f.cy,f.outerRadius,m),y],key:"line"});return Re.createElement(Yt,{zIndex:dt.label,key:"label-".concat(f.startAngle,"-").concat(f.endAngle,"-").concat(f.midAngle,"-").concat(p)},Re.createElement(bt,null,o&&xre(o,v),bre(a,h,Qe(f,i))))});return Re.createElement(bt,{className:"recharts-pie-labels"},d)}function Sre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label;return typeof a=="object"&&a!=null&&"position"in a?Re.createElement(as,{label:a}):Re.createElement(wre,{sectors:t,props:r,showLabels:n})}function Are(e){var t=e.sectors,r=e.activeShape,n=e.inactiveShape,a=e.allOtherPieProps,o=e.shape,i=e.id,l=e.animationElapsedTime,s=e.isAnimating,u=e.isEntrance,c=we(Ra),d=we(uf),f=we(ib),p=a.onMouseEnter,m=a.onClick,y=a.onMouseLeave,h=Ub(a,ore),v=gv(p,a.dataKey,i),g=yv(y),b=hv(m,a.dataKey,i);return t==null||t.length===0?null:Re.createElement(Re.Fragment,null,t.map((x,S)=>{if(x?.startAngle===0&&x?.endAngle===0&&t.length!==1)return null;var w=f==null||f===i,O=String(S)===c&&(d==null||a.dataKey===d)&&w,k=c?n:null,A=r&&O?r:k,M=cr(cr({},x),{},{stroke:x.stroke,tabIndex:-1,index:S,isActive:O,animationElapsedTime:l,isAnimating:s,isEntrance:u,[p0]:S,[m0]:i});return Re.createElement(bt,Du({key:"sector-".concat(x?.startAngle,"-").concat(x?.endAngle,"-").concat(x.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},_i(h,x,S),{onMouseEnter:v(x,S),onMouseLeave:g(x,S),onClick:b(x,S)}),Re.createElement(os,{option:A??o,DefaultShape:LL,shapeProps:M}))}))}function sL(e){var t,r=e.pieSettings,n=e.displayedData,a=e.cells,o=e.offset,i=r.cornerRadius,l=r.startAngle,s=r.endAngle,u=r.dataKey,c=r.nameKey,d=r.tooltipType,f=Math.abs(r.minAngle),p=hre(l,s),m=Math.abs(p),y=n.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,h=n.filter(k=>Qe(k,u,0)!==0).length,v=(m>=360?h:h-1)*y,g=n.reduce((k,A)=>{var M=Qe(A,u,0);return k+(be(M)?M:0)},0),b=f>0&&g>0&&n.some(k=>{var A=Qe(k,u,0),M=(be(A)?A:0)/g;return A!==0&&M*m0){var O;w=n.map((k,A)=>{var M=Qe(k,u,0),W=Qe(k,c,A),L=yre(r,o,k),H=(be(M)?M:0)/g,D,Y=cr(cr({},k),a&&a[A]&&a[A].props),N=Y!=null&&"fill"in Y&&typeof Y.fill=="string"?Y.fill:r.fill;A?D=O.endAngle+Ft(p)*y*(M!==0?1:0):D=l;var _=D+Ft(p)*((M!==0?x:0)+H*S),z=(D+_)/2,j=(L.innerRadius+L.outerRadius)/2,P=[{name:W,value:M,payload:Y,dataKey:u,type:d,color:N,fill:N,graphicalItemId:r.id}],B=qt(L.cx,L.cy,j,z);return O=cr(cr(cr(cr({},r.presentationProps),{},{percent:H,cornerRadius:typeof i=="string"?parseFloat(i):i,name:W,tooltipPayload:P,midAngle:z,middleRadius:j,tooltipPosition:B},Y),L),{},{value:M,dataKey:u,startAngle:D,endAngle:_,payload:Y,paddingAngle:M!==0?Ft(p)*y:0}),O})}return w}function kre(e){var t=e.showLabels,r=e.sectors,n=e.children,a=(0,Nf.useMemo)(()=>!t||!r?[]:r.map(o=>({value:o.value,payload:o.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:o.cx,cy:o.cy,innerRadius:o.innerRadius,outerRadius:o.outerRadius,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},fill:o.fill})),[r,t]);return Re.createElement(Qz,{value:t?a:void 0},n)}var Nre=(e,t)=>{if(e==null)return[];var r=[],n=e.find(o=>o.status!=="removed"),a=n?n.next.startAngle:0;return e.forEach((o,i)=>{if(o.status!=="removed"){var l=i>0?rn(o.next,"paddingAngle",0):0;if(o.status==="matched"){var s=Nt(o.prev.endAngle-o.prev.startAngle,o.next.endAngle-o.next.startAngle,t),u=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+s+l});r.push(u),a=u.endAngle}else{var c=Nt(0,o.next.endAngle-o.next.startAngle,t),d=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+c+l});r.push(d),a=d.endAngle}}}),r};function Cre(e){var t,r,n,a,o=e.props,i=e.previousSectorsRef,l=e.id,s=o.sectors,u=o.activeShape,c=o.inactiveShape,d=o.animationInterpolateFn,f=ss(o.onAnimationStart,o.onAnimationEnd),p=f.isAnimating,m=f.handleAnimationStart,y=f.handleAnimationEnd,h=ND();if(h==null)return null;var v=s[0];return Re.createElement(kre,{showLabels:!p,sectors:s},Re.createElement(us,{animationInput:o,animationIdPrefix:"recharts-pie-",items:s,previousItemsRef:i,isAnimationActive:o.isAnimationActive,animationBegin:o.animationBegin,animationDuration:o.animationDuration,animationEasing:o.animationEasing,onAnimationStart:m,onAnimationEnd:y,animationInterpolateFn:d,animationMatchBy:o.animationMatchBy,layout:h},(g,b,x)=>Re.createElement(bt,null,Re.createElement(Are,{sectors:g,activeShape:u,inactiveShape:c,allOtherPieProps:o,shape:o.shape,id:l,animationElapsedTime:b,isAnimating:p||b<1,isEntrance:x}))),Re.createElement(Sre,{showLabels:!p,sectors:s,props:o}),Re.createElement(qz,{cx:(t=v?.cx)!==null&&t!==void 0?t:0,cy:(r=v?.cy)!==null&&r!==void 0?r:0,innerRadius:(n=v?.innerRadius)!==null&&n!==void 0?n:0,outerRadius:(a=v?.outerRadius)!==null&&a!==void 0?a:0,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},o.children))}var Ere={animationBegin:400,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Nre,animationMatchBy:bv,cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,shape:LL,startAngle:0,stroke:"#fff",zIndex:dt.area};function _re(e){var t=e.id,r=Ub(e,ire),n=e.hide,a=e.className,o=e.rootTabIndex,i=(0,Nf.useMemo)(()=>mv(e.children,Hi),[e.children]),l=we(c=>lL(c,t,i)),s=(0,Nf.useRef)(null),u=Ue("recharts-pie",a);return n||l==null?(s.current=null,Re.createElement(bt,{tabIndex:o,className:u})):Re.createElement(Yt,{zIndex:e.zIndex},Re.createElement(mre,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),Re.createElement(bt,{tabIndex:o,className:u},Re.createElement(Cre,{props:cr(cr({},r),{},{sectors:l}),previousSectorsRef:s,id:t})))}function Ore(e){var t=lt(e,Ere),r=t.id,n=Ub(t,lre),a=tr(n);return Re.createElement(cs,{id:r,type:"pie"},o=>Re.createElement(Re.Fragment,null,Re.createElement(jL,{type:"pie",id:o,data:n.data,dataKey:n.dataKey,hide:n.hide,angleAxisId:0,radiusAxisId:0,name:n.name,nameKey:n.nameKey,tooltipType:n.tooltipType,legendType:n.legendType,fill:n.fill,cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,paddingAngle:n.paddingAngle,minAngle:n.minAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius,cornerRadius:n.cornerRadius,presentationProps:a,maxRadius:t.maxRadius}),Re.createElement(fre,Du({},n,{id:o})),Re.createElement(_re,Du({},n,{id:o}))))}var Fb=Ore;Fb.displayName="Pie";var Av=te(ne()),Hb=te(ne());var Tre=["points"];function BL(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 LC(e){for(var t=1;t{var v,g,b=LC(LC(LC({r:3},i),f),{},{index:h,cx:(v=y.x)!==null&&v!==void 0?v:void 0,cy:(g=y.y)!==null&&g!==void 0?g:void 0,dataKey:o,value:y.value,payload:y.payload,points:t});return Av.createElement(zre,{key:"dot-".concat(h),option:r,dotProps:b,className:a})}),m={};return l&&s!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Av.createElement(Yt,{zIndex:c},Av.createElement(bt,Wb({className:n},m),p))}var kv=te(ne()),qb=te(ne());function $L(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 Kb(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var QL=J([ZL,on,ln],(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 ds=()=>we(QL),JL=()=>we(Aj);function RL(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 $C(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,o=e.dataKey,i=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=$C($C($C({},l),ga(a)),gd(a)),u;return(0,qb.isValidElement)(a)?u=(0,qb.cloneElement)(a,s):typeof a=="function"?u=a(s):u=kv.createElement(Sb,s),kv.createElement(bt,{className:"recharts-active-dot",clipPath:i},u)};function Nv(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,o=e.clipPath,i=e.zIndex,l=i===void 0?dt.activeDot:i,s=we(Ra),u=JL();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return ct(c)?null:kv.createElement(Yt,{zIndex:l},kv.createElement(Kre,{point:c,childIndex:Number(s),mainColor:r,dataKey:a,activeDot:n,clipPath:o}))}function qre(e,t){return Zre(e)||Xre(e,t)||Gre(e,t)||Yre()}function Yre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gre(e,t){if(e){if(typeof e=="string")return eB(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)?eB(e,t):void 0}}function eB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var n=r??e;if(!ct(n))return vr(n,t,0)},rB=(e,t,r)=>{var n={},a=e.filter(du),o=e.filter(u=>u.stackId==null),i=a.reduce((u,c)=>{var d=u[c.stackId];return d==null&&(d=[]),d.push(c),u[c.stackId]=d,u},n),l=Object.entries(i).map(u=>{var c,d=qre(u,2),f=d[0],p=d[1],m=p.map(h=>h.dataKey),y=tB(t,r,(c=p[0])===null||c===void 0?void 0:c.barSize);return{stackId:f,dataKeys:m,barSize:y}}),s=o.map(u=>{var c=[u.dataKey].filter(f=>f!=null),d=tB(t,r,u.barSize);return{stackId:void 0,dataKeys:c,barSize:d}});return[...l,...s]};function nB(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 Yb(e){for(var t=1;tg+(b.barSize||0),0);f+=(i-1)*l,f>=r&&(f-=(i-1)*l,l=0),f>=r&&d>0&&(c=!0,d*=.9,f=i*d);var p=Math.round((r-f)/2),m={offset:p-l,size:0};s=n.reduce((g,b)=>{var x,S={stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:m.offset+m.size+l,size:c?d:(x=b.barSize)!==null&&x!==void 0?x:0}},w=[...g,S];return m=S.position,w},u)}else{var y=vr(t,r,0,!0);r-2*y-(i-1)*l<=0&&(l=0);var h=(r-2*y-(i-1)*l)/i;h>1&&(h=Math.round(h));var v=He(a)?Math.min(h,a):h;s=n.reduce((g,b,x)=>[...g,{stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:y+i*(h-v)/2+(v+l)*x,size:v}}],u)}return s}}var aB=(e,t,r,n,a,o,i)=>{var l=ct(i)?t:i,s=ene(r,n,a!==o?a:o,e,l);return a!==o&&s!=null&&(s=s.map(u=>Yb(Yb({},u),{},{position:Yb(Yb({},u.position),{},{offset:u.position.offset-a/2})}))),s};var oB=(e,t)=>{var r=Hl(t);if(!(!e||r==null||t==null)){var n=t.stackId;if(n!=null){var a=e[n];if(a){var o=a.stackedData;if(o)return o.find(i=>i.key===r)}}}};var iB=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function lB(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&He(e.zIndex)?e.zIndex:t}var sB=te(ne());var Gb=e=>{var t=e.chartData,r=Ve(),n=Et();return(0,sB.useEffect)(()=>n?()=>{}:(r(kC(t)),()=>{r(kC(void 0))}),[t,r,n]),null};var uB={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},cB=Ct({name:"brush",initialState:uB,reducers:{setBrushSettings(e,t){return t.payload==null?uB:t.payload}}}),o5e=cB.actions.setBrushSettings;var dB=cB.reducer;function tne(e){return(e%180+180)%180}var fB=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=tne(a),i=o*Math.PI/180,l=Math.atan(n/r),s=i>l&&i{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=yn(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=yn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(tt(t.payload))},removeLine:(e,t)=>{var r=yn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Cf=pB.actions,c5e=Cf.addDot,d5e=Cf.removeDot,f5e=Cf.addArea,p5e=Cf.removeArea,m5e=Cf.addLine,v5e=Cf.removeLine;var mB=pB.reducer;var Cv=te(ne()),Ev=te(ne());function nne(e,t){return lne(e)||ine(e,t)||one(e,t)||ane()}function ane(){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 one(e,t){if(e){if(typeof e=="string")return vB(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)?vB(e,t):void 0}}function vB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Ev.useState)("".concat(Ci("recharts"),"-clip")),n=nne(r,1),a=n[0],o=ds();if(o==null)return null;var i=o.x,l=o.y,s=o.width,u=o.height;return Cv.createElement(sne.Provider,{value:a},Cv.createElement("defs",null,Cv.createElement("clipPath",{id:a},Cv.createElement("rect",{x:i,y:l,height:u,width:s}))),t)};var ar=te(ne()),kn=te(ne());function yB(){}function UC(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 hB(e,t,r){return _v(e,t,void 0,void 0,void 0,void 0,r)}function _v(e,t,r,n,a,o,i){let l=i(e,t,r,n,a,o);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 Ov(e,t,o,i)}return Ov(e,t,o,i)}function Ov(e,t,r,n){if(Object.is(e,t))return!0;let a=Oi(e),o=Oi(t);if(a==="[object Arguments]"&&(a=bd),o==="[object Arguments]"&&(o=bd),a!==o)return!1;switch(a){case yd:return e.toString()===t.toString();case hd:return Bl(e.valueOf(),t.valueOf());case xd:case fh:case dh:return Object.is(e.valueOf(),t.valueOf());case uh:return e.source===t.source&&e.flags===t.flags;case bM:return e===t}r=r??new Map;let i=r.get(e),l=r.get(t);if(i!=null&&l!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(a){case ph:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!_v(u,t.get(s),s,e,t,r,n))return!1;return!0;case mh:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;c_v(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case vh:case hh:case xh:case bh:case wh:case SM:case Sh:case Ah:case kh:case AM:case Nh:case Ch:if(sm(e)!==sm(t)||e.length!==t.length)return!1;for(let s=0;se*a)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-a)<=0}function wB(e,t){return Xb(e,t+1)}function SB(e,t,r,n,a){for(var o=(n||[]).slice(),i=t.start,l=t.end,s=0,u=1,c=i,d=function(){var m=n?.[s];if(m===void 0)return{v:Xb(n,u)};var y=s,h,v=()=>(h===void 0&&(h=r(m,y)),h),g=m.coordinate,b=s===0||Iu(e,g,v,c,l);b||(s=0,c=i,u+=1),b&&(c=g+e*(v()/2+a),s+=u)},f;u<=o.length;)if(f=d(),f)return f.v;return[]}function AB(e,t,r,n,a){var o=(n||[]).slice(),i=o.length;if(i===0)return[];for(var l=t.start,s=t.end,u=1;u<=i;u++){for(var c=(i-1)%u,d=l,f=!0,p=function(){var x=n[y];if(x==null)return 0;var S=y,w,O=()=>(w===void 0&&(w=r(x,S)),w),k=x.coordinate,A=y===c||Iu(e,k,O,d,s);if(!A)return f=!1,1;A&&(d=k+e*(O()/2+a))},m,y=c;y(y===void 0&&(y=r(p,f)),y);if(f===i-1){var v=e*(m.coordinate+e*h()/2-s);o[f]=m=An(An({},m),{},{tickCoord:v>0?m.coordinate-v*e:m.coordinate})}else o[f]=m=An(An({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var g=Iu(e,m.tickCoord,h,l,s);g&&(s=m.tickCoord-e*(h()/2+a),o[f]=An(An({},m),{},{isShow:!0}))}},c=i-1;c>=0;c--)u(c);return o}function pne(e,t,r,n,a,o){var i=(n||[]).slice(),l=i.length,s=t.start,u=t.end;if(o){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(i[l-1]=c=An(An({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Iu(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+a),i[l-1]=An(An({},c),{},{isShow:!0}))}}}for(var m=o?l-1:l,y=function(g){var b=i[g];if(b==null)return 1;var x=b,S,w=()=>(S===void 0&&(S=r(b,g)),S);if(g===0){var O=e*(x.coordinate-e*w()/2-s);i[g]=x=An(An({},x),{},{tickCoord:O<0?x.coordinate-O*e:x.coordinate})}else i[g]=x=An(An({},x),{},{tickCoord:x.coordinate});if(x.tickCoord!=null){var k=Iu(e,x.tickCoord,w,s,u);k&&(s=x.tickCoord+e*(w()/2+a),i[g]=An(An({},x),{},{isShow:!0}))}},h=0;h{var O=typeof u=="function"?u(S.value,w):S.value;return m==="width"?xB(_u(O,{fontSize:t,letterSpacing:r}),y,d):_u(O,{fontSize:t,letterSpacing:r})[m]},v=a[0],g=a[1],b=a.length>=2&&v!=null&&g!=null?Ft(g.coordinate-v.coordinate):1,x=bB(o,b,m);return s==="equidistantPreserveStart"?SB(b,x,h,a,i):s==="equidistantPreserveEnd"?AB(b,x,h,a,i):(s==="preserveStart"||s==="preserveStartEnd"?p=pne(b,x,h,a,i,s==="preserveStartEnd"):p=fne(b,x,h,a,i),p.filter(S=>S.isShow))}var NB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.width>u&&(u=m.width)}});var c=r?r.getBoundingClientRect().width:0,d=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var CB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.height>u&&(u=m.height)}});var c=r?r.getBoundingClientRect().height:0,d=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var mne={xAxis:{},yAxis:{}},EB=Ct({name:"renderedTicks",initialState:mne,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,o=r.ticks;e[n][a]=tt(o)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),_B=EB.actions,OB=_B.setRenderedTicks,TB=_B.removeRenderedTicks;var MB=EB.reducer;var vne=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function PB(e,t){return xne(e)||hne(e,t)||yne(e,t)||gne()}function gne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yne(e,t){if(e){if(typeof e=="string")return DB(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)?DB(e,t):void 0}}function DB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var i=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=o.current;l!=null&&l.axisId===n&&l.axisType===r&&FC(l.ticks,i)||(o.current={ticks:i,axisId:n,axisType:r},a(OB({ticks:i,axisId:n,axisType:r})))}},[a,t,n,r]),(0,kn.useEffect)(()=>n==null||r==null?Pn:()=>{a(TB({axisId:n,axisType:r}))},[a,n,r]),null}var Mne=(0,kn.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,o=e.tickLine,i=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,m=e.y,y=e.width,h=e.height,v=e.tickSize,g=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,w=e.events,O=e.axisType,k=e.axisId,A=Tv(Ar(Ar({},S),{},{ticks:n}),b,x),M=tr(S),W=ga(a),L=xb(M.textAnchor)?M.textAnchor:Ene(d,f),H=_ne(d,f),D={};typeof o=="object"&&(D=o);var Y=Ar(Ar({},M),{},{fill:"none"},D),N=A.map(j=>Ar({entry:j},Cne(j,p,m,y,h,d,v,f,g))),_=N.map(j=>{var P=j.entry,B=j.line;return ar.createElement(bt,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(P.value,"-").concat(P.coordinate,"-").concat(P.tickCoord)},o&&ar.createElement("line",ju({},Y,B,{className:Ue("recharts-cartesian-axis-tick-line",rn(o,"className"))})))}),z=N.map((j,P)=>{var B,R,F=j.entry,G=j.tick,ee=Ar(Ar(Ar(Ar({verticalAnchor:H},M),{},{textAnchor:L,stroke:"none",fill:i},G),{},{index:P,payload:F,visibleTicksCount:A.length,tickFormatter:l,padding:u},c),{},{angle:(B=(R=c?.angle)!==null&&R!==void 0?R:M.angle)!==null&&B!==void 0?B:0}),fe=Ar(Ar({},ee),W);return ar.createElement(bt,ju({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(F.value,"-").concat(F.coordinate,"-").concat(F.tickCoord)},_i(w,F,P)),a&&ar.createElement(One,{option:a,tickProps:fe,value:"".concat(typeof l=="function"?l(F.value,P):F.value).concat(s||"")}))});return ar.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(O,"-ticks")},ar.createElement(Tne,{ticks:A,axisId:k,axisType:O}),z.length>0&&ar.createElement(Yt,{zIndex:dt.label},ar.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(O,"-tick-labels"),ref:t},z)),_.length>0&&ar.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(O,"-tick-lines")},_))}),Pne=(0,kn.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,o=e.className,i=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=bne(e,vne),d=(0,kn.useState)(""),f=PB(d,2),p=f[0],m=f[1],y=(0,kn.useState)(""),h=PB(y,2),v=h[0],g=h[1],b=(0,kn.useRef)(null);(0,kn.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var S;return NB({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var S;return CB({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var x=(0,kn.useCallback)(S=>{if(S){var w=S.getElementsByClassName("recharts-cartesian-axis-tick-value");b.current=w;var O=w[0];if(O){var k=window.getComputedStyle(O),A=k.fontSize,M=k.letterSpacing;(A!==p||M!==v)&&(m(A),g(M))}}},[p,v]);return i||n!=null&&n<=0||a!=null&&a<=0?null:ar.createElement(Yt,{zIndex:e.zIndex},ar.createElement(bt,{className:Ue("recharts-cartesian-axis",o)},ar.createElement(Nne,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:tr(e)}),ar.createElement(Mne,{ref:x,axisType:s,events:c,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),ar.createElement(Hz,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},ar.createElement(Yz,{label:e.label,labelRef:e.labelRef}),e.children)))}),Mv=ar.forwardRef((e,t)=>{var r=lt(e,ro);return ar.createElement(Pne,ju({},r,{ref:t}))});Mv.displayName="CartesianAxis";var kr=te(ne());var Zb=te(ne());var jB={grid:{stroke:"#ccc",fill:"none"}};var zB=(0,Zb.createContext)(jB),xOe=zB.Provider,LB=()=>(0,Zb.useContext)(zB);var Dne=["x1","y1","x2","y2","key"],Ine=["offset"],jne=["xAxisId","yAxisId"],zne=["xAxisId","yAxisId"];function BB(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 Nn(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,o=e.width,i=e.height,l=e.ry;return kr.createElement("rect",{x:n,y:a,ry:l,width:o,height:i,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function $B(e){var t=e.option,r=e.lineItemProps,n;if(kr.isValidElement(t))n=kr.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,o=r.x1,i=r.y1,l=r.x2,s=r.y2,u=r.key,c=Qb(r,Dne),d=(a=tr(c))!==null&&a!==void 0?a:{},f=d.offset,p=Qb(d,Ine),m=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=kr.createElement("line",zu({},p,{strokeDasharray:m,x1:o,y1:i,x2:l,y2:s,fill:"none",key:u}))}return n}function Wne(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,o=e.horizontalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,jne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return kr.createElement($B,{key:"line-".concat(d),option:a,lineItemProps:f})});return kr.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Hne(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,o=e.verticalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,zne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return kr.createElement($B,{option:a,lineItemProps:f,key:"line-".concat(d)})});return kr.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Vne(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,o=e.width,i=e.height,l=e.horizontalPoints,s=e.horizontal,u=s===void 0?!0:s;if(!u||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],y=m==null,h=y?a+i-f:m-f;if(h<=0)return null;var v=p%t.length;return kr.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:h,width:o,stroke:"none",fill:t[v],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Kne(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,o=e.x,i=e.y,l=e.width,s=e.height,u=e.verticalPoints;if(!r||!n||!n.length)return null;var c=u.map(f=>Math.round(f+o-o)).sort((f,p)=>f-p);o!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],y=m==null,h=y?o+l-f:m-f;if(h<=0)return null;var v=p%n.length;return kr.createElement("rect",{key:"react-".concat(p),x:f,y:i,width:h,height:s,stroke:"none",fill:n[v],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var qne=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,o=e.offset;return mk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:vk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.left,o.left+o.width,t)},Yne=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,o=e.offset;return mk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:vk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.top,o.top+o.height,t)},Gne={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:dt.grid};function Yi(e){var t,r,n,a,o,i,l=Pd(),s=Dd(),u=x0(),c=Nn(Nn({},lt(e,Gne)),{},{x:be(e.x)?e.x:u.left,y:be(e.y)?e.y:u.top,width:be(e.width)?e.width:u.width,height:be(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,m=c.y,y=c.width,h=c.height,v=c.syncWithTicks,g=c.horizontalValues,b=c.verticalValues,x=Et(),S=we(_=>tC(_,"xAxis",d,x)),w=we(_=>tC(_,"yAxis",f,x)),O=LB(),k={stroke:(t=c.stroke)!==null&&t!==void 0?t:O.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:O.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:O.grid.strokeOpacity,strokeDasharray:(a=c.strokeDasharray)!==null&&a!==void 0?a:O.grid.strokeDasharray};if(!Xn(y)||!Xn(h)||!be(p)||!be(m))return null;var A=c.verticalCoordinatesGenerator||qne,M=c.horizontalCoordinatesGenerator||Yne,W=c.horizontalPoints,L=c.verticalPoints;if((!W||!W.length)&&typeof M=="function"){var H=g&&g.length,D=M({yAxis:w?Nn(Nn({},w),{},{ticks:H?g:w.ticks}):void 0,width:l??y,height:s??h,offset:u},H?!0:v);Md(Array.isArray(D),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof D,"]")),Array.isArray(D)&&(W=D)}if((!L||!L.length)&&typeof A=="function"){var Y=b&&b.length,N=A({xAxis:S?Nn(Nn({},S),{},{ticks:Y?b:S.ticks}):void 0,width:l??y,height:s??h,offset:u},Y?!0:v);Md(Array.isArray(N),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof N,"]")),Array.isArray(N)&&(L=N)}return kr.createElement(Yt,{zIndex:c.zIndex},kr.createElement("g",{className:"recharts-cartesian-grid"},kr.createElement(Fne,{fill:(o=c.fill)!==null&&o!==void 0?o:O.grid.fill,fillOpacity:(i=c.fillOpacity)!==null&&i!==void 0?i:O.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),kr.createElement(Vne,zu({},c,{horizontalPoints:W})),kr.createElement(Kne,zu({},c,{verticalPoints:L})),kr.createElement(Wne,zu({},c,k,{offset:u,horizontalPoints:W,xAxis:S,yAxis:w})),kr.createElement(Hne,zu({},c,k,{offset:u,verticalPoints:L,xAxis:S,yAxis:w}))))}Yi.displayName="CartesianGrid";var St=te(ne()),Gi=te(ne());var UB=te(ne());var Xne=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function WC(){return WC=Object.assign?Object.assign.bind():function(e){for(var t=1;tp+m,0);if(!a)return FB(t,e);for(var o=Math.floor(e/a),i=e%a,l=[],s=0,u=0;si){l=[...n.slice(0,s),i-u];break}}var f=l.length%2===0?[0,t]:[t];return[...eae(n,o),...l,...f].map(p=>"".concat(p,"px")).join(", ")}function rae(e,t,r){if(e){var n="".concat(e).split(/[,\s]+/gim).map(a=>parseFloat(a));return tae(r,t,n)}return FB(t,r)}function WB(e){var t=e.animationElapsedTime,r=e.isAnimating,n=e.isEntrance,a=e.visibleLength,o=e.strokeDasharray,i=e.connectNulls,l=Zne(e,Xne),s=i??!1,u;if(a!=null){var c,d=l.pathRef,f=Jne((c=d?.current)!==null&&c!==void 0?c:null);u=rae(o,f,a)}else o!=null&&(u=String(o));return UB.createElement(Fo,WC({},l,{connectNulls:s,strokeDasharray:u}))}var Lu=te(ne());function HB(e){var t=(0,Lu.useRef)(0),r=(0,Lu.useRef)(0),n=(0,Lu.useRef)(!1),a=(0,Lu.useRef)(e);return a.current!==e&&(t.current=r.current,a.current=e),(0,Lu.useCallback)((o,i)=>{if(n.current)return null;var l=Math.min(Wa(t.current+o*i),i);return o>0&&i>0&&(r.current=Math.max(r.current,l),l>=i)?(n.current=!0,null):l},[])}var qB=te(ne()),Pv=te(ne());var nae={},VB=Ct({name:"errorBars",initialState:nae,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,o=r.next;e[n]&&(e[n]=e[n].map(i=>i.dataKey===a.dataKey&&i.direction===a.direction?o:i))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==a.dataKey||o.direction!==a.direction))}}}),HC=VB.actions,WOe=HC.addErrorBar,HOe=HC.replaceErrorBar,VOe=HC.removeErrorBar;var KB=VB.reducer;var aae=["children"];function oae(e,t){if(e==null)return{};var r,n,a=iae(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n({x:0,y:0,value:0}),errorBarOffset:0},sae=(0,Pv.createContext)(lae);function Jb(e){var t=e.children,r=oae(e,aae);return qB.createElement(sae.Provider,{value:r},t)}var VC=te(ne());function Bu(e,t){var r,n,a=we(u=>Go(u,e)),o=we(u=>Xo(u,t)),i=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Mr.allowDataOverflow,l=(n=o?.allowDataOverflow)!==null&&n!==void 0?n:Pr.allowDataOverflow,s=i||l;return{needClip:s,needClipX:i,needClipY:l}}function Ef(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=ds(),o=Bu(t,r),i=o.needClipX,l=o.needClipY,s=o.needClip,u=we(b=>KN(b,t,!1)),c=we(b=>qN(b,r,!1));if(!s||!a)return null;var d=a.x,f=a.y,p=a.width,m=a.height,y=i&&u?Math.min(u[0],u[1]):d-p/2,h=l&&c?Math.min(c[0],c[1]):f-m/2,v=i&&u?Math.abs(u[1]-u[0]):p*2,g=l&&c?Math.abs(c[1]-c[0]):m*2;return VC.createElement("clipPath",{id:"clipPath-".concat(n)},VC.createElement("rect",{x:y,y:h,width:v,height:g}))}var YB=(e,t,r,n)=>_a(e,"xAxis",t,n),GB=(e,t,r,n)=>Ea(e,"xAxis",t,n),XB=(e,t,r,n)=>_a(e,"yAxis",r,n),ZB=(e,t,r,n)=>Ea(e,"yAxis",r,n),uae=J([qe,YB,XB,GB,ZB],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),cae=(e,t,r,n,a)=>a;function dae(e){return e.type==="line"}var fae=J([Zl,cae],(e,t)=>e.filter(dae).find(r=>r.id===t)),QB=J([qe,YB,XB,GB,ZB,fae,uae,lu],(e,t,r,n,a,o,i,l)=>{var s=l.chartData,u=l.dataStartIndex,c=l.dataEndIndex;if(!(o==null||t==null||r==null||n==null||a==null||n.length===0||a.length===0||i==null||e!=="horizontal"&&e!=="vertical")){var d=o.dataKey,f=o.data,p;if(f!=null&&f.length>0?p=f:p=s?.slice(u,c+1),p!=null)return JB({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataKey:d,bandSize:i,displayedData:p})}});function Rb(e){var t=ga(e),r=3,n=2;if(t!=null){var a=t.r,o=t.strokeWidth,i=Number(a),l=Number(o);return(Number.isNaN(i)||i<0)&&(i=r),(Number.isNaN(l)||l<0)&&(l=n),{r:i,strokeWidth:l}}return{r,strokeWidth:n}}var pae=["id"],mae=["type","layout","connectNulls","needClip","shape","strokeDasharray"],vae=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function e1(){return e1=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/r:0}var Sae=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(l=>l.status==="removed"?[]:[l.next]);var r=wae(e),n=[];for(var a of e)if(a.status==="matched")n.push(Zo(Zo({},a.next),{},{x:Nt(a.prev.x,a.next.x,t),y:Nt(a.prev.y,a.next.y,t)}));else if(a.status==="added")if(a.next.x!=null){var o=a.next.x-r;n.push(Zo(Zo({},a.next),{},{x:Nt(o,a.next.x,t),y:a.next.y}))}else n.push(a.next);else if(a.status==="removed"&&a.prev.x!=null){var i=a.prev.x+r;n.push(Zo(Zo({},a.prev),{},{x:Nt(a.prev.x,i,t),y:a.prev.y}))}return n},YC={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Sae,animationMatchBy:Pu,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:WB,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:dt.line,type:"linear"},Aae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},kae=St.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n,unit:s,formatter:u,graphicalItemId:d}};return St.createElement(is,{tooltipEntrySettings:f})});function Nae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.dot,o=n.dataKey,i=n.needClip,l=n.id,s=qC(n,pae),u=tr(s);return St.createElement(Vb,{points:r,dot:a,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function Cae(e){var t=e.showLabels,r=e.children,n=e.points,a=(0,Gi.useMemo)(()=>n?.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Zo(Zo({},s),{},{value:o.value,payload:o.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[n]);return St.createElement(hf,{value:t?a:void 0},r)}function Eae(e){var t=e.clipPathId,r=e.pathRef,n=e.points,a=e.props,o=e.animationElapsedTime,i=e.isAnimating,l=e.isEntrance,s=e.visibleLength,u=a.type,c=a.layout,d=a.connectNulls,f=a.needClip,p=a.shape,m=a.strokeDasharray,y=qC(a,mae),h=Zo(Zo({},rr(y)),{},{fill:"none",className:"recharts-line-curve",clipPath:f?"url(#clipPath-".concat(t,")"):void 0,points:n,type:u,layout:c,connectNulls:d,strokeDasharray:m??a.strokeDasharray,pathRef:r,animationElapsedTime:o,isAnimating:i,isEntrance:a.animateNewValues?l:!1,visibleLength:s});return St.createElement(St.Fragment,null,n?.length>1&&St.createElement(os,{option:p,DefaultShape:YC.shape,shapeProps:h}),St.createElement(Nae,{points:n,clipPathId:t,props:a}))}function _ae(e){var t=e.clipPathId,r=e.props,n=e.pathRef,a=e.previousPointsRef,o=r.points,i=r.isAnimationActive,l=r.animationBegin,s=r.animationDuration,u=r.animationEasing,c=r.animationMatchBy,d=r.animationInterpolateFn,f=r.layout,p=bae(n.current),m=ss(r.onAnimationStart,r.onAnimationEnd),y=m.isAnimating,h=m.handleAnimationStart,v=m.handleAnimationEnd,g=!y,b=HB(o),x=(0,Gi.useCallback)(S=>S>0&&p>0,[p]);return St.createElement(Cae,{points:o,showLabels:g},r.children,St.createElement(us,{animationInput:o,animationIdPrefix:"recharts-line-",items:o,previousItemsRef:a,isAnimationActive:i,animationBegin:l,animationDuration:s,animationEasing:u,onAnimationStart:h,onAnimationEnd:v,animationInterpolateFn:d,animationMatchBy:c,shouldUpdatePreviousRef:x,layout:f},(S,w,O)=>{var k=y||w<1,A=k?b(w,p):null;return St.createElement(Eae,{props:r,points:S,clipPathId:t,pathRef:n,animationElapsedTime:w,isAnimating:k,isEntrance:O,visibleLength:A})}),St.createElement(as,{label:r.label}))}function Oae(e){var t=e.clipPathId,r=e.props,n=(0,Gi.useRef)(null),a=(0,Gi.useRef)(null);return St.createElement(_ae,{props:r,clipPathId:t,previousPointsRef:n,pathRef:a})}var Tae=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:Qe(e.payload,t)}},KC=class extends Gi.Component{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.top,u=t.left,c=t.width,d=t.height,f=t.id,p=t.needClip,m=t.zIndex;if(r)return null;var y=Ue("recharts-line",o),h=f,v=Rb(n),g=v.r,b=v.strokeWidth,x=xf(n),S=g*2+b,w=p?"url(#clipPath-".concat(x?"":"dots-").concat(h,")"):void 0;return St.createElement(Yt,{zIndex:m},St.createElement(bt,{className:y},p&&St.createElement("defs",null,St.createElement(Ef,{clipPathId:h,xAxisId:i,yAxisId:l}),!x&&St.createElement("clipPath",{id:"clipPath-dots-".concat(h)},St.createElement("rect",{x:u-S/2,y:s-S/2,width:c+S,height:d+S}))),St.createElement(Jb,{xAxisId:i,yAxisId:l,data:a,dataPointFormatter:Tae,errorBarOffset:0},St.createElement(Oae,{props:this.props,clipPathId:h}))),St.createElement(Nv,{activeDot:this.props.activeDot,points:a,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Mae(e){var t=lt(e,YC),r=t.activeDot,n=t.animateNewValues,a=t.animationBegin,o=t.animationDuration,i=t.animationEasing,l=t.connectNulls,s=t.dot,u=t.hide,c=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,y=t.id,h=qC(t,vae),v=Bu(p,m),g=v.needClip,b=ds(),x=Qn(),S=Et(),w=we(W=>QB(W,p,m,S,y));if(x!=="horizontal"&&x!=="vertical"||w==null||b==null)return null;var O=b.height,k=b.width,A=b.x,M=b.y;return St.createElement(KC,e1({},h,{id:y,connectNulls:l,dot:s,activeDot:r,animateNewValues:n,animationBegin:a,animationDuration:o,animationEasing:i,isAnimationActive:c,hide:u,label:d,legendType:f,xAxisId:p,yAxisId:m,points:w,layout:x,height:O,width:k,left:A,top:M,needClip:g}))}function JB(e){var t=e.layout,r=e.xAxis,n=e.yAxis,a=e.xAxisTicks,o=e.yAxisTicks,i=e.dataKey,l=e.bandSize,s=e.displayedData;return s.map((u,c)=>{var d=Qe(u,i);if(t==="horizontal"){var f=Nd({axis:r,ticks:a,bandSize:l,entry:u,index:c}),p=ct(d)?null:n.scale.map(d);return{x:f,y:p??null,value:d,payload:u}}var m=ct(d)?null:r.scale.map(d),y=Nd({axis:n,ticks:o,bandSize:l,entry:u,index:c});return m==null||y==null?null:{x:m,y,value:d,payload:u}}).filter(Boolean)}function Pae(e){var t=lt(e,YC),r=Et();return St.createElement(cs,{id:t.id,type:"line"},n=>St.createElement(St.Fragment,null,St.createElement(wf,{legendPayload:Aae(t)}),St.createElement(kae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),St.createElement(kf,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),St.createElement(Mae,e1({},t,{id:n}))))}var t1=St.memo(Pae,Jn);t1.displayName="Line";var ht=te(ne()),$u=te(ne());function no(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:BC}function ao(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:BC}var e9=(e,t,r)=>_a(e,"xAxis",no(e,t),r),t9=(e,t,r)=>Ea(e,"xAxis",no(e,t),r),r9=(e,t,r)=>_a(e,"yAxis",ao(e,t),r),n9=(e,t,r)=>Ea(e,"yAxis",ao(e,t),r),Dae=J([qe,e9,r9,t9,n9],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),Iae=(e,t)=>t,GC=J([Zl,Iae],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),a9=e=>{var t=qe(e),r=wn(t,"xAxis");return r?"yAxis":"xAxis"},jae=(e,t)=>{var r=a9(e);return r==="yAxis"?ao(e,t):no(e,t)},o9=(e,t,r)=>af(e,a9(e),jae(e,t),r),zae=J([GC,o9],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=Hl(e);if(!(n==null||a==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,i=o?.find(l=>l.key===a);if(i!=null)return i.map(l=>[l[0],l[1]])}}}),Lae=J([GC,o9],(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(Yr)}}),i9=J([qe,e9,r9,t9,n9,zae,F0,Dae,GC,d6,Lae],(e,t,r,n,a,o,i,l,s,u,c)=>{var d=i.chartData,f=i.dataStartIndex,p=i.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var m=s.data,y;if(m&&m.length>0?y=m:y=d?.slice(f,p+1),y!=null)return l9({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:f,areaSettings:s,stackedData:o,displayedData:y,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var Cn=te(ne());var Bae=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],$ae=["id","baseLine"];function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.y||0),c)),be(c)?Cn.createElement("rect",{x:ld.x||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.x||0),c)),be(c)?Cn.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[_f(_f({},r.next),{},{x:Nt(r.prev.x,r.next.x,t),y:Nt(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),f9={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Pu,animationInterpolateFn:Zae,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:u9,xAxisId:0,yAxisId:0,zIndex:dt.area};function n1(e,t){return e&&e!=="none"?e:t}var Qae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,o=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:o,color:n1(n,a),value:wa(r,t),payload:e}]},Jae=ht.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n1(n,o),unit:s,formatter:u,graphicalItemId:d}};return ht.createElement(is,{tooltipEntrySettings:f})});function Rae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,o=n.dot,i=n.dataKey,l=tr(n);return ht.createElement(Vb,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:i,baseProps:l,needClip:a,clipPathId:t})}function eoe(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return _f(_f({},s),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return ht.createElement(hf,{value:t?a:void 0},r)}function toe(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,o=e.props,i=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=o.layout,c=o.type,d=o.stroke,f=o.connectNulls,p=o.isRange,m=o.shape,y=o.id,h=d9(o,Vae),v=rr(h),g=_f(_f({},v),{},{id:y,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:i,isAnimating:l,isEntrance:s});return ht.createElement(ht.Fragment,null,t?.length>1&&ht.createElement(bt,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},ht.createElement(os,{option:m,DefaultShape:f9.shape,shapeProps:g})),ht.createElement(Rae,{points:t,props:h,clipPathId:a}))}function roe(e,t,r){if(be(e)){var n=be(t)?t:void 0;return Nt(n,e,r)}if(ct(e)||nn(e)){var a=be(t)?t:void 0;return Nt(a,0,r)}return e}function noe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,o=e.previousBaselineRef,i=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,m=(0,$u.useMemo)(()=>({points:i,baseLine:l}),[i,l]),y=Lb(m,o),h=Id(),v=ss(n.onAnimationStart,n.onAnimationEnd),g=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=y.startValue;if(h==null)return null;var w;return Array.isArray(l)&&Array.isArray(S)?w=wv(S,l,f):Array.isArray(l)?w=wv(null,l,f):w=null,ht.createElement(us,{animationInput:m,animationIdPrefix:"recharts-area-",items:i,previousItemsRef:a,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:p,animationMatchBy:f,layout:h},(O,k,A)=>{var M;return k===1?M=l:Array.isArray(l)?M=p(w,k,h):M=A?l:roe(l,S,k),y.syncStepValue(M,k),ht.createElement(eoe,{showLabels:!g,points:i},n.children,ht.createElement(toe,{points:O,baseLine:M,needClip:t,clipPathId:r,props:n,animationElapsedTime:k,isAnimating:g||k<1,isEntrance:A}),ht.createElement(as,{label:n.label}))})}function aoe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=(0,$u.useRef)(null),o=(0,$u.useRef)();return ht.createElement(noe,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:o})}var XC=class extends $u.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,m=t.baseLine,y=t.zIndex;if(r)return null;var h=Ue("recharts-area",o),v=p,g=Rb(n),b=g.r,x=g.strokeWidth,S=xf(n),w=b*2+x,O=s?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return ht.createElement(Yt,{zIndex:y},ht.createElement(bt,{className:h},s&&ht.createElement("defs",null,ht.createElement(Ef,{clipPathId:v,xAxisId:u,yAxisId:c}),!S&&ht.createElement("clipPath",{id:"clipPath-dots-".concat(v)},ht.createElement("rect",{x:l-w/2,y:i-w/2,width:d+w,height:f+w}))),ht.createElement(aoe,{needClip:s,clipPathId:v,props:this.props})),ht.createElement(Nv,{points:a,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}),this.props.isRange&&Array.isArray(m)&&ht.createElement(Nv,{points:m,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}))}};function ooe(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,o=e.animationEasing,i=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,y=e.yAxisId,h=d9(e,Kae),v=Qn(),g=lb(),b=Bu(m,y),x=b.needClip,S=Et(),w=(t=we(Y=>i9(Y,e.id,S)))!==null&&t!==void 0?t:{},O=w.points,k=w.isRange,A=w.baseLine,M=ds();if(v!=="horizontal"&&v!=="vertical"||M==null||g!=="AreaChart"&&g!=="ComposedChart")return null;var W=M.height,L=M.width,H=M.x,D=M.y;return!O||!O.length?null:ht.createElement(XC,r1({},h,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:o,baseLine:A,connectNulls:i,dot:l,fill:s,fillOpacity:u,height:W,hide:c,layout:v,isAnimationActive:d,isRange:k,legendType:f,needClip:x,points:O,stroke:p,width:L,left:H,top:D,xAxisId:m,yAxisId:y}))}var ioe=(e,t,r,n,a)=>{var o=r??t;if(be(o))return o;var i=e==="horizontal"?a:n,l=i.scale.domain();if(i.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return o==="dataMin"?u:o==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return o==="dataMin"?l[0]:o==="dataMax"?l[1]:l[0]};function l9(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,o=e.stackedData,i=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,y=e.stackDataKeys,h=o&&o.length,v=ioe(i,l,n,s,u),g=i==="horizontal",b=!1,x=c.map((w,O)=>{var k,A,M,W;if(h)W=o[d+O];else{var L=Qe(w,a);Array.isArray(L)?(W=L,b=!0):W=[v,L]}var H=(k=(A=W)===null||A===void 0?void 0:A[1])!==null&&k!==void 0?k:null,D=Qe(w,a),Y=h&&D==null&&y!=null&&y.length>0&&y.every(z=>Qe(w,z)==null),N=H==null||h&&!r&&D==null||Y;if(g){var _;return{x:Nd({axis:s,ticks:f,bandSize:m,entry:w,index:O}),y:N?null:(_=u.scale.map(H))!==null&&_!==void 0?_:null,value:W,payload:w}}return{x:N?null:(M=s.scale.map(H))!==null&&M!==void 0?M:null,y:Nd({axis:u,ticks:p,bandSize:m,entry:w,index:O}),value:W,payload:w}}),S;return h||b?S=x.map(w=>{var O,k=Array.isArray(w.value)?w.value[0]:null;if(g){var A;return{x:w.x,y:k!=null&&w.y!=null&&(A=u.scale.map(k))!==null&&A!==void 0?A:null,payload:w.payload}}return{x:k!=null&&(O=s.scale.map(k))!==null&&O!==void 0?O:null,y:w.y,payload:w.payload}}):S=g?u.scale.map(v):s.scale.map(v),{points:x,baseLine:S??0,isRange:b}}function loe(e){var t=lt(e,f9),r=Et();return ht.createElement(cs,{id:t.id,type:"area"},n=>ht.createElement(ht.Fragment,null,ht.createElement(wf,{legendPayload:Qae(t)}),ht.createElement(Jae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),ht.createElement(kf,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:f0(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),ht.createElement(ooe,r1({},t,{id:n}))))}var Xi=ht.memo(loe,Jn);Xi.displayName="Area";var ot=te(ne()),Co=te(ne());var m9=te(ne());var soe=!0,ZC="Invariant failed";function p9(e,t){if(!e){if(soe)throw new Error(ZC);var r=typeof t=="function"?t():t,n=r?"".concat(ZC,": ").concat(r):ZC;throw new Error(n)}}var uoe=["option"];function coe(e,t){if(e==null)return{};var r,n,a=doe(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n1&&arguments[1]!==void 0?arguments[1]:0;return(n,a)=>{if(be(t))return t;var o=be(n)||ct(n);return o?t(n,a):(o||p9(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),r)}};var foe=(e,t,r)=>r,poe=(e,t)=>t,Iv=J([Zl,poe],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),moe=J([Iv],e=>e?.maxBarSize),voe=(e,t,r,n)=>n,goe=J([qe,Zl,no,ao,foe],(e,t,r,n,a)=>t.filter(o=>e==="horizontal"?o.xAxisId===r:o.yAxisId===n).filter(o=>o.isPanorama===a).filter(o=>o.hide===!1).filter(o=>o.type==="bar")),yoe=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null))return n==="horizontal"?af(e,"yAxis",o,r):af(e,"xAxis",a,r)},hoe=(e,t)=>{var r=qe(e),n=no(e,t),a=ao(e,t);if(!(n==null||a==null))return r==="horizontal"?JN(e,"xAxis",n):JN(e,"yAxis",a)},xoe=J([goe,c6,hoe],rB),boe=(e,t,r)=>{var n,a,o=Iv(e,t);if(o==null)return 0;var i=no(e,t),l=ao(e,t);if(i==null||l==null)return 0;var s=qe(e),u=Fk(e),c=o.maxBarSize,d=ct(c)?u:c,f,p;return s==="horizontal"?(f=_a(e,"xAxis",i,r),p=Ea(e,"xAxis",i,r)):(f=_a(e,"yAxis",l,r),p=Ea(e,"yAxis",l,r)),(n=(a=Ya(f,p,!0))!==null&&a!==void 0?a:d)!==null&&n!==void 0?n:0},g9=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null)){var i,l;return n==="horizontal"?(i=_a(e,"xAxis",a,r),l=Ea(e,"xAxis",a,r)):(i=_a(e,"yAxis",o,r),l=Ea(e,"yAxis",o,r)),Ya(i,l)}},woe=J([xoe,Fk,u6,q0,boe,g9,moe],aB),Soe=(e,t,r)=>{var n=no(e,t);if(n!=null)return _a(e,"xAxis",n,r)},Aoe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return _a(e,"yAxis",n,r)},koe=(e,t,r)=>{var n=no(e,t);if(n!=null)return Ea(e,"xAxis",n,r)},Noe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return Ea(e,"yAxis",n,r)},Coe=J([woe,Iv],iB),Eoe=J([yoe,Iv],oB),y9=J([jt,Od,Soe,Aoe,koe,Noe,Coe,qe,F0,g9,Eoe,Iv,voe],(e,t,r,n,a,o,i,l,s,u,c,d,f)=>{var p=s.chartData,m=s.dataStartIndex,y=s.dataEndIndex;if(!(d==null||i==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||n==null||a==null||o==null||u==null)){var h=d.data,v;if(h!=null&&h.length>0?v=h:v=p?.slice(m,y+1),v!=null)return h9({layout:l,barSettings:d,pos:i,parentViewBox:t,bandSize:u,xAxis:r,yAxis:n,xAxisTicks:a,yAxisTicks:o,stackedData:c,displayedData:v,offset:e,cells:f,dataStartIndex:m})}});var JC=te(ne()),Of=te(ne());var _oe=["index"];function QC(){return QC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=(0,Of.useContext)(x9);if(t!=null)return t.stackId;if(e!=null)return f0(e)};var Moe=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Poe=e=>{var t=(0,Of.useContext)(x9);if(t!=null){var r=t.stackId;return"url(#".concat(Moe(r,e),")")}},RC=e=>{var t=e.index,r=Ooe(e,_oe),n=Poe(t);return JC.createElement(bt,QC({className:"recharts-bar-stack-layer",clipPath:n},r))};var Doe=["onMouseEnter","onMouseLeave","onClick"],Ioe=["value","background","tooltipPosition"],joe=["id"],zoe=["onMouseEnter","onClick","onMouseLeave"];function w9(e,t){return Uoe(e)||$oe(e,t)||Boe(e,t)||Loe()}function Loe(){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 Boe(e,t){if(e){if(typeof e=="string")return S9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S9(e,t):void 0}}function S9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.dataKey,r=e.name,n=e.fill,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},qoe=ot.memo(e=>{var t=e.dataKey,r=e.stroke,n=e.strokeWidth,a=e.fill,o=e.name,i=e.hide,l=e.unit,s=e.formatter,u=e.tooltipType,c=e.id,d={dataDefinedOnItem:void 0,getPosition:Pn,settings:{stroke:r,strokeWidth:n,fill:a,dataKey:t,nameKey:void 0,name:wa(o,t),hide:i,type:u,color:a,unit:l,formatter:s,graphicalItemId:c}};return ot.createElement(is,{tooltipEntrySettings:d})});function Yoe(e){var t=we(Ra),r=e.data,n=e.dataKey,a=e.background,o=e.allOtherBarProps,i=o.onMouseEnter,l=o.onMouseLeave,s=o.onClick,u=i1(o,Doe),c=gv(i,n,o.id),d=yv(l),f=hv(s,n,o.id);if(!a||r==null)return null;var p=ga(a);return ot.createElement(Yt,{zIndex:lB(a,dt.barBackground)},r.map((m,y)=>{var h=m.value,v=m.background,g=m.tooltipPosition,b=i1(m,Ioe);if(!v)return null;var x=c(m,m.originalDataIndex),S=d(m,m.originalDataIndex),w=f(m,m.originalDataIndex),O=Zr(Zr(Zr(Zr(Zr({option:a,isActive:String(m.originalDataIndex)===t},b),{},{fill:"#eee"},v),p),_i(u,m,y)),{},{onMouseEnter:x,onMouseLeave:S,onClick:w,dataKey:n,index:y,className:"recharts-bar-background-rectangle"});return ot.createElement(o1,fs({key:"background-bar-".concat(y)},O))}))}function Goe(e){var t=e.showLabels,r=e.children,n=e.rects,a=n?.map(o=>{var i={x:o.x,y:o.y,width:o.width,lowerWidth:o.width,upperWidth:o.width,height:o.height};return Zr(Zr({},i),{},{value:o.value,payload:o.payload,parentViewBox:o.parentViewBox,viewBox:i,fill:o.fill})});return ot.createElement(hf,{value:t?a:void 0},r)}function Xoe(e){var t=e.shape,r=e.activeBar,n=e.baseProps,a=e.entry,o=e.index,i=e.dataKey,l=we(Ra),s=we(uf),u=r&&String(a.originalDataIndex)===l&&(s==null||i===s),c=l!=null&&(String(a.originalDataIndex)!==l||s!=null&&i!==s),d=(0,Co.useState)(!1),f=w9(d,2),p=f[0],m=f[1],y=(0,Co.useState)(!1),h=w9(y,2),v=h[0],g=h[1];(0,Co.useEffect)(()=>{var k;return u?(m(!0),k=requestAnimationFrame(()=>{g(!0)})):(g(!1),c&&m(!1)),()=>{cancelAnimationFrame(k)}},[u,c]);var b=(0,Co.useCallback)(()=>{u||m(!1)},[u]),x=u&&v,S=u||p,w;u?r===!0?w=t:w=r:w=t;var O=ot.createElement(o1,fs({},n,{name:String(n.name)},a,{isActive:x,option:w,index:o,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:b}));return S?ot.createElement(Yt,{zIndex:dt.activeBar},ot.createElement(RC,{index:a.originalDataIndex},O)):O}function Zoe(e){var t=e.shape,r=e.baseProps,n=e.entry,a=e.index,o=e.dataKey;return ot.createElement(o1,fs({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:a,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Qoe(e){var t,r=e.data,n=e.props,a=e.animationElapsedTime,o=e.isAnimating,i=e.isEntrance,l=(t=tr(n))!==null&&t!==void 0?t:{},s=l.id,u=i1(l,joe),c=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,y=n.onMouseLeave,h=i1(n,zoe),v=gv(p,d,s),g=yv(y),b=hv(m,d,s);return r?ot.createElement(ot.Fragment,null,r.map((x,S)=>ot.createElement(RC,fs({index:x.originalDataIndex,key:"rectangle-".concat(x?.x,"-").concat(x?.y,"-").concat(x?.value,"-").concat(S),className:"recharts-bar-rectangle"},_i(h,x,S),{onMouseEnter:v(x,x.originalDataIndex),onMouseLeave:g(x,x.originalDataIndex),onClick:b(x,x.originalDataIndex)}),f?ot.createElement(Xoe,{shape:c,activeBar:f,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i}):ot.createElement(Zoe,{shape:c,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i})))):null}var Joe=(e,t,r)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return r==="horizontal"?[Zr(Zr({},n.prev),{},{height:Nt(n.prev.height,0,t),y:Nt(n.prev.y,n.prev.y+n.prev.height,t)})]:[Zr(Zr({},n.prev),{},{width:Nt(n.prev.width,0,t)})];if(n.status==="matched")return[Zr(Zr({},n.next),{},{x:Nt(n.prev.x,n.next.x,t),y:Nt(n.prev.y,n.next.y,t),width:Nt(n.prev.width,n.next.width,t),height:Nt(n.prev.height,n.next.height,t)})];var a=n.next;return r==="horizontal"?[Zr(Zr({},a),{},{height:Nt(0,a.height,t),y:Nt(a.stackedBarStart,a.y,t)})]:[Zr(Zr({},a),{},{width:Nt(0,a.width,t),x:Nt(a.stackedBarStart,a.x,t)})]});function Roe(e){var t=e.props,r=e.previousRectanglesRef,n=t.data,a=t.isAnimationActive,o=t.animationBegin,i=t.animationDuration,l=t.animationEasing,s=t.animationInterpolateFn,u=t.layout,c=ss(t.onAnimationStart,t.onAnimationEnd),d=c.isAnimating,f=c.handleAnimationStart,p=c.handleAnimationEnd;return ot.createElement(Goe,{showLabels:!d,rects:n},ot.createElement(us,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:r,isAnimationActive:a,animationBegin:o,animationDuration:i,animationEasing:l,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:u},(m,y,h)=>ot.createElement(bt,null,ot.createElement(Qoe,{props:t,data:m,animationElapsedTime:y,isAnimating:d||y<1,isEntrance:h}))),ot.createElement(as,{label:t.label}),t.children)}function eie(e){var t=(0,Co.useRef)(null);return ot.createElement(Roe,{previousRectanglesRef:t,props:e})}var k9=0,tie=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:Qe(e,t)}},eE=class extends Co.PureComponent{render(){var t=this.props,r=t.hide,n=t.data,a=t.dataKey,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.needClip,u=t.background,c=t.id;if(r||n==null)return null;var d=Ue("recharts-bar",o),f=c;return ot.createElement(bt,{className:d,id:c},s&&ot.createElement("defs",null,ot.createElement(Ef,{clipPathId:f,xAxisId:i,yAxisId:l})),ot.createElement(bt,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(f,")"):void 0},ot.createElement(Yoe,{data:n,dataKey:a,background:u,allOtherBarProps:this.props}),ot.createElement(eie,this.props)))}},rie={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Joe,animationMatchBy:bv,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:k9,shape:a1,xAxisId:0,yAxisId:0,zIndex:dt.bar};function nie(e){var t=e.xAxisId,r=e.yAxisId,n=e.hide,a=e.legendType,o=e.minPointSize,i=e.activeBar,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.isAnimationActive,d=Bu(t,r),f=d.needClip,p=Qn(),m=Et(),y=mv(e.children,Hi),h=we(b=>y9(b,e.id,m,y));if(p!=="vertical"&&p!=="horizontal")return null;var v,g=h?.[0];return g==null||g.height==null||g.width==null?v=0:v=p==="vertical"?g.height/2:g.width/2,ot.createElement(Jb,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:tie,errorBarOffset:v},ot.createElement(eE,fs({},e,{layout:p,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:n,legendType:a,minPointSize:o,activeBar:i,animationBegin:l,animationDuration:s,animationEasing:u,isAnimationActive:c})))}function h9(e){var t=e.layout,r=e.barSettings,n=r.dataKey,a=r.minPointSize,o=r.hasCustomShape,i=e.pos,l=e.bandSize,s=e.xAxis,u=e.yAxis,c=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,m=e.offset,y=e.cells,h=e.parentViewBox,v=e.dataStartIndex,g=t==="horizontal"?u:s,b=f?g.scale.domain():null,x=sD({numericAxis:g}),S=g.scale.map(x);return p.map((w,O)=>{var k,A,M,W,L,H;if(f){var D=f[O+v];if(D==null)return null;k=iD(D,b)}else k=Qe(w,n),Array.isArray(k)||(k=[x,k]);var Y=v9(a,k9)(k[1],O);if(t==="horizontal"){var N,_=u.scale.map(k[0]),z=u.scale.map(k[1]);if(_==null||z==null)return null;A=gk({axis:s,ticks:c,bandSize:l,offset:i.offset,entry:w,index:O}),M=(N=z??_)!==null&&N!==void 0?N:void 0,W=i.size;var j=_-z;if(L=nn(j)?0:j,H={x:A,y:m.top,width:W,height:m.height},Math.abs(Y)>0&&Math.abs(L)0&&Math.abs(W)ot.createElement(ot.Fragment,null,ot.createElement(wf,{legendPayload:Koe(t)}),ot.createElement(qoe,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:a}),ot.createElement(kf,{type:"bar",id:a,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==a1}),ot.createElement(Yt,{zIndex:t.zIndex},ot.createElement(nie,fs({},t,{id:a})))))}var l1=ot.memo(aie,Jn);l1.displayName="Bar";var Zi=te(ne()),oo=te(ne());var oie=["domain","range"],iie=["domain","range"];function N9(e,t){if(e==null)return{};var r,n,a=lie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(i!=null)return _9(_9({},o),{},{type:i})},[o,i]);return(0,oo.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(FL(l)):r.current!==l&&t(WL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,oo.useLayoutEffect)(()=>()=>{r.current&&(t(HL(r.current)),r.current=null)},[t]),null}var gie=e=>{var t=e.xAxisId,r=e.className,n=e.height,a=e.label,o=(0,oo.useRef)(null),i=(0,oo.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="xAxis",d=we(w=>Gx(w,c,t,s)),f=we(w=>ZN(w,t)),p=we(w=>RI(w,t)),m=we(w=>EN(w,t));if((0,oo.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Mu(a)||(0,oo.isValidElement)(a)||m==null)){var w=o.current;if(w){var O=w.getCalculatedHeight();Math.round(f.height)!==Math.round(O)&&u(GL({id:t,height:O}))}}},[d,f,u,a,t,n,m]),f==null||p==null||m==null)return null;var y=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,g=rE(e,uie),b=m.id,x=m.scale,S=rE(m,cie);return Zi.createElement(Mv,tE({},g,S,{ref:o,labelRef:i,x:p.x,y:p.y,width:f.width,height:f.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},yie={allowDataOverflow:Mr.allowDataOverflow,allowDecimals:Mr.allowDecimals,allowDuplicatedCategory:Mr.allowDuplicatedCategory,angle:Mr.angle,axisLine:ro.axisLine,height:Mr.height,hide:!1,includeHidden:Mr.includeHidden,interval:Mr.interval,label:!1,minTickGap:Mr.minTickGap,mirror:Mr.mirror,orientation:Mr.orientation,padding:Mr.padding,reversed:Mr.reversed,scale:Mr.scale,tick:Mr.tick,tickCount:Mr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Mr.type,niceTicks:Mr.niceTicks,xAxisId:0},hie=e=>{var t=lt(e,yie);return Zi.createElement(Zi.Fragment,null,Zi.createElement(vie,{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}),Zi.createElement(gie,t))},Qi=Zi.memo(hie,s1);Qi.displayName="XAxis";var Ji=te(ne()),io=te(ne());var xie=["type"],bie=["dangerouslySetInnerHTML","ticks","scale"],wie=["id","scale"];function nE(){return nE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(i!=null)return T9(T9({},o),{},{type:i})},[i,o]);return(0,io.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(VL(l)):r.current!==l&&t(KL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,io.useLayoutEffect)(()=>()=>{r.current&&(t(qL(r.current)),r.current=null)},[t]),null}function Eie(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,o=(0,io.useRef)(null),i=(0,io.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="yAxis",d=we(w=>QN(w,t)),f=we(w=>ej(w,t)),p=we(w=>Gx(w,c,t,s)),m=we(w=>_N(w,t));if((0,io.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Mu(a)||(0,io.isValidElement)(a)||m==null)){var w=o.current;if(w){var O=w.getCalculatedWidth();Math.round(d.width)!==Math.round(O)&&u(YL({id:t,width:O}))}}},[p,d,u,a,t,n,m]),d==null||f==null||m==null)return null;var y=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,g=aE(e,bie),b=m.id,x=m.scale,S=aE(m,wie);return Ji.createElement(Mv,nE({},g,S,{ref:o,labelRef:i,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var _ie={allowDataOverflow:Pr.allowDataOverflow,allowDecimals:Pr.allowDecimals,allowDuplicatedCategory:Pr.allowDuplicatedCategory,angle:Pr.angle,axisLine:ro.axisLine,hide:!1,includeHidden:Pr.includeHidden,interval:Pr.interval,label:!1,minTickGap:Pr.minTickGap,mirror:Pr.mirror,orientation:Pr.orientation,padding:Pr.padding,reversed:Pr.reversed,scale:Pr.scale,tick:Pr.tick,tickCount:Pr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Pr.type,niceTicks:Pr.niceTicks,width:Pr.width,yAxisId:0},Oie=e=>{var t=lt(e,_ie);return Ji.createElement(Ji.Fragment,null,Ji.createElement(Cie,{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}),Ji.createElement(Eie,t))},Ri=Ji.memo(Oie,s1);Ri.displayName="YAxis";var n7=te(ne()),a7=te(ne());var Ku=te(ne()),r7=te(ne());var K9=te(ne()),q9=te(ne());var Tie=(e,t)=>t,jv=J([Tie,qe,ex,Tr,lC,ta,Pj,jt],Bj);function Mie(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function zv(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Mie(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 o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var i=(l,s)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((s-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>i(l.clientX,l.clientY)):i(e.clientX,e.clientY)}var iE=Fr("mouseClick"),lE=Di();lE.startListening({actionCreator:iE,effect:(e,t)=>{var r=e.payload,n=jv(t.getState(),zv(r));n?.activeIndex!=null&&t.dispatch(dj({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var u1=Fr("mouseMove"),sE=Di(),Tf=null,Uu=null,oE=null;sE.startListening({actionCreator:u1,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i?.includes("mousemove");Tf!==null&&(cancelAnimationFrame(Tf),Tf=null),Uu!==null&&(typeof o!="number"||!l)&&(clearTimeout(Uu),Uu=null),oE=zv(r);var s=()=>{var u=t.getState(),c=Ql(u,u.tooltip.settings.shared);if(!oE){Tf=null,Uu=null;return}if(c==="axis"){var d=jv(u,oE);d?.activeIndex!=null?t.dispatch(Jx({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(Qx())}Tf=null,Uu=null};if(!l){s();return}o==="raf"?Tf=requestAnimationFrame(s):typeof o=="number"&&Uu===null&&(Uu=setTimeout(s,o))}});function M9(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 P9={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},D9=Ct({name:"rootProps",initialState:P9,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:P9.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}}}),I9=D9.reducer,j9=D9.actions.updateOptions;var Pie=null,Die={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)},z9=Ct({name:"polarOptions",initialState:Pie,reducers:Die}),L9=z9.actions.updatePolarOptions;var B9=z9.reducer;var uE=Fr("keyDown"),cE=Fr("focus"),dE=Fr("blur"),Lv=Di(),Mf=null,Fu=null,c1=null;Lv.startListening({actionCreator:uE,effect:(e,t)=>{c1=e.payload,Mf!==null&&(cancelAnimationFrame(Mf),Mf=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,o=n.throttledEvents,i=o==="all"||o.includes("keydown");Fu!==null&&(typeof a!="number"||!i)&&(clearTimeout(Fu),Fu=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=c1;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=Jl(c,Wi(s),Bi(s),es(s)),p=f==null?-1:Number(f),m=!Number.isFinite(p)||p<0,y=ta(s),h=Wi(s),v=Ql(s,s.tooltip.settings.shared);if(d==="Enter"){if(m)return;var g=dv(s,v,"hover",String(c.index));t.dispatch(uv({active:!c.active,activeIndex:c.index,activeCoordinate:g}));return}var b=tj(s),x=b==="left-to-right"?1:-1,S=d==="ArrowRight"?1:-1,w;if(m){var O=Bi(s),k=es(s),A=S*x,M=Y=>({active:!1,index:String(Y),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(w=-1,A>0){for(var W=0;W=0;L--)if(Jl(M(L),h,O,k)!=null){w=L;break}if(w<0)return}else{w=p+S*x;var H=y?.length||h.length;if(H===0||w>=H||w<0)return}var D=dv(s,v,"hover",String(w));t.dispatch(uv({active:!0,activeIndex:w.toString(),activeCoordinate:D}))}finally{Mf=null,Fu=null}};if(!i){l();return}a==="raf"?Mf=requestAnimationFrame(l):typeof a=="number"&&Fu===null&&(l(),c1=null,Fu=setTimeout(()=>{c1?l():(Fu=null,Mf=null)},a))}});Lv.startListening({actionCreator:cE,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 o="0",i=Ql(r,r.tooltip.settings.shared),l=dv(r,i,"hover",String(o));t.dispatch(uv({active:!0,activeIndex:o,activeCoordinate:l}))}}}});Lv.startListening({actionCreator:dE,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(uv({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function d1(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 Oa=Fr("externalEvent"),pE=Di(),f1=new Map,Bv=new Map,fE=new Map;pE.startListening({actionCreator:Oa,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var o=a.type,i=d1(a);fE.set(o,{handler:n,reactEvent:i});var l=f1.get(o);l!==void 0&&(cancelAnimationFrame(l),f1.delete(o));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(o),m=Bv.get(o);m!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(m),Bv.delete(o));var y=()=>{var g=fE.get(o);try{if(!g)return;var b=g.handler,x=g.reactEvent,S=t.getState(),w={activeCoordinate:dC(S),activeDataKey:uf(S),activeIndex:Ra(S),activeLabel:ob(S),activeTooltipIndex:Ra(S),isTooltipActive:fC(S)};b&&b(w,x)}finally{f1.delete(o),Bv.delete(o),fE.delete(o)}};if(!p){y();return}if(c==="raf"){var h=requestAnimationFrame(y);f1.set(o,h)}else if(typeof c=="number"){if(!Bv.has(o)){y();var v=setTimeout(y,c);Bv.set(o,v)}}else y()}}});var Iie=J([Fi],e=>e.tooltipItemPayloads),$9=J([Iie,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}});var mE=Fr("touchMove"),vE=Di(),Wu=null,ps=null,U9=null,$v=null;vE.startListening({actionCreator:mE,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){$v=d1(r);var n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i.includes("touchmove");Wu!==null&&(cancelAnimationFrame(Wu),Wu=null),ps!==null&&(typeof o!="number"||!l)&&(clearTimeout(ps),ps=null),U9=Array.from(r.touches).map(u=>zv({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if($v!=null){var u=t.getState(),c=Ql(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=U9)===null||d===void 0?void 0:d[0];if(f==null){Wu=null,ps=null;return}var p=jv(u,f);p?.activeIndex!=null&&t.dispatch(Jx({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var m,y=$v.touches[0];if(document.elementFromPoint==null||y==null)return;var h=document.elementFromPoint(y.clientX,y.clientY);if(!h||!h.getAttribute)return;var v=h.getAttribute(p0),g=(m=h.getAttribute(m0))!==null&&m!==void 0?m:void 0,b=Rl(u).find(w=>w.id===g);if(v==null||b==null||g==null)return;var x=b.dataKey,S=$9(u,v,g);t.dispatch(Zx({activeDataKey:x,activeIndex:v,activeCoordinate:S,activeGraphicalItemId:g}))}Wu=null,ps=null}};if(!l){s();return}o==="raf"?Wu=requestAnimationFrame(s):typeof o=="number"&&ps===null&&(s(),$v=null,ps=setTimeout(()=>{$v?s():(ps=null,Wu=null)},o))}}});var Uv={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},F9=Ct({name:"eventSettings",initialState:Uv,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=tt(t.payload.throttledEvents))}}}),W9=F9.actions.setEventSettings;var H9=F9.reducer;var jie=Fh({brush:dB,cartesianAxis:XL,chartData:sz,errorBars:KB,eventSettings:H9,graphicalItems:IL,layout:nD,legend:OD,options:nz,polarAxis:rL,polarOptions:B9,referenceElements:mB,renderedTicks:MB,rootProps:I9,tooltip:fj,zIndex:Yj}),V9=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return $P({reducer:jie,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([lE.middleware,sE.middleware,Lv.middleware,pE.middleware,vE.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(ck({type:"raf"}))},devTools:Ga.devToolsEnabled&&{serialize:{replacer:M9},name:"recharts-".concat(r)}})};function p1(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=Et(),o=(0,q9.useRef)(null);if(a)return r;o.current==null&&(o.current=V9(t,n));var i=um;return K9.createElement(LD,{context:i,store:o.current},r)}var m1=te(ne());function zie(e){var t=e.layout,r=e.margin,n=Ve(),a=Et();return(0,m1.useEffect)(()=>{a||(n(eD(t)),n(pk(r)))},[n,a,t,r]),null}var v1=(0,m1.memo)(zie,Jn);var Y9=te(ne());function g1(e){var t=Ve();return(0,Y9.useEffect)(()=>{t(j9(e))},[t,e]),null}var y1=te(ne());var Lie=e=>{var t=Ve();return(0,y1.useEffect)(()=>{t(W9(e))},[t,e]),null},h1=(0,y1.memo)(Lie,Jn);var el=te(ne()),e7=te(ne());var Vu=te(ne()),yE=te(ne());var Hu=te(ne()),x1=te(ne());function G9(e){var t=e.zIndex,r=e.isPanorama,n=(0,x1.useRef)(null),a=Ve();return(0,x1.useLayoutEffect)(()=>(n.current&&a(Kj({zIndex:t,element:n.current,isPanorama:r})),()=>{a(qj({zIndex:t,isPanorama:r}))}),[a,t,r]),Hu.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function gE(e){var t=e.children,r=e.isPanorama,n=we(Uj);if(!n||n.length===0)return t;var a=n.filter(i=>i<0),o=n.filter(i=>i>0);return Hu.createElement(Hu.Fragment,null,a.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})),t,o.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})))}var Bie=["children"];function $ie(e,t){if(e==null)return{};var r,n,a=Uie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Pd(),n=Dd(),a=N0();if(!Xn(r)||!Xn(n))return null;var o=e.children,i=e.otherAttributes,l=e.title,s=e.desc,u,c;return i!=null&&(typeof i.tabIndex=="number"?u=i.tabIndex:u=a?0:void 0,typeof i.role=="string"?c=i.role:c=a?"application":void 0),Vu.createElement(tm,b1({},i,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:Fie,ref:t}),o)}),Hie=e=>{var t=e.children,r=we(tu);if(!r)return null;var n=r.width,a=r.height,o=r.y,i=r.x;return Vu.createElement(tm,{width:n,height:a,x:i,y:o},t)},hE=(0,yE.forwardRef)((e,t)=>{var r=e.children,n=$ie(e,Bie),a=Et();return a?Vu.createElement(Hie,null,Vu.createElement(gE,{isPanorama:!0},r)):Vu.createElement(Wie,b1({ref:t},n),Vu.createElement(gE,{isPanorama:!1},r))});var dr=te(ne()),gt=te(ne());var w1=te(ne());function Vie(e,t){return Gie(e)||Yie(e,t)||qie(e,t)||Kie()}function Kie(){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 qie(e,t){if(e){if(typeof e=="string")return X9(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)?X9(e,t):void 0}}function X9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var i=n.getBoundingClientRect(),l=i.width/n.offsetWidth;He(l)&&l!==o&&e(rD(l))}},[n,e,o]),a}function Q9(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 Xie(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(cz(),null);function A1(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var ale=(0,gt.forwardRef)((e,t)=>{var r,n,a=(0,gt.useRef)(null),o=(0,gt.useState)({containerWidth:A1((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:A1((n=e.style)===null||n===void 0?void 0:n.height)}),i=S1(o,2),l=i[0],s=i[1],u=(0,gt.useCallback)((d,f)=>{s(p=>{var m=Math.round(d),y=Math.round(f);return p.containerWidth===m&&p.containerHeight===y?p:{containerWidth:m,containerHeight:y}})},[]),c=(0,gt.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,m=f.height;u(p,m);var y=v=>{var g=v[0];if(g!=null){var b=g.contentRect,x=b.width,S=b.height;u(x,S)}},h=new ResizeObserver(y);h.observe(d),a.current=h}},[t,u]);return(0,gt.useEffect)(()=>()=>{var d=a.current;d?.disconnect()},[u]),dr.createElement(dr.Fragment,null,dr.createElement(au,{width:l.containerWidth,height:l.containerHeight}),dr.createElement("div",ms({ref:c},e)))}),ole=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height,a=(0,gt.useState)({containerWidth:A1(r),containerHeight:A1(n)}),o=S1(a,2),i=o[0],l=o[1],s=(0,gt.useCallback)((c,d)=>{l(f=>{var p=Math.round(c),m=Math.round(d);return f.containerWidth===p&&f.containerHeight===m?f:{containerWidth:p,containerHeight:m}})},[]),u=(0,gt.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 dr.createElement(dr.Fragment,null,dr.createElement(au,{width:i.containerWidth,height:i.containerHeight}),dr.createElement("div",ms({ref:u},e)))}),ile=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ms({ref:t},e)))}),lle=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?dr.createElement(ole,ms({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?dr.createElement(ile,ms({},e,{width:r,height:n,ref:t})):dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ms({ref:t},e)))});function sle(e){return e?ale:lle}var R9=(0,gt.forwardRef)((e,t)=>{var r=e.children,n=e.className,a=e.height,o=e.onClick,i=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,y=e.onTouchStart,h=e.style,v=e.width,g=e.responsive,b=e.dispatchTouchEvents,x=b===void 0?!0:b,S=(0,gt.useRef)(null),w=Ve(),O=(0,gt.useState)(null),k=S1(O,2),A=k[0],M=k[1],W=(0,gt.useState)(null),L=S1(W,2),H=L[0],D=L[1],Y=Z9(),N=xm(),_=N?.width>0?N.width:v,z=N?.height>0?N.height:a,j=(0,gt.useCallback)(X=>{Y(X),typeof t=="function"&&t(X),M(X),D(X),X!=null&&(S.current=X)},[Y,t,M,D]),P=(0,gt.useCallback)(X=>{w(iE(X)),w(Oa({handler:o,reactEvent:X}))},[w,o]),B=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:u,reactEvent:X}))},[w,u]),R=(0,gt.useCallback)(X=>{w(Qx()),w(Oa({handler:c,reactEvent:X}))},[w,c]),F=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:d,reactEvent:X}))},[w,d]),G=(0,gt.useCallback)(()=>{w(cE())},[w]),ee=(0,gt.useCallback)(()=>{w(dE())},[w]),fe=(0,gt.useCallback)(X=>{w(uE(X.key))},[w]),de=(0,gt.useCallback)(X=>{w(Oa({handler:i,reactEvent:X}))},[w,i]),De=(0,gt.useCallback)(X=>{w(Oa({handler:l,reactEvent:X}))},[w,l]),le=(0,gt.useCallback)(X=>{w(Oa({handler:s,reactEvent:X}))},[w,s]),Te=(0,gt.useCallback)(X=>{w(Oa({handler:f,reactEvent:X}))},[w,f]),K=(0,gt.useCallback)(X=>{w(Oa({handler:y,reactEvent:X}))},[w,y]),I=(0,gt.useCallback)(X=>{x&&w(mE(X)),w(Oa({handler:m,reactEvent:X}))},[w,x,m]),C=(0,gt.useCallback)(X=>{w(Oa({handler:p,reactEvent:X}))},[w,p]),T=sle(g);return dr.createElement(bC.Provider,{value:A},dr.createElement(lA.Provider,{value:H},dr.createElement(T,{width:_??h?.width,height:z??h?.height,className:Ue("recharts-wrapper",n),style:Xie({position:"relative",cursor:"default",width:_,height:z},h),onClick:P,onContextMenu:de,onDoubleClick:De,onFocus:G,onBlur:ee,onKeyDown:fe,onMouseDown:le,onMouseEnter:B,onMouseLeave:R,onMouseMove:F,onMouseUp:Te,onTouchEnd:C,onTouchMove:I,onTouchStart:K,ref:j},dr.createElement(nle,null),r)))});var ule=["width","height","responsive","children","className","style","compact","title","desc"];function cle(e,t){if(e==null)return{};var r,n,a=dle(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,o=e.children,i=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=cle(e,ule),f=tr(d);return s?el.createElement(el.Fragment,null,el.createElement(au,{width:r,height:n}),el.createElement(hE,{otherAttributes:f,title:u,desc:c},o)):el.createElement(R9,{className:i,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},el.createElement(hE,{otherAttributes:f,title:u,desc:c,ref:t},el.createElement(gB,null,o)))});function xE(){return xE=Object.assign?Object.assign.bind():function(e){for(var t=1;tn7.createElement(Pf,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:hle,tooltipPayloadSearcher:ts,categoricalChartProps:e,ref:t}));var o7=te(ne()),i7=te(ne());var xle=["axis","item"],wE=(0,i7.forwardRef)((e,t)=>o7.createElement(Pf,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:xle,tooltipPayloadSearcher:ts,categoricalChartProps:e,ref:t}));var m7=te(ne()),v7=te(ne());var c7=te(ne()),vs=te(ne());var l7=te(ne());function s7(e){var t=Ve();return(0,l7.useEffect)(()=>{t(L9(e))},[t,e]),null}var ble=["layout"];function SE(){return SE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=lt(e,Ple);return m7.createElement(d7,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Mle,tooltipPayloadSearcher:ts,categoricalChartProps:r,ref:t})});var g7=te(ne()),y7=te(ne());var Dle=["axis"],gs=(0,y7.forwardRef)((e,t)=>g7.createElement(Pf,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Dle,tooltipPayloadSearcher:ts,categoricalChartProps:e,ref:t}));var lo=te(ne()),Df=[{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}],h7="30m",x7="activeagents.timeWindow",b7=(0,lo.createContext)(null),NE=e=>Df.find(t=>t.id===e);function w7({children:e}){let[t,r]=(0,lo.useState)(()=>{try{let o=localStorage.getItem(x7);if(o&&NE(o))return o}catch{}return h7}),n=(0,lo.useCallback)(o=>{if(NE(o)){r(o);try{localStorage.setItem(x7,o)}catch{}}},[]),a=(0,lo.useMemo)(()=>{let o=Df.findIndex(l=>l.id===t),i=Df[o]||NE(h7);return{timeWindow:i,windowIndex:o,windows:Df,setWindow:n,zoomTo:l=>{let s=Df[Math.min(Math.max(l,0),Df.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(i.minutes/1440))}},[t,n]);return lo.default.createElement(b7.Provider,{value:a},e)}function Qo(){let e=(0,lo.useContext)(b7);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var If=te(ne());function Jo({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:a,zoomTo:o}=Qo(),{darkMode:i}=kt(),l=Fa(i),s={color:l.textSecondary};return If.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},If.default.createElement("button",{onClick:()=>o(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"),If.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=>If.default.createElement("option",{key:u.id,value:u.id},u.label))),If.default.createElement("button",{onClick:()=>o(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 jr=te(ne());var Vt=te(ne()),Ile={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},Fv=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},Ro=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},jf=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 ys({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:a=0,compact:o=!1,defaultOpen:i=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,Vt.useState)(i),f=r.filter(O=>O.tokens>0),p=e??f.reduce((O,k)=>O+k.tokens,0),m=t>0?p/t:0,y=m>=.9?"#dc2626":m>=.75?"#eab308":null,h=u?"rgba(255,255,255,0.4)":"#9ca3af",v=u?"rgba(255,255,255,0.6)":"#6b7280",g=u?"rgba(255,255,255,0.75)":"#4b5563",b=u?"rgba(255,255,255,0.1)":"#f3f4f6",x=`${jf(p)} / ${jf(t)} (${Math.round(m*100)}%)`,S=O=>O.key==="messages"&&y?y:O.color||Ile[O.key]||"#2563eb",w=O=>Vt.default.createElement("div",{style:{display:"flex",height:O,borderRadius:"999px",overflow:"hidden",background:b,flex:1}},f.map(k=>Vt.default.createElement("div",{key:k.key,title:`${k.label} \xB7 ${jf(k.tokens)}`,style:{width:`${Math.min(k.tokens/t*100,100)}%`,background:S(k)}})));return o?Vt.default.createElement("span",{title:`${l}: ${x}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},w("6px"),Vt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:y||h,whiteSpace:"nowrap"}},Math.round(m*100),"%")):Vt.default.createElement("div",{style:{background:u?"rgba(255,255,255,0.03)":"#ffffff",border:`1px solid ${y?y+"66":u?"rgba(255,255,255,0.1)":"#e5e7eb"}`,borderRadius:"12px",padding:"12px 14px"}},Vt.default.createElement("div",{onClick:O=>{O.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:v}},l,s&&Vt.default.createElement("span",{style:{color:h,fontWeight:400}}," \xB7 estimated")),Vt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:y||g}},x),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),Vt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},w("9px")),m>=.9&&Vt.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&&Vt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(O=>Vt.default.createElement("div",{key:O.key,style:{display:"flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:O.key==="__free"?b:S(O),border:O.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),Vt.default.createElement("span",{style:{fontSize:"13px",color:g,flex:1}},O.label),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:v,width:"56px",textAlign:"right"}},jf(O.tokens)),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:h,width:"46px",textAlign:"right"}},t>0?`${(O.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||a>0)&&Vt.default.createElement("div",{style:{marginTop:"4px",paddingTop:"6px",borderTop:`1px solid ${u?"rgba(255,255,255,0.08)":"#f3f4f6"}`,display:"flex",gap:"16px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h}},n>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",jf(n)),a>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",jf(a)))))}var We=te(ne());var Se=te(ne());var Nr=te(ne());var ue=te(ne());var S7=["ui","json-ui","genui"],qu="render_ui",Eo=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),CE=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return}};function Yu(e){let t=typeof e=="string"?CE(e):e;if(Array.isArray(t))return t.every(Eo)?t:null;if(Eo(t)){if(Array.isArray(t.blocks))return t.blocks.every(Eo)?t.blocks:null;if(Array.isArray(t.ui))return t.ui.every(Eo)?t.ui:null}return null}function EE(e,t){let r=String(e||"").trim().toLowerCase();if(S7.includes(r))return Yu(t);if(r==="json"){let n=CE(t);return Eo(n)&&Array.isArray(n.ui)?Yu(n):null}return null}function _E(e){if(typeof e!="string")return null;let t=e.trim(),r=t.startsWith("{")&&t.endsWith("}"),n=t.startsWith("[")&&t.endsWith("]");if(!r&&!n)return null;let a=CE(t);if(a==null||typeof a!="object")return null;if(Array.isArray(a))return a.length>0&&a.every(l=>Eo(l)&&typeof l.type=="string")?{blocks:a}:{object:a};let o=Yu(a);return o?{blocks:o}:{object:a}}var jle=e=>Eo(e)?e.function?.name||e.name:void 0,zle=e=>Eo(e)?e.function?.arguments??e.arguments??e.input:void 0;function zf(e,{callId:t}={}){if(!Eo(e))return null;if(e.tool_name===qu&&e.tool_arguments!=null){let a=Yu(e.tool_arguments);if(a)return a}let r=e.tool_calls,n=[];if(Array.isArray(r)){let a=r.some(o=>Eo(o)&&o.id!=null);r.forEach(o=>{if(jle(o)!==qu||t!=null&&a&&o.id!==t)return;let i=Yu(zle(o));i&&n.push(...i)})}else if(Eo(r)&&e.tool_name===qu){let a=Yu(r);a&&n.push(...a)}return n.length>0?n:null}function N1(e){return typeof e=="string"&&/^(https?:\/\/|data:image\/)/i.test(e.trim())}function C1(e){if(typeof e!="string")return!1;let t=e.trim();if(/^data:image\//i.test(t))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}function A7(e){try{return new URL(String(e).trim()).host}catch{return""}}var O7=["#2a78d6","#eb6834","#1baf7a","#eda100","#e87ba4","#008300","#4a3aa7","#e34948"],Lle=["#3987e5","#d95926","#199e70","#c98500","#d55181","#008300","#9085e9","#e66767"],Wv=O7.length,k7=220,Lf=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),it=e=>e==null?"":typeof e=="object"?JSON.stringify(e):String(e),T7=e=>{if(typeof e!="number"||!Number.isFinite(e))return it(e);let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1).replace(/\.0$/,"")}B`:t>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:t>=1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}K`:e.toLocaleString()},PE=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,N7={info:{light:["#eff6ff","#1d4ed8"],dark:["rgba(59,130,246,0.15)","#93c5fd"]},success:{light:["#f0fdf4","#15803d"],dark:["rgba(34,197,94,0.15)","#86efac"]},warning:{light:["#fffbeb","#b45309"],dark:["rgba(245,158,11,0.15)","#fcd34d"]},danger:{light:["#fef2f2","#b91c1c"],dark:["rgba(239,68,68,0.15)","#fca5a5"]}},Ble={positive:{light:"#15803d",dark:"#4ade80"},negative:{light:"#b91c1c",dark:"#f87171"}},OE=e=>({width:"100%",padding:"6px 10px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),DE=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0,whiteSpace:"pre-wrap"}),Bf=e=>({fontSize:"13px",fontWeight:600,color:e.textPrimary,margin:0});function tl({block:e,reason:t,colors:r,darkMode:n}){return ue.default.createElement("div",{className:"text-xs",style:{color:r.textMuted}},ue.default.createElement("div",{className:"mb-1"},"Unsupported block",e&&e.type?` \u201C${it(e.type)}\u201D`:"",t?` \u2014 ${t}`:""),ue.default.createElement("pre",{style:{...DE(n),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2)))}function $le({block:e,colors:t,darkMode:r,onAction:n}){let a=N1(e.image_url)&&C1(e.image_url)?e.image_url.trim():null;return ue.default.createElement("div",{className:"overflow-hidden",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg}},a&&ue.default.createElement("img",{src:a,alt:it(e.title),style:{width:"100%",maxHeight:"220px",objectFit:"cover",display:"block"}}),ue.default.createElement("div",{className:"p-3 space-y-1.5"},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),e.body!=null&&ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})),e.footer!=null&&ue.default.createElement("div",{className:"text-xs pt-1",style:{color:t.textMuted,borderTop:`1px solid ${t.cardBorder}`}},it(e.footer))))}function M7({block:e,colors:t,darkMode:r}){let n=e.delta!=null?it(e.delta):null,a=e.tone||(n&&n.trim().startsWith("-")?"negative":n?"positive":"neutral"),o=PE(Ble,a),i=o?o[r?"dark":"light"]:t.textMuted,l=typeof e.value=="number"?T7(e.value):it(e.value);return ue.default.createElement("div",{style:{background:t.innerBg,border:`1px solid ${t.cardBorder}`,borderRadius:"10px",padding:"10px 12px"}},ue.default.createElement("div",{className:"text-xs",style:{color:t.textMuted}},it(e.label)),ue.default.createElement("div",{className:"text-lg font-semibold leading-tight mt-0.5",style:{color:t.textPrimary}},l),n&&ue.default.createElement("div",{className:"text-xs mt-0.5 font-medium",style:{color:i}},n))}function Ule({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.items)?e.items.filter(Lf):[];return n.length===0?ue.default.createElement(tl,{block:e,reason:"stats needs an items array",colors:t,darkMode:r}):ue.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"8px"}},n.map((a,o)=>ue.default.createElement(M7,{key:o,block:a,colors:t,darkMode:r})))}var ME=(e,t)=>({padding:"6px 10px",borderBottom:`1px solid ${e.cardBorder}`,color:e.textCell,textAlign:t?"right":"left",fontVariantNumeric:t?"tabular-nums":void 0,verticalAlign:"top"}),Fle=e=>({padding:"6px 10px",borderBottom:`1px solid ${e.borderStrong}`,color:e.textSecondary,fontSize:"11px",fontWeight:600,textAlign:"left",fontFamily:Fe.mono,textTransform:"uppercase",letterSpacing:"0.04em",whiteSpace:"nowrap"});function P7({columns:e,rows:t,colors:r,renderCell:n}){return ue.default.createElement("div",{style:{overflowX:"auto"}},ue.default.createElement("table",{className:"text-sm",style:{width:"100%",borderCollapse:"collapse"}},ue.default.createElement("thead",null,ue.default.createElement("tr",null,e.map((a,o)=>ue.default.createElement("th",{key:o,style:Fle(r)},it(a))))),ue.default.createElement("tbody",null,t.map((a,o)=>ue.default.createElement("tr",{key:o},e.map((i,l)=>{let s=a[l];return ue.default.createElement("td",{key:l,style:ME(r,typeof s=="number")},n?n(s):typeof s=="number"?s.toLocaleString():it(s))}))))))}function Wle({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.columns)?e.columns:null,a=Array.isArray(e.rows)?e.rows:null;if(!n||!a)return ue.default.createElement(tl,{block:e,reason:"table needs columns and rows arrays",colors:t,darkMode:r});let o=a.map(i=>Array.isArray(i)?i:Lf(i)?n.map(l=>i[l]):[i]);return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1.5",style:Bf(t)},it(e.title)),ue.default.createElement(P7,{columns:n,rows:o,colors:t}))}var Hle=e=>{let t=e[0];return Object.keys(t).find(r=>typeof t[r]=="string")||Object.keys(t)[0]},Vle=(e,t)=>Object.keys(e[0]).filter(r=>r!==t&&typeof e[0][r]=="number");function Kle({block:e,colors:t,darkMode:r}){let n=String(e.chart||e.kind||"bar").toLowerCase(),a=Array.isArray(e.data)?e.data.filter(Lf):[];if(a.length===0)return ue.default.createElement(tl,{block:e,reason:"chart needs a data array of objects",colors:t,darkMode:r});let o=typeof e.x=="string"?e.x:Hle(a),i=Array.isArray(e.series)?e.series.filter(h=>typeof h=="string"):[],l=(i.length>0?i:Vle(a,o)).slice(0,Wv);if(!o||l.length===0)return ue.default.createElement(tl,{block:e,reason:"chart needs an x key and at least one series",colors:t,darkMode:r});let s=r?Lle:O7,u=t.cardBg,c={fontSize:10,fill:t.textMuted},d=ue.default.createElement(rs,{contentStyle:{background:u,border:`1px solid ${t.cardBorder}`,borderRadius:"8px",fontSize:"12px"},labelStyle:{color:t.textPrimary,fontWeight:600,marginBottom:"4px"},itemStyle:{color:t.textCell},formatter:h=>typeof h=="number"?h.toLocaleString():it(h)}),f=l.length>1||n==="pie"?ue.default.createElement(S0,{wrapperStyle:{fontSize:"11px",color:t.textSecondary},iconSize:10}):null,p=ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(Yi,{stroke:t.cardBorder,vertical:!1}),ue.default.createElement(Qi,{dataKey:o,stroke:t.borderStrong,tick:c,tickLine:!1}),ue.default.createElement(Ri,{stroke:t.borderStrong,tick:c,tickLine:!1,axisLine:!1,tickFormatter:T7,width:44})),m={top:8,right:12,bottom:0,left:0},y;if(n==="line")y=ue.default.createElement(bE,{data:a,margin:m},p,d,f,l.map((h,v)=>ue.default.createElement(t1,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,dot:{r:4,strokeWidth:2,stroke:u,fill:s[v]},activeDot:{r:5,strokeWidth:2,stroke:u},isAnimationActive:!1})));else if(n==="area")y=ue.default.createElement(gs,{data:a,margin:m},p,d,f,l.map((h,v)=>ue.default.createElement(Xi,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,fill:s[v],fillOpacity:.12,dot:{r:3,strokeWidth:2,stroke:u,fill:s[v]},isAnimationActive:!1})));else if(n==="pie"){let h=l[0],v=[...a].sort((x,S)=>(Number(S[h])||0)-(Number(x[h])||0)),g=v.slice(0,Wv),b=v.slice(Wv);b.length>0&&(g[Wv-1]={[o]:"Other",[h]:b.reduce((x,S)=>x+(Number(S[h])||0),Number(g[Wv-1][h])||0)}),y=ue.default.createElement(kE,{margin:m},d,f,ue.default.createElement(Fb,{data:g,dataKey:h,nameKey:o,innerRadius:44,outerRadius:80,paddingAngle:2,stroke:u,strokeWidth:2,isAnimationActive:!1},g.map((x,S)=>ue.default.createElement(Hi,{key:S,fill:s[S]}))))}else y=ue.default.createElement(wE,{data:a,margin:m,barCategoryGap:"25%",barGap:2},p,d,f,l.map((h,v)=>ue.default.createElement(l1,{key:h,dataKey:h,fill:s[v],radius:[4,4,0,0],maxBarSize:24,isAnimationActive:!1})));return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement("div",{style:{width:"100%",height:k7,minWidth:0}},ue.default.createElement($l,{width:"100%",height:k7},y)))}function qle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.items)?e.items:null;if(!a)return ue.default.createElement(tl,{block:e,reason:"list needs an items array",colors:t,darkMode:r});let o=e.ordered?"ol":"ul";return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement(o,{className:`${e.ordered?"list-decimal":"list-disc"} pl-5 text-sm space-y-0.5`,style:{color:t.textCell}},a.map((i,l)=>ue.default.createElement("li",{key:l},typeof i=="string"?ue.default.createElement(_o,{text:i,darkMode:r,onUiAction:n}):it(i)))))}function Yle({block:e,colors:t}){let r=Number(e.value),n=Number.isFinite(r)?Math.max(0,Math.min(100,r)):0;return ue.default.createElement("div",null,ue.default.createElement("div",{className:"flex items-center justify-between text-xs mb-1"},ue.default.createElement("span",{style:{color:t.textCell}},it(e.label)),ue.default.createElement("span",{className:"font-mono",style:{color:t.textMuted}},Math.round(n),"%")),ue.default.createElement("div",{style:{height:"8px",borderRadius:"999px",background:t.trackBg,overflow:"hidden"}},ue.default.createElement("div",{style:{width:`${n}%`,height:"100%",background:vn,borderRadius:"999px",transition:"width 0.3s ease"}})))}var Gle=["text","textarea","number","select","checkbox"],TE=e=>it(e.name||e.label),C7=e=>it(e.label||e.name),E7=e=>Gle.includes(e.type)?e.type:"text";function Xle({block:e,colors:t,darkMode:r,onAction:n}){let a=(Array.isArray(e.fields)?e.fields:[]).filter(f=>Lf(f)&&(f.name||f.label)),[o,i]=(0,ue.useState)(()=>Object.fromEntries(a.map(f=>[TE(f),E7(f)==="checkbox"?!1:""]))),[l,s]=(0,ue.useState)(!1);if(a.length===0)return ue.default.createElement(tl,{block:e,reason:"form needs fields",colors:t,darkMode:r});let u=e.submit!=null?it(e.submit):"Submit",c=(f,p)=>i(m=>({...m,[f]:p}));return ue.default.createElement("form",{onSubmit:f=>{f.preventDefault();let p=a.map(m=>{let y=o[TE(m)];return`${C7(m)}: ${typeof y=="boolean"?y?"yes":"no":it(y)}`}).join("; ");s(!0),n&&n({kind:"form",text:`${e.submit!=null?it(e.submit):"Submitted"}: ${p}`,values:{...o}})},className:"space-y-2.5",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg,padding:"12px"}},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),a.map(f=>{let p=TE(f),m=E7(f),y=C7(f),h=`genui-field-${p.replace(/\W+/g,"-")}`;return m==="checkbox"?ue.default.createElement("label",{key:p,className:"flex items-center gap-2 text-sm",style:{color:t.textCell}},ue.default.createElement("input",{type:"checkbox",checked:!!o[p],onChange:v=>c(p,v.target.checked),style:{accentColor:vn}}),y):ue.default.createElement("div",{key:p},ue.default.createElement("label",{htmlFor:h,className:"block text-xs mb-1",style:{color:t.textSecondary}},y,f.required?" *":""),m==="textarea"?ue.default.createElement("textarea",{id:h,name:p,value:o[p],onChange:v=>c(p,v.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,rows:3,className:"aa-field",style:{...OE(t),resize:"vertical"}}):m==="select"?ue.default.createElement("select",{id:h,name:p,value:o[p],onChange:v=>c(p,v.target.value),required:!!f.required,className:"aa-field",style:OE(t)},ue.default.createElement("option",{value:""},f.placeholder!=null?it(f.placeholder):"Select\u2026"),(Array.isArray(f.options)?f.options:[]).map((v,g)=>ue.default.createElement("option",{key:g,value:it(v)},it(v)))):ue.default.createElement("input",{id:h,name:p,type:m==="number"?"number":"text",value:o[p],onChange:v=>c(p,m==="number"&&v.target.value!==""?Number(v.target.value):v.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,className:"aa-field",style:OE(t)}))}),ue.default.createElement("div",{className:"flex items-center gap-3 pt-1"},ue.default.createElement("button",{type:"submit","data-testid":"genui-form-submit",style:{padding:"6px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,background:vn,color:"#ffffff",border:"1px solid transparent",cursor:"pointer"}},u),l&&ue.default.createElement("span",{className:"text-xs",style:{color:t.textMuted}},"Sent to the agent")))}function Zle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.options)?e.options:null,[o,i]=(0,ue.useState)(null);return!a||a.length===0?ue.default.createElement(tl,{block:e,reason:"choices needs options",colors:t,darkMode:r}):ue.default.createElement("div",null,e.prompt!=null&&ue.default.createElement("div",{className:"text-sm mb-1.5",style:{color:t.textCell}},it(e.prompt)),ue.default.createElement("div",{className:"flex flex-wrap gap-2"},a.map((l,s)=>{let u=it(l),c=o===s;return ue.default.createElement("button",{key:s,type:"button","data-testid":"genui-choice",onClick:()=>{i(s),n&&n({kind:"choice",text:u})},style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?vn:t.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":t.textCell}},u)})))}function Qle({url:e,alt:t,colors:r,darkMode:n}){let[a,o]=(0,ue.useState)(!1);if(a)return ue.default.createElement("img",{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}});let i=A7(e);return ue.default.createElement("button",{type:"button",onClick:()=>o(!0),"data-testid":"genui-image-load",className:"text-xs w-full",style:{border:`1px dashed ${r.cardBorder}`,borderRadius:"8px",padding:"14px 12px",color:r.textMuted,background:n?"rgba(255,255,255,0.03)":"#f9fafb"}},"Load image from ",i||"another site")}function Jle({block:e,colors:t,darkMode:r}){if(!N1(e.url))return ue.default.createElement(tl,{block:e,reason:"image URL must be http(s) or data:",colors:t,darkMode:r});let n=e.url.trim(),a=e.alt!=null?it(e.alt):"";return ue.default.createElement("figure",{style:{margin:0}},C1(n)?ue.default.createElement("img",{src:n,alt:a,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}}):ue.default.createElement(Qle,{url:n,alt:a,colors:t,darkMode:r}),e.caption!=null&&ue.default.createElement("figcaption",{className:"text-xs mt-1",style:{color:t.textMuted}},it(e.caption)))}function Rle({block:e,colors:t,darkMode:r,onAction:n}){let[a,o]=(PE(N7,e.tone)||N7.info)[r?"dark":"light"];return ue.default.createElement("div",{style:{background:a,borderLeft:`3px solid ${o}`,borderRadius:"8px",padding:"10px 12px"}},e.title!=null&&ue.default.createElement("div",{className:"text-sm font-semibold mb-0.5",style:{color:o}},it(e.title)),ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})))}function ese({block:e,colors:t,darkMode:r}){return ue.default.createElement("div",null,e.language!=null&&ue.default.createElement("div",{className:"text-xs font-mono mb-1",style:{color:t.textMuted}},it(e.language)),ue.default.createElement("pre",{style:DE(r)},it(e.code)))}function _7({block:e,colors:t,darkMode:r,onAction:n}){let a=e.text??e.body??e.content??e.markdown;return ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(a),darkMode:r,onUiAction:n}))}var tse=3;function E1({value:e,colors:t,darkMode:r,depth:n}){if(e==null||typeof e!="object")return typeof e=="boolean"?ue.default.createElement("span",{className:"font-mono"},String(e)):typeof e=="number"?ue.default.createElement("span",{style:{fontVariantNumeric:"tabular-nums"}},e.toLocaleString()):ue.default.createElement("span",null,it(e));if(n>=tse)return ue.default.createElement("pre",{style:{...DE(r),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2));if(Array.isArray(e)){if(e.length===0)return ue.default.createElement("span",{style:{color:t.textMuted}},"\u2014");if(e.every(Lf)){let o=[...new Set(e.flatMap(i=>Object.keys(i)))];return ue.default.createElement(P7,{columns:o,rows:e.map(i=>o.map(l=>i[l])),colors:t,renderCell:i=>ue.default.createElement(E1,{value:i,colors:t,darkMode:r,depth:n+1})})}return e.every(o=>o==null||typeof o!="object")?ue.default.createElement("span",null,e.map(it).join(", ")):ue.default.createElement("ul",{className:"list-disc pl-5 space-y-0.5"},e.map((o,i)=>ue.default.createElement("li",{key:i},ue.default.createElement(E1,{value:o,colors:t,darkMode:r,depth:n+1}))))}let a=Object.entries(e);return a.length===0?ue.default.createElement("span",{style:{color:t.textMuted}},"{}"):ue.default.createElement("table",{className:"text-sm",style:{borderCollapse:"collapse",width:n===0?"100%":"auto"}},ue.default.createElement("tbody",null,a.map(([o,i])=>ue.default.createElement("tr",{key:o},ue.default.createElement("th",{scope:"row",className:"font-mono text-xs",style:{...ME(t,!1),color:t.textSecondary,fontWeight:500,whiteSpace:"nowrap",width:"1%"}},o),ue.default.createElement("td",{style:ME(t,!1)},ue.default.createElement(E1,{value:i,colors:t,darkMode:r,depth:n+1}))))))}function rse({block:e,colors:t,darkMode:r}){let n="value"in e?e.value:e.data;return ue.default.createElement("div",{style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",overflow:"hidden"}},e.title!=null&&ue.default.createElement("div",{className:"px-3 pt-2",style:Bf(t)},it(e.title)),ue.default.createElement("div",{className:"px-1 pb-1",style:{overflowX:"auto"}},ue.default.createElement(E1,{value:n,colors:t,darkMode:r,depth:0})))}var nse={card:$le,stat:M7,stats:Ule,table:Wle,chart:Kle,list:qle,progress:Yle,form:Xle,choices:Zle,image:Jle,callout:Rle,code:ese,object:rse,text:_7,markdown:_7};function hs({blocks:e,onAction:t,darkMode:r=!1}){let n=Array.isArray(e)?e.filter(Lf):[];if(n.length===0)return null;let a=Fa(r);return ue.default.createElement("div",{className:"space-y-3",onClick:o=>o.stopPropagation()},n.map((o,i)=>{let l=typeof o.type=="string"?o.type.toLowerCase():"unknown",s=PE(nse,l);return ue.default.createElement("div",{key:i,"data-testid":"genui-block","data-block-type":l},s?ue.default.createElement(s,{block:o,colors:a,darkMode:r,onAction:t}):ue.default.createElement(tl,{block:o,colors:a,darkMode:r}))}))}var ase=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,Hv=(e,t)=>e.split(ase).filter(Boolean).map((r,n)=>{let a=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Nr.default.createElement("strong",{key:a},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Nr.default.createElement("em",{key:a},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Nr.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 o=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return o?Nr.default.createElement("a",{key:a,href:o[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},o[1]):r}),D7=e=>/^\s*\|.*\|\s*$/.test(e),ose=e=>/^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(e),I7=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?t.replace(/\\\|/g,"|").trim());function _o({text:e,onUiAction:t,darkMode:r}){if(!e)return null;let n=[],a=String(e).split(` -`),o=0,i=0;for(;o180),+(c>0),w.x,w.y,o,o,+(c<0),O.x,O.y)}else b+=qr(Y8||(Y8=ou(["L",",","Z"])),t,r);return b},RG={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},B0=e=>{var t=lt(e,RG),r=t.cx,n=t.cy,a=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(o0&&Math.abs(u-c)<360?y=JG({cx:r,cy:n,innerRadius:a,outerRadius:o,cornerRadius:Math.min(v,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):y=X8({cx:r,cy:n,innerRadius:a,outerRadius:o,startAngle:u,endAngle:c}),G8.createElement("path",jk({},rr(t),{className:f,d:y}))};function Z8(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(ih(t)){if(e==="centric"){var n=t.cx,a=t.cy,o=t.innerRadius,i=t.outerRadius,l=t.angle,s=qt(n,a,o,l),u=qt(n,a,i,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return z0(t)}}function Q8(e){return zh(e)?NaN:Number(e)}function $0(e){return e?(e=Q8(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function U0(e,t,r){r&&typeof r!="number"&&dm(e,t,r)&&(t=r=void 0),e=$0(e),t===void 0?(t=e,e=0):t=$0(t),r=r===void 0?ee.chartData,iu=J([Rn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),lu=(e,t,r,n)=>n?iu(e):Rn(e),F0=(e,t,r)=>r?iu(e):Rn(e),J8=J([lu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),R8=J([iu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),e6=J([Rn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function zk(e,t){return nX(e)||rX(e,t)||tX(e,t)||eX()}function eX(){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 tX(e,t){if(e){if(typeof e=="string")return t6(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)?t6(e,t):void 0}}function t6(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=_m(e,2),r=t[0],n=t[1],a=r,o=n;return r>n&&(a=n,o=r),[a,o]},Fk=(e,t,r)=>{if(e.lte(0))return new wt.default(0);var n=$k(e.toNumber()),a=new wt.default(10).pow(n),o=e.div(a),i=n!==1?.05:.1,l=new wt.default(Math.ceil(o.div(i).toNumber())).add(r).mul(i),s=l.mul(a);return t?new wt.default(s.toNumber()):new wt.default(Math.ceil(s.toNumber()))},l6=(e,t,r)=>{var n;if(e.lte(0))return new wt.default(0);var a=[1,2,2.5,5],o=e.toNumber(),i=Math.floor(new wt.default(o).abs().log(10).toNumber()),l=new wt.default(10).pow(i),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 wt.default(10).pow(c))}var d=(n=a[u])!==null&&n!==void 0?n:1,f=new wt.default(d).mul(l);return t?f:new wt.default(Math.ceil(f.toNumber()))},sX=(e,t,r)=>{var n=new wt.default(1),a=new wt.default(e);if(!a.isint()&&r){var o=Math.abs(e);o<1?(n=new wt.default(10).pow($k(e)-1),a=new wt.default(Math.floor(a.div(n).toNumber())).mul(n)):o>1&&(a=new wt.default(Math.floor(e)))}else e===0?a=new wt.default(Math.floor((t-1)/2)):r||(a=new wt.default(Math.floor(e)));for(var i=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Fk;if(!Number.isFinite((r-t)/(n-1)))return{step:new wt.default(0),tickMin:new wt.default(0),tickMax:new wt.default(0)};var l=i(new wt.default(r).sub(t).div(n-1),a,o),s;t<=0&&r>=0?s=new wt.default(0):(s=new wt.default(t).add(r).div(2),s=s.sub(new wt.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new wt.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?s6(t,r,n,a,o+1,i):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new wt.default(u).mul(l)),tickMax:s.add(new wt.default(c).mul(l))})};var V0=function(t){var r=_m(t,2),n=r[0],a=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(o,2),u=i6([n,a]),c=_m(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),f];return n>a?p.reverse():p}if(d===f)return sX(d,o,i);var v=l==="snap125"?l6:Fk,y=s6(d,f,s,i,0,v),h=y.step,m=y.tickMin,g=y.tickMax,x=Uk(m,g.add(new wt.default(.1).mul(h)),h);return n>a?x.reverse():x},K0=function(t,r){var n=_m(t,2),a=n[0],o=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=i6([a,o]),u=_m(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[a,o];if(c===d)return[c];var f=l==="snap125"?l6:Fk,p=Math.max(r,2),v=f(new wt.default(d).sub(c).div(p-1),i,0),y=[...Uk(new wt.default(c),new wt.default(d),v),d];if(i===!1){y=y.map(m=>Math.round(m));var h=y.length-1;h>0&&y[h]===y[h-1]&&(y=y.slice(0,h))}return a>o?y.reverse():y};var Wk=e=>e.rootProps.maxBarSize,u6=e=>e.rootProps.barGap,q0=e=>e.rootProps.barCategoryGap,c6=e=>e.rootProps.barSize,Ul=e=>e.rootProps.stackOffset,Y0=e=>e.rootProps.reverseStackOrder,$d=e=>e.options.chartName,G0=e=>e.rootProps.syncId,Hk=e=>e.rootProps.syncMethod,X0=e=>e.options.eventEmitter,d6=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 Fl={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 bo={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 su=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function uu(e,t,r){if(r!=="auto")return r;if(e!=null)return wn(e,t)?"category":"number"}function f6(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 Z0(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Q0=J([fX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"angleAxis",p6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},p6),{},{type:n})}),pX=(e,t)=>e.polarAxis.radiusAxis[t],J0=J([pX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"radiusAxis",m6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},m6),{},{type:n})}),R0=e=>e.polarOptions,Vk=J([on,ln,jt],j0),v6=J([R0,Vk],(e,t)=>{if(e!=null)return vr(e.innerRadius,t,0)}),g6=J([R0,Vk],(e,t)=>{if(e!=null)return vr(e.outerRadius,t,t*.8)}),mX=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},Kk=J([R0],mX),_0e=J([Q0,Kk],su),qk=J([Vk,v6,g6],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),O0e=J([J0,qk],su),ex=J([qe,R0,v6,g6,on,ln],(e,t,r,n,a,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var i=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:vr(i,a,a/2),cy:vr(l,o,o/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var nr=(e,t)=>t;var cu=(e,t,r)=>r;function Wl(e){return e?.id}function tx(e,t,r){var n=t.chartData,a=n===void 0?[]:n,o=r.allowDuplicatedCategory,i=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=Wl(s);c.forEach((f,p)=>{var v=i==null||o?p:String(Qe(f,i,null)),y=Qe(f,s.dataKey,0),h;l.has(v)?h=l.get(v):h={},Object.assign(h,{[d]:y}),l.set(v,h)})}}),Array.from(l.values())}function du(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var fu=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Ud(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function y6(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 Hl=e=>e.tooltip.settings.axisId;function Om(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(o){function i(){return o.apply(this,arguments)}return i.toString=function(){return o.toString()},i})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(o){var i=a[0],l=a[1];return i<=l?o>=i&&o<=l:o>=l&&o<=i},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,i)=>{var l=e(o);if(l!=null){if(e.bandwidth&&i!==null&&i!==void 0&&i.position){var s=e.bandwidth();switch(i.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var rx=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Aa(t)){for(var r,n,a=0;an)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var Zm={};fU(Zm,{scaleBand:()=>Dm,scaleDiverging:()=>Lx,scaleDivergingLog:()=>NN,scaleDivergingPow:()=>Bx,scaleDivergingSqrt:()=>$I,scaleDivergingSymlog:()=>CN,scaleIdentity:()=>wx,scaleImplicit:()=>ux,scaleLinear:()=>bx,scaleLog:()=>Sx,scaleOrdinal:()=>Hd,scalePoint:()=>k6,scalePow:()=>Vm,scaleQuantile:()=>Nx,scaleQuantize:()=>Cx,scaleRadial:()=>kx,scaleSequential:()=>Dx,scaleSequentialLog:()=>AN,scaleSequentialPow:()=>Ix,scaleSequentialQuantile:()=>jx,scaleSequentialSqrt:()=>BI,scaleSequentialSymlog:()=>kN,scaleSqrt:()=>iI,scaleSymlog:()=>Ax,scaleThreshold:()=>Ex,scaleTime:()=>wN,scaleUtc:()=>SN,tickFormat:()=>$m});function In(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Yk(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function pu(e){let t,r,n;e.length!==2?(t=In,r=(l,s)=>In(e(l),s),n=(l,s)=>e(l)-s):(t=e===In||e===Yk?e:vX,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:i,right:o}}function vX(){return 0}function Tm(e){return e===null?NaN:+e}function*h6(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 x6=pu(In),b6=x6.right,gX=x6.left,yX=pu(Tm).center,wo=b6;var Fd=class extends Map{constructor(t,r=bX){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(w6(this,t))}has(t){return super.has(w6(this,t))}set(t,r){return super.set(hX(this,t),r)}delete(t){return super.delete(xX(this,t))}};function w6({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function hX({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function xX({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function bX(e){return e!==null&&typeof e=="object"?e.valueOf():e}function S6(e=In){if(e===In)return Gk;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 Gk(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var wX=Math.sqrt(50),SX=Math.sqrt(10),AX=Math.sqrt(2);function nx(e,t,r){let n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),o=n/Math.pow(10,a),i=o>=wX?10:o>=SX?5:o>=AX?2:1,l,s,u;return a<0?(u=Math.pow(10,-a)/i,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,a)*i,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=o-a+1,s=new Array(l);if(n)if(i<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 ox(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 ix(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?Gk:S6(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));ix(e,t,p,v,a)}let o=e[t],i=r,l=n;for(Pm(e,r,t),a(e[n],o)>0&&Pm(e,r,n);i0;)--l}a(e[r],o)===0?Pm(e,r,l):(++l,Pm(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Pm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function lx(e,t,r){if(e=Float64Array.from(h6(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return ox(e);if(t>=1)return ax(e);var n,a=(n-1)*t,o=Math.floor(a),i=ax(ix(e,o).subarray(0,o+1)),l=ox(e.subarray(o+1));return i+(l-i)*(a-o)}}function Xk(e,t,r=Tm){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,o=Math.floor(a),i=+r(e[o],o,e),l=+r(e[o+1],o+1,e);return i+(l-i)*(a-o)}}function sx(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,o=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?dx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?dx(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=NX.exec(e))?new ea(t[1],t[2],t[3],1):(t=CX.exec(e))?new ea(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=EX.exec(e))?dx(t[1],t[2],t[3],t[4]):(t=_X.exec(e))?dx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=OX.exec(e))?M6(t[1],t[2]/100,t[3]/100,1):(t=TX.exec(e))?M6(t[1],t[2]/100,t[3]/100,t[4]):N6.hasOwnProperty(e)?_6(N6[e]):e==="transparent"?new ea(NaN,NaN,NaN,0):null}function _6(e){return new ea(e>>16&255,e>>8&255,e&255,1)}function dx(e,t,r,n){return n<=0&&(e=t=r=NaN),new ea(e,t,r,n)}function DX(e){return e instanceof zm||(e=Vl(e)),e?(e=e.rgb(),new ea(e.r,e.g,e.b,e.opacity)):new ea}function Kd(e,t,r,n){return arguments.length===1?DX(e):new ea(e,t,r,n??1)}function ea(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}cx(ea,Kd,Zk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ea(gu(this.r),gu(this.g),gu(this.b),mx(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:O6,formatHex:O6,formatHex8:IX,formatRgb:T6,toString:T6}));function O6(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}`}function IX(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}${vu((isNaN(this.opacity)?1:this.opacity)*255)}`}function T6(){let e=mx(this.opacity);return`${e===1?"rgb(":"rgba("}${gu(this.r)}, ${gu(this.g)}, ${gu(this.b)}${e===1?")":`, ${e})`}`}function mx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function gu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vu(e){return e=gu(e),(e<16?"0":"")+e.toString(16)}function M6(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new So(e,t,r,n)}function D6(e){if(e instanceof So)return new So(e.h,e.s,e.l,e.opacity);if(e instanceof zm||(e=Vl(e)),!e)return new So;if(e instanceof So)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),i=NaN,l=o-a,s=(o+a)/2;return l?(t===o?i=(r-n)/l+(r0&&s<1?0:i,new So(i,l,s,e.opacity)}function I6(e,t,r,n){return arguments.length===1?D6(e):new So(e,t,r,n??1)}function So(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}cx(So,I6,Zk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new So(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new So(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 ea(Qk(e>=240?e-240:e+120,a,n),Qk(e,a,n),Qk(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new So(P6(this.h),fx(this.s),fx(this.l),mx(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=mx(this.opacity);return`${e===1?"hsl(":"hsla("}${P6(this.h)}, ${fx(this.s)*100}%, ${fx(this.l)*100}%${e===1?")":`, ${e})`}`}}));function P6(e){return e=(e||0)%360,e<0?e+360:e}function fx(e){return Math.max(0,Math.min(1,e||0))}function Qk(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 Jk(e,t,r,n,a){var o=e*e,i=o*e;return((1-3*e+3*o-i)*t+(4-6*o+3*i)*r+(1+3*e+3*o-3*i)*n+i*a)/6}function j6(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],o=e[n+1],i=n>0?e[n-1]:2*a-o,l=n()=>e;function jX(e,t){return function(r){return e+r*t}}function zX(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 L6(e){return(e=+e)==1?vx:function(t,r){return r-t?zX(t,r,e):Lm(isNaN(t)?r:t)}}function vx(e,t){var r=t-e;return r?jX(e,r):Lm(isNaN(e)?t:e)}var Rk=(function e(t){var r=L6(t);function n(a,o){var i=r((a=Kd(a)).r,(o=Kd(o)).r),l=r(a.g,o.g),s=r(a.b,o.b),u=vx(a.opacity,o.opacity);return function(c){return a.r=i(c),a.g=l(c),a.b=s(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);function B6(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),o=new Array(r),i,l;for(i=0;ir&&(o=t.slice(r,o),l[i]?l[i]+=o:l[++i]=o),(n=n[0])===(a=a[0])?l[i]?l[i]+=a:l[++i]=a:(l[++i]=null,s.push({i,x:Kl(n,a)})),r=eN.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function UX(e,t,r){var n=e[0],a=e[1],o=t[0],i=t[1];return a2?FX:UX,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?o:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(a((u||(u=l(t,e.map(n),Kl)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,ql),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=yu,c()},d.clamp=function(f){return arguments.length?(i=f?!0:Gr,c()):i!==Gr},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(o=f,d):o},function(f,p){return n=f,a=p,c()}}function xu(){return hu()(Gr,Gr)}function q6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function bu(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 Ko(e){return e=bu(Math.abs(e)),e?e[1]:NaN}function Y6(e,t){return function(r,n){for(var a=r.length,o=[],i=0,l=e[0],s=0;a>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),o.push(r.substring(a-=l,a+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return o.reverse().join(t)}}function G6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var WX=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function qo(e){if(!(t=WX.exec(e)))throw new Error("invalid format: "+e);var t;return new yx({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]})}qo.prototype=yx.prototype;function yx(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+""}yx.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 X6(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 Bm;function Z6(e,t){var r=bu(e,t);if(!r)return Bm=void 0,e.toPrecision(t);var n=r[0],a=r[1],o=a-(Bm=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,i=n.length;return o===i?n:o>i?n+new Array(o-i+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+bu(e,Math.max(0,t+o-1))[0]}function aN(e,t){var r=bu(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 oN={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:q6,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)=>aN(e*100,t),r:aN,s:Z6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function iN(e){return e}var Q6=Array.prototype.map,J6=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function R6(e){var t=e.grouping===void 0||e.thousands===void 0?iN:Y6(Q6.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+"",o=e.numerals===void 0?iN:G6(Q6.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d,f){d=qo(d);var p=d.fill,v=d.align,y=d.sign,h=d.symbol,m=d.zero,g=d.width,x=d.comma,b=d.precision,S=d.trim,w=d.type;w==="n"?(x=!0,w="g"):oN[w]||(b===void 0&&(b=12),S=!0,w="g"),(m||p==="0"&&v==="=")&&(m=!0,p="0",v="=");var O=(f&&f.prefix!==void 0?f.prefix:"")+(h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),k=(h==="$"?n:/[%p]/.test(w)?i:"")+(f&&f.suffix!==void 0?f.suffix:""),A=oN[w],M=/[defgprs%]/.test(w);b=b===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function W(L){var H=O,D=k,Y,N,_;if(w==="c")D=A(L)+D,L="";else{L=+L;var z=L<0||1/L<0;if(L=isNaN(L)?s:A(Math.abs(L),b),S&&(L=X6(L)),z&&+L==0&&y!=="+"&&(z=!1),H=(z?y==="("?y:l:y==="-"||y==="("?"":y)+H,D=(w==="s"&&!isNaN(L)&&Bm!==void 0?J6[8+Bm/3]:"")+D+(z&&y==="("?")":""),M){for(Y=-1,N=L.length;++Y_||_>57){D=(_===46?a+L.slice(Y+1):L.slice(Y))+D,L=L.slice(0,Y);break}}}x&&!m&&(L=t(L,1/0));var j=H.length+L.length+D.length,P=j>1)+H+L+D+P.slice(j);break;default:L=P+H+L+D;break}return o(L)}return W.toString=function(){return d+""},W}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(Ko(f)/3)))*3,v=Math.pow(10,-p),y=u((d=qo(d),d.type="f",d),{suffix:J6[8+p/3]});return function(h){return y(v*h)}}return{format:u,formatPrefix:c}}var hx,qd,xx;lN({thousands:",",grouping:[3],currency:["$",""]});function lN(e){return hx=R6(e),qd=hx.format,xx=hx.formatPrefix,hx}function sN(e){return Math.max(0,-Ko(Math.abs(e)))}function uN(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ko(t)/3)))*3-Ko(Math.abs(e)))}function cN(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ko(t)-Ko(e))+1}function $m(e,t,r,n){var a=Wd(e,t,r),o;switch(n=qo(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=uN(a,i))&&(n.precision=o),xx(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=cN(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=sN(a))&&(n.precision=o-(n.type==="%")*2);break}}return qd(n)}function jn(e){var t=e.domain;return e.ticks=function(r){var n=t();return mu(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return $m(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,o=n.length-1,i=n[a],l=n[o],s,u,c=10;for(l0;){if(u=Mm(i,l,r),u===s)return n[a]=i,n[o]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function bx(){var e=xu();return e.copy=function(){return Vo(e,bx())},sr.apply(e,arguments),jn(e)}function wx(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,ql),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return wx(e).unknown(t)},e=arguments.length?Array.from(e,ql):[0,1],jn(r)}function Um(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],o=e[n],i;return oMath.pow(e,t)}function YX(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 rI(e){return(t,r)=>-e(-t,r)}function Fm(e){let t=e(eI,tI),r=t.domain,n=10,a,o;function i(){return a=YX(n),o=qX(n),r()[0]<0?(a=rI(a),o=rI(o),e(HX,VX)):e(eI,tI),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(v=1;vc)break;m.push(y)}}else for(;f<=p;++f)for(v=n-1;v>=1;--v)if(y=f>0?v/o(-f):v*o(f),!(yc)break;m.push(y)}m.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=qo(s)).precision==null&&(s.trim=!0),s=qd(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/o(Math.round(a(c)));return d*nr(Um(r(),{floor:l=>o(Math.floor(a(l))),ceil:l=>o(Math.ceil(a(l)))})),t}function Sx(){let e=Fm(hu()).domain([1,10]);return e.copy=()=>Vo(e,Sx()).base(e.base()),sr.apply(e,arguments),e}function nI(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function aI(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Wm(e){var t=1,r=e(nI(t),aI(t));return r.constant=function(n){return arguments.length?e(nI(t=+n),aI(t)):t},jn(r)}function Ax(){var e=Wm(hu());return e.copy=function(){return Vo(e,Ax()).constant(e.constant())},sr.apply(e,arguments)}function oI(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function GX(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function XX(e){return e<0?-e*e:e*e}function Hm(e){var t=e(Gr,Gr),r=1;function n(){return r===1?e(Gr,Gr):r===.5?e(GX,XX):e(oI(r),oI(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},jn(t)}function Vm(){var e=Hm(hu());return e.copy=function(){return Vo(e,Vm()).exponent(e.exponent())},sr.apply(e,arguments),e}function iI(){return Vm.apply(null,arguments).exponent(.5)}function lI(e){return Math.sign(e)*e*e}function ZX(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function kx(){var e=xu(),t=[0,1],r=!1,n;function a(o){var i=ZX(e(o));return isNaN(i)?n:r?Math.round(i):i}return a.invert=function(o){return e.invert(lI(o))},a.domain=function(o){return arguments.length?(e.domain(o),a):e.domain()},a.range=function(o){return arguments.length?(e.range((t=Array.from(o,ql)).map(lI)),a):t.slice()},a.rangeRound=function(o){return a.range(o).round(!0)},a.round=function(o){return arguments.length?(r=!!o,a):r},a.clamp=function(o){return arguments.length?(e.clamp(o),a):e.clamp()},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return kx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},sr.apply(a,arguments),jn(a)}function Nx(){var e=[],t=[],r=[],n;function a(){var i=0,l=Math.max(1,t.length);for(r=new Array(l-1);++i0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},i.unknown=function(s){return arguments.length&&(o=s),i},i.thresholds=function(){return n.slice()},i.copy=function(){return Cx().domain([e,t]).range(a).unknown(o)},sr.apply(jn(i),arguments)}function Ex(){var e=[.5],t=[0,1],r,n=1;function a(o){return o!=null&&o<=o?t[wo(e,o,0,n)]:r}return a.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(o){var i=t.indexOf(o);return[e[i-1],e[i]]},a.unknown=function(o){return arguments.length?(r=o,a):r},a.copy=function(){return Ex().domain(e).range(t).unknown(r)},sr.apply(a,arguments)}var dN=new Date,fN=new Date;function Wt(e,t,r,n){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return a.floor=o=>(e(o=new Date(+o)),o),a.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),a.round=o=>{let i=a(o),l=a.ceil(o);return o-i(t(o=new Date(+o),i==null?1:Math.floor(i)),o),a.range=(o,i,l)=>{let s=[];if(o=a.ceil(o),l=l==null?1:Math.floor(l),!(o0))return s;let u;do s.push(u=new Date(+o)),t(o,l),e(o);while(uWt(i=>{if(i>=i)for(;e(i),!o(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!o(i););else for(;--l>=0;)for(;t(i,1),!o(i););}),r&&(a.count=(o,i)=>(dN.setTime(+o),fN.setTime(+i),e(dN),e(fN),Math.floor(r(dN,fN))),a.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(n?i=>n(i)%o===0:i=>a.count(0,i)%o===0):a)),a}var Km=Wt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Km.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Wt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Km);var lwe=Km.range;var Qa=Wt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),sI=Qa.range;var Yd=Wt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),QX=Yd.range,Gd=Wt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),JX=Gd.range;var Xd=Wt(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()),RX=Xd.range,Zd=Wt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),eZ=Zd.range;var Di=Wt(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),tZ=Di.range,Au=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),rZ=Au.range,_x=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),nZ=_x.range;function ku(e){return Wt(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 Ii=ku(0),Qd=ku(1),cI=ku(2),dI=ku(3),Yl=ku(4),fI=ku(5),pI=ku(6),mI=Ii.range,aZ=Qd.range,oZ=cI.range,iZ=dI.range,lZ=Yl.range,sZ=fI.range,uZ=pI.range;function Nu(e){return Wt(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 ji=Nu(0),Jd=Nu(1),vI=Nu(2),gI=Nu(3),Gl=Nu(4),yI=Nu(5),hI=Nu(6),xI=ji.range,cZ=Jd.range,dZ=vI.range,fZ=gI.range,pZ=Gl.range,mZ=yI.range,vZ=hI.range;var Rd=Wt(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()),gZ=Rd.range,ef=Wt(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()),yZ=ef.range;var Na=Wt(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());Na.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(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 hZ=Na.range,Ca=Wt(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());Ca.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(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 xZ=Ca.range;function wI(e,t,r,n,a,o){let i=[[Qa,1,1e3],[Qa,5,5*1e3],[Qa,15,15*1e3],[Qa,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,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=ch).right(i,f);if(p===i.length)return e.every(Wd(u/31536e6,c/31536e6,d));if(p===0)return Km.every(Math.max(Wd(u,c,d),1));let[v,y]=i[f/i[p-1][2]53)return null;"w"in I||(I.w=1),"Z"in I?(T=hN(Ym(I.y,0,1)),X=T.getUTCDay(),T=X>4||X===0?Jd.ceil(T):Jd(T),T=Au.offset(T,(I.V-1)*7),I.y=T.getUTCFullYear(),I.m=T.getUTCMonth(),I.d=T.getUTCDate()+(I.w+6)%7):(T=yN(Ym(I.y,0,1)),X=T.getDay(),T=X>4||X===0?Qd.ceil(T):Qd(T),T=Di.offset(T,(I.V-1)*7),I.y=T.getFullYear(),I.m=T.getMonth(),I.d=T.getDate()+(I.w+6)%7)}else("W"in I||"U"in I)&&("w"in I||(I.w="u"in I?I.u%7:"W"in I?1:0),X="Z"in I?hN(Ym(I.y,0,1)).getUTCDay():yN(Ym(I.y,0,1)).getDay(),I.m=0,I.d="W"in I?(I.w+6)%7+I.W*7-(X+5)%7:I.w+I.U*7-(X+6)%7);return"Z"in I?(I.H+=I.Z/100|0,I.M+=I.Z%100,hN(I)):yN(I)}}function k(le,Te,K,I){for(var C=0,T=Te.length,X=K.length,$,Ne;C=X)return-1;if($=Te.charCodeAt(C++),$===37){if($=Te.charAt(C++),Ne=S[$ in SI?Te.charAt(C++):$],!Ne||(I=Ne(le,K,I))<0)return-1}else if($!=K.charCodeAt(I++))return-1}return I}function A(le,Te,K){var I=u.exec(Te.slice(K));return I?(le.p=c.get(I[0].toLowerCase()),K+I[0].length):-1}function M(le,Te,K){var I=p.exec(Te.slice(K));return I?(le.w=v.get(I[0].toLowerCase()),K+I[0].length):-1}function W(le,Te,K){var I=d.exec(Te.slice(K));return I?(le.w=f.get(I[0].toLowerCase()),K+I[0].length):-1}function L(le,Te,K){var I=m.exec(Te.slice(K));return I?(le.m=g.get(I[0].toLowerCase()),K+I[0].length):-1}function H(le,Te,K){var I=y.exec(Te.slice(K));return I?(le.m=h.get(I[0].toLowerCase()),K+I[0].length):-1}function D(le,Te,K){return k(le,t,Te,K)}function Y(le,Te,K){return k(le,r,Te,K)}function N(le,Te,K){return k(le,n,Te,K)}function _(le){return i[le.getDay()]}function z(le){return o[le.getDay()]}function j(le){return s[le.getMonth()]}function P(le){return l[le.getMonth()]}function B(le){return a[+(le.getHours()>=12)]}function R(le){return 1+~~(le.getMonth()/3)}function F(le){return i[le.getUTCDay()]}function G(le){return o[le.getUTCDay()]}function ee(le){return s[le.getUTCMonth()]}function fe(le){return l[le.getUTCMonth()]}function de(le){return a[+(le.getUTCHours()>=12)]}function De(le){return 1+~~(le.getUTCMonth()/3)}return{format:function(le){var Te=w(le+="",x);return Te.toString=function(){return le},Te},parse:function(le){var Te=O(le+="",!1);return Te.toString=function(){return le},Te},utcFormat:function(le){var Te=w(le+="",b);return Te.toString=function(){return le},Te},utcParse:function(le){var Te=O(le+="",!0);return Te.toString=function(){return le},Te}}}var SI={"-":"",_:" ",0:"0"},sn=/^\s*\d+/,wZ=/^%/,SZ=/[\\^$*+?|[\]().{}]/g;function _t(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",o=a.length;return n+(o[t.toLowerCase(),r]))}function kZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function NZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function CZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function EZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function _Z(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function AI(e,t,r){var n=sn.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function kI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function OZ(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 TZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function MZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function NI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function PZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function CI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function DZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function IZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function jZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function zZ(e,t,r){var n=sn.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function LZ(e,t,r){var n=wZ.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function BZ(e,t,r){var n=sn.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function $Z(e,t,r){var n=sn.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function EI(e,t){return _t(e.getDate(),t,2)}function UZ(e,t){return _t(e.getHours(),t,2)}function FZ(e,t){return _t(e.getHours()%12||12,t,2)}function WZ(e,t){return _t(1+Di.count(Na(e),e),t,3)}function PI(e,t){return _t(e.getMilliseconds(),t,3)}function HZ(e,t){return PI(e,t)+"000"}function VZ(e,t){return _t(e.getMonth()+1,t,2)}function KZ(e,t){return _t(e.getMinutes(),t,2)}function qZ(e,t){return _t(e.getSeconds(),t,2)}function YZ(e){var t=e.getDay();return t===0?7:t}function GZ(e,t){return _t(Ii.count(Na(e)-1,e),t,2)}function DI(e){var t=e.getDay();return t>=4||t===0?Yl(e):Yl.ceil(e)}function XZ(e,t){return e=DI(e),_t(Yl.count(Na(e),e)+(Na(e).getDay()===4),t,2)}function ZZ(e){return e.getDay()}function QZ(e,t){return _t(Qd.count(Na(e)-1,e),t,2)}function JZ(e,t){return _t(e.getFullYear()%100,t,2)}function RZ(e,t){return e=DI(e),_t(e.getFullYear()%100,t,2)}function eQ(e,t){return _t(e.getFullYear()%1e4,t,4)}function tQ(e,t){var r=e.getDay();return e=r>=4||r===0?Yl(e):Yl.ceil(e),_t(e.getFullYear()%1e4,t,4)}function rQ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+_t(t/60|0,"0",2)+_t(t%60,"0",2)}function _I(e,t){return _t(e.getUTCDate(),t,2)}function nQ(e,t){return _t(e.getUTCHours(),t,2)}function aQ(e,t){return _t(e.getUTCHours()%12||12,t,2)}function oQ(e,t){return _t(1+Au.count(Ca(e),e),t,3)}function II(e,t){return _t(e.getUTCMilliseconds(),t,3)}function iQ(e,t){return II(e,t)+"000"}function lQ(e,t){return _t(e.getUTCMonth()+1,t,2)}function sQ(e,t){return _t(e.getUTCMinutes(),t,2)}function uQ(e,t){return _t(e.getUTCSeconds(),t,2)}function cQ(e){var t=e.getUTCDay();return t===0?7:t}function dQ(e,t){return _t(ji.count(Ca(e)-1,e),t,2)}function jI(e){var t=e.getUTCDay();return t>=4||t===0?Gl(e):Gl.ceil(e)}function fQ(e,t){return e=jI(e),_t(Gl.count(Ca(e),e)+(Ca(e).getUTCDay()===4),t,2)}function pQ(e){return e.getUTCDay()}function mQ(e,t){return _t(Jd.count(Ca(e)-1,e),t,2)}function vQ(e,t){return _t(e.getUTCFullYear()%100,t,2)}function gQ(e,t){return e=jI(e),_t(e.getUTCFullYear()%100,t,2)}function yQ(e,t){return _t(e.getUTCFullYear()%1e4,t,4)}function hQ(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Gl(e):Gl.ceil(e),_t(e.getUTCFullYear()%1e4,t,4)}function xQ(){return"+0000"}function OI(){return"%"}function TI(e){return+e}function MI(e){return Math.floor(+e/1e3)}var tf,Ox,zI,Tx,LI;bN({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 bN(e){return tf=xN(e),Ox=tf.format,zI=tf.parse,Tx=tf.utcFormat,LI=tf.utcParse,tf}function bQ(e){return new Date(e)}function wQ(e){return e instanceof Date?+e:+new Date(+e)}function Mx(e,t,r,n,a,o,i,l,s,u){var c=xu(),d=c.invert,f=c.domain,p=u(".%L"),v=u(":%S"),y=u("%I:%M"),h=u("%I %p"),m=u("%a %d"),g=u("%b %d"),x=u("%B"),b=u("%Y");function S(w){return(s(w)t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,o)=>lx(e,o/n))},r.copy=function(){return jx(t).domain(e)},Za.apply(r,arguments)}function zx(){var e=0,t=.5,r=1,n=1,a,o,i,l,s,u=Gr,c,d=!1,f;function p(y){return isNaN(y=+y)?f:(y=.5+((y=+c(y))-o)*(n*y{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 kQ(n)?n:"point"}};function NQ(e,t){for(var r=0,n=e.length,a=e[0]t)?r=o+1:n=o}return r}function Ux(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var i;return(i=e(o))!==null&&i!==void 0?i:0}),a=e.range();if(!(r.length===0||a.length<2))return o=>{var i,l,s=NQ(n,o);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(i=n[s-1])!==null&&i!==void 0?i:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(o-u)<=Math.abs(o-c)?r[s-1]:r[s]}}}function FI(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):Ux(e,void 0)}function WI(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 Fx(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Go=(e,t)=>{var r=_N(e,t);return r??Mr},Pr={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:EN,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:eu},ON=(e,t)=>e.cartesianAxis.yAxis[t],Xo=(e,t)=>{var r=ON(e,t);return r??Pr},DQ={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:""},TN=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??DQ},ur=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"zAxis":return TN(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},IQ=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Cu=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},MN=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function Rm(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 Xl=e=>e.graphicalItems.cartesianItems,jQ=J([nr,cu],Rm),ev=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),nf=J([Xl,ur,jQ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),qI=J([nf],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(du)),PN=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),zQ=J([nf],PN),tv=e=>e.map(t=>t.data).filter(Boolean).flat(1),LQ=J([nf],e=>e.some(t=>!t.data)),YI=J([nf],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),rv=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(a,o+1)},DN=J([YI,lu],rv),IN=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:Qe(a,n)}))):e.map(n=>({value:n})),jN=(e,t,r,n,a,o)=>{var i=n.chartData,l=i===void 0?[]:i,s=n.dataStartIndex,u=n.dataEndIndex,c=IN(e,t,r);if(a&&t?.dataKey!=null&&o.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:Qe(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},nv=J([DN,ur,nf,lu,LQ,YI],jN);function rf(e){if(Mn(e)||e instanceof Date){var t=Number(e);if(He(t))return t}}function VI(e){if(Array.isArray(e)){var t=[rf(e[0]),rf(e[1])];return Aa(t)?t:void 0}var r=rf(e);if(r!=null)return[r,r]}function Ao(e){return e.map(rf).filter(Yr)}function BQ(e,t){var r=rf(e),n=rf(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var $Q=J([nv],e=>e?.map(t=>t.value).sort(BQ));function GI(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function UQ(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!nn(t))n=t;else if(Array.isArray(t)){var a=Ao(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:Ao(r.flatMap(o=>{var i=Qe(e,o.dataKey),l,s;if(Array.isArray(i)){var u=KI(i,2);l=u[0],s=u[1]}else l=s=i;if(!(!He(l)||!He(s)))return[n-l,n+s]}))}var Dr=e=>{var t=Tr(e),r=Hl(e);return Cu(e,t,r)},Li=J([Dr],e=>e?.dataKey),FQ=J([qI,lu,Dr],tx),zN=(e,t,r,n)=>{var a={},o=t.reduce((i,l)=>{if(l.stackId==null)return i;var s=i[l.stackId];return s==null&&(s=[]),s.push(l),i[l.stackId]=s,i},a);return Object.fromEntries(Object.entries(o).map(i=>{var l=KI(i,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(Wl);return[s,{stackedData:lD(e,d,r),graphicalItems:c}]}))},af=J([FQ,qI,Ul,Y0],zN),LN=(e,t,r,n)=>{var a=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return uD(e,a,o)},WQ=J([ur],e=>e.allowDataOverflow),Wx=e=>{var t;if(e==null||!("domain"in e))return EN;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ao(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:EN},Hx=J([ur],Wx),Vx=J([Hx,WQ],W0),HQ=J([af,Rn,nr,Vx],LN,{memoizeOptions:{resultEqualityCheck:fu}}),of=e=>e.errorBars,VQ=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>GI(r,n)),Jm=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,s;if(n.length>0&&n.forEach(u=>{var c,d=u.data!=null?[...u.data]:i,f=(c=a[u.id])===null||c===void 0?void 0:c.filter(p=>GI(o,p));d.forEach(p=>{var v,y=Qe(p,(v=r.dataKey)!==null&&v!==void 0?v:u.dataKey),h=UQ(p,y,f);if(h.length>=2){var m=Math.min(...h),g=Math.max(...h);(l==null||ms)&&(s=g)}var x=VI(y);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=VI(Qe(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]))}),He(l)&&He(s))return[l,s]},KQ=J([DN,ur,zQ,of,nr,J8],av,{memoizeOptions:{resultEqualityCheck:fu}});function qQ(e){var t=e.value;if(Mn(t)||t instanceof Date)return t}var YQ=(e,t,r)=>{var n=e.map(qQ).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&lA(n))?U0(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},BN=e=>e.referenceElements.dots,Eu=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),GQ=J([BN,nr,cu],Eu),$N=e=>e.referenceElements.areas,XQ=J([$N,nr,cu],Eu),UN=e=>e.referenceElements.lines,ZQ=J([UN,nr,cu],Eu),FN=(e,t)=>{if(e!=null){var r=Ao(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},QQ=J(GQ,nr,FN),WN=(e,t)=>{if(e!=null){var r=Ao(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)]}},JQ=J([XQ,nr],WN);function RQ(e){var t;if(e.x!=null)return Ao([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ao(r)}function eJ(e){var t;if(e.y!=null)return Ao([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ao(r)}var HN=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?RQ(n):eJ(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},tJ=J([ZQ,nr],HN),rJ=J(QQ,tJ,JQ,(e,t,r)=>Jm(e,r,t)),ov=(e,t,r,n,a,o,i,l,s)=>{if(r!=null)return r;var u=i==="vertical"&&l==="xAxis"||i==="horizontal"&&l==="yAxis",c=u?Jm(n,o,a):Jm(o,a),d=n6(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},nJ=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=Ao(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},aJ=J([ur],nJ,{memoizeOptions:{resultEqualityCheck:fu}}),oJ=J([ur,Hx,Vx,HQ,KQ,rJ,qe,nr,aJ],ov,{memoizeOptions:{resultEqualityCheck:fu}}),iJ=[0,1],iv=(e,t,r,n,a,o,i)=>{if(!((e==null||r==null||r.length===0)&&i===void 0)){var l=e.dataKey,s=e.type,u=wn(t,o);if(u&&l==null){var c;return U0(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?YQ(n,e,u):a==="expand"&&!u?iJ:i}},VN=J([ur,qe,DN,nv,Ul,nr,oJ],iv),Bi=J([ur,MN,$d],$x),lv=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=Wx(t),o=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Aa(e)){if(o)return V0(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return K0(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Aa(e))return V0(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Aa(e))return K0(e,t.tickCount,t.allowDecimals,"adaptive")}}},KN=J([VN,Cu,Bi],lv),sv=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&Aa(t)&&Array.isArray(r)&&r.length>0){var a,o,i=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,s=t[1],u=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(i,l),Math.max(s,u)]}return t},lJ=J([ur,VN,KN,nr],sv),sJ=J(nv,ur,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ao(e.map(d=>d.value))).sort((d,f)=>d-f),a=n[0],o=n[n.length-1];if(a==null||o==null)return 1/0;var i=o-a;if(i===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!He(e))return 0;var o=t==="vertical"?n.height:n.width;if(a==="gap")return e*o/2;if(a==="no-gap"){var i=vr(r,e*o),l=e*o/2;return l-i-(l-i)/o*i}return 0}),uJ=(e,t,r)=>{var n=Go(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"xAxis",t,r,n.padding)},cJ=(e,t,r)=>{var n=Xo(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"yAxis",t,r,n.padding)},dJ=J(Go,uJ,(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}}),fJ=J(Xo,cJ,(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}}),qN=J([jt,dJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a)=>{var o=n.padding;return a?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),YN=J([jt,qe,fJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a,o)=>{var i=a.padding;return o?[n.height-i.bottom,i.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),lf=(e,t,r,n)=>{var a;switch(t){case"xAxis":return qN(e,r,n);case"yAxis":return YN(e,r,n);case"zAxis":return(a=TN(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return Kk(e);case"radiusAxis":return qk(e,r);default:return}},ZI=J([ur,lf],su),pJ=J([Bi,lJ],rx),GN=J([ur,Bi,pJ,ZI],Qm),XN=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,o=r.scale,i=wn(e,n);if(i&&(a==="number"||o!=="auto"))return t.map(l=>l.value)}},ZN=J([qe,nv,Cu,nr],XN),Kx=J([GN],Om),T2e=J([GN],FI),M2e=J([GN,$Q],Ux),P2e=J([nf,of,nr],VQ);function QI(e,t){return e.idt.id?1:0}var qx=(e,t)=>t,Yx=(e,t,r)=>r,mJ=J(Ed,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),vJ=J(_d,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),JI=(e,t)=>{var r=typeof t.height=="number"?t.height:hm;return{width:e.width,height:r}},gJ=(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}},QN=J(jt,Go,JI),yJ=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},hJ=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},xJ=J(ln,jt,mJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=JI(t,l);i==null&&(i=yJ(t,n,e));var u=n==="top"&&!a||n==="bottom"&&a;o[l.id]=i-Number(u)*s.height,i+=(u?-1:1)*s.height}),o}),bJ=J(on,jt,vJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=gJ(t,l);i==null&&(i=hJ(t,n,e));var u=n==="left"&&!a||n==="right"&&a;o[l.id]=i-Number(u)*s.width,i+=(u?-1:1)*s.width}),o}),wJ=(e,t)=>{var r=Go(e,t);if(r!=null)return xJ(e,r.orientation,r.mirror)},RI=J([jt,Go,wJ,(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}}}),SJ=(e,t)=>{var r=Xo(e,t);if(r!=null)return bJ(e,r.orientation,r.mirror)},ej=J([jt,Xo,SJ,(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}}}),JN=J(jt,Xo,(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}}),RN=(e,t,r)=>{switch(t){case"xAxis":return QN(e,r).width;case"yAxis":return JN(e,r).height;default:return}},eC=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,o=r.type,i=r.dataKey,l=wn(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(i&&l&&o==="category"&&a&&lA(u))return s}},tC=J([qe,nv,ur,nr],eC),rC=J([qe,IQ,Bi,Kx,tC,ZN,lf,KN,nr],(e,t,r,n,a,o,i,l,s)=>{if(t!=null){var u=wn(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:o,duplicateDomain:a,isCategorical:u,niceTicks:l,range:i,realScaleType:r,scale:n}}}),AJ=(e,t,r,n,a,o,i,l,s)=>{if(!(t==null||n==null)){var u=wn(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"&&o!=null&&o.length>=2?Ft(o[0]-o[1])*2*v:v;var y=d||a;return y?y.map((h,m)=>{var g=i?i.indexOf(h):h,x=n.map(g);return He(x)?{index:m,coordinate:x+v,value:h,offset:v}:null}).filter(Yr):u&&l?l.map((h,m)=>{var g=n.map(h);return He(g)?{coordinate:g+v,value:h,index:m,offset:v}:null}).filter(Yr):n.ticks?n.ticks(f).map((h,m)=>{var g=n.map(h);return He(g)?{coordinate:g+v,value:h,index:m,offset:v}:null}).filter(Yr):n.domain().map((h,m)=>{var g=n.map(h);return He(g)?{coordinate:g+v,value:i?i[h]:h,index:m,offset:v}:null}).filter(Yr)}},Gx=J([qe,Cu,Bi,Kx,KN,lf,tC,ZN,nr],AJ),kJ=(e,t,r,n,a,o,i)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=wn(e,i),s=t.tickCount,u=0;return u=i==="angleAxis"&&n?.length>=2?Ft(n[0]-n[1])*2*u:u,l&&o?o.map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.domain().map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:a?a[c]:c,index:d,offset:u}:null}).filter(Yr)}},Ea=J([qe,Cu,Kx,lf,tC,ZN,nr],kJ),_a=J(ur,Kx,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),NJ=J([ur,Bi,VN,ZI],Qm),CJ=J([NJ],Om),D2e=J((e,t,r)=>TN(e,r),CJ,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),tj=J([qe,Ed,_d],(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}}),EJ=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},I2e=J([EJ],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var o of e){var i=Math.abs(o.coordinate-t);ie.options.defaultTooltipEventType,aC=e=>e.options.validateTooltipEventTypes;function oC(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Zl(e,t){var r=nC(e),n=aC(e);return oC(t,r,n)}function rj(e){return we(t=>Zl(t,e))}var Xx=(e,t)=>{var r,n=Number(t);if(!(nn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var nj=e=>e.tooltip.settings;var $i={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},_J={itemInteraction:{click:$i,hover:$i},axisInteraction:{click:$i,hover:$i},keyboardInteraction:$i,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}},aj=Ct({name:"tooltip",initialState:_J,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(tt(t.payload))},prepare:Pt()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).tooltipItemPayloads.indexOf(tt(n));o>-1&&(e.tooltipItemPayloads[o]=tt(a))},prepare:Pt()},removeTooltipEntrySettings:{reducer(e,t){var r=yn(e).tooltipItemPayloads.indexOf(tt(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Pt()},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}}}),Ja=aj.actions,oj=Ja.addTooltipEntrySettings,ij=Ja.replaceTooltipEntrySettings,lj=Ja.removeTooltipEntrySettings,sj=Ja.setTooltipSettingsState,Zx=Ja.setActiveMouseOverItemIndex,uj=Ja.mouseLeaveItem,Qx=Ja.mouseLeaveChart,cj=Ja.setActiveClickItemIndex,Jx=Ja.setMouseOverAxisIndex,dj=Ja.setMouseClickAxisIndex,sf=Ja.setSyncInteraction,uv=Ja.setKeyboardInteraction;var fj=aj.reducer;function pj(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 Rx(e){for(var t=1;t{if(t==null)return $i;var a=PJ(e,t,r);if(a==null)return $i;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(DJ(a)){if(o)return Rx(Rx({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Rx(Rx({},$i),{},{coordinate:a.coordinate})};function IJ(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 jJ(e,t){var r=IJ(e),n=t[0],a=t[1];if(r===void 0)return!1;var o=Math.min(n,a),i=Math.max(n,a);return r>=o&&r<=i}function zJ(e,t,r){if(r==null||t==null)return!0;var n=Qe(e,t);return n==null||!Aa(r)?!0:jJ(n,r)}var Ql=(e,t,r,n)=>{var a=e?.index;if(a==null)return null;var o=Number(a);if(!He(o))return a;var i=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(i,Math.min(o,l)),u=t[s];return u==null||zJ(u,r,n)?String(s):null};var tb=(e,t,r,n,a,o,i)=>{if(o!=null){var l=i[0],s=l?.getPosition(o);if(s!=null)return s;var u=a?.[Number(o)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var rb=(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 o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(i=>{var l;return((l=i.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})};var nb=e=>e.options.tooltipPayloadSearcher;var Ui=e=>e.tooltip;function mj(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 vj(e){for(var t=1;te(t)}function gj(e){if(typeof e=="string")return e}function HJ(e){if(!(e==null||typeof e!="object")){var t="name"in e?UJ(e.name):void 0,r="unit"in e?FJ(e.unit):void 0,n="dataKey"in e?WJ(e.dataKey):void 0,a="payload"in e?e.payload:void 0,o="color"in e?gj(e.color):void 0,i="fill"in e?gj(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:o,fill:i}}}function VJ(e,t){return e??t}var ab=(e,t,r,n,a,o,i)=>{if(!(t==null||o==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var v,y=p.dataDefinedOnItem,h=p.settings,m=VJ(y,l),g=Array.isArray(m)?d0(m,u,c):m,x=(v=h?.dataKey)!==null&&v!==void 0?v:n,b=h?.nameKey,S;if(n&&Array.isArray(g)&&!Array.isArray(g[0])&&i==="axis"?(S=Qy(g,n,a),S==null&&(S=o(g,t,s,b))):S=o(g,t,s,b),Array.isArray(S))S.forEach(O=>{var k,A,M=HJ(O),W=M?.name,L=M?.dataKey,H=M?.payload,D=vj(vj({},h),{},{name:W,unit:M?.unit,color:(k=M?.color)!==null&&k!==void 0?k:h?.color,fill:(A=M?.fill)!==null&&A!==void 0?A:h?.fill});f.push(bk({tooltipEntrySettings:D,dataKey:L,payload:H,value:Qe(H,L),name:W==null?void 0:String(W)}))});else{var w;f.push(bk({tooltipEntrySettings:h,dataKey:x,payload:S,value:Qe(S,x),name:(w=Qe(S,b))!==null&&w!==void 0?w:h?.name}))}return f},d)}};var iC=J([Dr,MN,$d],$x),KJ=J([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),qJ=J([Tr,Hl],Rm),Jl=J([KJ,Dr,qJ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),YJ=J([Jl],e=>e.filter(du)),yj=J([Jl],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),GJ=J([Jl],e=>e.some(t=>!t.data)),Fi=J([yj,Rn],rv),XJ=J([YJ,Rn,Dr],tx),lC=J([Fi,Dr,Jl,Rn,GJ,yj],jN),hj=J([Dr],Wx),ZJ=J([Dr],e=>e.allowDataOverflow),xj=J([hj,ZJ],W0),QJ=J([Jl],e=>e.filter(du)),JJ=J([XJ,QJ,Ul,Y0],zN),RJ=J([JJ,Rn,Tr,xj],LN),eR=J([Jl],PN),tR=J([Fi,Dr,eR,of,Tr,e6],av,{memoizeOptions:{resultEqualityCheck:fu}}),rR=J([BN,Tr,Hl],Eu),nR=J([rR,Tr],FN),aR=J([$N,Tr,Hl],Eu),oR=J([aR,Tr],WN),iR=J([UN,Tr,Hl],Eu),lR=J([iR,Tr],HN),sR=J([nR,lR,oR],Jm),uR=J([Dr,hj,xj,RJ,tR,sR,qe,Tr],ov),Rl=J([Dr,qe,Fi,lC,Ul,Tr,uR],iv),cR=J([Rl,Dr,iC],lv),dR=J([Dr,Rl,cR,Tr],sv),bj=e=>{var t=Tr(e),r=Hl(e),n=!1;return lf(e,t,r,n)},sC=J([Dr,bj],su),fR=J([Dr,iC,dR,sC],Qm),uC=J([fR],Om),pR=J([qe,lC,Dr,Tr],eC),mR=J([qe,lC,Dr,Tr],XN),vR=(e,t,r,n,a,o,i,l)=>{if(t){var s=t.type,u=wn(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?Ft(a[0]-a[1])*2*d:d,u&&i?i.map((f,p)=>{var v=n.map(f);return He(v)?{coordinate:v+d,value:f,index:p,offset:d}:null}).filter(Yr):n.domain().map((f,p)=>{var v=n.map(f);return He(v)?{coordinate:v+d,value:o?o[f]:f,index:p,offset:d}:null}).filter(Yr)}}},ta=J([qe,Dr,iC,uC,bj,pR,mR,Tr],vR),cC=J([nC,aC,nj],(e,t,r)=>oC(r.shared,e,t)),wj=e=>e.tooltip.settings.trigger,dC=e=>e.tooltip.settings.defaultIndex,cv=J([Ui,cC,wj,dC],eb),Ra=J([cv,Fi,Li,Rl],Ql),ob=J([ta,Ra],Xx),uf=J([cv],e=>{if(e)return e.dataKey}),ib=J([cv],e=>{if(e)return e.graphicalItemId}),Sj=J([Ui,cC,wj,dC],rb),gR=J([on,ln,qe,jt,ta,dC,Sj],tb),fC=J([cv,gR],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),pC=J([cv],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),yR=J([Sj,Ra,Rn,Li,ob,nb,cC],ab),Aj=J([yR],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function kj(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 Nj(e){for(var t=1;twe(Dr),Cj=()=>{var e=wR(),t=we(ta),r=we(uC);return!e||!r?Ya(void 0,t):Ya(Nj(Nj({},e),{},{scale:r}),t)};function Ej(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 cf(e){for(var t=1;t{var a=t.find(o=>o&&o.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}},Oj=(e,t,r,n)=>{var a=t.find(u=>u&&u.index===r);if(a){if(e==="centric"){var o=a.coordinate,i=n.radius;return cf(cf(cf({},n),qt(n.cx,n.cy,i,o)),{},{angle:o,radius:i})}var l=a.coordinate,s=n.angle;return cf(cf(cf({},n),qt(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 Tj(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 mC=(e,t,r,n,a)=>{var o,i=(o=t?.length)!==null&&o!==void 0?o:0;if(i<=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=(Y,N,_)=>[e,e+l,e-l].some(z=>(_?z>=Y:z>Y)&&z<=N),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[i-1])===null||d===void 0?void 0:d.coordinate,h=(f=r[u])===null||f===void 0?void 0:f.coordinate,m=u>=i-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(!(y==null||h==null||m==null))if(Ft(h-y)!==Ft(m-h)){var x=[];if(Ft(m-h)===Ft(a[1]-a[0])){g=m;var b=h+a[1]-a[0];x[0]=Math.min(b,(b+y)/2),x[1]=Math.max(b,(b+y)/2)}else{g=y;var S=m+a[1]-a[0];x[0]=Math.min(h,(S+h)/2),x[1]=Math.max(h,(S+h)/2)}var w=[Math.min(h,(g+h)/2),Math.max(h,(g+h)/2)];if(s(w[0],w[1],!1)||s(x[0],x[1],!0)){var O;return(O=r[u])===null||O===void 0?void 0:O.index}}else{var k=Math.min(y,m),A=Math.max(y,m);if(s((k+h)/2,(A+h)/2,!1)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}}else if(t)for(var W=0;W(L.coordinate+D.coordinate)/2||W>0&&W(L.coordinate+D.coordinate)/2&&e<=(L.coordinate+H.coordinate)/2)return L.index}}return-1};var lb=()=>we($d),vC=(e,t)=>t,Mj=(e,t,r)=>r,gC=(e,t,r,n)=>n,Pj=J(ta,e=>Oi(e,t=>t.coordinate)),yC=J([Ui,vC,Mj,gC],eb),hC=J([yC,Fi,Li,Rl],Ql),Dj=(e,t,r)=>{if(t!=null){var n=Ui(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Ij=J([Ui,vC,Mj,gC],rb),dv=J([on,ln,qe,jt,ta,gC,Ij],tb),jj=J([yC,dv],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),xC=J([ta,hC],Xx),zj=J([Ij,hC,Rn,Li,xC,nb,vC],ab),Lj=J([yC,hC],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),NR=(e,t,r,n,a,o,i)=>{if(!(!e||!r||!n||!a)&&Tj(e,i)){var l=cD(e,t),s=mC(l,o,a,r,n),u=_j(t,a,s,e);return{activeIndex:String(s),activeCoordinate:u}}},CR=(e,t,r,n,a,o,i)=>{if(!(!e||!n||!a||!o||!r)){var l=U8(e,r);if(l){var s=dD(l,t),u=mC(s,i,o,n,a),c=Oj(t,o,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},Bj=(e,t,r,n,a,o,i,l)=>{if(!(!e||!t||!n||!a||!o))return t==="horizontal"||t==="vertical"?NR(e,t,n,a,o,i,l):CR(e,t,r,n,a,o,i)};var df=te(ne()),Gj=te(rp());var $j=J(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),Uj=J(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:y6}});function Fj(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 Wj(e){for(var t=1;tWj(Wj({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),TR)},PR=new Set(Object.values(dt));function DR(e){return PR.has(e)}var Hj=Ct({name:"zIndex",initialState:MR,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:Pt()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!DR(r)&&delete e.zIndexMap[r])},prepare:Pt()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=tt(a):e.zIndexMap[n].element=tt(a):e.zIndexMap[n]={consumers:0,element:o?void 0:tt(a),panoramaElement:o?tt(a):void 0}},prepare:Pt()},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:Pt()}}}),sb=Hj.actions,Vj=sb.registerZIndexPortal,ub=sb.unregisterZIndexPortal,Kj=sb.registerZIndexPortalElement,qj=sb.unregisterZIndexPortalElement;var Yj=Hj.reducer;function Yt(e){var t=e.zIndex,r=e.children,n=CD(),a=n&&t!==void 0&&t!==0,o=Et(),i=(0,df.useRef)(void 0),l=(0,df.useRef)(new Set),s=Ve(),u=we(d=>$j(d,t,o));if((0,df.useLayoutEffect)(()=>{if(!a){var d=l.current;d.forEach(p=>{s(ub({zIndex:p}))}),d.clear(),i.current=void 0;return}if(l.current.has(t)||(s(Vj({zIndex:t})),l.current.add(t)),u){i.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(ub({zIndex:p})),f.delete(p))})}},[s,t,a,u]),(0,df.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(ub({zIndex:f}))}),d.clear()}},[s]),!a)return r;var c=u??i.current;return c?(0,Gj.createPortal)(r,c):null}function bC(){return bC=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,fb.useContext)(wC);var pv=te(ne());var ez=te(Rj(),1);var tz=ez.default;var pf=new tz;var mb="recharts.syncEvent.tooltip",AC="recharts.syncEvent.brush";var es=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!nn(r))return e[r]}},FR={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},rz=Ct({name:"options",initialState:FR,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),nz=rz.reducer,az=rz.actions.createEventEmitter;function oz(e){return e.tooltip.syncInteraction}var WR={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},iz=Ct({name:"chartData",initialState:WR,reducers:{setChartData(e,t){if(e.chartData=tt(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)}}}),kC=iz.actions,NC=kC.setChartData,lz=kC.setDataStartEndIndexes,HR=kC.setComputedData;var sz=iz.reducer;var VR=["x","y"];function uz(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 mf(e){for(var t=1;ts.rootProps.className);(0,pv.useEffect)(()=>{if(e==null)return Pn;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var f;if(i&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,v=p.x,y=p.y,h=GR(p,VR),m=c.payload.sourceViewBox,g=m.x,x=m.y,b=m.width,S=m.height,w=mf(mf({},h),{},{x:i.x+(b?(v-g)/b:0)*i.width,y:i.y+(S?(y-x)/S:0)*i.height});r(mf(mf({},c),{},{payload:mf(mf({},c.payload),{},{coordinate:w})}))}else r(c);return}if(a!=null){var O;if(typeof n=="function"){var k={activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate},A=n(a,k);O=a[A]}else n==="value"&&(O=a.find(_=>String(_.value)===c.payload.label));var M=c.payload.coordinate;if(M==null||i==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(O==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var W=M.x,L=M.y,H=Math.min(W,i.x+i.width),D=Math.min(L,i.y+i.height),Y={x:o==="horizontal"?O.coordinate:H,y:o==="horizontal"?D:O.coordinate},N=sf({active:c.payload.active,coordinate:Y,dataKey:c.payload.dataKey,index:String(O.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(N)}}};return pf.on(mb,s),()=>{pf.off(mb,s)}},[l,r,t,e,n,a,o,i])}function QR(){var e=we(G0),t=we(X0),r=Ve();(0,pv.useEffect)(()=>{if(e==null)return Pn;var n=(a,o,i)=>{t!==i&&e===a&&r(lz(o))};return pf.on(AC,n),()=>{pf.off(AC,n)}},[r,t,e])}function cz(){var e=Ve();(0,pv.useEffect)(()=>{e(az())},[e]),ZR(),QR()}function dz(e,t,r,n,a,o){var i=we(v=>Dj(v,e,t)),l=we(ib),s=we(X0),u=we(G0),c=we(Hk),d=we(oz),f=d?.sourceViewBox!=null,p=nu();(0,pv.useEffect)(()=>{if(!f&&u!=null&&s!=null){var v=sf({active:o,coordinate:r,dataKey:i,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});pf.emit(mb,u,v,s)}},[f,r,i,l,a,n,s,u,c,o,p])}function fz(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 pz(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{O(sj({shared:g,trigger:x,axisId:w,active:a,defaultIndex:k}))},[O,g,x,w,a,k]);var A=nu(),M=N0(),W=rj(g),L=(t=we(K=>Lj(K,W,x,k)))!==null&&t!==void 0?t:{},H=L.activeIndex,D=L.isActive,Y=we(K=>zj(K,W,x,k)),N=we(K=>xC(K,W,x,k)),_=we(K=>jj(K,W,x,k)),z=Y,j=Qj(),P=(r=a??D)!==null&&r!==void 0?r:!1,B=Bh([z,P]),R=tee(B,2),F=R[0],G=R[1],ee=W==="axis"?N:void 0;dz(W,x,_,ee,H,P);var fe=S??j;if(fe==null||A==null||W==null)return null;var de=z??vz;P||(de=vz),u&&de.length&&(de=Ph(de.filter(K=>K.value!=null&&(K.hide!==!0||n.includeHidden)),f,iee));var De=de.length>0,le=pz(pz({},n),{},{payload:de,label:ee,active:P,activeIndex:H,coordinate:_,accessibilityLayer:M}),Te=eo.createElement(QD,{allowEscapeViewBox:o,animationDuration:i,animationEasing:l,isAnimationActive:c,active:P,coordinate:_,hasPayload:De,offset:d,position:p,reverseDirection:v,useTranslate3d:y,viewBox:A,wrapperStyle:h,lastBoundingBox:F,innerRef:G,hasPortalFromProps:!!S},lee(s,le));return eo.createElement(eo.Fragment,null,(0,yz.createPortal)(Te,fe),P&&eo.createElement(Zj,{cursor:m,tooltipEventType:W,coordinate:_,payload:de,index:H}))}var Wi=e=>null;Wi.displayName="Cell";var EC=te(ne()),hb=te(ne());function uee(e,t,r){return(t=cee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cee(e){var t=dee(e,"string");return typeof t=="symbol"?t:t+""}function dee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var vb=class{constructor(t){uee(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 hz(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 fee(e){for(var t=1;t{try{var r=document.getElementById(bz);r||(r=document.createElement("span"),r.setAttribute("id",bz),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,yee,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},_u=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ga.isSsr)return{width:0,height:0};if(!Sz.enableCache)return wz(t,r);var n=hee(t,r),a=xz.get(n);if(a)return a;var o=wz(t,r);return xz.set(n,o),o};var Ez;function gb(e,t){return See(e)||wee(e,t)||bee(e,t)||xee()}function xee(){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 bee(e,t){if(e){if(typeof e=="string")return Az(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)?Az(e,t):void 0}}function Az(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=[];ct(t)||(r?a=t.toString().split(""):a=t.toString().split(Iz));var o=a.map(l=>({word:l,width:_u(l,n).width})),i=r?0:_u("\xA0",n).width;return{wordsWithComputedWidth:o,spaceWidth:i}}catch{return null}};function xb(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function zz(e){return ct(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Lz=(e,t,r,n)=>e.reduce((a,o)=>{var i=o.word,l=o.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),Wee="\u2026",Pz=(e,t,r,n,a,o,i,l)=>{var s=e.slice(0,t),u=jz({breakAll:r,style:n,children:s+Wee});if(!u)return[!1,[]];var c=Lz(u.wordsWithComputedWidth,o,i,l),d=c.length>a||Bz(c).width>Number(o);return[d,c]},Hee=(e,t,r,n,a)=>{var o=e.maxLines,i=e.children,l=e.style,s=e.breakAll,u=be(o),c=String(i),d=Lz(t,n,r,a);if(!u||a)return d;var f=d.length>o||Bz(d).width>Number(n);if(!f)return d;for(var p=0,v=c.length-1,y=0,h;p<=v&&y<=c.length-1;){var m=Math.floor((p+v)/2),g=m-1,x=Pz(c,g,s,l,o,n,r,a),b=Tz(x,2),S=b[0],w=b[1],O=Pz(c,m,s,l,o,n,r,a),k=Tz(O,1),A=k[0];if(!S&&!A&&(p=m+1),S&&A&&(v=m-1),!S&&A){h=w;break}y++}return h||d},Dz=e=>{var t=ct(e)?[]:e.toString().split(Iz);return[{words:t,width:void 0}]},Vee=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,o=e.breakAll,i=e.maxLines;if((t||r)&&!Ga.isSsr){var l,s,u=jz({breakAll:o,children:n,style:a});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return Dz(n);return Hee({breakAll:o,children:n,maxLines:i,style:a},l,s,t,!!r)}return Dz(n)},$z="#808080",Kee={angle:0,breakAll:!1,capHeight:"0.71em",fill:$z,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Ou=(0,hb.forwardRef)((e,t)=>{var r=lt(e,Kee),n=r.x,a=r.y,o=r.lineHeight,i=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=Oz(r,jee),f=(0,hb.useMemo)(()=>Vee({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,y=d.angle,h=d.className,m=d.breakAll,g=Oz(d,zee);if(!Mn(n)||!Mn(a)||f.length===0)return null;var x=Number(n)+(be(p)?p:0),b=Number(a)+(be(v)?v:0);if(!He(x)||!He(b))return null;var S;switch(c){case"start":S=yb("calc(".concat(i,")"));break;case"middle":S=yb("calc(".concat((f.length-1)/2," * -").concat(o," + (").concat(i," / 2))"));break;default:S=yb("calc(".concat(f.length-1," * -").concat(o,")"));break}var w=[],O=f[0];if(s&&O!=null){var k=O.width,A=d.width;w.push("scale(".concat(be(A)&&be(k)?A/k:1,")"))}return y&&w.push("rotate(".concat(y,", ").concat(x,", ").concat(b,")")),w.length&&(g.transform=w.join(" ")),EC.createElement("text",CC({},rr(g),{ref:t,x,y:b,className:Ue("recharts-text",h),textAnchor:u,fill:l.includes("url")?$z:l}),f.map((M,W)=>{var L=M.words.join(m?"":" ");return EC.createElement("tspan",{x,dy:W===0?S:o,key:"".concat(L,"-").concat(W)},L)}))});Ou.displayName="Text";var ra=te(ne()),Xr=te(ne());var qee=["labelRef"],Yee=["content"];function Uz(e,t){if(e==null)return{};var r,n,a=Gee(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,o=e.width,i=e.height,l=e.children,s=(0,Xr.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:o,height:i}),[t,r,n,a,o,i]);return ra.createElement(Wz.Provider,{value:s},l)},Vz=()=>{var e=(0,Xr.useContext)(Wz),t=nu();return e||(t?rm(t):void 0)},Kz=(0,Xr.createContext)(null),qz=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=e.clockWise,s=e.children,u=(0,Xr.useMemo)(()=>({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:o,endAngle:i,clockWise:l}),[t,r,n,a,o,i,l]);return ra.createElement(Kz.Provider,{value:u},s)},Jee=()=>{var e=(0,Xr.useContext)(Kz),t=we(ex);return e||t},Ree=e=>{var t=e.value,r=e.formatter,n=ct(e.children)?t:e.children;return typeof r=="function"?r(n):n},Mu=e=>e!=null&&typeof e=="function",ete=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},tte=(e,t,r,n,a)=>{var o=e.offset,i=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,y=ete(d,f),h=y>=0?1:-1,m,g;switch(t){case"insideStart":m=d+h*o,g=p;break;case"insideEnd":m=f-h*o,g=!p;break;case"end":m=f+h*o,g=p;break;default:throw new Error("Unsupported position ".concat(t))}g=y<=0?g:!g;var x=qt(l,s,v,m),b=qt(l,s,v,m+(g?1:-1)*359),S="M".concat(x.x,",").concat(x.y,` + A`).concat(v,",").concat(v,",0,1,").concat(g?0:1,`, + `).concat(b.x,",").concat(b.y),w=ct(e.id)?Ni("recharts-radial-line-"):e.id;return ra.createElement("text",Vi({},n,{dominantBaseline:"central",className:Ue("recharts-radial-bar-label",i)}),ra.createElement("defs",null,ra.createElement("path",{id:w,d:S})),ra.createElement("textPath",{xlinkHref:"#".concat(w)},r))},rte=(e,t,r)=>{var n=e.cx,a=e.cy,o=e.innerRadius,i=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=qt(n,a,i+t,u),d=c.x,f=c.y;return{x:d,y:f,textAnchor:d>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y: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=(o+i)/2,v=qt(n,a,p,u),y=v.x,h=v.y;return{x:y,y:h,textAnchor:"middle",verticalAnchor:"middle"}},gf=e=>e!=null&&"cx"in e&&be(e.cx),nte={angle:0,offset:5,zIndex:dt.label,position:"middle",textBreakAll:!1};function ate(e){if(!gf(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 Hi(e){var t,r,n=lt(e,nte),a=n.viewBox,o=n.parentViewBox,i=n.position,l=n.value,s=n.children,u=n.content,c=n.className,d=c===void 0?"":c,f=n.textBreakAll,p=n.labelRef,v=Jee(),y=Vz(),h=i==="center"?y:v??y,m,g,x;a==null?m=h:gf(a)?m=a:m=rm(a);var b=ate(m);if(!m||ct(l)&&ct(s)&&!(0,Xr.isValidElement)(u)&&typeof u!="function")return null;var S=gf(m)&&(i==="insideStart"||i==="insideEnd"||i==="end");if(gf(m))S||(x=rte(m,n.offset,n.position));else if(b){var w=Jy({viewBox:b,position:i,offset:n.offset,parentViewBox:gf(o)?void 0:o,clamp:!0});x=Tu(Tu({x:w.x,y:w.y,textAnchor:w.horizontalAnchor,verticalAnchor:w.verticalAnchor},w.width!==void 0?{width:w.width}:{}),w.height!==void 0?{height:w.height}:{})}var O=Tu(Tu(Tu(Tu({},((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 k=O.labelRef,A=Uz(O,qee);return(0,Xr.cloneElement)(u,A)}if(typeof u=="function"){var M=O.content,W=Uz(O,Yee);if(g=(0,Xr.createElement)(u,W),(0,Xr.isValidElement)(g))return g}else g=Ree(n);var L=rr(n);return S&&gf(m)?tte(n,i,g,L,m):x==null?null:ra.createElement(Yt,{zIndex:n.zIndex},ra.createElement(Ou,Vi({ref:p,className:Ue("recharts-label",d)},L,x,{textAnchor:xb(L.textAnchor)?L.textAnchor:x.textAnchor,breakAll:f}),g))}Hi.displayName="Label";var ote=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?ra.createElement(Hi,Vi({key:"label-implicit"},n)):Mn(e)?ra.createElement(Hi,Vi({key:"label-implicit",value:e},n)):(0,Xr.isValidElement)(e)?e.type===Hi?(0,Xr.cloneElement)(e,Tu({key:"label-implicit"},n)):ra.createElement(Hi,Vi({key:"label-implicit",content:e},n)):Mu(e)?ra.createElement(Hi,Vi({key:"label-implicit",content:e},n)):e&&typeof e=="object"?ra.createElement(Hi,Vi({},e,{key:"label-implicit"},n)):null};function Yz(e){var t=e.label,r=e.labelRef,n=Vz();return ote(t,n,r)||null}var Ki=te(ne()),yf=te(ne());var ite=["valueAccessor"],lte=["dataKey","clockWise","id","textBreakAll","zIndex"];function wb(){return wb=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(zz(t))return t},Xz=(0,yf.createContext)(void 0),hf=Xz.Provider,Zz=(0,yf.createContext)(void 0),Qz=Zz.Provider;function cte(){return(0,yf.useContext)(Xz)}function dte(){return(0,yf.useContext)(Zz)}function bb(e){var t=e.valueAccessor,r=t===void 0?ute:t,n=Gz(e,ite),a=n.dataKey,o=n.clockWise,i=n.id,l=n.textBreakAll,s=n.zIndex,u=Gz(n,lte),c=cte(),d=dte(),f=c||d;return!f||!f.length?null:Ki.createElement(Yt,{zIndex:s??dt.label},Ki.createElement(bt,{className:"recharts-label-list"},f.map((p,v)=>{var y,h=ct(a)?r(p,v):Qe(p.payload,a),m=ct(i)?{}:{id:"".concat(i,"-").concat(v)};return Ki.createElement(Hi,wb({key:"label-".concat(v)},rr(p),u,m,{fill:(y=n.fill)!==null&&y!==void 0?y:p.fill,parentViewBox:p.parentViewBox,value:h,textBreakAll:l,viewBox:p.viewBox,index:v,zIndex:0}))})))}bb.displayName="LabelList";function ns(e){var t=e.label;return t?t===!0?Ki.createElement(bb,{key:"labelList-implicit"}):Ki.isValidElement(t)||Mu(t)?Ki.createElement(bb,{key:"labelList-implicit",content:t}):typeof t=="object"?Ki.createElement(bb,wb({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var Jz=te(ne());function _C(){return _C=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,o=Ue("recharts-dot",a);return be(t)&&be(r)&&be(n)?Jz.createElement("circle",_C({},tr(e),gd(e),{className:o,cx:t,cy:r,r:n})):null};var OC=e=>e.graphicalItems.polarItems,fte=J([nr,cu],Rm),Ab=J([OC,ur,fte],ev),pte=J([Ab],tv),kb=J([pte,iu],rv),mte=J([kb,ur,Ab],IN),CCe=J([kb,ur,Ab],(e,t,r)=>r.length>0?e.flatMap(n=>r.flatMap(a=>{var o,i=Qe(n,(o=t.dataKey)!==null&&o!==void 0?o:a.dataKey);return{value:i,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey),errorDomain:[]})):e.map(n=>({value:n,errorDomain:[]}))),Rz=()=>{},vte=J([kb,ur,Ab,of,nr,R8],av),gte=J([ur,Hx,Vx,Rz,vte,Rz,qe,nr],ov),eL=J([ur,qe,kb,mte,Ul,nr,gte],iv),yte=J([eL,Cu,Bi],lv),hte=J([ur,eL,yte,nr],sv),ECe=J([Bi,hte],rx);var xte={radiusAxis:{},angleAxis:{}},tL=Ct({name:"polarAxis",initialState:xte,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=tt(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=tt(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Nb=tL.actions,MCe=Nb.addRadiusAxis,PCe=Nb.removeRadiusAxis,DCe=Nb.addAngleAxis,ICe=Nb.removeAngleAxis;var rL=tL.reducer;function Cb(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var Re=te(ne()),Nf=te(ne());function nL(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 aL(e){for(var t=1;tt,TC=J([OC,Ate],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),kte=[],MC=(e,t,r)=>r?.length===0?kte:r,oL=J([iu,TC,MC],(e,t,r)=>{var n=e.chartData;if(t!=null){var a;if(t?.data!=null&&t.data.length>0?a=t.data:a=n,(!a||!a.length)&&r!=null&&(a=r.map(o=>aL(aL({},t.presentationProps),o.props))),a!=null)return a}}),iL=J([oL,TC,MC],(e,t,r)=>{if(!(e==null||t==null))return e.map((n,a)=>{var o,i=Qe(n,t.nameKey,t.name),l;return r!=null&&(o=r[a])!==null&&o!==void 0&&(o=o.props)!==null&&o!==void 0&&o.fill?l=r[a].props.fill:typeof n=="object"&&n!=null&&"fill"in n?l=n.fill:l=t.fill,{value:wa(i,t.dataKey),dataKey:t.dataKey,color:l,payload:n,type:t.legendType}})}),lL=J([oL,TC,MC,jt],(e,t,r,n)=>{if(!(t==null||e==null))return sL({offset:n,pieSettings:t,displayedData:e,cells:r})});var mL=te(ne()),vL=te(dL());var fL=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",pL=null,IC=null,gL=e=>{if(e===pL&&Array.isArray(IC))return IC;var t=[];return mL.Children.forEach(e,r=>{ct(r)||((0,vL.isFragment)(r)?t=t.concat(gL(r.props.children)):t.push(r))}),IC=t,pL=e,t};function mv(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(a=>fL(a)):n=[fL(t)],gL(e).forEach(a=>{var o=rn(a,"type.displayName")||rn(a,"type.name");o&&n.indexOf(o)!==-1&&r.push(a)}),r}var xf=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var bf=te(ne()),vv=te(ne());function yL(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 hL(e){for(var t=1;t{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(Zx({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}},yv=e=>{var t=Ve();return(r,n)=>a=>{e?.(r,n,a),t(uj())}},hv=(e,t,r)=>{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(cj({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}};var xv=te(ne());function os(e){var t=e.tooltipEntrySettings,r=Ve(),n=Et(),a=(0,xv.useRef)(null);return(0,xv.useLayoutEffect)(()=>{n||(a.current===null?r(oj(t)):a.current!==t&&r(ij({prev:a.current,next:t})),a.current=t)},[t,r,n]),(0,xv.useLayoutEffect)(()=>()=>{a.current&&(r(lj(a.current)),a.current=null)},[r]),null}var is=te(ne());function wf(e){var t=e.legendPayload,r=Ve(),n=Et(),a=(0,is.useRef)(null);return(0,is.useLayoutEffect)(()=>{n||(a.current===null?r(kk(t)):a.current!==t&&r(Nk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,is.useLayoutEffect)(()=>()=>{a.current&&(r(Ck(a.current)),a.current=null)},[r]),null}function bL(e){var t=e.legendPayload,r=Ve(),n=we(qe),a=(0,is.useRef)(null);return(0,is.useLayoutEffect)(()=>{n!=="centric"&&n!=="radial"||(a.current===null?r(kk(t)):a.current!==t&&r(Nk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,is.useLayoutEffect)(()=>()=>{a.current&&(r(Ck(a.current)),a.current=null)},[r]),null}var AL=te(ne()),Sv=te(ne());function Ite(e,t){return Bte(e)||Lte(e,t)||zte(e,t)||jte()}function jte(){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 zte(e,t){if(e){if(typeof e=="string")return wL(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)?wL(e,t):void 0}}function wL(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 o=0;oe[Math.floor(o*r)]);return jC(n,t)}function Ute(e,t){var r=t.map((n,a)=>e[a]);return jC(r,t)}function Fte(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}}),i=[];for(var l of n){var s=Ite(l,2),u=s[0],c=s[1];a.has(u)||i.push(c)}return jC(o,t,i)}function wv(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Pu?$te(e,t):r===bv?Ute(e,t):Wte(e,t,r)}var Sf=te(ne());function Lb(e,t){var r=(0,Sf.useRef)(e),n=(0,Sf.useRef)(t.current),a=(0,Sf.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var o=(0,Sf.useCallback)(function(i,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=i),l>0&&a.current&&s&&(t.current=i)},[t]);return{startValue:n.current,syncStepValue:o}}function Hte(e,t){return Yte(e)||qte(e,t)||Kte(e,t)||Vte()}function Vte(){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 Kte(e,t){if(e){if(typeof e=="string")return SL(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)?SL(e,t):void 0}}function SL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),l=(0,Sv.useCallback)(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:a,handleAnimationStart:i,handleAnimationEnd:l}}function ss(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,o=e.previousItemsRef,i=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,v=e.shouldUpdatePreviousRef,y=e.children,h=e.layout,m=M0(r,n),g=Lb(m,o),x=(t=g.startValue)!==null&&t!==void 0?t:null,b=wv(x,a,p??Pu);return AL.createElement(T0,{animationId:m,begin:l,duration:s,isActive:i,easing:u,onAnimationEnd:d,onAnimationStart:c,key:m},S=>{var w=x==null,O=a==null?a:f(b,S,h),k=v?v(S):S>0;return g.syncStepValue(O,S,k),O==null?null:y(O,S,w)})}var CL=te(ne()),LC=te(ne());var Bb=te(ne());var zC;function Gte(e,t){return Jte(e)||Qte(e,t)||Zte(e,t)||Xte()}function Xte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zte(e,t){if(e){if(typeof e=="string")return kL(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)?kL(e,t):void 0}}function kL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=Bb.useState(()=>Ni("uid-")),t=Gte(e,1),r=t[0];return r},$b=(zC=Bb.useId)!==null&&zC!==void 0?zC:Rte;function NL(e,t){var r=$b();return t||(e?"".concat(e,"-").concat(r):r)}var ere=(0,LC.createContext)(void 0),us=e=>{var t=e.id,r=e.type,n=e.children,a=NL("recharts-".concat(r),t);return CL.createElement(ere.Provider,{value:a},n(a))};var ko=te(ne());var tre={cartesianItems:[],polarItems:[]},EL=Ct({name:"graphicalItems",initialState:tre,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(tt(t.payload))},prepare:Pt()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).cartesianItems.indexOf(tt(n));o>-1&&(e.cartesianItems[o]=tt(a))},prepare:Pt()},removeCartesianGraphicalItem:{reducer(e,t){var r=yn(e).cartesianItems.indexOf(tt(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Pt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(tt(t.payload))},prepare:Pt()},removePolarGraphicalItem:{reducer(e,t){var r=yn(e).polarItems.indexOf(tt(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Pt()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).polarItems.indexOf(tt(n));o>-1&&(e.polarItems[o]=tt(a))},prepare:Pt()}}}),Af=EL.actions,_L=Af.addCartesianGraphicalItem,OL=Af.replaceCartesianGraphicalItem,TL=Af.removeCartesianGraphicalItem,ML=Af.addPolarGraphicalItem,PL=Af.removePolarGraphicalItem,DL=Af.replacePolarGraphicalItem;var IL=EL.reducer;var rre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(_L(e)):r.current!==e&&t(OL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(TL(r.current)),r.current=null)},[t]),null},kf=(0,ko.memo)(rre),nre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(ML(e)):r.current!==e&&t(DL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(PL(r.current)),r.current=null)},[t]),null},jL=(0,ko.memo)(nre);var are=["key"],ore=["onMouseEnter","onClick","onMouseLeave"],ire=["id"],lre=["id"];function Du(){return Du=Object.assign?Object.assign.bind():function(e){for(var t=1;tmv(e.children,Wi),[e.children]),r=we(n=>iL(n,e.id,t));return r==null?null:Re.createElement(bL,{legendPayload:r})}function pre(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(Re.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var n=e.fill;return typeof n=="string"?n:void 0}}var mre=Re.memo(e=>{var t=e.dataKey,r=e.nameKey,n=e.sectors,a=e.stroke,o=e.strokeWidth,i=e.fill,l=e.name,s=e.hide,u=e.tooltipType,c=e.formatter,d=e.id,f=e.activeShape,p=pre(f),v=n.map(h=>{var m=h.tooltipPayload;return p==null||m==null?m:m.map(g=>cr(cr({},g),{},{color:p,fill:p}))}),y={dataDefinedOnItem:v,getPosition:h=>{var m;return(m=n[Number(h)])===null||m===void 0?void 0:m.tooltipPosition},settings:{stroke:a,strokeWidth:o,fill:i,dataKey:t,nameKey:r,name:wa(l,t),hide:s,type:u,color:i,unit:"",formatter:c,graphicalItemId:d}};return Re.createElement(os,{tooltipEntrySettings:y})}),vre=(e,t)=>e>t?"start":etypeof t=="function"?vr(t(e),r,r*.8):vr(t,r,r*.8),yre=(e,t,r)=>{var n=t.top,a=t.left,o=t.width,i=t.height,l=j0(o,i),s=a+vr(e.cx,o,o/2),u=n+vr(e.cy,i,i/2),c=vr(e.innerRadius,l,0),d=gre(r,e.outerRadius,l),f=e.maxRadius||Math.sqrt(o*o+i*i)/2;return{cx:s,cy:u,innerRadius:c,outerRadius:d,maxRadius:f}},hre=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},xre=(e,t)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);if(typeof e=="function")return e(t);var r=Ue("recharts-pie-label-line",typeof e!="boolean"?e.className:""),n=t.key,a=Ub(t,are);return Re.createElement(Fo,Du({},a,{type:"linear",className:r}))},bre=(e,t,r)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);var n=r;if(typeof e=="function"&&(n=e(t),Re.isValidElement(n)))return n;var a=Ue("recharts-pie-label-text",Cb(e));return Re.createElement(Ou,Du({},t,{alignmentBaseline:"middle",className:a}),n)};function wre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label,o=r.labelLine,i=r.dataKey;if(!n||!a||!t)return null;var l=tr(r),s=ga(a),u=ga(o),c=typeof a=="object"&&"offsetRadius"in a&&typeof a.offsetRadius=="number"&&a.offsetRadius||20,d=t.map((f,p)=>{var v=(f.startAngle+f.endAngle)/2,y=qt(f.cx,f.cy,f.outerRadius+c,v),h=cr(cr(cr(cr({},l),f),{},{stroke:"none"},s),{},{index:p,textAnchor:vre(y.x,f.cx)},y),m=cr(cr(cr(cr({},l),f),{},{fill:"none",stroke:f.fill},u),{},{index:p,points:[qt(f.cx,f.cy,f.outerRadius,v),y],key:"line"});return Re.createElement(Yt,{zIndex:dt.label,key:"label-".concat(f.startAngle,"-").concat(f.endAngle,"-").concat(f.midAngle,"-").concat(p)},Re.createElement(bt,null,o&&xre(o,m),bre(a,h,Qe(f,i))))});return Re.createElement(bt,{className:"recharts-pie-labels"},d)}function Sre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label;return typeof a=="object"&&a!=null&&"position"in a?Re.createElement(ns,{label:a}):Re.createElement(wre,{sectors:t,props:r,showLabels:n})}function Are(e){var t=e.sectors,r=e.activeShape,n=e.inactiveShape,a=e.allOtherPieProps,o=e.shape,i=e.id,l=e.animationElapsedTime,s=e.isAnimating,u=e.isEntrance,c=we(Ra),d=we(uf),f=we(ib),p=a.onMouseEnter,v=a.onClick,y=a.onMouseLeave,h=Ub(a,ore),m=gv(p,a.dataKey,i),g=yv(y),x=hv(v,a.dataKey,i);return t==null||t.length===0?null:Re.createElement(Re.Fragment,null,t.map((b,S)=>{if(b?.startAngle===0&&b?.endAngle===0&&t.length!==1)return null;var w=f==null||f===i,O=String(S)===c&&(d==null||a.dataKey===d)&&w,k=c?n:null,A=r&&O?r:k,M=cr(cr({},b),{},{stroke:b.stroke,tabIndex:-1,index:S,isActive:O,animationElapsedTime:l,isAnimating:s,isEntrance:u,[p0]:S,[m0]:i});return Re.createElement(bt,Du({key:"sector-".concat(b?.startAngle,"-").concat(b?.endAngle,"-").concat(b.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Ei(h,b,S),{onMouseEnter:m(b,S),onMouseLeave:g(b,S),onClick:x(b,S)}),Re.createElement(as,{option:A??o,DefaultShape:LL,shapeProps:M}))}))}function sL(e){var t,r=e.pieSettings,n=e.displayedData,a=e.cells,o=e.offset,i=r.cornerRadius,l=r.startAngle,s=r.endAngle,u=r.dataKey,c=r.nameKey,d=r.tooltipType,f=Math.abs(r.minAngle),p=hre(l,s),v=Math.abs(p),y=n.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,h=n.filter(k=>Qe(k,u,0)!==0).length,m=(v>=360?h:h-1)*y,g=n.reduce((k,A)=>{var M=Qe(A,u,0);return k+(be(M)?M:0)},0),x=f>0&&g>0&&n.some(k=>{var A=Qe(k,u,0),M=(be(A)?A:0)/g;return A!==0&&M*v0){var O;w=n.map((k,A)=>{var M=Qe(k,u,0),W=Qe(k,c,A),L=yre(r,o,k),H=(be(M)?M:0)/g,D,Y=cr(cr({},k),a&&a[A]&&a[A].props),N=Y!=null&&"fill"in Y&&typeof Y.fill=="string"?Y.fill:r.fill;A?D=O.endAngle+Ft(p)*y*(M!==0?1:0):D=l;var _=D+Ft(p)*((M!==0?b:0)+H*S),z=(D+_)/2,j=(L.innerRadius+L.outerRadius)/2,P=[{name:W,value:M,payload:Y,dataKey:u,type:d,color:N,fill:N,graphicalItemId:r.id}],B=qt(L.cx,L.cy,j,z);return O=cr(cr(cr(cr({},r.presentationProps),{},{percent:H,cornerRadius:typeof i=="string"?parseFloat(i):i,name:W,tooltipPayload:P,midAngle:z,middleRadius:j,tooltipPosition:B},Y),L),{},{value:M,dataKey:u,startAngle:D,endAngle:_,payload:Y,paddingAngle:M!==0?Ft(p)*y:0}),O})}return w}function kre(e){var t=e.showLabels,r=e.sectors,n=e.children,a=(0,Nf.useMemo)(()=>!t||!r?[]:r.map(o=>({value:o.value,payload:o.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:o.cx,cy:o.cy,innerRadius:o.innerRadius,outerRadius:o.outerRadius,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},fill:o.fill})),[r,t]);return Re.createElement(Qz,{value:t?a:void 0},n)}var Nre=(e,t)=>{if(e==null)return[];var r=[],n=e.find(o=>o.status!=="removed"),a=n?n.next.startAngle:0;return e.forEach((o,i)=>{if(o.status!=="removed"){var l=i>0?rn(o.next,"paddingAngle",0):0;if(o.status==="matched"){var s=Nt(o.prev.endAngle-o.prev.startAngle,o.next.endAngle-o.next.startAngle,t),u=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+s+l});r.push(u),a=u.endAngle}else{var c=Nt(0,o.next.endAngle-o.next.startAngle,t),d=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+c+l});r.push(d),a=d.endAngle}}}),r};function Cre(e){var t,r,n,a,o=e.props,i=e.previousSectorsRef,l=e.id,s=o.sectors,u=o.activeShape,c=o.inactiveShape,d=o.animationInterpolateFn,f=ls(o.onAnimationStart,o.onAnimationEnd),p=f.isAnimating,v=f.handleAnimationStart,y=f.handleAnimationEnd,h=ND();if(h==null)return null;var m=s[0];return Re.createElement(kre,{showLabels:!p,sectors:s},Re.createElement(ss,{animationInput:o,animationIdPrefix:"recharts-pie-",items:s,previousItemsRef:i,isAnimationActive:o.isAnimationActive,animationBegin:o.animationBegin,animationDuration:o.animationDuration,animationEasing:o.animationEasing,onAnimationStart:v,onAnimationEnd:y,animationInterpolateFn:d,animationMatchBy:o.animationMatchBy,layout:h},(g,x,b)=>Re.createElement(bt,null,Re.createElement(Are,{sectors:g,activeShape:u,inactiveShape:c,allOtherPieProps:o,shape:o.shape,id:l,animationElapsedTime:x,isAnimating:p||x<1,isEntrance:b}))),Re.createElement(Sre,{showLabels:!p,sectors:s,props:o}),Re.createElement(qz,{cx:(t=m?.cx)!==null&&t!==void 0?t:0,cy:(r=m?.cy)!==null&&r!==void 0?r:0,innerRadius:(n=m?.innerRadius)!==null&&n!==void 0?n:0,outerRadius:(a=m?.outerRadius)!==null&&a!==void 0?a:0,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},o.children))}var Ere={animationBegin:400,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Nre,animationMatchBy:bv,cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,shape:LL,startAngle:0,stroke:"#fff",zIndex:dt.area};function _re(e){var t=e.id,r=Ub(e,ire),n=e.hide,a=e.className,o=e.rootTabIndex,i=(0,Nf.useMemo)(()=>mv(e.children,Wi),[e.children]),l=we(c=>lL(c,t,i)),s=(0,Nf.useRef)(null),u=Ue("recharts-pie",a);return n||l==null?(s.current=null,Re.createElement(bt,{tabIndex:o,className:u})):Re.createElement(Yt,{zIndex:e.zIndex},Re.createElement(mre,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),Re.createElement(bt,{tabIndex:o,className:u},Re.createElement(Cre,{props:cr(cr({},r),{},{sectors:l}),previousSectorsRef:s,id:t})))}function Ore(e){var t=lt(e,Ere),r=t.id,n=Ub(t,lre),a=tr(n);return Re.createElement(us,{id:r,type:"pie"},o=>Re.createElement(Re.Fragment,null,Re.createElement(jL,{type:"pie",id:o,data:n.data,dataKey:n.dataKey,hide:n.hide,angleAxisId:0,radiusAxisId:0,name:n.name,nameKey:n.nameKey,tooltipType:n.tooltipType,legendType:n.legendType,fill:n.fill,cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,paddingAngle:n.paddingAngle,minAngle:n.minAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius,cornerRadius:n.cornerRadius,presentationProps:a,maxRadius:t.maxRadius}),Re.createElement(fre,Du({},n,{id:o})),Re.createElement(_re,Du({},n,{id:o}))))}var Fb=Ore;Fb.displayName="Pie";var Av=te(ne()),Hb=te(ne());var Tre=["points"];function BL(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 BC(e){for(var t=1;t{var m,g,x=BC(BC(BC({r:3},i),f),{},{index:h,cx:(m=y.x)!==null&&m!==void 0?m:void 0,cy:(g=y.y)!==null&&g!==void 0?g:void 0,dataKey:o,value:y.value,payload:y.payload,points:t});return Av.createElement(zre,{key:"dot-".concat(h),option:r,dotProps:x,className:a})}),v={};return l&&s!=null&&(v.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Av.createElement(Yt,{zIndex:c},Av.createElement(bt,Wb({className:n},v),p))}var kv=te(ne()),qb=te(ne());function $L(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 Kb(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var QL=J([ZL,on,ln],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}});var cs=()=>we(QL),JL=()=>we(Aj);function RL(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 UC(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,o=e.dataKey,i=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=UC(UC(UC({},l),ga(a)),gd(a)),u;return(0,qb.isValidElement)(a)?u=(0,qb.cloneElement)(a,s):typeof a=="function"?u=a(s):u=kv.createElement(Sb,s),kv.createElement(bt,{className:"recharts-active-dot",clipPath:i},u)};function Nv(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,o=e.clipPath,i=e.zIndex,l=i===void 0?dt.activeDot:i,s=we(Ra),u=JL();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return ct(c)?null:kv.createElement(Yt,{zIndex:l},kv.createElement(Kre,{point:c,childIndex:Number(s),mainColor:r,dataKey:a,activeDot:n,clipPath:o}))}function qre(e,t){return Zre(e)||Xre(e,t)||Gre(e,t)||Yre()}function Yre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gre(e,t){if(e){if(typeof e=="string")return eB(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)?eB(e,t):void 0}}function eB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var n=r??e;if(!ct(n))return vr(n,t,0)},rB=(e,t,r)=>{var n={},a=e.filter(du),o=e.filter(u=>u.stackId==null),i=a.reduce((u,c)=>{var d=u[c.stackId];return d==null&&(d=[]),d.push(c),u[c.stackId]=d,u},n),l=Object.entries(i).map(u=>{var c,d=qre(u,2),f=d[0],p=d[1],v=p.map(h=>h.dataKey),y=tB(t,r,(c=p[0])===null||c===void 0?void 0:c.barSize);return{stackId:f,dataKeys:v,barSize:y}}),s=o.map(u=>{var c=[u.dataKey].filter(f=>f!=null),d=tB(t,r,u.barSize);return{stackId:void 0,dataKeys:c,barSize:d}});return[...l,...s]};function nB(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 Yb(e){for(var t=1;tg+(x.barSize||0),0);f+=(i-1)*l,f>=r&&(f-=(i-1)*l,l=0),f>=r&&d>0&&(c=!0,d*=.9,f=i*d);var p=Math.round((r-f)/2),v={offset:p-l,size:0};s=n.reduce((g,x)=>{var b,S={stackId:x.stackId,dataKeys:x.dataKeys,position:{offset:v.offset+v.size+l,size:c?d:(b=x.barSize)!==null&&b!==void 0?b:0}},w=[...g,S];return v=S.position,w},u)}else{var y=vr(t,r,0,!0);r-2*y-(i-1)*l<=0&&(l=0);var h=(r-2*y-(i-1)*l)/i;h>1&&(h=Math.round(h));var m=He(a)?Math.min(h,a):h;s=n.reduce((g,x,b)=>[...g,{stackId:x.stackId,dataKeys:x.dataKeys,position:{offset:y+i*(h-m)/2+(m+l)*b,size:m}}],u)}return s}}var aB=(e,t,r,n,a,o,i)=>{var l=ct(i)?t:i,s=ene(r,n,a!==o?a:o,e,l);return a!==o&&s!=null&&(s=s.map(u=>Yb(Yb({},u),{},{position:Yb(Yb({},u.position),{},{offset:u.position.offset-a/2})}))),s};var oB=(e,t)=>{var r=Wl(t);if(!(!e||r==null||t==null)){var n=t.stackId;if(n!=null){var a=e[n];if(a){var o=a.stackedData;if(o)return o.find(i=>i.key===r)}}}};var iB=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function lB(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&He(e.zIndex)?e.zIndex:t}var sB=te(ne());var Gb=e=>{var t=e.chartData,r=Ve(),n=Et();return(0,sB.useEffect)(()=>n?()=>{}:(r(NC(t)),()=>{r(NC(void 0))}),[t,r,n]),null};var uB={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},cB=Ct({name:"brush",initialState:uB,reducers:{setBrushSettings(e,t){return t.payload==null?uB:t.payload}}}),o5e=cB.actions.setBrushSettings;var dB=cB.reducer;function tne(e){return(e%180+180)%180}var fB=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=tne(a),i=o*Math.PI/180,l=Math.atan(n/r),s=i>l&&i{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=yn(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=yn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(tt(t.payload))},removeLine:(e,t)=>{var r=yn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Cf=pB.actions,c5e=Cf.addDot,d5e=Cf.removeDot,f5e=Cf.addArea,p5e=Cf.removeArea,m5e=Cf.addLine,v5e=Cf.removeLine;var mB=pB.reducer;var Cv=te(ne()),Ev=te(ne());function nne(e,t){return lne(e)||ine(e,t)||one(e,t)||ane()}function ane(){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 one(e,t){if(e){if(typeof e=="string")return vB(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)?vB(e,t):void 0}}function vB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Ev.useState)("".concat(Ni("recharts"),"-clip")),n=nne(r,1),a=n[0],o=cs();if(o==null)return null;var i=o.x,l=o.y,s=o.width,u=o.height;return Cv.createElement(sne.Provider,{value:a},Cv.createElement("defs",null,Cv.createElement("clipPath",{id:a},Cv.createElement("rect",{x:i,y:l,height:u,width:s}))),t)};var ar=te(ne()),kn=te(ne());function yB(){}function FC(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 hB(e,t,r){return _v(e,t,void 0,void 0,void 0,void 0,r)}function _v(e,t,r,n,a,o,i){let l=i(e,t,r,n,a,o);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 Ov(e,t,o,i)}return Ov(e,t,o,i)}function Ov(e,t,r,n){if(Object.is(e,t))return!0;let a=_i(e),o=_i(t);if(a==="[object Arguments]"&&(a=bd),o==="[object Arguments]"&&(o=bd),a!==o)return!1;switch(a){case yd:return e.toString()===t.toString();case hd:return Ll(e.valueOf(),t.valueOf());case xd:case fh:case dh:return Object.is(e.valueOf(),t.valueOf());case uh:return e.source===t.source&&e.flags===t.flags;case bM:return e===t}r=r??new Map;let i=r.get(e),l=r.get(t);if(i!=null&&l!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(a){case ph:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!_v(u,t.get(s),s,e,t,r,n))return!1;return!0;case mh:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;c_v(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case vh:case hh:case xh:case bh:case wh:case SM:case Sh:case Ah:case kh:case AM:case Nh:case Ch:if(sm(e)!==sm(t)||e.length!==t.length)return!1;for(let s=0;se*a)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-a)<=0}function wB(e,t){return Xb(e,t+1)}function SB(e,t,r,n,a){for(var o=(n||[]).slice(),i=t.start,l=t.end,s=0,u=1,c=i,d=function(){var v=n?.[s];if(v===void 0)return{v:Xb(n,u)};var y=s,h,m=()=>(h===void 0&&(h=r(v,y)),h),g=v.coordinate,x=s===0||Iu(e,g,m,c,l);x||(s=0,c=i,u+=1),x&&(c=g+e*(m()/2+a),s+=u)},f;u<=o.length;)if(f=d(),f)return f.v;return[]}function AB(e,t,r,n,a){var o=(n||[]).slice(),i=o.length;if(i===0)return[];for(var l=t.start,s=t.end,u=1;u<=i;u++){for(var c=(i-1)%u,d=l,f=!0,p=function(){var b=n[y];if(b==null)return 0;var S=y,w,O=()=>(w===void 0&&(w=r(b,S)),w),k=b.coordinate,A=y===c||Iu(e,k,O,d,s);if(!A)return f=!1,1;A&&(d=k+e*(O()/2+a))},v,y=c;y(y===void 0&&(y=r(p,f)),y);if(f===i-1){var m=e*(v.coordinate+e*h()/2-s);o[f]=v=An(An({},v),{},{tickCoord:m>0?v.coordinate-m*e:v.coordinate})}else o[f]=v=An(An({},v),{},{tickCoord:v.coordinate});if(v.tickCoord!=null){var g=Iu(e,v.tickCoord,h,l,s);g&&(s=v.tickCoord-e*(h()/2+a),o[f]=An(An({},v),{},{isShow:!0}))}},c=i-1;c>=0;c--)u(c);return o}function pne(e,t,r,n,a,o){var i=(n||[]).slice(),l=i.length,s=t.start,u=t.end;if(o){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(i[l-1]=c=An(An({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Iu(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+a),i[l-1]=An(An({},c),{},{isShow:!0}))}}}for(var v=o?l-1:l,y=function(g){var x=i[g];if(x==null)return 1;var b=x,S,w=()=>(S===void 0&&(S=r(x,g)),S);if(g===0){var O=e*(b.coordinate-e*w()/2-s);i[g]=b=An(An({},b),{},{tickCoord:O<0?b.coordinate-O*e:b.coordinate})}else i[g]=b=An(An({},b),{},{tickCoord:b.coordinate});if(b.tickCoord!=null){var k=Iu(e,b.tickCoord,w,s,u);k&&(s=b.tickCoord+e*(w()/2+a),i[g]=An(An({},b),{},{isShow:!0}))}},h=0;h{var O=typeof u=="function"?u(S.value,w):S.value;return v==="width"?xB(_u(O,{fontSize:t,letterSpacing:r}),y,d):_u(O,{fontSize:t,letterSpacing:r})[v]},m=a[0],g=a[1],x=a.length>=2&&m!=null&&g!=null?Ft(g.coordinate-m.coordinate):1,b=bB(o,x,v);return s==="equidistantPreserveStart"?SB(x,b,h,a,i):s==="equidistantPreserveEnd"?AB(x,b,h,a,i):(s==="preserveStart"||s==="preserveStartEnd"?p=pne(x,b,h,a,i,s==="preserveStartEnd"):p=fne(x,b,h,a,i),p.filter(S=>S.isShow))}var NB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,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=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var CB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,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=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var mne={xAxis:{},yAxis:{}},EB=Ct({name:"renderedTicks",initialState:mne,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,o=r.ticks;e[n][a]=tt(o)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),_B=EB.actions,OB=_B.setRenderedTicks,TB=_B.removeRenderedTicks;var MB=EB.reducer;var vne=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function PB(e,t){return xne(e)||hne(e,t)||yne(e,t)||gne()}function gne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yne(e,t){if(e){if(typeof e=="string")return DB(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)?DB(e,t):void 0}}function DB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var i=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=o.current;l!=null&&l.axisId===n&&l.axisType===r&&WC(l.ticks,i)||(o.current={ticks:i,axisId:n,axisType:r},a(OB({ticks:i,axisId:n,axisType:r})))}},[a,t,n,r]),(0,kn.useEffect)(()=>n==null||r==null?Pn:()=>{a(TB({axisId:n,axisType:r}))},[a,n,r]),null}var Mne=(0,kn.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,o=e.tickLine,i=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,v=e.y,y=e.width,h=e.height,m=e.tickSize,g=e.tickMargin,x=e.fontSize,b=e.letterSpacing,S=e.getTicksConfig,w=e.events,O=e.axisType,k=e.axisId,A=Tv(Ar(Ar({},S),{},{ticks:n}),x,b),M=tr(S),W=ga(a),L=xb(M.textAnchor)?M.textAnchor:Ene(d,f),H=_ne(d,f),D={};typeof o=="object"&&(D=o);var Y=Ar(Ar({},M),{},{fill:"none"},D),N=A.map(j=>Ar({entry:j},Cne(j,p,v,y,h,d,m,f,g))),_=N.map(j=>{var P=j.entry,B=j.line;return ar.createElement(bt,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(P.value,"-").concat(P.coordinate,"-").concat(P.tickCoord)},o&&ar.createElement("line",ju({},Y,B,{className:Ue("recharts-cartesian-axis-tick-line",rn(o,"className"))})))}),z=N.map((j,P)=>{var B,R,F=j.entry,G=j.tick,ee=Ar(Ar(Ar(Ar({verticalAnchor:H},M),{},{textAnchor:L,stroke:"none",fill:i},G),{},{index:P,payload:F,visibleTicksCount:A.length,tickFormatter:l,padding:u},c),{},{angle:(B=(R=c?.angle)!==null&&R!==void 0?R:M.angle)!==null&&B!==void 0?B:0}),fe=Ar(Ar({},ee),W);return ar.createElement(bt,ju({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(F.value,"-").concat(F.coordinate,"-").concat(F.tickCoord)},Ei(w,F,P)),a&&ar.createElement(One,{option:a,tickProps:fe,value:"".concat(typeof l=="function"?l(F.value,P):F.value).concat(s||"")}))});return ar.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(O,"-ticks")},ar.createElement(Tne,{ticks:A,axisId:k,axisType:O}),z.length>0&&ar.createElement(Yt,{zIndex:dt.label},ar.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(O,"-tick-labels"),ref:t},z)),_.length>0&&ar.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(O,"-tick-lines")},_))}),Pne=(0,kn.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,o=e.className,i=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=bne(e,vne),d=(0,kn.useState)(""),f=PB(d,2),p=f[0],v=f[1],y=(0,kn.useState)(""),h=PB(y,2),m=h[0],g=h[1],x=(0,kn.useRef)(null);(0,kn.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var S;return NB({ticks:x.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var S;return CB({ticks:x.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var b=(0,kn.useCallback)(S=>{if(S){var w=S.getElementsByClassName("recharts-cartesian-axis-tick-value");x.current=w;var O=w[0];if(O){var k=window.getComputedStyle(O),A=k.fontSize,M=k.letterSpacing;(A!==p||M!==m)&&(v(A),g(M))}}},[p,m]);return i||n!=null&&n<=0||a!=null&&a<=0?null:ar.createElement(Yt,{zIndex:e.zIndex},ar.createElement(bt,{className:Ue("recharts-cartesian-axis",o)},ar.createElement(Nne,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:tr(e)}),ar.createElement(Mne,{ref:b,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}),ar.createElement(Hz,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},ar.createElement(Yz,{label:e.label,labelRef:e.labelRef}),e.children)))}),Mv=ar.forwardRef((e,t)=>{var r=lt(e,ro);return ar.createElement(Pne,ju({},r,{ref:t}))});Mv.displayName="CartesianAxis";var kr=te(ne());var Zb=te(ne());var jB={grid:{stroke:"#ccc",fill:"none"}};var zB=(0,Zb.createContext)(jB),xOe=zB.Provider,LB=()=>(0,Zb.useContext)(zB);var Dne=["x1","y1","x2","y2","key"],Ine=["offset"],jne=["xAxisId","yAxisId"],zne=["xAxisId","yAxisId"];function BB(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 Nn(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,o=e.width,i=e.height,l=e.ry;return kr.createElement("rect",{x:n,y:a,ry:l,width:o,height:i,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function $B(e){var t=e.option,r=e.lineItemProps,n;if(kr.isValidElement(t))n=kr.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,o=r.x1,i=r.y1,l=r.x2,s=r.y2,u=r.key,c=Qb(r,Dne),d=(a=tr(c))!==null&&a!==void 0?a:{},f=d.offset,p=Qb(d,Ine),v=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=kr.createElement("line",zu({},p,{strokeDasharray:v,x1:o,y1:i,x2:l,y2:s,fill:"none",key:u}))}return n}function Wne(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,o=e.horizontalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,jne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return kr.createElement($B,{key:"line-".concat(d),option:a,lineItemProps:f})});return kr.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Hne(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,o=e.verticalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,zne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return kr.createElement($B,{option:a,lineItemProps:f,key:"line-".concat(d)})});return kr.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Vne(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,o=e.width,i=e.height,l=e.horizontalPoints,s=e.horizontal,u=s===void 0?!0:s;if(!u||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var v=c[p+1],y=v==null,h=y?a+i-f:v-f;if(h<=0)return null;var m=p%t.length;return kr.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:h,width:o,stroke:"none",fill:t[m],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Kne(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,o=e.x,i=e.y,l=e.width,s=e.height,u=e.verticalPoints;if(!r||!n||!n.length)return null;var c=u.map(f=>Math.round(f+o-o)).sort((f,p)=>f-p);o!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var v=c[p+1],y=v==null,h=y?o+l-f:v-f;if(h<=0)return null;var m=p%n.length;return kr.createElement("rect",{key:"react-".concat(p),x:f,y:i,width:h,height:s,stroke:"none",fill:n[m],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var qne=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,o=e.offset;return vk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:gk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.left,o.left+o.width,t)},Yne=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,o=e.offset;return vk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:gk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.top,o.top+o.height,t)},Gne={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:dt.grid};function qi(e){var t,r,n,a,o,i,l=Pd(),s=Dd(),u=x0(),c=Nn(Nn({},lt(e,Gne)),{},{x:be(e.x)?e.x:u.left,y:be(e.y)?e.y:u.top,width:be(e.width)?e.width:u.width,height:be(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,v=c.y,y=c.width,h=c.height,m=c.syncWithTicks,g=c.horizontalValues,x=c.verticalValues,b=Et(),S=we(_=>rC(_,"xAxis",d,b)),w=we(_=>rC(_,"yAxis",f,b)),O=LB(),k={stroke:(t=c.stroke)!==null&&t!==void 0?t:O.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:O.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:O.grid.strokeOpacity,strokeDasharray:(a=c.strokeDasharray)!==null&&a!==void 0?a:O.grid.strokeDasharray};if(!Xn(y)||!Xn(h)||!be(p)||!be(v))return null;var A=c.verticalCoordinatesGenerator||qne,M=c.horizontalCoordinatesGenerator||Yne,W=c.horizontalPoints,L=c.verticalPoints;if((!W||!W.length)&&typeof M=="function"){var H=g&&g.length,D=M({yAxis:w?Nn(Nn({},w),{},{ticks:H?g:w.ticks}):void 0,width:l??y,height:s??h,offset:u},H?!0:m);Md(Array.isArray(D),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof D,"]")),Array.isArray(D)&&(W=D)}if((!L||!L.length)&&typeof A=="function"){var Y=x&&x.length,N=A({xAxis:S?Nn(Nn({},S),{},{ticks:Y?x:S.ticks}):void 0,width:l??y,height:s??h,offset:u},Y?!0:m);Md(Array.isArray(N),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof N,"]")),Array.isArray(N)&&(L=N)}return kr.createElement(Yt,{zIndex:c.zIndex},kr.createElement("g",{className:"recharts-cartesian-grid"},kr.createElement(Fne,{fill:(o=c.fill)!==null&&o!==void 0?o:O.grid.fill,fillOpacity:(i=c.fillOpacity)!==null&&i!==void 0?i:O.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),kr.createElement(Vne,zu({},c,{horizontalPoints:W})),kr.createElement(Kne,zu({},c,{verticalPoints:L})),kr.createElement(Wne,zu({},c,k,{offset:u,horizontalPoints:W,xAxis:S,yAxis:w})),kr.createElement(Hne,zu({},c,k,{offset:u,verticalPoints:L,xAxis:S,yAxis:w}))))}qi.displayName="CartesianGrid";var St=te(ne()),Yi=te(ne());var UB=te(ne());var Xne=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function HC(){return HC=Object.assign?Object.assign.bind():function(e){for(var t=1;tp+v,0);if(!a)return FB(t,e);for(var o=Math.floor(e/a),i=e%a,l=[],s=0,u=0;si){l=[...n.slice(0,s),i-u];break}}var f=l.length%2===0?[0,t]:[t];return[...eae(n,o),...l,...f].map(p=>"".concat(p,"px")).join(", ")}function rae(e,t,r){if(e){var n="".concat(e).split(/[,\s]+/gim).map(a=>parseFloat(a));return tae(r,t,n)}return FB(t,r)}function WB(e){var t=e.animationElapsedTime,r=e.isAnimating,n=e.isEntrance,a=e.visibleLength,o=e.strokeDasharray,i=e.connectNulls,l=Zne(e,Xne),s=i??!1,u;if(a!=null){var c,d=l.pathRef,f=Jne((c=d?.current)!==null&&c!==void 0?c:null);u=rae(o,f,a)}else o!=null&&(u=String(o));return UB.createElement(Fo,HC({},l,{connectNulls:s,strokeDasharray:u}))}var Lu=te(ne());function HB(e){var t=(0,Lu.useRef)(0),r=(0,Lu.useRef)(0),n=(0,Lu.useRef)(!1),a=(0,Lu.useRef)(e);return a.current!==e&&(t.current=r.current,a.current=e),(0,Lu.useCallback)((o,i)=>{if(n.current)return null;var l=Math.min(Wa(t.current+o*i),i);return o>0&&i>0&&(r.current=Math.max(r.current,l),l>=i)?(n.current=!0,null):l},[])}var qB=te(ne()),Pv=te(ne());var nae={},VB=Ct({name:"errorBars",initialState:nae,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,o=r.next;e[n]&&(e[n]=e[n].map(i=>i.dataKey===a.dataKey&&i.direction===a.direction?o:i))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==a.dataKey||o.direction!==a.direction))}}}),VC=VB.actions,WOe=VC.addErrorBar,HOe=VC.replaceErrorBar,VOe=VC.removeErrorBar;var KB=VB.reducer;var aae=["children"];function oae(e,t){if(e==null)return{};var r,n,a=iae(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n({x:0,y:0,value:0}),errorBarOffset:0},sae=(0,Pv.createContext)(lae);function Jb(e){var t=e.children,r=oae(e,aae);return qB.createElement(sae.Provider,{value:r},t)}var KC=te(ne());function Bu(e,t){var r,n,a=we(u=>Go(u,e)),o=we(u=>Xo(u,t)),i=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Mr.allowDataOverflow,l=(n=o?.allowDataOverflow)!==null&&n!==void 0?n:Pr.allowDataOverflow,s=i||l;return{needClip:s,needClipX:i,needClipY:l}}function Ef(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=cs(),o=Bu(t,r),i=o.needClipX,l=o.needClipY,s=o.needClip,u=we(x=>qN(x,t,!1)),c=we(x=>YN(x,r,!1));if(!s||!a)return null;var d=a.x,f=a.y,p=a.width,v=a.height,y=i&&u?Math.min(u[0],u[1]):d-p/2,h=l&&c?Math.min(c[0],c[1]):f-v/2,m=i&&u?Math.abs(u[1]-u[0]):p*2,g=l&&c?Math.abs(c[1]-c[0]):v*2;return KC.createElement("clipPath",{id:"clipPath-".concat(n)},KC.createElement("rect",{x:y,y:h,width:m,height:g}))}var YB=(e,t,r,n)=>_a(e,"xAxis",t,n),GB=(e,t,r,n)=>Ea(e,"xAxis",t,n),XB=(e,t,r,n)=>_a(e,"yAxis",r,n),ZB=(e,t,r,n)=>Ea(e,"yAxis",r,n),uae=J([qe,YB,XB,GB,ZB],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),cae=(e,t,r,n,a)=>a;function dae(e){return e.type==="line"}var fae=J([Xl,cae],(e,t)=>e.filter(dae).find(r=>r.id===t)),QB=J([qe,YB,XB,GB,ZB,fae,uae,lu],(e,t,r,n,a,o,i,l)=>{var s=l.chartData,u=l.dataStartIndex,c=l.dataEndIndex;if(!(o==null||t==null||r==null||n==null||a==null||n.length===0||a.length===0||i==null||e!=="horizontal"&&e!=="vertical")){var d=o.dataKey,f=o.data,p;if(f!=null&&f.length>0?p=f:p=s?.slice(u,c+1),p!=null)return JB({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataKey:d,bandSize:i,displayedData:p})}});function Rb(e){var t=ga(e),r=3,n=2;if(t!=null){var a=t.r,o=t.strokeWidth,i=Number(a),l=Number(o);return(Number.isNaN(i)||i<0)&&(i=r),(Number.isNaN(l)||l<0)&&(l=n),{r:i,strokeWidth:l}}return{r,strokeWidth:n}}var pae=["id"],mae=["type","layout","connectNulls","needClip","shape","strokeDasharray"],vae=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function e1(){return e1=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/r:0}var Sae=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(l=>l.status==="removed"?[]:[l.next]);var r=wae(e),n=[];for(var a of e)if(a.status==="matched")n.push(Zo(Zo({},a.next),{},{x:Nt(a.prev.x,a.next.x,t),y:Nt(a.prev.y,a.next.y,t)}));else if(a.status==="added")if(a.next.x!=null){var o=a.next.x-r;n.push(Zo(Zo({},a.next),{},{x:Nt(o,a.next.x,t),y:a.next.y}))}else n.push(a.next);else if(a.status==="removed"&&a.prev.x!=null){var i=a.prev.x+r;n.push(Zo(Zo({},a.prev),{},{x:Nt(a.prev.x,i,t),y:a.prev.y}))}return n},GC={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Sae,animationMatchBy:Pu,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:WB,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:dt.line,type:"linear"},Aae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},kae=St.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n,unit:s,formatter:u,graphicalItemId:d}};return St.createElement(os,{tooltipEntrySettings:f})});function Nae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.dot,o=n.dataKey,i=n.needClip,l=n.id,s=YC(n,pae),u=tr(s);return St.createElement(Vb,{points:r,dot:a,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function Cae(e){var t=e.showLabels,r=e.children,n=e.points,a=(0,Yi.useMemo)(()=>n?.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Zo(Zo({},s),{},{value:o.value,payload:o.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[n]);return St.createElement(hf,{value:t?a:void 0},r)}function Eae(e){var t=e.clipPathId,r=e.pathRef,n=e.points,a=e.props,o=e.animationElapsedTime,i=e.isAnimating,l=e.isEntrance,s=e.visibleLength,u=a.type,c=a.layout,d=a.connectNulls,f=a.needClip,p=a.shape,v=a.strokeDasharray,y=YC(a,mae),h=Zo(Zo({},rr(y)),{},{fill:"none",className:"recharts-line-curve",clipPath:f?"url(#clipPath-".concat(t,")"):void 0,points:n,type:u,layout:c,connectNulls:d,strokeDasharray:v??a.strokeDasharray,pathRef:r,animationElapsedTime:o,isAnimating:i,isEntrance:a.animateNewValues?l:!1,visibleLength:s});return St.createElement(St.Fragment,null,n?.length>1&&St.createElement(as,{option:p,DefaultShape:GC.shape,shapeProps:h}),St.createElement(Nae,{points:n,clipPathId:t,props:a}))}function _ae(e){var t=e.clipPathId,r=e.props,n=e.pathRef,a=e.previousPointsRef,o=r.points,i=r.isAnimationActive,l=r.animationBegin,s=r.animationDuration,u=r.animationEasing,c=r.animationMatchBy,d=r.animationInterpolateFn,f=r.layout,p=bae(n.current),v=ls(r.onAnimationStart,r.onAnimationEnd),y=v.isAnimating,h=v.handleAnimationStart,m=v.handleAnimationEnd,g=!y,x=HB(o),b=(0,Yi.useCallback)(S=>S>0&&p>0,[p]);return St.createElement(Cae,{points:o,showLabels:g},r.children,St.createElement(ss,{animationInput:o,animationIdPrefix:"recharts-line-",items:o,previousItemsRef:a,isAnimationActive:i,animationBegin:l,animationDuration:s,animationEasing:u,onAnimationStart:h,onAnimationEnd:m,animationInterpolateFn:d,animationMatchBy:c,shouldUpdatePreviousRef:b,layout:f},(S,w,O)=>{var k=y||w<1,A=k?x(w,p):null;return St.createElement(Eae,{props:r,points:S,clipPathId:t,pathRef:n,animationElapsedTime:w,isAnimating:k,isEntrance:O,visibleLength:A})}),St.createElement(ns,{label:r.label}))}function Oae(e){var t=e.clipPathId,r=e.props,n=(0,Yi.useRef)(null),a=(0,Yi.useRef)(null);return St.createElement(_ae,{props:r,clipPathId:t,previousPointsRef:n,pathRef:a})}var Tae=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:Qe(e.payload,t)}},qC=class extends Yi.Component{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.top,u=t.left,c=t.width,d=t.height,f=t.id,p=t.needClip,v=t.zIndex;if(r)return null;var y=Ue("recharts-line",o),h=f,m=Rb(n),g=m.r,x=m.strokeWidth,b=xf(n),S=g*2+x,w=p?"url(#clipPath-".concat(b?"":"dots-").concat(h,")"):void 0;return St.createElement(Yt,{zIndex:v},St.createElement(bt,{className:y},p&&St.createElement("defs",null,St.createElement(Ef,{clipPathId:h,xAxisId:i,yAxisId:l}),!b&&St.createElement("clipPath",{id:"clipPath-dots-".concat(h)},St.createElement("rect",{x:u-S/2,y:s-S/2,width:c+S,height:d+S}))),St.createElement(Jb,{xAxisId:i,yAxisId:l,data:a,dataPointFormatter:Tae,errorBarOffset:0},St.createElement(Oae,{props:this.props,clipPathId:h}))),St.createElement(Nv,{activeDot:this.props.activeDot,points:a,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Mae(e){var t=lt(e,GC),r=t.activeDot,n=t.animateNewValues,a=t.animationBegin,o=t.animationDuration,i=t.animationEasing,l=t.connectNulls,s=t.dot,u=t.hide,c=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,v=t.yAxisId,y=t.id,h=YC(t,vae),m=Bu(p,v),g=m.needClip,x=cs(),b=Qn(),S=Et(),w=we(W=>QB(W,p,v,S,y));if(b!=="horizontal"&&b!=="vertical"||w==null||x==null)return null;var O=x.height,k=x.width,A=x.x,M=x.y;return St.createElement(qC,e1({},h,{id:y,connectNulls:l,dot:s,activeDot:r,animateNewValues:n,animationBegin:a,animationDuration:o,animationEasing:i,isAnimationActive:c,hide:u,label:d,legendType:f,xAxisId:p,yAxisId:v,points:w,layout:b,height:O,width:k,left:A,top:M,needClip:g}))}function JB(e){var t=e.layout,r=e.xAxis,n=e.yAxis,a=e.xAxisTicks,o=e.yAxisTicks,i=e.dataKey,l=e.bandSize,s=e.displayedData;return s.map((u,c)=>{var d=Qe(u,i);if(t==="horizontal"){var f=Nd({axis:r,ticks:a,bandSize:l,entry:u,index:c}),p=ct(d)?null:n.scale.map(d);return{x:f,y:p??null,value:d,payload:u}}var v=ct(d)?null:r.scale.map(d),y=Nd({axis:n,ticks:o,bandSize:l,entry:u,index:c});return v==null||y==null?null:{x:v,y,value:d,payload:u}}).filter(Boolean)}function Pae(e){var t=lt(e,GC),r=Et();return St.createElement(us,{id:t.id,type:"line"},n=>St.createElement(St.Fragment,null,St.createElement(wf,{legendPayload:Aae(t)}),St.createElement(kae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),St.createElement(kf,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),St.createElement(Mae,e1({},t,{id:n}))))}var t1=St.memo(Pae,Jn);t1.displayName="Line";var ht=te(ne()),$u=te(ne());function no(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:$C}function ao(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:$C}var e9=(e,t,r)=>_a(e,"xAxis",no(e,t),r),t9=(e,t,r)=>Ea(e,"xAxis",no(e,t),r),r9=(e,t,r)=>_a(e,"yAxis",ao(e,t),r),n9=(e,t,r)=>Ea(e,"yAxis",ao(e,t),r),Dae=J([qe,e9,r9,t9,n9],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),Iae=(e,t)=>t,XC=J([Xl,Iae],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),a9=e=>{var t=qe(e),r=wn(t,"xAxis");return r?"yAxis":"xAxis"},jae=(e,t)=>{var r=a9(e);return r==="yAxis"?ao(e,t):no(e,t)},o9=(e,t,r)=>af(e,a9(e),jae(e,t),r),zae=J([XC,o9],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=Wl(e);if(!(n==null||a==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,i=o?.find(l=>l.key===a);if(i!=null)return i.map(l=>[l[0],l[1]])}}}),Lae=J([XC,o9],(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(Yr)}}),i9=J([qe,e9,r9,t9,n9,zae,F0,Dae,XC,d6,Lae],(e,t,r,n,a,o,i,l,s,u,c)=>{var d=i.chartData,f=i.dataStartIndex,p=i.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var v=s.data,y;if(v&&v.length>0?y=v:y=d?.slice(f,p+1),y!=null)return l9({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:f,areaSettings:s,stackedData:o,displayedData:y,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var Cn=te(ne());var Bae=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],$ae=["id","baseLine"];function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.y||0),c)),be(c)?Cn.createElement("rect",{x:ld.x||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.x||0),c)),be(c)?Cn.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[_f(_f({},r.next),{},{x:Nt(r.prev.x,r.next.x,t),y:Nt(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),f9={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Pu,animationInterpolateFn:Zae,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:u9,xAxisId:0,yAxisId:0,zIndex:dt.area};function n1(e,t){return e&&e!=="none"?e:t}var Qae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,o=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:o,color:n1(n,a),value:wa(r,t),payload:e}]},Jae=ht.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n1(n,o),unit:s,formatter:u,graphicalItemId:d}};return ht.createElement(os,{tooltipEntrySettings:f})});function Rae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,o=n.dot,i=n.dataKey,l=tr(n);return ht.createElement(Vb,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:i,baseProps:l,needClip:a,clipPathId:t})}function eoe(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return _f(_f({},s),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return ht.createElement(hf,{value:t?a:void 0},r)}function toe(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,o=e.props,i=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=o.layout,c=o.type,d=o.stroke,f=o.connectNulls,p=o.isRange,v=o.shape,y=o.id,h=d9(o,Vae),m=rr(h),g=_f(_f({},m),{},{id:y,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:i,isAnimating:l,isEntrance:s});return ht.createElement(ht.Fragment,null,t?.length>1&&ht.createElement(bt,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},ht.createElement(as,{option:v,DefaultShape:f9.shape,shapeProps:g})),ht.createElement(Rae,{points:t,props:h,clipPathId:a}))}function roe(e,t,r){if(be(e)){var n=be(t)?t:void 0;return Nt(n,e,r)}if(ct(e)||nn(e)){var a=be(t)?t:void 0;return Nt(a,0,r)}return e}function noe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,o=e.previousBaselineRef,i=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,v=(0,$u.useMemo)(()=>({points:i,baseLine:l}),[i,l]),y=Lb(v,o),h=Id(),m=ls(n.onAnimationStart,n.onAnimationEnd),g=m.isAnimating,x=m.handleAnimationStart,b=m.handleAnimationEnd,S=y.startValue;if(h==null)return null;var w;return Array.isArray(l)&&Array.isArray(S)?w=wv(S,l,f):Array.isArray(l)?w=wv(null,l,f):w=null,ht.createElement(ss,{animationInput:v,animationIdPrefix:"recharts-area-",items:i,previousItemsRef:a,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:x,onAnimationEnd:b,animationInterpolateFn:p,animationMatchBy:f,layout:h},(O,k,A)=>{var M;return k===1?M=l:Array.isArray(l)?M=p(w,k,h):M=A?l:roe(l,S,k),y.syncStepValue(M,k),ht.createElement(eoe,{showLabels:!g,points:i},n.children,ht.createElement(toe,{points:O,baseLine:M,needClip:t,clipPathId:r,props:n,animationElapsedTime:k,isAnimating:g||k<1,isEntrance:A}),ht.createElement(ns,{label:n.label}))})}function aoe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=(0,$u.useRef)(null),o=(0,$u.useRef)();return ht.createElement(noe,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:o})}var ZC=class extends $u.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,v=t.baseLine,y=t.zIndex;if(r)return null;var h=Ue("recharts-area",o),m=p,g=Rb(n),x=g.r,b=g.strokeWidth,S=xf(n),w=x*2+b,O=s?"url(#clipPath-".concat(S?"":"dots-").concat(m,")"):void 0;return ht.createElement(Yt,{zIndex:y},ht.createElement(bt,{className:h},s&&ht.createElement("defs",null,ht.createElement(Ef,{clipPathId:m,xAxisId:u,yAxisId:c}),!S&&ht.createElement("clipPath",{id:"clipPath-dots-".concat(m)},ht.createElement("rect",{x:l-w/2,y:i-w/2,width:d+w,height:f+w}))),ht.createElement(aoe,{needClip:s,clipPathId:m,props:this.props})),ht.createElement(Nv,{points:a,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}),this.props.isRange&&Array.isArray(v)&&ht.createElement(Nv,{points:v,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}))}};function ooe(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,o=e.animationEasing,i=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,v=e.xAxisId,y=e.yAxisId,h=d9(e,Kae),m=Qn(),g=lb(),x=Bu(v,y),b=x.needClip,S=Et(),w=(t=we(Y=>i9(Y,e.id,S)))!==null&&t!==void 0?t:{},O=w.points,k=w.isRange,A=w.baseLine,M=cs();if(m!=="horizontal"&&m!=="vertical"||M==null||g!=="AreaChart"&&g!=="ComposedChart")return null;var W=M.height,L=M.width,H=M.x,D=M.y;return!O||!O.length?null:ht.createElement(ZC,r1({},h,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:o,baseLine:A,connectNulls:i,dot:l,fill:s,fillOpacity:u,height:W,hide:c,layout:m,isAnimationActive:d,isRange:k,legendType:f,needClip:b,points:O,stroke:p,width:L,left:H,top:D,xAxisId:v,yAxisId:y}))}var ioe=(e,t,r,n,a)=>{var o=r??t;if(be(o))return o;var i=e==="horizontal"?a:n,l=i.scale.domain();if(i.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return o==="dataMin"?u:o==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return o==="dataMin"?l[0]:o==="dataMax"?l[1]:l[0]};function l9(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,o=e.stackedData,i=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,v=e.bandSize,y=e.stackDataKeys,h=o&&o.length,m=ioe(i,l,n,s,u),g=i==="horizontal",x=!1,b=c.map((w,O)=>{var k,A,M,W;if(h)W=o[d+O];else{var L=Qe(w,a);Array.isArray(L)?(W=L,x=!0):W=[m,L]}var H=(k=(A=W)===null||A===void 0?void 0:A[1])!==null&&k!==void 0?k:null,D=Qe(w,a),Y=h&&D==null&&y!=null&&y.length>0&&y.every(z=>Qe(w,z)==null),N=H==null||h&&!r&&D==null||Y;if(g){var _;return{x:Nd({axis:s,ticks:f,bandSize:v,entry:w,index:O}),y:N?null:(_=u.scale.map(H))!==null&&_!==void 0?_:null,value:W,payload:w}}return{x:N?null:(M=s.scale.map(H))!==null&&M!==void 0?M:null,y:Nd({axis:u,ticks:p,bandSize:v,entry:w,index:O}),value:W,payload:w}}),S;return h||x?S=b.map(w=>{var O,k=Array.isArray(w.value)?w.value[0]:null;if(g){var A;return{x:w.x,y:k!=null&&w.y!=null&&(A=u.scale.map(k))!==null&&A!==void 0?A:null,payload:w.payload}}return{x:k!=null&&(O=s.scale.map(k))!==null&&O!==void 0?O:null,y:w.y,payload:w.payload}}):S=g?u.scale.map(m):s.scale.map(m),{points:b,baseLine:S??0,isRange:x}}function loe(e){var t=lt(e,f9),r=Et();return ht.createElement(us,{id:t.id,type:"area"},n=>ht.createElement(ht.Fragment,null,ht.createElement(wf,{legendPayload:Qae(t)}),ht.createElement(Jae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),ht.createElement(kf,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:f0(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),ht.createElement(ooe,r1({},t,{id:n}))))}var Gi=ht.memo(loe,Jn);Gi.displayName="Area";var ot=te(ne()),Co=te(ne());var m9=te(ne());var soe=!0,QC="Invariant failed";function p9(e,t){if(!e){if(soe)throw new Error(QC);var r=typeof t=="function"?t():t,n=r?"".concat(QC,": ").concat(r):QC;throw new Error(n)}}var uoe=["option"];function coe(e,t){if(e==null)return{};var r,n,a=doe(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n1&&arguments[1]!==void 0?arguments[1]:0;return(n,a)=>{if(be(t))return t;var o=be(n)||ct(n);return o?t(n,a):(o||p9(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),r)}};var foe=(e,t,r)=>r,poe=(e,t)=>t,Iv=J([Xl,poe],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),moe=J([Iv],e=>e?.maxBarSize),voe=(e,t,r,n)=>n,goe=J([qe,Xl,no,ao,foe],(e,t,r,n,a)=>t.filter(o=>e==="horizontal"?o.xAxisId===r:o.yAxisId===n).filter(o=>o.isPanorama===a).filter(o=>o.hide===!1).filter(o=>o.type==="bar")),yoe=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null))return n==="horizontal"?af(e,"yAxis",o,r):af(e,"xAxis",a,r)},hoe=(e,t)=>{var r=qe(e),n=no(e,t),a=ao(e,t);if(!(n==null||a==null))return r==="horizontal"?RN(e,"xAxis",n):RN(e,"yAxis",a)},xoe=J([goe,c6,hoe],rB),boe=(e,t,r)=>{var n,a,o=Iv(e,t);if(o==null)return 0;var i=no(e,t),l=ao(e,t);if(i==null||l==null)return 0;var s=qe(e),u=Wk(e),c=o.maxBarSize,d=ct(c)?u:c,f,p;return s==="horizontal"?(f=_a(e,"xAxis",i,r),p=Ea(e,"xAxis",i,r)):(f=_a(e,"yAxis",l,r),p=Ea(e,"yAxis",l,r)),(n=(a=Ya(f,p,!0))!==null&&a!==void 0?a:d)!==null&&n!==void 0?n:0},g9=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null)){var i,l;return n==="horizontal"?(i=_a(e,"xAxis",a,r),l=Ea(e,"xAxis",a,r)):(i=_a(e,"yAxis",o,r),l=Ea(e,"yAxis",o,r)),Ya(i,l)}},woe=J([xoe,Wk,u6,q0,boe,g9,moe],aB),Soe=(e,t,r)=>{var n=no(e,t);if(n!=null)return _a(e,"xAxis",n,r)},Aoe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return _a(e,"yAxis",n,r)},koe=(e,t,r)=>{var n=no(e,t);if(n!=null)return Ea(e,"xAxis",n,r)},Noe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return Ea(e,"yAxis",n,r)},Coe=J([woe,Iv],iB),Eoe=J([yoe,Iv],oB),y9=J([jt,Od,Soe,Aoe,koe,Noe,Coe,qe,F0,g9,Eoe,Iv,voe],(e,t,r,n,a,o,i,l,s,u,c,d,f)=>{var p=s.chartData,v=s.dataStartIndex,y=s.dataEndIndex;if(!(d==null||i==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||n==null||a==null||o==null||u==null)){var h=d.data,m;if(h!=null&&h.length>0?m=h:m=p?.slice(v,y+1),m!=null)return h9({layout:l,barSettings:d,pos:i,parentViewBox:t,bandSize:u,xAxis:r,yAxis:n,xAxisTicks:a,yAxisTicks:o,stackedData:c,displayedData:m,offset:e,cells:f,dataStartIndex:v})}});var RC=te(ne()),Of=te(ne());var _oe=["index"];function JC(){return JC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=(0,Of.useContext)(x9);if(t!=null)return t.stackId;if(e!=null)return f0(e)};var Moe=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Poe=e=>{var t=(0,Of.useContext)(x9);if(t!=null){var r=t.stackId;return"url(#".concat(Moe(r,e),")")}},eE=e=>{var t=e.index,r=Ooe(e,_oe),n=Poe(t);return RC.createElement(bt,JC({className:"recharts-bar-stack-layer",clipPath:n},r))};var Doe=["onMouseEnter","onMouseLeave","onClick"],Ioe=["value","background","tooltipPosition"],joe=["id"],zoe=["onMouseEnter","onClick","onMouseLeave"];function w9(e,t){return Uoe(e)||$oe(e,t)||Boe(e,t)||Loe()}function Loe(){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 Boe(e,t){if(e){if(typeof e=="string")return S9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S9(e,t):void 0}}function S9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.dataKey,r=e.name,n=e.fill,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},qoe=ot.memo(e=>{var t=e.dataKey,r=e.stroke,n=e.strokeWidth,a=e.fill,o=e.name,i=e.hide,l=e.unit,s=e.formatter,u=e.tooltipType,c=e.id,d={dataDefinedOnItem:void 0,getPosition:Pn,settings:{stroke:r,strokeWidth:n,fill:a,dataKey:t,nameKey:void 0,name:wa(o,t),hide:i,type:u,color:a,unit:l,formatter:s,graphicalItemId:c}};return ot.createElement(os,{tooltipEntrySettings:d})});function Yoe(e){var t=we(Ra),r=e.data,n=e.dataKey,a=e.background,o=e.allOtherBarProps,i=o.onMouseEnter,l=o.onMouseLeave,s=o.onClick,u=i1(o,Doe),c=gv(i,n,o.id),d=yv(l),f=hv(s,n,o.id);if(!a||r==null)return null;var p=ga(a);return ot.createElement(Yt,{zIndex:lB(a,dt.barBackground)},r.map((v,y)=>{var h=v.value,m=v.background,g=v.tooltipPosition,x=i1(v,Ioe);if(!m)return null;var b=c(v,v.originalDataIndex),S=d(v,v.originalDataIndex),w=f(v,v.originalDataIndex),O=Zr(Zr(Zr(Zr(Zr({option:a,isActive:String(v.originalDataIndex)===t},x),{},{fill:"#eee"},m),p),Ei(u,v,y)),{},{onMouseEnter:b,onMouseLeave:S,onClick:w,dataKey:n,index:y,className:"recharts-bar-background-rectangle"});return ot.createElement(o1,ds({key:"background-bar-".concat(y)},O))}))}function Goe(e){var t=e.showLabels,r=e.children,n=e.rects,a=n?.map(o=>{var i={x:o.x,y:o.y,width:o.width,lowerWidth:o.width,upperWidth:o.width,height:o.height};return Zr(Zr({},i),{},{value:o.value,payload:o.payload,parentViewBox:o.parentViewBox,viewBox:i,fill:o.fill})});return ot.createElement(hf,{value:t?a:void 0},r)}function Xoe(e){var t=e.shape,r=e.activeBar,n=e.baseProps,a=e.entry,o=e.index,i=e.dataKey,l=we(Ra),s=we(uf),u=r&&String(a.originalDataIndex)===l&&(s==null||i===s),c=l!=null&&(String(a.originalDataIndex)!==l||s!=null&&i!==s),d=(0,Co.useState)(!1),f=w9(d,2),p=f[0],v=f[1],y=(0,Co.useState)(!1),h=w9(y,2),m=h[0],g=h[1];(0,Co.useEffect)(()=>{var k;return u?(v(!0),k=requestAnimationFrame(()=>{g(!0)})):(g(!1),c&&v(!1)),()=>{cancelAnimationFrame(k)}},[u,c]);var x=(0,Co.useCallback)(()=>{u||v(!1)},[u]),b=u&&m,S=u||p,w;u?r===!0?w=t:w=r:w=t;var O=ot.createElement(o1,ds({},n,{name:String(n.name)},a,{isActive:b,option:w,index:o,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:x}));return S?ot.createElement(Yt,{zIndex:dt.activeBar},ot.createElement(eE,{index:a.originalDataIndex},O)):O}function Zoe(e){var t=e.shape,r=e.baseProps,n=e.entry,a=e.index,o=e.dataKey;return ot.createElement(o1,ds({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:a,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Qoe(e){var t,r=e.data,n=e.props,a=e.animationElapsedTime,o=e.isAnimating,i=e.isEntrance,l=(t=tr(n))!==null&&t!==void 0?t:{},s=l.id,u=i1(l,joe),c=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,v=n.onClick,y=n.onMouseLeave,h=i1(n,zoe),m=gv(p,d,s),g=yv(y),x=hv(v,d,s);return r?ot.createElement(ot.Fragment,null,r.map((b,S)=>ot.createElement(eE,ds({index:b.originalDataIndex,key:"rectangle-".concat(b?.x,"-").concat(b?.y,"-").concat(b?.value,"-").concat(S),className:"recharts-bar-rectangle"},Ei(h,b,S),{onMouseEnter:m(b,b.originalDataIndex),onMouseLeave:g(b,b.originalDataIndex),onClick:x(b,b.originalDataIndex)}),f?ot.createElement(Xoe,{shape:c,activeBar:f,baseProps:u,entry:b,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i}):ot.createElement(Zoe,{shape:c,baseProps:u,entry:b,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i})))):null}var Joe=(e,t,r)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return r==="horizontal"?[Zr(Zr({},n.prev),{},{height:Nt(n.prev.height,0,t),y:Nt(n.prev.y,n.prev.y+n.prev.height,t)})]:[Zr(Zr({},n.prev),{},{width:Nt(n.prev.width,0,t)})];if(n.status==="matched")return[Zr(Zr({},n.next),{},{x:Nt(n.prev.x,n.next.x,t),y:Nt(n.prev.y,n.next.y,t),width:Nt(n.prev.width,n.next.width,t),height:Nt(n.prev.height,n.next.height,t)})];var a=n.next;return r==="horizontal"?[Zr(Zr({},a),{},{height:Nt(0,a.height,t),y:Nt(a.stackedBarStart,a.y,t)})]:[Zr(Zr({},a),{},{width:Nt(0,a.width,t),x:Nt(a.stackedBarStart,a.x,t)})]});function Roe(e){var t=e.props,r=e.previousRectanglesRef,n=t.data,a=t.isAnimationActive,o=t.animationBegin,i=t.animationDuration,l=t.animationEasing,s=t.animationInterpolateFn,u=t.layout,c=ls(t.onAnimationStart,t.onAnimationEnd),d=c.isAnimating,f=c.handleAnimationStart,p=c.handleAnimationEnd;return ot.createElement(Goe,{showLabels:!d,rects:n},ot.createElement(ss,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:r,isAnimationActive:a,animationBegin:o,animationDuration:i,animationEasing:l,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:u},(v,y,h)=>ot.createElement(bt,null,ot.createElement(Qoe,{props:t,data:v,animationElapsedTime:y,isAnimating:d||y<1,isEntrance:h}))),ot.createElement(ns,{label:t.label}),t.children)}function eie(e){var t=(0,Co.useRef)(null);return ot.createElement(Roe,{previousRectanglesRef:t,props:e})}var k9=0,tie=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:Qe(e,t)}},tE=class extends Co.PureComponent{render(){var t=this.props,r=t.hide,n=t.data,a=t.dataKey,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.needClip,u=t.background,c=t.id;if(r||n==null)return null;var d=Ue("recharts-bar",o),f=c;return ot.createElement(bt,{className:d,id:c},s&&ot.createElement("defs",null,ot.createElement(Ef,{clipPathId:f,xAxisId:i,yAxisId:l})),ot.createElement(bt,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(f,")"):void 0},ot.createElement(Yoe,{data:n,dataKey:a,background:u,allOtherBarProps:this.props}),ot.createElement(eie,this.props)))}},rie={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Joe,animationMatchBy:bv,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:k9,shape:a1,xAxisId:0,yAxisId:0,zIndex:dt.bar};function nie(e){var t=e.xAxisId,r=e.yAxisId,n=e.hide,a=e.legendType,o=e.minPointSize,i=e.activeBar,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.isAnimationActive,d=Bu(t,r),f=d.needClip,p=Qn(),v=Et(),y=mv(e.children,Wi),h=we(x=>y9(x,e.id,v,y));if(p!=="vertical"&&p!=="horizontal")return null;var m,g=h?.[0];return g==null||g.height==null||g.width==null?m=0:m=p==="vertical"?g.height/2:g.width/2,ot.createElement(Jb,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:tie,errorBarOffset:m},ot.createElement(tE,ds({},e,{layout:p,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:n,legendType:a,minPointSize:o,activeBar:i,animationBegin:l,animationDuration:s,animationEasing:u,isAnimationActive:c})))}function h9(e){var t=e.layout,r=e.barSettings,n=r.dataKey,a=r.minPointSize,o=r.hasCustomShape,i=e.pos,l=e.bandSize,s=e.xAxis,u=e.yAxis,c=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,v=e.offset,y=e.cells,h=e.parentViewBox,m=e.dataStartIndex,g=t==="horizontal"?u:s,x=f?g.scale.domain():null,b=sD({numericAxis:g}),S=g.scale.map(b);return p.map((w,O)=>{var k,A,M,W,L,H;if(f){var D=f[O+m];if(D==null)return null;k=iD(D,x)}else k=Qe(w,n),Array.isArray(k)||(k=[b,k]);var Y=v9(a,k9)(k[1],O);if(t==="horizontal"){var N,_=u.scale.map(k[0]),z=u.scale.map(k[1]);if(_==null||z==null)return null;A=yk({axis:s,ticks:c,bandSize:l,offset:i.offset,entry:w,index:O}),M=(N=z??_)!==null&&N!==void 0?N:void 0,W=i.size;var j=_-z;if(L=nn(j)?0:j,H={x:A,y:v.top,width:W,height:v.height},Math.abs(Y)>0&&Math.abs(L)0&&Math.abs(W)ot.createElement(ot.Fragment,null,ot.createElement(wf,{legendPayload:Koe(t)}),ot.createElement(qoe,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:a}),ot.createElement(kf,{type:"bar",id:a,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==a1}),ot.createElement(Yt,{zIndex:t.zIndex},ot.createElement(nie,ds({},t,{id:a})))))}var l1=ot.memo(aie,Jn);l1.displayName="Bar";var Xi=te(ne()),oo=te(ne());var oie=["domain","range"],iie=["domain","range"];function N9(e,t){if(e==null)return{};var r,n,a=lie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(i!=null)return _9(_9({},o),{},{type:i})},[o,i]);return(0,oo.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(FL(l)):r.current!==l&&t(WL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,oo.useLayoutEffect)(()=>()=>{r.current&&(t(HL(r.current)),r.current=null)},[t]),null}var gie=e=>{var t=e.xAxisId,r=e.className,n=e.height,a=e.label,o=(0,oo.useRef)(null),i=(0,oo.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="xAxis",d=we(w=>Gx(w,c,t,s)),f=we(w=>QN(w,t)),p=we(w=>RI(w,t)),v=we(w=>_N(w,t));if((0,oo.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Mu(a)||(0,oo.isValidElement)(a)||v==null)){var w=o.current;if(w){var O=w.getCalculatedHeight();Math.round(f.height)!==Math.round(O)&&u(GL({id:t,height:O}))}}},[d,f,u,a,t,n,v]),f==null||p==null||v==null)return null;var y=e.dangerouslySetInnerHTML,h=e.ticks,m=e.scale,g=nE(e,uie),x=v.id,b=v.scale,S=nE(v,cie);return Xi.createElement(Mv,rE({},g,S,{ref:o,labelRef:i,x:p.x,y:p.y,width:f.width,height:f.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},yie={allowDataOverflow:Mr.allowDataOverflow,allowDecimals:Mr.allowDecimals,allowDuplicatedCategory:Mr.allowDuplicatedCategory,angle:Mr.angle,axisLine:ro.axisLine,height:Mr.height,hide:!1,includeHidden:Mr.includeHidden,interval:Mr.interval,label:!1,minTickGap:Mr.minTickGap,mirror:Mr.mirror,orientation:Mr.orientation,padding:Mr.padding,reversed:Mr.reversed,scale:Mr.scale,tick:Mr.tick,tickCount:Mr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Mr.type,niceTicks:Mr.niceTicks,xAxisId:0},hie=e=>{var t=lt(e,yie);return Xi.createElement(Xi.Fragment,null,Xi.createElement(vie,{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}),Xi.createElement(gie,t))},Zi=Xi.memo(hie,s1);Zi.displayName="XAxis";var Qi=te(ne()),io=te(ne());var xie=["type"],bie=["dangerouslySetInnerHTML","ticks","scale"],wie=["id","scale"];function aE(){return aE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(i!=null)return T9(T9({},o),{},{type:i})},[i,o]);return(0,io.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(VL(l)):r.current!==l&&t(KL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,io.useLayoutEffect)(()=>()=>{r.current&&(t(qL(r.current)),r.current=null)},[t]),null}function Eie(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,o=(0,io.useRef)(null),i=(0,io.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="yAxis",d=we(w=>JN(w,t)),f=we(w=>ej(w,t)),p=we(w=>Gx(w,c,t,s)),v=we(w=>ON(w,t));if((0,io.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Mu(a)||(0,io.isValidElement)(a)||v==null)){var w=o.current;if(w){var O=w.getCalculatedWidth();Math.round(d.width)!==Math.round(O)&&u(YL({id:t,width:O}))}}},[p,d,u,a,t,n,v]),d==null||f==null||v==null)return null;var y=e.dangerouslySetInnerHTML,h=e.ticks,m=e.scale,g=oE(e,bie),x=v.id,b=v.scale,S=oE(v,wie);return Qi.createElement(Mv,aE({},g,S,{ref:o,labelRef:i,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var _ie={allowDataOverflow:Pr.allowDataOverflow,allowDecimals:Pr.allowDecimals,allowDuplicatedCategory:Pr.allowDuplicatedCategory,angle:Pr.angle,axisLine:ro.axisLine,hide:!1,includeHidden:Pr.includeHidden,interval:Pr.interval,label:!1,minTickGap:Pr.minTickGap,mirror:Pr.mirror,orientation:Pr.orientation,padding:Pr.padding,reversed:Pr.reversed,scale:Pr.scale,tick:Pr.tick,tickCount:Pr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Pr.type,niceTicks:Pr.niceTicks,width:Pr.width,yAxisId:0},Oie=e=>{var t=lt(e,_ie);return Qi.createElement(Qi.Fragment,null,Qi.createElement(Cie,{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}),Qi.createElement(Eie,t))},Ji=Qi.memo(Oie,s1);Ji.displayName="YAxis";var n7=te(ne()),a7=te(ne());var Ku=te(ne()),r7=te(ne());var K9=te(ne()),q9=te(ne());var Tie=(e,t)=>t,jv=J([Tie,qe,ex,Tr,sC,ta,Pj,jt],Bj);function Mie(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function zv(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Mie(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 o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var i=(l,s)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((s-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>i(l.clientX,l.clientY)):i(e.clientX,e.clientY)}var lE=Fr("mouseClick"),sE=Pi();sE.startListening({actionCreator:lE,effect:(e,t)=>{var r=e.payload,n=jv(t.getState(),zv(r));n?.activeIndex!=null&&t.dispatch(dj({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var u1=Fr("mouseMove"),uE=Pi(),Tf=null,Uu=null,iE=null;uE.startListening({actionCreator:u1,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i?.includes("mousemove");Tf!==null&&(cancelAnimationFrame(Tf),Tf=null),Uu!==null&&(typeof o!="number"||!l)&&(clearTimeout(Uu),Uu=null),iE=zv(r);var s=()=>{var u=t.getState(),c=Zl(u,u.tooltip.settings.shared);if(!iE){Tf=null,Uu=null;return}if(c==="axis"){var d=jv(u,iE);d?.activeIndex!=null?t.dispatch(Jx({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(Qx())}Tf=null,Uu=null};if(!l){s();return}o==="raf"?Tf=requestAnimationFrame(s):typeof o=="number"&&Uu===null&&(Uu=setTimeout(s,o))}});function M9(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 P9={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},D9=Ct({name:"rootProps",initialState:P9,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:P9.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}}}),I9=D9.reducer,j9=D9.actions.updateOptions;var Pie=null,Die={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)},z9=Ct({name:"polarOptions",initialState:Pie,reducers:Die}),L9=z9.actions.updatePolarOptions;var B9=z9.reducer;var cE=Fr("keyDown"),dE=Fr("focus"),fE=Fr("blur"),Lv=Pi(),Mf=null,Fu=null,c1=null;Lv.startListening({actionCreator:cE,effect:(e,t)=>{c1=e.payload,Mf!==null&&(cancelAnimationFrame(Mf),Mf=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,o=n.throttledEvents,i=o==="all"||o.includes("keydown");Fu!==null&&(typeof a!="number"||!i)&&(clearTimeout(Fu),Fu=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=c1;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=Ql(c,Fi(s),Li(s),Rl(s)),p=f==null?-1:Number(f),v=!Number.isFinite(p)||p<0,y=ta(s),h=Fi(s),m=Zl(s,s.tooltip.settings.shared);if(d==="Enter"){if(v)return;var g=dv(s,m,"hover",String(c.index));t.dispatch(uv({active:!c.active,activeIndex:c.index,activeCoordinate:g}));return}var x=tj(s),b=x==="left-to-right"?1:-1,S=d==="ArrowRight"?1:-1,w;if(v){var O=Li(s),k=Rl(s),A=S*b,M=Y=>({active:!1,index:String(Y),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(w=-1,A>0){for(var W=0;W=0;L--)if(Ql(M(L),h,O,k)!=null){w=L;break}if(w<0)return}else{w=p+S*b;var H=y?.length||h.length;if(H===0||w>=H||w<0)return}var D=dv(s,m,"hover",String(w));t.dispatch(uv({active:!0,activeIndex:w.toString(),activeCoordinate:D}))}finally{Mf=null,Fu=null}};if(!i){l();return}a==="raf"?Mf=requestAnimationFrame(l):typeof a=="number"&&Fu===null&&(l(),c1=null,Fu=setTimeout(()=>{c1?l():(Fu=null,Mf=null)},a))}});Lv.startListening({actionCreator:dE,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 o="0",i=Zl(r,r.tooltip.settings.shared),l=dv(r,i,"hover",String(o));t.dispatch(uv({active:!0,activeIndex:o,activeCoordinate:l}))}}}});Lv.startListening({actionCreator:fE,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(uv({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function d1(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 Oa=Fr("externalEvent"),mE=Pi(),f1=new Map,Bv=new Map,pE=new Map;mE.startListening({actionCreator:Oa,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var o=a.type,i=d1(a);pE.set(o,{handler:n,reactEvent:i});var l=f1.get(o);l!==void 0&&(cancelAnimationFrame(l),f1.delete(o));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(o),v=Bv.get(o);v!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(v),Bv.delete(o));var y=()=>{var g=pE.get(o);try{if(!g)return;var x=g.handler,b=g.reactEvent,S=t.getState(),w={activeCoordinate:fC(S),activeDataKey:uf(S),activeIndex:Ra(S),activeLabel:ob(S),activeTooltipIndex:Ra(S),isTooltipActive:pC(S)};x&&x(w,b)}finally{f1.delete(o),Bv.delete(o),pE.delete(o)}};if(!p){y();return}if(c==="raf"){var h=requestAnimationFrame(y);f1.set(o,h)}else if(typeof c=="number"){if(!Bv.has(o)){y();var m=setTimeout(y,c);Bv.set(o,m)}}else y()}}});var Iie=J([Ui],e=>e.tooltipItemPayloads),$9=J([Iie,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}});var vE=Fr("touchMove"),gE=Pi(),Wu=null,fs=null,U9=null,$v=null;gE.startListening({actionCreator:vE,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){$v=d1(r);var n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i.includes("touchmove");Wu!==null&&(cancelAnimationFrame(Wu),Wu=null),fs!==null&&(typeof o!="number"||!l)&&(clearTimeout(fs),fs=null),U9=Array.from(r.touches).map(u=>zv({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if($v!=null){var u=t.getState(),c=Zl(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=U9)===null||d===void 0?void 0:d[0];if(f==null){Wu=null,fs=null;return}var p=jv(u,f);p?.activeIndex!=null&&t.dispatch(Jx({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var v,y=$v.touches[0];if(document.elementFromPoint==null||y==null)return;var h=document.elementFromPoint(y.clientX,y.clientY);if(!h||!h.getAttribute)return;var m=h.getAttribute(p0),g=(v=h.getAttribute(m0))!==null&&v!==void 0?v:void 0,x=Jl(u).find(w=>w.id===g);if(m==null||x==null||g==null)return;var b=x.dataKey,S=$9(u,m,g);t.dispatch(Zx({activeDataKey:b,activeIndex:m,activeCoordinate:S,activeGraphicalItemId:g}))}Wu=null,fs=null}};if(!l){s();return}o==="raf"?Wu=requestAnimationFrame(s):typeof o=="number"&&fs===null&&(s(),$v=null,fs=setTimeout(()=>{$v?s():(fs=null,Wu=null)},o))}}});var Uv={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},F9=Ct({name:"eventSettings",initialState:Uv,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=tt(t.payload.throttledEvents))}}}),W9=F9.actions.setEventSettings;var H9=F9.reducer;var jie=Fh({brush:dB,cartesianAxis:XL,chartData:sz,errorBars:KB,eventSettings:H9,graphicalItems:IL,layout:nD,legend:OD,options:nz,polarAxis:rL,polarOptions:B9,referenceElements:mB,renderedTicks:MB,rootProps:I9,tooltip:fj,zIndex:Yj}),V9=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return $P({reducer:jie,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([sE.middleware,uE.middleware,Lv.middleware,mE.middleware,gE.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(dk({type:"raf"}))},devTools:Ga.devToolsEnabled&&{serialize:{replacer:M9},name:"recharts-".concat(r)}})};function p1(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=Et(),o=(0,q9.useRef)(null);if(a)return r;o.current==null&&(o.current=V9(t,n));var i=um;return K9.createElement(LD,{context:i,store:o.current},r)}var m1=te(ne());function zie(e){var t=e.layout,r=e.margin,n=Ve(),a=Et();return(0,m1.useEffect)(()=>{a||(n(eD(t)),n(mk(r)))},[n,a,t,r]),null}var v1=(0,m1.memo)(zie,Jn);var Y9=te(ne());function g1(e){var t=Ve();return(0,Y9.useEffect)(()=>{t(j9(e))},[t,e]),null}var y1=te(ne());var Lie=e=>{var t=Ve();return(0,y1.useEffect)(()=>{t(W9(e))},[t,e]),null},h1=(0,y1.memo)(Lie,Jn);var Ri=te(ne()),e7=te(ne());var Vu=te(ne()),hE=te(ne());var Hu=te(ne()),x1=te(ne());function G9(e){var t=e.zIndex,r=e.isPanorama,n=(0,x1.useRef)(null),a=Ve();return(0,x1.useLayoutEffect)(()=>(n.current&&a(Kj({zIndex:t,element:n.current,isPanorama:r})),()=>{a(qj({zIndex:t,isPanorama:r}))}),[a,t,r]),Hu.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function yE(e){var t=e.children,r=e.isPanorama,n=we(Uj);if(!n||n.length===0)return t;var a=n.filter(i=>i<0),o=n.filter(i=>i>0);return Hu.createElement(Hu.Fragment,null,a.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})),t,o.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})))}var Bie=["children"];function $ie(e,t){if(e==null)return{};var r,n,a=Uie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Pd(),n=Dd(),a=N0();if(!Xn(r)||!Xn(n))return null;var o=e.children,i=e.otherAttributes,l=e.title,s=e.desc,u,c;return i!=null&&(typeof i.tabIndex=="number"?u=i.tabIndex:u=a?0:void 0,typeof i.role=="string"?c=i.role:c=a?"application":void 0),Vu.createElement(tm,b1({},i,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:Fie,ref:t}),o)}),Hie=e=>{var t=e.children,r=we(tu);if(!r)return null;var n=r.width,a=r.height,o=r.y,i=r.x;return Vu.createElement(tm,{width:n,height:a,x:i,y:o},t)},xE=(0,hE.forwardRef)((e,t)=>{var r=e.children,n=$ie(e,Bie),a=Et();return a?Vu.createElement(Hie,null,Vu.createElement(yE,{isPanorama:!0},r)):Vu.createElement(Wie,b1({ref:t},n),Vu.createElement(yE,{isPanorama:!1},r))});var dr=te(ne()),gt=te(ne());var w1=te(ne());function Vie(e,t){return Gie(e)||Yie(e,t)||qie(e,t)||Kie()}function Kie(){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 qie(e,t){if(e){if(typeof e=="string")return X9(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)?X9(e,t):void 0}}function X9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var i=n.getBoundingClientRect(),l=i.width/n.offsetWidth;He(l)&&l!==o&&e(rD(l))}},[n,e,o]),a}function Q9(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 Xie(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(cz(),null);function A1(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var ale=(0,gt.forwardRef)((e,t)=>{var r,n,a=(0,gt.useRef)(null),o=(0,gt.useState)({containerWidth:A1((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:A1((n=e.style)===null||n===void 0?void 0:n.height)}),i=S1(o,2),l=i[0],s=i[1],u=(0,gt.useCallback)((d,f)=>{s(p=>{var v=Math.round(d),y=Math.round(f);return p.containerWidth===v&&p.containerHeight===y?p:{containerWidth:v,containerHeight:y}})},[]),c=(0,gt.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 y=m=>{var g=m[0];if(g!=null){var x=g.contentRect,b=x.width,S=x.height;u(b,S)}},h=new ResizeObserver(y);h.observe(d),a.current=h}},[t,u]);return(0,gt.useEffect)(()=>()=>{var d=a.current;d?.disconnect()},[u]),dr.createElement(dr.Fragment,null,dr.createElement(au,{width:l.containerWidth,height:l.containerHeight}),dr.createElement("div",ps({ref:c},e)))}),ole=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height,a=(0,gt.useState)({containerWidth:A1(r),containerHeight:A1(n)}),o=S1(a,2),i=o[0],l=o[1],s=(0,gt.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,gt.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 dr.createElement(dr.Fragment,null,dr.createElement(au,{width:i.containerWidth,height:i.containerHeight}),dr.createElement("div",ps({ref:u},e)))}),ile=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ps({ref:t},e)))}),lle=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?dr.createElement(ole,ps({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?dr.createElement(ile,ps({},e,{width:r,height:n,ref:t})):dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ps({ref:t},e)))});function sle(e){return e?ale:lle}var R9=(0,gt.forwardRef)((e,t)=>{var r=e.children,n=e.className,a=e.height,o=e.onClick,i=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,v=e.onTouchMove,y=e.onTouchStart,h=e.style,m=e.width,g=e.responsive,x=e.dispatchTouchEvents,b=x===void 0?!0:x,S=(0,gt.useRef)(null),w=Ve(),O=(0,gt.useState)(null),k=S1(O,2),A=k[0],M=k[1],W=(0,gt.useState)(null),L=S1(W,2),H=L[0],D=L[1],Y=Z9(),N=xm(),_=N?.width>0?N.width:m,z=N?.height>0?N.height:a,j=(0,gt.useCallback)(X=>{Y(X),typeof t=="function"&&t(X),M(X),D(X),X!=null&&(S.current=X)},[Y,t,M,D]),P=(0,gt.useCallback)(X=>{w(lE(X)),w(Oa({handler:o,reactEvent:X}))},[w,o]),B=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:u,reactEvent:X}))},[w,u]),R=(0,gt.useCallback)(X=>{w(Qx()),w(Oa({handler:c,reactEvent:X}))},[w,c]),F=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:d,reactEvent:X}))},[w,d]),G=(0,gt.useCallback)(()=>{w(dE())},[w]),ee=(0,gt.useCallback)(()=>{w(fE())},[w]),fe=(0,gt.useCallback)(X=>{w(cE(X.key))},[w]),de=(0,gt.useCallback)(X=>{w(Oa({handler:i,reactEvent:X}))},[w,i]),De=(0,gt.useCallback)(X=>{w(Oa({handler:l,reactEvent:X}))},[w,l]),le=(0,gt.useCallback)(X=>{w(Oa({handler:s,reactEvent:X}))},[w,s]),Te=(0,gt.useCallback)(X=>{w(Oa({handler:f,reactEvent:X}))},[w,f]),K=(0,gt.useCallback)(X=>{w(Oa({handler:y,reactEvent:X}))},[w,y]),I=(0,gt.useCallback)(X=>{b&&w(vE(X)),w(Oa({handler:v,reactEvent:X}))},[w,b,v]),C=(0,gt.useCallback)(X=>{w(Oa({handler:p,reactEvent:X}))},[w,p]),T=sle(g);return dr.createElement(wC.Provider,{value:A},dr.createElement(sA.Provider,{value:H},dr.createElement(T,{width:_??h?.width,height:z??h?.height,className:Ue("recharts-wrapper",n),style:Xie({position:"relative",cursor:"default",width:_,height:z},h),onClick:P,onContextMenu:de,onDoubleClick:De,onFocus:G,onBlur:ee,onKeyDown:fe,onMouseDown:le,onMouseEnter:B,onMouseLeave:R,onMouseMove:F,onMouseUp:Te,onTouchEnd:C,onTouchMove:I,onTouchStart:K,ref:j},dr.createElement(nle,null),r)))});var ule=["width","height","responsive","children","className","style","compact","title","desc"];function cle(e,t){if(e==null)return{};var r,n,a=dle(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,o=e.children,i=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=cle(e,ule),f=tr(d);return s?Ri.createElement(Ri.Fragment,null,Ri.createElement(au,{width:r,height:n}),Ri.createElement(xE,{otherAttributes:f,title:u,desc:c},o)):Ri.createElement(R9,{className:i,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},Ri.createElement(xE,{otherAttributes:f,title:u,desc:c,ref:t},Ri.createElement(gB,null,o)))});function bE(){return bE=Object.assign?Object.assign.bind():function(e){for(var t=1;tn7.createElement(Pf,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:hle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var o7=te(ne()),i7=te(ne());var xle=["axis","item"],SE=(0,i7.forwardRef)((e,t)=>o7.createElement(Pf,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:xle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var m7=te(ne()),v7=te(ne());var c7=te(ne()),ms=te(ne());var l7=te(ne());function s7(e){var t=Ve();return(0,l7.useEffect)(()=>{t(L9(e))},[t,e]),null}var ble=["layout"];function AE(){return AE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=lt(e,Ple);return m7.createElement(d7,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Mle,tooltipPayloadSearcher:es,categoricalChartProps:r,ref:t})});var g7=te(ne()),y7=te(ne());var Dle=["axis"],vs=(0,y7.forwardRef)((e,t)=>g7.createElement(Pf,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Dle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var lo=te(ne()),Df=[{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}],h7="30m",x7="activeagents.timeWindow",b7=(0,lo.createContext)(null),CE=e=>Df.find(t=>t.id===e);function w7({children:e}){let[t,r]=(0,lo.useState)(()=>{try{let o=localStorage.getItem(x7);if(o&&CE(o))return o}catch{}return h7}),n=(0,lo.useCallback)(o=>{if(CE(o)){r(o);try{localStorage.setItem(x7,o)}catch{}}},[]),a=(0,lo.useMemo)(()=>{let o=Df.findIndex(l=>l.id===t),i=Df[o]||CE(h7);return{timeWindow:i,windowIndex:o,windows:Df,setWindow:n,zoomTo:l=>{let s=Df[Math.min(Math.max(l,0),Df.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(i.minutes/1440))}},[t,n]);return lo.default.createElement(b7.Provider,{value:a},e)}function Qo(){let e=(0,lo.useContext)(b7);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var If=te(ne());function Jo({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:a,zoomTo:o}=Qo(),{darkMode:i}=kt(),l=Fa(i),s={color:l.textSecondary};return If.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},If.default.createElement("button",{onClick:()=>o(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"),If.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=>If.default.createElement("option",{key:u.id,value:u.id},u.label))),If.default.createElement("button",{onClick:()=>o(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 jr=te(ne());var Vt=te(ne());var Fv=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},gs=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},N1=e=>{let t=e?.spans||[],r=null;for(let y of t){let h=y.tokens||{},m=(h.input||0)+(h.output||0);m>0&&(!r||m>r.total)&&(r={input:h.input||0,output:h.output||0,thinking:h.thinking||0,cached:h.cached||0,total:m})}if(!r)return null;let n=y=>{for(let h of t){let m=(h.attributes||{})[y];if(m)return m}return null},a=(y,...h)=>{let m=Number(n(y));if(Number.isFinite(m)&&m>0)return m;for(let g of h){let x=n(g);if(x)return gs(x)}return 0},o=a("prompt.input.instructions.tokens","prompt.input.instructions","llm.instructions"),i=a("prompt.input.tools.tokens","prompt.input.tools","llm.tools"),l=a("prompt.input.mcp_tools.tokens","prompt.input.mcp_tools"),s=0;for(let y of t){let h=y.attributes||{},m=h["tool.output.result"]||h["tool.result"],g=h["tool.input.args"]||h["tool.arguments"];m&&(s+=gs(m)),g&&(s+=gs(g))}s=Math.min(s,r.input);let u=o+i+l+s,c=u>0&&r.input>0?r.input/u:1,d=y=>Math.round(y*c),f={instructions:d(o),toolSchemas:d(i),mcpSchemas:d(l),toolResults:d(s)},p=f.instructions+f.toolSchemas+f.mcpSchemas+f.toolResults,v=Math.max(r.input-p,0);return{used:r.total,limit:Fv(e.model),cached:r.cached,thinking:r.thinking,estimated:u>0,segments:[{key:"messages",label:"Messages",tokens:v},{key:"tool_results",label:"Tool results",tokens:f.toolResults},{key:"instructions",label:"Instructions",tokens:f.instructions},{key:"tool_schemas",label:"Tool schemas",tokens:f.toolSchemas},{key:"mcp_schemas",label:"MCP tool schemas",tokens:f.mcpSchemas},{key:"output",label:"Generated output",tokens:r.output}]}};var Ile={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},jf=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 ys({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:a=0,compact:o=!1,defaultOpen:i=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,Vt.useState)(i),f=r.filter(O=>O.tokens>0),p=e??f.reduce((O,k)=>O+k.tokens,0),v=t>0?p/t:0,y=v>=.9?"#dc2626":v>=.75?"#eab308":null,h=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",b=`${jf(p)} / ${jf(t)} (${Math.round(v*100)}%)`,S=O=>O.key==="messages"&&y?y:O.color||Ile[O.key]||"#2563eb",w=O=>Vt.default.createElement("div",{style:{display:"flex",height:O,borderRadius:"999px",overflow:"hidden",background:x,flex:1}},f.map(k=>Vt.default.createElement("div",{key:k.key,title:`${k.label} \xB7 ${jf(k.tokens)}`,style:{width:`${Math.min(k.tokens/t*100,100)}%`,background:S(k)}})));return o?Vt.default.createElement("span",{title:`${l}: ${b}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},w("6px"),Vt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:y||h,whiteSpace:"nowrap"}},Math.round(v*100),"%")):Vt.default.createElement("div",{style:{background:u?"rgba(255,255,255,0.03)":"#ffffff",border:`1px solid ${y?y+"66":u?"rgba(255,255,255,0.1)":"#e5e7eb"}`,borderRadius:"12px",padding:"12px 14px"}},Vt.default.createElement("div",{onClick:O=>{O.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:m}},l,s&&Vt.default.createElement("span",{style:{color:h,fontWeight:400}}," \xB7 estimated")),Vt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:y||g}},b),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),Vt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},w("9px")),v>=.9&&Vt.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&&Vt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(O=>Vt.default.createElement("div",{key:O.key,style:{display:"flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:O.key==="__free"?x:S(O),border:O.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),Vt.default.createElement("span",{style:{fontSize:"13px",color:g,flex:1}},O.label),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:m,width:"56px",textAlign:"right"}},jf(O.tokens)),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:h,width:"46px",textAlign:"right"}},t>0?`${(O.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||a>0)&&Vt.default.createElement("div",{style:{marginTop:"4px",paddingTop:"6px",borderTop:`1px solid ${u?"rgba(255,255,255,0.08)":"#f3f4f6"}`,display:"flex",gap:"16px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h}},n>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",jf(n)),a>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",jf(a)))))}var We=te(ne());var Se=te(ne());var Nr=te(ne());var ue=te(ne());var S7=["ui","json-ui","genui"],qu="render_ui",Eo=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),EE=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return}};function Yu(e){let t=typeof e=="string"?EE(e):e;if(Array.isArray(t))return t.every(Eo)?t:null;if(Eo(t)){if(Array.isArray(t.blocks))return t.blocks.every(Eo)?t.blocks:null;if(Array.isArray(t.ui))return t.ui.every(Eo)?t.ui:null}return null}function _E(e,t){let r=String(e||"").trim().toLowerCase();if(S7.includes(r))return Yu(t);if(r==="json"){let n=EE(t);return Eo(n)&&Array.isArray(n.ui)?Yu(n):null}return null}function OE(e){if(typeof e!="string")return null;let t=e.trim(),r=t.startsWith("{")&&t.endsWith("}"),n=t.startsWith("[")&&t.endsWith("]");if(!r&&!n)return null;let a=EE(t);if(a==null||typeof a!="object")return null;if(Array.isArray(a))return a.length>0&&a.every(l=>Eo(l)&&typeof l.type=="string")?{blocks:a}:{object:a};let o=Yu(a);return o?{blocks:o}:{object:a}}var jle=e=>Eo(e)?e.function?.name||e.name:void 0,zle=e=>Eo(e)?e.function?.arguments??e.arguments??e.input:void 0;function zf(e,{callId:t}={}){if(!Eo(e))return null;if(e.tool_name===qu&&e.tool_arguments!=null){let a=Yu(e.tool_arguments);if(a)return a}let r=e.tool_calls,n=[];if(Array.isArray(r)){let a=r.some(o=>Eo(o)&&o.id!=null);r.forEach(o=>{if(jle(o)!==qu||t!=null&&a&&o.id!==t)return;let i=Yu(zle(o));i&&n.push(...i)})}else if(Eo(r)&&e.tool_name===qu){let a=Yu(r);a&&n.push(...a)}return n.length>0?n:null}function C1(e){return typeof e=="string"&&/^(https?:\/\/|data:image\/)/i.test(e.trim())}function E1(e){if(typeof e!="string")return!1;let t=e.trim();if(/^data:image\//i.test(t))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}function A7(e){try{return new URL(String(e).trim()).host}catch{return""}}var O7=["#2a78d6","#eb6834","#1baf7a","#eda100","#e87ba4","#008300","#4a3aa7","#e34948"],Lle=["#3987e5","#d95926","#199e70","#c98500","#d55181","#008300","#9085e9","#e66767"],Wv=O7.length,k7=220,Lf=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),it=e=>e==null?"":typeof e=="object"?JSON.stringify(e):String(e),T7=e=>{if(typeof e!="number"||!Number.isFinite(e))return it(e);let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1).replace(/\.0$/,"")}B`:t>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:t>=1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}K`:e.toLocaleString()},DE=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,N7={info:{light:["#eff6ff","#1d4ed8"],dark:["rgba(59,130,246,0.15)","#93c5fd"]},success:{light:["#f0fdf4","#15803d"],dark:["rgba(34,197,94,0.15)","#86efac"]},warning:{light:["#fffbeb","#b45309"],dark:["rgba(245,158,11,0.15)","#fcd34d"]},danger:{light:["#fef2f2","#b91c1c"],dark:["rgba(239,68,68,0.15)","#fca5a5"]}},Ble={positive:{light:"#15803d",dark:"#4ade80"},negative:{light:"#b91c1c",dark:"#f87171"}},TE=e=>({width:"100%",padding:"6px 10px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),IE=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0,whiteSpace:"pre-wrap"}),Bf=e=>({fontSize:"13px",fontWeight:600,color:e.textPrimary,margin:0});function el({block:e,reason:t,colors:r,darkMode:n}){return ue.default.createElement("div",{className:"text-xs",style:{color:r.textMuted}},ue.default.createElement("div",{className:"mb-1"},"Unsupported block",e&&e.type?` \u201C${it(e.type)}\u201D`:"",t?` \u2014 ${t}`:""),ue.default.createElement("pre",{style:{...IE(n),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2)))}function $le({block:e,colors:t,darkMode:r,onAction:n}){let a=C1(e.image_url)&&E1(e.image_url)?e.image_url.trim():null;return ue.default.createElement("div",{className:"overflow-hidden",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg}},a&&ue.default.createElement("img",{src:a,alt:it(e.title),style:{width:"100%",maxHeight:"220px",objectFit:"cover",display:"block"}}),ue.default.createElement("div",{className:"p-3 space-y-1.5"},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),e.body!=null&&ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})),e.footer!=null&&ue.default.createElement("div",{className:"text-xs pt-1",style:{color:t.textMuted,borderTop:`1px solid ${t.cardBorder}`}},it(e.footer))))}function M7({block:e,colors:t,darkMode:r}){let n=e.delta!=null?it(e.delta):null,a=e.tone||(n&&n.trim().startsWith("-")?"negative":n?"positive":"neutral"),o=DE(Ble,a),i=o?o[r?"dark":"light"]:t.textMuted,l=typeof e.value=="number"?T7(e.value):it(e.value);return ue.default.createElement("div",{style:{background:t.innerBg,border:`1px solid ${t.cardBorder}`,borderRadius:"10px",padding:"10px 12px"}},ue.default.createElement("div",{className:"text-xs",style:{color:t.textMuted}},it(e.label)),ue.default.createElement("div",{className:"text-lg font-semibold leading-tight mt-0.5",style:{color:t.textPrimary}},l),n&&ue.default.createElement("div",{className:"text-xs mt-0.5 font-medium",style:{color:i}},n))}function Ule({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.items)?e.items.filter(Lf):[];return n.length===0?ue.default.createElement(el,{block:e,reason:"stats needs an items array",colors:t,darkMode:r}):ue.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"8px"}},n.map((a,o)=>ue.default.createElement(M7,{key:o,block:a,colors:t,darkMode:r})))}var PE=(e,t)=>({padding:"6px 10px",borderBottom:`1px solid ${e.cardBorder}`,color:e.textCell,textAlign:t?"right":"left",fontVariantNumeric:t?"tabular-nums":void 0,verticalAlign:"top"}),Fle=e=>({padding:"6px 10px",borderBottom:`1px solid ${e.borderStrong}`,color:e.textSecondary,fontSize:"11px",fontWeight:600,textAlign:"left",fontFamily:Fe.mono,textTransform:"uppercase",letterSpacing:"0.04em",whiteSpace:"nowrap"});function P7({columns:e,rows:t,colors:r,renderCell:n}){return ue.default.createElement("div",{style:{overflowX:"auto"}},ue.default.createElement("table",{className:"text-sm",style:{width:"100%",borderCollapse:"collapse"}},ue.default.createElement("thead",null,ue.default.createElement("tr",null,e.map((a,o)=>ue.default.createElement("th",{key:o,style:Fle(r)},it(a))))),ue.default.createElement("tbody",null,t.map((a,o)=>ue.default.createElement("tr",{key:o},e.map((i,l)=>{let s=a[l];return ue.default.createElement("td",{key:l,style:PE(r,typeof s=="number")},n?n(s):typeof s=="number"?s.toLocaleString():it(s))}))))))}function Wle({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.columns)?e.columns:null,a=Array.isArray(e.rows)?e.rows:null;if(!n||!a)return ue.default.createElement(el,{block:e,reason:"table needs columns and rows arrays",colors:t,darkMode:r});let o=a.map(i=>Array.isArray(i)?i:Lf(i)?n.map(l=>i[l]):[i]);return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1.5",style:Bf(t)},it(e.title)),ue.default.createElement(P7,{columns:n,rows:o,colors:t}))}var Hle=e=>{let t=e[0];return Object.keys(t).find(r=>typeof t[r]=="string")||Object.keys(t)[0]},Vle=(e,t)=>Object.keys(e[0]).filter(r=>r!==t&&typeof e[0][r]=="number");function Kle({block:e,colors:t,darkMode:r}){let n=String(e.chart||e.kind||"bar").toLowerCase(),a=Array.isArray(e.data)?e.data.filter(Lf):[];if(a.length===0)return ue.default.createElement(el,{block:e,reason:"chart needs a data array of objects",colors:t,darkMode:r});let o=typeof e.x=="string"?e.x:Hle(a),i=Array.isArray(e.series)?e.series.filter(h=>typeof h=="string"):[],l=(i.length>0?i:Vle(a,o)).slice(0,Wv);if(!o||l.length===0)return ue.default.createElement(el,{block:e,reason:"chart needs an x key and at least one series",colors:t,darkMode:r});let s=r?Lle:O7,u=t.cardBg,c={fontSize:10,fill:t.textMuted},d=ue.default.createElement(ts,{contentStyle:{background:u,border:`1px solid ${t.cardBorder}`,borderRadius:"8px",fontSize:"12px"},labelStyle:{color:t.textPrimary,fontWeight:600,marginBottom:"4px"},itemStyle:{color:t.textCell},formatter:h=>typeof h=="number"?h.toLocaleString():it(h)}),f=l.length>1||n==="pie"?ue.default.createElement(S0,{wrapperStyle:{fontSize:"11px",color:t.textSecondary},iconSize:10}):null,p=ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(qi,{stroke:t.cardBorder,vertical:!1}),ue.default.createElement(Zi,{dataKey:o,stroke:t.borderStrong,tick:c,tickLine:!1}),ue.default.createElement(Ji,{stroke:t.borderStrong,tick:c,tickLine:!1,axisLine:!1,tickFormatter:T7,width:44})),v={top:8,right:12,bottom:0,left:0},y;if(n==="line")y=ue.default.createElement(wE,{data:a,margin:v},p,d,f,l.map((h,m)=>ue.default.createElement(t1,{key:h,type:"monotone",dataKey:h,stroke:s[m],strokeWidth:2,dot:{r:4,strokeWidth:2,stroke:u,fill:s[m]},activeDot:{r:5,strokeWidth:2,stroke:u},isAnimationActive:!1})));else if(n==="area")y=ue.default.createElement(vs,{data:a,margin:v},p,d,f,l.map((h,m)=>ue.default.createElement(Gi,{key:h,type:"monotone",dataKey:h,stroke:s[m],strokeWidth:2,fill:s[m],fillOpacity:.12,dot:{r:3,strokeWidth:2,stroke:u,fill:s[m]},isAnimationActive:!1})));else if(n==="pie"){let h=l[0],m=[...a].sort((b,S)=>(Number(S[h])||0)-(Number(b[h])||0)),g=m.slice(0,Wv),x=m.slice(Wv);x.length>0&&(g[Wv-1]={[o]:"Other",[h]:x.reduce((b,S)=>b+(Number(S[h])||0),Number(g[Wv-1][h])||0)}),y=ue.default.createElement(NE,{margin:v},d,f,ue.default.createElement(Fb,{data:g,dataKey:h,nameKey:o,innerRadius:44,outerRadius:80,paddingAngle:2,stroke:u,strokeWidth:2,isAnimationActive:!1},g.map((b,S)=>ue.default.createElement(Wi,{key:S,fill:s[S]}))))}else y=ue.default.createElement(SE,{data:a,margin:v,barCategoryGap:"25%",barGap:2},p,d,f,l.map((h,m)=>ue.default.createElement(l1,{key:h,dataKey:h,fill:s[m],radius:[4,4,0,0],maxBarSize:24,isAnimationActive:!1})));return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement("div",{style:{width:"100%",height:k7,minWidth:0}},ue.default.createElement(Bl,{width:"100%",height:k7},y)))}function qle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.items)?e.items:null;if(!a)return ue.default.createElement(el,{block:e,reason:"list needs an items array",colors:t,darkMode:r});let o=e.ordered?"ol":"ul";return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement(o,{className:`${e.ordered?"list-decimal":"list-disc"} pl-5 text-sm space-y-0.5`,style:{color:t.textCell}},a.map((i,l)=>ue.default.createElement("li",{key:l},typeof i=="string"?ue.default.createElement(_o,{text:i,darkMode:r,onUiAction:n}):it(i)))))}function Yle({block:e,colors:t}){let r=Number(e.value),n=Number.isFinite(r)?Math.max(0,Math.min(100,r)):0;return ue.default.createElement("div",null,ue.default.createElement("div",{className:"flex items-center justify-between text-xs mb-1"},ue.default.createElement("span",{style:{color:t.textCell}},it(e.label)),ue.default.createElement("span",{className:"font-mono",style:{color:t.textMuted}},Math.round(n),"%")),ue.default.createElement("div",{style:{height:"8px",borderRadius:"999px",background:t.trackBg,overflow:"hidden"}},ue.default.createElement("div",{style:{width:`${n}%`,height:"100%",background:vn,borderRadius:"999px",transition:"width 0.3s ease"}})))}var Gle=["text","textarea","number","select","checkbox"],ME=e=>it(e.name||e.label),C7=e=>it(e.label||e.name),E7=e=>Gle.includes(e.type)?e.type:"text";function Xle({block:e,colors:t,darkMode:r,onAction:n}){let a=(Array.isArray(e.fields)?e.fields:[]).filter(f=>Lf(f)&&(f.name||f.label)),[o,i]=(0,ue.useState)(()=>Object.fromEntries(a.map(f=>[ME(f),E7(f)==="checkbox"?!1:""]))),[l,s]=(0,ue.useState)(!1);if(a.length===0)return ue.default.createElement(el,{block:e,reason:"form needs fields",colors:t,darkMode:r});let u=e.submit!=null?it(e.submit):"Submit",c=(f,p)=>i(v=>({...v,[f]:p}));return ue.default.createElement("form",{onSubmit:f=>{f.preventDefault();let p=a.map(v=>{let y=o[ME(v)];return`${C7(v)}: ${typeof y=="boolean"?y?"yes":"no":it(y)}`}).join("; ");s(!0),n&&n({kind:"form",text:`${e.submit!=null?it(e.submit):"Submitted"}: ${p}`,values:{...o}})},className:"space-y-2.5",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg,padding:"12px"}},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),a.map(f=>{let p=ME(f),v=E7(f),y=C7(f),h=`genui-field-${p.replace(/\W+/g,"-")}`;return v==="checkbox"?ue.default.createElement("label",{key:p,className:"flex items-center gap-2 text-sm",style:{color:t.textCell}},ue.default.createElement("input",{type:"checkbox",checked:!!o[p],onChange:m=>c(p,m.target.checked),style:{accentColor:vn}}),y):ue.default.createElement("div",{key:p},ue.default.createElement("label",{htmlFor:h,className:"block text-xs mb-1",style:{color:t.textSecondary}},y,f.required?" *":""),v==="textarea"?ue.default.createElement("textarea",{id:h,name:p,value:o[p],onChange:m=>c(p,m.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,rows:3,className:"aa-field",style:{...TE(t),resize:"vertical"}}):v==="select"?ue.default.createElement("select",{id:h,name:p,value:o[p],onChange:m=>c(p,m.target.value),required:!!f.required,className:"aa-field",style:TE(t)},ue.default.createElement("option",{value:""},f.placeholder!=null?it(f.placeholder):"Select\u2026"),(Array.isArray(f.options)?f.options:[]).map((m,g)=>ue.default.createElement("option",{key:g,value:it(m)},it(m)))):ue.default.createElement("input",{id:h,name:p,type:v==="number"?"number":"text",value:o[p],onChange:m=>c(p,v==="number"&&m.target.value!==""?Number(m.target.value):m.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,className:"aa-field",style:TE(t)}))}),ue.default.createElement("div",{className:"flex items-center gap-3 pt-1"},ue.default.createElement("button",{type:"submit","data-testid":"genui-form-submit",style:{padding:"6px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,background:vn,color:"#ffffff",border:"1px solid transparent",cursor:"pointer"}},u),l&&ue.default.createElement("span",{className:"text-xs",style:{color:t.textMuted}},"Sent to the agent")))}function Zle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.options)?e.options:null,[o,i]=(0,ue.useState)(null);return!a||a.length===0?ue.default.createElement(el,{block:e,reason:"choices needs options",colors:t,darkMode:r}):ue.default.createElement("div",null,e.prompt!=null&&ue.default.createElement("div",{className:"text-sm mb-1.5",style:{color:t.textCell}},it(e.prompt)),ue.default.createElement("div",{className:"flex flex-wrap gap-2"},a.map((l,s)=>{let u=it(l),c=o===s;return ue.default.createElement("button",{key:s,type:"button","data-testid":"genui-choice",onClick:()=>{i(s),n&&n({kind:"choice",text:u})},style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?vn:t.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":t.textCell}},u)})))}function Qle({url:e,alt:t,colors:r,darkMode:n}){let[a,o]=(0,ue.useState)(!1);if(a)return ue.default.createElement("img",{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}});let i=A7(e);return ue.default.createElement("button",{type:"button",onClick:()=>o(!0),"data-testid":"genui-image-load",className:"text-xs w-full",style:{border:`1px dashed ${r.cardBorder}`,borderRadius:"8px",padding:"14px 12px",color:r.textMuted,background:n?"rgba(255,255,255,0.03)":"#f9fafb"}},"Load image from ",i||"another site")}function Jle({block:e,colors:t,darkMode:r}){if(!C1(e.url))return ue.default.createElement(el,{block:e,reason:"image URL must be http(s) or data:",colors:t,darkMode:r});let n=e.url.trim(),a=e.alt!=null?it(e.alt):"";return ue.default.createElement("figure",{style:{margin:0}},E1(n)?ue.default.createElement("img",{src:n,alt:a,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}}):ue.default.createElement(Qle,{url:n,alt:a,colors:t,darkMode:r}),e.caption!=null&&ue.default.createElement("figcaption",{className:"text-xs mt-1",style:{color:t.textMuted}},it(e.caption)))}function Rle({block:e,colors:t,darkMode:r,onAction:n}){let[a,o]=(DE(N7,e.tone)||N7.info)[r?"dark":"light"];return ue.default.createElement("div",{style:{background:a,borderLeft:`3px solid ${o}`,borderRadius:"8px",padding:"10px 12px"}},e.title!=null&&ue.default.createElement("div",{className:"text-sm font-semibold mb-0.5",style:{color:o}},it(e.title)),ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})))}function ese({block:e,colors:t,darkMode:r}){return ue.default.createElement("div",null,e.language!=null&&ue.default.createElement("div",{className:"text-xs font-mono mb-1",style:{color:t.textMuted}},it(e.language)),ue.default.createElement("pre",{style:IE(r)},it(e.code)))}function _7({block:e,colors:t,darkMode:r,onAction:n}){let a=e.text??e.body??e.content??e.markdown;return ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(a),darkMode:r,onUiAction:n}))}var tse=3;function _1({value:e,colors:t,darkMode:r,depth:n}){if(e==null||typeof e!="object")return typeof e=="boolean"?ue.default.createElement("span",{className:"font-mono"},String(e)):typeof e=="number"?ue.default.createElement("span",{style:{fontVariantNumeric:"tabular-nums"}},e.toLocaleString()):ue.default.createElement("span",null,it(e));if(n>=tse)return ue.default.createElement("pre",{style:{...IE(r),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2));if(Array.isArray(e)){if(e.length===0)return ue.default.createElement("span",{style:{color:t.textMuted}},"\u2014");if(e.every(Lf)){let o=[...new Set(e.flatMap(i=>Object.keys(i)))];return ue.default.createElement(P7,{columns:o,rows:e.map(i=>o.map(l=>i[l])),colors:t,renderCell:i=>ue.default.createElement(_1,{value:i,colors:t,darkMode:r,depth:n+1})})}return e.every(o=>o==null||typeof o!="object")?ue.default.createElement("span",null,e.map(it).join(", ")):ue.default.createElement("ul",{className:"list-disc pl-5 space-y-0.5"},e.map((o,i)=>ue.default.createElement("li",{key:i},ue.default.createElement(_1,{value:o,colors:t,darkMode:r,depth:n+1}))))}let a=Object.entries(e);return a.length===0?ue.default.createElement("span",{style:{color:t.textMuted}},"{}"):ue.default.createElement("table",{className:"text-sm",style:{borderCollapse:"collapse",width:n===0?"100%":"auto"}},ue.default.createElement("tbody",null,a.map(([o,i])=>ue.default.createElement("tr",{key:o},ue.default.createElement("th",{scope:"row",className:"font-mono text-xs",style:{...PE(t,!1),color:t.textSecondary,fontWeight:500,whiteSpace:"nowrap",width:"1%"}},o),ue.default.createElement("td",{style:PE(t,!1)},ue.default.createElement(_1,{value:i,colors:t,darkMode:r,depth:n+1}))))))}function rse({block:e,colors:t,darkMode:r}){let n="value"in e?e.value:e.data;return ue.default.createElement("div",{style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",overflow:"hidden"}},e.title!=null&&ue.default.createElement("div",{className:"px-3 pt-2",style:Bf(t)},it(e.title)),ue.default.createElement("div",{className:"px-1 pb-1",style:{overflowX:"auto"}},ue.default.createElement(_1,{value:n,colors:t,darkMode:r,depth:0})))}var nse={card:$le,stat:M7,stats:Ule,table:Wle,chart:Kle,list:qle,progress:Yle,form:Xle,choices:Zle,image:Jle,callout:Rle,code:ese,object:rse,text:_7,markdown:_7};function hs({blocks:e,onAction:t,darkMode:r=!1}){let n=Array.isArray(e)?e.filter(Lf):[];if(n.length===0)return null;let a=Fa(r);return ue.default.createElement("div",{className:"space-y-3",onClick:o=>o.stopPropagation()},n.map((o,i)=>{let l=typeof o.type=="string"?o.type.toLowerCase():"unknown",s=DE(nse,l);return ue.default.createElement("div",{key:i,"data-testid":"genui-block","data-block-type":l},s?ue.default.createElement(s,{block:o,colors:a,darkMode:r,onAction:t}):ue.default.createElement(el,{block:o,colors:a,darkMode:r}))}))}var ase=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,Hv=(e,t)=>e.split(ase).filter(Boolean).map((r,n)=>{let a=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Nr.default.createElement("strong",{key:a},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Nr.default.createElement("em",{key:a},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Nr.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 o=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return o?Nr.default.createElement("a",{key:a,href:o[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},o[1]):r}),D7=e=>/^\s*\|.*\|\s*$/.test(e),ose=e=>/^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(e),I7=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?t.replace(/\\\|/g,"|").trim());function _o({text:e,onUiAction:t,darkMode:r}){if(!e)return null;let n=[],a=String(e).split(` +`),o=0,i=0;for(;oNr.default.createElement("th",{key:p,className:"text-left font-semibold px-2 py-1",style:{borderBottom:"1px solid rgba(127,127,127,0.35)"}},Hv(f,`th${d}-${p}`))))),Nr.default.createElement("tbody",null,c.map((f,p)=>Nr.default.createElement("tr",{key:p},u.map((m,y)=>Nr.default.createElement("td",{key:y,className:"px-2 py-1 align-top",style:{borderBottom:"1px solid rgba(127,127,127,0.15)"}},Hv(f[y]??"",`td${d}-${p}-${y}`)))))))));continue}if(/^\s*([-*]|\d+\.)\s+/.test(l)){let u=[];for(;oNr.default.createElement("li",{key:d},Hv(c,`li${i}-${d}`)))));continue}if(l.trim()===""){n.push(Nr.default.createElement("div",{key:i++,className:"h-2"})),o+=1;continue}n.push(Nr.default.createElement("div",{key:i++},Hv(l,`p${i}`))),o+=1}return Nr.default.createElement("div",{className:"break-words"},n)}var na=te(ne()),ise=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"},lse=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function IE({tool:e,darkMode:t}){let r=lse(e);return na.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&na.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),na.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"}},na.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),na.default.createElement("span",null,"source: ",ise(e))))}function jE({tools:e,darkMode:t}){let[r,n]=(0,na.useState)(null),a=(e||[]).filter(l=>l&&l.name);if(a.length===0)return null;let o=a.find(l=>l.name===r),i=l=>({background:t?"rgba(34,197,94,0.12)":"#f0fdf4",color:t?"#86efac":"#15803d",border:`1px solid ${l?t?"#4ade80":"#22c55e":"transparent"}`,borderRadius:"6px",padding:"2px 8px",fontSize:"11px",cursor:"pointer"});return na.default.createElement("div",{style:{marginTop:"8px"}},na.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},na.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),a.map(l=>na.default.createElement("button",{key:l.name,onClick:s=>{s.stopPropagation(),n(r===l.name?null:l.name)},title:r===l.name?"Hide definition":"Show definition",style:i(r===l.name)},"\u2699 ",l.name))),o&&na.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"}`}},na.default.createElement(IE,{tool:o,darkMode:t})))}var sse=["application/json","application/xml","application/x-yaml","application/csv"],use=/\.(csv|md|txt|json|ya?ml)$/i;function j7(e){let t=String(e?.type||e?.content_type||"").toLowerCase(),r=String(e?.name||e?.filename||"");return t.startsWith("image/")?"image":t==="application/pdf"?"document":t.startsWith("text/")||sse.includes(t)||use.test(r)?"text":"file"}function z7(e){let t=Number(e);return!Number.isFinite(t)||t<0?"":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function L7(e){if(typeof e!="string")return!1;let t=e.trim();if(/^(data:image\/|blob:)/i.test(t))return!0;if(/^\/[\\/]/.test(t))return!1;if(t.startsWith("/"))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}var B7=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,Vv=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}},cse=["text","output","body","content"],$7=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},dse=e=>{let t=$7(e.tool_result)??$7(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=cse.find(o=>typeof t[o]=="string"&&t[o].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(([o])=>o!==r));return{field:r,meta:n,body:t[r],rest:a}},fse=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||Vv(e.content)),W7=280,pse=["tool","system","developer"],Kv=(e,t=W7)=>e.replace(/\s+/g," ").trim().slice(0,t),zE=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)}},H7=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:zE(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:zE(t)}]:[]},V7=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),mse=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((a,o)=>{if(a.role!=="assistant"||V7(a.content))return;let i=H7(a);if(i.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=o+1;u0&&c.tool_call_id&&!l.has(c.tool_call_id))break;s.push(u)}s.length!==0&&(s.forEach((u,c)=>{let d=t[u],f=i.find(p=>p.name&&p.name===d.tool_name)||i[Math.min(c,i.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:a.created_at||d.created_at})}),n.add(o))}),t.map((a,o)=>r.has(o)?{...a,...r.get(o)}:a).filter((a,o)=>!n.has(o))},U7=e=>pse.includes(e.role)&&typeof e.content=="string"&&Kv(e.content).length>=W7,vse=({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),o=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return Se.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"}},Se.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(a,100-n)}%`,borderRadius:"999px",background:o}}))},_1=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}),gr=(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}}},F7={image:"IMG",document:"PDF",text:"TXT",file:"FILE"};function O1({attachments:e,darkMode:t,testId:r,onRemove:n,removeTestId:a}){let o=(e||[]).filter(Boolean);if(o.length===0)return null;let i=Fa(t);return Se.default.createElement("div",{className:"flex flex-wrap gap-2 mt-1.5"},o.map((l,s)=>{let u=String(l.content_type||""),c=(l.kind==="image"||u.startsWith("image/"))&&L7(l.url),d=z7(l.byte_size);return Se.default.createElement("span",{key:l.id??`${l.filename}-${s}`,"data-testid":r,title:[l.filename,u,d].filter(Boolean).join(" \xB7 "),className:"inline-flex items-center gap-2 rounded-lg px-2 py-1 text-xs",style:{background:i.mutedBg,border:`1px solid ${i.cardBorder}`,color:i.textCell,maxWidth:"260px"}},c?Se.default.createElement("img",{src:l.url,alt:l.filename||"",style:{width:"36px",height:"36px",objectFit:"cover",borderRadius:"4px",flexShrink:0}}):Se.default.createElement("span",{className:"font-mono",style:{color:i.textMuted,flexShrink:0}},F7[l.kind]||F7.file),Se.default.createElement("span",{className:"min-w-0"},Se.default.createElement("span",{className:"block truncate"},l.filename||"attachment"),d&&Se.default.createElement("span",{className:"block font-mono",style:{color:i.textMuted}},d)),n&&Se.default.createElement("button",{type:"button","data-testid":a,onClick:f=>{f.stopPropagation(),n(l,s)},title:"Remove","aria-label":`Remove ${l.filename||"attachment"}`,className:"font-mono",style:{color:i.textMuted,background:"none",border:"none",cursor:"pointer",padding:"0 2px"}},"\u2715"))}))}var K7=e=>{let t=new Set;return Array.isArray(e.tool_calls)?e.tool_calls.forEach(r=>r&&r.id!=null&&t.add(r.id)):e.tool_call_id&&t.add(e.tool_call_id),t},gse=(e,t)=>{let r=zf(e);if(r)return r;let n=t.find(a=>a&&a.role==="assistant"&&(e.tool_call_id?K7(a).has(e.tool_call_id):zf(a)));return n?zf(n,{callId:e.tool_call_id}):null},yse=(e,t)=>{let r=K7(e);return t.some(n=>n&&n.role==="tool"&&n.tool_name===qu&&(!n.tool_call_id||r.size===0||r.has(n.tool_call_id)))};function so({messages:e,darkMode:t,tools:r,onUiAction:n,onEditMessage:a,onDeleteMessage:o,testIdPrefix:i}){let[l,s]=(0,Se.useState)({}),[u,c]=(0,Se.useState)(null),[d,f]=(0,Se.useState)(""),[p,m]=(0,Se.useState)(!1),[y,h]=(0,Se.useState)(null),v=A=>s(M=>({...M,[A]:!M[A]})),g={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},b=A=>i?`${i}-${A}`:void 0,x=A=>A.stopPropagation(),S=A=>{c(A.id),f(A.content||""),h(null)},w=()=>{c(null),h(null)},O=async A=>{if(!p){m(!0),h(null);try{await a(A,d),c(null)}catch(M){h(M.message||"Could not save the message")}finally{m(!1)}}},k=mse(e);return Se.default.createElement("div",{className:"space-y-3"},k.map(A=>{let M=gr(A.role,t),W=!!l[A.id],L=u===A.id,H=!!((a||o)&&["user","assistant"].includes(A.role)),D=A.role==="tool"&&A.tool_name===qu?gse(A,k):null,Y=A.role==="assistant"&&!L?_E(A.content):null,N=A.role==="assistant"&&!yse(A,k)?zf(A):null,_=U7(A)&&!W,z=fse(A)||U7(A),j=Vv(A.tool_arguments),P=Vv(A.tool_result)||Vv(A.content),B=A.tool_calls&&(!Array.isArray(A.tool_calls)||A.tool_calls.length>0)?Vv(A.tool_calls):null,R=A.role==="tool"?dse(A):null,F=A.tool_name?(r||[]).find(K=>K&&K.name===A.tool_name):null,G=A.role==="tool"?zE(A.tool_arguments):null,ee=A.role==="tool"&&!!G,fe=gr("assistant",t),de=gr("tool",t),De=A.role==="tool"&&!A.tool_arguments&&k.some(K=>K&&K.role==="assistant"&&(A.tool_call_id&&K.tool_call_id===A.tool_call_id||Array.isArray(K.tool_calls)&&K.tool_calls.some(I=>I.id&&I.id===A.tool_call_id))),le=A.role==="assistant"&&!V7(A.content)?H7(A):[],Te=_1(t);return Se.default.createElement("div",{key:A.id,className:"group","data-testid":i,"data-message-id":i?A.id:void 0,"data-role":i?A.role:void 0},Se.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${z?"cursor-pointer":""}`,onClick:z?()=>v(A.id):void 0,style:W?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},Se.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(ee?[fe,de]:[M]).map(K=>Se.default.createElement("span",{key:K.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:K.background,color:K.color,textAlign:"center"}},K.label))),Se.default.createElement("div",{className:"min-w-0 flex-1"},Se.default.createElement("div",{className:"text-sm break-words",style:{color:g.textPrimary}},L?Se.default.createElement("div",{className:"space-y-2",onClick:x},Se.default.createElement("textarea",{"data-testid":b("editor"),value:d,onChange:K=>f(K.target.value),onKeyDown:K=>{K.key==="Escape"&&w(),K.key==="Enter"&&(K.metaKey||K.ctrlKey)&&O(A)},rows:Math.min(12,Math.max(3,d.split(` -`).length)),autoFocus:!0,className:"aa-field w-full",style:{padding:"8px 10px",borderRadius:"8px",border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,background:t?"rgba(255,255,255,0.06)":"#ffffff",color:g.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"}}),Se.default.createElement("div",{className:"flex items-center gap-2 text-xs"},Se.default.createElement("button",{type:"button","data-testid":b("save"),onClick:()=>O(A),disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"#ef4444",color:"#ffffff",border:"none",cursor:p?"wait":"pointer",fontWeight:500}},p?"Saving\u2026":"Save"),Se.default.createElement("button",{type:"button","data-testid":b("cancel"),onClick:w,disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"transparent",color:g.textSecondary,border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,cursor:"pointer"}},"Cancel"),y&&Se.default.createElement("span",{style:{color:"#dc2626"}},y))):D?Se.default.createElement("div",null,Se.default.createElement("div",{className:"font-mono text-xs mb-1",style:{color:de.color}},"\u2699 ",A.tool_name," \xB7 ",D.length," block",D.length===1?"":"s"),Se.default.createElement(hs,{blocks:D,onAction:n,darkMode:t})):A.role==="tool"?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},G&&!De&&Se.default.createElement("span",{className:"font-mono text-xs break-words"},A.tool_name&&Se.default.createElement("span",{style:{color:de.color}},"\u2699 ",A.tool_name," "),Se.default.createElement("span",{style:{color:ee?fe.color:g.textMuted}},"in:")," ",Kv(G,180),G.length>180?"\u2026":""),R?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:g.textMuted}},"out:"),R.meta&&Se.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:g.textMuted}},R.meta),"\u201C",R.body.replace(/\s+/g," ").trim().slice(0,180),R.body.length>180?"\u2026":"","\u201D"):A.content?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:g.textMuted}},"out:"),"\u201C",Kv(A.content,180),A.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):Se.default.createElement("span",{className:"whitespace-pre-wrap"},A.tool_name?`\u2192 ${A.tool_name}(...)`:"\u2014")):_?Se.default.createElement("span",{style:{color:g.textSecondary}},Kv(A.content),"\u2026"):le.length>0?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},le.map((K,I)=>Se.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},K.name&&Se.default.createElement("span",{style:{color:g.textMuted}},K.name," "),Se.default.createElement("span",{style:{color:g.textMuted}},"in:")," ",K.args?Se.default.createElement(Se.default.Fragment,null,Kv(K.args,180),K.args.length>180?"\u2026":""):"\u2014"))):Y&&Y.blocks?Se.default.createElement(hs,{blocks:Y.blocks,onAction:n,darkMode:t}):Y&&Y.object?Se.default.createElement(hs,{blocks:[{type:"object",value:Y.object}],darkMode:t}):Se.default.createElement(_o,{text:A.content||"\u2014",darkMode:t,onUiAction:n}),N&&!L&&Se.default.createElement("div",{className:"mt-2"},Se.default.createElement(hs,{blocks:N,onAction:n,darkMode:t})),A.role==="user"&&Se.default.createElement(O1,{attachments:A.attachments,darkMode:t,testId:b("attachment")})),Se.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:g.textMuted}},H&&!L&&Se.default.createElement("span",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",onClick:x},a&&Se.default.createElement("button",{type:"button","data-testid":b("edit"),onClick:()=>S(A),className:"hover:underline",style:{color:g.textSecondary,background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Edit"),o&&Se.default.createElement("button",{type:"button","data-testid":b("delete"),onClick:()=>o(A),className:"hover:underline",style:{color:"#dc2626",background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Delete")),A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleTimeString()),A.tool_name&&A.role!=="tool"&&Se.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:M.background,color:M.color}},"\u2699 ",A.tool_name),A.duration_ms!=null&&Se.default.createElement("span",null,B7(A.duration_ms)),(A.tool_calls||[]).length>0&&Se.default.createElement("span",null,A.tool_calls.length," tool call",A.tool_calls.length>1?"s":""),A.content_checksum&&Se.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",A.content_checksum.slice(0,8)))),Se.default.createElement(vse,{message:A,darkMode:t}),z&&Se.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${W?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:g.textMuted}},Se.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),W&&Se.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},Se.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:g.textSecondary}},A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleString()),A.tool_call_id&&Se.default.createElement("span",null,"call: ",A.tool_call_id),A.duration_ms!=null&&Se.default.createElement("span",null,"took ",B7(A.duration_ms)),A.content_checksum&&Se.default.createElement("span",null,"\u{1F512} ",A.content_checksum)),j&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?fe.color:g.textMuted}},"Arguments",ee?" \xB7 from the agent":""),Se.default.createElement("pre",{style:Te},j)),R?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:g.textMuted}},"Result",ee?" \xB7 from the tool":""),Object.keys(R.rest).length>0&&Se.default.createElement("pre",{style:Te},JSON.stringify(R.rest,null,2)),Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:g.textMuted}},R.field," \xB7 ",R.body.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},R.body.slice(0,8e3),R.body.length>8e3?` +`)));continue}let s=l.match(/^(#{1,4})\s+(.*)$/);if(s){n.push(Nr.default.createElement("div",{key:i++,className:"font-semibold mt-1",style:{fontSize:`${1.25-s[1].length*.05}em`}},Hv(s[2],`h${i}`))),o+=1;continue}if(D7(l)&&o+1Nr.default.createElement("th",{key:p,className:"text-left font-semibold px-2 py-1",style:{borderBottom:"1px solid rgba(127,127,127,0.35)"}},Hv(f,`th${d}-${p}`))))),Nr.default.createElement("tbody",null,c.map((f,p)=>Nr.default.createElement("tr",{key:p},u.map((v,y)=>Nr.default.createElement("td",{key:y,className:"px-2 py-1 align-top",style:{borderBottom:"1px solid rgba(127,127,127,0.15)"}},Hv(f[y]??"",`td${d}-${p}-${y}`)))))))));continue}if(/^\s*([-*]|\d+\.)\s+/.test(l)){let u=[];for(;oNr.default.createElement("li",{key:d},Hv(c,`li${i}-${d}`)))));continue}if(l.trim()===""){n.push(Nr.default.createElement("div",{key:i++,className:"h-2"})),o+=1;continue}n.push(Nr.default.createElement("div",{key:i++},Hv(l,`p${i}`))),o+=1}return Nr.default.createElement("div",{className:"break-words"},n)}var na=te(ne()),ise=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"},lse=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function jE({tool:e,darkMode:t}){let r=lse(e);return na.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&na.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),na.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"}},na.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),na.default.createElement("span",null,"source: ",ise(e))))}function zE({tools:e,darkMode:t}){let[r,n]=(0,na.useState)(null),a=(e||[]).filter(l=>l&&l.name);if(a.length===0)return null;let o=a.find(l=>l.name===r),i=l=>({background:t?"rgba(34,197,94,0.12)":"#f0fdf4",color:t?"#86efac":"#15803d",border:`1px solid ${l?t?"#4ade80":"#22c55e":"transparent"}`,borderRadius:"6px",padding:"2px 8px",fontSize:"11px",cursor:"pointer"});return na.default.createElement("div",{style:{marginTop:"8px"}},na.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},na.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),a.map(l=>na.default.createElement("button",{key:l.name,onClick:s=>{s.stopPropagation(),n(r===l.name?null:l.name)},title:r===l.name?"Hide definition":"Show definition",style:i(r===l.name)},"\u2699 ",l.name))),o&&na.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"}`}},na.default.createElement(jE,{tool:o,darkMode:t})))}var sse=["application/json","application/xml","application/x-yaml","application/csv"],use=/\.(csv|md|txt|json|ya?ml)$/i;function j7(e){let t=String(e?.type||e?.content_type||"").toLowerCase(),r=String(e?.name||e?.filename||"");return t.startsWith("image/")?"image":t==="application/pdf"?"document":t.startsWith("text/")||sse.includes(t)||use.test(r)?"text":"file"}function z7(e){let t=Number(e);return!Number.isFinite(t)||t<0?"":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function L7(e){if(typeof e!="string")return!1;let t=e.trim();if(/^(data:image\/|blob:)/i.test(t))return!0;if(/^\/[\\/]/.test(t))return!1;if(t.startsWith("/"))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}var B7=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,Vv=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}},cse=["text","output","body","content"],$7=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},dse=e=>{let t=$7(e.tool_result)??$7(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=cse.find(o=>typeof t[o]=="string"&&t[o].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(([o])=>o!==r));return{field:r,meta:n,body:t[r],rest:a}},fse=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||Vv(e.content)),W7=280,pse=["tool","system","developer"],Kv=(e,t=W7)=>e.replace(/\s+/g," ").trim().slice(0,t),LE=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)}},H7=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:LE(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:LE(t)}]:[]},V7=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),mse=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((a,o)=>{if(a.role!=="assistant"||V7(a.content))return;let i=H7(a);if(i.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=o+1;u0&&c.tool_call_id&&!l.has(c.tool_call_id))break;s.push(u)}s.length!==0&&(s.forEach((u,c)=>{let d=t[u],f=i.find(p=>p.name&&p.name===d.tool_name)||i[Math.min(c,i.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:a.created_at||d.created_at})}),n.add(o))}),t.map((a,o)=>r.has(o)?{...a,...r.get(o)}:a).filter((a,o)=>!n.has(o))},U7=e=>pse.includes(e.role)&&typeof e.content=="string"&&Kv(e.content).length>=W7,vse=({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),o=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return Se.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"}},Se.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(a,100-n)}%`,borderRadius:"999px",background:o}}))},O1=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}),gr=(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}}},F7={image:"IMG",document:"PDF",text:"TXT",file:"FILE"};function T1({attachments:e,darkMode:t,testId:r,onRemove:n,removeTestId:a}){let o=(e||[]).filter(Boolean);if(o.length===0)return null;let i=Fa(t);return Se.default.createElement("div",{className:"flex flex-wrap gap-2 mt-1.5"},o.map((l,s)=>{let u=String(l.content_type||""),c=(l.kind==="image"||u.startsWith("image/"))&&L7(l.url),d=z7(l.byte_size);return Se.default.createElement("span",{key:l.id??`${l.filename}-${s}`,"data-testid":r,title:[l.filename,u,d].filter(Boolean).join(" \xB7 "),className:"inline-flex items-center gap-2 rounded-lg px-2 py-1 text-xs",style:{background:i.mutedBg,border:`1px solid ${i.cardBorder}`,color:i.textCell,maxWidth:"260px"}},c?Se.default.createElement("img",{src:l.url,alt:l.filename||"",style:{width:"36px",height:"36px",objectFit:"cover",borderRadius:"4px",flexShrink:0}}):Se.default.createElement("span",{className:"font-mono",style:{color:i.textMuted,flexShrink:0}},F7[l.kind]||F7.file),Se.default.createElement("span",{className:"min-w-0"},Se.default.createElement("span",{className:"block truncate"},l.filename||"attachment"),d&&Se.default.createElement("span",{className:"block font-mono",style:{color:i.textMuted}},d)),n&&Se.default.createElement("button",{type:"button","data-testid":a,onClick:f=>{f.stopPropagation(),n(l,s)},title:"Remove","aria-label":`Remove ${l.filename||"attachment"}`,className:"font-mono",style:{color:i.textMuted,background:"none",border:"none",cursor:"pointer",padding:"0 2px"}},"\u2715"))}))}var K7=e=>{let t=new Set;return Array.isArray(e.tool_calls)?e.tool_calls.forEach(r=>r&&r.id!=null&&t.add(r.id)):e.tool_call_id&&t.add(e.tool_call_id),t},gse=(e,t)=>{let r=zf(e);if(r)return r;let n=t.find(a=>a&&a.role==="assistant"&&(e.tool_call_id?K7(a).has(e.tool_call_id):zf(a)));return n?zf(n,{callId:e.tool_call_id}):null},yse=(e,t)=>{let r=K7(e);return t.some(n=>n&&n.role==="tool"&&n.tool_name===qu&&(!n.tool_call_id||r.size===0||r.has(n.tool_call_id)))};function so({messages:e,darkMode:t,tools:r,onUiAction:n,onEditMessage:a,onDeleteMessage:o,testIdPrefix:i}){let[l,s]=(0,Se.useState)({}),[u,c]=(0,Se.useState)(null),[d,f]=(0,Se.useState)(""),[p,v]=(0,Se.useState)(!1),[y,h]=(0,Se.useState)(null),m=A=>s(M=>({...M,[A]:!M[A]})),g={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},x=A=>i?`${i}-${A}`:void 0,b=A=>A.stopPropagation(),S=A=>{c(A.id),f(A.content||""),h(null)},w=()=>{c(null),h(null)},O=async A=>{if(!p){v(!0),h(null);try{await a(A,d),c(null)}catch(M){h(M.message||"Could not save the message")}finally{v(!1)}}},k=mse(e);return Se.default.createElement("div",{className:"space-y-3"},k.map(A=>{let M=gr(A.role,t),W=!!l[A.id],L=u===A.id,H=!!((a||o)&&["user","assistant"].includes(A.role)),D=A.role==="tool"&&A.tool_name===qu?gse(A,k):null,Y=A.role==="assistant"&&!L?OE(A.content):null,N=A.role==="assistant"&&!yse(A,k)?zf(A):null,_=U7(A)&&!W,z=fse(A)||U7(A),j=Vv(A.tool_arguments),P=Vv(A.tool_result)||Vv(A.content),B=A.tool_calls&&(!Array.isArray(A.tool_calls)||A.tool_calls.length>0)?Vv(A.tool_calls):null,R=A.role==="tool"?dse(A):null,F=A.tool_name?(r||[]).find(K=>K&&K.name===A.tool_name):null,G=A.role==="tool"?LE(A.tool_arguments):null,ee=A.role==="tool"&&!!G,fe=gr("assistant",t),de=gr("tool",t),De=A.role==="tool"&&!A.tool_arguments&&k.some(K=>K&&K.role==="assistant"&&(A.tool_call_id&&K.tool_call_id===A.tool_call_id||Array.isArray(K.tool_calls)&&K.tool_calls.some(I=>I.id&&I.id===A.tool_call_id))),le=A.role==="assistant"&&!V7(A.content)?H7(A):[],Te=O1(t);return Se.default.createElement("div",{key:A.id,className:"group","data-testid":i,"data-message-id":i?A.id:void 0,"data-role":i?A.role:void 0},Se.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${z?"cursor-pointer":""}`,onClick:z?()=>m(A.id):void 0,style:W?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},Se.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(ee?[fe,de]:[M]).map(K=>Se.default.createElement("span",{key:K.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:K.background,color:K.color,textAlign:"center"}},K.label))),Se.default.createElement("div",{className:"min-w-0 flex-1"},Se.default.createElement("div",{className:"text-sm break-words",style:{color:g.textPrimary}},L?Se.default.createElement("div",{className:"space-y-2",onClick:b},Se.default.createElement("textarea",{"data-testid":x("editor"),value:d,onChange:K=>f(K.target.value),onKeyDown:K=>{K.key==="Escape"&&w(),K.key==="Enter"&&(K.metaKey||K.ctrlKey)&&O(A)},rows:Math.min(12,Math.max(3,d.split(` +`).length)),autoFocus:!0,className:"aa-field w-full",style:{padding:"8px 10px",borderRadius:"8px",border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,background:t?"rgba(255,255,255,0.06)":"#ffffff",color:g.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"}}),Se.default.createElement("div",{className:"flex items-center gap-2 text-xs"},Se.default.createElement("button",{type:"button","data-testid":x("save"),onClick:()=>O(A),disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"#ef4444",color:"#ffffff",border:"none",cursor:p?"wait":"pointer",fontWeight:500}},p?"Saving\u2026":"Save"),Se.default.createElement("button",{type:"button","data-testid":x("cancel"),onClick:w,disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"transparent",color:g.textSecondary,border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,cursor:"pointer"}},"Cancel"),y&&Se.default.createElement("span",{style:{color:"#dc2626"}},y))):D?Se.default.createElement("div",null,Se.default.createElement("div",{className:"font-mono text-xs mb-1",style:{color:de.color}},"\u2699 ",A.tool_name," \xB7 ",D.length," block",D.length===1?"":"s"),Se.default.createElement(hs,{blocks:D,onAction:n,darkMode:t})):A.role==="tool"?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},G&&!De&&Se.default.createElement("span",{className:"font-mono text-xs break-words"},A.tool_name&&Se.default.createElement("span",{style:{color:de.color}},"\u2699 ",A.tool_name," "),Se.default.createElement("span",{style:{color:ee?fe.color:g.textMuted}},"in:")," ",Kv(G,180),G.length>180?"\u2026":""),R?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:g.textMuted}},"out:"),R.meta&&Se.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:g.textMuted}},R.meta),"\u201C",R.body.replace(/\s+/g," ").trim().slice(0,180),R.body.length>180?"\u2026":"","\u201D"):A.content?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:g.textMuted}},"out:"),"\u201C",Kv(A.content,180),A.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):Se.default.createElement("span",{className:"whitespace-pre-wrap"},A.tool_name?`\u2192 ${A.tool_name}(...)`:"\u2014")):_?Se.default.createElement("span",{style:{color:g.textSecondary}},Kv(A.content),"\u2026"):le.length>0?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},le.map((K,I)=>Se.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},K.name&&Se.default.createElement("span",{style:{color:g.textMuted}},K.name," "),Se.default.createElement("span",{style:{color:g.textMuted}},"in:")," ",K.args?Se.default.createElement(Se.default.Fragment,null,Kv(K.args,180),K.args.length>180?"\u2026":""):"\u2014"))):Y&&Y.blocks?Se.default.createElement(hs,{blocks:Y.blocks,onAction:n,darkMode:t}):Y&&Y.object?Se.default.createElement(hs,{blocks:[{type:"object",value:Y.object}],darkMode:t}):Se.default.createElement(_o,{text:A.content||"\u2014",darkMode:t,onUiAction:n}),N&&!L&&Se.default.createElement("div",{className:"mt-2"},Se.default.createElement(hs,{blocks:N,onAction:n,darkMode:t})),A.role==="user"&&Se.default.createElement(T1,{attachments:A.attachments,darkMode:t,testId:x("attachment")})),Se.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:g.textMuted}},H&&!L&&Se.default.createElement("span",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",onClick:b},a&&Se.default.createElement("button",{type:"button","data-testid":x("edit"),onClick:()=>S(A),className:"hover:underline",style:{color:g.textSecondary,background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Edit"),o&&Se.default.createElement("button",{type:"button","data-testid":x("delete"),onClick:()=>o(A),className:"hover:underline",style:{color:"#dc2626",background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Delete")),A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleTimeString()),A.tool_name&&A.role!=="tool"&&Se.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:M.background,color:M.color}},"\u2699 ",A.tool_name),A.duration_ms!=null&&Se.default.createElement("span",null,B7(A.duration_ms)),(A.tool_calls||[]).length>0&&Se.default.createElement("span",null,A.tool_calls.length," tool call",A.tool_calls.length>1?"s":""),A.content_checksum&&Se.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",A.content_checksum.slice(0,8)))),Se.default.createElement(vse,{message:A,darkMode:t}),z&&Se.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${W?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:g.textMuted}},Se.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),W&&Se.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},Se.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:g.textSecondary}},A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleString()),A.tool_call_id&&Se.default.createElement("span",null,"call: ",A.tool_call_id),A.duration_ms!=null&&Se.default.createElement("span",null,"took ",B7(A.duration_ms)),A.content_checksum&&Se.default.createElement("span",null,"\u{1F512} ",A.content_checksum)),j&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?fe.color:g.textMuted}},"Arguments",ee?" \xB7 from the agent":""),Se.default.createElement("pre",{style:Te},j)),R?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:g.textMuted}},"Result",ee?" \xB7 from the tool":""),Object.keys(R.rest).length>0&&Se.default.createElement("pre",{style:Te},JSON.stringify(R.rest,null,2)),Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:g.textMuted}},R.field," \xB7 ",R.body.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},R.body.slice(0,8e3),R.body.length>8e3?` \u2026`:"")):P?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:g.textMuted}},A.role==="tool"?"Result":"Content (parsed)"),Se.default.createElement("pre",{style:Te},P)):A.role==="tool"&&A.content?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:g.textMuted}},"Result",ee?" \xB7 from the tool":""," \xB7 ",A.content.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},A.content.slice(0,8e3),A.content.length>8e3?` -\u2026`:"")):null,B&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:g.textMuted}},"Requested tool calls"),Se.default.createElement("pre",{style:Te},B)),F&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:g.textMuted}},"Tool definition"),Se.default.createElement(IE,{tool:F,darkMode:t}))))}))}var st=te(ne());var Cr=te(ne());var Ir=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"}),q7=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function Gu({open:e,darkMode:t,size:r=14,style:n}){return Cr.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:Ir(t).textMuted,...n},"aria-hidden":"true"},Cr.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function T1({darkMode:e,id:t,children:r,style:n,className:a=""}){let o=Ir(e);return Cr.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${a}`,style:{backgroundColor:o.cardBg,borderColor:o.cardBorder,...n}},r)}var Y7=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Ir(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),hse=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 $f({lines:e,darkMode:t,onClick:r,indent:n=0,size:a="12px",style:o,max:i=200}){let[l,s]=Uf(),u=Ir(t),c=(e||[]).filter(d=>d&&d.text);return c.length===0?null:Cr.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:Fe.mono,fontSize:a,color:u.textSecondary,cursor:r?"pointer":"default",...o}},c.map((d,f)=>{let p=`${d.label}-${f}`,m=l(p),y=d.max||i,h=String(d.text).replace(/\s+/g," ").trim(),v=hse(d.text),g=v.json||h.length>60||h!==String(d.text).trim();return Cr.default.createElement("div",{key:p},Cr.default.createElement("div",{onClick:g?b=>{b.stopPropagation(),s(p)}:void 0,title:g?m?"Collapse":"Expand":void 0,style:{cursor:g?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0}},Cr.default.createElement("span",{style:{color:d.color||u.textMuted}},g?m?"\u25BE":"\u25B8":"\xA0"," ",d.label,":")," ",!m&&q7(h,y)),m&&Cr.default.createElement("pre",{onClick:b=>b.stopPropagation(),style:Y7(t,{wrap:!v.json})},v.text))}))}function qv({options:e,value:t,onChange:r,darkMode:n,label:a,style:o}){let i=Ir(n);return Cr.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:o},a&&Cr.default.createElement("span",{className:"text-xs mr-1",style:{color:i.textMuted}},a),e.map(l=>Cr.default.createElement("button",{key:l.id,type:"button",onClick:s=>{s.stopPropagation(),r(l.id)},title:l.hint,className:"px-2 py-0.5 text-xs rounded transition-colors",style:t===l.id?{background:i.controlActiveBg,color:i.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:i.textSecondary}},l.label)))}function G7({label:e,body:t,open:r,onToggle:n,darkMode:a,prose:o=!1,max:i=140}){let l=Ir(a);return Cr.default.createElement("div",null,Cr.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},Cr.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&Cr.default.createElement("span",{style:{color:l.textMuted}},q7(t,i))),r&&Cr.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:Y7(a,{wrap:o})},t))}function Uf(e={}){let[t,r]=(0,Cr.useState)(e),n=(0,Cr.useCallback)(o=>{r(i=>({...i,[o]:!i[o]}))},[]);return[(0,Cr.useCallback)(o=>!!t[o],[t]),n,r]}var LE={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},Z7=[{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"}],Er=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,BE=e=>{switch(e){case"root":return Ut.spans.root;case"prompt":return Ut.spans.prompt;case"generate":return Ut.spans.generate;case"llm":return Ut.spans.llm;case"thinking":return Ut.spans.thinking;case"tool":return Ut.spans.tool;case"response":return Ut.spans.response;default:return"-"}},xse=(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))},bse=(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))}},wse=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},Sse=(e,t)=>{if(!t.duration_ms)return Er(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${Er(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},Ase=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},X7=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,$E=e=>{let t=e.spans||[],r=o=>{for(let i of t){let l=(i.attributes||{})[o];if(l)return l}return null},n=r("llm.prompt");if(!n){let o=r("prompt.input.messages");if(o)try{n=[...JSON.parse(o)].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}},kse=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 o=null,i="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?o=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(o=t["tool.output.result"]||t["tool.result"],i="out",l="tool"),o!=null&&typeof o!="string"&&(o=JSON.stringify(o)),{input:r,output:o,inputLabel:n,inputTone:a,outputLabel:i,outputTone:l}},Nse=(e,t)=>{let r=kse(e),n=$E(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},Cse=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}),o=r("prompt.input.instructions")||r("llm.instructions");o&&a({role:"system",content:String(o)});let i=r("prompt.input.messages");if(i)try{JSON.parse(i).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"]=i}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}},UE=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 Ese({span:e,darkMode:t,tools:r=[]}){let[n,a]=Uf(),o=Ir(t),{messages:i,rest:l}=Cse(e),s=null,u=l["prompt.input.tools"];if(u)try{let p=typeof u=="string"?JSON.parse(u):u;Array.isArray(p)&&p.length>0&&(s=p,delete l["prompt.input.tools"])}catch{}let c=Object.entries(l).sort((p,m)=>X7(p[0])-X7(m[0])),d=i.length===1&&i[0].role==="tool"?i[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return st.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:o.panelBg,border:`1px solid ${o.cardBorder}`,fontFamily:Fe.mono,fontSize:"12px",color:o.textBody,cursor:"default"}},st.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},st.default.createElement("span",null,"duration: ",Er(e.duration)),st.default.createElement("span",null,"status: ",e.status||"OK"),wse(e)>0&&st.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),st.default.createElement("span",{style:{color:o.textMuted}},"span: ",e.span_id)),d&&st.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},st.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"\u2699 ",d.tool_name),f&&st.default.createElement(st.default.Fragment,null," ",st.default.createElement("span",{style:{color:gr("assistant",t).color}},"in:")," ",st.default.createElement("span",{style:{color:o.textBody}},f))),d.content&&st.default.createElement("div",{style:{fontSize:"12px"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"out:")," ",st.default.createElement("span",{style:{color:o.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),i.length>0&&!d&&st.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},st.default.createElement(so,{messages:i,darkMode:t,tools:s||r})),s&&st.default.createElement(jE,{tools:s,darkMode:t}),c.length>0&&st.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,m])=>{let y=p.match(/args|result|input|output/)?Ase(m):null,h=!y&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof m=="string"?m:null,v=y||h;if(!v)return st.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},st.default.createElement("span",{style:{color:o.textMuted}},p,":")," ",typeof m=="string"?m:JSON.stringify(m));let g=`${e.span_id}:${p}`;return st.default.createElement(G7,{key:p,label:p,body:v,prose:!y,darkMode:t,open:n(g),onToggle:()=>a(g)})})))}function _se({span:e,trace:t,darkMode:r,sort:n,longest:a,expanded:o,onToggle:i,tools:l}){let s=Ir(r),u=Object.keys(e.attributes||{}).length>0,c=o?null:Nse(e,t);return st.default.createElement(st.default.Fragment,null,st.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:o?s.hoverBg:void 0},onClick:u?()=>i():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},st.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},st.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},BE(e.type)),st.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),st.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:Fe.mono,color:s.textMuted}},Sse(e,t)),u&&st.default.createElement(Gu,{open:o,darkMode:r,size:13,style:{marginLeft:"2px"}})),st.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},st.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":LE[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}%`:`${xse(e.duration,a)}%`}})),c&&st.default.createElement($f,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:gr(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:gr(c.outputTone,r).color,max:160}]})),o&&st.default.createElement(Ese,{span:e,darkMode:r,tools:l}))}function FE({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:a=""}){let[o,i]=Uf(),l=Ir(t),s=bse(e?.spans,r),u=n||UE(e);if(s.length===0)return st.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 st.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${a}${d.span_id||f}`;return st.default.createElement(_se,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:o(p),onToggle:()=>i(p)})}))}var Ose=[{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"}],WE=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=Ro(n("prompt.input.instructions")||n("llm.instructions")),o=Ro(n("prompt.input.tools")||n("llm.tools")),i=Ro(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+=Ro(d)),f&&(l+=Ro(f))}l=Math.min(l,r.input);let s=Math.max(r.input-a-o-i-l,0);return{used:r.total,limit:Fv(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:o},{key:"mcp_schemas",label:"MCP tool schemas",tokens:i},{key:"output",label:"Generated output",tokens:r.output}]}},Tse=e=>{let t=0,r=[];(e?.spans||[]).forEach(o=>{(o.nested||0)!==0&&(o.type==="tool"?r.push(o):(o.type==="llm"||o.type==="generate")&&(t=Math.max(t,o.duration||0)))});let n=r.reduce((o,i)=>o+(i.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 Mse({trace:e,darkMode:t}){let r=Ir(t),{generation:n,tools:a,toolTotal:o,total:i,overhead:l}=Tse(e);if(n===0&&o===0||n/i>=.99&&o/i<.01)return null;let s=c=>`${(c/i*100).toFixed(c/i<.01?2:1)}%`,u=(c,d)=>We.default.createElement("div",{style:{width:`${Math.max(c/i*100,.4)}%`,background:d,height:"100%"}});return We.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},We.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),We.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(o,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Fe.mono,color:r.textBody}},We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",Er(n)," (",s(n),")"),We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",Er(o)," (",s(o),")"),l>0&&We.default.createElement("span",null,We.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",Er(l)," (",s(l),")")),a.length>0&&We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Fe.mono,color:r.textSecondary}},a.map((c,d)=>We.default.createElement("span",{key:d},c.name," ",Er(c.duration)," (",s(c.duration||0),")"))))}function Pse({trace:e,darkMode:t}){let[r,n]=(0,We.useState)(null),[a,o]=(0,We.useState)(!1),i=Ir(t);if((0,We.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),o(!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&&o(!0)),()=>{s=!1}},[e?.id]),a)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.bad}},"Couldn't load the conversation for this trace.");if(!r)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"Loading conversation\u2026");let l=r.instructions?[{id:`trace-${e.id}-system`,role:"system",content:r.instructions,created_at:r.created_at},...r.messages||[]]:r.messages||[];return l.length===0?We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"This trace predates content capture \u2014 no conversation to show."):We.default.createElement(so,{messages:l,darkMode:t,tools:UE(e)})}function Yv({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[a,o]=(0,We.useState)("spans"),[i,l]=(0,We.useState)("time"),s=Ir(t),u=(e?.spans||[]).length,c=WE(e),d=e?.tokens||{},f=(0,We.useCallback)(p=>o(n?p:"spans"),[n]);return e?We.default.createElement("div",null,We.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},We.default.createElement("div",{className:"flex items-center gap-1"},n&&We.default.createElement(qv,{options:Ose,value:a,onChange:f,darkMode:t}),We.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),a==="spans"&&u>0&&We.default.createElement(qv,{options:Z7,value:i,onChange:l,darkMode:t,label:"Sort"})),a==="conversation"?We.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},We.default.createElement(Pse,{trace:e,darkMode:t})):We.default.createElement(We.default.Fragment,null,i==="time"?We.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},We.default.createElement("span",null,"0ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),We.default.createElement("span",null,Er(e.duration_ms))):We.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),We.default.createElement(FE,{trace:e,darkMode:t,sort:i,keyPrefix:`${e.id||e.trace_id}:`})),c&&We.default.createElement("div",{className:"mt-3"},We.default.createElement(ys,{...c,label:"Context pressure",estimated:!0,darkMode:t})),We.default.createElement(Mse,{trace:e,darkMode:t}),!r&&We.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}},We.default.createElement("span",null,"Tokens:"),d.thinking>0&&We.default.createElement("span",{className:"text-amber-500",style:{fontFamily:Fe.mono}},"T:",d.thinking.toLocaleString()),We.default.createElement("span",{className:"text-blue-500",style:{fontFamily:Fe.mono}},"in:",(d.input||0).toLocaleString()),We.default.createElement("span",{className:"text-green-500",style:{fontFamily:Fe.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&We.default.createElement("span",{style:{fontFamily:Fe.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&We.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"}},We.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var Dse=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}`},Ise=e=>e==null?null:`$${e.toFixed(4)}`;function M1({trace:e,darkMode:t,expanded:r,onToggle:n}){let a=Ir(t),o=$E(e),i=WE(e),l=e.status!=="ERROR";return jr.default.createElement(T1,{darkMode:t,id:`trace-row-${e.id}`},jr.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},jr.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},jr.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:Fe.mono,background:a.controlBg,color:a.textSecondary}},"TRACE"),jr.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:Fe.mono,color:a.textMuted}},e.short_id),jr.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:a.textPrimary}},e.display_name)),jr.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:a.textSecondary}},e.model&&jr.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:Fe.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"},title:"Model that generated this trace"},e.model),i&&jr.default.createElement(ys,{compact:!0,...i,label:"Context",darkMode:t}),jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),Er(e.duration_ms)),jr.default.createElement("span",null,Dse(e.tokens)," tokens"),e.estimated_cost!=null&&jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),Ise(e.estimated_cost)),jr.default.createElement("span",{style:{color:l?a.good:a.bad}},jr.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR"),jr.default.createElement(Gu,{open:r,darkMode:t}))),!r&&jr.default.createElement($f,{darkMode:t,onClick:n,style:{padding:"0 16px 12px"},lines:[{label:"input",text:o.input,color:gr("user",t).color},{label:"output",text:o.output,color:gr("assistant",t).color}]}),r&&jr.default.createElement("div",{className:"border-t p-4",style:{borderColor:a.cardBorder,background:a.innerBg}},jr.default.createElement(Yv,{trace:e,darkMode:t})))}function Ge(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}function HE(e=""){window.history.pushState({},"",Ge(e))}function Xu(e=window.location.pathname){let t=(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"");return t&&(e===t||e.startsWith(`${t}/`))?e.slice(t.length)||"/":e}function Gv(e){if(!e)return;let t=Xu(e);HE(t),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(t)}}))}var Q7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],jse=3e4,zse=e=>{let t={};return e.forEach((r,n)=>{t[r]=Q7[n%Q7.length]}),t},Lse=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 o=t[a];o.count+=1,o.total+=n.duration||0,o.max=Math.max(o.max,n.duration||0),n.error&&(o.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},Bse=(e,t,r,n=60)=>{let a=Date.now(),o=[],i=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=a-(s+1)*i,c=a-s*i,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(m=>m.agent===p).length}),o.push({time:r>1440?new Date(c).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),timestamp:c,requests:d.length,errors:d.filter(p=>p.status==="ERROR").length,avgLatency:d.length>0?Math.round(d.reduce((p,m)=>p+(m.duration_ms||0),0)/d.length):0,traces:d,...f})}return o};function Zu({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,U.useState)([]),[o,i]=(0,U.useState)([]),[l,s]=(0,U.useState)({}),[u,c]=(0,U.useState)(!0),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(null),y=(0,U.useRef)(new URLSearchParams(window.location.search).get("trace")),[h,v]=(0,U.useState)(null),[g,b]=(0,U.useState)({status:"all",agent:"all",action:"all"}),[x,S]=(0,U.useState)("time"),[w,O]=(0,U.useState)(null),[k,A]=(0,U.useState)("timeline"),[M,W]=(0,U.useState)("popular"),{timeWindow:L}=Qo(),H=(0,U.useCallback)(async()=>{try{let C=e?`&agent=${encodeURIComponent(e)}`:"",T=await fetch(`/api/traces?minutes=${L.minutes}${C}`);if(!T.ok)throw new Error(`Request failed (${T.status})`);let X=await T.json();a(X.traces||[]),i(e?[e]:X.agents||[]),s(X.agent_ids||{}),f(null)}catch(C){f(C.message)}finally{c(!1)}},[L.minutes,e]);(0,U.useEffect)(()=>{H();let C=setInterval(H,jse);return()=>clearInterval(C)},[H]);let D=(0,U.useMemo)(()=>zse(o),[o]);(0,U.useEffect)(()=>{O(null)},[L.id]);let Y=(0,U.useMemo)(()=>Bse(n,o,L.minutes,L.bucketSeconds),[n,o,L]),N=Math.max(0,Math.ceil(Y.length/6)-1),_=(0,U.useMemo)(()=>{let C=n;if(w!==null){let T=Y[w];T&&(C=T.traces||[])}if(g.status!=="all"&&(C=C.filter(T=>g.status==="success"?T.status!=="ERROR":T.status==="ERROR")),g.agent!=="all"&&(C=C.filter(T=>T.agent===g.agent)),g.action!=="all")if(g.action.includes("#")){let[T,X]=g.action.split("#");C=C.filter($=>$.agent===T&&$.action===X)}else C=C.filter(T=>T.action===g.action);return x==="latency"&&(C=[...C].sort((T,X)=>(X.duration_ms||0)-(T.duration_ms||0))),h&&!C.some(T=>T.id===h.id)&&(C=[h,...C]),C},[n,w,Y,g,x,h]);(0,U.useEffect)(()=>{let C=y.current;if(!C)return;let T=$=>{y.current=null,m($.id),setTimeout(()=>{document.getElementById(`trace-row-${$.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},X=n.find($=>$.id===C||$.trace_id===C||$.short_id&&String(C).startsWith($.short_id));if(X){T(X);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(C)}`).then($=>$.ok?$.json():Promise.reject(new Error("not found"))).then(({trace:$})=>{v($),T($)}).catch(()=>{y.current=null})},[n]);let z=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};C.forEach($=>{$.agent&&(T[$.agent]||(T[$.agent]={agent:$.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),T[$.agent].count++,T[$.agent].totalDuration+=$.duration_ms||0,T[$.agent].cost+=$.estimated_cost||0,$.status==="ERROR"&&T[$.agent].errors++,$.tokens&&(T[$.agent].tokens.thinking+=$.tokens.thinking||0,T[$.agent].tokens.input+=$.tokens.input||0,T[$.agent].tokens.output+=$.tokens.output||0),$.action&&(T[$.agent].actions[$.action]=(T[$.agent].actions[$.action]||0)+1))});let X={popular:$=>$.count,longest:$=>$.totalDuration/($.count||1),cost:$=>$.cost,tokens:$=>($.tokens.input||0)+($.tokens.output||0)+($.tokens.thinking||0),errors:$=>$.errors}[M]||($=>$.count);return Object.values(T).sort(($,Ne)=>X(Ne)-X($)||Ne.count-$.count)},[n,Y,w,M]),j=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{if(!X.agent)return;let $=`${X.agent}#${X.action||"unknown"}`;T[$]||(T[$]={key:$,agent:X.agent,action:X.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),T[$].count++,T[$].totalDuration+=X.duration_ms||0,T[$].minDuration=Math.min(T[$].minDuration,X.duration_ms||0),T[$].maxDuration=Math.max(T[$].maxDuration,X.duration_ms||0),X.status==="ERROR"&&T[$].errors++,X.tokens&&(T[$].tokens.thinking+=X.tokens.thinking||0,T[$].tokens.input+=X.tokens.input||0,T[$].tokens.output+=X.tokens.output||0)}),Object.values(T).forEach(X=>{X.minDuration===1/0&&(X.minDuration=0)}),Object.values(T).sort((X,$)=>$.count-X.count)},[n,Y,w]),P=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{(X.spans||[]).forEach($=>{if($.type!=="tool")return;let Ne=$.attributes?.["tool.name"]||$.name?.replace(/^tool\./,"")||"unknown";T[Ne]||(T[Ne]={name:Ne,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),T[Ne].count++,T[Ne].totalDuration+=$.duration||0,T[Ne].maxDuration=Math.max(T[Ne].maxDuration,$.duration||0),$.error&&T[Ne].errors++,X.agent&&T[Ne].agents.add(`${X.agent}#${X.action||"unknown"}`)})}),Object.values(T).map(X=>({...X,agents:[...X.agents],avgDuration:X.count?X.totalDuration/X.count:0})).sort((X,$)=>$.totalDuration-X.totalDuration)},[n,Y,w]),B=(0,U.useMemo)(()=>g.agent==="all"?j.map(C=>C.key):j.filter(C=>C.agent===g.agent).map(C=>C.key),[g.agent,j]),R=(0,U.useMemo)(()=>Lse(_),[_]),F=C=>{if(C&&C.activeTooltipIndex!==void 0){let T=C.activeTooltipIndex;O(w===T?null:T),m(null)}},G=C=>(C?.input||0)+(C?.output||0)+(C?.thinking||0),ee=C=>{let T=C.count?C.errors/C.count:0;return[{label:`Calls ${L.label||""}`.trim(),value:C.count.toLocaleString()},{label:"Errors",value:`${(T*100).toFixed(1)}%`,tone:C.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(C.totalDuration/(C.count||1))}ms`},{label:"Tokens",value:G(C.tokens).toLocaleString()},{label:"Cost",value:fe(C.cost),title:"Estimated from token counts at this model's published rates",tone:C.cost?void 0:"muted"},{label:"Actions",value:(C.agents?.length||0).toLocaleString()}]},fe=C=>C?C<.01?"<$0.01":`$${C.toFixed(2)}`:"\u2014",de=U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},U.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),U.default.createElement("select",{value:M,onChange:C=>W(C.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"}},U.default.createElement("option",{value:"popular"},"Most calls"),U.default.createElement("option",{value:"longest"},"Longest average"),U.default.createElement("option",{value:"cost"},"Highest cost"),U.default.createElement("option",{value:"tokens"},"Most tokens"),U.default.createElement("option",{value:"errors"},"Most errors"))),De=C=>b(T=>({...T,agent:T.agent===C?"all":C})),le=C=>{let T=l[C];if(!T)return De(C);let X=Ge(`/agents/${T}`);window.history.pushState(window.history.state,"",X),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:X}}))},Te=C=>{let T=R[0]?.total||1,X=C?"rgba(0,0,0,0.3)":"white",$=C?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",Ne=C?"white":"#111827",E=C?"rgba(255,255,255,0.5)":"#6b7280",Z={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return U.default.createElement("div",{style:{padding:C?"0 24px 24px 24px":0}},U.default.createElement("div",{style:{background:X,border:$,borderRadius:"12px",padding:"16px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:Ne,marginBottom:"4px"}},"Slowest operations"),U.default.createElement("div",{style:{fontSize:"12px",color:E,marginBottom:"14px"}},"Span durations aggregated across ",_.length," trace",_.length===1?"":"s"," \u2014 ranked by total time"),R.length===0?U.default.createElement("div",{style:{fontSize:"13px",color:E,padding:"12px 0"}},"No spans in the current selection"):U.default.createElement("div",{style:{display:"grid",gap:"10px"}},R.map(ge=>U.default.createElement("div",{key:ge.name,style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("span",{style:{color:E}},BE(ge.type)),U.default.createElement("span",{style:{fontSize:"13px",color:ge.errors>0?"#ef4444":Ne,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},ge.name)),U.default.createElement("div",{style:{flex:1,height:"18px",background:C?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},U.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(ge.total/T*100,.5)}%`,background:Z[ge.type]||"#6366f1"}})),U.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:E,fontFamily:Fe.mono,textAlign:"right"}},ge.count,"\xD7 \xB7 avg ",Er(ge.avg)," \xB7 max ",Er(ge.max)," \xB7 \u03A3 ",Er(ge.total)))))))};if(u)return U.default.createElement("div",{className:"flex items-center justify-center h-64"},U.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let K={requests:Y.reduce((C,T)=>C+T.requests,0),errors:Y.reduce((C,T)=>C+T.errors,0),avgLatency:(()=>{let C=Y.filter(T=>T.requests>0);return C.length===0?0:Math.round(C.reduce((T,X)=>T+X.avgLatency,0)/C.length)})(),throughput:(Y.reduce((C,T)=>C+T.requests,0)/L.minutes).toFixed(1)},I=n.length===0;return r?U.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},U.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},U.default.createElement("div",null,!t&&U.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),U.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),style:{padding:"6px 12px",background:k===C?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},C))),!e&&U.default.createElement("select",{value:g.agent,onChange:C=>b({...g,agent:C.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"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.action,onChange:C=>b({...g,action:C.target.value}),style:{padding:"8px 12px",background:g.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:g.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.status,onChange:C=>b({...g,status:C.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"}},U.default.createElement("option",{value:"all"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:x,onChange:C=>S(C.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"}},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(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&&U.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),U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,style:{display:"flex",alignItems:"center",gap:"6px"}},U.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:T}}),U.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},C.replace("Agent","")))))),U.default.createElement("div",{style:{height:"150px"}},U.default.createElement($l,{width:"100%",height:"100%"},U.default.createElement(gs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.8}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.1})))),U.default.createElement(Yi,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),U.default.createElement(Qi,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:N}),U.default.createElement(Ri,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(rs,{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:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Xi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-${C})`}))))),U.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},K.requests),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},K.errors),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},K.avgLatency,"ms"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},K.throughput,"/min"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),k==="agents"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},de,U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px",whiteSpace:"nowrap"}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:g.agent===C.agent?"#ef4444":"inherit",font:"inherit"}},g.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},j.map(C=>{let T=g.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{b({...g,action:T?"all":C.key}),A("timeline")},style:{background:T?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:T?"1px solid #ef4444":`1px solid ${D[C.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:D[C.agent]}}),U.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},C.agent),U.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",C.action)),U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px"}},C.count," calls")),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),U.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),U.default.createElement("div",{style:{fontSize:"13px",color:C.errors>0?"#ef4444":"#10b981"}},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},G(C.tokens).toLocaleString()))))}))),k==="spans"&&Te(!0),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):_.map(C=>U.default.createElement(M1,{key:C.id,trace:C,darkMode:!0,expanded:p===C.id,onToggle:()=>m(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},U.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),U.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"))):U.default.createElement("div",{className:"space-y-6"},U.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},U.default.createElement("div",null,U.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),U.default.createElement("p",{className:"text-sm text-gray-500"},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},U.default.createElement(Jo,null),U.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${k===C?"bg-white shadow text-gray-900":"text-gray-600"}`},C))),U.default.createElement("select",{value:g.agent,onChange:C=>b({...g,agent:C.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"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.action,onChange:C=>b({...g,action:C.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${g.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.status,onChange:C=>b({...g,status:C.target.value}),className:"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"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:x,onChange:C=>S(C.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(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&&U.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),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},U.default.createElement("div",{className:"flex justify-between items-center mb-3"},U.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),U.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,className:"flex items-center gap-1.5"},U.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:T}}),U.default.createElement("span",{className:"text-xs text-gray-500"},C.replace("Agent","")))))),U.default.createElement("div",{className:"h-36"},U.default.createElement($l,{width:"100%",height:"100%"},U.default.createElement(gs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-light-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.6}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.05})))),U.default.createElement(Yi,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),U.default.createElement(Qi,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:N}),U.default.createElement(Ri,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(rs,{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:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Xi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-light-${C})`}))))),U.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-gray-900"},K.requests),U.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-red-500"},K.errors),U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-green-600"},K.avgLatency,"ms"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-amber-500"},K.throughput,"/min"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),k==="agents"&&U.default.createElement("div",null,de,U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},className:g.agent===C.agent?"text-red-600":"hover:text-gray-700"},g.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},j.map(C=>{let T=g.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{b({...g,action:T?"all":C.key}),A("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${T?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:D[C.agent],borderLeftWidth:T?"2px":"4px"}},U.default.createElement("div",{className:"flex items-center justify-between mb-3"},U.default.createElement("div",{className:"flex items-center gap-2"},U.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:D[C.agent]}}),U.default.createElement("span",{className:"font-semibold text-gray-900"},C.agent),U.default.createElement("span",{className:"text-gray-500"},"#",C.action)),U.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls")),U.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),U.default.createElement("div",{className:"font-medium"},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),U.default.createElement("div",{className:"text-gray-600"},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),U.default.createElement("div",{className:C.errors>0?"text-red-600":"text-green-600"},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("div",{className:"text-gray-600"},G(C.tokens).toLocaleString()))))})),k==="tools"&&(P.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.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"},U.default.createElement("div",{className:"flex-1"},"Tool"),U.default.createElement("div",{className:"w-20 text-right"},"Calls"),U.default.createElement("div",{className:"w-24 text-right"},"Total time"),U.default.createElement("div",{className:"w-20 text-right"},"Avg"),U.default.createElement("div",{className:"w-20 text-right"},"Slowest")),P.map(C=>{let T=P[0].totalDuration?C.totalDuration/P[0].totalDuration*100:0;return U.default.createElement("div",{key:C.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},U.default.createElement("div",{className:"flex items-center gap-4 text-sm"},U.default.createElement("div",{className:"flex-1 min-w-0"},U.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:C.name},C.name),C.agents.length>0&&U.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:C.agents.join(", ")},C.agents.join(", "))),U.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Fe.mono}},C.count.toLocaleString(),C.errors>0&&U.default.createElement("span",{className:"text-red-600 ml-1",title:`${C.errors} failed`},"(",C.errors,")")),U.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Fe.mono}},Er(C.totalDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.avgDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.maxDuration))),U.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},U.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(T,1)}%`}})))}))),k==="spans"&&Te(!1),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):_.map(C=>U.default.createElement(M1,{key:C.id,trace:C,darkMode:!1,expanded:p===C.id,onToggle:()=>m(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{className:"text-center py-12"},U.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),U.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=te(ne());var P1=te(ne());function VE({trace:e,darkMode:t,height:r=8}){let n=Ir(t);if(!e)return P1.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let a=e.spans||[],o=e.duration_ms||1,i=[...a].sort((l,s)=>(l.nested||0)-(s.nested||0));return P1.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},i.map((l,s)=>P1.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${Er(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/o*100,99)}%`,width:`${Math.max(l.duration/o*100,.8)}%`,background:l.error?"#ef4444":LE[l.type]||"#9ca3af"}})))}var $se=e=>{let t=null;if((e?.generations||[]).forEach(o=>{let i=o.tokens||{},l=(i.input||0)+(i.output||0);l>0&&(!t||l>t.total)&&(t={input:i.input||0,output:i.output||0,cached:i.cached||0,thinking:i.thinking||0,model:o.model,total:l})}),!t)return null;let r=Ro(e?.instructions),n=0;(e?.messages||[]).forEach(o=>{o.role==="tool"&&(n+=Ro(o.content)+Ro(o.tool_arguments))}),n=Math.min(n,t.input);let a=Math.max(t.input-r-n,0);return{used:t.total,limit:Fv(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}]}},J7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Use=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],Fse=[{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"}],Wse=3e4,rl=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),Hse=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 Vse({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:a}){let o=Ir(t),[i,l]=(0,ce.useState)(null),[s,u]=(0,ce.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,ce.useEffect)(()=>{if(!c)return;let m=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(y=>y.ok?y.json():Promise.reject(new Error("not found"))).then(({trace:y})=>m&&l(y)).catch(()=>m&&u(!0)),()=>{m=!1}},[c]);let f=!!i,p=(i?.spans||[]).length;return ce.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:o.hoverBg}:void 0},ce.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},ce.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:o.textSecondary}},ce.default.createElement("span",{title:e.cache_hit?`${rl(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?o.good:o.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&ce.default.createElement("span",{className:"text-amber-500",title:`${rl(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",rl(e.tokens.thinking)),ce.default.createElement("span",null,e.model||"unknown-model"),e.provider&&ce.default.createElement("span",null,e.provider),ce.default.createElement("span",{className:"text-blue-500"},"in:",rl(e.tokens.input)),ce.default.createElement("span",{className:"text-green-500"},"out:",rl(e.tokens.output)),e.finish_reason&&ce.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&ce.default.createElement("span",null,Er(d)),c&&ce.default.createElement("a",{href:Ge(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:o.link},className:"hover:underline",onClick:m=>m.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&ce.default.createElement("span",{style:{color:o.textMuted}},"trace unavailable")),ce.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?ce.default.createElement(VE,{trace:i,darkMode:t}):d>0?ce.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:o.trackBg}},ce.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:o.textMuted}},p," ",p===1?"span":"spans"),ce.default.createElement(Gu,{open:n,darkMode:t,size:12})))),n&&i&&ce.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:o.cardBg,borderColor:o.cardBorder}},ce.default.createElement(Yv,{trace:i,darkMode:t,compact:!0})))}function nl({agentId:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,ce.useState)([]),[o,i]=(0,ce.useState)(!0),[l,s]=(0,ce.useState)(null),[u,c]=(0,ce.useState)(null),[d,f]=(0,ce.useState)({}),{timeWindow:p}=Qo(),m=(0,ce.useCallback)(async()=>{try{let H=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!H.ok)throw new Error(`Request failed (${H.status})`);let D=await H.json();a(D.interactions||[]),s(null)}catch(H){s(H.message)}finally{i(!1)}},[p.minutes,e]);(0,ce.useEffect)(()=>{m();let H=setInterval(m,Wse);return()=>clearInterval(H)},[m]);let[y,h]=(0,ce.useState)("recent"),v=(0,ce.useMemo)(()=>{let H=[...new Set(n.map(D=>D.display_name).filter(Boolean))].sort();return Object.fromEntries(H.map((D,Y)=>[D,J7[Y%J7.length]]))},[n]),g=(0,ce.useMemo)(()=>{let H=n.reduce((Y,N)=>Y+(N.tokens?.total||0),0),D=new Set(n.map(Y=>Y.display_name).filter(Boolean));return{interactions:n.length,tokens:H,agents:D.size,avgTokens:n.length?Math.round(H/n.length):0}},[n]),b=(0,ce.useMemo)(()=>{if(n.length===0)return[];let H=Date.now(),D=p.bucketSeconds*1e3,Y=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),N=Object.keys(v);return Array.from({length:Y},(_,z)=>{let j=H-(Y-1-z)*D,P=j-D,B=n.filter(R=>{let F=new Date(R.last_activity_at).getTime();return F>=P&&F1440?new Date(j).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(j).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(N.map(R=>[R,B.filter(F=>F.display_name===R).length]))}})},[n,v,p]),x=Math.max(0,Math.ceil(b.length/6)-1),S=(0,ce.useCallback)(H=>{let D=[...H];switch(y){case"tokens":return D.sort((Y,N)=>(N.tokens?.total||0)-(Y.tokens?.total||0));case"messages":return D.sort((Y,N)=>(N.message_count||0)-(Y.message_count||0));default:return D.sort((Y,N)=>String(N.last_activity_at).localeCompare(String(Y.last_activity_at)))}},[y]),w=(0,ce.useMemo)(()=>{let H=new Map;n.forEach(Y=>{let N=Y.agent_name||Y.agent?.name||"Unattributed",_=Y.action_name,z=`${N}#${_||""}`;H.has(z)||H.set(z,{key:z,title:_?`${N} ${_.charAt(0).toUpperCase()}${_.slice(1)} Agent Interactions`:`${N} Interactions`,sessions:[],tokens:0,lastActivity:Y.last_activity_at});let j=H.get(z);j.sessions.push(Y),j.tokens+=Y.tokens?.total||0,Y.last_activity_at>j.lastActivity&&(j.lastActivity=Y.last_activity_at)});let D=[...H.values()].map(Y=>({...Y,sessions:S(Y.sessions)}));return y==="tokens"?D.sort((Y,N)=>N.tokens-Y.tokens):y==="messages"?D.sort((Y,N)=>N.sessions.length-Y.sessions.length):D.sort((Y,N)=>String(N.lastActivity).localeCompare(String(Y.lastActivity)))},[n,y,S]),O=async H=>{if(u===H){c(null);return}if(c(H),!d[H])try{let D=await fetch(`/api/interactions/${H}`);if(D.ok){let Y=await D.json();f(N=>({...N,[H]:Y.interaction}))}}catch{}},[k,A]=(0,ce.useState)({}),[M,W]=Uf(),L=Ir(r);return o?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:L.textPrimary}},"Interactions"),ce.default.createElement("p",{className:"text-sm mt-1",style:{color:L.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:L.textMuted}},"Sort"),Use.map(H=>ce.default.createElement("button",{key:H.id,onClick:()=>h(H.id),className:"px-2 py-1 text-xs rounded transition-colors",style:y===H.id?{background:r?"#2a2a2a":"#ffffff",color:L.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:L.textSecondary}},H.label))),ce.default.createElement(Jo,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:L.cardBg,borderColor:L.cardBorder}},ce.default.createElement("div",{className:"flex items-center justify-between mb-3"},ce.default.createElement("h3",{className:"text-sm font-semibold",style:{color:L.textPrimary}},"Interactions over time"),ce.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(v).map(([H,D])=>ce.default.createElement("span",{key:H,className:"flex items-center gap-1.5 text-xs",style:{color:L.textSecondary}},ce.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:D}}),H)))),ce.default.createElement("div",{className:"h-32"},ce.default.createElement($l,{width:"100%",height:"100%"},ce.default.createElement(gs,{data:b},ce.default.createElement("defs",null,Object.entries(v).map(([H,D])=>ce.default.createElement("linearGradient",{key:H,id:`ix-gradient-${H.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},ce.default.createElement("stop",{offset:"5%",stopColor:D,stopOpacity:.6}),ce.default.createElement("stop",{offset:"95%",stopColor:D,stopOpacity:.05})))),ce.default.createElement(Yi,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),ce.default.createElement(Qi,{dataKey:"time",stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,interval:x}),ce.default.createElement(Ri,{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(rs,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${L.cardBorder}`,borderRadius:"8px"},labelStyle:{color:L.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(v).map(([H,D])=>ce.default.createElement(Xi,{key:H,type:"monotone",dataKey:H,stackId:"1",stroke:D,strokeWidth:2,fill:`url(#ix-gradient-${H.replace(/\W/g,"-")})`}))))),ce.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:L.cardBorder}},[{label:"Interactions",value:g.interactions.toLocaleString()},{label:"Agents",value:g.agents.toLocaleString()},{label:"Total tokens",value:rl(g.tokens)},{label:"Avg / interaction",value:rl(g.avgTokens)}].map(H=>ce.default.createElement("div",{key:H.label},ce.default.createElement("div",{className:"text-lg font-bold",style:{color:L.textPrimary}},H.value),ce.default.createElement("div",{className:"text-xs",style:{color:L.textSecondary}},H.label))))),n.length===0?ce.default.createElement("div",{className:"text-center py-12"},ce.default.createElement("div",{className:"text-lg",style:{color:L.textMuted}},"No interactions in the last ",p.label),ce.default.createElement("p",{className:"text-sm mt-2",style:{color:L.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):ce.default.createElement("div",{className:"space-y-8"},w.map(H=>ce.default.createElement("div",{key:H.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:L.textPrimary}},H.title),ce.default.createElement("span",{className:"text-xs",style:{color:L.textMuted}},H.sessions.length," ",H.sessions.length===1?"interaction":"interactions",H.tokens>0&&` \xB7 ${rl(H.tokens)} tokens`)),H.sessions.map(D=>{let Y=d[D.id],N=u===D.id,_=k[D.id]||"conversation";return ce.default.createElement(T1,{key:D.id,darkMode:r,className:"shadow-sm"},ce.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:()=>O(D.id),style:N?{background:L.hoverBg}:void 0},ce.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},D.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:L.textPrimary}},D.display_name),D.agent&&ce.default.createElement("span",{className:"text-sm truncate",style:{color:L.textSecondary}},D.agent.name),D.service_name&&ce.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:L.textMuted}},D.service_name)),ce.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:L.textSecondary}},ce.default.createElement("span",null,D.message_count>0?`${D.message_count} messages`:`${D.tool_count||0} tool ${D.tool_count===1?"call":"calls"}`),ce.default.createElement("span",null,rl(D.tokens?.total)," tokens"),(D.tokens?.total||0)>0&&ce.default.createElement(ys,{compact:!0,darkMode:r,label:"Context",used:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total,limit:Fv(D.model),segments:[{key:"messages",label:"Context",tokens:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total}]}),ce.default.createElement("span",{style:{color:L.textMuted}},Hse(D.last_activity_at)),ce.default.createElement(Gu,{open:N,darkMode:r}))),!N&&ce.default.createElement($f,{darkMode:r,onClick:()=>O(D.id),style:{padding:"0 16px 12px"},lines:[{label:"input",text:D.preview?.input,color:gr("user",r).color},{label:"output",text:D.preview?.output,color:gr("assistant",r).color}]}),N&&ce.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:L.cardBorder,background:L.innerBg}},Y?ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},ce.default.createElement(qv,{options:Fse,value:_,onChange:z=>A(j=>({...j,[D.id]:z})),darkMode:r}),ce.default.createElement("span",{className:"text-xs",style:{color:L.textSecondary}},Y.messages.length," ",Y.messages.length===1?"message":"messages",Y.generations.length>0&&` \xB7 ${Y.generations.length} ${Y.generations.length===1?"generation":"generations"}`)),_==="conversation"&&ce.default.createElement(ce.default.Fragment,null,Y.messages.length===0&&ce.default.createElement("div",{className:"text-sm",style:{color:L.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(so,{darkMode:r,messages:Y.instructions?[{id:`ctx-${D.id}-system`,role:"system",content:Y.instructions,created_at:D.created_at},...Y.messages]:Y.messages}),(()=>{let z=$se(Y);return z?ce.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:L.cardBorder}},ce.default.createElement(ys,{...z,label:"Context pressure",estimated:!0,darkMode:r})):null})()),_==="spans"&&(Y.generations.length===0?ce.default.createElement("div",{className:"text-sm",style:{color:L.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):ce.default.createElement("div",{className:"space-y-2"},Y.generations.map(z=>ce.default.createElement(Vse,{key:z.id,generation:z,darkMode:r,maxMs:Math.max(...Y.generations.map(j=>(j.duration_seconds||0)*1e3),1),expanded:M(`${D.id}:${z.id}`),onToggle:()=>W(`${D.id}:${z.id}`)}))))):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=te(ne());function e$(e,t){let r=i=>{let l=Object.values(t[i]||{})[0];if(!l)return null;let s=l.scenario||l;return{key:i,prompt:s.prompt,group:s.group??null,notes:s.notes??null,expectations:s.expectations||{},position:s.position}},n=new Set(e.map(i=>i.key)),a=e.map(i=>{let l=r(i.key);if(!l)return i;let s=["prompt","group","notes","expectations"].some(u=>JSON.stringify(i[u]??null)!==JSON.stringify(l[u]??null));return{...i,...l,catalogChanged:s}}),o=Object.keys(t).filter(i=>!n.has(i)).map(i=>({...r(i),id:null,enabled:!1,orphan:!0}));return[...a,...o]}var R7=e=>/^[1-9]\d*$/.test(e||"")?e:null;function D1(e){let t=new URLSearchParams(e),r=R7(t.get("evaluation"));return r?{evaluationId:r,runId:R7(t.get("run"))}:null}async function t$(e,t,r){if(!t||e.some(o=>String(o.id)===String(t)))return e;let n=await r(`/api/evaluations/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`Requested evaluation is unavailable (HTTP ${n.status})`);let a=await n.json();if(!a.evaluation)throw new Error("Requested evaluation is unavailable");return[a.evaluation,...e]}var Pe=te(ne());var Gt=te(ne());var ye="var(--font-mono)",Qu=e=>e>=1?"success":e>=.7?"warning":"error",al={success:{strong:"var(--color-success)",soft:"var(--color-success-soft)",text:"var(--color-success-text)"},warning:{strong:"var(--color-warning)",soft:"var(--color-warning-soft)",text:"var(--color-warning-text)"},error:{strong:"var(--color-error)",soft:"var(--color-error-soft)",text:"var(--color-error-text)"},info:{strong:"var(--color-info)",soft:"var(--color-info-soft)",text:"var(--color-info-text)"},muted:{strong:"var(--color-text-muted)",soft:"var(--color-muted)",text:"var(--color-text-secondary)"},accent:{strong:"var(--color-accent-ui)",soft:"var(--color-accent-ui-tint)",text:"var(--color-accent-ui)"}},KE={object:"=",sample:"~",pass:Ut.success,fault:Ut.error,info:Ut.info,on:"[x]",off:"[ ]",link:Ut.arrow,chevron:Ut.chevronRight};function Ju({kind:e="pass",open:t=!1,color:r,size:n=12,weight:a=700,style:o,title:i}){return e==="chevron"?Gt.default.createElement("span",{className:"aa-chevron","data-open":t?"true":"false",title:i,style:{fontFamily:ye,fontSize:n,color:r||"var(--color-text-muted)",flexShrink:0,...o}},KE.chevron):Gt.default.createElement("span",{title:i,style:{fontFamily:ye,fontSize:n,fontWeight:a,color:r||(e==="fault"?"var(--color-error)":e==="info"?"var(--color-info)":e==="pass"?"var(--color-success)":"var(--color-text-muted)"),flexShrink:0,...o}},KE[e]||e)}function or({tone:e="muted",size:t=11,children:r,title:n,style:a,testId:o}){let i=al[e]||al.muted;return Gt.default.createElement("span",{"data-testid":o,title:n,style:{display:"inline-flex",alignItems:"center",padding:"2px 7px",borderRadius:4,fontFamily:ye,fontSize:t,fontWeight:600,whiteSpace:"nowrap",background:i.soft,color:i.text,...a}},r)}function rt({children:e,size:t=11,color:r="var(--color-text-secondary)",spacing:n="0.06em",style:a,as:o="span"}){return Gt.default.createElement(o,{style:{fontFamily:ye,fontSize:t,fontWeight:600,letterSpacing:n,textTransform:"uppercase",color:r,...a}},e)}function ol({selected:e=!1,onClick:t,children:r,square:n=!1,mono:a=!1,title:o,style:i,testId:l}){return Gt.default.createElement("button",{type:"button","data-testid":l,onClick:t,title:o,style:{padding:"4px 10px",borderRadius:n?6:999,cursor:t?"pointer":"default",fontFamily:a?ye:"inherit",fontSize:a?11:12,fontWeight:a?400:500,background:e?"var(--color-accent-ui-tint)":"var(--color-card)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border)"}`,color:e?"var(--color-accent-ui)":a?"var(--color-text-muted)":"var(--color-text-cell)",...i}},r)}function I1({options:e,value:t,onChange:r,style:n}){return Gt.default.createElement("div",{style:{display:"flex",gap:4,...n},role:"group"},e.map(a=>{let o=a.value===t;return Gt.default.createElement("button",{key:a.value,type:"button",onClick:()=>r(a.value),"aria-pressed":o,style:{padding:"6px 12px",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:500,background:"var(--color-card)",border:`1px solid ${o?"var(--color-accent-ui)":"var(--color-border)"}`,color:o?"var(--color-accent-ui)":"var(--color-text-cell)"}},a.label)}))}function zr({variant:e="secondary",size:t="md",children:r,onClick:n,disabled:a=!1,title:o,type:i="button",style:l,testId:s}){let c={padding:t==="sm"?"6px 12px":"8px 14px",borderRadius:8,cursor:a?"not-allowed":"pointer",fontSize:13,fontWeight:500,opacity:a?.5:1,whiteSpace:"nowrap",fontFamily:"inherit"},d={primary:{background:"var(--color-accent-ui)",color:"var(--color-on-accent)",border:"1px solid transparent"},secondary:{background:"transparent",color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)"},danger:{background:"transparent",color:"var(--color-error)",border:"1px solid transparent"},ghost:{background:"transparent",color:"var(--color-text-secondary)",border:"1px solid transparent"}};return Gt.default.createElement("button",{type:i,"data-testid":s,onClick:n,disabled:a,title:o,style:{...c,...d[e]||d.secondary,...l}},r)}function yr({children:e,padding:t=20,style:r,className:n,testId:a,...o}){return Gt.default.createElement("div",{"data-testid":a,className:n,style:{background:"var(--color-card)",border:"1px solid var(--color-border)",borderRadius:12,padding:t,...r},...o},e)}function Xv({label:e,value:t,sub:r,valueColor:n,valueSize:a=32,testId:o}){return Gt.default.createElement(yr,{testId:o},Gt.default.createElement(rt,{size:11,spacing:"0.05em"},e),Gt.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:a,fontWeight:700,lineHeight:1.1,color:n||"var(--color-text-primary)"}},t),r!=null&&Gt.default.createElement("div",{style:{marginTop:8,fontSize:13,color:"var(--color-text-secondary)"}},r))}function qE({title:e,meta:t,children:r,style:n,testId:a,bodyStyle:o}){return Gt.default.createElement("div",{"data-testid":a,style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0,...n}},(e||t)&&Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--color-muted)"}},e&&Gt.default.createElement(rt,null,e),t&&Gt.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t)),Gt.default.createElement("div",{style:o},r))}function r$({passed:e,total:t,label:r,labelWidth:n=128,width:a,height:o=6,color:i,valueWidth:l=38,style:s}){let u=t?e/t:0,c=i||al[Qu(u)].strong;return Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,...s}},r!=null&&Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)",width:n,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r},r),Gt.default.createElement("span",{style:{flex:a?void 0:1,width:a,height:o,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0}},Gt.default.createElement("span",{style:{display:"block",width:`${Math.round(u*100)}%`,height:"100%",borderRadius:999,background:c}})),Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,width:l,textAlign:"right",color:c}},e,"/",t))}function Ff({children:e,onClick:t,href:r="#",color:n="var(--color-info)",size:a=11,style:o,title:i}){return Gt.default.createElement("a",{href:r,title:i,onClick:l=>{t&&(l.preventDefault(),t(l))},style:{fontFamily:ye,fontSize:a,color:n,textDecoration:"none",...o}},e," ",KE.link)}function aa({children:e,style:t}){return Gt.default.createElement("div",{style:{padding:"20px 12px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)",textAlign:"center",...t}},e)}var hr=e=>{let t=Number(e)||0;return Math.abs(t)>=1e6?`${(t/1e6).toFixed(1)}M`:Math.abs(t)>=1e3?`${(t/1e3).toFixed(1)}K`:`${Math.round(t)}`},YE=e=>e==null?"\u2014":hr(e),Qr=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(t>=1e4?1:2).replace(/\.?0+$/,"")}s`:`${Math.round(t)}ms`},Zv=e=>{if(e==null)return"\u2014";let t=Number(e);return t===0?"$0.00":Math.abs(t)<.01?`$${t.toFixed(4)}`:`$${t.toFixed(2)}`},uo=(e,t=4)=>e==null?"\u2014":`$${Number(e).toFixed(t)}`,n$=(e,t=0)=>`${(Number(e||0)*100).toFixed(t)}%`,Ru=e=>e==null?"\u2014":Number(e).toFixed(2),Wf=(e,t="%",r=0)=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let n=Number(e);return`${n>0?"+":n<0?"-":""}${Math.abs(n).toFixed(r)}${t}`},Hf=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t} min ago`;if(t<1440){let n=Math.floor(t/60);return`${n} hour${n===1?"":"s"} ago`}let r=Math.floor(t/1440);return`${r} day${r===1?"":"s"} ago`},j1=(e,t=null)=>{let r=String(e||""),n=r.lastIndexOf("/");return n>0?{short:r.slice(n+1),provider:r.slice(0,n)}:{short:r,provider:t||""}};var se=te(ne());var xs=e=>[...new Set(e)],Xt=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Qv=e=>String(e||"").replace(/_/g," "),bs=e=>e?.status==="passed",ec=e=>!!e&&e.status!=="pending",ws=e=>!!e&&["pending","running"].includes(e.status),L1=e=>e?.selection||e?.scores?._selection||{},Kse=e=>(L1(e).models||[]).map(t=>typeof t=="string"?t:t?.label).filter(Boolean);function z1(e,t=[],r=null){if(Array.isArray(e?.models)&&e.models.length)return e.models;let n=Object.keys(e?.scores?._models||{});if(n.length)return n;let a=Kse(e);if(a.length)return a;let o=xs(t.map(l=>Rv(e,l)));if(o.length)return o;let i=r?.compare_models||[];return i.length?i:e?["agent's model"]:[]}function Rv(e,t){let n=(L1(e).models||[]).filter(i=>i&&typeof i=="object").find(i=>i.model===t.model&&(i.provider||"")===(t.provider||""));if(n?.label)return n.label;let a=e?.scores?._models||{};if(a[t.model])return t.model;let o=[t.provider,t.model].filter(Boolean).join("/");return a[o]?o:t.model}function XE(e,t){let r=e?.scores?._models?.[t],n=(L1(e).models||[]).find(a=>a&&typeof a=="object"&&a.label===t);return j1(t,r?.provider||n?.provider||"")}function ZE(e,t=[]){let r=L1(e);if(Array.isArray(r.scenario_keys)&&r.scenario_keys.length)return r.scenario_keys;if(!e)return[];if(Array.isArray(r.keys)&&r.keys.length)return r.keys;if(Array.isArray(r.scenario_ids)&&r.scenario_ids.length){let a=r.scenario_ids.map(String);return t.filter(o=>a.includes(String(o.id))).map(o=>o.key)}let n=t.filter(a=>a.enabled!==!1);return r.group?n.filter(a=>a.group===r.group).map(a=>a.key):ws(e)?n.map(a=>a.key):[]}function Jv(e,t=[],r=[]){let n=ZE(e,r);if(n.length)return n.length;let a=Object.values(e?.scores?._models||{});return a.length?Math.max(...a.map(o=>o.scenarios||0)):e?.samples_evaluated&&t.length?Math.round(e.samples_evaluated/t.length):0}function a$(e,t,r=[],n=0){let a=e?.scores?._models?.[t];if(a&&a.scenarios!=null)return{passed:a.passed||0,total:a.scenarios||0};let o=r.filter(i=>Rv(e,i)===t);return{passed:o.filter(bs).length,total:n||o.length}}function QE(e,t=[],r=[],n=[]){if(e?.status==="complete"&&e.samples_evaluated!=null)return{passed:e.samples_passed||0,total:e.samples_evaluated||0};let a=Jv(e,r,n)*Math.max(r.length,1);return{passed:t.filter(bs).length,total:a}}function o$(e,t=[]){let r=[],n={};return(Array.isArray(e)?e:[]).forEach(a=>{let o=typeof a=="string"?a:String(a?.name||"");o&&(n[o]||(n[o]={name:o,count:0,errored:!1},r.push(o)),n[o].count+=1,a&&typeof a=="object"&&a.error&&(n[o].errored=!0))}),r.map(a=>{let o=n[a],i=t.includes(a);return{...o,hit:i,label:`${a}${o.errored?" \u2717":""}${o.count>1?` \xD7${o.count}`:""}`,color:o.errored?"var(--color-error)":i?"var(--color-success-text)":"var(--color-text-muted)",weight:o.errored||i?600:400}})}var qse=(e,t)=>{let r=String(e||"").trim();return r.length>t?`${r.slice(0,t-1)}\u2026`:r},GE=e=>e?.diagnosis?.judge?.instruction_change;function i$(e,t=[]){let r=e?.scores?._recommendations||[];if(Array.isArray(e?.fix_items)){let o=r.length>0||t.some(GE);if(e.fix_items.length>0||!o)return e.fix_items}let n=r.map(o=>Yse(o,t)),a=new Set;return t.forEach(o=>{let i=GE(o);if(!i||a.has(i))return;a.add(i);let l=t.filter(s=>GE(s)===i);n.push({kind:"instruction",fault:"instruction change",count:l.length,scenario_keys:xs(l.map(s=>s.scenario_key)),models:xs(l.map(s=>Rv(e,s))),recommendation:o.diagnosis.judge.recommendation||o.recommendation||"",quote:i,tools_label:null,tools:[],server:null,note:null,action:{label:"Add to instructions",hint:"Agent -> Instructions",path:null}})}),n}function Yse(e,t){let r=e.fault,n=t.filter(u=>u.fault===r),a=(e.suggested_tools||[]).map(u=>typeof u=="string"?u:u?.name).filter(Boolean),o=null,i=[],l=null,s=null;if(r==="expected_tool_not_called"){o="missing tools";let u=xs(n.flatMap(d=>d.diagnosis?.evidence?.unavailable||[]));u.length||(u=xs(n.flatMap(d=>{let f=d.diagnosis?.evidence||{};return(f.expected||[]).filter(p=>!(f.called||[]).includes(p))}))),i=u.map(d=>({name:d,note:null,server:null}));let c=n.filter(d=>d.diagnosis?.summary&&(d.diagnosis?.evidence?.unavailable||[]).length===0);c.length&&c.length`${d.scenario_key} is the exception: ${d.diagnosis.summary} ${d.diagnosis.recommendation||""}`.trim()).join(" "))}else if(r==="tool_error"){o="failing tools";let u={};n.forEach(c=>(c.tool_calls||[]).forEach(d=>{!d||typeof d!="object"||!d.error||!d.name||u[d.name]||(u[d.name]={name:d.name,note:qse(d.detail,60)||null,server:null})})),i=Object.values(u),s={label:"Open failing tools",hint:"Tools ->",path:"/tools"}}else o=a.length?"suggested tools":null,i=xs(a).map(u=>({name:u,note:null,server:null}));return!s&&o==="suggested tools"&&i.length&&(s={label:"Open suggested tools",hint:"Tools ->",path:"/tools"}),{kind:"fault",fault:r,count:e.count||n.length,scenario_keys:e.scenario_keys||xs(n.map(u=>u.scenario_key)),models:e.models||[],recommendation:e.recommendation||"",quote:null,tools_label:o,tools:i,server:null,note:l,action:s}}var un=(e,t="var(--color-text-muted)",r={})=>({fontFamily:ye,fontSize:e,color:t,...r});function l$({calls:e,empty:t,style:r}){return se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"2px 8px",fontFamily:ye,fontSize:11,...r}},e.map(n=>se.default.createElement("span",{key:n.name,style:{color:n.color,fontWeight:n.weight}},n.label)),e.length===0&&se.default.createElement("span",{style:{color:"var(--color-text-muted)"}},t))}var Gse=20,B1=(e=[],t=null)=>Number.isFinite(t)?Math.max(t,e.length):e.length,Xse=(e=[],t=null)=>{let r=B1(e,t),n=e.length=Gse;return`${Xt(r,"run")}${n?` \xB7 latest ${e.length}`:""}`};function s$({runs:e,runCount:t=null,selectedId:r,onSelect:n,agentName:a,selectedResults:o=[],scenarios:i=[]}){let l=B1(e,t),s=c=>l-c,u=e.map((c,d)=>{let f=z1(c,c.id===r?o:[]),p=c.id===r?o:[],m=Jv(c,f,i),y=QE(c,p,f,i),h=c.selection||c.scores?._selection||{},v="first run",g="var(--color-text-muted)";if(c.status==="failed")v="failed",g="var(--color-error)";else if(ws(c))v=c.status==="pending"?"queued":"running";else{let b=e.findIndex((S,w)=>w>d&&S.status==="complete"),x=b>=0?e[b]:null;if(x){let S=z1(x);if(Jv(x,S,i)===m&&S.length===f.length){let O=y.passed-(x.samples_passed||0);v=`${O>0?"+":""}${O} passed vs #${s(b)}`,g=O>0?"var(--color-success)":O<0?"var(--color-error)":"var(--color-text-muted)"}else v="partial run"}}return{run:c,label:`#${s(d)}`,when:Hf(c.completed_at||c.created_at),delta:v,deltaColor:g,note:`${a} \xB7 ${Xt(m,"scenario")} \xD7 ${Xt(f.length,"model")}${h.group?` \xB7 ${h.group}`:""}`,bars:f.map(b=>({label:b,...a$(c,b,p,m)})),selected:c.id===r}});return se.default.createElement(qE,{title:"Runs",meta:Xse(e,t),testId:"suite-runs-panel"},u.length===0&&se.default.createElement(aa,null,"[ ] no runs yet"),u.map(c=>se.default.createElement("div",{key:c.run.id,onClick:()=>n(c.run.id),className:c.selected?void 0:"hover:bg-[var(--color-hover)]","data-selected":c.selected?"true":"false",style:{padding:"10px 12px 10px 10px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:c.selected?"var(--color-muted)":void 0,borderLeft:`2px solid ${c.selected?"var(--color-accent-ui)":"transparent"}`}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},c.label),se.default.createElement("span",{style:{fontSize:11,color:"var(--color-text-muted)"}},c.when),se.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:c.deltaColor}},c.delta)),se.default.createElement("div",{style:{...un(11),marginTop:2,textWrap:"pretty"}},c.note),c.bars.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8}},c.bars.map(d=>se.default.createElement(r$,{key:d.label,label:j1(d.label).short,passed:d.passed,total:d.total}))))))}function u$({run:e,columns:t,results:r=[],scenarioCount:n=0,judgedBy:a,verdict:o}){let i=e?.scores?._models||{};return se.default.createElement(qE,{title:"Models",meta:a?`judged by ${a}`:null,testId:"suite-models-panel"},t.length===0&&se.default.createElement(aa,null,"[ ] no models scored yet"),t.map(l=>{let{short:s,provider:u}=XE(e,l),c=i[l],{passed:d,total:f}=a$(e,l,r,n),p=f?d/f:0,m=al[Qu(p)].strong,y=Object.entries(c?.faults||{}),h=o?.winner===l;return se.default.createElement("div",{key:l,style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:l},s),u&&se.default.createElement("span",{style:un(11)},u),h&&se.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"},testId:"judges-pick"},"judge's pick"),se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10}},se.default.createElement("span",{style:{width:120,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},se.default.createElement("span",{style:{display:"block",width:`${Math.round(p*100)}%`,height:"100%",borderRadius:999,background:m}})),se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:m}},`${d}/${f}`))),se.default.createElement("div",{style:{display:"flex",gap:14,flexWrap:"wrap",fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)"}},se.default.createElement("span",null,"score ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},c?.avg_score!=null?Number(c.avg_score).toFixed(3):"\u2014")),se.default.createElement("span",null,"latency ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},Qr(c?.avg_duration_ms))),se.default.createElement("span",{style:{whiteSpace:"nowrap"}},se.default.createElement("span",{style:{color:"var(--color-token-in)"}},"in")," ",YE(c?.input_tokens)," \xB7 ",se.default.createElement("span",{style:{color:"var(--color-token-out)"}},"out")," ",YE(c?.output_tokens)),se.default.createElement("span",null,"cost ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},uo(c?.cost)))),se.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap"}},y.map(([v,g])=>se.default.createElement(or,{key:v,tone:"error"},`${Qv(v)} \xD7${g}`)),c&&y.length===0&&se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-success-text)"}},"[+] no faults"),!c&&ws(e)&&se.default.createElement("span",{style:un(11)},"scoring\u2026")))}),o?.rationale&&se.default.createElement("div",{style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),o.rationale))}function c$({items:e,columns:t=[],agentName:r,onNavigate:n,onOpenScenario:a}){let o=i=>{let l=Xt((i.scenario_keys||[]).length,"scenario");if(i.kind==="instruction")return`${(i.scenario_keys||[]).join(", ")} \xB7 judge suggestion`;let s=xs(i.models||[]);if(t.length<=1||s.length===0)return l;let c=s.length>=t.length?t.length===2?"both models":"all models":s.map(d=>j1(d).short).join(", ");return`${l} \xB7 ${c}`};return se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},e.map((i,l)=>{let s=i.kind==="instruction",u=s?"info":"error",c=[],d=new Set;(i.tools||[]).forEach(y=>{let h=typeof y=="string"?y:y?.name;!h||d.has(h)||(d.add(h),c.push({name:h,note:typeof y=="object"&&(y.note||y.server?.name)||null}))});let f=i.server,p=f?.status==="enabled",m=r||"the agent";return se.default.createElement("div",{key:`${i.fault}-${l}`,"data-testid":"scenario-recommendation",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},se.default.createElement(Ju,{kind:s?"info":"fault"}),se.default.createElement(or,{tone:u},`${Qv(i.fault)}${i.count>1?` \xD7${i.count}`:""}`),a&&(i.scenario_keys||[]).length>0?se.default.createElement("button",{type:"button",onClick:()=>a(i.scenario_keys),title:`Show ${(i.scenario_keys||[]).join(", ")} \u2014 the question, the answer and the tools it called`,style:{...un(11),background:"none",border:0,padding:0,cursor:"pointer",color:"var(--color-text-link, var(--color-text-primary))",textDecoration:"underline",textUnderlineOffset:2}},o(i)):se.default.createElement("span",{style:un(11)},o(i))),i.recommendation&&se.default.createElement("p",{style:{margin:0,fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},i.recommendation),i.quote&&se.default.createElement("div",{style:{background:"var(--color-muted)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",fontStyle:"italic"}},"\u201C",i.quote,"\u201D"),c.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},i.tools_label||"tools"),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:6}},c.map(y=>se.default.createElement("span",{key:y.name,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,maxWidth:"100%"}},se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},y.name),y.note&&se.default.createElement("span",{style:{color:"var(--color-text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:y.note},y.note))))),f&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",fontSize:12,color:"var(--color-text-cell)"}},se.default.createElement("span",null,"served by"),se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},f.name||f.key),se.default.createElement(or,{tone:p?"success":"warning",size:10,style:{padding:"1px 6px"}},p?`enabled for ${m}`:`${f.status||"unknown"} \xB7 not enabled for ${m}`)),i.note&&se.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-secondary)",textWrap:"pretty"}},i.note),i.action&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto",paddingTop:2,flexWrap:"wrap"}},i.action.path&&se.default.createElement(zr,{size:"sm",onClick:()=>n?.(i.action.path)},i.action.label),i.action.hint&&se.default.createElement("span",{style:{...un(11),whiteSpace:"nowrap"}},i.action.hint)))}))}var Zse=e=>`minmax(240px, 1.6fr) 150px ${e.map(()=>"minmax(170px, 1fr)").join(" ")}`;function Qse({result:e,expects:t,pending:r}){if(!e)return se.default.createElement("span",{style:{...un(12),fontWeight:600}},r?"\u2026":"\u2014");if(!ec(e))return se.default.createElement("span",{style:{...un(12),fontWeight:600}},"\u2026");let n=bs(e),a=n?"var(--color-success)":"var(--color-error)",o=o$(e.tool_calls,t);return se.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap",fontFamily:ye,fontSize:12}},se.default.createElement("span",{style:{fontWeight:700,color:a}},n?"[+]":"[!]"),se.default.createElement("span",{style:{fontWeight:600,color:a}},Ru(e.score)),e.fault&&se.default.createElement("span",{style:{fontSize:11,color:"var(--color-error-text)"}},Qv(e.fault))),se.default.createElement(l$,{calls:o,empty:"no tools called"}))}function d$({rows:e,columns:t,run:r,resultsByKey:n,runKeys:a,running:o,openKey:i,onToggleRow:l,emptyLabel:s,renderDetail:u}){let c=Zse(t),d=e.some(p=>p.group),f=[];return e.forEach(p=>{let m=p.group||"",y=f.find(h=>h.name===m);y||(y={name:m,rows:[]},f.push(y)),y.rows.push(p)}),se.default.createElement("div",{style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflowX:"auto"}},se.default.createElement("div",{style:{minWidth:Math.max(760,400+180*t.length)}},se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"8px 12px",background:"var(--color-muted)",alignItems:"end"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Scenario"),se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Expects"),t.map(p=>{let{short:m,provider:y}=XE(r,p);return se.default.createElement("span",{key:p,style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},title:p},se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},m),se.default.createElement("span",{style:un(10)},y||"\xA0"))})),f.map(p=>{let m=p.rows.filter(h=>a.has(h.key)||n[h.key]),y=t.map(h=>{let g=m.filter(S=>ec(n[S.key]?.[h])).filter(S=>bs(n[S.key][h])).length,b=m.length,x=b&&g===b?"var(--color-success-text)":g===0?"var(--color-error-text)":"var(--color-text-cell)";return{label:h,text:b?`${g}/${b} passed`:"\u2014",color:x}});return se.default.createElement("div",{key:p.name||"__ungrouped"},(p.name||d)&&se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"7px 12px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",alignItems:"center"}},se.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},p.name||"ungrouped"),se.default.createElement("span",{style:un(11)},Xt(p.rows.length,"scenario")),y.map(h=>se.default.createElement("span",{key:h.label,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:h.color}},h.text))),p.rows.map(h=>{let v=i===h.key,g=h.expectations?.tools||[],b=a.has(h.key)||!!n[h.key],x=h.enabled===!1;return se.default.createElement("div",{key:h.key},se.default.createElement("div",{"data-testid":"scenario-row","data-scenario-key":h.key,onClick:()=>l(h.key),className:v?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:v?"var(--color-muted)":void 0,opacity:x?.5:1}},se.default.createElement("div",{style:{minWidth:0}},se.default.createElement("div",{style:{...un(11),marginBottom:2}},`${h.key}${x?" \xB7 disabled":""}`),se.default.createElement("div",{style:{fontSize:13,lineHeight:"18px",color:"var(--color-text-primary)",textWrap:"pretty"}},h.prompt)),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignContent:"flex-start",minWidth:0}},g.map(S=>se.default.createElement("span",{key:S,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"}},S)),g.length===0&&(h.expectations?.contains||[]).map(S=>se.default.createElement("span",{key:`contains-${S}`,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:"the answer must contain this"},`contains: ${S}`))),t.map(S=>se.default.createElement(Qse,{key:S,result:n[h.key]?.[S],expects:g,pending:o&&b}))),v&&u(h))}))}),e.length===0&&se.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)"}},s||"[+] nothing failed in this group")))}function Jse(e){let t=[];return e.duration_ms!=null&&t.push(Qr(e.duration_ms)),(e.input_tokens!=null||e.output_tokens!=null)&&t.push(`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`),e.cost!=null&&t.push(uo(e.cost)),t.join(" \xB7 ")}function Rse({label:e,run:t,result:r,expects:n,running:a}){let{short:o}=XE(t,e),i=se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:e},o),l=(v,g)=>se.default.createElement("div",{"data-testid":"scenario-result-detail",style:{background:"var(--color-card)",border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},i,g),se.default.createElement("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:10}},v));if(!r||!ec(r))return l(se.default.createElement("span",{style:un(11)},a?"waiting for this replay\u2026":"not part of this run"),se.default.createElement(or,{tone:"muted"},a?"pending":"no result"));let u=bs(r)?"success":"error",c=o$(r.tool_calls,n),d=r.diagnosis||{},f=d.judge||{},p=r.fault||(r.status==="errored"?"run_error":null),m=[d.summary,d.recommendation||r.recommendation].filter(Boolean).join(" ")||r.error_message||"",y=Object.entries(r.scores||{}),h=Jse(r);return l(se.default.createElement(se.default.Fragment,null,se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap",fontFamily:ye,fontSize:11}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"tools"),se.default.createElement(l$,{calls:c,empty:"none called",style:{display:"contents"}})),p&&se.default.createElement("div",{style:{background:"var(--color-error-soft)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-error-text)",textWrap:"pretty"}},se.default.createElement("span",{style:{fontFamily:ye,fontWeight:700}},`[!] ${Qv(p)}`),m?` \u2014 ${m}`:"",f.suggested_tool?.name&&se.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:11}},`suggested tool: ${f.suggested_tool.name}${f.suggested_tool.description?` \u2014 ${f.suggested_tool.description}`:""}`),f.instruction_change&&se.default.createElement("div",{style:{marginTop:4,fontStyle:"italic"}},`instruction change: \u201C${f.instruction_change}\u201D`)),r.output?se.default.createElement("div",{style:{fontFamily:"var(--font-text)",fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",maxHeight:190,overflow:"auto",whiteSpace:"pre-wrap",textWrap:"pretty"}},r.output):se.default.createElement("div",{style:un(11)},"answer not retained for this run"),y.length>0&&se.default.createElement("div",{style:{...un(11),display:"flex",flexWrap:"wrap",gap:"2px 10px"},title:"score per criterion"},y.map(([v,g])=>se.default.createElement("span",{key:v},Qv(v)," ",se.default.createElement("span",{style:{color:"var(--color-text-secondary)"}},g==null?"skipped":Ru(g)))))),se.default.createElement(se.default.Fragment,null,se.default.createElement(or,{tone:u},r.score==null?r.status:`${r.status} \xB7 ${Ru(r.score)}`),h&&se.default.createElement("span",{style:{marginLeft:"auto",...un(11)}},h)))}function f$({scenario:e,run:t,columns:r,resultsByKey:n,running:a,inRun:o=!0,onRerun:i,onToggleEnabled:l,canMutate:s=!0}){let u=e.expectations?.tools||[],c=n[e.key]||{},d=r.some(p=>c[p]),f=o||d;return se.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"12px 12px 14px"},"data-testid":"scenario-drilldown"},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10,flexWrap:"wrap"}},se.default.createElement("span",{style:un(11)},e.key),se.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-cell)"}},"expects"),se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},u.join(" or ")||"\u2014"),s&&se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14}},se.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),l?.(e)},title:e.enabled===!1?"Enable this scenario":"Disable this scenario",style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:ye,fontSize:11,color:e.enabled===!1?"var(--color-text-muted)":"var(--color-text-cell)"}},e.enabled===!1?"[ ] enabled":"[x] enabled"),se.default.createElement(Ff,{onClick:()=>i?.(e),title:"Run only this scenario under the selected models"},"re-run scenario"))),e.notes&&se.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-secondary)",marginBottom:10}},e.notes),e.catalogChanged&&se.default.createElement("div",{style:{fontSize:12,color:"var(--color-text-secondary)",marginBottom:10}},"This run used an earlier version of this question. Re-running uses the current catalog."),t?f?se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12}},r.map(p=>se.default.createElement(Rse,{key:p,label:p,run:t,result:c[p],expects:u,running:a}))):se.default.createElement("div",{style:un(11)},"Not part of this run \u2014 use \u201Cre-run scenario\u201D to replay it."):se.default.createElement("div",{style:un(11)},"No runs yet \u2014 use \u201Cre-run scenario\u201D to replay this one on its own."))}var JE=()=>document.querySelector('meta[name="csrf-token"]')?.content;function eue(e){let t=[],r=null;return e.forEach(n=>{(n.group||"")!==(r||"")&&(r=n.group,r&&t.push(`# ${r}`));let a=[],o=n.expectations||{};o.tools?.length&&a.push(`tools: ${o.tools.join(", ")}`),o.contains?.length&&a.push(`contains: ${o.contains.join(", ")}`),o.not_contains?.length&&a.push(`not_contains: ${o.not_contains.join(", ")}`),n.notes&&a.push(`notes: ${n.notes}`),a.push(`key: ${n.key}`),t.push(`${n.prompt} | ${a.join(" | ")}`)}),t.join(` -`)}var tue=e=>{let{results:t,fix_items:r,...n}=e;return n},rue=e=>{if(!e)return null;let t=[uo(e.cost),`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`];return e.model_time_ms!=null&&t.push(`model time ${Qr(e.model_time_ms)}`),e.runtime_ms!=null&&t.push(`finished in ${Qr(e.runtime_ms)}`),t.join(" \xB7 ")},p$={padding:"6px 10px",borderRadius:8,fontSize:12,fontFamily:ye,background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function RE({evaluation:e,onChanged:t,onDelete:r,deleting:n=!1}){let a=e.id,o=e.agent?.name||"Agent",[i,l]=(0,Pe.useState)(!1),[s,u]=(0,Pe.useState)(null),[c,d]=(0,Pe.useState)([]),[f,p]=(0,Pe.useState)(e.scenario_groups||[]),[m,y]=(0,Pe.useState)(e.latest_run?[e.latest_run]:[]),[h,v]=(0,Pe.useState)(null),[g,b]=(0,Pe.useState)(e.latest_run?.id??null),[x,S]=(0,Pe.useState)({}),[w,O]=(0,Pe.useState)((e.compare_models||[]).join(", ")),[k,A]=(0,Pe.useState)(null),[M,W]=(0,Pe.useState)(!1),[L,H]=(0,Pe.useState)(!1),[D,Y]=(0,Pe.useState)(""),[N,_]=(0,Pe.useState)(null),[z,j]=(0,Pe.useState)(null),[P,B]=(0,Pe.useState)(!1),[R,F]=(0,Pe.useState)(null),[G,ee]=(0,Pe.useState)(0),fe=(0,Pe.useCallback)(async()=>{let xe=await fetch(`/api/evaluations/${a}/scenarios`);if(!xe.ok)return;let ut=await xe.json();d(ut.scenarios||[]),p(ut.groups||[])},[a]),de=(0,Pe.useCallback)(async()=>{try{let xe=await fetch(`/api/evaluations/${a}`);if(!xe.ok)return u(`Could not load this suite (HTTP ${xe.status})`),null;let Zt=(await xe.json()).evaluation||{};return d(Zt.scenarios||[]),p(Zt.scenario_groups||[]),y(Zt.runs||[]),v(Number.isFinite(Zt.run_count)?Zt.run_count:null),u(null),Zt}catch(xe){return u(`Could not load this suite: ${xe.message}`),null}finally{l(!0)}},[a]),De=(0,Pe.useCallback)(async xe=>{if(!xe)return null;let ut=await fetch(`/api/evaluations/${a}/runs/${xe}`);if(!ut.ok)return null;let pr=(await ut.json()).run;return pr?(S(hn=>({...hn,[pr.id]:pr})),y(hn=>hn.map(Ns=>Ns.id===pr.id?{...Ns,...tue(pr)}:Ns)),pr):null},[a]);(0,Pe.useEffect)(()=>{let xe=!1;return(async()=>{let ut=await de();if(xe)return;let Zt=ut?.runs?.[0]?.id??null;b(pr=>pr&&ut?.runs?.some(hn=>hn.id===pr)?pr:Zt),Zt&&De(Zt)})(),()=>{xe=!0}},[de,De]);let le=e.latest_run?.id??null;(0,Pe.useEffect)(()=>{!le||m.some(xe=>xe.id===le)||de()},[le,m,de]);let Te=x[g]||m.find(xe=>xe.id===g)||null,K=m[0]||null,I=ws(Te)?Te.id:ws(K)?K.id:null;(0,Pe.useEffect)(()=>{if(!I)return;let xe=!1,ut=setTimeout(async()=>{let Zt=null;try{Zt=await De(I)}catch{Zt=null}if(!xe){if(Zt&&!ws(Zt)){await de(),t?.();return}ee(pr=>pr+1)}},3e3);return()=>{xe=!0,clearTimeout(ut)}},[I,G,De,de,t]);let C=w.split(",").map(xe=>xe.trim()).filter(Boolean),T=async xe=>{W(!0),A(null);try{let ut=await fetch(`/api/evaluations/${a}/run`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({...xe,models:C})}),Zt=await ut.json().catch(()=>({}));if(!ut.ok)throw new Error((Zt.errors||[Zt.error]).filter(Boolean).join(", ")||"Run failed to start");let pr=Zt.run;y(hn=>[pr,...hn.filter(Ns=>Ns.id!==pr.id)]),v(hn=>hn==null?null:hn+1),S(hn=>({...hn,[pr.id]:{...pr,results:[]}})),b(pr.id),F(null),t?.()}catch(ut){A(ut.message)}finally{W(!1)}},X=xe=>{b(xe),F(null),x[xe]||De(xe)},$=async xe=>{xe.id&&(await fetch(`/api/evaluations/${a}/scenarios/${xe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenario:{enabled:xe.enabled===!1}})}),await fe())},Ne=async()=>{_(null);let xe=await fetch(`/api/evaluations/${a}/scenarios`,{method:"PUT",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenarios_text:D})}),ut=await xe.json().catch(()=>({}));if(!xe.ok){_((ut.errors||[ut.error]).filter(Boolean).join(", ")||"Could not save scenarios");return}d(ut.scenarios||[]),p(ut.groups||[]),H(!1),t?.()},E=Te,Z=(0,Pe.useMemo)(()=>(E?.results||[]).filter(xe=>xe&&xe.scenario_key),[E]),ge=(0,Pe.useMemo)(()=>z1(E,Z,e),[E,Z,e]),Le=(0,Pe.useMemo)(()=>Z.reduce((xe,ut)=>((xe[ut.scenario_key]||={})[Rv(E,ut)]=ut,xe),{}),[Z,E]),nt=(0,Pe.useMemo)(()=>new Set(ZE(E,c)),[E,c]),Bt=ws(E),ft=Jv(E,ge,c),En=QE(E,Z,ge,c),Bn=(0,Pe.useCallback)(xe=>nt.has(xe.key)||!!Le[xe.key],[nt,Le]),oa=(0,Pe.useMemo)(()=>e$(c,Le),[c,Le]),Mo=xe=>ge.some(ut=>{let Zt=Le[xe.key]?.[ut];return ec(Zt)&&!bs(Zt)}),nc=oa.filter(xe=>!z||(xe.group||"")===z).filter(xe=>!P||Mo(xe)),fr=m.findIndex(xe=>xe.id===E?.id),$n=B1(m,h),ni=fr>=0?$n-fr:null,ac=new Set(oa.filter(Bn).map(xe=>xe.group).filter(Boolean)).size,nw=Z.filter(ec).length,Xf=ft*Math.max(ge.length,1),aw=new Set(Z.filter(xe=>ec(xe)&&!bs(xe)).map(xe=>xe.scenario_key)).size,oc=E?.scores?._verdict||null,ai=Object.prototype.hasOwnProperty.call(E?.scores||{},"_judge_label")?E.scores._judge_label||"rules":oc?.judge&&oc.judge!=="pass rate"?oc.judge:e.judge_model||"rules",ic=(0,Pe.useMemo)(()=>E?i$(E,Z):[],[E,Z]),ow=(0,Pe.useCallback)(xe=>{let ut=Array.isArray(xe)?xe[0]:xe;ut&&(j(null),B(!1),F(ut),requestAnimationFrame(()=>{document.querySelector(`[data-scenario-key="${CSS.escape(ut)}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})}))},[]),fg=Object.keys(E?.scores||{}).filter(xe=>!xe.startsWith("_")),iw=(fg.length?fg:(e.criteria||[]).map(xe=>xe.key)).map(xe=>String(xe).replace(/_/g," ")).join(" \xB7 ")||"\u2014",lc=i?c.length:e.scenario_count??0,Zf=i?c.filter(xe=>xe.enabled!==!1&&(!z||(xe.group||"")===z)).length:lc,pg=`Run ${Xt(Zf,"scenario")}${C.length?` \xD7 ${Xt(C.length,"model")}`:""}`,lw=E?[fr>0?`Viewing run #${ni} (latest is #${$n})`:`Run #${ni??"?"} \xB7 ${Hf(E.completed_at||E.created_at)}`,o,`${Xt(ft,"scenario")}${ac?` in ${Xt(ac,"group")}`:""} \xD7 ${Xt(ge.length,"model")}`,E.status==="failed"?"failed":`${En.passed}/${En.total} passed`].join(" \xB7 "):`${o} \xB7 ${Xt(lc,"scenario")}${f.length?` in ${Xt(f.length,"group")}`:""} \xB7 ${s?"not loaded":i?"no runs yet":"loading\u2026"}`,Qf=E&&E.status==="complete"?`/evaluations/${a}/runs/${E.id}/report`:null,sw=[...new Set([...f,...oa.map(xe=>xe.group).filter(Boolean)])],uw=[{label:`All ${oa.length||lc}`,value:null}].concat(sw.map(xe=>({label:i?`${xe} ${oa.filter(ut=>ut.group===xe).length}`:xe,value:xe}))),sc=oa.length===0,cw=P?"[+] nothing failed in this group":"[ ] no scenarios";return Pe.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:16},"data-testid":"scenario-suite-panel"},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Pe.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},lw),Bt&&Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"},"data-testid":"suite-run-progress"},`running \xB7 ${nw} of ${Xf} results in`),Pe.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},Pe.default.createElement(zr,{size:"sm",onClick:()=>{Y(eue(c)),_(null),H(!L)}},L?"Cancel":"Edit scenarios"),Pe.default.createElement("input",{type:"text",value:w,onChange:xe=>O(xe.target.value),placeholder:"models, e.g. gpt-5-mini, ollama/qwen3:8b",style:{...p$,width:250},title:"Comma-separated. Prefix with a provider (ollama/qwen3:8b) when the name alone is ambiguous; blank runs the agent's own model."}),Pe.default.createElement(zr,{variant:"primary",size:"sm",disabled:M||!i||Zf===0,onClick:()=>T(z?{group:z}:{}),testId:"suite-run-button"},M?"Starting\u2026":pg))),(s||k||E?.status==="failed")&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)",background:"var(--color-error-soft)",borderRadius:8,padding:"8px 12px"}},s||k||`Run failed: ${E.error_message||"unknown error"}`),L&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},Pe.default.createElement("textarea",{value:D,onChange:xe=>Y(xe.target.value),rows:Math.min(Math.max(c.length+4,6),24),style:{...p$,width:"100%",boxSizing:"border-box",lineHeight:"18px"}}),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,color:"var(--color-text-muted)",flexWrap:"wrap"}},Pe.default.createElement("span",{style:{flex:1,minWidth:240}},"One message per line. ",Pe.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," starts a group; ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| contains: x"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| not_contains: y")," set expectations. Keep a scenario's ",Pe.default.createElement("code",{style:{fontFamily:ye}},"key")," to keep its history."),Pe.default.createElement(zr,{variant:"primary",size:"sm",onClick:Ne},"Save scenarios")),N&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},N)),Pe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"minmax(280px, 2fr) minmax(0, 3fr)",gap:16,alignItems:"start"}},Pe.default.createElement(s$,{runs:m,runCount:h,selectedId:E?.id??null,onSelect:X,agentName:o,selectedResults:Z,scenarios:c}),Pe.default.createElement(u$,{run:E,columns:E?ge:[],results:Z,scenarioCount:ft,judgedBy:ai,verdict:oc})),E&&E.status!=="failed"&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},Pe.default.createElement(rt,null,"What to fix"),Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},`${Xt(ic.length,"item")} \xB7 ${Xt(Math.max(En.total-En.passed,0),"fault")} across ${Xt(aw,"scenario")}`)),ic.length>0?Pe.default.createElement(c$,{items:ic,columns:ge,agentName:o,onNavigate:Gv,onOpenScenario:ow}):Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px"}},Bt?"[ ] scoring\u2026":"[+] nothing to fix")),Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Pe.default.createElement(rt,{style:{marginRight:4}},"Scenarios"),uw.map(xe=>Pe.default.createElement(ol,{key:xe.label,selected:z===xe.value,onClick:()=>j(xe.value)},xe.label)),Pe.default.createElement(ol,{square:!0,mono:!0,selected:P,onClick:()=>B(!P),style:{marginLeft:"auto",background:"transparent"},title:"Hide scenarios that passed on every model"},P?"[x] failed only":"[ ] failed only")),sc&&s?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[!] suite not loaded"):sc&&!i?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"loading\u2026"):sc?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"No scenarios yet \u2014 paste some with \u201CEdit scenarios\u201D."):Pe.default.createElement(d$,{rows:nc,columns:E?ge:[],run:E,resultsByKey:Le,runKeys:nt,running:Bt,openKey:R,onToggleRow:xe=>F(R===xe?null:xe),emptyLabel:cw,renderDetail:xe=>Pe.default.createElement(f$,{scenario:xe,run:E,columns:E?ge:[],resultsByKey:Le,running:Bt,inRun:Bn(xe),canMutate:!xe.orphan,onRerun:ut=>T({keys:[ut.key]}),onToggleEnabled:$})})),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",paddingTop:12,borderTop:"1px solid var(--color-border-light)",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Pe.default.createElement("span",{style:{whiteSpace:"nowrap"}},`judge ${ai}`),Pe.default.createElement("span",{style:{minWidth:0,textWrap:"pretty"}},`criteria ${iw}`),E?.usage&&Pe.default.createElement("span",{style:{whiteSpace:"nowrap"},title:"Estimated cost, tokens and model time of this run"},rue(E.usage)),Qf&&Pe.default.createElement(Ff,{href:Ge(Qf),onClick:()=>Gv(Qf),title:"The run rendered as a report page"},"run report"),r&&Pe.default.createElement("button",{type:"button",onClick:r,disabled:n,title:"Delete this suite and its runs",style:{marginLeft:"auto",background:"transparent",border:"none",padding:0,cursor:n?"not-allowed":"pointer",fontFamily:ye,fontSize:11,color:"var(--color-error)",opacity:n?.5:1}},n?"Deleting\u2026":"Delete suite")))}var e_=[{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}}],t_=[{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}}],r_=()=>document.querySelector('meta[name="csrf-token"]')?.content,nue=e=>{if(!e)return null;let t=(e.input_tokens||0)+(e.output_tokens||0),r=e.runtime_ms==null?null:Qr(e.runtime_ms);return`${uo(e.cost)} \xB7 ${hr(t)} tok${r?` \xB7 ${r}`:""}`},g$=e=>e>=.85?"success":e>=.7?"warning":"error",m$=()=>{let e=Xu().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/);if(e)return{evaluationId:e[1],runId:e[2]};let t=D1(window.location.search);return t?.runId?t:null},il={padding:"8px 12px",borderRadius:8,fontSize:13,fontFamily:"inherit",boxSizing:"border-box",background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"},ei=(e=11,t="var(--color-text-muted)")=>({fontFamily:ye,fontSize:e,color:t});function v$({label:e,score:t,indent:r=!1,mono:n=!1}){let a=t.skipped?null:g$(t.score);return re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,paddingLeft:r?16:0}},re.default.createElement("div",{style:{width:160,flexShrink:0,fontSize:n?11:13,fontFamily:n?ye:"inherit",color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:e},n?e:e.replace(/_/g," "),t.source==="telemetry"&&re.default.createElement("span",{"data-testid":"score-source-telemetry",style:{...ei(10),marginLeft:6,textTransform:"uppercase",letterSpacing:"0.05em"},title:`Aggregate over ${t.traces} traces in the last ${t.window_hours}h`},"telemetry")),t.skipped?re.default.createElement("div",{style:{flex:1,fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"},title:t.reason},"skipped \u2014 ",t.reason):re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{flex:1,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},re.default.createElement("div",{style:{height:"100%",width:`${Math.round(t.score*100)}%`,borderRadius:999,background:al[a].strong}})),re.default.createElement("div",{style:{width:48,textAlign:"right",fontFamily:ye,fontSize:12,fontWeight:600,color:al[a].strong},title:`min ${t.min} \xB7 max ${t.max} \xB7 ${t.passed}/${t.total} passed`},Ru(t.score))))}function eg({embedded:e=!1,agentId:t=null}){let{darkMode:r}=kt(),[n,a]=(0,re.useState)(()=>e?null:m$()),o=(0,re.useRef)(null),[i,l]=(0,re.useState)(0),[s,u]=(0,re.useState)(null);(0,re.useEffect)(()=>{let E=o.current?.contentDocument?.body;if(!E)return;let Z=()=>u(E.scrollHeight);if(Z(),typeof ResizeObserver>"u")return window.addEventListener("resize",Z),()=>window.removeEventListener("resize",Z);let ge=new ResizeObserver(Z);return ge.observe(E),()=>ge.disconnect()},[i,n]),(0,re.useEffect)(()=>u(null),[n]),(0,re.useEffect)(()=>{if(e)return;let E=()=>a(m$());return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[c,d]=(0,re.useState)([]),[f,p]=(0,re.useState)([]),[m,y]=(0,re.useState)(!0),[h,v]=(0,re.useState)(null),[g,b]=(0,re.useState)(null),[x,S]=(0,re.useState)(()=>e?null:D1(window.location.search)?.evaluationId);(0,re.useEffect)(()=>{if(e)return;let E=()=>{let Z=D1(window.location.search)?.evaluationId;S(Z),Z&&b(new Set([Number(Z)]))};return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[w,O]=(0,re.useState)(!1),[k,A]=(0,re.useState)(null),[M,W]=(0,re.useState)(null),[L,H]=(0,re.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:e_.map(E=>E.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:"",scenariosText:""}),[D,Y]=(0,re.useState)(null),[N,_]=(0,re.useState)(!1),z=(0,re.useCallback)(async()=>{try{let E=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!E.ok)throw new Error(`Request failed (${E.status})`);let ge=(await E.json()).evaluations||[],Le=null;try{ge=await t$(ge,x,fetch)}catch(nt){Le=nt.message}d(ge),b(nt=>{if(nt)return nt;let Bt=x?ge.find(ft=>String(ft.id)===x):ge.find(ft=>ft.scenario_suite)||ge[0];return new Set(Bt?[Bt.id]:[])}),v(Le)}catch(E){v(E.message)}finally{y(!1)}},[t,x]);(0,re.useEffect)(()=>{z(),fetch("/api/agents").then(E=>E.ok?E.json():{agents:[]}).then(E=>p(E.agents||[])).catch(()=>p([]))},[z]);let j=E=>!!g?.has(E),P=E=>b(Z=>{let ge=new Set(Z||[]);return ge.has(E)?ge.delete(E):ge.add(E),ge}),B=()=>{let E=[...e_,...t_].filter(Z=>L.criteria.includes(Z.key)).map(({key:Z,type:ge,config:Le})=>({key:Z,type:ge,config:Le}));return L.containsPattern.trim()&&E.push({key:"contains",type:"contains",config:{pattern:L.containsPattern.trim()}}),L.llmJudgePrompt.trim()&&E.push({key:"quality",type:"llm_judge",config:{prompt:L.llmJudgePrompt.trim()}}),E},R=async E=>{E.preventDefault(),_(!0),Y(null);try{let Z=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":r_()},body:JSON.stringify({evaluation:{agent_id:L.agent_id,name:L.name,sample_size:L.sample_size,judge_kind:L.judgeKind==="judge_defined"?"judge_defined":L.llmJudgePrompt.trim()?"llm":"rules",judge_model:L.judgeModel.trim()||void 0,compare_models:L.compareModels.split(",").map(Le=>Le.trim()).filter(Boolean),criteria:L.judgeKind==="judge_defined"?[]:B(),scenarios_text:L.scenariosText.trim()||void 0}})}),ge=await Z.json().catch(()=>({}));if(!Z.ok)throw new Error((ge.errors||[ge.error]).filter(Boolean).join(", ")||`Failed to create evaluation (HTTP ${Z.status})`);O(!1),H({...L,name:"",scenariosText:""}),await z(),ge.evaluation?.id!=null&&b(Le=>new Set([...Le||[],ge.evaluation.id]))}catch(Z){Y(Z.message)}finally{_(!1)}},F=async E=>{A(E),v(null);try{let Z=await fetch(`/api/evaluations/${E}/run`,{method:"POST",headers:{"X-CSRF-Token":r_()}});Z.ok||v(`Run failed (HTTP ${Z.status})`),await z()}finally{A(null)}},G=async E=>{if(window.confirm(`Delete "${E.name}"? Its runs are deleted with it.`)){W(E.id),v(null);try{let Z=await fetch(`/api/evaluations/${E.id}`,{method:"DELETE",headers:{"X-CSRF-Token":r_()}});Z.ok||Z.status===404?(d(ge=>ge.filter(Le=>Le.id!==E.id)),b(ge=>{let Le=new Set(ge||[]);return Le.delete(E.id),Le})):v(`Delete failed (HTTP ${Z.status})`)}finally{W(null)}}};if(m)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",style:{borderBottomColor:"var(--color-accent-ui)"}}));let ee=t?c.filter(E=>String(E.agent?.id)===String(t)):c,fe=ee.filter(E=>E.scenario_suite),de=ee.filter(E=>!E.scenario_suite),De=fe.map(E=>E.latest_run).filter(E=>E&&E.status==="complete"),le=De.reduce((E,Z)=>E+(Z.samples_evaluated||0),0),Te=De.reduce((E,Z)=>E+(Z.samples_passed||0),0),K=De.reduce((E,Z)=>E+(Z.scores?._recommendations?.length||0),0),I=le?Te/le:null,C=[...new Set(fe.map(E=>E.agent?.name).filter(Boolean))],T=fe.reduce((E,Z)=>Math.max(E,Z.latest_run?.models?.length||(Z.compare_models||[]).length||0),0),X=[];C.length===1?X.push(`@${C[0]} \xB7 ${T>1?`${T} models compared`:"1 model"}`):C.length>1&&X.push(Xt(C.length,"agent")),de.length&&X.push(Xt(de.length,"sampling evaluation"));let $=X.join(" \xB7 ")||"no suites yet",Ne=E=>E&&typeof E=="object"&&!("score"in E)&&!("skipped"in E);if(n){let E=Ge(`/api/evaluations/${n.evaluationId}/runs/${n.runId}/report`),Z=`${E}?theme=${r?"dark":"light"}`;return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{size:"sm",onClick:()=>{HE("/evaluations"),a(null)}},re.default.createElement("span",{style:{fontFamily:ye}},"<-")," Evaluations"),re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Run report"),re.default.createElement("span",{style:ei(11)},`evaluation ${n.evaluationId} \xB7 run ${n.runId}`)),re.default.createElement("a",{href:E,target:"_blank",rel:"noopener noreferrer",title:"The report is one self-contained page \u2014 save it to export",style:{padding:"6px 12px",borderRadius:8,fontSize:13,fontWeight:500,color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)",textDecoration:"none"}},"Open standalone ",re.default.createElement("span",{style:{fontFamily:ye}},"->"))),re.default.createElement("iframe",{ref:o,src:Z,title:"Evaluation run report",onLoad:()=>l(ge=>ge+1),scrolling:"no",style:{width:"100%",borderRadius:12,border:"1px solid var(--color-border)",background:"var(--color-background)",display:"block",height:s?`${s}px`:"calc(100vh - 180px)"}}))}return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},re.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:16,flexWrap:"wrap"}},!e&&re.default.createElement("div",{style:{flex:1,minWidth:260}},re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Evaluations"),re.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models")),re.default.createElement("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{variant:"primary",onClick:()=>O(!w),testId:"new-evaluation-button"},w?"Cancel":"New Evaluation"))),h&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:13,background:"var(--color-error-soft)",color:"var(--color-error-text)"}},"Failed to load evaluations: ",h),w&&re.default.createElement(yr,{testId:"new-evaluation-form"},re.default.createElement("form",{onSubmit:R,style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Agent"),re.default.createElement("select",{required:!0,disabled:!!t,value:L.agent_id,onChange:E=>H({...L,agent_id:E.target.value}),style:{...il,width:"100%",opacity:t?.7:1}},!t&&re.default.createElement("option",{value:""},"Select agent\u2026"),f.map(E=>re.default.createElement("option",{key:E.id,value:E.id},E.name)))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Name"),re.default.createElement("input",{required:!0,type:"text",value:L.name,onChange:E=>H({...L,name:E.target.value}),placeholder:"Response Quality",style:{...il,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Sample size"),re.default.createElement("input",{type:"number",min:"1",max:"100",value:L.sample_size,onChange:E=>H({...L,sample_size:E.target.value}),style:{...il,width:"100%",fontFamily:ye}}))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"KPI definition"),re.default.createElement("select",{value:L.judgeKind,onChange:E=>H({...L,judgeKind:E.target.value}),style:{...il,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(rt,{as:"label",style:{display:"block",marginBottom:6}},"Judge model (optional)"),re.default.createElement("input",{type:"text",value:L.judgeModel,onChange:E=>H({...L,judgeModel:E.target.value}),placeholder:"e.g. claude-opus-5",style:{...il,width:"100%",fontFamily:ye,fontSize:12}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Compare models (optional, comma-separated)"),re.default.createElement("input",{type:"text",value:L.compareModels,onChange:E=>H({...L,compareModels:E.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...il,width:"100%",fontFamily:ye,fontSize:12}}))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Scenarios (optional) \u2014 paste user messages to replay, one per line"),re.default.createElement("textarea",{value:L.scenariosText,onChange:E=>H({...L,scenariosText:E.target.value}),rows:L.scenariosText?8:3,placeholder:`# Find records +\u2026`:"")):null,B&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:g.textMuted}},"Requested tool calls"),Se.default.createElement("pre",{style:Te},B)),F&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:g.textMuted}},"Tool definition"),Se.default.createElement(jE,{tool:F,darkMode:t}))))}))}var st=te(ne());var Cr=te(ne());var Ir=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"}),q7=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function Gu({open:e,darkMode:t,size:r=14,style:n}){return Cr.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:Ir(t).textMuted,...n},"aria-hidden":"true"},Cr.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function M1({darkMode:e,id:t,children:r,style:n,className:a=""}){let o=Ir(e);return Cr.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${a}`,style:{backgroundColor:o.cardBg,borderColor:o.cardBorder,...n}},r)}var Y7=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Ir(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),hse=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 $f({lines:e,darkMode:t,onClick:r,indent:n=0,size:a="12px",style:o,max:i=200}){let[l,s]=Uf(),u=Ir(t),c=(e||[]).filter(d=>d&&d.text);return c.length===0?null:Cr.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:Fe.mono,fontSize:a,color:u.textSecondary,cursor:r?"pointer":"default",...o}},c.map((d,f)=>{let p=`${d.label}-${f}`,v=l(p),y=d.max||i,h=String(d.text).replace(/\s+/g," ").trim(),m=hse(d.text),g=m.json||h.length>60||h!==String(d.text).trim();return Cr.default.createElement("div",{key:p},Cr.default.createElement("div",{onClick:g?x=>{x.stopPropagation(),s(p)}:void 0,title:g?v?"Collapse":"Expand":void 0,style:{cursor:g?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0}},Cr.default.createElement("span",{style:{color:d.color||u.textMuted}},g?v?"\u25BE":"\u25B8":"\xA0"," ",d.label,":")," ",!v&&q7(h,y)),v&&Cr.default.createElement("pre",{onClick:x=>x.stopPropagation(),style:Y7(t,{wrap:!m.json})},m.text))}))}function qv({options:e,value:t,onChange:r,darkMode:n,label:a,style:o}){let i=Ir(n);return Cr.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:o},a&&Cr.default.createElement("span",{className:"text-xs mr-1",style:{color:i.textMuted}},a),e.map(l=>Cr.default.createElement("button",{key:l.id,type:"button",onClick:s=>{s.stopPropagation(),r(l.id)},title:l.hint,className:"px-2 py-0.5 text-xs rounded transition-colors",style:t===l.id?{background:i.controlActiveBg,color:i.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:i.textSecondary}},l.label)))}function G7({label:e,body:t,open:r,onToggle:n,darkMode:a,prose:o=!1,max:i=140}){let l=Ir(a);return Cr.default.createElement("div",null,Cr.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},Cr.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&Cr.default.createElement("span",{style:{color:l.textMuted}},q7(t,i))),r&&Cr.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:Y7(a,{wrap:o})},t))}function Uf(e={}){let[t,r]=(0,Cr.useState)(e),n=(0,Cr.useCallback)(o=>{r(i=>({...i,[o]:!i[o]}))},[]);return[(0,Cr.useCallback)(o=>!!t[o],[t]),n,r]}var BE={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},Z7=[{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"}],Er=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,$E=e=>{switch(e){case"root":return Ut.spans.root;case"prompt":return Ut.spans.prompt;case"generate":return Ut.spans.generate;case"llm":return Ut.spans.llm;case"thinking":return Ut.spans.thinking;case"tool":return Ut.spans.tool;case"response":return Ut.spans.response;default:return"-"}},xse=(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))},bse=(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))}},wse=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},Sse=(e,t)=>{if(!t.duration_ms)return Er(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${Er(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},Ase=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},X7=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,UE=e=>{let t=e.spans||[],r=o=>{for(let i of t){let l=(i.attributes||{})[o];if(l)return l}return null},n=r("llm.prompt");if(!n){let o=r("prompt.input.messages");if(o)try{n=[...JSON.parse(o)].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}},kse=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 o=null,i="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?o=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(o=t["tool.output.result"]||t["tool.result"],i="out",l="tool"),o!=null&&typeof o!="string"&&(o=JSON.stringify(o)),{input:r,output:o,inputLabel:n,inputTone:a,outputLabel:i,outputTone:l}},Nse=(e,t)=>{let r=kse(e),n=UE(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},Cse=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}),o=r("prompt.input.instructions")||r("llm.instructions");o&&a({role:"system",content:String(o)});let i=r("prompt.input.messages");if(i)try{JSON.parse(i).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"]=i}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}},FE=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 Ese({span:e,darkMode:t,tools:r=[]}){let[n,a]=Uf(),o=Ir(t),{messages:i,rest:l}=Cse(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)=>X7(p[0])-X7(v[0])),d=i.length===1&&i[0].role==="tool"?i[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return st.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:o.panelBg,border:`1px solid ${o.cardBorder}`,fontFamily:Fe.mono,fontSize:"12px",color:o.textBody,cursor:"default"}},st.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},st.default.createElement("span",null,"duration: ",Er(e.duration)),st.default.createElement("span",null,"status: ",e.status||"OK"),wse(e)>0&&st.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),st.default.createElement("span",{style:{color:o.textMuted}},"span: ",e.span_id)),d&&st.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},st.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"\u2699 ",d.tool_name),f&&st.default.createElement(st.default.Fragment,null," ",st.default.createElement("span",{style:{color:gr("assistant",t).color}},"in:")," ",st.default.createElement("span",{style:{color:o.textBody}},f))),d.content&&st.default.createElement("div",{style:{fontSize:"12px"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"out:")," ",st.default.createElement("span",{style:{color:o.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),i.length>0&&!d&&st.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},st.default.createElement(so,{messages:i,darkMode:t,tools:s||r})),s&&st.default.createElement(zE,{tools:s,darkMode:t}),c.length>0&&st.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,v])=>{let y=p.match(/args|result|input|output/)?Ase(v):null,h=!y&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof v=="string"?v:null,m=y||h;if(!m)return st.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},st.default.createElement("span",{style:{color:o.textMuted}},p,":")," ",typeof v=="string"?v:JSON.stringify(v));let g=`${e.span_id}:${p}`;return st.default.createElement(G7,{key:p,label:p,body:m,prose:!y,darkMode:t,open:n(g),onToggle:()=>a(g)})})))}function _se({span:e,trace:t,darkMode:r,sort:n,longest:a,expanded:o,onToggle:i,tools:l}){let s=Ir(r),u=Object.keys(e.attributes||{}).length>0,c=o?null:Nse(e,t);return st.default.createElement(st.default.Fragment,null,st.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:o?s.hoverBg:void 0},onClick:u?()=>i():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},st.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},st.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},$E(e.type)),st.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),st.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:Fe.mono,color:s.textMuted}},Sse(e,t)),u&&st.default.createElement(Gu,{open:o,darkMode:r,size:13,style:{marginLeft:"2px"}})),st.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},st.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":BE[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}%`:`${xse(e.duration,a)}%`}})),c&&st.default.createElement($f,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:gr(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:gr(c.outputTone,r).color,max:160}]})),o&&st.default.createElement(Ese,{span:e,darkMode:r,tools:l}))}function WE({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:a=""}){let[o,i]=Uf(),l=Ir(t),s=bse(e?.spans,r),u=n||FE(e);if(s.length===0)return st.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 st.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${a}${d.span_id||f}`;return st.default.createElement(_se,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:o(p),onToggle:()=>i(p)})}))}var Ose=[{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"}],Tse=e=>{let t=0,r=[];(e?.spans||[]).forEach(o=>{(o.nested||0)!==0&&(o.type==="tool"?r.push(o):(o.type==="llm"||o.type==="generate")&&(t=Math.max(t,o.duration||0)))});let n=r.reduce((o,i)=>o+(i.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 Mse({trace:e,darkMode:t}){let r=Ir(t),{generation:n,tools:a,toolTotal:o,total:i,overhead:l}=Tse(e);if(n===0&&o===0||n/i>=.99&&o/i<.01)return null;let s=c=>`${(c/i*100).toFixed(c/i<.01?2:1)}%`,u=(c,d)=>We.default.createElement("div",{style:{width:`${Math.max(c/i*100,.4)}%`,background:d,height:"100%"}});return We.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},We.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),We.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(o,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Fe.mono,color:r.textBody}},We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",Er(n)," (",s(n),")"),We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",Er(o)," (",s(o),")"),l>0&&We.default.createElement("span",null,We.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",Er(l)," (",s(l),")")),a.length>0&&We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Fe.mono,color:r.textSecondary}},a.map((c,d)=>We.default.createElement("span",{key:d},c.name," ",Er(c.duration)," (",s(c.duration||0),")"))))}function Pse({trace:e,darkMode:t}){let[r,n]=(0,We.useState)(null),[a,o]=(0,We.useState)(!1),i=Ir(t);if((0,We.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),o(!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&&o(!0)),()=>{s=!1}},[e?.id]),a)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.bad}},"Couldn't load the conversation for this trace.");if(!r)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"Loading conversation\u2026");let l=r.instructions?[{id:`trace-${e.id}-system`,role:"system",content:r.instructions,created_at:r.created_at},...r.messages||[]]:r.messages||[];return l.length===0?We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"This trace predates content capture \u2014 no conversation to show."):We.default.createElement(so,{messages:l,darkMode:t,tools:FE(e)})}function Yv({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[a,o]=(0,We.useState)("spans"),[i,l]=(0,We.useState)("time"),s=Ir(t),u=(e?.spans||[]).length,c=N1(e),d=e?.tokens||{},f=(0,We.useCallback)(p=>o(n?p:"spans"),[n]);return e?We.default.createElement("div",null,We.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},We.default.createElement("div",{className:"flex items-center gap-1"},n&&We.default.createElement(qv,{options:Ose,value:a,onChange:f,darkMode:t}),We.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),a==="spans"&&u>0&&We.default.createElement(qv,{options:Z7,value:i,onChange:l,darkMode:t,label:"Sort"})),a==="conversation"?We.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},We.default.createElement(Pse,{trace:e,darkMode:t})):We.default.createElement(We.default.Fragment,null,i==="time"?We.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},We.default.createElement("span",null,"0ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),We.default.createElement("span",null,Er(e.duration_ms))):We.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),We.default.createElement(WE,{trace:e,darkMode:t,sort:i,keyPrefix:`${e.id||e.trace_id}:`})),c&&We.default.createElement("div",{className:"mt-3"},We.default.createElement(ys,{...c,label:"Context pressure",darkMode:t})),We.default.createElement(Mse,{trace:e,darkMode:t}),!r&&We.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}},We.default.createElement("span",null,"Tokens:"),d.thinking>0&&We.default.createElement("span",{className:"text-amber-500",style:{fontFamily:Fe.mono}},"T:",d.thinking.toLocaleString()),We.default.createElement("span",{className:"text-blue-500",style:{fontFamily:Fe.mono}},"in:",(d.input||0).toLocaleString()),We.default.createElement("span",{className:"text-green-500",style:{fontFamily:Fe.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&We.default.createElement("span",{style:{fontFamily:Fe.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&We.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"}},We.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var Dse=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}`},Ise=e=>e==null?null:`$${e.toFixed(4)}`;function P1({trace:e,darkMode:t,expanded:r,onToggle:n}){let a=Ir(t),o=UE(e),i=N1(e),l=e.status!=="ERROR";return jr.default.createElement(M1,{darkMode:t,id:`trace-row-${e.id}`},jr.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},jr.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},jr.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:Fe.mono,background:a.controlBg,color:a.textSecondary}},"TRACE"),jr.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:Fe.mono,color:a.textMuted}},e.short_id),jr.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:a.textPrimary}},e.display_name)),jr.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:a.textSecondary}},e.model&&jr.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:Fe.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"},title:"Model that generated this trace"},e.model),i&&jr.default.createElement(ys,{compact:!0,...i,label:"Context",darkMode:t}),jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),Er(e.duration_ms)),jr.default.createElement("span",null,Dse(e.tokens)," tokens"),e.estimated_cost!=null&&jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),Ise(e.estimated_cost)),jr.default.createElement("span",{style:{color:l?a.good:a.bad}},jr.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR"),jr.default.createElement(Gu,{open:r,darkMode:t}))),!r&&jr.default.createElement($f,{darkMode:t,onClick:n,style:{padding:"0 16px 12px"},lines:[{label:"input",text:o.input,color:gr("user",t).color},{label:"output",text:o.output,color:gr("assistant",t).color}]}),r&&jr.default.createElement("div",{className:"border-t p-4",style:{borderColor:a.cardBorder,background:a.innerBg}},jr.default.createElement(Yv,{trace:e,darkMode:t})))}function Ge(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}function HE(e=""){window.history.pushState({},"",Ge(e))}function Xu(e=window.location.pathname){let t=(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"");return t&&(e===t||e.startsWith(`${t}/`))?e.slice(t.length)||"/":e}function Gv(e){if(!e)return;let t=Xu(e);HE(t),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(t)}}))}var Q7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],jse=3e4,zse=e=>{let t={};return e.forEach((r,n)=>{t[r]=Q7[n%Q7.length]}),t},Lse=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 o=t[a];o.count+=1,o.total+=n.duration||0,o.max=Math.max(o.max,n.duration||0),n.error&&(o.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},Bse=(e,t,r,n=60)=>{let a=Date.now(),o=[],i=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=a-(s+1)*i,c=a-s*i,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(v=>v.agent===p).length}),o.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 o};function Zu({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,U.useState)([]),[o,i]=(0,U.useState)([]),[l,s]=(0,U.useState)({}),[u,c]=(0,U.useState)(!0),[d,f]=(0,U.useState)(null),[p,v]=(0,U.useState)(null),y=(0,U.useRef)(new URLSearchParams(window.location.search).get("trace")),[h,m]=(0,U.useState)(null),[g,x]=(0,U.useState)({status:"all",agent:"all",action:"all"}),[b,S]=(0,U.useState)("time"),[w,O]=(0,U.useState)(null),[k,A]=(0,U.useState)("timeline"),[M,W]=(0,U.useState)("popular"),{timeWindow:L}=Qo(),H=(0,U.useCallback)(async()=>{try{let C=e?`&agent=${encodeURIComponent(e)}`:"",T=await fetch(`/api/traces?minutes=${L.minutes}${C}`);if(!T.ok)throw new Error(`Request failed (${T.status})`);let X=await T.json();a(X.traces||[]),i(e?[e]:X.agents||[]),s(X.agent_ids||{}),f(null)}catch(C){f(C.message)}finally{c(!1)}},[L.minutes,e]);(0,U.useEffect)(()=>{H();let C=setInterval(H,jse);return()=>clearInterval(C)},[H]);let D=(0,U.useMemo)(()=>zse(o),[o]);(0,U.useEffect)(()=>{O(null)},[L.id]);let Y=(0,U.useMemo)(()=>Bse(n,o,L.minutes,L.bucketSeconds),[n,o,L]),N=Math.max(0,Math.ceil(Y.length/6)-1),_=(0,U.useMemo)(()=>{let C=n;if(w!==null){let T=Y[w];T&&(C=T.traces||[])}if(g.status!=="all"&&(C=C.filter(T=>g.status==="success"?T.status!=="ERROR":T.status==="ERROR")),g.agent!=="all"&&(C=C.filter(T=>T.agent===g.agent)),g.action!=="all")if(g.action.includes("#")){let[T,X]=g.action.split("#");C=C.filter($=>$.agent===T&&$.action===X)}else C=C.filter(T=>T.action===g.action);return b==="latency"&&(C=[...C].sort((T,X)=>(X.duration_ms||0)-(T.duration_ms||0))),h&&!C.some(T=>T.id===h.id)&&(C=[h,...C]),C},[n,w,Y,g,b,h]);(0,U.useEffect)(()=>{let C=y.current;if(!C)return;let T=$=>{y.current=null,v($.id),setTimeout(()=>{document.getElementById(`trace-row-${$.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},X=n.find($=>$.id===C||$.trace_id===C||$.short_id&&String(C).startsWith($.short_id));if(X){T(X);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(C)}`).then($=>$.ok?$.json():Promise.reject(new Error("not found"))).then(({trace:$})=>{m($),T($)}).catch(()=>{y.current=null})},[n]);let z=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};C.forEach($=>{$.agent&&(T[$.agent]||(T[$.agent]={agent:$.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),T[$.agent].count++,T[$.agent].totalDuration+=$.duration_ms||0,T[$.agent].cost+=$.estimated_cost||0,$.status==="ERROR"&&T[$.agent].errors++,$.tokens&&(T[$.agent].tokens.thinking+=$.tokens.thinking||0,T[$.agent].tokens.input+=$.tokens.input||0,T[$.agent].tokens.output+=$.tokens.output||0),$.action&&(T[$.agent].actions[$.action]=(T[$.agent].actions[$.action]||0)+1))});let X={popular:$=>$.count,longest:$=>$.totalDuration/($.count||1),cost:$=>$.cost,tokens:$=>($.tokens.input||0)+($.tokens.output||0)+($.tokens.thinking||0),errors:$=>$.errors}[M]||($=>$.count);return Object.values(T).sort(($,Ne)=>X(Ne)-X($)||Ne.count-$.count)},[n,Y,w,M]),j=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{if(!X.agent)return;let $=`${X.agent}#${X.action||"unknown"}`;T[$]||(T[$]={key:$,agent:X.agent,action:X.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),T[$].count++,T[$].totalDuration+=X.duration_ms||0,T[$].minDuration=Math.min(T[$].minDuration,X.duration_ms||0),T[$].maxDuration=Math.max(T[$].maxDuration,X.duration_ms||0),X.status==="ERROR"&&T[$].errors++,X.tokens&&(T[$].tokens.thinking+=X.tokens.thinking||0,T[$].tokens.input+=X.tokens.input||0,T[$].tokens.output+=X.tokens.output||0)}),Object.values(T).forEach(X=>{X.minDuration===1/0&&(X.minDuration=0)}),Object.values(T).sort((X,$)=>$.count-X.count)},[n,Y,w]),P=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{(X.spans||[]).forEach($=>{if($.type!=="tool")return;let Ne=$.attributes?.["tool.name"]||$.name?.replace(/^tool\./,"")||"unknown";T[Ne]||(T[Ne]={name:Ne,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),T[Ne].count++,T[Ne].totalDuration+=$.duration||0,T[Ne].maxDuration=Math.max(T[Ne].maxDuration,$.duration||0),$.error&&T[Ne].errors++,X.agent&&T[Ne].agents.add(`${X.agent}#${X.action||"unknown"}`)})}),Object.values(T).map(X=>({...X,agents:[...X.agents],avgDuration:X.count?X.totalDuration/X.count:0})).sort((X,$)=>$.totalDuration-X.totalDuration)},[n,Y,w]),B=(0,U.useMemo)(()=>g.agent==="all"?j.map(C=>C.key):j.filter(C=>C.agent===g.agent).map(C=>C.key),[g.agent,j]),R=(0,U.useMemo)(()=>Lse(_),[_]),F=C=>{if(C&&C.activeTooltipIndex!==void 0){let T=C.activeTooltipIndex;O(w===T?null:T),v(null)}},G=C=>(C?.input||0)+(C?.output||0)+(C?.thinking||0),ee=C=>{let T=C.count?C.errors/C.count:0;return[{label:`Calls ${L.label||""}`.trim(),value:C.count.toLocaleString()},{label:"Errors",value:`${(T*100).toFixed(1)}%`,tone:C.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(C.totalDuration/(C.count||1))}ms`},{label:"Tokens",value:G(C.tokens).toLocaleString()},{label:"Cost",value:fe(C.cost),title:"Estimated from token counts at this model's published rates",tone:C.cost?void 0:"muted"},{label:"Actions",value:(C.agents?.length||0).toLocaleString()}]},fe=C=>C?C<.01?"<$0.01":`$${C.toFixed(2)}`:"\u2014",de=U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},U.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),U.default.createElement("select",{value:M,onChange:C=>W(C.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"}},U.default.createElement("option",{value:"popular"},"Most calls"),U.default.createElement("option",{value:"longest"},"Longest average"),U.default.createElement("option",{value:"cost"},"Highest cost"),U.default.createElement("option",{value:"tokens"},"Most tokens"),U.default.createElement("option",{value:"errors"},"Most errors"))),De=C=>x(T=>({...T,agent:T.agent===C?"all":C})),le=C=>{let T=l[C];if(!T)return De(C);let X=Ge(`/agents/${T}`);window.history.pushState(window.history.state,"",X),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:X}}))},Te=C=>{let T=R[0]?.total||1,X=C?"rgba(0,0,0,0.3)":"white",$=C?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",Ne=C?"white":"#111827",E=C?"rgba(255,255,255,0.5)":"#6b7280",Z={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return U.default.createElement("div",{style:{padding:C?"0 24px 24px 24px":0}},U.default.createElement("div",{style:{background:X,border:$,borderRadius:"12px",padding:"16px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:Ne,marginBottom:"4px"}},"Slowest operations"),U.default.createElement("div",{style:{fontSize:"12px",color:E,marginBottom:"14px"}},"Span durations aggregated across ",_.length," trace",_.length===1?"":"s"," \u2014 ranked by total time"),R.length===0?U.default.createElement("div",{style:{fontSize:"13px",color:E,padding:"12px 0"}},"No spans in the current selection"):U.default.createElement("div",{style:{display:"grid",gap:"10px"}},R.map(ge=>U.default.createElement("div",{key:ge.name,style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("span",{style:{color:E}},$E(ge.type)),U.default.createElement("span",{style:{fontSize:"13px",color:ge.errors>0?"#ef4444":Ne,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},ge.name)),U.default.createElement("div",{style:{flex:1,height:"18px",background:C?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},U.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(ge.total/T*100,.5)}%`,background:Z[ge.type]||"#6366f1"}})),U.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:E,fontFamily:Fe.mono,textAlign:"right"}},ge.count,"\xD7 \xB7 avg ",Er(ge.avg)," \xB7 max ",Er(ge.max)," \xB7 \u03A3 ",Er(ge.total)))))))};if(u)return U.default.createElement("div",{className:"flex items-center justify-center h-64"},U.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let K={requests:Y.reduce((C,T)=>C+T.requests,0),errors:Y.reduce((C,T)=>C+T.errors,0),avgLatency:(()=>{let C=Y.filter(T=>T.requests>0);return C.length===0?0:Math.round(C.reduce((T,X)=>T+X.avgLatency,0)/C.length)})(),throughput:(Y.reduce((C,T)=>C+T.requests,0)/L.minutes).toFixed(1)},I=n.length===0;return r?U.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},U.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},U.default.createElement("div",null,!t&&U.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),U.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),style:{padding:"6px 12px",background:k===C?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},C))),!e&&U.default.createElement("select",{value:g.agent,onChange:C=>x({...g,agent:C.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"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.action,onChange:C=>x({...g,action:C.target.value}),style:{padding:"8px 12px",background:g.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:g.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.status,onChange:C=>x({...g,status:C.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"}},U.default.createElement("option",{value:"all"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:b,onChange:C=>S(C.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"}},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(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&&U.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),U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,style:{display:"flex",alignItems:"center",gap:"6px"}},U.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:T}}),U.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},C.replace("Agent","")))))),U.default.createElement("div",{style:{height:"150px"}},U.default.createElement(Bl,{width:"100%",height:"100%"},U.default.createElement(vs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.8}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.1})))),U.default.createElement(qi,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),U.default.createElement(Zi,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:N}),U.default.createElement(Ji,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(ts,{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:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Gi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-${C})`}))))),U.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},K.requests),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},K.errors),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},K.avgLatency,"ms"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},K.throughput,"/min"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),k==="agents"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},de,U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px",whiteSpace:"nowrap"}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:g.agent===C.agent?"#ef4444":"inherit",font:"inherit"}},g.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},j.map(C=>{let T=g.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{x({...g,action:T?"all":C.key}),A("timeline")},style:{background:T?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:T?"1px solid #ef4444":`1px solid ${D[C.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:D[C.agent]}}),U.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},C.agent),U.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",C.action)),U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px"}},C.count," calls")),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),U.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),U.default.createElement("div",{style:{fontSize:"13px",color:C.errors>0?"#ef4444":"#10b981"}},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},G(C.tokens).toLocaleString()))))}))),k==="spans"&&Te(!0),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):_.map(C=>U.default.createElement(P1,{key:C.id,trace:C,darkMode:!0,expanded:p===C.id,onToggle:()=>v(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},U.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),U.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"))):U.default.createElement("div",{className:"space-y-6"},U.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},U.default.createElement("div",null,U.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),U.default.createElement("p",{className:"text-sm text-gray-500"},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},U.default.createElement(Jo,null),U.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${k===C?"bg-white shadow text-gray-900":"text-gray-600"}`},C))),U.default.createElement("select",{value:g.agent,onChange:C=>x({...g,agent:C.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"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.action,onChange:C=>x({...g,action:C.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${g.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.status,onChange:C=>x({...g,status:C.target.value}),className:"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"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:b,onChange:C=>S(C.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(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&&U.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),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},U.default.createElement("div",{className:"flex justify-between items-center mb-3"},U.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),U.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,className:"flex items-center gap-1.5"},U.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:T}}),U.default.createElement("span",{className:"text-xs text-gray-500"},C.replace("Agent","")))))),U.default.createElement("div",{className:"h-36"},U.default.createElement(Bl,{width:"100%",height:"100%"},U.default.createElement(vs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-light-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.6}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.05})))),U.default.createElement(qi,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),U.default.createElement(Zi,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:N}),U.default.createElement(Ji,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(ts,{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:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Gi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-light-${C})`}))))),U.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-gray-900"},K.requests),U.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-red-500"},K.errors),U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-green-600"},K.avgLatency,"ms"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-amber-500"},K.throughput,"/min"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),k==="agents"&&U.default.createElement("div",null,de,U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},className:g.agent===C.agent?"text-red-600":"hover:text-gray-700"},g.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},j.map(C=>{let T=g.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{x({...g,action:T?"all":C.key}),A("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${T?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:D[C.agent],borderLeftWidth:T?"2px":"4px"}},U.default.createElement("div",{className:"flex items-center justify-between mb-3"},U.default.createElement("div",{className:"flex items-center gap-2"},U.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:D[C.agent]}}),U.default.createElement("span",{className:"font-semibold text-gray-900"},C.agent),U.default.createElement("span",{className:"text-gray-500"},"#",C.action)),U.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls")),U.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),U.default.createElement("div",{className:"font-medium"},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),U.default.createElement("div",{className:"text-gray-600"},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),U.default.createElement("div",{className:C.errors>0?"text-red-600":"text-green-600"},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("div",{className:"text-gray-600"},G(C.tokens).toLocaleString()))))})),k==="tools"&&(P.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.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"},U.default.createElement("div",{className:"flex-1"},"Tool"),U.default.createElement("div",{className:"w-20 text-right"},"Calls"),U.default.createElement("div",{className:"w-24 text-right"},"Total time"),U.default.createElement("div",{className:"w-20 text-right"},"Avg"),U.default.createElement("div",{className:"w-20 text-right"},"Slowest")),P.map(C=>{let T=P[0].totalDuration?C.totalDuration/P[0].totalDuration*100:0;return U.default.createElement("div",{key:C.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},U.default.createElement("div",{className:"flex items-center gap-4 text-sm"},U.default.createElement("div",{className:"flex-1 min-w-0"},U.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:C.name},C.name),C.agents.length>0&&U.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:C.agents.join(", ")},C.agents.join(", "))),U.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Fe.mono}},C.count.toLocaleString(),C.errors>0&&U.default.createElement("span",{className:"text-red-600 ml-1",title:`${C.errors} failed`},"(",C.errors,")")),U.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Fe.mono}},Er(C.totalDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.avgDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.maxDuration))),U.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},U.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(T,1)}%`}})))}))),k==="spans"&&Te(!1),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):_.map(C=>U.default.createElement(P1,{key:C.id,trace:C,darkMode:!1,expanded:p===C.id,onToggle:()=>v(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{className:"text-center py-12"},U.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),U.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=te(ne());var D1=te(ne());function VE({trace:e,darkMode:t,height:r=8}){let n=Ir(t);if(!e)return D1.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let a=e.spans||[],o=e.duration_ms||1,i=[...a].sort((l,s)=>(l.nested||0)-(s.nested||0));return D1.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},i.map((l,s)=>D1.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${Er(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/o*100,99)}%`,width:`${Math.max(l.duration/o*100,.8)}%`,background:l.error?"#ef4444":BE[l.type]||"#9ca3af"}})))}var $se=e=>{let t=null;if((e?.generations||[]).forEach(o=>{let i=o.tokens||{},l=(i.input||0)+(i.output||0);l>0&&(!t||l>t.total)&&(t={input:i.input||0,output:i.output||0,cached:i.cached||0,thinking:i.thinking||0,model:o.model,total:l})}),!t)return null;let r=gs(e?.instructions),n=0;(e?.messages||[]).forEach(o=>{o.role==="tool"&&(n+=gs(o.content)+gs(o.tool_arguments))}),n=Math.min(n,t.input);let a=Math.max(t.input-r-n,0);return{used:t.total,limit:Fv(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}]}},J7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Use=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],Fse=[{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"}],Wse=3e4,tl=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),Hse=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 Vse({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:a}){let o=Ir(t),[i,l]=(0,ce.useState)(null),[s,u]=(0,ce.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,ce.useEffect)(()=>{if(!c)return;let v=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(y=>y.ok?y.json():Promise.reject(new Error("not found"))).then(({trace:y})=>v&&l(y)).catch(()=>v&&u(!0)),()=>{v=!1}},[c]);let f=!!i,p=(i?.spans||[]).length;return ce.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:o.hoverBg}:void 0},ce.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},ce.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:o.textSecondary}},ce.default.createElement("span",{title:e.cache_hit?`${tl(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?o.good:o.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&ce.default.createElement("span",{className:"text-amber-500",title:`${tl(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",tl(e.tokens.thinking)),ce.default.createElement("span",null,e.model||"unknown-model"),e.provider&&ce.default.createElement("span",null,e.provider),ce.default.createElement("span",{className:"text-blue-500"},"in:",tl(e.tokens.input)),ce.default.createElement("span",{className:"text-green-500"},"out:",tl(e.tokens.output)),e.finish_reason&&ce.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&ce.default.createElement("span",null,Er(d)),c&&ce.default.createElement("a",{href:Ge(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:o.link},className:"hover:underline",onClick:v=>v.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&ce.default.createElement("span",{style:{color:o.textMuted}},"trace unavailable")),ce.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?ce.default.createElement(VE,{trace:i,darkMode:t}):d>0?ce.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:o.trackBg}},ce.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:o.textMuted}},p," ",p===1?"span":"spans"),ce.default.createElement(Gu,{open:n,darkMode:t,size:12})))),n&&i&&ce.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:o.cardBg,borderColor:o.cardBorder}},ce.default.createElement(Yv,{trace:i,darkMode:t,compact:!0})))}function rl({agentId:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,ce.useState)([]),[o,i]=(0,ce.useState)(!0),[l,s]=(0,ce.useState)(null),[u,c]=(0,ce.useState)(null),[d,f]=(0,ce.useState)({}),{timeWindow:p}=Qo(),v=(0,ce.useCallback)(async()=>{try{let H=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!H.ok)throw new Error(`Request failed (${H.status})`);let D=await H.json();a(D.interactions||[]),s(null)}catch(H){s(H.message)}finally{i(!1)}},[p.minutes,e]);(0,ce.useEffect)(()=>{v();let H=setInterval(v,Wse);return()=>clearInterval(H)},[v]);let[y,h]=(0,ce.useState)("recent"),m=(0,ce.useMemo)(()=>{let H=[...new Set(n.map(D=>D.display_name).filter(Boolean))].sort();return Object.fromEntries(H.map((D,Y)=>[D,J7[Y%J7.length]]))},[n]),g=(0,ce.useMemo)(()=>{let H=n.reduce((Y,N)=>Y+(N.tokens?.total||0),0),D=new Set(n.map(Y=>Y.display_name).filter(Boolean));return{interactions:n.length,tokens:H,agents:D.size,avgTokens:n.length?Math.round(H/n.length):0}},[n]),x=(0,ce.useMemo)(()=>{if(n.length===0)return[];let H=Date.now(),D=p.bucketSeconds*1e3,Y=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),N=Object.keys(m);return Array.from({length:Y},(_,z)=>{let j=H-(Y-1-z)*D,P=j-D,B=n.filter(R=>{let F=new Date(R.last_activity_at).getTime();return F>=P&&F1440?new Date(j).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(j).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(N.map(R=>[R,B.filter(F=>F.display_name===R).length]))}})},[n,m,p]),b=Math.max(0,Math.ceil(x.length/6)-1),S=(0,ce.useCallback)(H=>{let D=[...H];switch(y){case"tokens":return D.sort((Y,N)=>(N.tokens?.total||0)-(Y.tokens?.total||0));case"messages":return D.sort((Y,N)=>(N.message_count||0)-(Y.message_count||0));default:return D.sort((Y,N)=>String(N.last_activity_at).localeCompare(String(Y.last_activity_at)))}},[y]),w=(0,ce.useMemo)(()=>{let H=new Map;n.forEach(Y=>{let N=Y.agent_name||Y.agent?.name||"Unattributed",_=Y.action_name,z=`${N}#${_||""}`;H.has(z)||H.set(z,{key:z,title:_?`${N} ${_.charAt(0).toUpperCase()}${_.slice(1)} Agent Interactions`:`${N} Interactions`,sessions:[],tokens:0,lastActivity:Y.last_activity_at});let j=H.get(z);j.sessions.push(Y),j.tokens+=Y.tokens?.total||0,Y.last_activity_at>j.lastActivity&&(j.lastActivity=Y.last_activity_at)});let D=[...H.values()].map(Y=>({...Y,sessions:S(Y.sessions)}));return y==="tokens"?D.sort((Y,N)=>N.tokens-Y.tokens):y==="messages"?D.sort((Y,N)=>N.sessions.length-Y.sessions.length):D.sort((Y,N)=>String(N.lastActivity).localeCompare(String(Y.lastActivity)))},[n,y,S]),O=async H=>{if(u===H){c(null);return}if(c(H),!d[H])try{let D=await fetch(`/api/interactions/${H}`);if(D.ok){let Y=await D.json();f(N=>({...N,[H]:Y.interaction}))}}catch{}},[k,A]=(0,ce.useState)({}),[M,W]=Uf(),L=Ir(r);return o?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:L.textPrimary}},"Interactions"),ce.default.createElement("p",{className:"text-sm mt-1",style:{color:L.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:L.textMuted}},"Sort"),Use.map(H=>ce.default.createElement("button",{key:H.id,onClick:()=>h(H.id),className:"px-2 py-1 text-xs rounded transition-colors",style:y===H.id?{background:r?"#2a2a2a":"#ffffff",color:L.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:L.textSecondary}},H.label))),ce.default.createElement(Jo,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:L.cardBg,borderColor:L.cardBorder}},ce.default.createElement("div",{className:"flex items-center justify-between mb-3"},ce.default.createElement("h3",{className:"text-sm font-semibold",style:{color:L.textPrimary}},"Interactions over time"),ce.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(m).map(([H,D])=>ce.default.createElement("span",{key:H,className:"flex items-center gap-1.5 text-xs",style:{color:L.textSecondary}},ce.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:D}}),H)))),ce.default.createElement("div",{className:"h-32"},ce.default.createElement(Bl,{width:"100%",height:"100%"},ce.default.createElement(vs,{data:x},ce.default.createElement("defs",null,Object.entries(m).map(([H,D])=>ce.default.createElement("linearGradient",{key:H,id:`ix-gradient-${H.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},ce.default.createElement("stop",{offset:"5%",stopColor:D,stopOpacity:.6}),ce.default.createElement("stop",{offset:"95%",stopColor:D,stopOpacity:.05})))),ce.default.createElement(qi,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),ce.default.createElement(Zi,{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:b}),ce.default.createElement(Ji,{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(ts,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${L.cardBorder}`,borderRadius:"8px"},labelStyle:{color:L.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(m).map(([H,D])=>ce.default.createElement(Gi,{key:H,type:"monotone",dataKey:H,stackId:"1",stroke:D,strokeWidth:2,fill:`url(#ix-gradient-${H.replace(/\W/g,"-")})`}))))),ce.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:L.cardBorder}},[{label:"Interactions",value:g.interactions.toLocaleString()},{label:"Agents",value:g.agents.toLocaleString()},{label:"Total tokens",value:tl(g.tokens)},{label:"Avg / interaction",value:tl(g.avgTokens)}].map(H=>ce.default.createElement("div",{key:H.label},ce.default.createElement("div",{className:"text-lg font-bold",style:{color:L.textPrimary}},H.value),ce.default.createElement("div",{className:"text-xs",style:{color:L.textSecondary}},H.label))))),n.length===0?ce.default.createElement("div",{className:"text-center py-12"},ce.default.createElement("div",{className:"text-lg",style:{color:L.textMuted}},"No interactions in the last ",p.label),ce.default.createElement("p",{className:"text-sm mt-2",style:{color:L.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):ce.default.createElement("div",{className:"space-y-8"},w.map(H=>ce.default.createElement("div",{key:H.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:L.textPrimary}},H.title),ce.default.createElement("span",{className:"text-xs",style:{color:L.textMuted}},H.sessions.length," ",H.sessions.length===1?"interaction":"interactions",H.tokens>0&&` \xB7 ${tl(H.tokens)} tokens`)),H.sessions.map(D=>{let Y=d[D.id],N=u===D.id,_=k[D.id]||"conversation";return ce.default.createElement(M1,{key:D.id,darkMode:r,className:"shadow-sm"},ce.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:()=>O(D.id),style:N?{background:L.hoverBg}:void 0},ce.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},D.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:L.textPrimary}},D.display_name),D.agent&&ce.default.createElement("span",{className:"text-sm truncate",style:{color:L.textSecondary}},D.agent.name),D.service_name&&ce.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:L.textMuted}},D.service_name)),ce.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:L.textSecondary}},ce.default.createElement("span",null,D.message_count>0?`${D.message_count} messages`:`${D.tool_count||0} tool ${D.tool_count===1?"call":"calls"}`),ce.default.createElement("span",null,tl(D.tokens?.total)," tokens"),(D.tokens?.total||0)>0&&ce.default.createElement(ys,{compact:!0,darkMode:r,label:"Context",used:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total,limit:Fv(D.model),segments:[{key:"messages",label:"Context",tokens:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total}]}),ce.default.createElement("span",{style:{color:L.textMuted}},Hse(D.last_activity_at)),ce.default.createElement(Gu,{open:N,darkMode:r}))),!N&&ce.default.createElement($f,{darkMode:r,onClick:()=>O(D.id),style:{padding:"0 16px 12px"},lines:[{label:"input",text:D.preview?.input,color:gr("user",r).color},{label:"output",text:D.preview?.output,color:gr("assistant",r).color}]}),N&&ce.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:L.cardBorder,background:L.innerBg}},Y?ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},ce.default.createElement(qv,{options:Fse,value:_,onChange:z=>A(j=>({...j,[D.id]:z})),darkMode:r}),ce.default.createElement("span",{className:"text-xs",style:{color:L.textSecondary}},Y.messages.length," ",Y.messages.length===1?"message":"messages",Y.generations.length>0&&` \xB7 ${Y.generations.length} ${Y.generations.length===1?"generation":"generations"}`)),_==="conversation"&&ce.default.createElement(ce.default.Fragment,null,Y.messages.length===0&&ce.default.createElement("div",{className:"text-sm",style:{color:L.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(so,{darkMode:r,messages:Y.instructions?[{id:`ctx-${D.id}-system`,role:"system",content:Y.instructions,created_at:D.created_at},...Y.messages]:Y.messages}),(()=>{let z=$se(Y);return z?ce.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:L.cardBorder}},ce.default.createElement(ys,{...z,label:"Context pressure",estimated:!0,darkMode:r})):null})()),_==="spans"&&(Y.generations.length===0?ce.default.createElement("div",{className:"text-sm",style:{color:L.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):ce.default.createElement("div",{className:"space-y-2"},Y.generations.map(z=>ce.default.createElement(Vse,{key:z.id,generation:z,darkMode:r,maxMs:Math.max(...Y.generations.map(j=>(j.duration_seconds||0)*1e3),1),expanded:M(`${D.id}:${z.id}`),onToggle:()=>W(`${D.id}:${z.id}`)}))))):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=te(ne());function e$(e,t){let r=i=>{let l=Object.values(t[i]||{})[0];if(!l)return null;let s=l.scenario||l;return{key:i,prompt:s.prompt,group:s.group??null,notes:s.notes??null,expectations:s.expectations||{},position:s.position}},n=new Set(e.map(i=>i.key)),a=e.map(i=>{let l=r(i.key);if(!l)return i;let s=["prompt","group","notes","expectations"].some(u=>JSON.stringify(i[u]??null)!==JSON.stringify(l[u]??null));return{...i,...l,catalogChanged:s}}),o=Object.keys(t).filter(i=>!n.has(i)).map(i=>({...r(i),id:null,enabled:!1,orphan:!0}));return[...a,...o]}var R7=e=>/^[1-9]\d*$/.test(e||"")?e:null;function I1(e){let t=new URLSearchParams(e),r=R7(t.get("evaluation"));return r?{evaluationId:r,runId:R7(t.get("run"))}:null}async function t$(e,t,r){if(!t||e.some(o=>String(o.id)===String(t)))return e;let n=await r(`/api/evaluations/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`Requested evaluation is unavailable (HTTP ${n.status})`);let a=await n.json();if(!a.evaluation)throw new Error("Requested evaluation is unavailable");return[a.evaluation,...e]}var Pe=te(ne());var Gt=te(ne());var ye="var(--font-mono)",Qu=e=>e>=1?"success":e>=.7?"warning":"error",nl={success:{strong:"var(--color-success)",soft:"var(--color-success-soft)",text:"var(--color-success-text)"},warning:{strong:"var(--color-warning)",soft:"var(--color-warning-soft)",text:"var(--color-warning-text)"},error:{strong:"var(--color-error)",soft:"var(--color-error-soft)",text:"var(--color-error-text)"},info:{strong:"var(--color-info)",soft:"var(--color-info-soft)",text:"var(--color-info-text)"},muted:{strong:"var(--color-text-muted)",soft:"var(--color-muted)",text:"var(--color-text-secondary)"},accent:{strong:"var(--color-accent-ui)",soft:"var(--color-accent-ui-tint)",text:"var(--color-accent-ui)"}},KE={object:"=",sample:"~",pass:Ut.success,fault:Ut.error,info:Ut.info,on:"[x]",off:"[ ]",link:Ut.arrow,chevron:Ut.chevronRight};function Ju({kind:e="pass",open:t=!1,color:r,size:n=12,weight:a=700,style:o,title:i}){return e==="chevron"?Gt.default.createElement("span",{className:"aa-chevron","data-open":t?"true":"false",title:i,style:{fontFamily:ye,fontSize:n,color:r||"var(--color-text-muted)",flexShrink:0,...o}},KE.chevron):Gt.default.createElement("span",{title:i,style:{fontFamily:ye,fontSize:n,fontWeight:a,color:r||(e==="fault"?"var(--color-error)":e==="info"?"var(--color-info)":e==="pass"?"var(--color-success)":"var(--color-text-muted)"),flexShrink:0,...o}},KE[e]||e)}function or({tone:e="muted",size:t=11,children:r,title:n,style:a,testId:o}){let i=nl[e]||nl.muted;return Gt.default.createElement("span",{"data-testid":o,title:n,style:{display:"inline-flex",alignItems:"center",padding:"2px 7px",borderRadius:4,fontFamily:ye,fontSize:t,fontWeight:600,whiteSpace:"nowrap",background:i.soft,color:i.text,...a}},r)}function rt({children:e,size:t=11,color:r="var(--color-text-secondary)",spacing:n="0.06em",style:a,as:o="span"}){return Gt.default.createElement(o,{style:{fontFamily:ye,fontSize:t,fontWeight:600,letterSpacing:n,textTransform:"uppercase",color:r,...a}},e)}function al({selected:e=!1,onClick:t,children:r,square:n=!1,mono:a=!1,title:o,style:i,testId:l}){return Gt.default.createElement("button",{type:"button","data-testid":l,onClick:t,title:o,style:{padding:"4px 10px",borderRadius:n?6:999,cursor:t?"pointer":"default",fontFamily:a?ye:"inherit",fontSize:a?11:12,fontWeight:a?400:500,background:e?"var(--color-accent-ui-tint)":"var(--color-card)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border)"}`,color:e?"var(--color-accent-ui)":a?"var(--color-text-muted)":"var(--color-text-cell)",...i}},r)}function j1({options:e,value:t,onChange:r,style:n}){return Gt.default.createElement("div",{style:{display:"flex",gap:4,...n},role:"group"},e.map(a=>{let o=a.value===t;return Gt.default.createElement("button",{key:a.value,type:"button",onClick:()=>r(a.value),"aria-pressed":o,style:{padding:"6px 12px",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:500,background:"var(--color-card)",border:`1px solid ${o?"var(--color-accent-ui)":"var(--color-border)"}`,color:o?"var(--color-accent-ui)":"var(--color-text-cell)"}},a.label)}))}function zr({variant:e="secondary",size:t="md",children:r,onClick:n,disabled:a=!1,title:o,type:i="button",style:l,testId:s}){let c={padding:t==="sm"?"6px 12px":"8px 14px",borderRadius:8,cursor:a?"not-allowed":"pointer",fontSize:13,fontWeight:500,opacity:a?.5:1,whiteSpace:"nowrap",fontFamily:"inherit"},d={primary:{background:"var(--color-accent-ui)",color:"var(--color-on-accent)",border:"1px solid transparent"},secondary:{background:"transparent",color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)"},danger:{background:"transparent",color:"var(--color-error)",border:"1px solid transparent"},ghost:{background:"transparent",color:"var(--color-text-secondary)",border:"1px solid transparent"}};return Gt.default.createElement("button",{type:i,"data-testid":s,onClick:n,disabled:a,title:o,style:{...c,...d[e]||d.secondary,...l}},r)}function yr({children:e,padding:t=20,style:r,className:n,testId:a,...o}){return Gt.default.createElement("div",{"data-testid":a,className:n,style:{background:"var(--color-card)",border:"1px solid var(--color-border)",borderRadius:12,padding:t,...r},...o},e)}function Xv({label:e,value:t,sub:r,valueColor:n,valueSize:a=32,testId:o}){return Gt.default.createElement(yr,{testId:o},Gt.default.createElement(rt,{size:11,spacing:"0.05em"},e),Gt.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:a,fontWeight:700,lineHeight:1.1,color:n||"var(--color-text-primary)"}},t),r!=null&&Gt.default.createElement("div",{style:{marginTop:8,fontSize:13,color:"var(--color-text-secondary)"}},r))}function qE({title:e,meta:t,children:r,style:n,testId:a,bodyStyle:o}){return Gt.default.createElement("div",{"data-testid":a,style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0,...n}},(e||t)&&Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--color-muted)"}},e&&Gt.default.createElement(rt,null,e),t&&Gt.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t)),Gt.default.createElement("div",{style:o},r))}function r$({passed:e,total:t,label:r,labelWidth:n=128,width:a,height:o=6,color:i,valueWidth:l=38,style:s}){let u=t?e/t:0,c=i||nl[Qu(u)].strong;return Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,...s}},r!=null&&Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)",width:n,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r},r),Gt.default.createElement("span",{style:{flex:a?void 0:1,width:a,height:o,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0}},Gt.default.createElement("span",{style:{display:"block",width:`${Math.round(u*100)}%`,height:"100%",borderRadius:999,background:c}})),Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,width:l,textAlign:"right",color:c}},e,"/",t))}function Ff({children:e,onClick:t,href:r="#",color:n="var(--color-info)",size:a=11,style:o,title:i}){return Gt.default.createElement("a",{href:r,title:i,onClick:l=>{t&&(l.preventDefault(),t(l))},style:{fontFamily:ye,fontSize:a,color:n,textDecoration:"none",...o}},e," ",KE.link)}function aa({children:e,style:t}){return Gt.default.createElement("div",{style:{padding:"20px 12px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)",textAlign:"center",...t}},e)}var hr=e=>{let t=Number(e)||0;return Math.abs(t)>=1e6?`${(t/1e6).toFixed(1)}M`:Math.abs(t)>=1e3?`${(t/1e3).toFixed(1)}K`:`${Math.round(t)}`},YE=e=>e==null?"\u2014":hr(e),Qr=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(t>=1e4?1:2).replace(/\.?0+$/,"")}s`:`${Math.round(t)}ms`},Zv=e=>{if(e==null)return"\u2014";let t=Number(e);return t===0?"$0.00":Math.abs(t)<.01?`$${t.toFixed(4)}`:`$${t.toFixed(2)}`},uo=(e,t=4)=>e==null?"\u2014":`$${Number(e).toFixed(t)}`,n$=(e,t=0)=>`${(Number(e||0)*100).toFixed(t)}%`,Ru=e=>e==null?"\u2014":Number(e).toFixed(2),Wf=(e,t="%",r=0)=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let n=Number(e);return`${n>0?"+":n<0?"-":""}${Math.abs(n).toFixed(r)}${t}`},Hf=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t} min ago`;if(t<1440){let n=Math.floor(t/60);return`${n} hour${n===1?"":"s"} ago`}let r=Math.floor(t/1440);return`${r} day${r===1?"":"s"} ago`},z1=(e,t=null)=>{let r=String(e||""),n=r.lastIndexOf("/");return n>0?{short:r.slice(n+1),provider:r.slice(0,n)}:{short:r,provider:t||""}};var se=te(ne());var xs=e=>[...new Set(e)],Xt=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Qv=e=>String(e||"").replace(/_/g," "),bs=e=>e?.status==="passed",ec=e=>!!e&&e.status!=="pending",ws=e=>!!e&&["pending","running"].includes(e.status),B1=e=>e?.selection||e?.scores?._selection||{},Kse=e=>(B1(e).models||[]).map(t=>typeof t=="string"?t:t?.label).filter(Boolean);function L1(e,t=[],r=null){if(Array.isArray(e?.models)&&e.models.length)return e.models;let n=Object.keys(e?.scores?._models||{});if(n.length)return n;let a=Kse(e);if(a.length)return a;let o=xs(t.map(l=>Rv(e,l)));if(o.length)return o;let i=r?.compare_models||[];return i.length?i:e?["agent's model"]:[]}function Rv(e,t){let n=(B1(e).models||[]).filter(i=>i&&typeof i=="object").find(i=>i.model===t.model&&(i.provider||"")===(t.provider||""));if(n?.label)return n.label;let a=e?.scores?._models||{};if(a[t.model])return t.model;let o=[t.provider,t.model].filter(Boolean).join("/");return a[o]?o:t.model}function XE(e,t){let r=e?.scores?._models?.[t],n=(B1(e).models||[]).find(a=>a&&typeof a=="object"&&a.label===t);return z1(t,r?.provider||n?.provider||"")}function ZE(e,t=[]){let r=B1(e);if(Array.isArray(r.scenario_keys)&&r.scenario_keys.length)return r.scenario_keys;if(!e)return[];if(Array.isArray(r.keys)&&r.keys.length)return r.keys;if(Array.isArray(r.scenario_ids)&&r.scenario_ids.length){let a=r.scenario_ids.map(String);return t.filter(o=>a.includes(String(o.id))).map(o=>o.key)}let n=t.filter(a=>a.enabled!==!1);return r.group?n.filter(a=>a.group===r.group).map(a=>a.key):ws(e)?n.map(a=>a.key):[]}function Jv(e,t=[],r=[]){let n=ZE(e,r);if(n.length)return n.length;let a=Object.values(e?.scores?._models||{});return a.length?Math.max(...a.map(o=>o.scenarios||0)):e?.samples_evaluated&&t.length?Math.round(e.samples_evaluated/t.length):0}function a$(e,t,r=[],n=0){let a=e?.scores?._models?.[t];if(a&&a.scenarios!=null)return{passed:a.passed||0,total:a.scenarios||0};let o=r.filter(i=>Rv(e,i)===t);return{passed:o.filter(bs).length,total:n||o.length}}function QE(e,t=[],r=[],n=[]){if(e?.status==="complete"&&e.samples_evaluated!=null)return{passed:e.samples_passed||0,total:e.samples_evaluated||0};let a=Jv(e,r,n)*Math.max(r.length,1);return{passed:t.filter(bs).length,total:a}}function o$(e,t=[]){let r=[],n={};return(Array.isArray(e)?e:[]).forEach(a=>{let o=typeof a=="string"?a:String(a?.name||"");o&&(n[o]||(n[o]={name:o,count:0,errored:!1},r.push(o)),n[o].count+=1,a&&typeof a=="object"&&a.error&&(n[o].errored=!0))}),r.map(a=>{let o=n[a],i=t.includes(a);return{...o,hit:i,label:`${a}${o.errored?" \u2717":""}${o.count>1?` \xD7${o.count}`:""}`,color:o.errored?"var(--color-error)":i?"var(--color-success-text)":"var(--color-text-muted)",weight:o.errored||i?600:400}})}var qse=(e,t)=>{let r=String(e||"").trim();return r.length>t?`${r.slice(0,t-1)}\u2026`:r},GE=e=>e?.diagnosis?.judge?.instruction_change;function i$(e,t=[]){let r=e?.scores?._recommendations||[];if(Array.isArray(e?.fix_items)){let o=r.length>0||t.some(GE);if(e.fix_items.length>0||!o)return e.fix_items}let n=r.map(o=>Yse(o,t)),a=new Set;return t.forEach(o=>{let i=GE(o);if(!i||a.has(i))return;a.add(i);let l=t.filter(s=>GE(s)===i);n.push({kind:"instruction",fault:"instruction change",count:l.length,scenario_keys:xs(l.map(s=>s.scenario_key)),models:xs(l.map(s=>Rv(e,s))),recommendation:o.diagnosis.judge.recommendation||o.recommendation||"",quote:i,tools_label:null,tools:[],server:null,note:null,action:{label:"Add to instructions",hint:"Agent -> Instructions",path:null}})}),n}function Yse(e,t){let r=e.fault,n=t.filter(u=>u.fault===r),a=(e.suggested_tools||[]).map(u=>typeof u=="string"?u:u?.name).filter(Boolean),o=null,i=[],l=null,s=null;if(r==="expected_tool_not_called"){o="missing tools";let u=xs(n.flatMap(d=>d.diagnosis?.evidence?.unavailable||[]));u.length||(u=xs(n.flatMap(d=>{let f=d.diagnosis?.evidence||{};return(f.expected||[]).filter(p=>!(f.called||[]).includes(p))}))),i=u.map(d=>({name:d,note:null,server:null}));let c=n.filter(d=>d.diagnosis?.summary&&(d.diagnosis?.evidence?.unavailable||[]).length===0);c.length&&c.length`${d.scenario_key} is the exception: ${d.diagnosis.summary} ${d.diagnosis.recommendation||""}`.trim()).join(" "))}else if(r==="tool_error"){o="failing tools";let u={};n.forEach(c=>(c.tool_calls||[]).forEach(d=>{!d||typeof d!="object"||!d.error||!d.name||u[d.name]||(u[d.name]={name:d.name,note:qse(d.detail,60)||null,server:null})})),i=Object.values(u),s={label:"Open failing tools",hint:"Tools ->",path:"/tools"}}else o=a.length?"suggested tools":null,i=xs(a).map(u=>({name:u,note:null,server:null}));return!s&&o==="suggested tools"&&i.length&&(s={label:"Open suggested tools",hint:"Tools ->",path:"/tools"}),{kind:"fault",fault:r,count:e.count||n.length,scenario_keys:e.scenario_keys||xs(n.map(u=>u.scenario_key)),models:e.models||[],recommendation:e.recommendation||"",quote:null,tools_label:o,tools:i,server:null,note:l,action:s}}var un=(e,t="var(--color-text-muted)",r={})=>({fontFamily:ye,fontSize:e,color:t,...r});function l$({calls:e,empty:t,style:r}){return se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"2px 8px",fontFamily:ye,fontSize:11,...r}},e.map(n=>se.default.createElement("span",{key:n.name,style:{color:n.color,fontWeight:n.weight}},n.label)),e.length===0&&se.default.createElement("span",{style:{color:"var(--color-text-muted)"}},t))}var Gse=20,$1=(e=[],t=null)=>Number.isFinite(t)?Math.max(t,e.length):e.length,Xse=(e=[],t=null)=>{let r=$1(e,t),n=e.length=Gse;return`${Xt(r,"run")}${n?` \xB7 latest ${e.length}`:""}`};function s$({runs:e,runCount:t=null,selectedId:r,onSelect:n,agentName:a,selectedResults:o=[],scenarios:i=[]}){let l=$1(e,t),s=c=>l-c,u=e.map((c,d)=>{let f=L1(c,c.id===r?o:[]),p=c.id===r?o:[],v=Jv(c,f,i),y=QE(c,p,f,i),h=c.selection||c.scores?._selection||{},m="first run",g="var(--color-text-muted)";if(c.status==="failed")m="failed",g="var(--color-error)";else if(ws(c))m=c.status==="pending"?"queued":"running";else{let x=e.findIndex((S,w)=>w>d&&S.status==="complete"),b=x>=0?e[x]:null;if(b){let S=L1(b);if(Jv(b,S,i)===v&&S.length===f.length){let O=y.passed-(b.samples_passed||0);m=`${O>0?"+":""}${O} passed vs #${s(x)}`,g=O>0?"var(--color-success)":O<0?"var(--color-error)":"var(--color-text-muted)"}else m="partial run"}}return{run:c,label:`#${s(d)}`,when:Hf(c.completed_at||c.created_at),delta:m,deltaColor:g,note:`${a} \xB7 ${Xt(v,"scenario")} \xD7 ${Xt(f.length,"model")}${h.group?` \xB7 ${h.group}`:""}`,bars:f.map(x=>({label:x,...a$(c,x,p,v)})),selected:c.id===r}});return se.default.createElement(qE,{title:"Runs",meta:Xse(e,t),testId:"suite-runs-panel"},u.length===0&&se.default.createElement(aa,null,"[ ] no runs yet"),u.map(c=>se.default.createElement("div",{key:c.run.id,onClick:()=>n(c.run.id),className:c.selected?void 0:"hover:bg-[var(--color-hover)]","data-selected":c.selected?"true":"false",style:{padding:"10px 12px 10px 10px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:c.selected?"var(--color-muted)":void 0,borderLeft:`2px solid ${c.selected?"var(--color-accent-ui)":"transparent"}`}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},c.label),se.default.createElement("span",{style:{fontSize:11,color:"var(--color-text-muted)"}},c.when),se.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:c.deltaColor}},c.delta)),se.default.createElement("div",{style:{...un(11),marginTop:2,textWrap:"pretty"}},c.note),c.bars.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8}},c.bars.map(d=>se.default.createElement(r$,{key:d.label,label:z1(d.label).short,passed:d.passed,total:d.total}))))))}function u$({run:e,columns:t,results:r=[],scenarioCount:n=0,judgedBy:a,verdict:o}){let i=e?.scores?._models||{};return se.default.createElement(qE,{title:"Models",meta:a?`judged by ${a}`:null,testId:"suite-models-panel"},t.length===0&&se.default.createElement(aa,null,"[ ] no models scored yet"),t.map(l=>{let{short:s,provider:u}=XE(e,l),c=i[l],{passed:d,total:f}=a$(e,l,r,n),p=f?d/f:0,v=nl[Qu(p)].strong,y=Object.entries(c?.faults||{}),h=o?.winner===l;return se.default.createElement("div",{key:l,style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:l},s),u&&se.default.createElement("span",{style:un(11)},u),h&&se.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"},testId:"judges-pick"},"judge's pick"),se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10}},se.default.createElement("span",{style:{width:120,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},se.default.createElement("span",{style:{display:"block",width:`${Math.round(p*100)}%`,height:"100%",borderRadius:999,background:v}})),se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:v}},`${d}/${f}`))),se.default.createElement("div",{style:{display:"flex",gap:14,flexWrap:"wrap",fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)"}},se.default.createElement("span",null,"score ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},c?.avg_score!=null?Number(c.avg_score).toFixed(3):"\u2014")),se.default.createElement("span",null,"latency ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},Qr(c?.avg_duration_ms))),se.default.createElement("span",{style:{whiteSpace:"nowrap"}},se.default.createElement("span",{style:{color:"var(--color-token-in)"}},"in")," ",YE(c?.input_tokens)," \xB7 ",se.default.createElement("span",{style:{color:"var(--color-token-out)"}},"out")," ",YE(c?.output_tokens)),se.default.createElement("span",null,"cost ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},uo(c?.cost)))),se.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap"}},y.map(([m,g])=>se.default.createElement(or,{key:m,tone:"error"},`${Qv(m)} \xD7${g}`)),c&&y.length===0&&se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-success-text)"}},"[+] no faults"),!c&&ws(e)&&se.default.createElement("span",{style:un(11)},"scoring\u2026")))}),o?.rationale&&se.default.createElement("div",{style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),o.rationale))}function c$({items:e,columns:t=[],agentName:r,onNavigate:n,onOpenScenario:a}){let o=i=>{let l=Xt((i.scenario_keys||[]).length,"scenario");if(i.kind==="instruction")return`${(i.scenario_keys||[]).join(", ")} \xB7 judge suggestion`;let s=xs(i.models||[]);if(t.length<=1||s.length===0)return l;let c=s.length>=t.length?t.length===2?"both models":"all models":s.map(d=>z1(d).short).join(", ");return`${l} \xB7 ${c}`};return se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},e.map((i,l)=>{let s=i.kind==="instruction",u=s?"info":"error",c=[],d=new Set;(i.tools||[]).forEach(y=>{let h=typeof y=="string"?y:y?.name;!h||d.has(h)||(d.add(h),c.push({name:h,note:typeof y=="object"&&(y.note||y.server?.name)||null}))});let f=i.server,p=f?.status==="enabled",v=r||"the agent";return se.default.createElement("div",{key:`${i.fault}-${l}`,"data-testid":"scenario-recommendation",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},se.default.createElement(Ju,{kind:s?"info":"fault"}),se.default.createElement(or,{tone:u},`${Qv(i.fault)}${i.count>1?` \xD7${i.count}`:""}`),a&&(i.scenario_keys||[]).length>0?se.default.createElement("button",{type:"button",onClick:()=>a(i.scenario_keys),title:`Show ${(i.scenario_keys||[]).join(", ")} \u2014 the question, the answer and the tools it called`,style:{...un(11),background:"none",border:0,padding:0,cursor:"pointer",color:"var(--color-text-link, var(--color-text-primary))",textDecoration:"underline",textUnderlineOffset:2}},o(i)):se.default.createElement("span",{style:un(11)},o(i))),i.recommendation&&se.default.createElement("p",{style:{margin:0,fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},i.recommendation),i.quote&&se.default.createElement("div",{style:{background:"var(--color-muted)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",fontStyle:"italic"}},"\u201C",i.quote,"\u201D"),c.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},i.tools_label||"tools"),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:6}},c.map(y=>se.default.createElement("span",{key:y.name,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,maxWidth:"100%"}},se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},y.name),y.note&&se.default.createElement("span",{style:{color:"var(--color-text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:y.note},y.note))))),f&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",fontSize:12,color:"var(--color-text-cell)"}},se.default.createElement("span",null,"served by"),se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},f.name||f.key),se.default.createElement(or,{tone:p?"success":"warning",size:10,style:{padding:"1px 6px"}},p?`enabled for ${v}`:`${f.status||"unknown"} \xB7 not enabled for ${v}`)),i.note&&se.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-secondary)",textWrap:"pretty"}},i.note),i.action&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto",paddingTop:2,flexWrap:"wrap"}},i.action.path&&se.default.createElement(zr,{size:"sm",onClick:()=>n?.(i.action.path)},i.action.label),i.action.hint&&se.default.createElement("span",{style:{...un(11),whiteSpace:"nowrap"}},i.action.hint)))}))}var Zse=e=>`minmax(240px, 1.6fr) 150px ${e.map(()=>"minmax(170px, 1fr)").join(" ")}`;function Qse({result:e,expects:t,pending:r}){if(!e)return se.default.createElement("span",{style:{...un(12),fontWeight:600}},r?"\u2026":"\u2014");if(!ec(e))return se.default.createElement("span",{style:{...un(12),fontWeight:600}},"\u2026");let n=bs(e),a=n?"var(--color-success)":"var(--color-error)",o=o$(e.tool_calls,t);return se.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap",fontFamily:ye,fontSize:12}},se.default.createElement("span",{style:{fontWeight:700,color:a}},n?"[+]":"[!]"),se.default.createElement("span",{style:{fontWeight:600,color:a}},Ru(e.score)),e.fault&&se.default.createElement("span",{style:{fontSize:11,color:"var(--color-error-text)"}},Qv(e.fault))),se.default.createElement(l$,{calls:o,empty:"no tools called"}))}function d$({rows:e,columns:t,run:r,resultsByKey:n,runKeys:a,running:o,openKey:i,onToggleRow:l,emptyLabel:s,renderDetail:u}){let c=Zse(t),d=e.some(p=>p.group),f=[];return e.forEach(p=>{let v=p.group||"",y=f.find(h=>h.name===v);y||(y={name:v,rows:[]},f.push(y)),y.rows.push(p)}),se.default.createElement("div",{style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflowX:"auto"}},se.default.createElement("div",{style:{minWidth:Math.max(760,400+180*t.length)}},se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"8px 12px",background:"var(--color-muted)",alignItems:"end"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Scenario"),se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Expects"),t.map(p=>{let{short:v,provider:y}=XE(r,p);return se.default.createElement("span",{key:p,style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},title:p},se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},v),se.default.createElement("span",{style:un(10)},y||"\xA0"))})),f.map(p=>{let v=p.rows.filter(h=>a.has(h.key)||n[h.key]),y=t.map(h=>{let g=v.filter(S=>ec(n[S.key]?.[h])).filter(S=>bs(n[S.key][h])).length,x=v.length,b=x&&g===x?"var(--color-success-text)":g===0?"var(--color-error-text)":"var(--color-text-cell)";return{label:h,text:x?`${g}/${x} passed`:"\u2014",color:b}});return se.default.createElement("div",{key:p.name||"__ungrouped"},(p.name||d)&&se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"7px 12px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",alignItems:"center"}},se.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},p.name||"ungrouped"),se.default.createElement("span",{style:un(11)},Xt(p.rows.length,"scenario")),y.map(h=>se.default.createElement("span",{key:h.label,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:h.color}},h.text))),p.rows.map(h=>{let m=i===h.key,g=h.expectations?.tools||[],x=a.has(h.key)||!!n[h.key],b=h.enabled===!1;return se.default.createElement("div",{key:h.key},se.default.createElement("div",{"data-testid":"scenario-row","data-scenario-key":h.key,onClick:()=>l(h.key),className:m?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:m?"var(--color-muted)":void 0,opacity:b?.5:1}},se.default.createElement("div",{style:{minWidth:0}},se.default.createElement("div",{style:{...un(11),marginBottom:2}},`${h.key}${b?" \xB7 disabled":""}`),se.default.createElement("div",{style:{fontSize:13,lineHeight:"18px",color:"var(--color-text-primary)",textWrap:"pretty"}},h.prompt)),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignContent:"flex-start",minWidth:0}},g.map(S=>se.default.createElement("span",{key:S,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"}},S)),g.length===0&&(h.expectations?.contains||[]).map(S=>se.default.createElement("span",{key:`contains-${S}`,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:"the answer must contain this"},`contains: ${S}`))),t.map(S=>se.default.createElement(Qse,{key:S,result:n[h.key]?.[S],expects:g,pending:o&&x}))),m&&u(h))}))}),e.length===0&&se.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)"}},s||"[+] nothing failed in this group")))}function Jse(e){let t=[];return e.duration_ms!=null&&t.push(Qr(e.duration_ms)),(e.input_tokens!=null||e.output_tokens!=null)&&t.push(`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`),e.cost!=null&&t.push(uo(e.cost)),t.join(" \xB7 ")}function Rse({label:e,run:t,result:r,expects:n,running:a}){let{short:o}=XE(t,e),i=se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:e},o),l=(m,g)=>se.default.createElement("div",{"data-testid":"scenario-result-detail",style:{background:"var(--color-card)",border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},i,g),se.default.createElement("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:10}},m));if(!r||!ec(r))return l(se.default.createElement("span",{style:un(11)},a?"waiting for this replay\u2026":"not part of this run"),se.default.createElement(or,{tone:"muted"},a?"pending":"no result"));let u=bs(r)?"success":"error",c=o$(r.tool_calls,n),d=r.diagnosis||{},f=d.judge||{},p=r.fault||(r.status==="errored"?"run_error":null),v=[d.summary,d.recommendation||r.recommendation].filter(Boolean).join(" ")||r.error_message||"",y=Object.entries(r.scores||{}),h=Jse(r);return l(se.default.createElement(se.default.Fragment,null,se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap",fontFamily:ye,fontSize:11}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"tools"),se.default.createElement(l$,{calls:c,empty:"none called",style:{display:"contents"}})),p&&se.default.createElement("div",{style:{background:"var(--color-error-soft)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-error-text)",textWrap:"pretty"}},se.default.createElement("span",{style:{fontFamily:ye,fontWeight:700}},`[!] ${Qv(p)}`),v?` \u2014 ${v}`:"",f.suggested_tool?.name&&se.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:11}},`suggested tool: ${f.suggested_tool.name}${f.suggested_tool.description?` \u2014 ${f.suggested_tool.description}`:""}`),f.instruction_change&&se.default.createElement("div",{style:{marginTop:4,fontStyle:"italic"}},`instruction change: \u201C${f.instruction_change}\u201D`)),r.output?se.default.createElement("div",{style:{fontFamily:"var(--font-text)",fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",maxHeight:190,overflow:"auto",whiteSpace:"pre-wrap",textWrap:"pretty"}},r.output):se.default.createElement("div",{style:un(11)},"answer not retained for this run"),y.length>0&&se.default.createElement("div",{style:{...un(11),display:"flex",flexWrap:"wrap",gap:"2px 10px"},title:"score per criterion"},y.map(([m,g])=>se.default.createElement("span",{key:m},Qv(m)," ",se.default.createElement("span",{style:{color:"var(--color-text-secondary)"}},g==null?"skipped":Ru(g)))))),se.default.createElement(se.default.Fragment,null,se.default.createElement(or,{tone:u},r.score==null?r.status:`${r.status} \xB7 ${Ru(r.score)}`),h&&se.default.createElement("span",{style:{marginLeft:"auto",...un(11)}},h)))}function f$({scenario:e,run:t,columns:r,resultsByKey:n,running:a,inRun:o=!0,onRerun:i,onToggleEnabled:l,canMutate:s=!0}){let u=e.expectations?.tools||[],c=n[e.key]||{},d=r.some(p=>c[p]),f=o||d;return se.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"12px 12px 14px"},"data-testid":"scenario-drilldown"},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10,flexWrap:"wrap"}},se.default.createElement("span",{style:un(11)},e.key),se.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-cell)"}},"expects"),se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},u.join(" or ")||"\u2014"),s&&se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14}},se.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),l?.(e)},title:e.enabled===!1?"Enable this scenario":"Disable this scenario",style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:ye,fontSize:11,color:e.enabled===!1?"var(--color-text-muted)":"var(--color-text-cell)"}},e.enabled===!1?"[ ] enabled":"[x] enabled"),se.default.createElement(Ff,{onClick:()=>i?.(e),title:"Run only this scenario under the selected models"},"re-run scenario"))),e.notes&&se.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-secondary)",marginBottom:10}},e.notes),e.catalogChanged&&se.default.createElement("div",{style:{fontSize:12,color:"var(--color-text-secondary)",marginBottom:10}},"This run used an earlier version of this question. Re-running uses the current catalog."),t?f?se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12}},r.map(p=>se.default.createElement(Rse,{key:p,label:p,run:t,result:c[p],expects:u,running:a}))):se.default.createElement("div",{style:un(11)},"Not part of this run \u2014 use \u201Cre-run scenario\u201D to replay it."):se.default.createElement("div",{style:un(11)},"No runs yet \u2014 use \u201Cre-run scenario\u201D to replay this one on its own."))}var JE=()=>document.querySelector('meta[name="csrf-token"]')?.content;function eue(e){let t=[],r=null;return e.forEach(n=>{(n.group||"")!==(r||"")&&(r=n.group,r&&t.push(`# ${r}`));let a=[],o=n.expectations||{};o.tools?.length&&a.push(`tools: ${o.tools.join(", ")}`),o.contains?.length&&a.push(`contains: ${o.contains.join(", ")}`),o.not_contains?.length&&a.push(`not_contains: ${o.not_contains.join(", ")}`),n.notes&&a.push(`notes: ${n.notes}`),a.push(`key: ${n.key}`),t.push(`${n.prompt} | ${a.join(" | ")}`)}),t.join(` +`)}var tue=e=>{let{results:t,fix_items:r,...n}=e;return n},rue=e=>{if(!e)return null;let t=[uo(e.cost),`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`];return e.model_time_ms!=null&&t.push(`model time ${Qr(e.model_time_ms)}`),e.runtime_ms!=null&&t.push(`finished in ${Qr(e.runtime_ms)}`),t.join(" \xB7 ")},p$={padding:"6px 10px",borderRadius:8,fontSize:12,fontFamily:ye,background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function RE({evaluation:e,onChanged:t,onDelete:r,deleting:n=!1}){let a=e.id,o=e.agent?.name||"Agent",[i,l]=(0,Pe.useState)(!1),[s,u]=(0,Pe.useState)(null),[c,d]=(0,Pe.useState)([]),[f,p]=(0,Pe.useState)(e.scenario_groups||[]),[v,y]=(0,Pe.useState)(e.latest_run?[e.latest_run]:[]),[h,m]=(0,Pe.useState)(null),[g,x]=(0,Pe.useState)(e.latest_run?.id??null),[b,S]=(0,Pe.useState)({}),[w,O]=(0,Pe.useState)((e.compare_models||[]).join(", ")),[k,A]=(0,Pe.useState)(null),[M,W]=(0,Pe.useState)(!1),[L,H]=(0,Pe.useState)(!1),[D,Y]=(0,Pe.useState)(""),[N,_]=(0,Pe.useState)(null),[z,j]=(0,Pe.useState)(null),[P,B]=(0,Pe.useState)(!1),[R,F]=(0,Pe.useState)(null),[G,ee]=(0,Pe.useState)(0),fe=(0,Pe.useCallback)(async()=>{let xe=await fetch(`/api/evaluations/${a}/scenarios`);if(!xe.ok)return;let ut=await xe.json();d(ut.scenarios||[]),p(ut.groups||[])},[a]),de=(0,Pe.useCallback)(async()=>{try{let xe=await fetch(`/api/evaluations/${a}`);if(!xe.ok)return u(`Could not load this suite (HTTP ${xe.status})`),null;let Zt=(await xe.json()).evaluation||{};return d(Zt.scenarios||[]),p(Zt.scenario_groups||[]),y(Zt.runs||[]),m(Number.isFinite(Zt.run_count)?Zt.run_count:null),u(null),Zt}catch(xe){return u(`Could not load this suite: ${xe.message}`),null}finally{l(!0)}},[a]),De=(0,Pe.useCallback)(async xe=>{if(!xe)return null;let ut=await fetch(`/api/evaluations/${a}/runs/${xe}`);if(!ut.ok)return null;let pr=(await ut.json()).run;return pr?(S(hn=>({...hn,[pr.id]:pr})),y(hn=>hn.map(Ns=>Ns.id===pr.id?{...Ns,...tue(pr)}:Ns)),pr):null},[a]);(0,Pe.useEffect)(()=>{let xe=!1;return(async()=>{let ut=await de();if(xe)return;let Zt=ut?.runs?.[0]?.id??null;x(pr=>pr&&ut?.runs?.some(hn=>hn.id===pr)?pr:Zt),Zt&&De(Zt)})(),()=>{xe=!0}},[de,De]);let le=e.latest_run?.id??null;(0,Pe.useEffect)(()=>{!le||v.some(xe=>xe.id===le)||de()},[le,v,de]);let Te=b[g]||v.find(xe=>xe.id===g)||null,K=v[0]||null,I=ws(Te)?Te.id:ws(K)?K.id:null;(0,Pe.useEffect)(()=>{if(!I)return;let xe=!1,ut=setTimeout(async()=>{let Zt=null;try{Zt=await De(I)}catch{Zt=null}if(!xe){if(Zt&&!ws(Zt)){await de(),t?.();return}ee(pr=>pr+1)}},3e3);return()=>{xe=!0,clearTimeout(ut)}},[I,G,De,de,t]);let C=w.split(",").map(xe=>xe.trim()).filter(Boolean),T=async xe=>{W(!0),A(null);try{let ut=await fetch(`/api/evaluations/${a}/run`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({...xe,models:C})}),Zt=await ut.json().catch(()=>({}));if(!ut.ok)throw new Error((Zt.errors||[Zt.error]).filter(Boolean).join(", ")||"Run failed to start");let pr=Zt.run;y(hn=>[pr,...hn.filter(Ns=>Ns.id!==pr.id)]),m(hn=>hn==null?null:hn+1),S(hn=>({...hn,[pr.id]:{...pr,results:[]}})),x(pr.id),F(null),t?.()}catch(ut){A(ut.message)}finally{W(!1)}},X=xe=>{x(xe),F(null),b[xe]||De(xe)},$=async xe=>{xe.id&&(await fetch(`/api/evaluations/${a}/scenarios/${xe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenario:{enabled:xe.enabled===!1}})}),await fe())},Ne=async()=>{_(null);let xe=await fetch(`/api/evaluations/${a}/scenarios`,{method:"PUT",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenarios_text:D})}),ut=await xe.json().catch(()=>({}));if(!xe.ok){_((ut.errors||[ut.error]).filter(Boolean).join(", ")||"Could not save scenarios");return}d(ut.scenarios||[]),p(ut.groups||[]),H(!1),t?.()},E=Te,Z=(0,Pe.useMemo)(()=>(E?.results||[]).filter(xe=>xe&&xe.scenario_key),[E]),ge=(0,Pe.useMemo)(()=>L1(E,Z,e),[E,Z,e]),Le=(0,Pe.useMemo)(()=>Z.reduce((xe,ut)=>((xe[ut.scenario_key]||={})[Rv(E,ut)]=ut,xe),{}),[Z,E]),nt=(0,Pe.useMemo)(()=>new Set(ZE(E,c)),[E,c]),Bt=ws(E),ft=Jv(E,ge,c),En=QE(E,Z,ge,c),Bn=(0,Pe.useCallback)(xe=>nt.has(xe.key)||!!Le[xe.key],[nt,Le]),oa=(0,Pe.useMemo)(()=>e$(c,Le),[c,Le]),Mo=xe=>ge.some(ut=>{let Zt=Le[xe.key]?.[ut];return ec(Zt)&&!bs(Zt)}),nc=oa.filter(xe=>!z||(xe.group||"")===z).filter(xe=>!P||Mo(xe)),fr=v.findIndex(xe=>xe.id===E?.id),$n=$1(v,h),ri=fr>=0?$n-fr:null,ac=new Set(oa.filter(Bn).map(xe=>xe.group).filter(Boolean)).size,aw=Z.filter(ec).length,Xf=ft*Math.max(ge.length,1),ow=new Set(Z.filter(xe=>ec(xe)&&!bs(xe)).map(xe=>xe.scenario_key)).size,oc=E?.scores?._verdict||null,ni=Object.prototype.hasOwnProperty.call(E?.scores||{},"_judge_label")?E.scores._judge_label||"rules":oc?.judge&&oc.judge!=="pass rate"?oc.judge:e.judge_model||"rules",ic=(0,Pe.useMemo)(()=>E?i$(E,Z):[],[E,Z]),iw=(0,Pe.useCallback)(xe=>{let ut=Array.isArray(xe)?xe[0]:xe;ut&&(j(null),B(!1),F(ut),requestAnimationFrame(()=>{document.querySelector(`[data-scenario-key="${CSS.escape(ut)}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})}))},[]),fg=Object.keys(E?.scores||{}).filter(xe=>!xe.startsWith("_")),lw=(fg.length?fg:(e.criteria||[]).map(xe=>xe.key)).map(xe=>String(xe).replace(/_/g," ")).join(" \xB7 ")||"\u2014",lc=i?c.length:e.scenario_count??0,Zf=i?c.filter(xe=>xe.enabled!==!1&&(!z||(xe.group||"")===z)).length:lc,pg=`Run ${Xt(Zf,"scenario")}${C.length?` \xD7 ${Xt(C.length,"model")}`:""}`,sw=E?[fr>0?`Viewing run #${ri} (latest is #${$n})`:`Run #${ri??"?"} \xB7 ${Hf(E.completed_at||E.created_at)}`,o,`${Xt(ft,"scenario")}${ac?` in ${Xt(ac,"group")}`:""} \xD7 ${Xt(ge.length,"model")}`,E.status==="failed"?"failed":`${En.passed}/${En.total} passed`].join(" \xB7 "):`${o} \xB7 ${Xt(lc,"scenario")}${f.length?` in ${Xt(f.length,"group")}`:""} \xB7 ${s?"not loaded":i?"no runs yet":"loading\u2026"}`,Qf=E&&E.status==="complete"?`/evaluations/${a}/runs/${E.id}/report`:null,uw=[...new Set([...f,...oa.map(xe=>xe.group).filter(Boolean)])],cw=[{label:`All ${oa.length||lc}`,value:null}].concat(uw.map(xe=>({label:i?`${xe} ${oa.filter(ut=>ut.group===xe).length}`:xe,value:xe}))),sc=oa.length===0,dw=P?"[+] nothing failed in this group":"[ ] no scenarios";return Pe.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:16},"data-testid":"scenario-suite-panel"},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Pe.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},sw),Bt&&Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"},"data-testid":"suite-run-progress"},`running \xB7 ${aw} of ${Xf} results in`),Pe.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},Pe.default.createElement(zr,{size:"sm",onClick:()=>{Y(eue(c)),_(null),H(!L)}},L?"Cancel":"Edit scenarios"),Pe.default.createElement("input",{type:"text",value:w,onChange:xe=>O(xe.target.value),placeholder:"models, e.g. gpt-5-mini, ollama/qwen3:8b",style:{...p$,width:250},title:"Comma-separated. Prefix with a provider (ollama/qwen3:8b) when the name alone is ambiguous; blank runs the agent's own model."}),Pe.default.createElement(zr,{variant:"primary",size:"sm",disabled:M||!i||Zf===0,onClick:()=>T(z?{group:z}:{}),testId:"suite-run-button"},M?"Starting\u2026":pg))),(s||k||E?.status==="failed")&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)",background:"var(--color-error-soft)",borderRadius:8,padding:"8px 12px"}},s||k||`Run failed: ${E.error_message||"unknown error"}`),L&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},Pe.default.createElement("textarea",{value:D,onChange:xe=>Y(xe.target.value),rows:Math.min(Math.max(c.length+4,6),24),style:{...p$,width:"100%",boxSizing:"border-box",lineHeight:"18px"}}),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,color:"var(--color-text-muted)",flexWrap:"wrap"}},Pe.default.createElement("span",{style:{flex:1,minWidth:240}},"One message per line. ",Pe.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," starts a group; ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| contains: x"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| not_contains: y")," set expectations. Keep a scenario's ",Pe.default.createElement("code",{style:{fontFamily:ye}},"key")," to keep its history."),Pe.default.createElement(zr,{variant:"primary",size:"sm",onClick:Ne},"Save scenarios")),N&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},N)),Pe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"minmax(280px, 2fr) minmax(0, 3fr)",gap:16,alignItems:"start"}},Pe.default.createElement(s$,{runs:v,runCount:h,selectedId:E?.id??null,onSelect:X,agentName:o,selectedResults:Z,scenarios:c}),Pe.default.createElement(u$,{run:E,columns:E?ge:[],results:Z,scenarioCount:ft,judgedBy:ni,verdict:oc})),E&&E.status!=="failed"&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},Pe.default.createElement(rt,null,"What to fix"),Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},`${Xt(ic.length,"item")} \xB7 ${Xt(Math.max(En.total-En.passed,0),"fault")} across ${Xt(ow,"scenario")}`)),ic.length>0?Pe.default.createElement(c$,{items:ic,columns:ge,agentName:o,onNavigate:Gv,onOpenScenario:iw}):Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px"}},Bt?"[ ] scoring\u2026":"[+] nothing to fix")),Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Pe.default.createElement(rt,{style:{marginRight:4}},"Scenarios"),cw.map(xe=>Pe.default.createElement(al,{key:xe.label,selected:z===xe.value,onClick:()=>j(xe.value)},xe.label)),Pe.default.createElement(al,{square:!0,mono:!0,selected:P,onClick:()=>B(!P),style:{marginLeft:"auto",background:"transparent"},title:"Hide scenarios that passed on every model"},P?"[x] failed only":"[ ] failed only")),sc&&s?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[!] suite not loaded"):sc&&!i?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"loading\u2026"):sc?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"No scenarios yet \u2014 paste some with \u201CEdit scenarios\u201D."):Pe.default.createElement(d$,{rows:nc,columns:E?ge:[],run:E,resultsByKey:Le,runKeys:nt,running:Bt,openKey:R,onToggleRow:xe=>F(R===xe?null:xe),emptyLabel:dw,renderDetail:xe=>Pe.default.createElement(f$,{scenario:xe,run:E,columns:E?ge:[],resultsByKey:Le,running:Bt,inRun:Bn(xe),canMutate:!xe.orphan,onRerun:ut=>T({keys:[ut.key]}),onToggleEnabled:$})})),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",paddingTop:12,borderTop:"1px solid var(--color-border-light)",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Pe.default.createElement("span",{style:{whiteSpace:"nowrap"}},`judge ${ni}`),Pe.default.createElement("span",{style:{minWidth:0,textWrap:"pretty"}},`criteria ${lw}`),E?.usage&&Pe.default.createElement("span",{style:{whiteSpace:"nowrap"},title:"Estimated cost, tokens and model time of this run"},rue(E.usage)),Qf&&Pe.default.createElement(Ff,{href:Ge(Qf),onClick:()=>Gv(Qf),title:"The run rendered as a report page"},"run report"),r&&Pe.default.createElement("button",{type:"button",onClick:r,disabled:n,title:"Delete this suite and its runs",style:{marginLeft:"auto",background:"transparent",border:"none",padding:0,cursor:n?"not-allowed":"pointer",fontFamily:ye,fontSize:11,color:"var(--color-error)",opacity:n?.5:1}},n?"Deleting\u2026":"Delete suite")))}var e_=[{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}}],t_=[{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}}],r_=()=>document.querySelector('meta[name="csrf-token"]')?.content,nue=e=>{if(!e)return null;let t=(e.input_tokens||0)+(e.output_tokens||0),r=e.runtime_ms==null?null:Qr(e.runtime_ms);return`${uo(e.cost)} \xB7 ${hr(t)} tok${r?` \xB7 ${r}`:""}`},g$=e=>e>=.85?"success":e>=.7?"warning":"error",m$=()=>{let e=Xu().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/);if(e)return{evaluationId:e[1],runId:e[2]};let t=I1(window.location.search);return t?.runId?t:null},ol={padding:"8px 12px",borderRadius:8,fontSize:13,fontFamily:"inherit",boxSizing:"border-box",background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"},Ro=(e=11,t="var(--color-text-muted)")=>({fontFamily:ye,fontSize:e,color:t});function v$({label:e,score:t,indent:r=!1,mono:n=!1}){let a=t.skipped?null:g$(t.score);return re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,paddingLeft:r?16:0}},re.default.createElement("div",{style:{width:160,flexShrink:0,fontSize:n?11:13,fontFamily:n?ye:"inherit",color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:e},n?e:e.replace(/_/g," "),t.source==="telemetry"&&re.default.createElement("span",{"data-testid":"score-source-telemetry",style:{...Ro(10),marginLeft:6,textTransform:"uppercase",letterSpacing:"0.05em"},title:`Aggregate over ${t.traces} traces in the last ${t.window_hours}h`},"telemetry")),t.skipped?re.default.createElement("div",{style:{flex:1,fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"},title:t.reason},"skipped \u2014 ",t.reason):re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{flex:1,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},re.default.createElement("div",{style:{height:"100%",width:`${Math.round(t.score*100)}%`,borderRadius:999,background:nl[a].strong}})),re.default.createElement("div",{style:{width:48,textAlign:"right",fontFamily:ye,fontSize:12,fontWeight:600,color:nl[a].strong},title:`min ${t.min} \xB7 max ${t.max} \xB7 ${t.passed}/${t.total} passed`},Ru(t.score))))}function eg({embedded:e=!1,agentId:t=null}){let{darkMode:r}=kt(),[n,a]=(0,re.useState)(()=>e?null:m$()),o=(0,re.useRef)(null),[i,l]=(0,re.useState)(0),[s,u]=(0,re.useState)(null);(0,re.useEffect)(()=>{let E=o.current?.contentDocument?.body;if(!E)return;let Z=()=>u(E.scrollHeight);if(Z(),typeof ResizeObserver>"u")return window.addEventListener("resize",Z),()=>window.removeEventListener("resize",Z);let ge=new ResizeObserver(Z);return ge.observe(E),()=>ge.disconnect()},[i,n]),(0,re.useEffect)(()=>u(null),[n]),(0,re.useEffect)(()=>{if(e)return;let E=()=>a(m$());return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[c,d]=(0,re.useState)([]),[f,p]=(0,re.useState)([]),[v,y]=(0,re.useState)(!0),[h,m]=(0,re.useState)(null),[g,x]=(0,re.useState)(null),[b,S]=(0,re.useState)(()=>e?null:I1(window.location.search)?.evaluationId);(0,re.useEffect)(()=>{if(e)return;let E=()=>{let Z=I1(window.location.search)?.evaluationId;S(Z),Z&&x(new Set([Number(Z)]))};return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[w,O]=(0,re.useState)(!1),[k,A]=(0,re.useState)(null),[M,W]=(0,re.useState)(null),[L,H]=(0,re.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:e_.map(E=>E.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:"",scenariosText:""}),[D,Y]=(0,re.useState)(null),[N,_]=(0,re.useState)(!1),z=(0,re.useCallback)(async()=>{try{let E=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!E.ok)throw new Error(`Request failed (${E.status})`);let ge=(await E.json()).evaluations||[],Le=null;try{ge=await t$(ge,b,fetch)}catch(nt){Le=nt.message}d(ge),x(nt=>{if(nt)return nt;let Bt=b?ge.find(ft=>String(ft.id)===b):ge.find(ft=>ft.scenario_suite)||ge[0];return new Set(Bt?[Bt.id]:[])}),m(Le)}catch(E){m(E.message)}finally{y(!1)}},[t,b]);(0,re.useEffect)(()=>{z(),fetch("/api/agents").then(E=>E.ok?E.json():{agents:[]}).then(E=>p(E.agents||[])).catch(()=>p([]))},[z]);let j=E=>!!g?.has(E),P=E=>x(Z=>{let ge=new Set(Z||[]);return ge.has(E)?ge.delete(E):ge.add(E),ge}),B=()=>{let E=[...e_,...t_].filter(Z=>L.criteria.includes(Z.key)).map(({key:Z,type:ge,config:Le})=>({key:Z,type:ge,config:Le}));return L.containsPattern.trim()&&E.push({key:"contains",type:"contains",config:{pattern:L.containsPattern.trim()}}),L.llmJudgePrompt.trim()&&E.push({key:"quality",type:"llm_judge",config:{prompt:L.llmJudgePrompt.trim()}}),E},R=async E=>{E.preventDefault(),_(!0),Y(null);try{let Z=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":r_()},body:JSON.stringify({evaluation:{agent_id:L.agent_id,name:L.name,sample_size:L.sample_size,judge_kind:L.judgeKind==="judge_defined"?"judge_defined":L.llmJudgePrompt.trim()?"llm":"rules",judge_model:L.judgeModel.trim()||void 0,compare_models:L.compareModels.split(",").map(Le=>Le.trim()).filter(Boolean),criteria:L.judgeKind==="judge_defined"?[]:B(),scenarios_text:L.scenariosText.trim()||void 0}})}),ge=await Z.json().catch(()=>({}));if(!Z.ok)throw new Error((ge.errors||[ge.error]).filter(Boolean).join(", ")||`Failed to create evaluation (HTTP ${Z.status})`);O(!1),H({...L,name:"",scenariosText:""}),await z(),ge.evaluation?.id!=null&&x(Le=>new Set([...Le||[],ge.evaluation.id]))}catch(Z){Y(Z.message)}finally{_(!1)}},F=async E=>{A(E),m(null);try{let Z=await fetch(`/api/evaluations/${E}/run`,{method:"POST",headers:{"X-CSRF-Token":r_()}});Z.ok||m(`Run failed (HTTP ${Z.status})`),await z()}finally{A(null)}},G=async E=>{if(window.confirm(`Delete "${E.name}"? Its runs are deleted with it.`)){W(E.id),m(null);try{let Z=await fetch(`/api/evaluations/${E.id}`,{method:"DELETE",headers:{"X-CSRF-Token":r_()}});Z.ok||Z.status===404?(d(ge=>ge.filter(Le=>Le.id!==E.id)),x(ge=>{let Le=new Set(ge||[]);return Le.delete(E.id),Le})):m(`Delete failed (HTTP ${Z.status})`)}finally{W(null)}}};if(v)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",style:{borderBottomColor:"var(--color-accent-ui)"}}));let ee=t?c.filter(E=>String(E.agent?.id)===String(t)):c,fe=ee.filter(E=>E.scenario_suite),de=ee.filter(E=>!E.scenario_suite),De=fe.map(E=>E.latest_run).filter(E=>E&&E.status==="complete"),le=De.reduce((E,Z)=>E+(Z.samples_evaluated||0),0),Te=De.reduce((E,Z)=>E+(Z.samples_passed||0),0),K=De.reduce((E,Z)=>E+(Z.scores?._recommendations?.length||0),0),I=le?Te/le:null,C=[...new Set(fe.map(E=>E.agent?.name).filter(Boolean))],T=fe.reduce((E,Z)=>Math.max(E,Z.latest_run?.models?.length||(Z.compare_models||[]).length||0),0),X=[];C.length===1?X.push(`@${C[0]} \xB7 ${T>1?`${T} models compared`:"1 model"}`):C.length>1&&X.push(Xt(C.length,"agent")),de.length&&X.push(Xt(de.length,"sampling evaluation"));let $=X.join(" \xB7 ")||"no suites yet",Ne=E=>E&&typeof E=="object"&&!("score"in E)&&!("skipped"in E);if(n){let E=Ge(`/api/evaluations/${n.evaluationId}/runs/${n.runId}/report`),Z=`${E}?theme=${r?"dark":"light"}`;return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{size:"sm",onClick:()=>{HE("/evaluations"),a(null)}},re.default.createElement("span",{style:{fontFamily:ye}},"<-")," Evaluations"),re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Run report"),re.default.createElement("span",{style:Ro(11)},`evaluation ${n.evaluationId} \xB7 run ${n.runId}`)),re.default.createElement("a",{href:E,target:"_blank",rel:"noopener noreferrer",title:"The report is one self-contained page \u2014 save it to export",style:{padding:"6px 12px",borderRadius:8,fontSize:13,fontWeight:500,color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)",textDecoration:"none"}},"Open standalone ",re.default.createElement("span",{style:{fontFamily:ye}},"->"))),re.default.createElement("iframe",{ref:o,src:Z,title:"Evaluation run report",onLoad:()=>l(ge=>ge+1),scrolling:"no",style:{width:"100%",borderRadius:12,border:"1px solid var(--color-border)",background:"var(--color-background)",display:"block",height:s?`${s}px`:"calc(100vh - 180px)"}}))}return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},re.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:16,flexWrap:"wrap"}},!e&&re.default.createElement("div",{style:{flex:1,minWidth:260}},re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Evaluations"),re.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models")),re.default.createElement("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{variant:"primary",onClick:()=>O(!w),testId:"new-evaluation-button"},w?"Cancel":"New Evaluation"))),h&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:13,background:"var(--color-error-soft)",color:"var(--color-error-text)"}},"Failed to load evaluations: ",h),w&&re.default.createElement(yr,{testId:"new-evaluation-form"},re.default.createElement("form",{onSubmit:R,style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Agent"),re.default.createElement("select",{required:!0,disabled:!!t,value:L.agent_id,onChange:E=>H({...L,agent_id:E.target.value}),style:{...ol,width:"100%",opacity:t?.7:1}},!t&&re.default.createElement("option",{value:""},"Select agent\u2026"),f.map(E=>re.default.createElement("option",{key:E.id,value:E.id},E.name)))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Name"),re.default.createElement("input",{required:!0,type:"text",value:L.name,onChange:E=>H({...L,name:E.target.value}),placeholder:"Response Quality",style:{...ol,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Sample size"),re.default.createElement("input",{type:"number",min:"1",max:"100",value:L.sample_size,onChange:E=>H({...L,sample_size:E.target.value}),style:{...ol,width:"100%",fontFamily:ye}}))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"KPI definition"),re.default.createElement("select",{value:L.judgeKind,onChange:E=>H({...L,judgeKind:E.target.value}),style:{...ol,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(rt,{as:"label",style:{display:"block",marginBottom:6}},"Judge model (optional)"),re.default.createElement("input",{type:"text",value:L.judgeModel,onChange:E=>H({...L,judgeModel:E.target.value}),placeholder:"e.g. claude-opus-5",style:{...ol,width:"100%",fontFamily:ye,fontSize:12}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Compare models (optional, comma-separated)"),re.default.createElement("input",{type:"text",value:L.compareModels,onChange:E=>H({...L,compareModels:E.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...ol,width:"100%",fontFamily:ye,fontSize:12}}))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Scenarios (optional) \u2014 paste user messages to replay, one per line"),re.default.createElement("textarea",{value:L.scenariosText,onChange:E=>H({...L,scenariosText:E.target.value}),rows:L.scenariosText?8:3,placeholder:`# Find records Which catalog items are available? | tools: find_records # Change history -Who updated the description for the sample notebook?`,style:{...il,width:"100%",fontFamily:ye,fontSize:12,lineHeight:"18px"}}),re.default.createElement("p",{style:{margin:"6px 0 0",fontSize:12,color:"var(--color-text-muted)",textWrap:"pretty"}},"With scenarios, each run replays every message through the agent \u2014 once per model in \u201CCompare models\u201D \u2014 and reports which tasks it completes, what faults it hits, and how to fix them. ",re.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," lines group related tasks so they can be run together; ",re.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b")," names the tool a task should call.")),L.judgeKind==="judge_defined"&&re.default.createElement("p",{style:{margin:0,fontSize:12,color:"var(--color-text-secondary)"}},"On the first run the judge reads the agent's instructions and recent interactions, defines 3\u20136 KPIs, then scores samples against them. KPIs persist so later runs (and model cohorts) stay comparable."),L.judgeKind!=="judge_defined"&&re.default.createElement(re.default.Fragment,null,re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Rule-based criteria (sampled generations)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},e_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Telemetry criteria (trace aggregates)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},t_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Must contain (optional pattern)"),re.default.createElement("input",{type:"text",value:L.containsPattern,onChange:E=>H({...L,containsPattern:E.target.value}),placeholder:"e.g. password reset",style:{...il,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"LLM judge criterion (optional, needs provider credentials)"),re.default.createElement("input",{type:"text",value:L.llmJudgePrompt,onChange:E=>H({...L,llmJudgePrompt:E.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...il,width:"100%"}})))),D&&re.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},D),re.default.createElement("div",null,re.default.createElement(zr,{variant:"primary",type:"submit",disabled:N},N?L.scenariosText.trim()?"Creating & starting run\u2026":"Creating & running\u2026":"Create & Run")))),re.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(190px, 1fr))",gap:16}},re.default.createElement(Xv,{label:"Suites",value:fe.length,sub:$,testId:"stat-suites"}),re.default.createElement(Xv,{label:"Scenario runs",value:le,sub:"latest run of each suite",testId:"stat-scenario-runs"}),re.default.createElement(Xv,{label:"Pass rate",value:I==null?"\u2014":n$(I),valueColor:I==null?"var(--color-text-muted)":al[Qu(I)].strong,sub:I==null?"no completed runs yet":`${Te} / ${le} passed`,testId:"stat-pass-rate"}),re.default.createElement(Xv,{label:"Open faults",value:le-Te,sub:`${Xt(K,"fix item")} across ${Xt(De.length,"suite")}`,testId:"stat-open-faults"})),re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ee.map(E=>{let Z=E.latest_run,ge=j(E.id),Le=!!E.scenario_suite,nt=Z?.status==="complete",Bt=Z?.status==="pending"||Z?.status==="running",ft=Z?.models?.length||(E.compare_models||[]).length||1,En=Z?.samples_passed||0,Bn=Z?.samples_evaluated||0,oa=Bn?En/Bn:0,Mo=(E.criteria||[]).some(fr=>t_.some($n=>$n.key===fr.key)),nc=Le?`@${E.agent?.name||"agent"} \xB7 ${Xt(E.scenario_count||0,"scenario")} \xD7 ${Xt(ft,"model")}`:`@${E.agent?.name||"agent"} \xB7 ${Xt(E.sample_size||0,"sample")}${ft>1?` \xD7 ${Xt(ft,"model")}`:""}`;return re.default.createElement(yr,{key:E.id,padding:0,testId:"evaluation-card","data-telemetry":Mo?"true":"false","data-kind":Le?"suite":"sampling","data-open":ge?"true":"false",style:{overflow:"hidden"}},re.default.createElement("div",{onClick:()=>P(E.id),className:"hover:bg-[var(--color-hover)]",style:{display:"flex",alignItems:"center",gap:12,rowGap:8,padding:"12px 16px",cursor:"pointer",flexWrap:"wrap"}},re.default.createElement(Ju,{kind:"chevron",open:ge}),re.default.createElement("span",{style:{width:22,height:22,borderRadius:6,background:"var(--color-muted)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,color:"var(--color-text-secondary)",flexShrink:0},title:Le?"scenario suite":"sampling evaluation"},Le?"=":"~"),re.default.createElement("span",{style:{fontSize:14,fontWeight:600,color:"var(--color-text-primary)"}},E.name),re.default.createElement("span",{style:ei(11)},nc),re.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14,flexShrink:0}},re.default.createElement("span",{style:ei(11)},Hf(Z?.completed_at||Z?.created_at||E.created_at)),Z?.status==="failed"&&re.default.createElement("span",{style:ei(11,"var(--color-error)")},"failed"),Bt&&re.default.createElement("span",{style:ei(11)},Z.status==="pending"?"queued":"running"),!Z&&re.default.createElement("span",{style:ei(11)},"no runs"),nt&&Le&&re.default.createElement("span",{style:ei(11)},Xt(Bn-En,"fault")),nt&&Le&&re.default.createElement(or,{tone:Qu(oa),testId:"suite-pass-badge"},`${En}/${Bn} passed`),nt&&!Le&&Z.average_score!=null&&re.default.createElement(or,{tone:g$(Z.average_score),title:"mean score across criteria"},`score ${Ru(Z.average_score)}`),nt&&!Le&&Bn>0&&re.default.createElement(or,{tone:Qu(oa)},`${En}/${Bn} passed`))),ge&&re.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)"}},Le?re.default.createElement(RE,{evaluation:E,onChanged:z,onDelete:()=>G(E),deleting:M===E.id}):re.default.createElement(re.default.Fragment,null,Z?.status==="failed"?re.default.createElement("div",{style:{padding:16,fontSize:13,color:"var(--color-error-text)"}},Z.error_message):Z?.scores?re.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12}},Z.scores._verdict&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:10,border:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},re.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},Z.scores._verdict.winner),re.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"}},"judge's pick"),re.default.createElement("span",{style:{marginLeft:"auto",...ei(11)}},`judged by ${Z.scores._verdict.judge}`)),re.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),Z.scores._verdict.rationale)),Z.scores._missing_models&&re.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"}},"No recorded generations for: ",Z.scores._missing_models.join(", ")," \u2014 run the agent under those models first"),Object.entries(Z.scores).filter(([fr])=>!fr.startsWith("_")).map(([fr,$n])=>Ne($n)?re.default.createElement("div",{key:fr,style:{display:"flex",flexDirection:"column",gap:4}},re.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-secondary)"}},fr.replace(/_/g," ")),Object.entries($n).map(([ni,ac])=>re.default.createElement(v$,{key:ni,label:ni,score:ac,indent:!0,mono:!0}))):re.default.createElement(v$,{key:fr,label:fr,score:$n}))):re.default.createElement("div",{style:{padding:16,...ei(11)}},"[ ] no runs yet"),re.default.createElement("div",{style:{padding:16,background:"var(--color-background)",display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:16,fontSize:13}},re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Judge"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},E.judge_kind==="judge_defined"?`judge-defined KPIs${E.judge_model?` (${E.judge_model})`:""}`:E.judge_kind==="llm"?E.judge_model||"llm judge":"rules")),re.default.createElement("div",{style:{gridColumn:"span 2",minWidth:0}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Criteria"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)",textWrap:"pretty"}},(E.criteria||[]).map(fr=>String(fr.key).replace(/_/g," ")).join(" \xB7 ")||"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Samples"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},nt&&Bn>0?`${En} / ${Bn} passed`:"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Last run"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"},title:"Estimated cost, tokens and wall-clock runtime of the latest run"},nue(Z?.usage)||"\u2014")),re.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",justifyContent:"flex-end",gap:8}},re.default.createElement(zr,{size:"sm",onClick:fr=>{fr.stopPropagation(),F(E.id)},disabled:k===E.id},k===E.id?"Running\u2026":"Run again"),re.default.createElement(zr,{variant:"danger",size:"sm",onClick:fr=>{fr.stopPropagation(),G(E)},disabled:M===E.id,title:"Delete this evaluation and its runs"},M===E.id?"Deleting\u2026":"Delete"))))))})),ee.length===0&&!w&&re.default.createElement(yr,{style:{textAlign:"center",padding:"48px 20px"}},re.default.createElement("div",{style:{fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"No evaluations yet"),re.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Create an evaluation to score recorded outputs, or paste scenarios to test new tasks across models")))}var Ce=te(ne());var aue=e=>new Date(`${e}T00:00:00`),oue=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function n_({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=kt(),a=Fa(n),[o,i]=(0,Ce.useState)(null),[l,s]=(0,Ce.useState)(!0),{timeWindow:u,days:c}=Qo(),[d,f]=(0,Ce.useState)("overview"),p=e.telemetry_agent_class||(()=>{let x=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(S,w)=>w.toUpperCase()).replace(/^./,S=>S.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return x.endsWith("Agent")?x:`${x}Agent`})();(0,Ce.useEffect)(()=>{m()},[e?.id,c]);let m=async()=>{if(e?.id){s(!0);try{let S=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();i(S)}catch(x){console.error("Failed to load analytics:",x)}finally{s(!1)}}},y=x=>x?x<1e3?`${x}ms`:`${(x/1e3).toFixed(2)}s`:"-",h=x=>x?x>=1e6?`${(x/1e6).toFixed(1)}M`:x>=1e3?`${(x/1e3).toFixed(1)}K`:x.toString():"0",v=x=>{switch(x){case"complete":return"bg-green-500";case"failed":return"bg-red-500";case"running":return"bg-blue-500";case"pending":return"bg-yellow-500";case"cancelled":return"bg-gray-500";default:return"bg-gray-400"}};if(l&&!o)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 g=o?.runs_by_day?.length>0?Math.max(...o.runs_by_day.map(x=>x.count)):1,b=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(Jo,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(Jo,null))),!r&&Ce.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:a.mutedBg}},oue.map(x=>Ce.default.createElement("button",{key:x.id,onClick:()=>f(x.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===x.id?"shadow":""}`,style:d===x.id?{background:a.cardBg,color:a.textPrimary}:{color:a.textSecondary}},x.label))),b==="traces"&&Ce.default.createElement(Zu,{agentClass:p,embedded:!0}),b==="interactions"&&Ce.default.createElement(nl,{agentId:e.id,embedded:!0}),b==="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($1,{title:"Total Runs",value:o?.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($1,{title:"Success Rate",value:`${o?.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($1,{title:"Avg Duration",value:y(o?.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($1,{title:"Total Tokens",value:h(o?.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"),o?.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"},o.runs_by_day.map((x,S)=>Ce.default.createElement("div",{key:x.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:`${x.count/g*150}px`,minHeight:x.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"},x.count," runs")),(S===0||S===o.runs_by_day.length-1||o.runs_by_day.length<=7)&&Ce.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:a.textMuted}},aue(x.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(o?.status_breakdown||{}).length>0?Ce.default.createElement("div",{className:"space-y-3"},Object.entries(o.status_breakdown).map(([x,S])=>{let w=o?.summary?.total_runs||1,O=(S/w*100).toFixed(1);return Ce.default.createElement("div",{key:x},Ce.default.createElement("div",{className:"flex justify-between text-sm mb-1"},Ce.default.createElement("span",{className:"capitalize",style:{color:a.textSecondary}},x),Ce.default.createElement("span",{className:"font-medium",style:{color:a.textPrimary}},S," (",O,"%)")),Ce.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:a.trackBg}},Ce.default.createElement("div",{className:`h-full ${v(x)} rounded-full transition-all`,style:{width:`${O}%`}})))})):Ce.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:a.textMuted}},"No runs yet"))),o?.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"},o.recent_errors.map(x=>Ce.default.createElement("div",{key:x.id,className:"flex items-start space-x-3 p-3 rounded-lg",style:{background:n?"rgba(220,38,38,0.12)":"#fef2f2"}},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"}},x.error||"Unknown error"),Ce.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(x.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}},o?.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}},o?.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}},h(o?.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}},o?.period_days||30," days")))))}var y$={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 $1({title:e,value:t,icon:r,color:n,colors:a,darkMode:o}){let[i,l,s]=y$[n]||y$.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:o?l:s,color:i}},r)))}var ae=te(ne());var iue=["agent_defined","dashboard","mcp"],o_={agent_defined:"Agent-defined",dashboard:"Dashboard",mcp:"MCP"},lue={agent_defined:"the host's schema tools, and what the agent class declares",dashboard:"built into the dashboard",mcp:"offered by the services above"},F1=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720}],i_=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`},l_=(e,t=Date.now())=>{if(!e)return"never";let r=new Date(e).getTime();if(Number.isNaN(r))return"never";let n=Math.floor((t-r)/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;let a=Math.floor(n/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`},a_=e=>{if(typeof e=="string")return e.trim()||null;if(!e||typeof e!="object")return null;let t=e.key||e.name;return t&&String(t).trim()||null};function U1(e,t=[]){let r=new Map;(t||[]).forEach(a=>{let o=a_(a);o&&r.set(o,a)});let n={};return(e.services||[]).forEach(a=>{let o=r.get(a.key),i=o&&typeof o=="object"&&Array.isArray(o.tools)?o.tools.map(l=>String(l&&l.name?l.name:l)):null;n[a.key]={on:r.has(a.key),tools:Object.fromEntries((a.tools||[]).map(l=>[l.name,i===null||i.includes(l.name)]))}}),n}var h$=e=>{let t=String(e||"").trim().toLowerCase();return(...r)=>!t||r.some(n=>String(n||"").toLowerCase().includes(t))};function x$(e,t,{query:r="",filter:n=null}={}){let a=h$(r);return(e.services||[]).filter(o=>n?n==="enabled"?t[o.key]?.on:o.status===n:!0).filter(o=>a(o.name,o.description)||(o.tools||[]).some(i=>a(i.name))).map(o=>{let i=t[o.key]||{on:!1,tools:{}},l=o.tools||[],s=l.map(c=>({...c,on:!!i.tools[c.name]})),u=s.filter(c=>c.on);return{...o,on:i.on,tools:s,offeredCount:l.length,enabledCount:u.length,toolsLabel:`${u.length}/${l.length}`,partial:i.on&&u.length{let a=t[n.key];!a||!a.on||(n.tools||[]).forEach(o=>{a.tools[o.name]&&r.push({...o,key:`${n.key}:${o.name}`,source:"mcp",editable:!1,enabled:!0,server:n.name,serverKey:n.key})})}),r}function b$(e,t,r=[]){let n=new Set((r||[]).map(String));return(e.tools||[]).map(a=>({...a,on:a.editable?n.has(a.key):a.enabled!==!1})).concat(sue(e,t).map(a=>({...a,on:!0})))}function w$(e,t,r,{query:n="",source:a=null,enabledOnly:o=!1}={}){let i=h$(n),l=b$(e,t,r),s=l.filter(u=>!a||u.source===a).filter(u=>!o||u.on).filter(u=>i(u.name,u.description));return iue.map(u=>{let c=l.filter(p=>p.source===u),d=c.some(p=>p.editable),f=c.filter(p=>p.on).length;return{source:u,name:o_[u],meta:`${lue[u]} \xB7 ${c.length} ${c.length===1?"tool":"tools"}`,countLabel:d?`${f}/${c.length} on`:`${c.length} offered`,editable:d,total:c.length,enabledCount:f,keys:c.map(p=>p.key),rows:s.filter(p=>p.source===u)}}).filter(u=>u.total>0)}function S$(e,t,r,{range:n="7d"}={}){let a=b$(e,t,r),o=e.usage_available!==!1,i=e.services||[],l=i.filter(p=>t[p.key]?.on),s=a.filter(p=>p.source!=="mcp"&&p.on),u=a.filter(p=>p.source==="mcp"),c=a.reduce((p,m)=>p+(m.calls||0),0),d=a.reduce((p,m)=>p+(m.errors||0),0),f=a.filter(p=>p.on&&!p.calls).length;return[{key:"tools",label:"Tools enabled",value:String(s.length+u.length),sub:`${s.length} direct \xB7 ${u.length} offered through MCP`},{key:"services",label:"MCP services",value:`${l.length}/${i.length}`,sub:l.length?`on for this agent: ${l.map(p=>p.name).join(", ")}`:"none enabled for this agent"},{key:"calls",label:"Tool calls",value:o?String(c):"\u2014",sub:o?`${d} error${d===1?"":"s"} in the last ${n} \xB7 traced`:"no calls recorded in this window yet"},{key:"unused",label:"Never called",value:o?String(f):"\u2014",sub:"enabled but unused in this window",tone:o&&f>6?"warning":null}]}function A$(e,t,r){let n=U1(e,t.mcpServers),a=U1(e,r.mcpServers),o=0;Object.keys(n).forEach(s=>{n[s].on!==a[s].on&&(o+=1),Object.keys(n[s].tools).forEach(u=>{n[s].tools[u]!==a[s].tools[u]&&(o+=1)})});let i=new Set((t.tools||[]).map(String)),l=new Set((r.tools||[]).map(String));return(e.tools||[]).forEach(s=>{s.editable&&i.has(s.key)!==l.has(s.key)&&(o+=1)}),o}function k$(e,t,r=[]){let n=new Map;(r||[]).forEach(i=>{let l=a_(i);l&&n.set(l,i)});let a=[];(e.services||[]).forEach(i=>{let l=t[i.key];if(!l||!l.on)return;let s=(i.tools||[]).map(p=>p.name),u=s.filter(p=>l.tools[p]),c=n.get(i.key),d=s.length>0&&u.lengthi.key));return(r||[]).forEach(i=>{let l=a_(i);l&&!o.has(l)&&a.push(i)}),a}function s_(e,t=[]){let r=new Set((e.tools||[]).filter(o=>o.editable).map(o=>o.key)),n=(t||[]).map(String).filter(o=>!r.has(o)),a=(e.tools||[]).filter(o=>o.editable&&t.includes(o.key)).map(o=>o.key);return n.concat(a)}var uue={active:"success",configured:"info",available:"warning",idle:"muted"},cue={agent_defined:"success",dashboard:"success",mcp:"info"},N$="44px minmax(0, 1fr) 108px 60px 52px 58px 74px 26px",C$="26px minmax(0, 1fr) 108px 52px 52px 52px 74px",due=[{value:"enabled",label:"Enabled"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],E$={padding:"7px 16px",gap:10,alignItems:"end",background:"var(--color-muted)",fontFamily:ye,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)"},ti={fontFamily:ye,fontSize:11,textAlign:"right",color:"var(--color-text-primary)"},W1={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function fue({on:e,onClick:t,title:r}){return ae.default.createElement("span",{role:"switch","aria-checked":e,tabIndex:0,title:r,onClick:t,onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))},style:{width:34,height:18,borderRadius:999,flexShrink:0,position:"relative",cursor:"pointer",background:e?"var(--color-accent-ui)":"var(--color-muted)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,transition:"background 0.12s ease"}},ae.default.createElement("span",{style:{position:"absolute",top:1,left:e?17:1,width:14,height:14,borderRadius:"50%",background:e?"#ffffff":"var(--color-text-muted)",transition:"left 0.12s ease"}}))}function _$({on:e,dim:t=!1}){return ae.default.createElement("span",{"aria-hidden":"true",style:{width:16,height:16,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,flexShrink:0,border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,background:e?"var(--color-accent-ui)":"transparent",color:e?"var(--color-on-accent)":"transparent",opacity:t?.8:1}},e?"x":"")}function H1({children:e,onClick:t,disabled:r,title:n}){return ae.default.createElement("button",{type:"button",onClick:t,disabled:r,title:n,style:{padding:"3px 9px",borderRadius:6,background:"transparent",fontFamily:ye,fontSize:11,border:"1px solid var(--color-border-strong)",color:"var(--color-text-cell)",cursor:r?"not-allowed":"pointer",opacity:r?.5:1}},e)}function O$({children:e}){return ae.default.createElement("div",{style:{overflowX:"auto"}},ae.default.createElement("div",{style:{minWidth:800}},e))}function u_({agent:e,formData:t,updateField:r,onSave:n,hasChanges:a=!1,isLoading:o}){let[i,l]=(0,ae.useState)(null),[s,u]=(0,ae.useState)(null),[c,d]=(0,ae.useState)("7d"),[f,p]=(0,ae.useState)(""),[m,y]=(0,ae.useState)(null),[h,v]=(0,ae.useState)(null),[g,b]=(0,ae.useState)(!1),[x,S]=(0,ae.useState)(null),[w,O]=(0,ae.useState)({}),k=(F1.find(I=>I.value===c)||F1[1]).hours;(0,ae.useEffect)(()=>{let I=!1;return u(null),fetch(`/api/agents/${e.id}/tool_roster?hours=${k}`).then(C=>{if(!C.ok)throw new Error(`Request failed (${C.status})`);return C.json()}).then(C=>{I||l(C)}).catch(C=>{I||u(C.message)}),()=>{I=!0}},[e.id,k]);let A=(0,ae.useMemo)(()=>({services:[],tools:[]}),[]),M=i||A,W=(0,ae.useMemo)(()=>t.tools||[],[t.tools]),L=(0,ae.useMemo)(()=>t.mcp_servers||[],[t.mcp_servers]),H=(0,ae.useMemo)(()=>U1(M,L),[M,L]),D=(0,ae.useMemo)(()=>x$(M,H,{query:f,filter:m}),[M,H,f,m]),Y=(0,ae.useMemo)(()=>w$(M,H,W,{query:f,source:h,enabledOnly:g}),[M,H,W,f,h,g]),N=(0,ae.useMemo)(()=>S$(M,H,W,{range:c}),[M,H,W,c]),_=(0,ae.useMemo)(()=>A$(M,{tools:W,mcpServers:L},{tools:e.tools||[],mcpServers:e.mcp_servers||[]}),[M,W,L,e]),z=M.usage_available!==!1,j=I=>z?I:"\u2014",P=(0,ae.useCallback)(I=>{r("mcp_servers",k$(M,I,L))},[M,L,r]),B=(0,ae.useCallback)(I=>{let C=H[I.key];P({...H,[I.key]:{...C,on:!C.on}})},[H,P]),R=(0,ae.useCallback)((I,C)=>{let T=H[I.key];T.on&&P({...H,[I.key]:{...T,tools:{...T.tools,[C.name]:!T.tools[C.name]}}})},[H,P]),F=(0,ae.useCallback)((I,C)=>{let T=H[I.key],X=Object.fromEntries((I.tools||[]).map($=>[$.name,C]));P({...H,[I.key]:{on:C||T.on,tools:X}})},[H,P]),G=(0,ae.useCallback)(I=>{if(!I.editable)return;let C=I.on?W.filter(T=>T!==I.key):[...W,I.key];r("tools",s_(M,C))},[M,W,r]),ee=(0,ae.useCallback)((I,C)=>{if(!I.editable)return;let T=C?[...W,...I.keys.filter(X=>!W.includes(X))]:W.filter(X=>!I.keys.includes(X));r("tools",s_(M,T))},[M,W,r]),fe=(0,ae.useCallback)(()=>{r("tools",e.tools||[]),r("mcp_servers",e.mcp_servers||[])},[e,r]),de=(M.services||[]).filter(I=>H[I.key]?.on),De=Y.find(I=>I.source==="mcp"),Te=Y.filter(I=>I.source!=="mcp").reduce((I,C)=>I+C.enabledCount,0)+(De?De.total:0),K=Y.reduce((I,C)=>I+C.total,0);return s?ae.default.createElement(yr,null,ae.default.createElement(rt,null,"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-error-text)"}},"Could not load the roster: ",s)):i?ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},ae.default.createElement("div",{style:{flex:1,minWidth:260}},ae.default.createElement("h2",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"3px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turn a service on to offer its tools, then narrow the roster tool by tool. Call counts come from the traces recorded on every tool call.")),ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border-strong)",background:"var(--color-card)"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},"?"),ae.default.createElement("input",{value:f,onChange:I=>p(I.target.value),placeholder:"Filter tools and services\u2026","aria-label":"Filter tools and services",style:{border:"none",outline:"none",background:"transparent",color:"var(--color-text-primary)",fontSize:13,width:180}})),ae.default.createElement(I1,{options:F1,value:c,onChange:d}))),ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12}},N.map(I=>ae.default.createElement(yr,{key:I.key,padding:"14px 16px",testId:`roster-stat-${I.key}`},ae.default.createElement(rt,{size:11,spacing:"0.05em"},I.label),ae.default.createElement("div",{style:{marginTop:6,fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,color:I.tone==="warning"?"var(--color-warning)":"var(--color-text-primary)"}},I.value),ae.default.createElement("div",{style:{marginTop:5,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},I.sub)))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"mcp-services-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"MCP services"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},de.length," of ",(M.services||[]).length," enabled \xB7 ",De?De.total:0," tools offered"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(ol,{selected:!m,onClick:()=>y(null)},"All ",(M.services||[]).length),due.map(I=>ae.default.createElement(ol,{key:I.value,selected:m===I.value,onClick:()=>y(m===I.value?null:I.value)},I.label,I.value==="enabled"?` ${de.length}`:"")),ae.default.createElement(Ff,{href:Ge("/mcp"),onClick:()=>Gv("/mcp"),title:"Every MCP service this workspace knows",style:{marginLeft:4}},"manage servers"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:N$,...E$}},ae.default.createElement("span",null,"On"),ae.default.createElement("span",null,"Service"),ae.default.createElement("span",null,"Status"),ae.default.createElement("span",{style:{textAlign:"right"}},"Tools"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen"),ae.default.createElement("span",null)),D.map(I=>{let C=x===I.key;return ae.default.createElement("div",{key:I.key},ae.default.createElement("div",{className:"aa-roster-row","data-on":I.on?"true":"false","data-testid":`service-row-${I.key}`,style:{display:"grid",gridTemplateColumns:N$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)"}},ae.default.createElement(fue,{on:I.on,onClick:()=>B(I),title:`${I.on?"Disable":"Enable"} ${I.name} for this agent`}),ae.default.createElement("div",{onClick:()=>S(C?null:I.key),style:{minWidth:0,cursor:"pointer"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},I.name),I.first_party&&ae.default.createElement(or,{tone:"accent",size:10},"first-party"),!I.known&&ae.default.createElement(or,{size:10,title:"Seen in your traffic but not in the platform catalog"},"undocumented"),I.partial&&ae.default.createElement(or,{tone:"warning",size:10},I.partialLabel)),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...W1}},I.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:uue[I.status]||"muted"},I.status)),ae.default.createElement("span",{style:{...ti,color:I.on?"var(--color-text-primary)":"var(--color-text-muted)"}},I.toolsLabel),ae.default.createElement("span",{style:ti},j(I.calls)),ae.default.createElement("span",{style:{...ti,color:I.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(I.errors)),ae.default.createElement("span",{style:{...ti,color:"var(--color-text-muted)"}},j(l_(I.last_seen))),ae.default.createElement("span",{onClick:()=>S(C?null:I.key),style:{cursor:"pointer",textAlign:"center"}},ae.default.createElement(Ju,{kind:"chevron",open:C}))),C&&ae.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"10px 16px 12px"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8}},ae.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Tools offered"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.transport),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8}},ae.default.createElement(H1,{onClick:()=>F(I,!0),title:`Offer every tool ${I.name} serves`},"all"),ae.default.createElement(H1,{onClick:()=>F(I,!1),disabled:!I.on,title:`Offer none of ${I.name}'s tools`},"none"))),I.tools.length===0?ae.default.createElement(aa,{style:{padding:"10px 0"}},"no tools recorded for this service yet"):ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"6px 14px"}},I.tools.map(T=>ae.default.createElement("div",{key:T.name,className:"aa-roster-row",onClick:()=>R(I,T),style:{display:"grid",gridTemplateColumns:"20px minmax(0, 1fr) 46px 52px",gap:10,alignItems:"center",padding:"6px 8px",borderRadius:8,cursor:I.on?"pointer":"default",opacity:I.on?1:.55}},ae.default.createElement(_$,{on:T.on,dim:!I.on}),ae.default.createElement("span",{style:{minWidth:0}},ae.default.createElement("span",{style:{display:"block",fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)",...W1}},T.name),ae.default.createElement("span",{style:{display:"block",fontSize:11,color:"var(--color-text-muted)",...W1}},T.description)),ae.default.createElement("span",{style:{...ti,color:"var(--color-text-secondary)"}},j(T.calls)),ae.default.createElement("span",{style:{...ti,color:T.errors?"var(--color-error-text)":"var(--color-text-muted)"}},j(T.errors?`${T.errors} err`:i_(T.avg_duration_ms)))))),!I.on&&ae.default.createElement("div",{style:{marginTop:8,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turning ",I.name," on offers these ",I.tools.length," tools to the agent and starts recording traces and metrics for every call.")))}),D.length===0&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no services match "${f}"`:"no MCP services yet"))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"tools-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"Tools"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Te," enabled of ",K," available"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(ol,{selected:!h,onClick:()=>v(null)},"All ",K),Y.map(I=>ae.default.createElement(ol,{key:I.source,selected:h===I.source,onClick:()=>v(h===I.source?null:I.source)},I.name," ",I.total)),ae.default.createElement(ol,{square:!0,mono:!0,selected:g,onClick:()=>b(!g),style:{marginLeft:4}},g?"[x] enabled only":"[ ] enabled only"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:C$,...E$}},ae.default.createElement("span",null),ae.default.createElement("span",null,"Tool"),ae.default.createElement("span",null,"Source"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Avg"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen")),Y.map(I=>{let C=w[I.source]!==!0;return ae.default.createElement("div",{key:I.source},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 16px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",flexWrap:"wrap"}},ae.default.createElement("span",{onClick:()=>O({...w,[I.source]:C}),style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:10}},ae.default.createElement(Ju,{kind:"chevron",open:C}),ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},I.name)),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.meta),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-cell)"}},I.countLabel),I.editable&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement(H1,{onClick:()=>ee(I,!0)},"all"),ae.default.createElement(H1,{onClick:()=>ee(I,!1)},"none")))),C&&I.rows.map(T=>ae.default.createElement("div",{key:T.key,className:"aa-roster-row","data-on":T.on?"true":"false","data-testid":`tool-row-${T.key}`,onClick:()=>G(T),style:{display:"grid",gridTemplateColumns:C$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)",cursor:T.editable?"pointer":"default",opacity:T.editable?1:.75}},ae.default.createElement(_$,{on:T.on,dim:!T.editable}),ae.default.createElement("div",{style:{minWidth:0}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)"}},T.name),T.source==="mcp"&&ae.default.createElement(or,{size:10},"via ",T.server),T.source==="agent_defined"&&(T.editable?ae.default.createElement(or,{size:10,title:"Generated from the host's schema tools; offered to this agent only while its roster names it"},"from schema"):ae.default.createElement(or,{size:10,title:"Declared by the agent class in code, so the roster reports it rather than selecting it"},"from code")),z&&T.on&&!T.calls&&ae.default.createElement(or,{size:10},"unused")),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...W1}},T.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:cue[T.source]||"muted"},o_[T.source])),ae.default.createElement("span",{style:ti},j(T.calls)),ae.default.createElement("span",{style:{...ti,color:T.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(T.errors)),ae.default.createElement("span",{style:{...ti,color:"var(--color-text-secondary)"}},j(i_(T.avg_duration_ms))),ae.default.createElement("span",{style:{...ti,color:"var(--color-text-muted)"}},j(l_(T.last_seen))))))}),Y.every(I=>I.rows.length===0)&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no tools match "${f}"`:"nothing enabled yet"))),ae.default.createElement(yr,{padding:"12px 16px",style:{position:"sticky",bottom:0,zIndex:4,background:"var(--color-surface)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},testId:"roster-action-bar"},ae.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},ae.default.createElement(rt,{size:11,spacing:"0.05em"},Te," tools \xB7 ",de.length," services"),ae.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Every enabled tool is traced: calls, arguments, errors and latency land in Traces and roll up into Metrics.")),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},_>0&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-warning-text)"}},_," change",_===1?"":"s"," pending"),ae.default.createElement(zr,{variant:"secondary",onClick:fe},"Discard")),ae.default.createElement(zr,{variant:a?"primary":"secondary",onClick:n,disabled:o||!a,title:a?"Save this agent":"Nothing to save",style:a?void 0:{background:"var(--color-muted)",color:"var(--color-text-muted)",border:"1px solid transparent",cursor:"default"}},o?"Saving\u2026":"Save Changes")))):ae.default.createElement(yr,null,ae.default.createElement(aa,null,"loading the roster\u2026"))}var pue=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],P$=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],mue=P$.map(e=>e.id),T$={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"]}},vue={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function Ss({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[a,o]=(T$[e]||T$.neutral)[r?"dark":"light"];return ie.default.createElement("span",{style:{background:a,color:o,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Fe.mono:void 0,whiteSpace:"nowrap"}},n)}function Ln({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:a,title:o,testId:i,children:l}){let u={padding:t==="sm"?"5px 10px":"7px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,cursor:n?"not-allowed":"pointer",transition:"background 0.15s ease, border-color 0.15s ease",whiteSpace:"nowrap"},c={primary:{background:n?a.mutedBg:vn,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 ie.default.createElement("button",{type:"button",onClick:r,disabled:n,title:o,"data-testid":i,style:{...u,...c[e]||c.secondary}},l)}function M$({tabs:e,active:t,onChange:r,colors:n}){return ie.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(a=>{let o=t===a.id;return ie.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 ${o?vn:"transparent"}`,color:o?vn:n.textSecondary,fontSize:"13px",fontWeight:o?600:500,cursor:"pointer",whiteSpace:"nowrap"}},a.label)}))}function V1({agent:e,meta:t,onSave:r,onDelete:n,onRun:a,onDuplicate:o,onRunReport:i,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=kt(),d=Fa(c),[f,p]=(0,ie.useState)(u||"config"),[m,y]=(0,ie.useState)({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"}),[h,v]=(0,ie.useState)([]),[g,b]=(0,ie.useState)(!1),[x,S]=(0,ie.useState)(""),[w,O]=(0,ie.useState)(od),k=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let N=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(_,z)=>z.toUpperCase()).replace(/^./,_=>_.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return N.endsWith("Agent")?N:`${N}Agent`})();(0,ie.useEffect)(()=>{let N=!1;return Ky(m.provider).then(_=>{N||_.length===0||O(z=>({...z,[m.provider]:_}))}),()=>{N=!0}},[m.provider]),(0,ie.useEffect)(()=>{let N=JSON.stringify(m)!==JSON.stringify({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"});b(N)},[m,e]),(0,ie.useEffect)(()=>{f==="versions"?A():f==="code"&&M()},[f]);let A=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/versions`)).json();v(_.versions)}catch(N){console.error("Failed to load versions:",N)}},M=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/export`)).json();S(_.code)}catch(N){console.error("Failed to load code preview:",N)}},W=(N,_)=>{y(z=>({...z,[N]:_}))},L=(N,_)=>{y(z=>{let j=z[N]||[],P=j.includes(_)?j.filter(B=>B!==_):[...j,_];return{...z,[N]:P}})},H=()=>{r(m)},D=mue.includes(f),Y=f==="tools";return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},ie.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Fe.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),ie.default.createElement(mr,{size:44}),ie.default.createElement("div",{style:{flex:1,minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},ie.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},m.name||"Untitled agent"),ie.default.createElement(Ss,{tone:vue[m.status]||"neutral",darkMode:c},m.status),g&&ie.default.createElement(Ss,{tone:"info",darkMode:c},"unsaved")),ie.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},m.description||"No description")),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},o&&ie.default.createElement(Ln,{variant:"secondary",colors:d,onClick:o},"Duplicate"),ie.default.createElement(Ln,{variant:"primary",colors:d,onClick:a},"Run Agent"))),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},ie.default.createElement(M$,{tabs:pue,active:f,onChange:p,colors:d}),ie.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),ie.default.createElement(M$,{tabs:P$,active:f,onChange:p,colors:d})),Y?ie.default.createElement(u_,{agent:e,formData:m,updateField:W,onSave:H,hasChanges:g,isLoading:s}):D?ie.default.createElement("div",null,f==="traces"&&ie.default.createElement(Zu,{agentClass:k,embedded:!0}),f==="metrics"&&ie.default.createElement(n_,{agent:e,embedded:!0}),f==="interactions"&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i&&ie.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},ie.default.createElement("button",{type:"button",onClick:i,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Fe.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),ie.default.createElement(nl,{agentId:e.id,embedded:!0})),f==="evals"&&ie.default.createElement(eg,{embedded:!0,agentId:e.id}),f==="feedback"&&ie.default.createElement(wue,{colors:d})):ie.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&ie.default.createElement(yue,{formData:m,updateField:W,providerModels:w,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&ie.default.createElement(hue,{formData:m,updateField:W,meta:t,toggleArrayItem:L,colors:d}),f==="versions"&&ie.default.createElement(xue,{versions:h,agentId:e.id,onRestore:A,colors:d,darkMode:c}),f==="code"&&ie.default.createElement(bue,{code:x,colors:d})),g&&!Y&&ie.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)"}},ie.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),ie.default.createElement("div",{style:{display:"flex",gap:"8px"}},ie.default.createElement(Ln,{variant:"primary",size:"sm",colors:d,onClick:H,disabled:s},s?"Saving\u2026":"Save Changes"))))}var ri=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),ll=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),gue=e=>({fontFamily:Fe.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function yue({formData:e,updateField:t,providerModels:r,colors:n,darkMode:a,onDelete:o}){return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(n)},"Agent Name"),ie.default.createElement("input",{type:"text",value:e.name,onChange:i=>t("name",i.target.value),className:"aa-field",style:ll(n)})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(n)},"Preset Type"),ie.default.createElement("select",{value:e.preset_type,onChange:i=>t("preset_type",i.target.value),className:"aa-field",style:ll(n)},Object.keys(nd).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(n)},"Description"),ie.default.createElement("textarea",{value:e.description,onChange:i=>t("description",i.target.value),rows:3,className:"aa-field",style:{...ll(n),resize:"vertical"}})),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(n)},"Provider"),ie.default.createElement("select",{value:e.provider,onChange:i=>{t("provider",i.target.value),t("model",r[i.target.value][0])},className:"aa-field",style:ll(n)},Object.keys(r).map(i=>ie.default.createElement("option",{key:i,value:i},i.charAt(0).toUpperCase()+i.slice(1))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(n)},"Model"),ie.default.createElement("select",{value:e.model,onChange:i=>t("model",i.target.value),className:"aa-field",style:{...ll(n),fontFamily:Fe.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(n)},"Temperature"," ",ie.default.createElement("span",{style:{fontFamily:Fe.mono,color:n.textSecondary}},e.model_config.temperature)),ie.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:i=>t("model_config",{...e.model_config,temperature:parseFloat(i.target.value)}),style:{width:"100%",accentColor:vn}})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(n)},"Status"),ie.default.createElement("select",{value:e.status,onChange:i=>t("status",i.target.value),className:"aa-field",style:ll(n)},ie.default.createElement("option",{value:"draft"},"Draft"),ie.default.createElement("option",{value:"active"},"Active"),ie.default.createElement("option",{value:"archived"},"Archived")))),o&&ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},ie.default.createElement("div",null,ie.default.createElement("div",{style:gue(n)},"Danger zone"),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),ie.default.createElement(Ln,{variant:"danger",size:"sm",colors:n,onClick:o},"Delete Agent")))}function hue({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:a}){let o=e.action_prompts||[],i=(u,c)=>{t("action_prompts",o.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...o,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",o.filter((c,d)=>d!==u))};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(a)},"System Instructions"),ie.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:{...ll(a),fontFamily:Fe.mono,resize:"vertical"}})),ie.default.createElement("div",null,ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},ie.default.createElement("label",{style:{...ri(a),marginBottom:0}},"Action Prompts"),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:a,onClick:l},"+ Add action")),ie.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 ",ie.default.createElement("span",{style:{fontFamily:Fe.mono}},"#ask")," action uses the system instructions alone."),o.length>0&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},o.map((u,c)=>ie.default.createElement("div",{key:c,style:{border:`1px solid ${a.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",color:a.textMuted}},"#"),ie.default.createElement("input",{type:"text",value:u.name,onChange:d=>i(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...ll(a),flex:1,padding:"6px 10px",fontFamily:Fe.mono}}),ie.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:a.textSecondary,whiteSpace:"nowrap"}},ie.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>i(c,{expose_as_tool:d.target.checked}),style:{accentColor:vn}}),"Expose as tool"),ie.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Fe.mono,fontSize:"12px",color:a.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),ie.default.createElement("textarea",{value:u.prompt,onChange:d=>i(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...ll(a),fontFamily:Fe.mono,resize:"vertical"}}))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ri(a)},"Instruction Sets"),ie.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return ie.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?vn:a.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":a.textCell}},u)}))))}function xue({versions:e,agentId:t,onRestore:r,colors:n,darkMode:a}){let o=async i=>{if(confirm("Restore this version? This will create a new version with the restored configuration."))try{await fetch(`/api/agents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version_id:i})}),r()}catch(l){console.error("Failed to restore version:",l)}};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},ie.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(i=>{let l=i.is_latest||i.isLatest;return ie.default.createElement("div",{key:i.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?vn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},ie.default.createElement("div",{style:{minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",i.version_number||i.versionNumber),l&&ie.default.createElement(Ss,{tone:"error",darkMode:a},"current")),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},i.change_summary||i.changeSummary),ie.default.createElement("p",{style:{fontFamily:Fe.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(i.created_at||i.createdAt).toLocaleString())),!l&&ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>o(i.id)},"Restore"))})):ie.default.createElement(D$,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function bue({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},ie.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),ie.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Fe.mono,fontSize:"12px",lineHeight:1.6,margin:0}},ie.default.createElement("code",null,e||"Loading...")))}function wue({colors:e}){return ie.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},ie.default.createElement(D$,{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 D$({colors:e,glyph:t,title:r,hint:n}){return ie.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},ie.default.createElement("div",{style:{fontFamily:Fe.mono,fontSize:"20px",color:e.textMuted}},t),ie.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),ie.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var V=te(ne());async function Vf(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var Sue={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},Aue=(e,t)=>{let r=Sue[e]||{role:e,label:e};return{...gr(r.role,t),label:r.label}},c_={complete:"success",failed:"error",running:"info",pending:"warning",cancelled:"neutral"},kue=["Hello, what can you help me with?","Show me a dashboard of last quarter's sales","List the files in the current directory","Explain how this code works"],Nue=["user","assistant","tool"],Cue=1200,Eue=600*1e3,K1=e=>e?e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`:"-",I$=e=>{if(!e)return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},d_=e=>{let t=new Map;return(e?.logs||[]).filter(r=>r.eid).forEach(r=>{let n=t.get(r.eid)||{eid:r.eid};r.status==="started"?Object.assign(n,r,{input:r.detail,output:n.output}):Object.assign(n,r,{input:n.input,output:r.detail}),t.set(r.eid,n)}),[...t.values()]},As=e=>e?.context_id??e?.output_metadata?.context_id??null,tg=e=>e.json().catch(()=>({})),j$=({open:e,color:t})=>V.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${e?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:t}},V.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}));function _ue({run:e,darkMode:t,colors:r,expanded:n,onToggle:a}){let o=d_(e),i=_1(t);return V.default.createElement("div",{"data-testid":"runner-activity",className:"space-y-2"},o.map(l=>{let s=!!n[l.eid],u=!!(l.input||l.output),c=Aue(l.kind,t);return V.default.createElement("div",{key:l.eid,"data-testid":"runner-activity-event"},V.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${u?"cursor-pointer":""}`,onClick:u?()=>a(l.eid):void 0,title:u?"Click to inspect input/output":void 0,style:s?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:c.background,color:c.color,minWidth:"72px",textAlign:"center"}},c.label),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words",style:{color:r.textPrimary}},l.label,l.output&&!s&&V.default.createElement("span",{style:{color:r.textMuted}}," \u201C",l.output.slice(0,160),l.output.length>160?"\u2026":"","\u201D")),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:r.textMuted}},l.status==="started"?V.default.createElement("span",{className:"animate-pulse",style:{color:"#3b82f6"}},"running\u2026"):V.default.createElement("span",{style:l.status==="error"?{color:"#ef4444"}:void 0},l.status==="error"?"failed":"\u2713",l.duration_ms!=null&&` ${K1(l.duration_ms)}`),l.at&&V.default.createElement("span",null,new Date(l.at).toLocaleTimeString()))),u&&V.default.createElement(j$,{open:s,color:r.textMuted})),s&&V.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:c.color+"55"}},l.input&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},"Input"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},I$(l.input))),l.output&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},l.status==="error"?"Error":"Result"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...l.status==="error"?{background:t?"rgba(239,68,68,0.12)":"#fef2f2",color:t?"#fca5a5":"#b91c1c"}:{}}},I$(l.output)))))}))}function Oue({run:e,darkMode:t,colors:r}){return e?V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap text-xs",style:{color:r.textMuted}},V.default.createElement("span",{"data-testid":"runner-status",style:{display:"inline-flex"}},V.default.createElement(Ss,{tone:c_[e.status]||"neutral",darkMode:t},e.status)),e.output_metadata?.model&&V.default.createElement("span",{className:"font-mono",title:"Model that generated this run"},e.output_metadata.provider,"/",e.output_metadata.model),e.duration_ms?V.default.createElement("span",null,K1(e.duration_ms)):null,e.total_tokens?V.default.createElement("span",null,e.total_tokens," tokens"):null,e.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${e.trace_id}`),className:"font-mono hover:underline",style:{color:r.textSecondary},title:`${e.trace_id} \u2014 open in Traces`},"trace:",e.trace_id.slice(0,8)," \u2192")):null}function f_({agent:e,onBack:t}){let{darkMode:r}=kt(),n=Fa(r),a=e.action_prompts||e.actionPrompts||[],o=["ask",...a.map(oe=>oe.name).filter(Boolean)],[i,l]=(0,V.useState)("ask"),[s,u]=(0,V.useState)(""),[c,d]=(0,V.useState)([]),[f,p]=(0,V.useState)(!1),[m,y]=(0,V.useState)([]),[h,v]=(0,V.useState)(null),[g,b]=(0,V.useState)(null),[x,S]=(0,V.useState)(null),[w,O]=(0,V.useState)([]),[k,A]=(0,V.useState)(!1),[M,W]=(0,V.useState)(null),[L,H]=(0,V.useState)(null),[D,Y]=(0,V.useState)(null),[N,_]=(0,V.useState)(null),[z,j]=(0,V.useState)({}),[P,B]=(0,V.useState)(null),[R,F]=(0,V.useState)(!1),[G,ee]=(0,V.useState)(null),[fe,de]=(0,V.useState)(!1),[De,le]=(0,V.useState)(!1),[Te,K]=(0,V.useState)(null),[I,C]=(0,V.useState)(""),[T,X]=(0,V.useState)(!1),[$,Ne]=(0,V.useState)(null),E=(0,V.useRef)(null),Z=(0,V.useRef)(null),ge=(0,V.useRef)(0),Le=(0,V.useRef)(!0),nt=(0,V.useRef)(null),Bt=(0,V.useRef)([]),ft=(0,V.useRef)(null),En=(0,V.useRef)(null),Bn=(0,V.useRef)(null),oa=(0,V.useRef)(null),Mo=(g?.messages||[]).filter(oe=>Nue.includes(oe.role));(0,V.useEffect)(()=>{nt.current=L},[L]),(0,V.useEffect)(()=>{Bt.current=c},[c]),(0,V.useEffect)(()=>(Le.current=!0,nc(),()=>{Le.current=!1,ge.current+=1,ai(nt.current),ai({attachments:Bt.current}),H(null),d([])}),[e.id]),(0,V.useEffect)(()=>{fr(i)},[e.id,i]),(0,V.useEffect)(()=>{Z.current=h,h?$n(h):(b(null),S(null))},[h]),(0,V.useEffect)(()=>{let oe=En.current;oe&&(oe.scrollTop=oe.scrollHeight)},[Mo.length,L,M?.logs?.length,Te,D]),(0,V.useEffect)(()=>{if(!De)return;let oe=Ie=>{oa.current&&!oa.current.contains(Ie.target)&&le(!1)};return document.addEventListener("mousedown",oe),()=>document.removeEventListener("mousedown",oe)},[De]);let nc=async()=>{try{let Ie=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();O(Ie.runs||[])}catch(oe){console.error("Failed to load runs:",oe)}},fr=async oe=>{try{let Ie=await fetch(`/api/agents/${e.id}/conversations?action_name=${encodeURIComponent(oe)}`);if(!Ie.ok)throw new Error(`HTTP ${Ie.status}`);let at=(await Ie.json()).conversations||[];y(at),v(Hr=>Hr&&(E.current===Hr||at.some(fo=>fo.id===Hr))?Hr:at[0]?.id??null)}catch(Ie){console.error("Failed to load conversations:",Ie),y([])}},$n=async oe=>{try{let Ie=await fetch(`/api/interactions/${oe}`);if(!Ie.ok)throw new Error(Ie.status===404?"Conversation not found":`HTTP ${Ie.status}`);let Ye=await Ie.json();if(Z.current!==oe)return;b(Ye.interaction),S(null)}catch(Ie){if(Z.current!==oe)return;b(null),S(Ie.message)}},ni=async()=>{let oe=await fetch(`/api/agents/${e.id}/conversations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action_name:i})}),Ie=await tg(oe);if(!oe.ok||!Ie.conversation)throw new Error(Ie.error||`Could not start a conversation (HTTP ${oe.status})`);let Ye=Ie.conversation;return y(at=>[Ye,...at.filter(Hr=>Hr.id!==Ye.id)]),E.current=Ye.id,v(Ye.id),Ye.id},ac=()=>Z.current?Promise.resolve(Z.current):ni(),nw=oe=>{E.current=null,l(oe)},Xf=()=>{W(null),_(null),j({})},aw=oe=>{let Ie=oe?Number(oe):null;Ie!==Z.current&&Xf(),E.current=Ie,v(Ie),Y(null)},oc=async()=>{if(!k)try{await ni(),S(null),Y(null),Xf(),ai(nt.current),H(null),K(null)}catch(oe){S(oe.message)}},ai=oe=>{(oe?.attachments||[]).forEach(Ie=>{Ie.url&&Ie.url.startsWith("blob:")&&URL.revokeObjectURL(Ie.url)})},ic=oe=>{let Ie=Array.from(oe||[]).filter(Boolean);Ie.length!==0&&d(Ye=>[...Ye,...Ie.map(at=>({file:at,filename:at.name,content_type:at.type||"application/octet-stream",byte_size:at.size,kind:j7(at),url:at.type&&at.type.startsWith("image/")?URL.createObjectURL(at):null}))])},ow=oe=>{d(Ie=>{let Ye=Ie[oe];return Ye?.url&&URL.revokeObjectURL(Ye.url),Ie.filter((at,Hr)=>Hr!==oe)})},fg=(oe,Ie)=>{A(!1),ai(nt.current),H(null),nc();let Ye=As(oe)??Ie;Ye&&(Ye!==Z.current?(E.current=Ye,v(Ye)):$n(Ye),fr(i))},iw=(oe,Ie)=>{if(!Le.current)return;let Ye=++ge.current,at=Date.now(),Hr=async()=>{if(ge.current===Ye){try{let fo=await fetch(`/api/runs/${oe}`);if(fo.ok){let Un=await fo.json();if(ge.current!==Ye)return;if(W(Un.run),!["pending","running"].includes(Un.run.status)){fg(Un.run,Ie);return}}}catch{}Date.now()-atfo&&{...fo,status:"failed",error_message:"Timed out waiting for the run to finish."}),_("Timed out waiting for the run to finish."))}};Hr()},lc=async({text:oe,files:Ie,fromComposer:Ye=!1})=>{let at=(oe||"").trim();if(!at&&Ie.length===0||k)return;_(null),Y(null),K(null),A(!0),j({}),W({status:"pending",input_prompt:at,output:"",logs:[],started_at:new Date().toISOString()}),ai(nt.current),H({content:at||"(see attached files)",attachments:Ie.map(({file:Un,...Cs})=>Cs)}),Ye&&(u(""),d([]));let Hr=Z.current;if(!Hr)try{Hr=await ni()}catch(Un){_(`${Un.message} \u2014 running without a pinned conversation.`)}let fo=()=>{Ye&&(u(at),d(Ie)),H(null)};try{let Un=new FormData;Un.append("prompt",at),Un.append("action_name",i),Hr&&Un.append("params[context_id]",String(Hr)),Ie.forEach(({file:mg})=>Un.append("attachments[]",mg,mg.name));let Cs=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",body:Un}),cc=await tg(Cs);if(Cs.status===402&&cc.upgrade_required){B(cc.usage),W(mg=>({...mg,status:"failed",error_message:cc.message||"Plan limit reached"})),A(!1),fo();return}if(!Cs.ok)throw new Error(cc.error||"Run failed");iw(cc.run.id,As(cc.run)??Hr)}catch(Un){W(Cs=>({...Cs,status:"failed",error_message:Un.message})),A(!1),fo()}},Zf=()=>lc({text:s,files:c,fromComposer:!0}),pg=oe=>{!oe||!oe.text||lc({text:oe.text,files:[]})},lw=oe=>{oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&(oe.preventDefault(),Zf())},Qf=async(oe,Ie)=>{let Ye=Z.current,at=await fetch(`/api/interactions/${Ye}/messages/${oe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:Ie})}),Hr=await tg(at);if(!at.ok)throw new Error(Hr.error||`Could not save the message (HTTP ${at.status})`);await $n(Ye)},sw=async oe=>{let Ie=Z.current;try{let Ye=await fetch(`/api/interactions/${Ie}/messages/${oe.id}`,{method:"DELETE"});if(!Ye.ok){let at=await tg(Ye);throw new Error(at.error||`Could not delete the message (HTTP ${Ye.status})`)}S(null),await $n(Ie),fr(i)}catch(Ye){S(Ye.message)}},uw=oe=>{le(!1),K(oe),C(""),Ne(null)},sc=async()=>{let oe=I.trim();if(!(!oe||T)){X(!0),Ne(null);try{let Ie=await ac(),Ye=await fetch(`/api/interactions/${Ie}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Te,content:oe})}),at=await tg(Ye);if(!Ye.ok)throw new Error(at.error||`Could not add the message (HTTP ${Ye.status})`);C(""),K(null),await $n(Ie),fr(i)}catch(Ie){Ne(Ie.message)}finally{X(!1)}}},cw=async oe=>{let Ie=oe;if(As(oe)==null)try{let at=await fetch(`/api/runs/${oe.id}`);at.ok&&(Ie=(await at.json()).run)}catch(at){console.error("Failed to load run details:",at)}let Ye=As(Ie);if(Ye){Y(null),Ye!==Z.current&&Xf(),E.current=Ye;let at=Ie.action_name||oe.action_name;at&&o.includes(at)&&at!==i&&l(at),v(Ye)}else Y({...Ie,output:Ie.output??Ie.output_preview,error_message:Ie.error_message??Ie.error});ft.current?.scrollIntoView({behavior:"smooth",block:"start"})},xe=async()=>{F(!0),ee(null);try{await Vf({planSlug:"pro"})}catch(oe){ee(oe.message),F(!1)}},ut=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl,Zt=a.find(oe=>oe.name===i)?.prompt,pr=[e.instructions,i==="ask"?null:Zt].map(oe=>(oe||"").trim()).filter(Boolean).join(` +Who updated the description for the sample notebook?`,style:{...ol,width:"100%",fontFamily:ye,fontSize:12,lineHeight:"18px"}}),re.default.createElement("p",{style:{margin:"6px 0 0",fontSize:12,color:"var(--color-text-muted)",textWrap:"pretty"}},"With scenarios, each run replays every message through the agent \u2014 once per model in \u201CCompare models\u201D \u2014 and reports which tasks it completes, what faults it hits, and how to fix them. ",re.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," lines group related tasks so they can be run together; ",re.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b")," names the tool a task should call.")),L.judgeKind==="judge_defined"&&re.default.createElement("p",{style:{margin:0,fontSize:12,color:"var(--color-text-secondary)"}},"On the first run the judge reads the agent's instructions and recent interactions, defines 3\u20136 KPIs, then scores samples against them. KPIs persist so later runs (and model cohorts) stay comparable."),L.judgeKind!=="judge_defined"&&re.default.createElement(re.default.Fragment,null,re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Rule-based criteria (sampled generations)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},e_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Telemetry criteria (trace aggregates)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},t_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Must contain (optional pattern)"),re.default.createElement("input",{type:"text",value:L.containsPattern,onChange:E=>H({...L,containsPattern:E.target.value}),placeholder:"e.g. password reset",style:{...ol,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"LLM judge criterion (optional, needs provider credentials)"),re.default.createElement("input",{type:"text",value:L.llmJudgePrompt,onChange:E=>H({...L,llmJudgePrompt:E.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...ol,width:"100%"}})))),D&&re.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},D),re.default.createElement("div",null,re.default.createElement(zr,{variant:"primary",type:"submit",disabled:N},N?L.scenariosText.trim()?"Creating & starting run\u2026":"Creating & running\u2026":"Create & Run")))),re.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(190px, 1fr))",gap:16}},re.default.createElement(Xv,{label:"Suites",value:fe.length,sub:$,testId:"stat-suites"}),re.default.createElement(Xv,{label:"Scenario runs",value:le,sub:"latest run of each suite",testId:"stat-scenario-runs"}),re.default.createElement(Xv,{label:"Pass rate",value:I==null?"\u2014":n$(I),valueColor:I==null?"var(--color-text-muted)":nl[Qu(I)].strong,sub:I==null?"no completed runs yet":`${Te} / ${le} passed`,testId:"stat-pass-rate"}),re.default.createElement(Xv,{label:"Open faults",value:le-Te,sub:`${Xt(K,"fix item")} across ${Xt(De.length,"suite")}`,testId:"stat-open-faults"})),re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ee.map(E=>{let Z=E.latest_run,ge=j(E.id),Le=!!E.scenario_suite,nt=Z?.status==="complete",Bt=Z?.status==="pending"||Z?.status==="running",ft=Z?.models?.length||(E.compare_models||[]).length||1,En=Z?.samples_passed||0,Bn=Z?.samples_evaluated||0,oa=Bn?En/Bn:0,Mo=(E.criteria||[]).some(fr=>t_.some($n=>$n.key===fr.key)),nc=Le?`@${E.agent?.name||"agent"} \xB7 ${Xt(E.scenario_count||0,"scenario")} \xD7 ${Xt(ft,"model")}`:`@${E.agent?.name||"agent"} \xB7 ${Xt(E.sample_size||0,"sample")}${ft>1?` \xD7 ${Xt(ft,"model")}`:""}`;return re.default.createElement(yr,{key:E.id,padding:0,testId:"evaluation-card","data-telemetry":Mo?"true":"false","data-kind":Le?"suite":"sampling","data-open":ge?"true":"false",style:{overflow:"hidden"}},re.default.createElement("div",{onClick:()=>P(E.id),className:"hover:bg-[var(--color-hover)]",style:{display:"flex",alignItems:"center",gap:12,rowGap:8,padding:"12px 16px",cursor:"pointer",flexWrap:"wrap"}},re.default.createElement(Ju,{kind:"chevron",open:ge}),re.default.createElement("span",{style:{width:22,height:22,borderRadius:6,background:"var(--color-muted)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,color:"var(--color-text-secondary)",flexShrink:0},title:Le?"scenario suite":"sampling evaluation"},Le?"=":"~"),re.default.createElement("span",{style:{fontSize:14,fontWeight:600,color:"var(--color-text-primary)"}},E.name),re.default.createElement("span",{style:Ro(11)},nc),re.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14,flexShrink:0}},re.default.createElement("span",{style:Ro(11)},Hf(Z?.completed_at||Z?.created_at||E.created_at)),Z?.status==="failed"&&re.default.createElement("span",{style:Ro(11,"var(--color-error)")},"failed"),Bt&&re.default.createElement("span",{style:Ro(11)},Z.status==="pending"?"queued":"running"),!Z&&re.default.createElement("span",{style:Ro(11)},"no runs"),nt&&Le&&re.default.createElement("span",{style:Ro(11)},Xt(Bn-En,"fault")),nt&&Le&&re.default.createElement(or,{tone:Qu(oa),testId:"suite-pass-badge"},`${En}/${Bn} passed`),nt&&!Le&&Z.average_score!=null&&re.default.createElement(or,{tone:g$(Z.average_score),title:"mean score across criteria"},`score ${Ru(Z.average_score)}`),nt&&!Le&&Bn>0&&re.default.createElement(or,{tone:Qu(oa)},`${En}/${Bn} passed`))),ge&&re.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)"}},Le?re.default.createElement(RE,{evaluation:E,onChanged:z,onDelete:()=>G(E),deleting:M===E.id}):re.default.createElement(re.default.Fragment,null,Z?.status==="failed"?re.default.createElement("div",{style:{padding:16,fontSize:13,color:"var(--color-error-text)"}},Z.error_message):Z?.scores?re.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12}},Z.scores._verdict&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:10,border:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},re.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},Z.scores._verdict.winner),re.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"}},"judge's pick"),re.default.createElement("span",{style:{marginLeft:"auto",...Ro(11)}},`judged by ${Z.scores._verdict.judge}`)),re.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),Z.scores._verdict.rationale)),Z.scores._missing_models&&re.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"}},"No recorded generations for: ",Z.scores._missing_models.join(", ")," \u2014 run the agent under those models first"),Object.entries(Z.scores).filter(([fr])=>!fr.startsWith("_")).map(([fr,$n])=>Ne($n)?re.default.createElement("div",{key:fr,style:{display:"flex",flexDirection:"column",gap:4}},re.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-secondary)"}},fr.replace(/_/g," ")),Object.entries($n).map(([ri,ac])=>re.default.createElement(v$,{key:ri,label:ri,score:ac,indent:!0,mono:!0}))):re.default.createElement(v$,{key:fr,label:fr,score:$n}))):re.default.createElement("div",{style:{padding:16,...Ro(11)}},"[ ] no runs yet"),re.default.createElement("div",{style:{padding:16,background:"var(--color-background)",display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:16,fontSize:13}},re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Judge"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},E.judge_kind==="judge_defined"?`judge-defined KPIs${E.judge_model?` (${E.judge_model})`:""}`:E.judge_kind==="llm"?E.judge_model||"llm judge":"rules")),re.default.createElement("div",{style:{gridColumn:"span 2",minWidth:0}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Criteria"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)",textWrap:"pretty"}},(E.criteria||[]).map(fr=>String(fr.key).replace(/_/g," ")).join(" \xB7 ")||"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Samples"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},nt&&Bn>0?`${En} / ${Bn} passed`:"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Last run"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"},title:"Estimated cost, tokens and wall-clock runtime of the latest run"},nue(Z?.usage)||"\u2014")),re.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",justifyContent:"flex-end",gap:8}},re.default.createElement(zr,{size:"sm",onClick:fr=>{fr.stopPropagation(),F(E.id)},disabled:k===E.id},k===E.id?"Running\u2026":"Run again"),re.default.createElement(zr,{variant:"danger",size:"sm",onClick:fr=>{fr.stopPropagation(),G(E)},disabled:M===E.id,title:"Delete this evaluation and its runs"},M===E.id?"Deleting\u2026":"Delete"))))))})),ee.length===0&&!w&&re.default.createElement(yr,{style:{textAlign:"center",padding:"48px 20px"}},re.default.createElement("div",{style:{fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"No evaluations yet"),re.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Create an evaluation to score recorded outputs, or paste scenarios to test new tasks across models")))}var Ce=te(ne());var aue=e=>new Date(`${e}T00:00:00`),oue=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function n_({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=kt(),a=Fa(n),[o,i]=(0,Ce.useState)(null),[l,s]=(0,Ce.useState)(!0),{timeWindow:u,days:c}=Qo(),[d,f]=(0,Ce.useState)("overview"),p=e.telemetry_agent_class||(()=>{let b=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(S,w)=>w.toUpperCase()).replace(/^./,S=>S.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return b.endsWith("Agent")?b:`${b}Agent`})();(0,Ce.useEffect)(()=>{v()},[e?.id,c]);let v=async()=>{if(e?.id){s(!0);try{let S=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();i(S)}catch(b){console.error("Failed to load analytics:",b)}finally{s(!1)}}},y=b=>b?b<1e3?`${b}ms`:`${(b/1e3).toFixed(2)}s`:"-",h=b=>b?b>=1e6?`${(b/1e6).toFixed(1)}M`:b>=1e3?`${(b/1e3).toFixed(1)}K`:b.toString():"0",m=b=>{switch(b){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&&!o)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 g=o?.runs_by_day?.length>0?Math.max(...o.runs_by_day.map(b=>b.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(Jo,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(Jo,null))),!r&&Ce.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:a.mutedBg}},oue.map(b=>Ce.default.createElement("button",{key:b.id,onClick:()=>f(b.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===b.id?"shadow":""}`,style:d===b.id?{background:a.cardBg,color:a.textPrimary}:{color:a.textSecondary}},b.label))),x==="traces"&&Ce.default.createElement(Zu,{agentClass:p,embedded:!0}),x==="interactions"&&Ce.default.createElement(rl,{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(U1,{title:"Total Runs",value:o?.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(U1,{title:"Success Rate",value:`${o?.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(U1,{title:"Avg Duration",value:y(o?.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(U1,{title:"Total Tokens",value:h(o?.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"),o?.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"},o.runs_by_day.map((b,S)=>Ce.default.createElement("div",{key:b.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:`${b.count/g*150}px`,minHeight:b.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"},b.count," runs")),(S===0||S===o.runs_by_day.length-1||o.runs_by_day.length<=7)&&Ce.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:a.textMuted}},aue(b.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(o?.status_breakdown||{}).length>0?Ce.default.createElement("div",{className:"space-y-3"},Object.entries(o.status_breakdown).map(([b,S])=>{let w=o?.summary?.total_runs||1,O=(S/w*100).toFixed(1);return Ce.default.createElement("div",{key:b},Ce.default.createElement("div",{className:"flex justify-between text-sm mb-1"},Ce.default.createElement("span",{className:"capitalize",style:{color:a.textSecondary}},b),Ce.default.createElement("span",{className:"font-medium",style:{color:a.textPrimary}},S," (",O,"%)")),Ce.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:a.trackBg}},Ce.default.createElement("div",{className:`h-full ${m(b)} rounded-full transition-all`,style:{width:`${O}%`}})))})):Ce.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:a.textMuted}},"No runs yet"))),o?.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"},o.recent_errors.map(b=>Ce.default.createElement("div",{key:b.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"}},b.error||"Unknown error"),Ce.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(b.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}},o?.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}},o?.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}},h(o?.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}},o?.period_days||30," days")))))}var y$={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 U1({title:e,value:t,icon:r,color:n,colors:a,darkMode:o}){let[i,l,s]=y$[n]||y$.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:o?l:s,color:i}},r)))}var ae=te(ne());var iue=["agent_defined","dashboard","mcp"],o_={agent_defined:"Agent-defined",dashboard:"Dashboard",mcp:"MCP"},lue={agent_defined:"the host's schema tools, and what the agent class declares",dashboard:"built into the dashboard",mcp:"offered by the services above"},W1=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720}],i_=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`},l_=(e,t=Date.now())=>{if(!e)return"never";let r=new Date(e).getTime();if(Number.isNaN(r))return"never";let n=Math.floor((t-r)/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;let a=Math.floor(n/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`},a_=e=>{if(typeof e=="string")return e.trim()||null;if(!e||typeof e!="object")return null;let t=e.key||e.name;return t&&String(t).trim()||null};function F1(e,t=[]){let r=new Map;(t||[]).forEach(a=>{let o=a_(a);o&&r.set(o,a)});let n={};return(e.services||[]).forEach(a=>{let o=r.get(a.key),i=o&&typeof o=="object"&&Array.isArray(o.tools)?o.tools.map(l=>String(l&&l.name?l.name:l)):null;n[a.key]={on:r.has(a.key),tools:Object.fromEntries((a.tools||[]).map(l=>[l.name,i===null||i.includes(l.name)]))}}),n}var h$=e=>{let t=String(e||"").trim().toLowerCase();return(...r)=>!t||r.some(n=>String(n||"").toLowerCase().includes(t))};function x$(e,t,{query:r="",filter:n=null}={}){let a=h$(r);return(e.services||[]).filter(o=>n?n==="enabled"?t[o.key]?.on:o.status===n:!0).filter(o=>a(o.name,o.description)||(o.tools||[]).some(i=>a(i.name))).map(o=>{let i=t[o.key]||{on:!1,tools:{}},l=o.tools||[],s=l.map(c=>({...c,on:!!i.tools[c.name]})),u=s.filter(c=>c.on);return{...o,on:i.on,tools:s,offeredCount:l.length,enabledCount:u.length,toolsLabel:`${u.length}/${l.length}`,partial:i.on&&u.length{let a=t[n.key];!a||!a.on||(n.tools||[]).forEach(o=>{a.tools[o.name]&&r.push({...o,key:`${n.key}:${o.name}`,source:"mcp",editable:!1,enabled:!0,server:n.name,serverKey:n.key})})}),r}function b$(e,t,r=[]){let n=new Set((r||[]).map(String));return(e.tools||[]).map(a=>({...a,on:a.editable?n.has(a.key):a.enabled!==!1})).concat(sue(e,t).map(a=>({...a,on:!0})))}function w$(e,t,r,{query:n="",source:a=null,enabledOnly:o=!1}={}){let i=h$(n),l=b$(e,t,r),s=l.filter(u=>!a||u.source===a).filter(u=>!o||u.on).filter(u=>i(u.name,u.description));return iue.map(u=>{let c=l.filter(p=>p.source===u),d=c.some(p=>p.editable),f=c.filter(p=>p.on).length;return{source:u,name:o_[u],meta:`${lue[u]} \xB7 ${c.length} ${c.length===1?"tool":"tools"}`,countLabel:d?`${f}/${c.length} on`:`${c.length} offered`,editable:d,total:c.length,enabledCount:f,keys:c.map(p=>p.key),rows:s.filter(p=>p.source===u)}}).filter(u=>u.total>0)}function S$(e,t,r,{range:n="7d"}={}){let a=b$(e,t,r),o=e.usage_available!==!1,i=e.services||[],l=i.filter(p=>t[p.key]?.on),s=a.filter(p=>p.source!=="mcp"&&p.on),u=a.filter(p=>p.source==="mcp"),c=a.reduce((p,v)=>p+(v.calls||0),0),d=a.reduce((p,v)=>p+(v.errors||0),0),f=a.filter(p=>p.on&&!p.calls).length;return[{key:"tools",label:"Tools enabled",value:String(s.length+u.length),sub:`${s.length} direct \xB7 ${u.length} offered through MCP`},{key:"services",label:"MCP services",value:`${l.length}/${i.length}`,sub:l.length?`on for this agent: ${l.map(p=>p.name).join(", ")}`:"none enabled for this agent"},{key:"calls",label:"Tool calls",value:o?String(c):"\u2014",sub:o?`${d} error${d===1?"":"s"} in the last ${n} \xB7 traced`:"no calls recorded in this window yet"},{key:"unused",label:"Never called",value:o?String(f):"\u2014",sub:"enabled but unused in this window",tone:o&&f>6?"warning":null}]}function A$(e,t,r){let n=F1(e,t.mcpServers),a=F1(e,r.mcpServers),o=0;Object.keys(n).forEach(s=>{n[s].on!==a[s].on&&(o+=1),Object.keys(n[s].tools).forEach(u=>{n[s].tools[u]!==a[s].tools[u]&&(o+=1)})});let i=new Set((t.tools||[]).map(String)),l=new Set((r.tools||[]).map(String));return(e.tools||[]).forEach(s=>{s.editable&&i.has(s.key)!==l.has(s.key)&&(o+=1)}),o}function k$(e,t,r=[]){let n=new Map;(r||[]).forEach(i=>{let l=a_(i);l&&n.set(l,i)});let a=[];(e.services||[]).forEach(i=>{let l=t[i.key];if(!l||!l.on)return;let s=(i.tools||[]).map(p=>p.name),u=s.filter(p=>l.tools[p]),c=n.get(i.key),d=s.length>0&&u.lengthi.key));return(r||[]).forEach(i=>{let l=a_(i);l&&!o.has(l)&&a.push(i)}),a}function s_(e,t=[]){let r=new Set((e.tools||[]).filter(o=>o.editable).map(o=>o.key)),n=(t||[]).map(String).filter(o=>!r.has(o)),a=(e.tools||[]).filter(o=>o.editable&&t.includes(o.key)).map(o=>o.key);return n.concat(a)}var uue={active:"success",configured:"info",available:"warning",idle:"muted"},cue={agent_defined:"success",dashboard:"success",mcp:"info"},N$="44px minmax(0, 1fr) 108px 60px 52px 58px 74px 26px",C$="26px minmax(0, 1fr) 108px 52px 52px 52px 74px",due=[{value:"enabled",label:"Enabled"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],E$={padding:"7px 16px",gap:10,alignItems:"end",background:"var(--color-muted)",fontFamily:ye,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)"},ei={fontFamily:ye,fontSize:11,textAlign:"right",color:"var(--color-text-primary)"},H1={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function fue({on:e,onClick:t,title:r}){return ae.default.createElement("span",{role:"switch","aria-checked":e,tabIndex:0,title:r,onClick:t,onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))},style:{width:34,height:18,borderRadius:999,flexShrink:0,position:"relative",cursor:"pointer",background:e?"var(--color-accent-ui)":"var(--color-muted)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,transition:"background 0.12s ease"}},ae.default.createElement("span",{style:{position:"absolute",top:1,left:e?17:1,width:14,height:14,borderRadius:"50%",background:e?"#ffffff":"var(--color-text-muted)",transition:"left 0.12s ease"}}))}function _$({on:e,dim:t=!1}){return ae.default.createElement("span",{"aria-hidden":"true",style:{width:16,height:16,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,flexShrink:0,border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,background:e?"var(--color-accent-ui)":"transparent",color:e?"var(--color-on-accent)":"transparent",opacity:t?.8:1}},e?"x":"")}function V1({children:e,onClick:t,disabled:r,title:n}){return ae.default.createElement("button",{type:"button",onClick:t,disabled:r,title:n,style:{padding:"3px 9px",borderRadius:6,background:"transparent",fontFamily:ye,fontSize:11,border:"1px solid var(--color-border-strong)",color:"var(--color-text-cell)",cursor:r?"not-allowed":"pointer",opacity:r?.5:1}},e)}function O$({children:e}){return ae.default.createElement("div",{style:{overflowX:"auto"}},ae.default.createElement("div",{style:{minWidth:800}},e))}function u_({agent:e,formData:t,updateField:r,onSave:n,hasChanges:a=!1,isLoading:o}){let[i,l]=(0,ae.useState)(null),[s,u]=(0,ae.useState)(null),[c,d]=(0,ae.useState)("7d"),[f,p]=(0,ae.useState)(""),[v,y]=(0,ae.useState)(null),[h,m]=(0,ae.useState)(null),[g,x]=(0,ae.useState)(!1),[b,S]=(0,ae.useState)(null),[w,O]=(0,ae.useState)({}),k=(W1.find(I=>I.value===c)||W1[1]).hours;(0,ae.useEffect)(()=>{let I=!1;return u(null),fetch(`/api/agents/${e.id}/tool_roster?hours=${k}`).then(C=>{if(!C.ok)throw new Error(`Request failed (${C.status})`);return C.json()}).then(C=>{I||l(C)}).catch(C=>{I||u(C.message)}),()=>{I=!0}},[e.id,k]);let A=(0,ae.useMemo)(()=>({services:[],tools:[]}),[]),M=i||A,W=(0,ae.useMemo)(()=>t.tools||[],[t.tools]),L=(0,ae.useMemo)(()=>t.mcp_servers||[],[t.mcp_servers]),H=(0,ae.useMemo)(()=>F1(M,L),[M,L]),D=(0,ae.useMemo)(()=>x$(M,H,{query:f,filter:v}),[M,H,f,v]),Y=(0,ae.useMemo)(()=>w$(M,H,W,{query:f,source:h,enabledOnly:g}),[M,H,W,f,h,g]),N=(0,ae.useMemo)(()=>S$(M,H,W,{range:c}),[M,H,W,c]),_=(0,ae.useMemo)(()=>A$(M,{tools:W,mcpServers:L},{tools:e.tools||[],mcpServers:e.mcp_servers||[]}),[M,W,L,e]),z=M.usage_available!==!1,j=I=>z?I:"\u2014",P=(0,ae.useCallback)(I=>{r("mcp_servers",k$(M,I,L))},[M,L,r]),B=(0,ae.useCallback)(I=>{let C=H[I.key];P({...H,[I.key]:{...C,on:!C.on}})},[H,P]),R=(0,ae.useCallback)((I,C)=>{let T=H[I.key];T.on&&P({...H,[I.key]:{...T,tools:{...T.tools,[C.name]:!T.tools[C.name]}}})},[H,P]),F=(0,ae.useCallback)((I,C)=>{let T=H[I.key],X=Object.fromEntries((I.tools||[]).map($=>[$.name,C]));P({...H,[I.key]:{on:C||T.on,tools:X}})},[H,P]),G=(0,ae.useCallback)(I=>{if(!I.editable)return;let C=I.on?W.filter(T=>T!==I.key):[...W,I.key];r("tools",s_(M,C))},[M,W,r]),ee=(0,ae.useCallback)((I,C)=>{if(!I.editable)return;let T=C?[...W,...I.keys.filter(X=>!W.includes(X))]:W.filter(X=>!I.keys.includes(X));r("tools",s_(M,T))},[M,W,r]),fe=(0,ae.useCallback)(()=>{r("tools",e.tools||[]),r("mcp_servers",e.mcp_servers||[])},[e,r]),de=(M.services||[]).filter(I=>H[I.key]?.on),De=Y.find(I=>I.source==="mcp"),Te=Y.filter(I=>I.source!=="mcp").reduce((I,C)=>I+C.enabledCount,0)+(De?De.total:0),K=Y.reduce((I,C)=>I+C.total,0);return s?ae.default.createElement(yr,null,ae.default.createElement(rt,null,"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-error-text)"}},"Could not load the roster: ",s)):i?ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},ae.default.createElement("div",{style:{flex:1,minWidth:260}},ae.default.createElement("h2",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"3px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turn a service on to offer its tools, then narrow the roster tool by tool. Call counts come from the traces recorded on every tool call.")),ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border-strong)",background:"var(--color-card)"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},"?"),ae.default.createElement("input",{value:f,onChange:I=>p(I.target.value),placeholder:"Filter tools and services\u2026","aria-label":"Filter tools and services",style:{border:"none",outline:"none",background:"transparent",color:"var(--color-text-primary)",fontSize:13,width:180}})),ae.default.createElement(j1,{options:W1,value:c,onChange:d}))),ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12}},N.map(I=>ae.default.createElement(yr,{key:I.key,padding:"14px 16px",testId:`roster-stat-${I.key}`},ae.default.createElement(rt,{size:11,spacing:"0.05em"},I.label),ae.default.createElement("div",{style:{marginTop:6,fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,color:I.tone==="warning"?"var(--color-warning)":"var(--color-text-primary)"}},I.value),ae.default.createElement("div",{style:{marginTop:5,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},I.sub)))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"mcp-services-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"MCP services"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},de.length," of ",(M.services||[]).length," enabled \xB7 ",De?De.total:0," tools offered"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(al,{selected:!v,onClick:()=>y(null)},"All ",(M.services||[]).length),due.map(I=>ae.default.createElement(al,{key:I.value,selected:v===I.value,onClick:()=>y(v===I.value?null:I.value)},I.label,I.value==="enabled"?` ${de.length}`:"")),ae.default.createElement(Ff,{href:Ge("/mcp"),onClick:()=>Gv("/mcp"),title:"Every MCP service this workspace knows",style:{marginLeft:4}},"manage servers"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:N$,...E$}},ae.default.createElement("span",null,"On"),ae.default.createElement("span",null,"Service"),ae.default.createElement("span",null,"Status"),ae.default.createElement("span",{style:{textAlign:"right"}},"Tools"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen"),ae.default.createElement("span",null)),D.map(I=>{let C=b===I.key;return ae.default.createElement("div",{key:I.key},ae.default.createElement("div",{className:"aa-roster-row","data-on":I.on?"true":"false","data-testid":`service-row-${I.key}`,style:{display:"grid",gridTemplateColumns:N$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)"}},ae.default.createElement(fue,{on:I.on,onClick:()=>B(I),title:`${I.on?"Disable":"Enable"} ${I.name} for this agent`}),ae.default.createElement("div",{onClick:()=>S(C?null:I.key),style:{minWidth:0,cursor:"pointer"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},I.name),I.first_party&&ae.default.createElement(or,{tone:"accent",size:10},"first-party"),!I.known&&ae.default.createElement(or,{size:10,title:"Seen in your traffic but not in the platform catalog"},"undocumented"),I.partial&&ae.default.createElement(or,{tone:"warning",size:10},I.partialLabel)),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...H1}},I.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:uue[I.status]||"muted"},I.status)),ae.default.createElement("span",{style:{...ei,color:I.on?"var(--color-text-primary)":"var(--color-text-muted)"}},I.toolsLabel),ae.default.createElement("span",{style:ei},j(I.calls)),ae.default.createElement("span",{style:{...ei,color:I.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(I.errors)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-muted)"}},j(l_(I.last_seen))),ae.default.createElement("span",{onClick:()=>S(C?null:I.key),style:{cursor:"pointer",textAlign:"center"}},ae.default.createElement(Ju,{kind:"chevron",open:C}))),C&&ae.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"10px 16px 12px"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8}},ae.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Tools offered"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.transport),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8}},ae.default.createElement(V1,{onClick:()=>F(I,!0),title:`Offer every tool ${I.name} serves`},"all"),ae.default.createElement(V1,{onClick:()=>F(I,!1),disabled:!I.on,title:`Offer none of ${I.name}'s tools`},"none"))),I.tools.length===0?ae.default.createElement(aa,{style:{padding:"10px 0"}},"no tools recorded for this service yet"):ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"6px 14px"}},I.tools.map(T=>ae.default.createElement("div",{key:T.name,className:"aa-roster-row",onClick:()=>R(I,T),style:{display:"grid",gridTemplateColumns:"20px minmax(0, 1fr) 46px 52px",gap:10,alignItems:"center",padding:"6px 8px",borderRadius:8,cursor:I.on?"pointer":"default",opacity:I.on?1:.55}},ae.default.createElement(_$,{on:T.on,dim:!I.on}),ae.default.createElement("span",{style:{minWidth:0}},ae.default.createElement("span",{style:{display:"block",fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)",...H1}},T.name),ae.default.createElement("span",{style:{display:"block",fontSize:11,color:"var(--color-text-muted)",...H1}},T.description)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-secondary)"}},j(T.calls)),ae.default.createElement("span",{style:{...ei,color:T.errors?"var(--color-error-text)":"var(--color-text-muted)"}},j(T.errors?`${T.errors} err`:i_(T.avg_duration_ms)))))),!I.on&&ae.default.createElement("div",{style:{marginTop:8,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turning ",I.name," on offers these ",I.tools.length," tools to the agent and starts recording traces and metrics for every call.")))}),D.length===0&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no services match "${f}"`:"no MCP services yet"))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"tools-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"Tools"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Te," enabled of ",K," available"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(al,{selected:!h,onClick:()=>m(null)},"All ",K),Y.map(I=>ae.default.createElement(al,{key:I.source,selected:h===I.source,onClick:()=>m(h===I.source?null:I.source)},I.name," ",I.total)),ae.default.createElement(al,{square:!0,mono:!0,selected:g,onClick:()=>x(!g),style:{marginLeft:4}},g?"[x] enabled only":"[ ] enabled only"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:C$,...E$}},ae.default.createElement("span",null),ae.default.createElement("span",null,"Tool"),ae.default.createElement("span",null,"Source"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Avg"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen")),Y.map(I=>{let C=w[I.source]!==!0;return ae.default.createElement("div",{key:I.source},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 16px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",flexWrap:"wrap"}},ae.default.createElement("span",{onClick:()=>O({...w,[I.source]:C}),style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:10}},ae.default.createElement(Ju,{kind:"chevron",open:C}),ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},I.name)),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.meta),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-cell)"}},I.countLabel),I.editable&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement(V1,{onClick:()=>ee(I,!0)},"all"),ae.default.createElement(V1,{onClick:()=>ee(I,!1)},"none")))),C&&I.rows.map(T=>ae.default.createElement("div",{key:T.key,className:"aa-roster-row","data-on":T.on?"true":"false","data-testid":`tool-row-${T.key}`,onClick:()=>G(T),style:{display:"grid",gridTemplateColumns:C$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)",cursor:T.editable?"pointer":"default",opacity:T.editable?1:.75}},ae.default.createElement(_$,{on:T.on,dim:!T.editable}),ae.default.createElement("div",{style:{minWidth:0}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)"}},T.name),T.source==="mcp"&&ae.default.createElement(or,{size:10},"via ",T.server),T.source==="agent_defined"&&(T.editable?ae.default.createElement(or,{size:10,title:"Generated from the host's schema tools; offered to this agent only while its roster names it"},"from schema"):ae.default.createElement(or,{size:10,title:"Declared by the agent class in code, so the roster reports it rather than selecting it"},"from code")),z&&T.on&&!T.calls&&ae.default.createElement(or,{size:10},"unused")),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...H1}},T.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:cue[T.source]||"muted"},o_[T.source])),ae.default.createElement("span",{style:ei},j(T.calls)),ae.default.createElement("span",{style:{...ei,color:T.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(T.errors)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-secondary)"}},j(i_(T.avg_duration_ms))),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-muted)"}},j(l_(T.last_seen))))))}),Y.every(I=>I.rows.length===0)&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no tools match "${f}"`:"nothing enabled yet"))),ae.default.createElement(yr,{padding:"12px 16px",style:{position:"sticky",bottom:0,zIndex:4,background:"var(--color-surface)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},testId:"roster-action-bar"},ae.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},ae.default.createElement(rt,{size:11,spacing:"0.05em"},Te," tools \xB7 ",de.length," services"),ae.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Every enabled tool is traced: calls, arguments, errors and latency land in Traces and roll up into Metrics.")),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},_>0&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-warning-text)"}},_," change",_===1?"":"s"," pending"),ae.default.createElement(zr,{variant:"secondary",onClick:fe},"Discard")),ae.default.createElement(zr,{variant:a?"primary":"secondary",onClick:n,disabled:o||!a,title:a?"Save this agent":"Nothing to save",style:a?void 0:{background:"var(--color-muted)",color:"var(--color-text-muted)",border:"1px solid transparent",cursor:"default"}},o?"Saving\u2026":"Save Changes")))):ae.default.createElement(yr,null,ae.default.createElement(aa,null,"loading the roster\u2026"))}var pue=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],P$=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],mue=P$.map(e=>e.id),T$={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"]}},vue={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function Ss({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[a,o]=(T$[e]||T$.neutral)[r?"dark":"light"];return ie.default.createElement("span",{style:{background:a,color:o,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Fe.mono:void 0,whiteSpace:"nowrap"}},n)}function Ln({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:a,title:o,testId:i,children:l}){let u={padding:t==="sm"?"5px 10px":"7px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,cursor:n?"not-allowed":"pointer",transition:"background 0.15s ease, border-color 0.15s ease",whiteSpace:"nowrap"},c={primary:{background:n?a.mutedBg:vn,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 ie.default.createElement("button",{type:"button",onClick:r,disabled:n,title:o,"data-testid":i,style:{...u,...c[e]||c.secondary}},l)}function M$({tabs:e,active:t,onChange:r,colors:n}){return ie.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(a=>{let o=t===a.id;return ie.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 ${o?vn:"transparent"}`,color:o?vn:n.textSecondary,fontSize:"13px",fontWeight:o?600:500,cursor:"pointer",whiteSpace:"nowrap"}},a.label)}))}function K1({agent:e,meta:t,onSave:r,onDelete:n,onRun:a,onDuplicate:o,onRunReport:i,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=kt(),d=Fa(c),[f,p]=(0,ie.useState)(u||"config"),[v,y]=(0,ie.useState)({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"}),[h,m]=(0,ie.useState)([]),[g,x]=(0,ie.useState)(!1),[b,S]=(0,ie.useState)(""),[w,O]=(0,ie.useState)(od),k=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let N=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(_,z)=>z.toUpperCase()).replace(/^./,_=>_.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return N.endsWith("Agent")?N:`${N}Agent`})();(0,ie.useEffect)(()=>{let N=!1;return Ky(v.provider).then(_=>{N||_.length===0||O(z=>({...z,[v.provider]:_}))}),()=>{N=!0}},[v.provider]),(0,ie.useEffect)(()=>{let N=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(N)},[v,e]),(0,ie.useEffect)(()=>{f==="versions"?A():f==="code"&&M()},[f]);let A=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/versions`)).json();m(_.versions)}catch(N){console.error("Failed to load versions:",N)}},M=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/export`)).json();S(_.code)}catch(N){console.error("Failed to load code preview:",N)}},W=(N,_)=>{y(z=>({...z,[N]:_}))},L=(N,_)=>{y(z=>{let j=z[N]||[],P=j.includes(_)?j.filter(B=>B!==_):[...j,_];return{...z,[N]:P}})},H=()=>{r(v)},D=mue.includes(f),Y=f==="tools";return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},ie.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Fe.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),ie.default.createElement(mr,{size:44}),ie.default.createElement("div",{style:{flex:1,minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},ie.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},v.name||"Untitled agent"),ie.default.createElement(Ss,{tone:vue[v.status]||"neutral",darkMode:c},v.status),g&&ie.default.createElement(Ss,{tone:"info",darkMode:c},"unsaved")),ie.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},v.description||"No description")),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},o&&ie.default.createElement(Ln,{variant:"secondary",colors:d,onClick:o},"Duplicate"),ie.default.createElement(Ln,{variant:"primary",colors:d,onClick:a},"Run Agent"))),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},ie.default.createElement(M$,{tabs:pue,active:f,onChange:p,colors:d}),ie.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),ie.default.createElement(M$,{tabs:P$,active:f,onChange:p,colors:d})),Y?ie.default.createElement(u_,{agent:e,formData:v,updateField:W,onSave:H,hasChanges:g,isLoading:s}):D?ie.default.createElement("div",null,f==="traces"&&ie.default.createElement(Zu,{agentClass:k,embedded:!0}),f==="metrics"&&ie.default.createElement(n_,{agent:e,embedded:!0}),f==="interactions"&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i&&ie.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},ie.default.createElement("button",{type:"button",onClick:i,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Fe.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),ie.default.createElement(rl,{agentId:e.id,embedded:!0})),f==="evals"&&ie.default.createElement(eg,{embedded:!0,agentId:e.id}),f==="feedback"&&ie.default.createElement(wue,{colors:d})):ie.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&ie.default.createElement(yue,{formData:v,updateField:W,providerModels:w,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&ie.default.createElement(hue,{formData:v,updateField:W,meta:t,toggleArrayItem:L,colors:d}),f==="versions"&&ie.default.createElement(xue,{versions:h,agentId:e.id,onRestore:A,colors:d,darkMode:c}),f==="code"&&ie.default.createElement(bue,{code:b,colors:d})),g&&!Y&&ie.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)"}},ie.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),ie.default.createElement("div",{style:{display:"flex",gap:"8px"}},ie.default.createElement(Ln,{variant:"primary",size:"sm",colors:d,onClick:H,disabled:s},s?"Saving\u2026":"Save Changes"))))}var ti=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),il=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),gue=e=>({fontFamily:Fe.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function yue({formData:e,updateField:t,providerModels:r,colors:n,darkMode:a,onDelete:o}){return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Agent Name"),ie.default.createElement("input",{type:"text",value:e.name,onChange:i=>t("name",i.target.value),className:"aa-field",style:il(n)})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Preset Type"),ie.default.createElement("select",{value:e.preset_type,onChange:i=>t("preset_type",i.target.value),className:"aa-field",style:il(n)},Object.keys(nd).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Description"),ie.default.createElement("textarea",{value:e.description,onChange:i=>t("description",i.target.value),rows:3,className:"aa-field",style:{...il(n),resize:"vertical"}})),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Provider"),ie.default.createElement("select",{value:e.provider,onChange:i=>{t("provider",i.target.value),t("model",r[i.target.value][0])},className:"aa-field",style:il(n)},Object.keys(r).map(i=>ie.default.createElement("option",{key:i,value:i},i.charAt(0).toUpperCase()+i.slice(1))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Model"),ie.default.createElement("select",{value:e.model,onChange:i=>t("model",i.target.value),className:"aa-field",style:{...il(n),fontFamily:Fe.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Temperature"," ",ie.default.createElement("span",{style:{fontFamily:Fe.mono,color:n.textSecondary}},e.model_config.temperature)),ie.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:i=>t("model_config",{...e.model_config,temperature:parseFloat(i.target.value)}),style:{width:"100%",accentColor:vn}})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Status"),ie.default.createElement("select",{value:e.status,onChange:i=>t("status",i.target.value),className:"aa-field",style:il(n)},ie.default.createElement("option",{value:"draft"},"Draft"),ie.default.createElement("option",{value:"active"},"Active"),ie.default.createElement("option",{value:"archived"},"Archived")))),o&&ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},ie.default.createElement("div",null,ie.default.createElement("div",{style:gue(n)},"Danger zone"),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),ie.default.createElement(Ln,{variant:"danger",size:"sm",colors:n,onClick:o},"Delete Agent")))}function hue({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:a}){let o=e.action_prompts||[],i=(u,c)=>{t("action_prompts",o.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...o,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",o.filter((c,d)=>d!==u))};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(a)},"System Instructions"),ie.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:{...il(a),fontFamily:Fe.mono,resize:"vertical"}})),ie.default.createElement("div",null,ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},ie.default.createElement("label",{style:{...ti(a),marginBottom:0}},"Action Prompts"),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:a,onClick:l},"+ Add action")),ie.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 ",ie.default.createElement("span",{style:{fontFamily:Fe.mono}},"#ask")," action uses the system instructions alone."),o.length>0&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},o.map((u,c)=>ie.default.createElement("div",{key:c,style:{border:`1px solid ${a.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",color:a.textMuted}},"#"),ie.default.createElement("input",{type:"text",value:u.name,onChange:d=>i(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...il(a),flex:1,padding:"6px 10px",fontFamily:Fe.mono}}),ie.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:a.textSecondary,whiteSpace:"nowrap"}},ie.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>i(c,{expose_as_tool:d.target.checked}),style:{accentColor:vn}}),"Expose as tool"),ie.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Fe.mono,fontSize:"12px",color:a.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),ie.default.createElement("textarea",{value:u.prompt,onChange:d=>i(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...il(a),fontFamily:Fe.mono,resize:"vertical"}}))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(a)},"Instruction Sets"),ie.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return ie.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?vn:a.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":a.textCell}},u)}))))}function xue({versions:e,agentId:t,onRestore:r,colors:n,darkMode:a}){let o=async i=>{if(confirm("Restore this version? This will create a new version with the restored configuration."))try{await fetch(`/api/agents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version_id:i})}),r()}catch(l){console.error("Failed to restore version:",l)}};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},ie.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(i=>{let l=i.is_latest||i.isLatest;return ie.default.createElement("div",{key:i.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?vn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},ie.default.createElement("div",{style:{minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",i.version_number||i.versionNumber),l&&ie.default.createElement(Ss,{tone:"error",darkMode:a},"current")),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},i.change_summary||i.changeSummary),ie.default.createElement("p",{style:{fontFamily:Fe.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(i.created_at||i.createdAt).toLocaleString())),!l&&ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>o(i.id)},"Restore"))})):ie.default.createElement(D$,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function bue({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},ie.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),ie.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Fe.mono,fontSize:"12px",lineHeight:1.6,margin:0}},ie.default.createElement("code",null,e||"Loading...")))}function wue({colors:e}){return ie.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},ie.default.createElement(D$,{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 D$({colors:e,glyph:t,title:r,hint:n}){return ie.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},ie.default.createElement("div",{style:{fontFamily:Fe.mono,fontSize:"20px",color:e.textMuted}},t),ie.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),ie.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var V=te(ne());async function Vf(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var Sue={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},Aue=(e,t)=>{let r=Sue[e]||{role:e,label:e};return{...gr(r.role,t),label:r.label}},c_={complete:"success",failed:"error",running:"info",pending:"warning",cancelled:"neutral"},kue=["Hello, what can you help me with?","Show me a dashboard of last quarter's sales","List the files in the current directory","Explain how this code works"],Nue=["user","assistant","tool"],Cue=1200,Eue=600*1e3,q1=e=>e?e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`:"-",I$=e=>{if(!e)return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},d_=e=>{let t=new Map;return(e?.logs||[]).filter(r=>r.eid).forEach(r=>{let n=t.get(r.eid)||{eid:r.eid};r.status==="started"?Object.assign(n,r,{input:r.detail,output:n.output}):Object.assign(n,r,{input:n.input,output:r.detail}),t.set(r.eid,n)}),[...t.values()]},As=e=>e?.context_id??e?.output_metadata?.context_id??null,tg=e=>e.json().catch(()=>({})),j$=({open:e,color:t})=>V.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${e?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:t}},V.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}));function _ue({run:e,darkMode:t,colors:r,expanded:n,onToggle:a}){let o=d_(e),i=O1(t);return V.default.createElement("div",{"data-testid":"runner-activity",className:"space-y-2"},o.map(l=>{let s=!!n[l.eid],u=!!(l.input||l.output),c=Aue(l.kind,t);return V.default.createElement("div",{key:l.eid,"data-testid":"runner-activity-event"},V.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${u?"cursor-pointer":""}`,onClick:u?()=>a(l.eid):void 0,title:u?"Click to inspect input/output":void 0,style:s?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:c.background,color:c.color,minWidth:"72px",textAlign:"center"}},c.label),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words",style:{color:r.textPrimary}},l.label,l.output&&!s&&V.default.createElement("span",{style:{color:r.textMuted}}," \u201C",l.output.slice(0,160),l.output.length>160?"\u2026":"","\u201D")),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:r.textMuted}},l.status==="started"?V.default.createElement("span",{className:"animate-pulse",style:{color:"#3b82f6"}},"running\u2026"):V.default.createElement("span",{style:l.status==="error"?{color:"#ef4444"}:void 0},l.status==="error"?"failed":"\u2713",l.duration_ms!=null&&` ${q1(l.duration_ms)}`),l.at&&V.default.createElement("span",null,new Date(l.at).toLocaleTimeString()))),u&&V.default.createElement(j$,{open:s,color:r.textMuted})),s&&V.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:c.color+"55"}},l.input&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},"Input"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},I$(l.input))),l.output&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},l.status==="error"?"Error":"Result"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...l.status==="error"?{background:t?"rgba(239,68,68,0.12)":"#fef2f2",color:t?"#fca5a5":"#b91c1c"}:{}}},I$(l.output)))))}))}function Oue({run:e,darkMode:t,colors:r}){return e?V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap text-xs",style:{color:r.textMuted}},V.default.createElement("span",{"data-testid":"runner-status",style:{display:"inline-flex"}},V.default.createElement(Ss,{tone:c_[e.status]||"neutral",darkMode:t},e.status)),e.output_metadata?.model&&V.default.createElement("span",{className:"font-mono",title:"Model that generated this run"},e.output_metadata.provider,"/",e.output_metadata.model),e.duration_ms?V.default.createElement("span",null,q1(e.duration_ms)):null,e.total_tokens?V.default.createElement("span",null,e.total_tokens," tokens"):null,e.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${e.trace_id}`),className:"font-mono hover:underline",style:{color:r.textSecondary},title:`${e.trace_id} \u2014 open in Traces`},"trace:",e.trace_id.slice(0,8)," \u2192")):null}function f_({agent:e,onBack:t}){let{darkMode:r}=kt(),n=Fa(r),a=e.action_prompts||e.actionPrompts||[],o=["ask",...a.map(oe=>oe.name).filter(Boolean)],[i,l]=(0,V.useState)("ask"),[s,u]=(0,V.useState)(""),[c,d]=(0,V.useState)([]),[f,p]=(0,V.useState)(!1),[v,y]=(0,V.useState)([]),[h,m]=(0,V.useState)(null),[g,x]=(0,V.useState)(null),[b,S]=(0,V.useState)(null),[w,O]=(0,V.useState)([]),[k,A]=(0,V.useState)(!1),[M,W]=(0,V.useState)(null),[L,H]=(0,V.useState)(null),[D,Y]=(0,V.useState)(null),[N,_]=(0,V.useState)(null),[z,j]=(0,V.useState)({}),[P,B]=(0,V.useState)(null),[R,F]=(0,V.useState)(!1),[G,ee]=(0,V.useState)(null),[fe,de]=(0,V.useState)(!1),[De,le]=(0,V.useState)(!1),[Te,K]=(0,V.useState)(null),[I,C]=(0,V.useState)(""),[T,X]=(0,V.useState)(!1),[$,Ne]=(0,V.useState)(null),E=(0,V.useRef)(null),Z=(0,V.useRef)(null),ge=(0,V.useRef)(0),Le=(0,V.useRef)(!0),nt=(0,V.useRef)(null),Bt=(0,V.useRef)([]),ft=(0,V.useRef)(null),En=(0,V.useRef)(null),Bn=(0,V.useRef)(null),oa=(0,V.useRef)(null),Mo=(g?.messages||[]).filter(oe=>Nue.includes(oe.role));(0,V.useEffect)(()=>{nt.current=L},[L]),(0,V.useEffect)(()=>{Bt.current=c},[c]),(0,V.useEffect)(()=>(Le.current=!0,nc(),()=>{Le.current=!1,ge.current+=1,ni(nt.current),ni({attachments:Bt.current}),H(null),d([])}),[e.id]),(0,V.useEffect)(()=>{fr(i)},[e.id,i]),(0,V.useEffect)(()=>{Z.current=h,h?$n(h):(x(null),S(null))},[h]),(0,V.useEffect)(()=>{let oe=En.current;oe&&(oe.scrollTop=oe.scrollHeight)},[Mo.length,L,M?.logs?.length,Te,D]),(0,V.useEffect)(()=>{if(!De)return;let oe=Ie=>{oa.current&&!oa.current.contains(Ie.target)&&le(!1)};return document.addEventListener("mousedown",oe),()=>document.removeEventListener("mousedown",oe)},[De]);let nc=async()=>{try{let Ie=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();O(Ie.runs||[])}catch(oe){console.error("Failed to load runs:",oe)}},fr=async oe=>{try{let Ie=await fetch(`/api/agents/${e.id}/conversations?action_name=${encodeURIComponent(oe)}`);if(!Ie.ok)throw new Error(`HTTP ${Ie.status}`);let at=(await Ie.json()).conversations||[];y(at),m(Hr=>Hr&&(E.current===Hr||at.some(fo=>fo.id===Hr))?Hr:at[0]?.id??null)}catch(Ie){console.error("Failed to load conversations:",Ie),y([])}},$n=async oe=>{try{let Ie=await fetch(`/api/interactions/${oe}`);if(!Ie.ok)throw new Error(Ie.status===404?"Conversation not found":`HTTP ${Ie.status}`);let Ye=await Ie.json();if(Z.current!==oe)return;x(Ye.interaction),S(null)}catch(Ie){if(Z.current!==oe)return;x(null),S(Ie.message)}},ri=async()=>{let oe=await fetch(`/api/agents/${e.id}/conversations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action_name:i})}),Ie=await tg(oe);if(!oe.ok||!Ie.conversation)throw new Error(Ie.error||`Could not start a conversation (HTTP ${oe.status})`);let Ye=Ie.conversation;return y(at=>[Ye,...at.filter(Hr=>Hr.id!==Ye.id)]),E.current=Ye.id,m(Ye.id),Ye.id},ac=()=>Z.current?Promise.resolve(Z.current):ri(),aw=oe=>{E.current=null,l(oe)},Xf=()=>{W(null),_(null),j({})},ow=oe=>{let Ie=oe?Number(oe):null;Ie!==Z.current&&Xf(),E.current=Ie,m(Ie),Y(null)},oc=async()=>{if(!k)try{await ri(),S(null),Y(null),Xf(),ni(nt.current),H(null),K(null)}catch(oe){S(oe.message)}},ni=oe=>{(oe?.attachments||[]).forEach(Ie=>{Ie.url&&Ie.url.startsWith("blob:")&&URL.revokeObjectURL(Ie.url)})},ic=oe=>{let Ie=Array.from(oe||[]).filter(Boolean);Ie.length!==0&&d(Ye=>[...Ye,...Ie.map(at=>({file:at,filename:at.name,content_type:at.type||"application/octet-stream",byte_size:at.size,kind:j7(at),url:at.type&&at.type.startsWith("image/")?URL.createObjectURL(at):null}))])},iw=oe=>{d(Ie=>{let Ye=Ie[oe];return Ye?.url&&URL.revokeObjectURL(Ye.url),Ie.filter((at,Hr)=>Hr!==oe)})},fg=(oe,Ie)=>{A(!1),ni(nt.current),H(null),nc();let Ye=As(oe)??Ie;Ye&&(Ye!==Z.current?(E.current=Ye,m(Ye)):$n(Ye),fr(i))},lw=(oe,Ie)=>{if(!Le.current)return;let Ye=++ge.current,at=Date.now(),Hr=async()=>{if(ge.current===Ye){try{let fo=await fetch(`/api/runs/${oe}`);if(fo.ok){let Un=await fo.json();if(ge.current!==Ye)return;if(W(Un.run),!["pending","running"].includes(Un.run.status)){fg(Un.run,Ie);return}}}catch{}Date.now()-atfo&&{...fo,status:"failed",error_message:"Timed out waiting for the run to finish."}),_("Timed out waiting for the run to finish."))}};Hr()},lc=async({text:oe,files:Ie,fromComposer:Ye=!1})=>{let at=(oe||"").trim();if(!at&&Ie.length===0||k)return;_(null),Y(null),K(null),A(!0),j({}),W({status:"pending",input_prompt:at,output:"",logs:[],started_at:new Date().toISOString()}),ni(nt.current),H({content:at||"(see attached files)",attachments:Ie.map(({file:Un,...Cs})=>Cs)}),Ye&&(u(""),d([]));let Hr=Z.current;if(!Hr)try{Hr=await ri()}catch(Un){_(`${Un.message} \u2014 running without a pinned conversation.`)}let fo=()=>{Ye&&(u(at),d(Ie)),H(null)};try{let Un=new FormData;Un.append("prompt",at),Un.append("action_name",i),Hr&&Un.append("params[context_id]",String(Hr)),Ie.forEach(({file:mg})=>Un.append("attachments[]",mg,mg.name));let Cs=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",body:Un}),cc=await tg(Cs);if(Cs.status===402&&cc.upgrade_required){B(cc.usage),W(mg=>({...mg,status:"failed",error_message:cc.message||"Plan limit reached"})),A(!1),fo();return}if(!Cs.ok)throw new Error(cc.error||"Run failed");lw(cc.run.id,As(cc.run)??Hr)}catch(Un){W(Cs=>({...Cs,status:"failed",error_message:Un.message})),A(!1),fo()}},Zf=()=>lc({text:s,files:c,fromComposer:!0}),pg=oe=>{!oe||!oe.text||lc({text:oe.text,files:[]})},sw=oe=>{oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&(oe.preventDefault(),Zf())},Qf=async(oe,Ie)=>{let Ye=Z.current,at=await fetch(`/api/interactions/${Ye}/messages/${oe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:Ie})}),Hr=await tg(at);if(!at.ok)throw new Error(Hr.error||`Could not save the message (HTTP ${at.status})`);await $n(Ye)},uw=async oe=>{let Ie=Z.current;try{let Ye=await fetch(`/api/interactions/${Ie}/messages/${oe.id}`,{method:"DELETE"});if(!Ye.ok){let at=await tg(Ye);throw new Error(at.error||`Could not delete the message (HTTP ${Ye.status})`)}S(null),await $n(Ie),fr(i)}catch(Ye){S(Ye.message)}},cw=oe=>{le(!1),K(oe),C(""),Ne(null)},sc=async()=>{let oe=I.trim();if(!(!oe||T)){X(!0),Ne(null);try{let Ie=await ac(),Ye=await fetch(`/api/interactions/${Ie}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Te,content:oe})}),at=await tg(Ye);if(!Ye.ok)throw new Error(at.error||`Could not add the message (HTTP ${Ye.status})`);C(""),K(null),await $n(Ie),fr(i)}catch(Ie){Ne(Ie.message)}finally{X(!1)}}},dw=async oe=>{let Ie=oe;if(As(oe)==null)try{let at=await fetch(`/api/runs/${oe.id}`);at.ok&&(Ie=(await at.json()).run)}catch(at){console.error("Failed to load run details:",at)}let Ye=As(Ie);if(Ye){Y(null),Ye!==Z.current&&Xf(),E.current=Ye;let at=Ie.action_name||oe.action_name;at&&o.includes(at)&&at!==i&&l(at),m(Ye)}else Y({...Ie,output:Ie.output??Ie.output_preview,error_message:Ie.error_message??Ie.error});ft.current?.scrollIntoView({behavior:"smooth",block:"start"})},xe=async()=>{F(!0),ee(null);try{await Vf({planSlug:"pro"})}catch(oe){ee(oe.message),F(!1)}},ut=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl,Zt=a.find(oe=>oe.name===i)?.prompt,pr=[e.instructions,i==="ask"?null:Zt].map(oe=>(oe||"").trim()).filter(Boolean).join(` -`)||g?.instructions||"",hn=m.slice();h&&!hn.some(oe=>oe.id===h)&&hn.unshift({id:h,message_count:Mo.length});let Ns=(s.trim().length>0||c.length>0)&&!k,H_=M&&!k&&M.status==="failed",oU=M&&!k&&M.status==="complete"&&!As(M)&&!h,uc={background:n.cardBg,border:`1px solid ${n.cardBorder}`,borderRadius:"12px"},V_={borderBottom:`1px solid ${n.cardBorder}`},K_={padding:"6px 10px",borderRadius:"8px",border:`1px solid ${n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontSize:"13px",fontFamily:Fe.mono,maxWidth:"260px"},q_={width:"100%",padding:"10px 12px",borderRadius:"8px",border:`1px solid ${f?vn:n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"},dw=gr("system",r),iU=_1(r);return V.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},V.default.createElement("div",{className:"col-span-2 flex flex-col gap-4 min-w-0"},P&&V.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},V.default.createElement("div",null,V.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),V.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."),G&&V.default.createElement("p",{className:"text-sm text-red-600 mt-1"},G)),V.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},ut&&V.default.createElement("a",{href:ut,className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),V.default.createElement("button",{onClick:xe,disabled:R,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},R?"Redirecting\u2026":"Upgrade to Pro"))),V.default.createElement("div",{"data-testid":"runner-toolbar",style:uc,className:"p-4 flex items-center gap-3 flex-wrap"},V.default.createElement(mr,{size:40}),V.default.createElement("div",{className:"min-w-0"},V.default.createElement("div",{className:"font-semibold truncate",style:{color:n.textPrimary}},e.name),V.default.createElement("div",{className:"text-xs font-mono",style:{color:n.textSecondary}},e.provider," / ",e.model)),V.default.createElement("div",{className:"flex items-center gap-2 flex-wrap ml-auto"},V.default.createElement("select",{"data-testid":"runner-action-select",value:i,onChange:oe=>nw(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Agent action to invoke"},o.map(oe=>V.default.createElement("option",{key:oe,value:oe},"#",oe))),V.default.createElement("select",{"data-testid":"runner-conversation-select",value:h??"",onChange:oe=>aw(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Conversation to continue"},V.default.createElement("option",{value:""},"New conversation on first run"),hn.map(oe=>V.default.createElement("option",{key:oe.id,value:oe.id},"Conversation #",oe.id," \xB7 ",oe.message_count??0," message",oe.message_count===1?"":"s"))),V.default.createElement(Ln,{testId:"runner-new-conversation",variant:"secondary",size:"sm",colors:n,onClick:oc,disabled:k,title:"Start an empty conversation for this action"},"+ New conversation"),V.default.createElement(Ln,{testId:"runner-back",variant:"secondary",size:"sm",colors:n,onClick:t},"\u2190 Back to editor"))),V.default.createElement("div",{"data-testid":"runner-context",ref:ft,style:uc,className:"flex flex-col overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3 flex items-center justify-between gap-3 flex-wrap",style:V_},V.default.createElement("div",{className:"flex items-center gap-2 min-w-0"},V.default.createElement("h3",{className:"font-medium",style:{color:n.textPrimary}},"Context"),g&&V.default.createElement("span",{className:"text-xs font-mono",style:{color:n.textMuted}},"#",g.id," \xB7 ",Mo.length," message",Mo.length===1?"":"s")),V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement(Oue,{run:M,darkMode:r,colors:n}),V.default.createElement("div",{className:"relative",ref:oa},V.default.createElement(Ln,{testId:"runner-add-message",variant:"secondary",size:"sm",colors:n,onClick:()=>le(oe=>!oe),disabled:k,title:"Insert a message into the context without running"},"+ Add message"),De&&V.default.createElement("div",{className:"absolute right-0 mt-1 z-10 py-1 rounded-lg shadow-lg",style:{background:n.cardBg,border:`1px solid ${n.borderStrong}`,minWidth:"180px"}},[["user","runner-add-user-message","User message"],["assistant","runner-add-assistant-message","Assistant message"]].map(([oe,Ie,Ye])=>V.default.createElement("button",{key:oe,type:"button","data-testid":Ie,onClick:()=>uw(oe),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-black/5",style:{color:n.textCell,background:"none",border:"none",cursor:"pointer"}},Ye)))))),V.default.createElement("div",{ref:En,className:"p-4 overflow-auto",style:{maxHeight:"60vh"}},V.default.createElement("div",{"data-testid":"runner-system-row",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 cursor-pointer",onClick:()=>de(oe=>!oe),title:fe?"Collapse system instructions":"Show system instructions"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:dw.background,color:dw.color,textAlign:"center"}},dw.label)),V.default.createElement("div",{className:"min-w-0 flex-1"},pr?fe?V.default.createElement("pre",{style:{...iU,whiteSpace:"pre-wrap",maxHeight:"260px",overflowY:"auto"}},pr):V.default.createElement("div",{className:"text-sm truncate",style:{color:n.textSecondary}},pr.split(` -`).find(oe=>oe.trim())||""):V.default.createElement("div",{className:"text-sm",style:{color:n.textMuted}},"No system instructions"),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono",style:{color:n.textMuted}},"read-only \xB7 Edit in the Instructions tab")),V.default.createElement(j$,{open:fe,color:n.textMuted})),x&&V.default.createElement("div",{className:"text-sm mt-3",style:{color:"#dc2626"}},x),Mo.length>0?V.default.createElement("div",{className:"mt-3"},V.default.createElement(so,{messages:Mo,darkMode:r,testIdPrefix:"runner-message",onUiAction:pg,onEditMessage:Qf,onDeleteMessage:sw})):!L&&!D&&!H_&&V.default.createElement("div",{"data-testid":"runner-context-empty",className:"text-sm text-center py-8",style:{color:n.textMuted}},"No messages yet \u2014 say something below to test the agent as a user."),L&&V.default.createElement("div",{"data-testid":"runner-pending-turn",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 mt-3"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr("user",r).background,color:gr("user",r).color,textAlign:"center"}},"User")),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words whitespace-pre-wrap",style:{color:n.textPrimary}},L.content),V.default.createElement(O1,{attachments:L.attachments,darkMode:r}))),M&&(k||d_(M).length>0)&&V.default.createElement("div",{className:"mt-3 space-y-2"},V.default.createElement(_ue,{run:M,darkMode:r,colors:n,expanded:z,onToggle:oe=>j(Ie=>({...Ie,[oe]:!Ie[oe]}))}),k&&V.default.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.textSecondary}},V.default.createElement("span",{className:"animate-pulse"},"\u25CF"),V.default.createElement("span",null,d_(M).length>0?"Working\u2026":"Starting run\u2026"))),N&&V.default.createElement("div",{className:"text-xs mt-3",style:{color:"#d97706"}},N),H_&&M.error_message&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:r?"rgba(239,68,68,0.12)":"#fef2f2",color:r?"#fca5a5":"#b91c1c"}},V.default.createElement("div",{className:"font-semibold mb-1"},"Run failed"),V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0}},M.error_message)),oU&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:n.innerBg,color:n.textPrimary}},V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:n.textMuted}},"Output"),V.default.createElement(_o,{text:M.output||"No output",darkMode:r,onUiAction:pg})),D&&V.default.createElement("div",{"data-testid":"runner-inspected-run",className:"mt-3 rounded-lg p-3",style:{background:n.innerBg,border:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mb-2"},V.default.createElement("div",{className:"flex items-center gap-2 text-xs font-mono",style:{color:n.textMuted}},V.default.createElement("span",{style:{color:n.textPrimary}},"Run #",D.id),V.default.createElement(Ss,{tone:c_[D.status]||"neutral",darkMode:r},D.status),D.output_metadata?.model&&V.default.createElement("span",null,D.output_metadata.provider,"/",D.output_metadata.model),D.duration_ms?V.default.createElement("span",null,K1(D.duration_ms)):null,D.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${D.trace_id}`),className:"hover:underline",style:{color:n.textSecondary}},"trace:",D.trace_id.slice(0,8)," \u2192"),V.default.createElement("span",null,"\xB7 no conversation attached")),V.default.createElement("button",{type:"button",onClick:()=>Y(null),className:"text-xs font-mono",style:{color:n.textMuted,background:"none",border:"none",cursor:"pointer"},title:"Close"},"[x]")),(D.input_prompt||D.input_preview)&&V.default.createElement("div",{className:"text-sm mb-2 whitespace-pre-wrap",style:{color:n.textSecondary}},D.input_prompt||D.input_preview),D.error_message?V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0,color:r?"#fca5a5":"#b91c1c"}},D.error_message):V.default.createElement("div",{className:"text-sm",style:{color:n.textPrimary}},V.default.createElement(_o,{text:D.output||"No output",darkMode:r}))),Te&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3",style:{border:`1px dashed ${n.borderStrong}`}},V.default.createElement("div",{className:"flex items-center gap-2 mb-2"},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr(Te,r).background,color:gr(Te,r).color}},gr(Te,r).label),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Added to the context without running the agent")),V.default.createElement("textarea",{"data-testid":"runner-inline-composer",value:I,onChange:oe=>C(oe.target.value),onKeyDown:oe=>{oe.key==="Escape"&&K(null),oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&sc()},placeholder:Te==="user"?"What the user said\u2026":"What the assistant replied\u2026",rows:3,autoFocus:!0,className:"aa-field",style:{...q_,border:`1px solid ${n.inputBorder}`}}),V.default.createElement("div",{className:"flex items-center gap-2 mt-2 flex-wrap"},V.default.createElement(Ln,{testId:"runner-inline-submit",variant:"primary",size:"sm",colors:n,onClick:sc,disabled:T||!I.trim()},T?"Adding\u2026":`Add ${Te} message`),V.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>K(null),disabled:T},"Cancel"),$&&V.default.createElement("span",{className:"text-xs",style:{color:"#dc2626"}},$))))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("div",{onDragOver:oe=>{oe.preventDefault(),f||p(!0)},onDragLeave:()=>p(!1),onDrop:oe=>{oe.preventDefault(),p(!1),k||ic(oe.dataTransfer?.files)}},V.default.createElement("textarea",{"data-testid":"runner-prompt",value:s,onChange:oe=>u(oe.target.value),onKeyDown:lw,placeholder:"Message the agent as a user\u2026 (\u2318/Ctrl+Enter to run \xB7 drop files here to attach)",rows:3,disabled:k,className:"aa-field",style:q_})),V.default.createElement(O1,{attachments:c,darkMode:r,testId:"runner-attachment-chip",onRemove:(oe,Ie)=>ow(Ie),removeTestId:"runner-attachment-remove"}),V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mt-3"},V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement("input",{ref:Bn,"data-testid":"runner-attach-input",type:"file",multiple:!0,style:{display:"none"},onChange:oe=>{ic(oe.target.files),oe.target.value=""}}),V.default.createElement(Ln,{testId:"runner-attach",variant:"secondary",size:"sm",colors:n,onClick:()=>Bn.current?.click(),disabled:k,title:"Attach images, PDFs, or text files to this message"},"\u{1F4CE} Attach files"),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Press ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"\u2318")," + ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"Enter")," to run")),V.default.createElement(Ln,{testId:"runner-run",variant:"primary",colors:n,onClick:Zf,disabled:!Ns},k?V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{className:"animate-spin inline-block",style:{fontFamily:Fe.mono}},"[~]")," Running\u2026"):V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{style:{fontFamily:Fe.mono}},"[>]")," Run"))))),V.default.createElement("div",{className:"space-y-4 min-w-0"},V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Configuration"),V.default.createElement("dl",{className:"space-y-2 text-sm"},V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Temperature"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.modelConfig?.temperature||e.model_config?.temperature||.7)),V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Tools"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.tools?.length||0)),V.default.createElement("div",{className:"flex justify-between items-center"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Status"),V.default.createElement("dd",null,V.default.createElement(Ss,{tone:e.status==="active"?"success":"neutral",darkMode:r},e.status)))),e.instructions&&V.default.createElement("div",{className:"mt-3 pt-3",style:{borderTop:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"text-xs mb-1.5",style:{color:n.textSecondary}},"System Instructions"),V.default.createElement("p",{className:"text-xs whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed",style:{color:n.textCell}},e.instructions))),V.default.createElement("div",{style:uc,className:"overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3",style:V_},V.default.createElement("h4",{className:"font-medium",style:{color:n.textPrimary}},"Recent Runs")),V.default.createElement("div",{className:"max-h-64 overflow-auto"},w.length>0?V.default.createElement("div",null,w.map(oe=>V.default.createElement("div",{key:oe.id,"data-testid":"runner-recent-run",className:"px-4 py-3 cursor-pointer hover:bg-black/5",style:{borderBottom:`1px solid ${n.cardBorder}`},onClick:()=>cw(oe),title:As(oe)?"Open this run\u2019s conversation":"Show this run\u2019s output"},V.default.createElement("div",{className:"flex items-center justify-between mb-1"},V.default.createElement(Ss,{tone:c_[oe.status]||"neutral",darkMode:r},oe.status),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},K1(oe.duration_ms))),V.default.createElement("p",{className:"text-sm truncate",style:{color:n.textCell}},oe.input_preview||oe.input_prompt?.substring(0,50)),V.default.createElement("p",{className:"text-xs mt-1 flex items-center gap-2 flex-wrap",style:{color:n.textMuted}},oe.model&&V.default.createElement("span",{className:"px-1.5 py-0.5 rounded font-mono",style:{background:n.mutedBg,color:n.textSecondary}},oe.model),As(oe)&&V.default.createElement("span",{className:"font-mono"},"#",As(oe)),V.default.createElement("span",null,new Date(oe.created_at).toLocaleString()))))):V.default.createElement("div",{className:"px-4 py-8 text-center text-sm",style:{color:n.textMuted}},"No runs yet"))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Example Prompts"),V.default.createElement("div",{className:"space-y-2"},kue.map(oe=>V.default.createElement("button",{key:oe,type:"button","data-testid":"runner-example-prompt",onClick:()=>u(oe),className:"w-full text-left px-3 py-2 text-sm rounded-lg transition-colors hover:bg-black/5",style:{color:n.textCell,border:`1px solid ${n.cardBorder}`,background:"transparent",cursor:"pointer"}},oe))))))}var _e=te(ne()),q1=e=>new Date(`${e}T00:00:00`),Tue=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function p_({onSelectAgent:e}){let[t,r]=(0,_e.useState)(null),[n,a]=(0,_e.useState)(!0),[o,i]=(0,_e.useState)(30);(0,_e.useEffect)(()=>{l()},[o]);let l=async()=>{a(!0);try{let p=await(await fetch(`/api/analytics?days=${o}`)).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 _e.default.createElement("div",{className:"flex items-center justify-center h-64"},_e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let 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 _e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",null,_e.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),_e.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),_e.default.createElement("select",{value:o,onChange:f=>i(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Tue.map(f=>_e.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},_e.default.createElement(rg,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),_e.default.createElement(rg,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),_e.default.createElement(rg,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),_e.default.createElement(rg,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),_e.default.createElement(rg,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${f.count/c*150}px`,minHeight:f.count>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},f.count," runs"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&q1(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&q1(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-purple-500 rounded-t transition-all hover:bg-purple-600",style:{height:`${f.tokens/d*150}px`,minHeight:f.tokens>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},s(f.tokens)," tokens"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&q1(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&q1(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},_e.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?_e.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>_e.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"},_e.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),_e.default.createElement("div",{className:"flex-1 min-w-0"},_e.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),_e.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),_e.default.createElement("div",{className:"text-right"},_e.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),_e.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):_e.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),_e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?_e.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let m=t?.summary?.total_runs||1,y=(p/m*100).toFixed(1);return _e.default.createElement("div",{key:f},_e.default.createElement("div",{className:"flex justify-between text-sm mb-1"},_e.default.createElement("span",{className:"capitalize text-gray-600"},f),_e.default.createElement("span",{className:"text-gray-900 font-medium"},p)),_e.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},_e.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${y}%`}})))})):_e.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),_e.default.createElement("div",{className:"space-y-4"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),_e.default.createElement("div",{className:"pt-2 border-t border-gray-100"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),_e.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function rg({title:e,value:t,subtitle:r,color:n}){return _e.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`},_e.default.createElement("p",{className:"text-sm text-gray-500"},e),_e.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&_e.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var Q=te(ne());function m_({agent:e,onBack:t}){let{timeWindow:r}=Qo(),[n,a]=(0,Q.useState)([]),[o,i]=(0,Q.useState)([]),[l,s]=(0,Q.useState)(null),[u,c]=(0,Q.useState)(null),[d,f]=(0,Q.useState)([]),[p,m]=(0,Q.useState)("run"),[y,h]=(0,Q.useState)(!1),[v,g]=(0,Q.useState)(!1),b=(0,Q.useRef)(!1),x=(0,Q.useRef)(!1),[S,w]=(0,Q.useState)("recent"),[O,k]=(0,Q.useState)({}),[A,M]=(0,Q.useState)(!0),[W,L]=(0,Q.useState)(1),[H,D]=(0,Q.useState)(!0),[Y,N]=(0,Q.useState)(""),[_,z]=(0,Q.useState)(""),[j,P]=(0,Q.useState)("recent"),B=(0,Q.useRef)(null),R=Ge(`/agents/${e.id}/interactions`);(0,Q.useEffect)(()=>{F()},[e.id,W,Y,_,j,r.minutes]),(0,Q.useEffect)(()=>{L(1)},[r.minutes]),(0,Q.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then($=>$.json()).then($=>i($.interactions||[])).catch(()=>{}).finally(()=>g(!0))},[e.id]),(0,Q.useEffect)(()=>{let $=()=>{let Ne=Xu(),E=Ne.match(/\/interactions\/runs\/(\d+)/),Z=Ne.match(/\/interactions\/sessions\/(\d+)/);if(E)m("run"),c(null),ee(parseInt(E[1],10),{updateUrl:!1});else if(Z)m("all"),c({id:parseInt(Z[1],10)});else if(Ne.endsWith("/interactions/sessions")||Ne.endsWith("/interactions/all"))Ne.endsWith("/all")&&window.history.replaceState({},"",Ne.replace(/\/all$/,"/sessions")),m("all"),c(null);else{b.current=!1,s(null),c(null),f([]);return}b.current=!0};return $(),window.addEventListener("popstate",$),()=>window.removeEventListener("popstate",$)},[e.id]),(0,Q.useEffect)(()=>{b.current||x.current||!y||!v||m(n.length===0&&o.length>0?"all":"run")},[y,v,n.length,o.length]);let F=async()=>{M(!0);try{let $=new URLSearchParams({page:W.toString(),per_page:"20",minutes:String(r.minutes)});Y&&$.append("status",Y),_&&$.append("source",_),j!=="recent"&&$.append("sort",j);let E=await(await fetch(`/api/agents/${e.id}/runs?${$}`)).json();a(W===1?E.runs:Z=>[...Z,...E.runs]),D(E.runs.length===20)}catch($){console.error("Failed to load runs:",$)}finally{M(!1),h(!0)}},G=$=>{window.location.pathname!==$&&window.history.pushState({},"",$)},ee=async($,{updateUrl:Ne=!0}={})=>{try{let Z=await(await fetch(`/api/runs/${$}`)).json();s(Z.run),f(Z.messages||[]),m("run"),c(null),Ne&&G(`${R}/runs/${$}`)}catch(E){console.error("Failed to load run details:",E)}},fe=$=>{if($.source==="reported"){let Ne=$.trace_id||String($.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Ge(`/traces/${Ne}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(`/traces/${Ne}`)}}));return}ee($.record_id||$.id)},de=()=>{s(null),c(null),f([]),m("run"),G(R)},De=$=>{m("all"),$?(c({id:$.id,name:$.display_name}),G(`${R}/sessions/${$.id}`)):(c(null),G(`${R}/sessions`))},le=$=>{x.current=!0,m($),G($==="all"?u?`${R}/sessions/${u.id}`:`${R}/sessions`:l?`${R}/runs/${l.id}`:R)},Te=u?u.name||o.find($=>$.id===u.id)?.display_name||`Session #${u.id}`:null,K=()=>{let $=new Map;n.forEach(Z=>{let ge=`${Z.model||"unknown"}|${Z.instructions_digest||"none"}`;$.has(ge)||$.set(ge,{key:ge,model:Z.model,instructionsDigest:Z.instructions_digest,instructionsVersion:Z.instructions_version,instructionsCodename:Z.instructions_codename,instructionsPreview:Z.instructions_preview,runs:[]}),$.get(ge).runs.push(Z)});let Ne=[...$.values()].map(Z=>({...Z,count:Z.runs.length,completed:Z.runs.filter(ge=>ge.status==="complete").length,failed:Z.runs.filter(ge=>ge.status==="failed").length,totalTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0),avgTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0)/Z.runs.length,avgDuration:Z.runs.reduce((ge,Le)=>ge+(Le.duration_ms||0),0)/Z.runs.length,latest:Z.runs[0],sortedRuns:[...Z.runs].sort((ge,Le)=>(Le.duration_ms||0)-(ge.duration_ms||0))}));Ne.sort((Z,ge)=>S==="longest"?ge.avgDuration-Z.avgDuration:new Date(ge.latest.created_at)-new Date(Z.latest.created_at));let E={runs:n.length,completed:n.filter(Z=>Z.status==="complete").length,tokens:n.reduce((Z,ge)=>Z+(ge.tokens||0),0),avgDuration:n.length?n.reduce((Z,ge)=>Z+(ge.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(Z=>Z.model).filter(Boolean))]};return{cohorts:Ne,totals:E}},I=$=>{switch($){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"}},C=$=>$?$<1e3?`${$}ms`:$<6e4?`${($/1e3).toFixed(1)}s`:`${Math.floor($/6e4)}m ${Math.floor($%6e4/1e3)}s`:"-",T=$=>$==null?"\u2014":$===0?"$0":$<.01?`$${$.toFixed(4)}`:`$${$.toFixed(2)}`,X=$=>{let Ne=new Date($),Z=new Date-Ne,ge=Math.floor(Z/6e4),Le=Math.floor(Z/36e5),nt=Math.floor(Z/864e5);return ge<1?"Just now":ge<60?`${ge}m ago`:Le<24?`${Le}h ago`:nt<7?`${nt}d ago`:Ne.toLocaleDateString()};return Q.default.createElement("div",{className:"flex h-full"},Q.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},Q.default.createElement("div",{className:"p-4 border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},Q.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},Q.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Q.default.createElement("div",null,Q.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),Q.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),Q.default.createElement("div",{className:"mb-2"},Q.default.createElement(Jo,{compact:!0})),Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1 mb-2 text-sm"},[{value:"",label:"All"},{value:"dashboard",label:"Dashboard"},{value:"reported",label:"Reported"}].map($=>Q.default.createElement("button",{key:$.value||"all",onClick:()=>{z($.value),L(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${_===$.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:$.value==="dashboard"?"Executions started from this dashboard":$.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},$.label))),Q.default.createElement("select",{value:Y,onChange:$=>{N($.target.value),L(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},Q.default.createElement("option",{value:""},"All statuses"),Q.default.createElement("option",{value:"complete"},"Completed"),Q.default.createElement("option",{value:"failed"},"Failed"),Q.default.createElement("option",{value:"running"},"Running"),Q.default.createElement("option",{value:"cancelled"},"Cancelled")),Q.default.createElement("select",{value:j,onChange:$=>{P($.target.value),L(1)},className:"w-full mt-2 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",title:"Rank these executions"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest running"),Q.default.createElement("option",{value:"cost"},"Highest cost"),Q.default.createElement("option",{value:"tokens"},"Most tokens"))),Q.default.createElement("div",{className:"flex-1 overflow-auto"},A&&n.length===0?Q.default.createElement("div",{className:"flex items-center justify-center h-32"},Q.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?Q.default.createElement(Q.default.Fragment,null,n.map($=>{let Ne=$.source==="reported";return Q.default.createElement("div",{key:$.id,onClick:()=>fe($),title:Ne?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!Ne&&l?.id===$.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},Q.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},Q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${I($.status)}`},$.status),Q.default.createElement("div",{className:"flex items-center gap-2"},Q.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${Ne?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},Ne?"reported":"dashboard"),Q.default.createElement("span",{className:"text-xs text-gray-400"},X($.created_at||$.occurred_at)))),Q.default.createElement("p",{className:"text-sm text-gray-700 truncate"},$.input_preview||$.input_prompt?.substring(0,60)||(Ne?`${$.action_name||"execution"} \xB7 trace ${String($.trace_id||"").slice(0,8)}`:"No input")),Q.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},$.model&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},$.model),Q.default.createElement("span",{className:j==="longest"?"text-gray-700 font-medium":void 0},C($.duration_ms)),!!$.tokens&&Q.default.createElement("span",{className:j==="tokens"?"text-gray-700 font-medium":void 0},$.tokens," tokens"),$.cost!=null&&Q.default.createElement("span",{className:j==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},T($.cost))))}),H&&Q.default.createElement("button",{onClick:()=>L($=>$+1),disabled:A,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},A?"Loading...":"Load More")):Q.default.createElement("div",{className:"p-8 text-center text-gray-400"},Q.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})),Q.default.createElement("p",null,"No conversations yet")))),Q.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},Q.default.createElement("div",{className:"px-4 py-2 bg-white border-b border-gray-100 flex items-center gap-1.5 text-xs text-gray-500"},Q.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:de,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:()=>De(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),Q.default.createElement("span",{className:"text-gray-900 font-medium"},Te)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),Q.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},Q.default.createElement("button",{onClick:()=>le("run"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="run"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Selected run"),Q.default.createElement("button",{onClick:()=>le("all"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="all"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Sessions")),p==="run"&&l&&Q.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${I(l.status)}`},l.status)),p==="all"?Q.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:$}=K();return Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),Q.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Te} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs)),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs?Math.round($.completed/$.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},C(Math.round($.avgDuration)))),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.tokens.toLocaleString()))))})(),Q.default.createElement(nl,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:De})):l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),Q.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),Q.default.createElement("div",{ref:B,className:"flex-1 overflow-auto p-6"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?Q.default.createElement(so,{messages:d,darkMode:!1}):Q.default.createElement(so,{darkMode:!1,messages:[{id:`run-${l.id}-input`,role:"user",content:l.input_prompt||l.input_preview,created_at:l.created_at},{id:`run-${l.id}-output`,role:"assistant",content:l.error_message||l.output||l.output_preview||"No response",created_at:l.completed_at||l.created_at}]}))),Q.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},Q.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},Q.default.createElement("span",null,"Duration: ",C(l.duration_ms)),l.total_tokens&&Q.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&Q.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&Q.default.createElement("a",{href:Ge(`/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:$,totals:Ne}=K();return $.length===0?Q.default.createElement("div",{className:"flex-1 flex items-center justify-center"},Q.default.createElement("div",{className:"text-center text-gray-400"},Q.default.createElement(mr,{size:100}),Q.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):Q.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),Q.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs)),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs?Math.round(Ne.completed/Ne.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},C(Math.round(Ne.avgDuration)))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.tokens.toLocaleString()))),Ne.models.length>0&&Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},Q.default.createElement("span",{className:"text-gray-500"},"Models used:"),Ne.models.map(E=>Q.default.createElement("span",{key:E,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},E))),o.length>0&&Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),Q.default.createElement("div",{className:"divide-y divide-gray-100"},o.map(E=>Q.default.createElement("div",{key:E.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>De(E),title:"Open this session's interaction stream"},Q.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:E.display_name},Q.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),Q.default.createElement("span",{className:"text-sm text-gray-900 truncate"},E.agent?.name||E.agent_name),E.action_name&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",E.action_name)),Q.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},Q.default.createElement("span",null,E.message_count," messages"),Q.default.createElement("span",null,(E.tokens?.total||0).toLocaleString()," tokens"),Q.default.createElement("span",null,X(E.last_activity_at))))))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),Q.default.createElement("select",{value:S,onChange:E=>w(E.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest interactions"))),Q.default.createElement("div",{className:"divide-y divide-gray-100"},$.map(E=>Q.default.createElement("div",{key:E.key},Q.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>k(Z=>({...Z,[E.key]:!Z[E.key]})),title:"Show this configuration's runs"},Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},E.model||"unknown model"),Q.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:E.instructionsDigest?`sha:${E.instructionsDigest}`:void 0},"instructions"," ",E.instructionsDigest?[E.instructionsVersion,E.instructionsCodename||E.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),E.instructionsPreview&&Q.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},E.instructionsPreview),Q.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},Q.default.createElement("span",null,E.count," run",E.count>1?"s":""),Q.default.createElement("span",{className:E.failed>0?"text-red-500":"text-green-600"},E.count?Math.round(E.completed/E.count*100):0,"% success"),Q.default.createElement("span",null,"avg ",C(Math.round(E.avgDuration))),Q.default.createElement("span",null,"avg ",Math.round(E.avgTokens).toLocaleString()," tokens"),Q.default.createElement("span",null,"last ",X(E.latest.created_at)))),O[E.key]&&Q.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},E.sortedRuns.map(Z=>Q.default.createElement("div",{key:Z.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>ee(Z.id),title:"Open this run's interaction"},Q.default.createElement("p",{className:"text-xs text-gray-700 truncate"},Z.input_preview||"No input"),Q.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},Q.default.createElement("span",{className:Z.status==="failed"?"text-red-500":""},Z.status),Q.default.createElement("span",null,C(Z.duration_ms)),Z.tokens&&Q.default.createElement("span",null,Z.tokens.toLocaleString()," tokens"),Q.default.createElement("span",null,X(Z.created_at)))))))))))})()))}var ze=te(ne());var Mue={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function v_({onUseTemplate:e,onClose:t}){let[r,n]=(0,ze.useState)([]),[a,o]=(0,ze.useState)([]),[i,l]=(0,ze.useState)(""),[s,u]=(0,ze.useState)(null),[c,d]=(0,ze.useState)(!0),[f,p]=(0,ze.useState)(!1),[m,y]=(0,ze.useState)(null);(0,ze.useEffect)(()=>{h()},[i]);let h=async()=>{d(!0);try{let g=new URLSearchParams;i&&g.append("category",i);let x=await(await fetch(`/api/templates?${g}`)).json();n(x.templates),o(x.categories)}catch(g){console.error("Failed to load templates:",g)}finally{d(!1)}},v=async g=>{p(!0),y(null);try{let b=await fetch(`/api/templates/${g.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:g.name})});if(b.ok){let x=await b.json();e(x.agent)}else{let x=`Could not create the agent (HTTP ${b.status})`;try{let S=await b.json(),w=S.errors||S.error;w&&(x=Array.isArray(w)?w.join(", "):String(w))}catch{}y(x)}}catch(b){console.error("Failed to create agent from template:",b),y("Could not create the agent \u2014 check your connection and try again.")}finally{p(!1)}};return ze.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},ze.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},ze.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},ze.default.createElement("div",null,ze.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),ze.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),ze.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},ze.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ze.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),ze.default.createElement("div",{className:"flex-1 flex overflow-hidden"},ze.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},ze.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),ze.default.createElement("div",{className:"space-y-1"},ze.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${i?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),a.map(g=>ze.default.createElement("button",{key:g,onClick:()=>l(g),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${i===g?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},ze.default.createElement("span",null,Mue[g]||"\u{1F4E6}"),ze.default.createElement("span",{className:"capitalize"},g))))),ze.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?ze.default.createElement("div",{className:"flex items-center justify-center h-full"},ze.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?ze.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(g=>ze.default.createElement("div",{key:g.id,onClick:()=>u(g),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===g.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},ze.default.createElement("div",{className:"flex items-start space-x-3"},ze.default.createElement("div",{className:"flex-shrink-0"},ze.default.createElement(mr,{size:60})),ze.default.createElement("div",{className:"flex-1 min-w-0"},ze.default.createElement("div",{className:"flex items-center space-x-2"},ze.default.createElement("span",{className:"text-lg"},g.icon),ze.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},g.name)),ze.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},g.description),ze.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},g.category),g.featured&&ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):ze.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&ze.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},ze.default.createElement("div",{className:"flex justify-center mb-4"},ze.default.createElement(mr,{size:120})),ze.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),ze.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),ze.default.createElement("div",{className:"mt-6 space-y-4"},ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),ze.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(g=>ze.default.createElement("span",{key:g,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},g)))),ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),ze.default.createElement("button",{onClick:()=>v(s),disabled:f,className:"w-full mt-6 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50"},f?"Creating...":"Use This Template"),m&&ze.default.createElement("p",{className:"mt-2 text-sm text-red-600",role:"alert"},m)))))}var je=te(ne());function g_({currentView:e,onNavigate:t,agentCount:r,account:n,user:a,gemVersion:o,assistantEnabled:i=!0}){let{darkMode:l}=kt(),[s,u]=(0,je.useState)(!1),c=(0,je.useRef)(null);(0,je.useEffect)(()=>{function v(g){c.current&&!c.current.contains(g.target)&&u(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);let d=n?.name||"My Workspace",f=a?.name||a?.email?.split("@")[0]||"User",p=[...i?[{id:"assistant",label:"Ask ActiveAgents",icon:">"}]:[],{id:"list",label:"Agents",icon:Ut.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Ut.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Ut.nav.demo,highlight:!0}],m=[{id:"traces",label:"Traces",icon:Ut.nav.traces},{id:"interactions",label:"Interactions",icon:Ut.nav.interactions},{id:"tools",label:"Tools",icon:Ut.nav.tools},{id:"mcp",label:"MCP Services",icon:Ut.nav.mcp},{id:"metrics",label:"Metrics",icon:Ut.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Ut.nav.evaluations},{id:"replay",label:"Session Replay",icon:Ut.nav.replay}],y=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:v})=>je.default.createElement("button",{onClick:()=>t(v.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${v.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===v.id?l?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===v.id?"#ef4444":l?"#d1d5db":"#374151"},onMouseEnter:g=>{e!==v.id&&(g.currentTarget.style.backgroundColor=l?"#252525":"#f3f4f6")},onMouseLeave:g=>{e!==v.id&&(g.currentTarget.style.backgroundColor="transparent")}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},v.icon),je.default.createElement("span",{className:"font-medium"},v.label)),v.badge!==void 0&&je.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===v.id?"#fee2e2":l?"#2a2a2a":"#f3f4f6",color:e===v.id?"#ef4444":l?"#d1d5db":"#4b5563"}},v.badge));return je.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:l?"#2a2a2a":"#e5e7eb"},ref:c},je.default.createElement("button",{onClick:()=>u(!s),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:s?l?"#252525":"#f3f4f6":"transparent"}},je.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},je.default.createElement(mr,{size:28}),je.default.createElement("span",{className:`font-semibold truncate ${l?"text-white":"text-gray-900"}`},d)),je.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${s?"rotate-180":""}`,style:{color:l?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),s&&je.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement(mr,{size:32}),je.default.createElement("div",{className:"min-w-0"},je.default.createElement("div",{className:`font-medium truncate ${l?"text-white":"text-gray-900"}`},d)))),je.default.createElement("div",{className:"py-1"},je.default.createElement("button",{onClick:()=>{t("settings"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"}),je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),je.default.createElement("span",null,"Settings")),je.default.createElement("button",{onClick:()=>{t("organization"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"})),je.default.createElement("span",null,"Organization"))),je.default.createElement("div",{className:"border-t py-1",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${l?"text-gray-300":"text-gray-700"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"})),je.default.createElement("span",{className:"text-sm"},f))))),je.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},je.default.createElement("div",{className:"space-y-1"},p.map(v=>je.default.createElement(h,{key:v.id,item:v}))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Observability")),je.default.createElement("div",{className:"space-y-1"},m.map(v=>je.default.createElement(h,{key:v.id,item:v})))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Workspace")),je.default.createElement("div",{className:"space-y-1"},y.map(v=>je.default.createElement(h,{key:v.id,item:v}))))),je.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${l?"text-gray-500":"text-gray-400"}`},"Resources"),je.default.createElement("div",{className:"space-y-2"},je.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.docs),je.default.createElement("span",null,"Documentation")),je.default.createElement("a",{href:"https://github.com/activeagents/activeagent",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.github),je.default.createElement("span",null,"GitHub")))),je.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs ${l?"text-gray-500":"text-gray-400"}`},"Active Agent ",o?`v${o}`:"")))}var xt=te(ne());function y_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,xt.useState)(!1),i=(0,xt.useRef)(null);(0,xt.useEffect)(()=>{function d(f){i.current&&!i.current.contains(f.target)&&o(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);let l=window.ACTIVE_AGENT_DASHBOARD?.meta?.signOutPath,s=()=>{if(!l)return;let d=document.querySelector('meta[name="csrf-token"]')?.content,f=document.createElement("form");f.method="POST",f.action=l;let p=document.createElement("input");p.type="hidden",p.name="_method",p.value="delete",f.appendChild(p);let m=document.createElement("input");m.type="hidden",m.name="authenticity_token",m.value=d,f.appendChild(m),document.body.appendChild(f),f.submit()},u=e?.name||e?.email?.split("@")[0]||"User",c=u.charAt(0).toUpperCase();return xt.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-4"}),xt.default.createElement("div",{className:"flex items-center space-x-4"},xt.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?xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.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"})):xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),xt.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},xt.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),xt.default.createElement("span",null,"Connected")),xt.default.createElement("div",{className:"relative",ref:i},xt.default.createElement("button",{onClick:()=>o(!a),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:a?r?"#252525":"#f3f4f6":"transparent"}},xt.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium text-sm"},c))),a&&xt.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"}},xt.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-3"},xt.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium"},c)),xt.default.createElement("div",null,xt.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},u),xt.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),l&&xt.default.createElement("div",{className:"py-1"},xt.default.createElement("button",{onClick:s,className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${r?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},xt.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xt.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"})),xt.default.createElement("span",null,"Sign out")))))))}var Ae=te(ne());var $e=te(ne());var h_=150,Pue=e=>e.reduce((t,r)=>t+(Number(r)||0),0),Due=e=>e.length?Pue(e)/e.length:0,Oo=e=>e.reduce((t,r)=>r!=null&&Number(r)>t?Number(r):t,0),x_=e=>{if(!(e>0))return 1;let t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=2.5?2.5:r<=5?5:10)*t},tc=(e,t)=>[0,25,50,75,100].map(r=>({top:r,label:t(e*(1-r/100))})),Iue=4,Kf=e=>Math.max(Iue,x_(e)),z$=(e,t=2,r=6)=>{let n=e/4;for(let a=t;aMath.abs(n*i-Number((n*i).toFixed(a)))<=n*.1))return a;return r},jue=5.5,zue=12,Lue=(e,t)=>{let r=!!e.flip;if(!(t>0))return r;let n=String(e.label||"").length*jue+zue,a=Number(e.left)/100*t,o=t-a;return r?!(aa):oo},Bue=typeof window>"u"?$e.useEffect:$e.useLayoutEffect,$ue=e=>{let[t,r]=(0,$e.useState)(0);return Bue(()=>{let n=e.current;if(!n)return;let a=()=>r(n.clientWidth);if(a(),typeof ResizeObserver>"u")return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a);let o=new ResizeObserver(a);return o.observe(n),()=>o.disconnect()},[e]),t},rc=(e,t)=>{let r=e.length,n=[];return e.forEach((a,o)=>{if(a==null||Number.isNaN(Number(a)))return;let i=r>1?o/(r-1)*100:50,l=100-Math.min(100,Math.max(0,Number(a)/t*100));n.push(`${i.toFixed(2)},${l.toFixed(2)}`)}),n.join(" ")},Y1=(e,t)=>{let r=rc(e,t);return r?`0,100 ${r} 100,100`:""},L$=(e,t=24)=>{let r=e.length;if(!r)return"";let n=r/t,a=Array.from({length:t},(l,s)=>{let u=Math.floor(s*n),c=Math.max(u+1,Math.floor((s+1)*n));return Due(e.slice(u,c).filter(d=>d!=null))}),o=Math.max(...a),i=Math.min(...a);return a.map((l,s)=>`${(s/(t-1)*100).toFixed(1)},${(26-(o===i?.5:(l-i)/(o-i))*24).toFixed(1)}`).join(" ")},ng=(e,t,r)=>{let n=e.length?e[0].data.length:0;return Array.from({length:n},(a,o)=>({title:r(o),segs:e.map(i=>({h:(Number(i.data[o])||0)/t*100,color:i.color}))}))};function B$({label:e,value:t,unit:r,sub:n,delta:a,deltaColor:o,deltaSub:i,spark:l,sparkColor:s}){return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},$e.default.createElement(rt,{size:11,spacing:"0.05em"},e),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:o,whiteSpace:"nowrap"}},a)),$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6}},$e.default.createElement("span",{style:{fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},t),r?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},r):null),$e.default.createElement("div",{title:n,style:{fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},n),$e.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:8,marginTop:2}},$e.default.createElement("svg",{viewBox:"0 0 100 28",preserveAspectRatio:"none","aria-hidden":"true",style:{flex:1,height:28,minWidth:0,display:"block",overflow:"visible"}},$e.default.createElement("polyline",{points:l,fill:"none",stroke:s,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),$e.default.createElement("span",{style:{fontSize:10,color:"var(--color-text-muted)",whiteSpace:"nowrap"}},i)))}function $$({title:e,sub:t,value:r,valueColor:n="var(--color-text-primary)",legend:a=[],ticks:o=[],buckets:i=[],lines:l=[],areas:s=[],markers:u=[],xLabels:c=[],height:d=h_}){let f=(0,$e.useRef)(null),p=$ue(f),m="1px dashed var(--color-text-secondary)";return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{minWidth:0,display:"flex",flexDirection:"column",gap:8}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap"}},$e.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},e),$e.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},t),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:12,fontWeight:600,color:n,whiteSpace:"nowrap"}},r)),$e.default.createElement("div",{style:{display:"flex",gap:12,flexWrap:"wrap"}},a.map(y=>$e.default.createElement("span",{key:y.label,style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:ye,fontSize:10,color:"var(--color-text-secondary)"}},$e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:y.color,flexShrink:0}}),y.label))),$e.default.createElement("div",{ref:f,style:{position:"relative",height:d,margin:"6px 0 0 40px"}},o.map(y=>$e.default.createElement("div",{key:y.top,style:{position:"absolute",left:0,right:0,top:`${y.top}%`,borderTop:"1px solid var(--color-border-light)"}},$e.default.createElement("span",{style:{position:"absolute",right:"calc(100% + 6px)",top:-6,whiteSpace:"nowrap",fontFamily:ye,fontSize:10,lineHeight:"12px",color:"var(--color-text-muted)"}},y.label))),i.length>0&&$e.default.createElement("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"stretch",gap:1}},i.map((y,h)=>$e.default.createElement("div",{key:h,title:y.title,style:{flex:1,minWidth:0,display:"flex",flexDirection:"column-reverse"}},y.segs.map((v,g)=>$e.default.createElement("div",{key:g,style:{height:`${v.h.toFixed(2)}%`,background:v.color,flexShrink:0}}))))),(l.length>0||s.length>0)&&$e.default.createElement("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"}},s.map((y,h)=>$e.default.createElement("polygon",{key:h,points:y.points,fill:y.color,opacity:"0.16"})),l.map((y,h)=>$e.default.createElement("polyline",{key:h,points:y.points,fill:"none",stroke:y.color,strokeWidth:y.width||1.5,strokeLinejoin:"round",strokeLinecap:"round",vectorEffect:"non-scaling-stroke"}))),u.map((y,h)=>{let v=Lue(y,p),g=`${Number(y.left).toFixed(2)}%`;return $e.default.createElement("div",{key:h,style:{position:"absolute",top:0,bottom:0,pointerEvents:"none",...v?{left:0,width:g,borderRight:m}:{left:g,right:0,borderLeft:m}}},$e.default.createElement("span",{style:{position:"absolute",top:-4,[v?"right":"left"]:4,maxWidth:"calc(100% - 8px)",boxSizing:"border-box",overflow:"hidden",textOverflow:"ellipsis",fontFamily:ye,fontSize:9,lineHeight:"12px",color:"var(--color-text-secondary)",whiteSpace:"nowrap",background:"var(--color-card)",padding:"0 4px",borderRadius:3}},y.label))})),$e.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginLeft:40,fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},c.map((y,h)=>$e.default.createElement("span",{key:h},y))))}function qf({label:e,qualifier:t,meta:r,children:n}){return $e.default.createElement(yr,{padding:0,style:{overflow:"hidden"}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,padding:"10px 14px",borderBottom:"1px solid var(--color-border-light)"}},$e.default.createElement(rt,null,e),t?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t):null,r?$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},r):null),n)}function b_({template:e,columns:t}){return $e.default.createElement("div",{style:{display:"grid",gridTemplateColumns:e,gap:8,padding:"6px 14px 4px",fontFamily:ye,fontSize:10,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--color-text-muted)"}},$e.default.createElement("span",null),t.map(r=>$e.default.createElement("span",{key:r,style:{textAlign:"right"}},r)))}function G1({template:e,active:t=!1,onClick:r,title:n,padding:a="8px 14px",children:o}){let i=typeof r=="function";return $e.default.createElement("div",{role:i?"button":void 0,tabIndex:i?0:void 0,"aria-pressed":i?t:void 0,onClick:r,onKeyDown:i?s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),r(s))}:void 0,title:n,className:i?"hover:bg-[var(--color-hover)]":void 0,style:{display:"grid",gridTemplateColumns:e,gap:8,alignItems:"center",padding:a,borderTop:"1px solid var(--color-border-light)",cursor:i?"pointer":"default",background:t?"var(--color-muted)":void 0}},o)}function w_({children:e,padding:t="8px 14px"}){return $e.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:t,borderTop:"1px solid var(--color-border-light)"}},e)}function ag({children:e}){return $e.default.createElement("div",{style:{padding:"12px 14px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},e)}function S_({color:e}){return $e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:e,flexShrink:0}})}function A_({pct:e,color:t}){return $e.default.createElement("div",{style:{marginTop:5,height:3,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},$e.default.createElement("div",{style:{width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function k_({pct:e,color:t,width:r=70}){return $e.default.createElement("span",{style:{width:r,height:4,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0,display:"inline-block"}},$e.default.createElement("span",{style:{display:"block",width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function co({children:e,color:t="var(--color-text-primary)",weight:r=400,width:n,style:a}){return $e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:r,textAlign:"right",color:t,width:n,...a}},e)}var H$=6e4,Uue=1180,Gf={"1h":{n:60,seconds:60,bucket:"1 min",prev:"vs previous hour",title:"last hour"},"24h":{n:96,seconds:900,bucket:"15 min",prev:"vs previous 24h",title:"last 24 hours"},"7d":{n:84,seconds:7200,bucket:"2 h",prev:"vs previous 7 days",title:"last 7 days"}},Fue=Object.keys(Gf).map(e=>({value:e,label:e})),C_="24h",Yf=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-5)","var(--chart-4)"],og=[{type:"429 rate limit",short:"429",color:"var(--color-error)"},{type:"timeout",short:"timeout",color:"var(--color-warning)"},{type:"tool error",short:"tool error",color:"var(--span-tool)"},{type:"provider 5xx",short:"5xx",color:"var(--color-token-out)"},{type:"other",short:"error",color:"var(--color-text-muted)"}],U$=e=>og.find(t=>t.type===e)?.color||"var(--color-text-muted)",Wue=3,Z1="var(--color-text-primary)",Hue={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},Vue=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],N_=e=>String(e).padStart(2,"0"),Xe=e=>e==null||Number.isNaN(Number(e))?0:Number(e),Kue=e=>e.reduce((t,r)=>t+Xe(r),0),F$=e=>`${Xe(e).toFixed(1)}%`,X1=(e,t)=>`${e} ${t}${e===1?"":"s"}`,que=e=>e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`,Yue=(e,t)=>{let r=Array.isArray(e)?[...e]:[];return t.forEach(n=>{n.name&&!r.some(a=>a.name===n.name)&&r.push(n)}),r},Gue=e=>{let t=String(e.label||"incident"),r=og.find(n=>t.startsWith(n.type));return r&&(t=`${r.short}${t.slice(r.type.length)}`),e.agent&&!t.includes(e.agent)?`${t} \xB7 ${e.agent}`:t},Xue=e=>{let t=Xe(e);return t<60?`${t}s`:t<3600?`${+(t/60).toFixed(1)} min`:`${+(t/3600).toFixed(1)} h`},W$=async e=>{let t=await fetch(`/api/metrics?${e.toString()}`);if(!t.ok)throw new Error(`Request failed (${t.status})`);return t.json()},Zue=(e,t,r=Date.now())=>{let n=Math.max(1,Xe(t))*1e3,a=Math.max(1,Math.round(Xe(e)*6e4/n)),o=Math.floor(r/n)*n;return Array.from({length:a},(i,l)=>({ts:new Date(o-(a-1-l)*n).toISOString()}))},Que=(e,t)=>{let r=e.summary||{},n=Gf[e.range]||Gf[t]||Gf[C_],a=Xe(e.bucket_seconds)||n.seconds,o=Xe(e.window_minutes)||(e.window_hours?Xe(e.window_hours)*60:n.n*n.seconds/60),i=Array.isArray(e.series)?e.series:Zue(o,a),l=Xe(e.totals?.requests??r.total_requests),s=Xe(e.totals?.cost??r.total_cost),u={requests:l,requests_per_minute:o?l/o:0,p50_ms:null,p95_ms:null,p99_ms:null,errors:Xe(r.errors),error_rate:Xe(r.error_rate),tokens_in:Xe(r.tokens_input),tokens_out:Xe(r.tokens_output),tokens:Xe(r.tokens_used),cost:s,cost_per_request:l?s/l:0,tool_calls:0,tool_errors:0,tool_error_rate:0,...e.totals||{}},c={requests_pct:r.requests_change??null,p50_pct:r.latency_change??null,error_rate_pt:null,tokens_pct:null,cost_pct:null,...e.deltas||{}},d=Array.isArray(e.agents)?e.agents:(e.by_agent||[]).map(p=>({name:p.name,requests:Xe(p.requests),share_pct:l?Xe(p.requests)/l*100:0,p95_ms:null,error_rate:p.requests?Xe(p.errors)/Xe(p.requests)*100:0,cost:Xe(p.cost),tokens:Xe(p.tokens)})),f=Array.isArray(e.errors_by_type)&&e.errors_by_type.length?e.errors_by_type:og.map(p=>({type:p.type,count:0}));return{range:e.range||t,bucketSeconds:a,windowMinutes:o,agent:e.agent||null,environment:e.environment||null,totals:u,deltas:c,series:i,agents:d,models:Array.isArray(e.models)?e.models:[],actions:Array.isArray(e.actions)?e.actions:[],tools:Array.isArray(e.tools)?e.tools:[],errorsByType:f,markers:Array.isArray(e.markers)?e.markers:[]}},V$=e=>{let t=Gf[e.range];if(t)return t;let r=Math.max(1,Math.round(e.windowMinutes/60));return{bucket:Xue(e.bucketSeconds),prev:`vs previous ${r}h`,title:`last ${r} hours`}},Jue=e=>{let[t,r]=(0,Ae.useState)(()=>typeof window<"u"&&window.innerWidth{let n=window.matchMedia(`(max-width: ${e-1}px)`),a=()=>r(n.matches);return a(),n.addEventListener("change",a),()=>n.removeEventListener("change",a)},[e]),t};function E_(){let[e,t]=(0,Ae.useState)(C_),[r,n]=(0,Ae.useState)(""),[a,o]=(0,Ae.useState)(null),[i,l]=(0,Ae.useState)(!0),[s,u]=(0,Ae.useState)(null),[c,d]=(0,Ae.useState)(!1),f=(0,Ae.useRef)(0),p=Jue(Uue),m=(0,Ae.useRef)(null),y=(0,Ae.useCallback)(async()=>{let S=++f.current;try{let w=new URLSearchParams({range:e});r&&w.set("agent",r);let[O,k]=await Promise.all([W$(w),r?W$(new URLSearchParams({range:e})).catch(()=>null):null]);if(S!==f.current)return;let A=r?k?.agents:O.agents;Array.isArray(A)&&(m.current=A),o({data:O,ranking:Array.isArray(A)?A:m.current}),u(null)}catch(w){if(S!==f.current)return;u(w.message)}finally{S===f.current&&l(!1)}},[e,r]);(0,Ae.useEffect)(()=>{let S=!1;d(!0),y().finally(()=>{S||d(!1)});let w=setInterval(y,H$);return()=>{S=!0,clearInterval(w)}},[y]);let h=(0,Ae.useMemo)(()=>a?Que(a.data,e):null,[a,e]),v=(0,Ae.useMemo)(()=>h?h.agent?Yue(a.ranking,h.agents):h.agents:[],[h,a]),g=(0,Ae.useMemo)(()=>v.map(S=>S.name).filter(Boolean),[v]),b=(0,Ae.useMemo)(()=>{let S=Object.fromEntries(g.map((O,k)=>[O,Yf[k%Yf.length]])),w=g.length;return(h?h.agents:[]).forEach(O=>{O.name&&!S[O.name]&&(S[O.name]=Yf[w++%Yf.length])}),O=>S[O]||Yf[0]},[g,h]),x=(0,Ae.useMemo)(()=>h?ece(h,b):null,[h,b]);return i?Ae.default.createElement("div",{className:"flex items-center justify-center h-64"},Ae.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):s||!h?Ae.default.createElement("div",null,Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:Z1}},"Metrics"),Ae.default.createElement("div",{style:{marginTop:16,padding:"12px 16px",background:"var(--color-error-soft)",borderRadius:8,color:"var(--color-error-text)",fontSize:14}},"Failed to load metrics",s?`: ${s}`:"")):Ae.default.createElement(Rue,{m:h,view:x,railAgents:v,range:Gf[e]?e:C_,agent:r,agentOptions:r&&!g.includes(r)?[...g,r]:g,colorFor:b,narrow:p,pending:c,onRange:t,onAgent:n})}function Rue({m:e,view:t,railAgents:r=e.agents,range:n,agent:a,agentOptions:o,colorFor:i,narrow:l,pending:s=!1,onRange:u,onAgent:c}){let d=V$(e),f=e.totals.requests===0,p=m=>c(a===m?"":m);return Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:1600,boxSizing:"border-box",color:Z1,fontSize:13}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},Ae.default.createElement("div",{style:{flex:1,minWidth:240}},Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em"}},"Metrics"),Ae.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)"}},"Requests, latency, errors, tokens and cost across every agent \u2014 ",d.title,a?` \xB7 ${a}`:"")),Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ae.default.createElement("select",{value:a,onChange:m=>c(m.target.value),"aria-label":"Filter by agent",style:{padding:"6px 10px",borderRadius:8,fontSize:13,fontFamily:"inherit",border:"1px solid var(--color-border-strong)",background:"var(--color-card)",color:Z1,cursor:"pointer"}},Ae.default.createElement("option",{value:""},"All agents"),o.map(m=>Ae.default.createElement("option",{key:m,value:m},m))),e.environment&&Ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,color:"var(--color-text-cell)",background:"var(--color-card)"}},Ae.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"env"),e.environment),Ae.default.createElement(I1,{options:Fue,value:n,onChange:u}),Ae.default.createElement("span",{title:s?"loading\u2026":`refreshes every ${H$/1e3}s`,style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Ae.default.createElement("span",{style:{width:7,height:7,borderRadius:"50%",background:s?"var(--color-text-muted)":"var(--color-success)"}}),"live \xB7 ",d.bucket," buckets"))),f?Ae.default.createElement(yr,{style:{padding:"40px 24px",textAlign:"center",fontSize:14,color:"var(--color-text-secondary)"}},"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace",Ae.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},a||"all agents"," \xB7 ",d.title)):Ae.default.createElement(Ae.default.Fragment,null,Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:12,opacity:s?.6:1}},t.signals.map(m=>Ae.default.createElement(B$,{key:m.label,...m,deltaSub:d.prev}))),Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:l?"minmax(0, 1fr)":"minmax(0, 2.3fr) minmax(300px, 1fr)",gap:16,alignItems:"start",opacity:s?.6:1}},Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:16,minWidth:0}},t.panels.map(m=>Ae.default.createElement($$,{key:m.title,...m,xLabels:t.xLabels,height:h_}))),Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0}},Ae.default.createElement(qf,{label:"Agents",qualifier:"by requests \xB7 click to filter"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 44px 40px 52px",columns:["req","p95","err","cost"]}),r.length===0&&Ae.default.createElement(ag,null,"no agents in this window"),r.map(m=>Ae.default.createElement(G1,{key:m.name,template:"minmax(0, 1fr) 44px 44px 40px 52px",active:a===m.name,onClick:()=>p(m.name),title:a===m.name?"Show all agents":`Filter to ${m.name}`},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0}},Ae.default.createElement(S_,{color:i(m.name)}),Ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name)),Ae.default.createElement(A_,{pct:m.share_pct,color:i(m.name)})),Ae.default.createElement(co,null,hr(m.requests)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(m.p95_ms)),Ae.default.createElement(co,{color:Xe(m.error_rate)>=1.5?"var(--color-error-text)":"var(--color-text-secondary)"},F$(m.error_rate)),Ae.default.createElement(co,null,Zv(m.cost))))),Ae.default.createElement(qf,{label:"Models",qualifier:"by tokens"},e.models.length===0&&Ae.default.createElement(ag,null,"no model usage in this window"),e.models.map((m,y)=>Ae.default.createElement(G1,{key:`${m.model}-${m.provider}-${y}`,template:"minmax(0, 1fr) 52px 56px"},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,minWidth:0}},Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.model||"unknown"),m.provider&&Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},m.provider)),Ae.default.createElement(A_,{pct:m.share_pct,color:"var(--color-token-in)"})),Ae.default.createElement(co,null,hr(m.tokens)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Zv(m.cost))))),Ae.default.createElement(qf,{label:"Slowest actions",qualifier:"p95"},e.actions.length===0&&Ae.default.createElement(ag,null,"no actions in this window"),e.actions.map(m=>Ae.default.createElement(w_,{key:m.name},Ae.default.createElement("span",{title:m.name,style:{flex:1,minWidth:0,fontFamily:ye,fontSize:11,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ae.default.createElement(k_,{pct:t.slowestP95?Xe(m.p95_ms)/t.slowestP95*100:0,color:i(m.agent)}),Ae.default.createElement(co,{weight:600,width:40},Qr(m.p95_ms))))),Ae.default.createElement(qf,{label:"Tools",qualifier:"by calls"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 48px 40px",columns:["calls","avg","err"]}),e.tools.length===0&&Ae.default.createElement(ag,null,"no tool calls in this window"),e.tools.map(m=>Ae.default.createElement(G1,{key:m.name,template:"minmax(0, 1fr) 44px 48px 40px",padding:"7px 14px"},Ae.default.createElement("span",{title:m.name,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--span-tool)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ae.default.createElement(co,null,hr(m.calls)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(m.avg_ms)),Ae.default.createElement(co,{color:Xe(m.error_rate)>=2?"var(--color-error-text)":"var(--color-text-secondary)"},F$(m.error_rate))))),Ae.default.createElement(qf,{label:"Errors by type",meta:`${Math.round(e.totals.errors)} total`},e.errorsByType.map(m=>Ae.default.createElement(w_,{key:m.type},Ae.default.createElement(S_,{color:U$(m.type)}),Ae.default.createElement("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--color-text-cell)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.type),Ae.default.createElement(k_,{pct:t.errorTotal?Xe(m.count)/t.errorTotal*100:0,color:U$(m.type)}),Ae.default.createElement(co,{weight:600,width:32},Math.round(Xe(m.count))))))))))}function ece(e,t){let{series:r,totals:n,deltas:a}=e,o=r.length,i=V$(e),l=r.map(E=>new Date(E.ts)),s=e.windowMinutes>=2880,u=E=>Number.isNaN(E.getTime())?"":s?`${Vue[E.getDay()]} ${N_(E.getHours())}h`:`${N_(E.getHours())}:${N_(E.getMinutes())}`,c=o?[0,1,2,3,4,5,6].map(E=>E===6?"now":u(l[Math.round(E*(o-1)/6)])):[],d=E=>r.map(Z=>Xe(Z[E])),f=d("requests"),p=d("errors"),m=d("tokens_in"),y=d("tokens_out"),h=d("cost"),v=d("tool_calls"),g=d("tool_errors"),b=E=>r.map(Z=>Z[E]==null?null:Xe(Z[E])),x=b("p50_ms"),S=b("p95_ms"),w=b("p99_ms"),O=r.map(E=>E.requests_by_agent||{}),k=e.agents.map(E=>E.name).filter(Boolean);O.forEach(E=>Object.keys(E).forEach(Z=>{k.includes(Z)||k.push(Z)}));let A=k.length?k.map(E=>({label:E,color:t(E),data:O.map(Z=>Xe(Z[E]))})):[{label:"requests",color:Yf[0],data:f}],M=og.map(E=>({label:E.type,color:E.color,data:r.map(Z=>Xe((Z.errors_by_type||{})[E.type]))})),W=(Xe(e.bucketSeconds)||(o>1?(l[1]-l[0])/1e3:0))*1e3,L=(E,Z)=>{if(!E||o<2||!W)return null;let ge=new Date(E.ts).getTime();if(Number.isNaN(ge))return null;let nt=Math.min(o-1,Math.max(0,Math.floor((ge-l[0].getTime())/W)))/(o-1);return{left:nt*100,label:Z,flip:nt>.55}},H=e.markers.filter(E=>E.kind==="deploy").sort((E,Z)=>new Date(E.ts)-new Date(Z.ts)).slice(-Wue).map(E=>L(E,E.label)).filter(Boolean),D=e.markers.find(E=>E.kind==="incident"),Y=D?L(D,Gue(D)):null,N=Y?[Y]:[],_=Kf(Oo(f)*1.1),z=Kf(Oo(p)*1.15),j=Kf(Math.max(Oo(w),Oo(S),Oo(x))*1.05),P=Kf(Math.max(Oo(m),Oo(y))*1.1),B=x_(Oo(h)*1.1),R=z$(B),F=Kf(Oo(v)*1.1),G=Xe(n.requests),ee=Xe(n.requests_per_minute),fe=Xe(n.errors),de=Xe(n.error_rate),De=Xe(n.tokens)||Xe(n.tokens_in)+Xe(n.tokens_out),le=Xe(n.cost),Te=n.cost_per_request!=null?Xe(n.cost_per_request):G?le/G:0,K=Xe(n.tool_calls),I=n.tool_error_rate!=null?Xe(n.tool_error_rate):K?Xe(n.tool_errors)/K*100:0,C=Xe(e.errorsByType.find(E=>E.type===og[0].type)?.count),T=[{title:"Requests",sub:`per ${i.bucket} \xB7 stacked by agent`,value:`${hr(G)} \xB7 ${ee.toFixed(1)}/min`,legend:A.map(E=>({label:E.label,color:E.color})),ticks:tc(_,hr),buckets:ng(A,_,E=>`${u(l[E])} \xB7 ${Math.round(f[E])} req`),markers:H},{title:"Latency",sub:"generation percentiles",value:`p50 ${Qr(n.p50_ms)}`,legend:[{label:`p50 ${Qr(n.p50_ms)}`,color:"var(--color-token-in)"},{label:`p95 ${Qr(n.p95_ms)}`,color:"var(--color-warning)"},{label:`p99 ${Qr(n.p99_ms)}`,color:"var(--color-error)"}],ticks:tc(j,que),lines:[{points:rc(w,j),color:"var(--color-error)",width:1.5},{points:rc(S,j),color:"var(--color-warning)",width:1.5},{points:rc(x,j),color:"var(--color-token-in)",width:2}],areas:[{points:Y1(x,j),color:"var(--color-token-in)"}],markers:N},{title:"Errors",sub:`per ${i.bucket} \xB7 by type`,value:`${de.toFixed(2)}% \xB7 ${X1(Math.round(fe),"error")}`,valueColor:de>1?"var(--color-error)":Z1,legend:M.map(E=>({label:E.label,color:E.color})),ticks:tc(z,E=>String(Math.round(E))),buckets:ng(M,z,E=>`${u(l[E])} \xB7 ${X1(Math.round(p[E]),"error")}`),markers:N},{title:"Tokens",sub:`per ${i.bucket} \xB7 input / output`,value:`${hr(De)} \xB7 in ${hr(n.tokens_in)} / out ${hr(n.tokens_out)}`,legend:[{label:"input",color:"var(--color-token-in)"},{label:"output",color:"var(--color-token-out)"}],ticks:tc(P,hr),lines:[{points:rc(m,P),color:"var(--color-token-in)",width:1.5},{points:rc(y,P),color:"var(--color-token-out)",width:1.5}],areas:[{points:Y1(m,P),color:"var(--color-token-in)"},{points:Y1(y,P),color:"var(--color-token-out)"}]},{title:"Cost",sub:`estimated \xB7 per ${i.bucket}`,value:`${Zv(le)} \xB7 ${uo(Te)}/req`,legend:[{label:"spend",color:"var(--color-text-secondary)"}],ticks:tc(B,E=>uo(E,R)),buckets:ng([{color:"var(--color-text-secondary)",data:h}],B,E=>`${u(l[E])} \xB7 ${uo(h[E],R)}`)},{title:"Tool calls",sub:`per ${i.bucket} \xB7 MCP + agent-defined`,value:`${hr(K)} \xB7 ${I.toFixed(1)}% errors`,legend:[{label:"calls",color:"var(--span-tool)"},{label:"errors",color:"var(--color-error)"}],ticks:tc(F,hr),buckets:ng([{color:"var(--span-tool)",data:v.map((E,Z)=>Math.max(0,E-g[Z]))},{color:"var(--color-error)",data:g}],F,E=>`${u(l[E])} \xB7 ${X1(Math.round(v[E]),"call")}`)}],X=(E,Z,ge)=>{let Le=E==null?null:Xe(E);return Le==null||Le===0?"muted":Z&&Z(Le)?"success":ge&&ge(Le)?"error":"muted"},$=(E,Z,ge,Le,nt,Bt,ft,En)=>({label:E,value:Z,unit:ge,sub:Le,delta:nt,deltaColor:Hue[Bt],spark:L$(ft),sparkColor:En});return{signals:[$("Requests",hr(G),"",`${ee.toFixed(1)} req/min`,Wf(a.requests_pct),X(a.requests_pct,E=>E>0,null),f,"var(--color-token-in)"),$("Latency",Qr(n.p50_ms),"p50",`p95 ${Qr(n.p95_ms)} \xB7 p99 ${Qr(n.p99_ms)}`,Wf(a.p50_pct),X(a.p50_pct,E=>E<0,E=>E>0),x,"var(--color-token-in)"),$("Error rate",de.toFixed(2),"%",`${X1(Math.round(fe),"error")} \xB7 ${Math.round(C)} rate-limited`,Wf(a.error_rate_pt," pt",1),X(a.error_rate_pt,E=>E<0,E=>E>0),p,"var(--color-error)"),$("Tokens",hr(De),"",`in ${hr(n.tokens_in)} \xB7 out ${hr(n.tokens_out)}`,Wf(a.tokens_pct),"muted",m.map((E,Z)=>E+y[Z]),"var(--color-token-in)"),$("Cost",Zv(le),"",`${uo(Te)} per request`,Wf(a.cost_pct),"muted",h,"var(--color-text-secondary)")],panels:T,xLabels:c,slowestP95:Oo(e.actions.map(E=>E.p95_ms)),errorTotal:Kue(e.errorsByType.map(E=>E.count))}}var ke=te(ne());var tce=6e4,rce=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],K$={mcp:{light:"#7c3aed",dark:"#c4b5fd",bgLight:"#f5f3ff",bgDark:"rgba(124,58,237,0.15)"},builtin:{light:"#2563eb",dark:"#93c5fd",bgLight:"#eff6ff",bgDark:"rgba(37,99,235,0.15)"},agent:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.12)"}},ig=e=>e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),q$=e=>e==null?"\u2014":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`,nce=e=>{if(!e)return"\u2014";let t=new Date(e),r=Math.round((Date.now()-t.getTime())/6e4);if(r<1)return"just now";if(r<60)return`${r}m ago`;let n=Math.round(r/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`};function __({onOpenServer:e}){let{darkMode:t}=kt(),[r,n]=(0,ke.useState)(null),[a,o]=(0,ke.useState)(!0),[i,l]=(0,ke.useState)(null),[s,u]=(0,ke.useState)("all"),[c,d]=(0,ke.useState)(""),[f,p]=(0,ke.useState)(168),[m,y]=(0,ke.useState)(null),h=(0,ke.useCallback)(async()=>{try{let A=new URLSearchParams({hours:String(f)});s!=="all"&&A.set("origin",s),c.trim()&&A.set("q",c.trim());let M=await fetch(`/api/tools?${A}`);if(!M.ok)throw new Error(`Request failed (${M.status})`);n(await M.json()),l(null)}catch(A){l(A.message)}finally{o(!1)}},[s,c,f]);(0,ke.useEffect)(()=>{let A=setTimeout(h,c?250:0);return()=>clearTimeout(A)},[h,c]),(0,ke.useEffect)(()=>{let A=setInterval(h,tce);return()=>clearInterval(A)},[h]);let v={bg:t?"transparent":"#f9fafb",cardBg:t?"rgba(255,255,255,0.05)":"#ffffff",border:t?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:t?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af",textCell:t?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:t?"rgba(239,68,68,0.2)":"#fef2f2",inputBg:t?"rgba(255,255,255,0.06)":"#ffffff"},g=A=>{let M=K$[A]||K$.agent;return{fg:t?M.dark:M.light,bg:t?M.bgDark:M.bgLight}};if(a&&!r)return ke.default.createElement("div",{className:"flex items-center justify-center h-64"},ke.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(i&&!r)return ke.default.createElement("div",{style:{padding:"24px"}},ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),ke.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:v.errorBg,borderRadius:"8px",color:v.error,fontSize:"14px"}},"Failed to load tools: ",i));let{tools:b=[],summary:x={},origins:S={},sources:w={}}=r||{},O=!w.telemetry&&!w.generations&&!w.messages&&!w.declared,k=({label:A,value:M,hint:W,tone:L})=>ke.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${v.border}`}},ke.default.createElement("div",{style:{fontSize:"11px",color:v.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},A),ke.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:L||v.textPrimary}},M),W&&ke.default.createElement("div",{style:{fontSize:"13px",color:v.textSecondary,marginTop:"8px"}},W));return ke.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:v.bg}},ke.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${v.border}`,marginBottom:"16px"}},ke.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},ke.default.createElement("div",null,ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),ke.default.createElement("p",{style:{fontSize:"14px",color:v.textSecondary,marginTop:"4px"}},"Detected from telemetry spans, generation request bodies, and agent records \u2014 nothing to register by hand")),ke.default.createElement("div",{style:{display:"flex",gap:"4px"}},rce.map(A=>ke.default.createElement("button",{key:A.value,onClick:()=>p(A.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${f===A.value?"#ef4444":v.border}`,background:f===A.value?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:f===A.value?"#ef4444":v.textSecondary}},A.label))))),ke.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},ke.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},ke.default.createElement(k,{label:"Tools Detected",value:ig(x.total_tools),hint:`${x.active_tools||0} called in this window`}),ke.default.createElement(k,{label:"Tool Calls",value:ig(x.total_calls),hint:`${q$(x.avg_duration_ms)} average`}),ke.default.createElement(k,{label:"Error Rate",value:`${x.error_rate||0}%`,tone:x.error_rate>5?v.error:v.textPrimary,hint:`${x.total_errors||0} failed call${x.total_errors===1?"":"s"}`}),ke.default.createElement(k,{label:"From MCP",value:ig(x.mcp_tools),hint:`across ${x.mcp_servers_active||0} active server${x.mcp_servers_active===1?"":"s"}`}),ke.default.createElement(k,{label:"Never Called",value:ig(x.unused_tools),hint:"offered or configured, unused"})),ke.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap",alignItems:"center"}},Object.entries(S).map(([A,M])=>ke.default.createElement("button",{key:A,onClick:()=>u(A),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${s===A?"#ef4444":v.border}`,background:s===A?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:s===A?"#ef4444":v.textSecondary}},M)),ke.default.createElement("input",{value:c,onChange:A=>d(A.target.value),placeholder:"Filter by name\u2026",style:{marginLeft:"auto",padding:"6px 12px",fontSize:"13px",borderRadius:"6px",minWidth:"200px",border:`1px solid ${v.border}`,background:v.inputBg,color:v.textPrimary}})),ke.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",border:`1px solid ${v.border}`,overflow:"hidden"}},b.length===0?ke.default.createElement("div",{style:{textAlign:"center",padding:"48px 24px",color:v.textSecondary,fontSize:"14px"}},O?"No tool activity yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No tools match these filters"):ke.default.createElement("div",{style:{overflowX:"auto"}},ke.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:"760px"}},ke.default.createElement("thead",null,ke.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:v.textSecondary,borderBottom:`1px solid ${v.border}`}},ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Tool"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Source"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Calls"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Errors"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Avg"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Last seen"))),ke.default.createElement("tbody",null,b.map((A,M)=>{let W=g(A.origin),L=m===A.name;return ke.default.createElement(ke.default.Fragment,{key:A.name},ke.default.createElement("tr",{onClick:()=>y(L?null:A.name),style:{borderBottom:M{H.stopPropagation(),A.mcp_server&&e&&e(A.mcp_server)},style:{fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:"none",background:W.bg,color:W.fg,fontFamily:"monospace",cursor:A.mcp_server&&e?"pointer":"default"},title:A.mcp_server?`Open ${A.mcp_server} in MCP Services`:A.source_label},A.source_label)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},ig(A.calls)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",fontFamily:"monospace",color:A.errors>0?v.error:v.textCell}},A.errors),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},q$(A.avg_duration_ms)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textMuted,fontSize:"13px"}},nce(A.last_seen))),L&&ke.default.createElement("tr",{style:{borderBottom:Mke.default.createElement("span",{key:A,style:{color:w[A]?v.textSecondary:v.textMuted,opacity:w[A]?1:.5}},w[A]?"\u25CF":"\u25CB"," ",M)))))}function ace({tool:e,colors:t,tone:r,darkMode:n}){let a=({label:o,children:i})=>ke.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},ke.default.createElement("span",{style:{color:t.textMuted,minWidth:"108px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},o),ke.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},i));return ke.default.createElement("div",{style:{display:"grid",gap:"8px",padding:"12px 16px",borderRadius:"8px",background:n?"rgba(0,0,0,0.25)":"#ffffff",border:`1px solid ${t.border}`}},ke.default.createElement(a,{label:"Full name"},ke.default.createElement("code",{style:{fontFamily:"monospace"}},e.name)),e.description&&ke.default.createElement(a,{label:"Description"},e.description),ke.default.createElement(a,{label:"Parameters"},e.parameters?.length>0?ke.default.createElement("code",{style:{fontFamily:"monospace",color:r.fg}},e.parameters.join(", ")):ke.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),ke.default.createElement(a,{label:"Agents"},e.agents?.length>0?e.agents.join(", "):ke.default.createElement("span",{style:{color:t.textMuted}},"\u2014")),e.configured_by?.length>0&&ke.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),ke.default.createElement(a,{label:"Call breakdown"},ke.default.createElement("span",{style:{fontFamily:"monospace"}},e.traced_calls," traced \xB7 ",e.requested," requested \xB7 ",e.results," results")),e.sample_arguments&&ke.default.createElement(a,{label:"Last arguments"},ke.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",color:t.textMuted}},e.sample_arguments)),e.last_error&&ke.default.createElement(a,{label:"Last error"},ke.default.createElement("span",{style:{color:t.error}},e.last_error)),ke.default.createElement(a,{label:"Detected from"},e.detected_from?.join(", ")||"\u2014"))}var Oe=te(ne());var oce=6e4,ice=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],lce=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],Y$={active:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.15)"},configured:{light:"#b45309",dark:"#fcd34d",bgLight:"#fffbeb",bgDark:"rgba(245,158,11,0.15)"},available:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"},idle:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"}},lg=e=>e==null?"0":e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e);function O_({focusServer:e,onOpenTools:t}){let{darkMode:r}=kt(),[n,a]=(0,Oe.useState)(null),[o,i]=(0,Oe.useState)(!0),[l,s]=(0,Oe.useState)(null),[u,c]=(0,Oe.useState)("all"),[d,f]=(0,Oe.useState)(168),[p,m]=(0,Oe.useState)(e||null),[y,h]=(0,Oe.useState)(null),[v,g]=(0,Oe.useState)(null),b=(0,Oe.useCallback)(async()=>{try{let D=await fetch(`/api/mcp_servers?hours=${d}`);if(!D.ok)throw new Error(`Request failed (${D.status})`);a(await D.json()),s(null)}catch(D){s(D.message)}finally{i(!1)}},[d]);(0,Oe.useEffect)(()=>{b();let D=setInterval(b,oce);return()=>clearInterval(D)},[b]),(0,Oe.useEffect)(()=>{e&&m(e)},[e]);let x={bg:r?"transparent":"#f9fafb",cardBg:r?"rgba(255,255,255,0.05)":"#ffffff",border:r?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:r?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",textCell:r?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:r?"rgba(239,68,68,0.2)":"#fef2f2",codeBg:r?"rgba(0,0,0,0.35)":"#f9fafb"},S=D=>{let Y=Y$[D]||Y$.available;return{fg:r?Y.dark:Y.light,bg:r?Y.bgDark:Y.bgLight}},w=async D=>{h(D.key),g(null);try{let Y=await fetch(`/api/mcp_servers/${encodeURIComponent(D.key)}/launch`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""}}),N=await Y.json();if(!Y.ok)throw new Error(N.reason||N.error||`Launch failed (${Y.status})`);g({kind:"ok",text:`${D.name} is starting in a sandbox (${N.sandbox.session_id.slice(0,8)}\u2026)`}),b()}catch(Y){g({kind:"error",text:Y.message})}finally{h(null)}};if(o&&!n)return Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(l&&!n)return Oe.default.createElement("div",{style:{padding:"24px"}},Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:x.errorBg,borderRadius:"8px",color:x.error,fontSize:"14px"}},"Failed to load MCP services: ",l));let{servers:O=[],summary:k={},sandboxes:A=[],statuses:M={}}=n||{},W=u==="all"?O:O.filter(D=>D.status===u),L=new Set(A.flatMap(D=>D.mcp_servers||[])),H=({label:D,value:Y,hint:N})=>Oe.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${x.border}`}},Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},D),Oe.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:x.textPrimary}},Y),N&&Oe.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"8px"}},N));return Oe.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:x.bg}},Oe.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${x.border}`,marginBottom:"16px"}},Oe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",null,Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("p",{style:{fontSize:"14px",color:x.textSecondary,marginTop:"4px"}},"Servers detected from your agents' traffic, plus the defaults you can connect or run in a sandbox")),Oe.default.createElement("div",{style:{display:"flex",gap:"4px"}},ice.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>f(D.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${d===D.value?"#ef4444":x.border}`,background:d===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:d===D.value?"#ef4444":x.textSecondary}},D.label))))),Oe.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Oe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Oe.default.createElement(H,{label:"Active",value:lg(k.active),hint:"called in this window"}),Oe.default.createElement(H,{label:"Configured",value:lg(k.configured),hint:"declared, no traffic yet"}),Oe.default.createElement(H,{label:"Available",value:lg(k.available),hint:"defaults you can connect"}),Oe.default.createElement(H,{label:"Tool Calls",value:lg(k.total_calls),hint:"through MCP servers"})),v&&Oe.default.createElement("div",{style:{marginBottom:"16px",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",background:v.kind==="error"?x.errorBg:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:v.kind==="error"?x.error:r?"#86efac":"#15803d"}},v.text),Oe.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap"}},lce.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>c(D.value),title:M[D.value]||"Every MCP service known to this workspace",style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${u===D.value?"#ef4444":x.border}`,background:u===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:u===D.value?"#ef4444":x.textSecondary}},D.label))),Oe.default.createElement("div",{style:{display:"grid",gap:"12px"}},W.length===0?Oe.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,textAlign:"center",padding:"48px 24px",color:x.textSecondary,fontSize:"14px"}},"No MCP services in this state"):W.map(D=>{let Y=S(D.status),N=p===D.key,_=L.has(D.key);return Oe.default.createElement("div",{key:D.key,style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${N?Y.fg:x.border}`,overflow:"hidden"}},Oe.default.createElement("div",{onClick:()=>m(N?null:D.key),style:{padding:"16px 20px",cursor:"pointer",display:"flex",alignItems:"center",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",{style:{flex:1,minWidth:"220px"}},Oe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontSize:"15px",fontWeight:"600",color:x.textPrimary}},D.name),Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:Y.bg,color:Y.fg,textTransform:"uppercase",letterSpacing:"0.04em"}},D.status),D.first_party&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(239,68,68,0.15)":"#fef2f2",color:"#ef4444"}},"first-party"),!D.known&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:x.borderLight,color:x.textMuted},title:"Seen in your traffic but not in the platform catalog"},"undocumented"),_&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:r?"#86efac":"#15803d"}},"\u25CF sandbox running")),D.description&&Oe.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"4px"}},D.description)),Oe.default.createElement("div",{style:{display:"flex",gap:"24px",alignItems:"center"}},Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:x.textPrimary}},lg(D.calls)),Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"calls")),Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:D.errors>0?x.error:x.textPrimary}},D.errors||0),Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"errors")),D.launchable&&Oe.default.createElement("button",{onClick:z=>{z.stopPropagation(),w(D)},disabled:y===D.key,style:{padding:"8px 14px",fontSize:"13px",borderRadius:"6px",border:"none",background:y===D.key?x.borderLight:"#ef4444",color:y===D.key?x.textMuted:"#ffffff",cursor:y===D.key?"wait":"pointer",fontWeight:"500",whiteSpace:"nowrap"},title:`Start ${D.name} in a sandbox session`},y===D.key?"Starting\u2026":_?"Start another":"Start in sandbox"))),N&&Oe.default.createElement(sce,{server:D,colors:x,tone:Y,onOpenTools:t}))})),A.length>0&&Oe.default.createElement("div",{style:{marginTop:"24px",background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,padding:"20px"}},Oe.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:x.textPrimary,margin:"0 0 12px 0"}},"Running sandboxes"),Oe.default.createElement("div",{style:{display:"grid",gap:"8px"}},A.map(D=>Oe.default.createElement("div",{key:D.session_id,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontSize:"13px",color:x.textCell,flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontFamily:"monospace"}},(D.mcp_servers||[]).join(", ")||D.sandbox_type),Oe.default.createElement("span",{style:{color:x.textMuted}},D.status," \xB7 ",D.runs_count,"/",D.max_runs," runs \xB7 expires ",new Date(D.expires_at).toLocaleTimeString())))))))}function sce({server:e,colors:t,tone:r,onOpenTools:n}){let a=({label:i,children:l})=>Oe.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Oe.default.createElement("span",{style:{color:t.textMuted,minWidth:"120px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},i),Oe.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},l)),o=e.command||e.url;return Oe.default.createElement("div",{style:{padding:"0 20px 20px 20px",display:"grid",gap:"10px"}},Oe.default.createElement("div",{style:{height:"1px",background:t.borderLight,marginBottom:"4px"}}),o&&Oe.default.createElement(a,{label:e.transport==="http"?"Endpoint":"Command"},Oe.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",padding:"4px 8px",borderRadius:"4px",background:t.codeBg,display:"inline-block"}},o)),e.transport&&Oe.default.createElement(a,{label:"Transport"},e.transport),e.categories?.length>0&&Oe.default.createElement(a,{label:"Categories"},e.categories.join(", ")),e.requires_credentials?.length>0&&Oe.default.createElement(a,{label:"Requires"},e.requires_credentials.join(", ")),Oe.default.createElement(a,{label:e.tool_count>0?"Tools used":"Tools offered"},e.tools?.length>0?Oe.default.createElement("span",{style:{display:"flex",gap:"6px",flexWrap:"wrap"}},e.tools.map(i=>Oe.default.createElement("code",{key:i,style:{fontFamily:"monospace",fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r.bg,color:r.fg}},i))):Oe.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),e.agents?.length>0&&Oe.default.createElement(a,{label:"Used by"},e.agents.join(", ")),e.configured_by?.length>0&&Oe.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),e.last_seen&&Oe.default.createElement(a,{label:"Last call"},new Date(e.last_seen).toLocaleString()),Oe.default.createElement("div",{style:{display:"flex",gap:"12px",marginTop:"4px",flexWrap:"wrap"}},e.docs_url&&Oe.default.createElement("a",{href:e.docs_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"#ef4444",textDecoration:"none"}},"Documentation \u2192"),e.calls>0&&n&&Oe.default.createElement("button",{onClick:()=>n(e.key),style:{fontSize:"13px",color:"#ef4444",background:"none",border:"none",padding:0,cursor:"pointer"}},"View its tools \u2192")))}var q=te(ne());var ks=te(ne());var J1={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},xr={log(...e){this.enabled&&(e.push(Date.now()),J1.logger.log("[ActionCable]",...e))}},ug=()=>new Date().getTime(),Q1=e=>(ug()-e)/1e3,cg=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=ug(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),xr.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=ug(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),xr.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=ug()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,xr.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=ug(),xr.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)),o=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+o)}reconnectIfStale(){this.connectionIsStale()&&(xr.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${Q1(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?xr.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${Q1(this.disconnectedAt)} s`):(xr.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return Q1(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&Q1(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(xr.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};cg.staleThreshold=6;cg.reconnectionBackoffRate=.15;var X$={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:sg,protocols:T_}=X$,uce=T_.slice(0,T_.length-1),G$=[].indexOf,dg=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new cg(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return xr.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...T_,...this.consumer.subprotocols||[]];return xr.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new J1.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(xr.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){xr.log("Failed to reopen WebSocket",t)}finally{xr.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 G$.call(uce,this.getProtocol())>=0}isState(...t){return G$.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in J1.WebSocket)if(J1.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let r=this.events[t].bind(this);this.webSocket[`on${t}`]=r}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};dg.reopenDelay=500;dg.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:a,type:o}=JSON.parse(e.data);switch(this.monitor.recordMessage(),o){case sg.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case sg.disconnect:return xr.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:a});case sg.ping:return null;case sg.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 sg.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(xr.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return xr.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(xr.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){xr.log("WebSocket onerror event")}};var cce=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},M_=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),cce(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)}},P_=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(xr.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):xr.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){xr.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=>{xr.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},D_=class{constructor(t){this.consumer=t,this.guarantor=new P_(this),this.subscriptions=[]}create(t,r){let n=t,a=typeof n=="object"?n:{channel:n},o=new M_(this.consumer,a,r);return this.add(o)}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((o=>typeof o[r]=="function"?o[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){xr.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})}},I_=class{constructor(t){this._url=t,this.subscriptions=new D_(this),this.connection=new dg(this),this.subprotocols=[]}get url(){return dce(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 dce(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 Z$(e=fce("url")||X$.default_mount_path){return new I_(e)}function fce(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var R1=null;function pce(){if(R1===null)try{R1=Z$()}catch{R1=!1}return R1||null}function Q$(e,t,r,n=!0){let a=(0,ks.useRef)(null),o=(0,ks.useRef)(r);return(0,ks.useEffect)(()=>{o.current=r},[r]),(0,ks.useEffect)(()=>{if(!n||!e)return;let l=pce();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),o.current&&o.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,ks.useCallback)((l,s)=>{a.current&&a.current.perform(l,s)},[])}}var ew=[{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"}],mce={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"}]},J$={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function j_({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,q.useState)(e),[a,o]=(0,q.useState)(null),[i,l]=(0,q.useState)(""),[s,u]=(0,q.useState)([]),[c,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(!1),[m,y]=(0,q.useState)(!1),[h,v]=(0,q.useState)(null),[g,b]=(0,q.useState)(null),[x,S]=(0,q.useState)(!1),[w,O]=(0,q.useState)(null),[k,A]=(0,q.useState)(!1),M=(0,q.useRef)(null),[W,L]=(0,q.useState)(["anthropic"]),[H,D]=(0,q.useState)(!1),[Y,N]=(0,q.useState)({}),[_,z]=(0,q.useState)([]),j=(0,q.useCallback)(T=>{switch(console.log("[SandboxRunner] Received ActionCable message:",T),T.type){case"run_started":H?N(X=>({...X,[T.provider]:{status:"running",started_at:T.started_at,provider:T.provider}})):d(X=>({...X,status:"running",provider:T.provider}));break;case"run_complete":H?(N(X=>({...X,[T.provider]:{...T.run,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider)),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))):(d(T.run),p(!1),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))),z(X=>{let $=X.filter(Ne=>Ne!==T.provider);return $.length===0&&p(!1),$});break;case"run_error":H?(N(X=>({...X,[T.provider]:{status:"failed",error:T.error,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider))):(d(X=>({...X,status:"failed",error:T.error})),p(!1)),T.sandbox&&o(T.sandbox);break}},[H]);Q$("SandboxChannel",{session_id:a?.session_id},j,!!a?.session_id),(0,q.useEffect)(()=>{B(),P()},[r]);let P=async()=>{try{let T=await fetch("/api/usage");if(T.ok){let X=await T.json();O(X.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,q.useEffect)(()=>{if(!a?.expires_at)return;let T=setInterval(()=>{let X=new Date,$=new Date(a.expires_at),Ne=Math.max(0,Math.floor(($-X)/1e3));b(Ne),Ne===0&&(o(E=>({...E,status:"expired"})),clearInterval(T))},1e3);return()=>clearInterval(T)},[a?.expires_at]),(0,q.useEffect)(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[c?.result]);let B=async()=>{y(!0),v(null);try{let T=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!T.ok)throw new Error("Failed to create sandbox session");let X=await T.json();o(X.sandbox),u([]),d(null)}catch(T){v(T.message)}finally{y(!1)}},R=async()=>{!i.trim()||f||!a||(H&&W.length>1?await G():await F(W[0]||"anthropic"))},F=async T=>{p(!0),d({status:"running",task:i,provider:T,result:"",started_at:new Date().toISOString()});try{let X=await fetch(`/api/sandboxes/${a.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,provider:T})}),$=await X.json();if(X.status===402&&$.upgrade_required){O($.usage),S(!0),d(Ne=>({...Ne,status:"failed",error:$.message||"Plan limit reached"})),p(!1);return}if(!X.ok)throw new Error($.error||"Task execution failed");$.usage&&O($.usage),De($.run_id)}catch(X){d($=>({...$,status:"failed",error:X.message})),p(!1)}},G=async()=>{p(!0),z([...W]),N({});let T={};W.forEach(X=>{T[X]={status:"running",result:"",started_at:new Date().toISOString()}}),N(T);try{let X=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,providers:W,sandbox_id:a?.session_id,sandbox_type:r})});if(!X.ok){let Ne=await X.json();throw new Error(Ne.error||"Comparison failed")}let $=await X.json();$.sandbox&&o($.sandbox),ee(W,$.sandbox?.session_id||a?.session_id,$.sandbox?.runs_count??a?.runs_count??0)}catch(X){W.forEach($=>{N(Ne=>({...Ne,[$]:{status:"failed",error:X.message}}))}),p(!1),z([])}},ee=(T,X,$)=>{if(!X)return;let Ne=async()=>{try{let E=await fetch(`/api/sandboxes/${X}`);if(!E.ok)throw new Error(`HTTP ${E.status}`);let Z=await E.json();o(Z.sandbox);let ge=Z.sandbox.runs||[];u(ge);let Le=new Set;if(ge.slice($).forEach(nt=>{nt.provider&&(N(Bt=>({...Bt,[nt.provider]:{...nt,provider:nt.provider}})),(nt.status==="completed"||nt.status==="failed")&&Le.add(nt.provider))}),T.every(nt=>Le.has(nt))){p(!1),z([]);return}setTimeout(Ne,1e3)}catch(E){console.error("Comparison polling failed:",E),p(!1),z([])}};setTimeout(Ne,1e3)},fe=async()=>{if(a?.session_id)try{let X=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(X.sandbox),u(X.sandbox.runs||[]),(X.sandbox.runs||[]).forEach(E=>{E.provider&&N(Z=>({...Z,[E.provider]:{...E,provider:E.provider}}))}),W.every(E=>{let Z=Y[E];return Z?.status==="completed"||Z?.status==="failed"})&&(p(!1),z([]))}catch(T){console.error("Polling error:",T)}},de=T=>{L(X=>X.includes(T)?X.length===1?X:X.filter($=>$!==T):[...X,T])},De=async T=>{let X=async()=>{try{let Ne=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(Ne.sandbox);let E=Ne.sandbox.runs||[],Z=E[E.length-1];if(Z&&(d(Z),u(E),Z.status==="completed"||Z.status==="failed")){p(!1);return}setTimeout(X,1e3)}catch{p(!1)}};X()},le=T=>{T.key==="Enter"&&(T.metaKey||T.ctrlKey)&&R()},Te=T=>{if(!T)return"--:--";let X=Math.floor(T/60),$=T%60;return`${X}:${$.toString().padStart(2,"0")}`},K=T=>{switch(T){case"completed":return"text-green-600 bg-green-100";case"failed":return"text-red-600 bg-red-100";case"running":return"text-blue-600 bg-blue-100";case"ready":return"text-emerald-600 bg-emerald-100";case"expired":return"text-orange-600 bg-orange-100";default:return"text-gray-600 bg-gray-100"}},I=a?.status==="ready"&&a?.runs_count{A(!0);try{await Vf({planSlug:"pro",billingInterval:T})}catch(X){console.error("Checkout error:",X),v(X.message||"Failed to initiate checkout. Please try again."),A(!1)}};return q.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},q.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},q.default.createElement("div",{className:"flex items-center justify-between"},q.default.createElement("div",{className:"flex items-center space-x-4"},q.default.createElement(mr,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),q.default.createElement("div",null,q.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),q.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),q.default.createElement("div",{className:"flex items-center space-x-4"},a&&q.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},q.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${K(a.status)}`},a.status),q.default.createElement("span",{className:"text-gray-500"},a.runs_count,"/",a.max_runs," runs"),q.default.createElement("span",{className:`font-mono ${g<60?"text-red-500":"text-gray-500"}`},Te(g))),t&&q.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},q.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),q.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},q.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},q.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("textarea",{value:i,onChange:T=>l(T.target.value),onKeyDown:le,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!I,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-rose-500 focus:border-transparent resize-none disabled:bg-gray-100"}),q.default.createElement("div",{className:"flex items-center justify-between mt-3"},q.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),q.default.createElement("button",{onClick:R,disabled:!i.trim()||!I,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${i.trim()&&I?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{className:"animate-spin"},"\u25E0"),q.default.createElement("span",null,"Running...")):q.default.createElement(q.default.Fragment,null,q.default.createElement("span",null,"\u25B6"),q.default.createElement("span",null,"Run"))))),q.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},q.default.createElement("h3",{className:"font-medium text-gray-900"},H&&Object.keys(Y).length>0?"Comparison Results":"Output"),c&&!H&&q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(c.status)}`},c.status),H&&_.length>0&&q.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",_.length," provider(s)...")),q.default.createElement("div",{ref:M,className:"flex-1 overflow-auto bg-gray-50"},m?q.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},q.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):h?q.default.createElement("div",{className:"text-red-600 p-4"},h):H&&Object.keys(Y).length>0?q.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},W.map(T=>{let X=ew.find(Ne=>Ne.id===T),$=Y[T];return q.default.createElement("div",{key:T,className:"p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-2"},q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("div",{className:`w-3 h-3 rounded-full ${X?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"font-medium text-gray-900"},X?.name||T),q.default.createElement("span",{className:"text-xs text-gray-500"},X?.model)),$&&q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K($.status)}`},$.status),$.tokens&&q.default.createElement("span",{className:"text-xs text-gray-500"},$.tokens," tokens"),$.duration_ms&&q.default.createElement("span",{className:"text-xs text-gray-500"},($.duration_ms/1e3).toFixed(1),"s"))),q.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},$?.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Processing...")):$?.error?q.default.createElement("div",{className:"text-red-600"},$.error):$?.result?q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},$.result):q.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?q.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&q.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},q.default.createElement("div",{className:`w-2 h-2 rounded-full ${ew.find(T=>T.id===c.provider)?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"text-sm text-gray-600"},ew.find(T=>T.id===c.provider)?.name||c.provider)),c.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Executing task...")):c.error?q.default.createElement("div",{className:"text-red-600"},q.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),q.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):q.default.createElement("div",{className:"text-gray-400 text-center py-12"},q.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),q.default.createElement("p",{className:"text-xs"},H?`Compare results across ${W.length} providers`:"Task will execute using the selected provider"))))),q.default.createElement("div",{className:"space-y-4 overflow-auto"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),q.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},q.default.createElement("input",{type:"checkbox",checked:H,onChange:T=>D(T.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),q.default.createElement("div",{className:"space-y-2"},ew.map(T=>q.default.createElement("label",{key:T.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${W.includes(T.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},q.default.createElement("div",{className:"flex items-center space-x-3"},q.default.createElement("input",{type:"checkbox",checked:W.includes(T.id),onChange:()=>de(T.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("div",{className:`w-2 h-2 rounded-full ${T.color}`}),q.default.createElement("span",{className:"text-sm font-medium text-gray-900"},T.name)),q.default.createElement("span",{className:"text-xs text-gray-500"},T.model)))),H&&W.length>1&&q.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},q.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",W.length," providers simultaneously"))),q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),H&&q.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")),q.default.createElement("div",{className:"space-y-2"},mce[r]?.map((T,X)=>q.default.createElement("button",{key:X,onClick:()=>l(T.task),disabled:!I,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},q.default.createElement("div",{className:"font-medium text-sm text-gray-900"},T.name),q.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},T.description))))),q.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},q.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},w?.unlimited?"Unlimited":w?.plan==="free"?"Free Tier":`${w?.plan?.toUpperCase()||"FREE"} Plan`),w&&!w.unlimited&&w.runs_limit!=null&&q.default.createElement("div",{className:"mb-4"},q.default.createElement("div",{className:"flex justify-between text-sm mb-1"},q.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),q.default.createElement("span",{className:`font-medium ${w.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},w.runs_used," / ",w.runs_limit)),q.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},q.default.createElement("div",{className:`h-2 rounded-full transition-all ${w.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(w.runs_used/w.runs_limit*100,100)}%`}})),w.runs_remaining<=1&&q.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},w.runs_remaining===0?"Limit reached!":"Almost at limit!")),q.default.createElement("dl",{className:"space-y-2 text-sm"},q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),q.default.createElement("dd",{className:"text-gray-900"},a?.runs_count||0,"/",a?.max_runs||J$.max_runs)),q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Timeout"),q.default.createElement("dd",{className:"text-gray-900"},J$.timeout_seconds,"s per task"))),w?.plan==="free"&&q.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},q.default.createElement("button",{onClick:()=>S(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),q.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((T,X)=>q.default.createElement("div",{key:T.id||X,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(T)},q.default.createElement("div",{className:"flex items-center justify-between mb-1"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(T.status||"completed")}`},T.status||"completed"),q.default.createElement("span",{className:"text-xs text-gray-400"},T.tokens||0," tokens")),q.default.createElement("p",{className:"text-sm text-gray-600 truncate"},T.task))))),a?.status==="expired"&&q.default.createElement("button",{onClick:B,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),x&&q.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},q.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},q.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},q.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),q.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",w?.runs_used||0," of ",w?.runs_limit||25," trial runs. Choose a plan to continue.")),q.default.createElement("div",{className:"p-6"},q.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),q.default.createElement("span",{className:"text-gray-500"},"/mo"))),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),q.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")),q.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},q.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},q.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),q.default.createElement("div",{className:"text-center mb-4 mt-2"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),q.default.createElement("button",{onClick:()=>C("monthly"),disabled:k,className:"w-full py-2 px-4 bg-rose-500 text-white rounded-lg text-sm font-semibold hover:bg-rose-600 transition-colors disabled:opacity-50"},k?"Loading...":"Upgrade to Pro")),q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),q.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")))),q.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},q.default.createElement("button",{onClick:()=>S(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var Ee=te(ne());var tw={SCREENSHOT:"screenshot",IFRAME:"iframe"},R$={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},z_={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"},vce=` +`)||g?.instructions||"",hn=v.slice();h&&!hn.some(oe=>oe.id===h)&&hn.unshift({id:h,message_count:Mo.length});let Ns=(s.trim().length>0||c.length>0)&&!k,H_=M&&!k&&M.status==="failed",oU=M&&!k&&M.status==="complete"&&!As(M)&&!h,uc={background:n.cardBg,border:`1px solid ${n.cardBorder}`,borderRadius:"12px"},V_={borderBottom:`1px solid ${n.cardBorder}`},K_={padding:"6px 10px",borderRadius:"8px",border:`1px solid ${n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontSize:"13px",fontFamily:Fe.mono,maxWidth:"260px"},q_={width:"100%",padding:"10px 12px",borderRadius:"8px",border:`1px solid ${f?vn:n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"},fw=gr("system",r),iU=O1(r);return V.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},V.default.createElement("div",{className:"col-span-2 flex flex-col gap-4 min-w-0"},P&&V.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},V.default.createElement("div",null,V.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),V.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."),G&&V.default.createElement("p",{className:"text-sm text-red-600 mt-1"},G)),V.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},ut&&V.default.createElement("a",{href:ut,className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),V.default.createElement("button",{onClick:xe,disabled:R,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},R?"Redirecting\u2026":"Upgrade to Pro"))),V.default.createElement("div",{"data-testid":"runner-toolbar",style:uc,className:"p-4 flex items-center gap-3 flex-wrap"},V.default.createElement(mr,{size:40}),V.default.createElement("div",{className:"min-w-0"},V.default.createElement("div",{className:"font-semibold truncate",style:{color:n.textPrimary}},e.name),V.default.createElement("div",{className:"text-xs font-mono",style:{color:n.textSecondary}},e.provider," / ",e.model)),V.default.createElement("div",{className:"flex items-center gap-2 flex-wrap ml-auto"},V.default.createElement("select",{"data-testid":"runner-action-select",value:i,onChange:oe=>aw(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Agent action to invoke"},o.map(oe=>V.default.createElement("option",{key:oe,value:oe},"#",oe))),V.default.createElement("select",{"data-testid":"runner-conversation-select",value:h??"",onChange:oe=>ow(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Conversation to continue"},V.default.createElement("option",{value:""},"New conversation on first run"),hn.map(oe=>V.default.createElement("option",{key:oe.id,value:oe.id},"Conversation #",oe.id," \xB7 ",oe.message_count??0," message",oe.message_count===1?"":"s"))),V.default.createElement(Ln,{testId:"runner-new-conversation",variant:"secondary",size:"sm",colors:n,onClick:oc,disabled:k,title:"Start an empty conversation for this action"},"+ New conversation"),V.default.createElement(Ln,{testId:"runner-back",variant:"secondary",size:"sm",colors:n,onClick:t},"\u2190 Back to editor"))),V.default.createElement("div",{"data-testid":"runner-context",ref:ft,style:uc,className:"flex flex-col overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3 flex items-center justify-between gap-3 flex-wrap",style:V_},V.default.createElement("div",{className:"flex items-center gap-2 min-w-0"},V.default.createElement("h3",{className:"font-medium",style:{color:n.textPrimary}},"Context"),g&&V.default.createElement("span",{className:"text-xs font-mono",style:{color:n.textMuted}},"#",g.id," \xB7 ",Mo.length," message",Mo.length===1?"":"s")),V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement(Oue,{run:M,darkMode:r,colors:n}),V.default.createElement("div",{className:"relative",ref:oa},V.default.createElement(Ln,{testId:"runner-add-message",variant:"secondary",size:"sm",colors:n,onClick:()=>le(oe=>!oe),disabled:k,title:"Insert a message into the context without running"},"+ Add message"),De&&V.default.createElement("div",{className:"absolute right-0 mt-1 z-10 py-1 rounded-lg shadow-lg",style:{background:n.cardBg,border:`1px solid ${n.borderStrong}`,minWidth:"180px"}},[["user","runner-add-user-message","User message"],["assistant","runner-add-assistant-message","Assistant message"]].map(([oe,Ie,Ye])=>V.default.createElement("button",{key:oe,type:"button","data-testid":Ie,onClick:()=>cw(oe),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-black/5",style:{color:n.textCell,background:"none",border:"none",cursor:"pointer"}},Ye)))))),V.default.createElement("div",{ref:En,className:"p-4 overflow-auto",style:{maxHeight:"60vh"}},V.default.createElement("div",{"data-testid":"runner-system-row",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 cursor-pointer",onClick:()=>de(oe=>!oe),title:fe?"Collapse system instructions":"Show system instructions"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:fw.background,color:fw.color,textAlign:"center"}},fw.label)),V.default.createElement("div",{className:"min-w-0 flex-1"},pr?fe?V.default.createElement("pre",{style:{...iU,whiteSpace:"pre-wrap",maxHeight:"260px",overflowY:"auto"}},pr):V.default.createElement("div",{className:"text-sm truncate",style:{color:n.textSecondary}},pr.split(` +`).find(oe=>oe.trim())||""):V.default.createElement("div",{className:"text-sm",style:{color:n.textMuted}},"No system instructions"),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono",style:{color:n.textMuted}},"read-only \xB7 Edit in the Instructions tab")),V.default.createElement(j$,{open:fe,color:n.textMuted})),b&&V.default.createElement("div",{className:"text-sm mt-3",style:{color:"#dc2626"}},b),Mo.length>0?V.default.createElement("div",{className:"mt-3"},V.default.createElement(so,{messages:Mo,darkMode:r,testIdPrefix:"runner-message",onUiAction:pg,onEditMessage:Qf,onDeleteMessage:uw})):!L&&!D&&!H_&&V.default.createElement("div",{"data-testid":"runner-context-empty",className:"text-sm text-center py-8",style:{color:n.textMuted}},"No messages yet \u2014 say something below to test the agent as a user."),L&&V.default.createElement("div",{"data-testid":"runner-pending-turn",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 mt-3"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr("user",r).background,color:gr("user",r).color,textAlign:"center"}},"User")),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words whitespace-pre-wrap",style:{color:n.textPrimary}},L.content),V.default.createElement(T1,{attachments:L.attachments,darkMode:r}))),M&&(k||d_(M).length>0)&&V.default.createElement("div",{className:"mt-3 space-y-2"},V.default.createElement(_ue,{run:M,darkMode:r,colors:n,expanded:z,onToggle:oe=>j(Ie=>({...Ie,[oe]:!Ie[oe]}))}),k&&V.default.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.textSecondary}},V.default.createElement("span",{className:"animate-pulse"},"\u25CF"),V.default.createElement("span",null,d_(M).length>0?"Working\u2026":"Starting run\u2026"))),N&&V.default.createElement("div",{className:"text-xs mt-3",style:{color:"#d97706"}},N),H_&&M.error_message&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:r?"rgba(239,68,68,0.12)":"#fef2f2",color:r?"#fca5a5":"#b91c1c"}},V.default.createElement("div",{className:"font-semibold mb-1"},"Run failed"),V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0}},M.error_message)),oU&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:n.innerBg,color:n.textPrimary}},V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:n.textMuted}},"Output"),V.default.createElement(_o,{text:M.output||"No output",darkMode:r,onUiAction:pg})),D&&V.default.createElement("div",{"data-testid":"runner-inspected-run",className:"mt-3 rounded-lg p-3",style:{background:n.innerBg,border:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mb-2"},V.default.createElement("div",{className:"flex items-center gap-2 text-xs font-mono",style:{color:n.textMuted}},V.default.createElement("span",{style:{color:n.textPrimary}},"Run #",D.id),V.default.createElement(Ss,{tone:c_[D.status]||"neutral",darkMode:r},D.status),D.output_metadata?.model&&V.default.createElement("span",null,D.output_metadata.provider,"/",D.output_metadata.model),D.duration_ms?V.default.createElement("span",null,q1(D.duration_ms)):null,D.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${D.trace_id}`),className:"hover:underline",style:{color:n.textSecondary}},"trace:",D.trace_id.slice(0,8)," \u2192"),V.default.createElement("span",null,"\xB7 no conversation attached")),V.default.createElement("button",{type:"button",onClick:()=>Y(null),className:"text-xs font-mono",style:{color:n.textMuted,background:"none",border:"none",cursor:"pointer"},title:"Close"},"[x]")),(D.input_prompt||D.input_preview)&&V.default.createElement("div",{className:"text-sm mb-2 whitespace-pre-wrap",style:{color:n.textSecondary}},D.input_prompt||D.input_preview),D.error_message?V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0,color:r?"#fca5a5":"#b91c1c"}},D.error_message):V.default.createElement("div",{className:"text-sm",style:{color:n.textPrimary}},V.default.createElement(_o,{text:D.output||"No output",darkMode:r}))),Te&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3",style:{border:`1px dashed ${n.borderStrong}`}},V.default.createElement("div",{className:"flex items-center gap-2 mb-2"},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr(Te,r).background,color:gr(Te,r).color}},gr(Te,r).label),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Added to the context without running the agent")),V.default.createElement("textarea",{"data-testid":"runner-inline-composer",value:I,onChange:oe=>C(oe.target.value),onKeyDown:oe=>{oe.key==="Escape"&&K(null),oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&sc()},placeholder:Te==="user"?"What the user said\u2026":"What the assistant replied\u2026",rows:3,autoFocus:!0,className:"aa-field",style:{...q_,border:`1px solid ${n.inputBorder}`}}),V.default.createElement("div",{className:"flex items-center gap-2 mt-2 flex-wrap"},V.default.createElement(Ln,{testId:"runner-inline-submit",variant:"primary",size:"sm",colors:n,onClick:sc,disabled:T||!I.trim()},T?"Adding\u2026":`Add ${Te} message`),V.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>K(null),disabled:T},"Cancel"),$&&V.default.createElement("span",{className:"text-xs",style:{color:"#dc2626"}},$))))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("div",{onDragOver:oe=>{oe.preventDefault(),f||p(!0)},onDragLeave:()=>p(!1),onDrop:oe=>{oe.preventDefault(),p(!1),k||ic(oe.dataTransfer?.files)}},V.default.createElement("textarea",{"data-testid":"runner-prompt",value:s,onChange:oe=>u(oe.target.value),onKeyDown:sw,placeholder:"Message the agent as a user\u2026 (\u2318/Ctrl+Enter to run \xB7 drop files here to attach)",rows:3,disabled:k,className:"aa-field",style:q_})),V.default.createElement(T1,{attachments:c,darkMode:r,testId:"runner-attachment-chip",onRemove:(oe,Ie)=>iw(Ie),removeTestId:"runner-attachment-remove"}),V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mt-3"},V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement("input",{ref:Bn,"data-testid":"runner-attach-input",type:"file",multiple:!0,style:{display:"none"},onChange:oe=>{ic(oe.target.files),oe.target.value=""}}),V.default.createElement(Ln,{testId:"runner-attach",variant:"secondary",size:"sm",colors:n,onClick:()=>Bn.current?.click(),disabled:k,title:"Attach images, PDFs, or text files to this message"},"\u{1F4CE} Attach files"),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Press ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"\u2318")," + ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"Enter")," to run")),V.default.createElement(Ln,{testId:"runner-run",variant:"primary",colors:n,onClick:Zf,disabled:!Ns},k?V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{className:"animate-spin inline-block",style:{fontFamily:Fe.mono}},"[~]")," Running\u2026"):V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{style:{fontFamily:Fe.mono}},"[>]")," Run"))))),V.default.createElement("div",{className:"space-y-4 min-w-0"},V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Configuration"),V.default.createElement("dl",{className:"space-y-2 text-sm"},V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Temperature"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.modelConfig?.temperature||e.model_config?.temperature||.7)),V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Tools"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.tools?.length||0)),V.default.createElement("div",{className:"flex justify-between items-center"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Status"),V.default.createElement("dd",null,V.default.createElement(Ss,{tone:e.status==="active"?"success":"neutral",darkMode:r},e.status)))),e.instructions&&V.default.createElement("div",{className:"mt-3 pt-3",style:{borderTop:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"text-xs mb-1.5",style:{color:n.textSecondary}},"System Instructions"),V.default.createElement("p",{className:"text-xs whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed",style:{color:n.textCell}},e.instructions))),V.default.createElement("div",{style:uc,className:"overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3",style:V_},V.default.createElement("h4",{className:"font-medium",style:{color:n.textPrimary}},"Recent Runs")),V.default.createElement("div",{className:"max-h-64 overflow-auto"},w.length>0?V.default.createElement("div",null,w.map(oe=>V.default.createElement("div",{key:oe.id,"data-testid":"runner-recent-run",className:"px-4 py-3 cursor-pointer hover:bg-black/5",style:{borderBottom:`1px solid ${n.cardBorder}`},onClick:()=>dw(oe),title:As(oe)?"Open this run\u2019s conversation":"Show this run\u2019s output"},V.default.createElement("div",{className:"flex items-center justify-between mb-1"},V.default.createElement(Ss,{tone:c_[oe.status]||"neutral",darkMode:r},oe.status),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},q1(oe.duration_ms))),V.default.createElement("p",{className:"text-sm truncate",style:{color:n.textCell}},oe.input_preview||oe.input_prompt?.substring(0,50)),V.default.createElement("p",{className:"text-xs mt-1 flex items-center gap-2 flex-wrap",style:{color:n.textMuted}},oe.model&&V.default.createElement("span",{className:"px-1.5 py-0.5 rounded font-mono",style:{background:n.mutedBg,color:n.textSecondary}},oe.model),As(oe)&&V.default.createElement("span",{className:"font-mono"},"#",As(oe)),V.default.createElement("span",null,new Date(oe.created_at).toLocaleString()))))):V.default.createElement("div",{className:"px-4 py-8 text-center text-sm",style:{color:n.textMuted}},"No runs yet"))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Example Prompts"),V.default.createElement("div",{className:"space-y-2"},kue.map(oe=>V.default.createElement("button",{key:oe,type:"button","data-testid":"runner-example-prompt",onClick:()=>u(oe),className:"w-full text-left px-3 py-2 text-sm rounded-lg transition-colors hover:bg-black/5",style:{color:n.textCell,border:`1px solid ${n.cardBorder}`,background:"transparent",cursor:"pointer"}},oe))))))}var _e=te(ne()),Y1=e=>new Date(`${e}T00:00:00`),Tue=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function p_({onSelectAgent:e}){let[t,r]=(0,_e.useState)(null),[n,a]=(0,_e.useState)(!0),[o,i]=(0,_e.useState)(30);(0,_e.useEffect)(()=>{l()},[o]);let l=async()=>{a(!0);try{let p=await(await fetch(`/api/analytics?days=${o}`)).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 _e.default.createElement("div",{className:"flex items-center justify-center h-64"},_e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let 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 _e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",null,_e.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),_e.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),_e.default.createElement("select",{value:o,onChange:f=>i(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Tue.map(f=>_e.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},_e.default.createElement(rg,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),_e.default.createElement(rg,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),_e.default.createElement(rg,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),_e.default.createElement(rg,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),_e.default.createElement(rg,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${f.count/c*150}px`,minHeight:f.count>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},f.count," runs"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&Y1(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&Y1(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-purple-500 rounded-t transition-all hover:bg-purple-600",style:{height:`${f.tokens/d*150}px`,minHeight:f.tokens>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},s(f.tokens)," tokens"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&Y1(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&Y1(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},_e.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?_e.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>_e.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"},_e.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),_e.default.createElement("div",{className:"flex-1 min-w-0"},_e.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),_e.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),_e.default.createElement("div",{className:"text-right"},_e.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),_e.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):_e.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),_e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?_e.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let v=t?.summary?.total_runs||1,y=(p/v*100).toFixed(1);return _e.default.createElement("div",{key:f},_e.default.createElement("div",{className:"flex justify-between text-sm mb-1"},_e.default.createElement("span",{className:"capitalize text-gray-600"},f),_e.default.createElement("span",{className:"text-gray-900 font-medium"},p)),_e.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},_e.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${y}%`}})))})):_e.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),_e.default.createElement("div",{className:"space-y-4"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),_e.default.createElement("div",{className:"pt-2 border-t border-gray-100"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),_e.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function rg({title:e,value:t,subtitle:r,color:n}){return _e.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`},_e.default.createElement("p",{className:"text-sm text-gray-500"},e),_e.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&_e.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var Q=te(ne());function m_({agent:e,onBack:t}){let{timeWindow:r}=Qo(),[n,a]=(0,Q.useState)([]),[o,i]=(0,Q.useState)([]),[l,s]=(0,Q.useState)(null),[u,c]=(0,Q.useState)(null),[d,f]=(0,Q.useState)([]),[p,v]=(0,Q.useState)("run"),[y,h]=(0,Q.useState)(!1),[m,g]=(0,Q.useState)(!1),x=(0,Q.useRef)(!1),b=(0,Q.useRef)(!1),[S,w]=(0,Q.useState)("recent"),[O,k]=(0,Q.useState)({}),[A,M]=(0,Q.useState)(!0),[W,L]=(0,Q.useState)(1),[H,D]=(0,Q.useState)(!0),[Y,N]=(0,Q.useState)(""),[_,z]=(0,Q.useState)(""),[j,P]=(0,Q.useState)("recent"),B=(0,Q.useRef)(null),R=Ge(`/agents/${e.id}/interactions`);(0,Q.useEffect)(()=>{F()},[e.id,W,Y,_,j,r.minutes]),(0,Q.useEffect)(()=>{L(1)},[r.minutes]),(0,Q.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then($=>$.json()).then($=>i($.interactions||[])).catch(()=>{}).finally(()=>g(!0))},[e.id]),(0,Q.useEffect)(()=>{let $=()=>{let Ne=Xu(),E=Ne.match(/\/interactions\/runs\/(\d+)/),Z=Ne.match(/\/interactions\/sessions\/(\d+)/);if(E)v("run"),c(null),ee(parseInt(E[1],10),{updateUrl:!1});else if(Z)v("all"),c({id:parseInt(Z[1],10)});else if(Ne.endsWith("/interactions/sessions")||Ne.endsWith("/interactions/all"))Ne.endsWith("/all")&&window.history.replaceState({},"",Ne.replace(/\/all$/,"/sessions")),v("all"),c(null);else{x.current=!1,s(null),c(null),f([]);return}x.current=!0};return $(),window.addEventListener("popstate",$),()=>window.removeEventListener("popstate",$)},[e.id]),(0,Q.useEffect)(()=>{x.current||b.current||!y||!m||v(n.length===0&&o.length>0?"all":"run")},[y,m,n.length,o.length]);let F=async()=>{M(!0);try{let $=new URLSearchParams({page:W.toString(),per_page:"20",minutes:String(r.minutes)});Y&&$.append("status",Y),_&&$.append("source",_),j!=="recent"&&$.append("sort",j);let E=await(await fetch(`/api/agents/${e.id}/runs?${$}`)).json();a(W===1?E.runs:Z=>[...Z,...E.runs]),D(E.runs.length===20)}catch($){console.error("Failed to load runs:",$)}finally{M(!1),h(!0)}},G=$=>{window.location.pathname!==$&&window.history.pushState({},"",$)},ee=async($,{updateUrl:Ne=!0}={})=>{try{let Z=await(await fetch(`/api/runs/${$}`)).json();s(Z.run),f(Z.messages||[]),v("run"),c(null),Ne&&G(`${R}/runs/${$}`)}catch(E){console.error("Failed to load run details:",E)}},fe=$=>{if($.source==="reported"){let Ne=$.trace_id||String($.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Ge(`/traces/${Ne}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(`/traces/${Ne}`)}}));return}ee($.record_id||$.id)},de=()=>{s(null),c(null),f([]),v("run"),G(R)},De=$=>{v("all"),$?(c({id:$.id,name:$.display_name}),G(`${R}/sessions/${$.id}`)):(c(null),G(`${R}/sessions`))},le=$=>{b.current=!0,v($),G($==="all"?u?`${R}/sessions/${u.id}`:`${R}/sessions`:l?`${R}/runs/${l.id}`:R)},Te=u?u.name||o.find($=>$.id===u.id)?.display_name||`Session #${u.id}`:null,K=()=>{let $=new Map;n.forEach(Z=>{let ge=`${Z.model||"unknown"}|${Z.instructions_digest||"none"}`;$.has(ge)||$.set(ge,{key:ge,model:Z.model,instructionsDigest:Z.instructions_digest,instructionsVersion:Z.instructions_version,instructionsCodename:Z.instructions_codename,instructionsPreview:Z.instructions_preview,runs:[]}),$.get(ge).runs.push(Z)});let Ne=[...$.values()].map(Z=>({...Z,count:Z.runs.length,completed:Z.runs.filter(ge=>ge.status==="complete").length,failed:Z.runs.filter(ge=>ge.status==="failed").length,totalTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0),avgTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0)/Z.runs.length,avgDuration:Z.runs.reduce((ge,Le)=>ge+(Le.duration_ms||0),0)/Z.runs.length,latest:Z.runs[0],sortedRuns:[...Z.runs].sort((ge,Le)=>(Le.duration_ms||0)-(ge.duration_ms||0))}));Ne.sort((Z,ge)=>S==="longest"?ge.avgDuration-Z.avgDuration:new Date(ge.latest.created_at)-new Date(Z.latest.created_at));let E={runs:n.length,completed:n.filter(Z=>Z.status==="complete").length,tokens:n.reduce((Z,ge)=>Z+(ge.tokens||0),0),avgDuration:n.length?n.reduce((Z,ge)=>Z+(ge.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(Z=>Z.model).filter(Boolean))]};return{cohorts:Ne,totals:E}},I=$=>{switch($){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"}},C=$=>$?$<1e3?`${$}ms`:$<6e4?`${($/1e3).toFixed(1)}s`:`${Math.floor($/6e4)}m ${Math.floor($%6e4/1e3)}s`:"-",T=$=>$==null?"\u2014":$===0?"$0":$<.01?`$${$.toFixed(4)}`:`$${$.toFixed(2)}`,X=$=>{let Ne=new Date($),Z=new Date-Ne,ge=Math.floor(Z/6e4),Le=Math.floor(Z/36e5),nt=Math.floor(Z/864e5);return ge<1?"Just now":ge<60?`${ge}m ago`:Le<24?`${Le}h ago`:nt<7?`${nt}d ago`:Ne.toLocaleDateString()};return Q.default.createElement("div",{className:"flex h-full"},Q.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},Q.default.createElement("div",{className:"p-4 border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},Q.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},Q.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Q.default.createElement("div",null,Q.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),Q.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),Q.default.createElement("div",{className:"mb-2"},Q.default.createElement(Jo,{compact:!0})),Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1 mb-2 text-sm"},[{value:"",label:"All"},{value:"dashboard",label:"Dashboard"},{value:"reported",label:"Reported"}].map($=>Q.default.createElement("button",{key:$.value||"all",onClick:()=>{z($.value),L(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${_===$.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:$.value==="dashboard"?"Executions started from this dashboard":$.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},$.label))),Q.default.createElement("select",{value:Y,onChange:$=>{N($.target.value),L(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},Q.default.createElement("option",{value:""},"All statuses"),Q.default.createElement("option",{value:"complete"},"Completed"),Q.default.createElement("option",{value:"failed"},"Failed"),Q.default.createElement("option",{value:"running"},"Running"),Q.default.createElement("option",{value:"cancelled"},"Cancelled")),Q.default.createElement("select",{value:j,onChange:$=>{P($.target.value),L(1)},className:"w-full mt-2 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",title:"Rank these executions"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest running"),Q.default.createElement("option",{value:"cost"},"Highest cost"),Q.default.createElement("option",{value:"tokens"},"Most tokens"))),Q.default.createElement("div",{className:"flex-1 overflow-auto"},A&&n.length===0?Q.default.createElement("div",{className:"flex items-center justify-center h-32"},Q.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?Q.default.createElement(Q.default.Fragment,null,n.map($=>{let Ne=$.source==="reported";return Q.default.createElement("div",{key:$.id,onClick:()=>fe($),title:Ne?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!Ne&&l?.id===$.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},Q.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},Q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${I($.status)}`},$.status),Q.default.createElement("div",{className:"flex items-center gap-2"},Q.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${Ne?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},Ne?"reported":"dashboard"),Q.default.createElement("span",{className:"text-xs text-gray-400"},X($.created_at||$.occurred_at)))),Q.default.createElement("p",{className:"text-sm text-gray-700 truncate"},$.input_preview||$.input_prompt?.substring(0,60)||(Ne?`${$.action_name||"execution"} \xB7 trace ${String($.trace_id||"").slice(0,8)}`:"No input")),Q.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},$.model&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},$.model),Q.default.createElement("span",{className:j==="longest"?"text-gray-700 font-medium":void 0},C($.duration_ms)),!!$.tokens&&Q.default.createElement("span",{className:j==="tokens"?"text-gray-700 font-medium":void 0},$.tokens," tokens"),$.cost!=null&&Q.default.createElement("span",{className:j==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},T($.cost))))}),H&&Q.default.createElement("button",{onClick:()=>L($=>$+1),disabled:A,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},A?"Loading...":"Load More")):Q.default.createElement("div",{className:"p-8 text-center text-gray-400"},Q.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})),Q.default.createElement("p",null,"No conversations yet")))),Q.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},Q.default.createElement("div",{className:"px-4 py-2 bg-white border-b border-gray-100 flex items-center gap-1.5 text-xs text-gray-500"},Q.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:de,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:()=>De(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),Q.default.createElement("span",{className:"text-gray-900 font-medium"},Te)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),Q.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},Q.default.createElement("button",{onClick:()=>le("run"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="run"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Selected run"),Q.default.createElement("button",{onClick:()=>le("all"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="all"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Sessions")),p==="run"&&l&&Q.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${I(l.status)}`},l.status)),p==="all"?Q.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:$}=K();return Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),Q.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Te} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs)),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs?Math.round($.completed/$.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},C(Math.round($.avgDuration)))),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.tokens.toLocaleString()))))})(),Q.default.createElement(rl,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:De})):l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),Q.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),Q.default.createElement("div",{ref:B,className:"flex-1 overflow-auto p-6"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?Q.default.createElement(so,{messages:d,darkMode:!1}):Q.default.createElement(so,{darkMode:!1,messages:[{id:`run-${l.id}-input`,role:"user",content:l.input_prompt||l.input_preview,created_at:l.created_at},{id:`run-${l.id}-output`,role:"assistant",content:l.error_message||l.output||l.output_preview||"No response",created_at:l.completed_at||l.created_at}]}))),Q.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},Q.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},Q.default.createElement("span",null,"Duration: ",C(l.duration_ms)),l.total_tokens&&Q.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&Q.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&Q.default.createElement("a",{href:Ge(`/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:$,totals:Ne}=K();return $.length===0?Q.default.createElement("div",{className:"flex-1 flex items-center justify-center"},Q.default.createElement("div",{className:"text-center text-gray-400"},Q.default.createElement(mr,{size:100}),Q.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):Q.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),Q.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs)),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs?Math.round(Ne.completed/Ne.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},C(Math.round(Ne.avgDuration)))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.tokens.toLocaleString()))),Ne.models.length>0&&Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},Q.default.createElement("span",{className:"text-gray-500"},"Models used:"),Ne.models.map(E=>Q.default.createElement("span",{key:E,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},E))),o.length>0&&Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),Q.default.createElement("div",{className:"divide-y divide-gray-100"},o.map(E=>Q.default.createElement("div",{key:E.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>De(E),title:"Open this session's interaction stream"},Q.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:E.display_name},Q.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),Q.default.createElement("span",{className:"text-sm text-gray-900 truncate"},E.agent?.name||E.agent_name),E.action_name&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",E.action_name)),Q.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},Q.default.createElement("span",null,E.message_count," messages"),Q.default.createElement("span",null,(E.tokens?.total||0).toLocaleString()," tokens"),Q.default.createElement("span",null,X(E.last_activity_at))))))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),Q.default.createElement("select",{value:S,onChange:E=>w(E.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest interactions"))),Q.default.createElement("div",{className:"divide-y divide-gray-100"},$.map(E=>Q.default.createElement("div",{key:E.key},Q.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>k(Z=>({...Z,[E.key]:!Z[E.key]})),title:"Show this configuration's runs"},Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},E.model||"unknown model"),Q.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:E.instructionsDigest?`sha:${E.instructionsDigest}`:void 0},"instructions"," ",E.instructionsDigest?[E.instructionsVersion,E.instructionsCodename||E.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),E.instructionsPreview&&Q.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},E.instructionsPreview),Q.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},Q.default.createElement("span",null,E.count," run",E.count>1?"s":""),Q.default.createElement("span",{className:E.failed>0?"text-red-500":"text-green-600"},E.count?Math.round(E.completed/E.count*100):0,"% success"),Q.default.createElement("span",null,"avg ",C(Math.round(E.avgDuration))),Q.default.createElement("span",null,"avg ",Math.round(E.avgTokens).toLocaleString()," tokens"),Q.default.createElement("span",null,"last ",X(E.latest.created_at)))),O[E.key]&&Q.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},E.sortedRuns.map(Z=>Q.default.createElement("div",{key:Z.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>ee(Z.id),title:"Open this run's interaction"},Q.default.createElement("p",{className:"text-xs text-gray-700 truncate"},Z.input_preview||"No input"),Q.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},Q.default.createElement("span",{className:Z.status==="failed"?"text-red-500":""},Z.status),Q.default.createElement("span",null,C(Z.duration_ms)),Z.tokens&&Q.default.createElement("span",null,Z.tokens.toLocaleString()," tokens"),Q.default.createElement("span",null,X(Z.created_at)))))))))))})()))}var ze=te(ne());var Mue={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function v_({onUseTemplate:e,onClose:t}){let[r,n]=(0,ze.useState)([]),[a,o]=(0,ze.useState)([]),[i,l]=(0,ze.useState)(""),[s,u]=(0,ze.useState)(null),[c,d]=(0,ze.useState)(!0),[f,p]=(0,ze.useState)(!1),[v,y]=(0,ze.useState)(null);(0,ze.useEffect)(()=>{h()},[i]);let h=async()=>{d(!0);try{let g=new URLSearchParams;i&&g.append("category",i);let b=await(await fetch(`/api/templates?${g}`)).json();n(b.templates),o(b.categories)}catch(g){console.error("Failed to load templates:",g)}finally{d(!1)}},m=async g=>{p(!0),y(null);try{let x=await fetch(`/api/templates/${g.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:g.name})});if(x.ok){let b=await x.json();e(b.agent)}else{let b=`Could not create the agent (HTTP ${x.status})`;try{let S=await x.json(),w=S.errors||S.error;w&&(b=Array.isArray(w)?w.join(", "):String(w))}catch{}y(b)}}catch(x){console.error("Failed to create agent from template:",x),y("Could not create the agent \u2014 check your connection and try again.")}finally{p(!1)}};return ze.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},ze.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},ze.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},ze.default.createElement("div",null,ze.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),ze.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),ze.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},ze.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ze.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),ze.default.createElement("div",{className:"flex-1 flex overflow-hidden"},ze.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},ze.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),ze.default.createElement("div",{className:"space-y-1"},ze.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${i?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),a.map(g=>ze.default.createElement("button",{key:g,onClick:()=>l(g),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${i===g?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},ze.default.createElement("span",null,Mue[g]||"\u{1F4E6}"),ze.default.createElement("span",{className:"capitalize"},g))))),ze.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?ze.default.createElement("div",{className:"flex items-center justify-center h-full"},ze.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?ze.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(g=>ze.default.createElement("div",{key:g.id,onClick:()=>u(g),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===g.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},ze.default.createElement("div",{className:"flex items-start space-x-3"},ze.default.createElement("div",{className:"flex-shrink-0"},ze.default.createElement(mr,{size:60})),ze.default.createElement("div",{className:"flex-1 min-w-0"},ze.default.createElement("div",{className:"flex items-center space-x-2"},ze.default.createElement("span",{className:"text-lg"},g.icon),ze.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},g.name)),ze.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},g.description),ze.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},g.category),g.featured&&ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):ze.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&ze.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},ze.default.createElement("div",{className:"flex justify-center mb-4"},ze.default.createElement(mr,{size:120})),ze.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),ze.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),ze.default.createElement("div",{className:"mt-6 space-y-4"},ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),ze.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(g=>ze.default.createElement("span",{key:g,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},g)))),ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),ze.default.createElement("button",{onClick:()=>m(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"),v&&ze.default.createElement("p",{className:"mt-2 text-sm text-red-600",role:"alert"},v)))))}var je=te(ne());function g_({currentView:e,onNavigate:t,agentCount:r,account:n,user:a,gemVersion:o,assistantEnabled:i=!0}){let{darkMode:l}=kt(),[s,u]=(0,je.useState)(!1),c=(0,je.useRef)(null);(0,je.useEffect)(()=>{function m(g){c.current&&!c.current.contains(g.target)&&u(!1)}return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[]);let d=n?.name||"My Workspace",f=a?.name||a?.email?.split("@")[0]||"User",p=[...i?[{id:"assistant",label:"Ask ActiveAgents",icon:">"}]:[],{id:"list",label:"Agents",icon:Ut.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Ut.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Ut.nav.demo,highlight:!0}],v=[{id:"traces",label:"Traces",icon:Ut.nav.traces},{id:"interactions",label:"Interactions",icon:Ut.nav.interactions},{id:"tools",label:"Tools",icon:Ut.nav.tools},{id:"mcp",label:"MCP Services",icon:Ut.nav.mcp},{id:"metrics",label:"Metrics",icon:Ut.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Ut.nav.evaluations},{id:"replay",label:"Session Replay",icon:Ut.nav.replay}],y=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:m})=>je.default.createElement("button",{onClick:()=>t(m.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${m.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===m.id?l?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===m.id?"#ef4444":l?"#d1d5db":"#374151"},onMouseEnter:g=>{e!==m.id&&(g.currentTarget.style.backgroundColor=l?"#252525":"#f3f4f6")},onMouseLeave:g=>{e!==m.id&&(g.currentTarget.style.backgroundColor="transparent")}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},m.icon),je.default.createElement("span",{className:"font-medium"},m.label)),m.badge!==void 0&&je.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===m.id?"#fee2e2":l?"#2a2a2a":"#f3f4f6",color:e===m.id?"#ef4444":l?"#d1d5db":"#4b5563"}},m.badge));return je.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:l?"#2a2a2a":"#e5e7eb"},ref:c},je.default.createElement("button",{onClick:()=>u(!s),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:s?l?"#252525":"#f3f4f6":"transparent"}},je.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},je.default.createElement(mr,{size:28}),je.default.createElement("span",{className:`font-semibold truncate ${l?"text-white":"text-gray-900"}`},d)),je.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${s?"rotate-180":""}`,style:{color:l?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),s&&je.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement(mr,{size:32}),je.default.createElement("div",{className:"min-w-0"},je.default.createElement("div",{className:`font-medium truncate ${l?"text-white":"text-gray-900"}`},d)))),je.default.createElement("div",{className:"py-1"},je.default.createElement("button",{onClick:()=>{t("settings"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"}),je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),je.default.createElement("span",null,"Settings")),je.default.createElement("button",{onClick:()=>{t("organization"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"})),je.default.createElement("span",null,"Organization"))),je.default.createElement("div",{className:"border-t py-1",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${l?"text-gray-300":"text-gray-700"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"})),je.default.createElement("span",{className:"text-sm"},f))))),je.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},je.default.createElement("div",{className:"space-y-1"},p.map(m=>je.default.createElement(h,{key:m.id,item:m}))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Observability")),je.default.createElement("div",{className:"space-y-1"},v.map(m=>je.default.createElement(h,{key:m.id,item:m})))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Workspace")),je.default.createElement("div",{className:"space-y-1"},y.map(m=>je.default.createElement(h,{key:m.id,item:m}))))),je.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${l?"text-gray-500":"text-gray-400"}`},"Resources"),je.default.createElement("div",{className:"space-y-2"},je.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.docs),je.default.createElement("span",null,"Documentation")),je.default.createElement("a",{href:"https://github.com/activeagents/activeagent",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.github),je.default.createElement("span",null,"GitHub")))),je.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs ${l?"text-gray-500":"text-gray-400"}`},"Active Agent ",o?`v${o}`:"")))}var xt=te(ne());function y_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,xt.useState)(!1),i=(0,xt.useRef)(null);(0,xt.useEffect)(()=>{function d(f){i.current&&!i.current.contains(f.target)&&o(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);let l=window.ACTIVE_AGENT_DASHBOARD?.meta?.signOutPath,s=()=>{if(!l)return;let d=document.querySelector('meta[name="csrf-token"]')?.content,f=document.createElement("form");f.method="POST",f.action=l;let p=document.createElement("input");p.type="hidden",p.name="_method",p.value="delete",f.appendChild(p);let v=document.createElement("input");v.type="hidden",v.name="authenticity_token",v.value=d,f.appendChild(v),document.body.appendChild(f),f.submit()},u=e?.name||e?.email?.split("@")[0]||"User",c=u.charAt(0).toUpperCase();return xt.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-4"}),xt.default.createElement("div",{className:"flex items-center space-x-4"},xt.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?xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.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"})):xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),xt.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},xt.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),xt.default.createElement("span",null,"Connected")),xt.default.createElement("div",{className:"relative",ref:i},xt.default.createElement("button",{onClick:()=>o(!a),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:a?r?"#252525":"#f3f4f6":"transparent"}},xt.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium text-sm"},c))),a&&xt.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"}},xt.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-3"},xt.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium"},c)),xt.default.createElement("div",null,xt.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},u),xt.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),l&&xt.default.createElement("div",{className:"py-1"},xt.default.createElement("button",{onClick:s,className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${r?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},xt.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xt.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"})),xt.default.createElement("span",null,"Sign out")))))))}var Ae=te(ne());var $e=te(ne());var h_=150,Pue=e=>e.reduce((t,r)=>t+(Number(r)||0),0),Due=e=>e.length?Pue(e)/e.length:0,Oo=e=>e.reduce((t,r)=>r!=null&&Number(r)>t?Number(r):t,0),x_=e=>{if(!(e>0))return 1;let t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=2.5?2.5:r<=5?5:10)*t},tc=(e,t)=>[0,25,50,75,100].map(r=>({top:r,label:t(e*(1-r/100))})),Iue=4,Kf=e=>Math.max(Iue,x_(e)),z$=(e,t=2,r=6)=>{let n=e/4;for(let a=t;aMath.abs(n*i-Number((n*i).toFixed(a)))<=n*.1))return a;return r},jue=5.5,zue=12,Lue=(e,t)=>{let r=!!e.flip;if(!(t>0))return r;let n=String(e.label||"").length*jue+zue,a=Number(e.left)/100*t,o=t-a;return r?!(aa):oo},Bue=typeof window>"u"?$e.useEffect:$e.useLayoutEffect,$ue=e=>{let[t,r]=(0,$e.useState)(0);return Bue(()=>{let n=e.current;if(!n)return;let a=()=>r(n.clientWidth);if(a(),typeof ResizeObserver>"u")return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a);let o=new ResizeObserver(a);return o.observe(n),()=>o.disconnect()},[e]),t},rc=(e,t)=>{let r=e.length,n=[];return e.forEach((a,o)=>{if(a==null||Number.isNaN(Number(a)))return;let i=r>1?o/(r-1)*100:50,l=100-Math.min(100,Math.max(0,Number(a)/t*100));n.push(`${i.toFixed(2)},${l.toFixed(2)}`)}),n.join(" ")},G1=(e,t)=>{let r=rc(e,t);return r?`0,100 ${r} 100,100`:""},L$=(e,t=24)=>{let r=e.length;if(!r)return"";let n=r/t,a=Array.from({length:t},(l,s)=>{let u=Math.floor(s*n),c=Math.max(u+1,Math.floor((s+1)*n));return Due(e.slice(u,c).filter(d=>d!=null))}),o=Math.max(...a),i=Math.min(...a);return a.map((l,s)=>`${(s/(t-1)*100).toFixed(1)},${(26-(o===i?.5:(l-i)/(o-i))*24).toFixed(1)}`).join(" ")},ng=(e,t,r)=>{let n=e.length?e[0].data.length:0;return Array.from({length:n},(a,o)=>({title:r(o),segs:e.map(i=>({h:(Number(i.data[o])||0)/t*100,color:i.color}))}))};function B$({label:e,value:t,unit:r,sub:n,delta:a,deltaColor:o,deltaSub:i,spark:l,sparkColor:s}){return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},$e.default.createElement(rt,{size:11,spacing:"0.05em"},e),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:o,whiteSpace:"nowrap"}},a)),$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6}},$e.default.createElement("span",{style:{fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},t),r?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},r):null),$e.default.createElement("div",{title:n,style:{fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},n),$e.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:8,marginTop:2}},$e.default.createElement("svg",{viewBox:"0 0 100 28",preserveAspectRatio:"none","aria-hidden":"true",style:{flex:1,height:28,minWidth:0,display:"block",overflow:"visible"}},$e.default.createElement("polyline",{points:l,fill:"none",stroke:s,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),$e.default.createElement("span",{style:{fontSize:10,color:"var(--color-text-muted)",whiteSpace:"nowrap"}},i)))}function $$({title:e,sub:t,value:r,valueColor:n="var(--color-text-primary)",legend:a=[],ticks:o=[],buckets:i=[],lines:l=[],areas:s=[],markers:u=[],xLabels:c=[],height:d=h_}){let f=(0,$e.useRef)(null),p=$ue(f),v="1px dashed var(--color-text-secondary)";return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{minWidth:0,display:"flex",flexDirection:"column",gap:8}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap"}},$e.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},e),$e.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},t),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:12,fontWeight:600,color:n,whiteSpace:"nowrap"}},r)),$e.default.createElement("div",{style:{display:"flex",gap:12,flexWrap:"wrap"}},a.map(y=>$e.default.createElement("span",{key:y.label,style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:ye,fontSize:10,color:"var(--color-text-secondary)"}},$e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:y.color,flexShrink:0}}),y.label))),$e.default.createElement("div",{ref:f,style:{position:"relative",height:d,margin:"6px 0 0 40px"}},o.map(y=>$e.default.createElement("div",{key:y.top,style:{position:"absolute",left:0,right:0,top:`${y.top}%`,borderTop:"1px solid var(--color-border-light)"}},$e.default.createElement("span",{style:{position:"absolute",right:"calc(100% + 6px)",top:-6,whiteSpace:"nowrap",fontFamily:ye,fontSize:10,lineHeight:"12px",color:"var(--color-text-muted)"}},y.label))),i.length>0&&$e.default.createElement("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"stretch",gap:1}},i.map((y,h)=>$e.default.createElement("div",{key:h,title:y.title,style:{flex:1,minWidth:0,display:"flex",flexDirection:"column-reverse"}},y.segs.map((m,g)=>$e.default.createElement("div",{key:g,style:{height:`${m.h.toFixed(2)}%`,background:m.color,flexShrink:0}}))))),(l.length>0||s.length>0)&&$e.default.createElement("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"}},s.map((y,h)=>$e.default.createElement("polygon",{key:h,points:y.points,fill:y.color,opacity:"0.16"})),l.map((y,h)=>$e.default.createElement("polyline",{key:h,points:y.points,fill:"none",stroke:y.color,strokeWidth:y.width||1.5,strokeLinejoin:"round",strokeLinecap:"round",vectorEffect:"non-scaling-stroke"}))),u.map((y,h)=>{let m=Lue(y,p),g=`${Number(y.left).toFixed(2)}%`;return $e.default.createElement("div",{key:h,style:{position:"absolute",top:0,bottom:0,pointerEvents:"none",...m?{left:0,width:g,borderRight:v}:{left:g,right:0,borderLeft:v}}},$e.default.createElement("span",{style:{position:"absolute",top:-4,[m?"right":"left"]:4,maxWidth:"calc(100% - 8px)",boxSizing:"border-box",overflow:"hidden",textOverflow:"ellipsis",fontFamily:ye,fontSize:9,lineHeight:"12px",color:"var(--color-text-secondary)",whiteSpace:"nowrap",background:"var(--color-card)",padding:"0 4px",borderRadius:3}},y.label))})),$e.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginLeft:40,fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},c.map((y,h)=>$e.default.createElement("span",{key:h},y))))}function qf({label:e,qualifier:t,meta:r,children:n}){return $e.default.createElement(yr,{padding:0,style:{overflow:"hidden"}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,padding:"10px 14px",borderBottom:"1px solid var(--color-border-light)"}},$e.default.createElement(rt,null,e),t?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t):null,r?$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},r):null),n)}function b_({template:e,columns:t}){return $e.default.createElement("div",{style:{display:"grid",gridTemplateColumns:e,gap:8,padding:"6px 14px 4px",fontFamily:ye,fontSize:10,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--color-text-muted)"}},$e.default.createElement("span",null),t.map(r=>$e.default.createElement("span",{key:r,style:{textAlign:"right"}},r)))}function X1({template:e,active:t=!1,onClick:r,title:n,padding:a="8px 14px",children:o}){let i=typeof r=="function";return $e.default.createElement("div",{role:i?"button":void 0,tabIndex:i?0:void 0,"aria-pressed":i?t:void 0,onClick:r,onKeyDown:i?s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),r(s))}:void 0,title:n,className:i?"hover:bg-[var(--color-hover)]":void 0,style:{display:"grid",gridTemplateColumns:e,gap:8,alignItems:"center",padding:a,borderTop:"1px solid var(--color-border-light)",cursor:i?"pointer":"default",background:t?"var(--color-muted)":void 0}},o)}function w_({children:e,padding:t="8px 14px"}){return $e.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:t,borderTop:"1px solid var(--color-border-light)"}},e)}function ag({children:e}){return $e.default.createElement("div",{style:{padding:"12px 14px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},e)}function S_({color:e}){return $e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:e,flexShrink:0}})}function A_({pct:e,color:t}){return $e.default.createElement("div",{style:{marginTop:5,height:3,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},$e.default.createElement("div",{style:{width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function k_({pct:e,color:t,width:r=70}){return $e.default.createElement("span",{style:{width:r,height:4,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0,display:"inline-block"}},$e.default.createElement("span",{style:{display:"block",width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function co({children:e,color:t="var(--color-text-primary)",weight:r=400,width:n,style:a}){return $e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:r,textAlign:"right",color:t,width:n,...a}},e)}var H$=6e4,Uue=1180,Gf={"1h":{n:60,seconds:60,bucket:"1 min",prev:"vs previous hour",title:"last hour"},"24h":{n:96,seconds:900,bucket:"15 min",prev:"vs previous 24h",title:"last 24 hours"},"7d":{n:84,seconds:7200,bucket:"2 h",prev:"vs previous 7 days",title:"last 7 days"}},Fue=Object.keys(Gf).map(e=>({value:e,label:e})),C_="24h",Yf=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-5)","var(--chart-4)"],og=[{type:"429 rate limit",short:"429",color:"var(--color-error)"},{type:"timeout",short:"timeout",color:"var(--color-warning)"},{type:"tool error",short:"tool error",color:"var(--span-tool)"},{type:"provider 5xx",short:"5xx",color:"var(--color-token-out)"},{type:"other",short:"error",color:"var(--color-text-muted)"}],U$=e=>og.find(t=>t.type===e)?.color||"var(--color-text-muted)",Wue=3,Q1="var(--color-text-primary)",Hue={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},Vue=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],N_=e=>String(e).padStart(2,"0"),Xe=e=>e==null||Number.isNaN(Number(e))?0:Number(e),Kue=e=>e.reduce((t,r)=>t+Xe(r),0),F$=e=>`${Xe(e).toFixed(1)}%`,Z1=(e,t)=>`${e} ${t}${e===1?"":"s"}`,que=e=>e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`,Yue=(e,t)=>{let r=Array.isArray(e)?[...e]:[];return t.forEach(n=>{n.name&&!r.some(a=>a.name===n.name)&&r.push(n)}),r},Gue=e=>{let t=String(e.label||"incident"),r=og.find(n=>t.startsWith(n.type));return r&&(t=`${r.short}${t.slice(r.type.length)}`),e.agent&&!t.includes(e.agent)?`${t} \xB7 ${e.agent}`:t},Xue=e=>{let t=Xe(e);return t<60?`${t}s`:t<3600?`${+(t/60).toFixed(1)} min`:`${+(t/3600).toFixed(1)} h`},W$=async e=>{let t=await fetch(`/api/metrics?${e.toString()}`);if(!t.ok)throw new Error(`Request failed (${t.status})`);return t.json()},Zue=(e,t,r=Date.now())=>{let n=Math.max(1,Xe(t))*1e3,a=Math.max(1,Math.round(Xe(e)*6e4/n)),o=Math.floor(r/n)*n;return Array.from({length:a},(i,l)=>({ts:new Date(o-(a-1-l)*n).toISOString()}))},Que=(e,t)=>{let r=e.summary||{},n=Gf[e.range]||Gf[t]||Gf[C_],a=Xe(e.bucket_seconds)||n.seconds,o=Xe(e.window_minutes)||(e.window_hours?Xe(e.window_hours)*60:n.n*n.seconds/60),i=Array.isArray(e.series)?e.series:Zue(o,a),l=Xe(e.totals?.requests??r.total_requests),s=Xe(e.totals?.cost??r.total_cost),u={requests:l,requests_per_minute:o?l/o:0,p50_ms:null,p95_ms:null,p99_ms:null,errors:Xe(r.errors),error_rate:Xe(r.error_rate),tokens_in:Xe(r.tokens_input),tokens_out:Xe(r.tokens_output),tokens:Xe(r.tokens_used),cost:s,cost_per_request:l?s/l:0,tool_calls:0,tool_errors:0,tool_error_rate:0,...e.totals||{}},c={requests_pct:r.requests_change??null,p50_pct:r.latency_change??null,error_rate_pt:null,tokens_pct:null,cost_pct:null,...e.deltas||{}},d=Array.isArray(e.agents)?e.agents:(e.by_agent||[]).map(p=>({name:p.name,requests:Xe(p.requests),share_pct:l?Xe(p.requests)/l*100:0,p95_ms:null,error_rate:p.requests?Xe(p.errors)/Xe(p.requests)*100:0,cost:Xe(p.cost),tokens:Xe(p.tokens)})),f=Array.isArray(e.errors_by_type)&&e.errors_by_type.length?e.errors_by_type:og.map(p=>({type:p.type,count:0}));return{range:e.range||t,bucketSeconds:a,windowMinutes:o,agent:e.agent||null,environment:e.environment||null,totals:u,deltas:c,series:i,agents:d,models:Array.isArray(e.models)?e.models:[],actions:Array.isArray(e.actions)?e.actions:[],tools:Array.isArray(e.tools)?e.tools:[],errorsByType:f,markers:Array.isArray(e.markers)?e.markers:[]}},V$=e=>{let t=Gf[e.range];if(t)return t;let r=Math.max(1,Math.round(e.windowMinutes/60));return{bucket:Xue(e.bucketSeconds),prev:`vs previous ${r}h`,title:`last ${r} hours`}},Jue=e=>{let[t,r]=(0,Ae.useState)(()=>typeof window<"u"&&window.innerWidth{let n=window.matchMedia(`(max-width: ${e-1}px)`),a=()=>r(n.matches);return a(),n.addEventListener("change",a),()=>n.removeEventListener("change",a)},[e]),t};function E_(){let[e,t]=(0,Ae.useState)(C_),[r,n]=(0,Ae.useState)(""),[a,o]=(0,Ae.useState)(null),[i,l]=(0,Ae.useState)(!0),[s,u]=(0,Ae.useState)(null),[c,d]=(0,Ae.useState)(!1),f=(0,Ae.useRef)(0),p=Jue(Uue),v=(0,Ae.useRef)(null),y=(0,Ae.useCallback)(async()=>{let S=++f.current;try{let w=new URLSearchParams({range:e});r&&w.set("agent",r);let[O,k]=await Promise.all([W$(w),r?W$(new URLSearchParams({range:e})).catch(()=>null):null]);if(S!==f.current)return;let A=r?k?.agents:O.agents;Array.isArray(A)&&(v.current=A),o({data:O,ranking:Array.isArray(A)?A:v.current}),u(null)}catch(w){if(S!==f.current)return;u(w.message)}finally{S===f.current&&l(!1)}},[e,r]);(0,Ae.useEffect)(()=>{let S=!1;d(!0),y().finally(()=>{S||d(!1)});let w=setInterval(y,H$);return()=>{S=!0,clearInterval(w)}},[y]);let h=(0,Ae.useMemo)(()=>a?Que(a.data,e):null,[a,e]),m=(0,Ae.useMemo)(()=>h?h.agent?Yue(a.ranking,h.agents):h.agents:[],[h,a]),g=(0,Ae.useMemo)(()=>m.map(S=>S.name).filter(Boolean),[m]),x=(0,Ae.useMemo)(()=>{let S=Object.fromEntries(g.map((O,k)=>[O,Yf[k%Yf.length]])),w=g.length;return(h?h.agents:[]).forEach(O=>{O.name&&!S[O.name]&&(S[O.name]=Yf[w++%Yf.length])}),O=>S[O]||Yf[0]},[g,h]),b=(0,Ae.useMemo)(()=>h?ece(h,x):null,[h,x]);return i?Ae.default.createElement("div",{className:"flex items-center justify-center h-64"},Ae.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):s||!h?Ae.default.createElement("div",null,Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:Q1}},"Metrics"),Ae.default.createElement("div",{style:{marginTop:16,padding:"12px 16px",background:"var(--color-error-soft)",borderRadius:8,color:"var(--color-error-text)",fontSize:14}},"Failed to load metrics",s?`: ${s}`:"")):Ae.default.createElement(Rue,{m:h,view:b,railAgents:m,range:Gf[e]?e:C_,agent:r,agentOptions:r&&!g.includes(r)?[...g,r]:g,colorFor:x,narrow:p,pending:c,onRange:t,onAgent:n})}function Rue({m:e,view:t,railAgents:r=e.agents,range:n,agent:a,agentOptions:o,colorFor:i,narrow:l,pending:s=!1,onRange:u,onAgent:c}){let d=V$(e),f=e.totals.requests===0,p=v=>c(a===v?"":v);return Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:1600,boxSizing:"border-box",color:Q1,fontSize:13}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},Ae.default.createElement("div",{style:{flex:1,minWidth:240}},Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em"}},"Metrics"),Ae.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)"}},"Requests, latency, errors, tokens and cost across every agent \u2014 ",d.title,a?` \xB7 ${a}`:"")),Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ae.default.createElement("select",{value:a,onChange:v=>c(v.target.value),"aria-label":"Filter by agent",style:{padding:"6px 10px",borderRadius:8,fontSize:13,fontFamily:"inherit",border:"1px solid var(--color-border-strong)",background:"var(--color-card)",color:Q1,cursor:"pointer"}},Ae.default.createElement("option",{value:""},"All agents"),o.map(v=>Ae.default.createElement("option",{key:v,value:v},v))),e.environment&&Ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,color:"var(--color-text-cell)",background:"var(--color-card)"}},Ae.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"env"),e.environment),Ae.default.createElement(j1,{options:Fue,value:n,onChange:u}),Ae.default.createElement("span",{title:s?"loading\u2026":`refreshes every ${H$/1e3}s`,style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Ae.default.createElement("span",{style:{width:7,height:7,borderRadius:"50%",background:s?"var(--color-text-muted)":"var(--color-success)"}}),"live \xB7 ",d.bucket," buckets"))),f?Ae.default.createElement(yr,{style:{padding:"40px 24px",textAlign:"center",fontSize:14,color:"var(--color-text-secondary)"}},"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace",Ae.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},a||"all agents"," \xB7 ",d.title)):Ae.default.createElement(Ae.default.Fragment,null,Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:12,opacity:s?.6:1}},t.signals.map(v=>Ae.default.createElement(B$,{key:v.label,...v,deltaSub:d.prev}))),Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:l?"minmax(0, 1fr)":"minmax(0, 2.3fr) minmax(300px, 1fr)",gap:16,alignItems:"start",opacity:s?.6:1}},Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:16,minWidth:0}},t.panels.map(v=>Ae.default.createElement($$,{key:v.title,...v,xLabels:t.xLabels,height:h_}))),Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0}},Ae.default.createElement(qf,{label:"Agents",qualifier:"by requests \xB7 click to filter"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 44px 40px 52px",columns:["req","p95","err","cost"]}),r.length===0&&Ae.default.createElement(ag,null,"no agents in this window"),r.map(v=>Ae.default.createElement(X1,{key:v.name,template:"minmax(0, 1fr) 44px 44px 40px 52px",active:a===v.name,onClick:()=>p(v.name),title:a===v.name?"Show all agents":`Filter to ${v.name}`},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0}},Ae.default.createElement(S_,{color:i(v.name)}),Ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.name)),Ae.default.createElement(A_,{pct:v.share_pct,color:i(v.name)})),Ae.default.createElement(co,null,hr(v.requests)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(v.p95_ms)),Ae.default.createElement(co,{color:Xe(v.error_rate)>=1.5?"var(--color-error-text)":"var(--color-text-secondary)"},F$(v.error_rate)),Ae.default.createElement(co,null,Zv(v.cost))))),Ae.default.createElement(qf,{label:"Models",qualifier:"by tokens"},e.models.length===0&&Ae.default.createElement(ag,null,"no model usage in this window"),e.models.map((v,y)=>Ae.default.createElement(X1,{key:`${v.model}-${v.provider}-${y}`,template:"minmax(0, 1fr) 52px 56px"},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,minWidth:0}},Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.model||"unknown"),v.provider&&Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},v.provider)),Ae.default.createElement(A_,{pct:v.share_pct,color:"var(--color-token-in)"})),Ae.default.createElement(co,null,hr(v.tokens)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Zv(v.cost))))),Ae.default.createElement(qf,{label:"Slowest actions",qualifier:"p95"},e.actions.length===0&&Ae.default.createElement(ag,null,"no actions in this window"),e.actions.map(v=>Ae.default.createElement(w_,{key:v.name},Ae.default.createElement("span",{title:v.name,style:{flex:1,minWidth:0,fontFamily:ye,fontSize:11,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.name),Ae.default.createElement(k_,{pct:t.slowestP95?Xe(v.p95_ms)/t.slowestP95*100:0,color:i(v.agent)}),Ae.default.createElement(co,{weight:600,width:40},Qr(v.p95_ms))))),Ae.default.createElement(qf,{label:"Tools",qualifier:"by calls"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 48px 40px",columns:["calls","avg","err"]}),e.tools.length===0&&Ae.default.createElement(ag,null,"no tool calls in this window"),e.tools.map(v=>Ae.default.createElement(X1,{key:v.name,template:"minmax(0, 1fr) 44px 48px 40px",padding:"7px 14px"},Ae.default.createElement("span",{title:v.name,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--span-tool)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.name),Ae.default.createElement(co,null,hr(v.calls)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(v.avg_ms)),Ae.default.createElement(co,{color:Xe(v.error_rate)>=2?"var(--color-error-text)":"var(--color-text-secondary)"},F$(v.error_rate))))),Ae.default.createElement(qf,{label:"Errors by type",meta:`${Math.round(e.totals.errors)} total`},e.errorsByType.map(v=>Ae.default.createElement(w_,{key:v.type},Ae.default.createElement(S_,{color:U$(v.type)}),Ae.default.createElement("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--color-text-cell)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.type),Ae.default.createElement(k_,{pct:t.errorTotal?Xe(v.count)/t.errorTotal*100:0,color:U$(v.type)}),Ae.default.createElement(co,{weight:600,width:32},Math.round(Xe(v.count))))))))))}function ece(e,t){let{series:r,totals:n,deltas:a}=e,o=r.length,i=V$(e),l=r.map(E=>new Date(E.ts)),s=e.windowMinutes>=2880,u=E=>Number.isNaN(E.getTime())?"":s?`${Vue[E.getDay()]} ${N_(E.getHours())}h`:`${N_(E.getHours())}:${N_(E.getMinutes())}`,c=o?[0,1,2,3,4,5,6].map(E=>E===6?"now":u(l[Math.round(E*(o-1)/6)])):[],d=E=>r.map(Z=>Xe(Z[E])),f=d("requests"),p=d("errors"),v=d("tokens_in"),y=d("tokens_out"),h=d("cost"),m=d("tool_calls"),g=d("tool_errors"),x=E=>r.map(Z=>Z[E]==null?null:Xe(Z[E])),b=x("p50_ms"),S=x("p95_ms"),w=x("p99_ms"),O=r.map(E=>E.requests_by_agent||{}),k=e.agents.map(E=>E.name).filter(Boolean);O.forEach(E=>Object.keys(E).forEach(Z=>{k.includes(Z)||k.push(Z)}));let A=k.length?k.map(E=>({label:E,color:t(E),data:O.map(Z=>Xe(Z[E]))})):[{label:"requests",color:Yf[0],data:f}],M=og.map(E=>({label:E.type,color:E.color,data:r.map(Z=>Xe((Z.errors_by_type||{})[E.type]))})),W=(Xe(e.bucketSeconds)||(o>1?(l[1]-l[0])/1e3:0))*1e3,L=(E,Z)=>{if(!E||o<2||!W)return null;let ge=new Date(E.ts).getTime();if(Number.isNaN(ge))return null;let nt=Math.min(o-1,Math.max(0,Math.floor((ge-l[0].getTime())/W)))/(o-1);return{left:nt*100,label:Z,flip:nt>.55}},H=e.markers.filter(E=>E.kind==="deploy").sort((E,Z)=>new Date(E.ts)-new Date(Z.ts)).slice(-Wue).map(E=>L(E,E.label)).filter(Boolean),D=e.markers.find(E=>E.kind==="incident"),Y=D?L(D,Gue(D)):null,N=Y?[Y]:[],_=Kf(Oo(f)*1.1),z=Kf(Oo(p)*1.15),j=Kf(Math.max(Oo(w),Oo(S),Oo(b))*1.05),P=Kf(Math.max(Oo(v),Oo(y))*1.1),B=x_(Oo(h)*1.1),R=z$(B),F=Kf(Oo(m)*1.1),G=Xe(n.requests),ee=Xe(n.requests_per_minute),fe=Xe(n.errors),de=Xe(n.error_rate),De=Xe(n.tokens)||Xe(n.tokens_in)+Xe(n.tokens_out),le=Xe(n.cost),Te=n.cost_per_request!=null?Xe(n.cost_per_request):G?le/G:0,K=Xe(n.tool_calls),I=n.tool_error_rate!=null?Xe(n.tool_error_rate):K?Xe(n.tool_errors)/K*100:0,C=Xe(e.errorsByType.find(E=>E.type===og[0].type)?.count),T=[{title:"Requests",sub:`per ${i.bucket} \xB7 stacked by agent`,value:`${hr(G)} \xB7 ${ee.toFixed(1)}/min`,legend:A.map(E=>({label:E.label,color:E.color})),ticks:tc(_,hr),buckets:ng(A,_,E=>`${u(l[E])} \xB7 ${Math.round(f[E])} req`),markers:H},{title:"Latency",sub:"generation percentiles",value:`p50 ${Qr(n.p50_ms)}`,legend:[{label:`p50 ${Qr(n.p50_ms)}`,color:"var(--color-token-in)"},{label:`p95 ${Qr(n.p95_ms)}`,color:"var(--color-warning)"},{label:`p99 ${Qr(n.p99_ms)}`,color:"var(--color-error)"}],ticks:tc(j,que),lines:[{points:rc(w,j),color:"var(--color-error)",width:1.5},{points:rc(S,j),color:"var(--color-warning)",width:1.5},{points:rc(b,j),color:"var(--color-token-in)",width:2}],areas:[{points:G1(b,j),color:"var(--color-token-in)"}],markers:N},{title:"Errors",sub:`per ${i.bucket} \xB7 by type`,value:`${de.toFixed(2)}% \xB7 ${Z1(Math.round(fe),"error")}`,valueColor:de>1?"var(--color-error)":Q1,legend:M.map(E=>({label:E.label,color:E.color})),ticks:tc(z,E=>String(Math.round(E))),buckets:ng(M,z,E=>`${u(l[E])} \xB7 ${Z1(Math.round(p[E]),"error")}`),markers:N},{title:"Tokens",sub:`per ${i.bucket} \xB7 input / output`,value:`${hr(De)} \xB7 in ${hr(n.tokens_in)} / out ${hr(n.tokens_out)}`,legend:[{label:"input",color:"var(--color-token-in)"},{label:"output",color:"var(--color-token-out)"}],ticks:tc(P,hr),lines:[{points:rc(v,P),color:"var(--color-token-in)",width:1.5},{points:rc(y,P),color:"var(--color-token-out)",width:1.5}],areas:[{points:G1(v,P),color:"var(--color-token-in)"},{points:G1(y,P),color:"var(--color-token-out)"}]},{title:"Cost",sub:`estimated \xB7 per ${i.bucket}`,value:`${Zv(le)} \xB7 ${uo(Te)}/req`,legend:[{label:"spend",color:"var(--color-text-secondary)"}],ticks:tc(B,E=>uo(E,R)),buckets:ng([{color:"var(--color-text-secondary)",data:h}],B,E=>`${u(l[E])} \xB7 ${uo(h[E],R)}`)},{title:"Tool calls",sub:`per ${i.bucket} \xB7 MCP + agent-defined`,value:`${hr(K)} \xB7 ${I.toFixed(1)}% errors`,legend:[{label:"calls",color:"var(--span-tool)"},{label:"errors",color:"var(--color-error)"}],ticks:tc(F,hr),buckets:ng([{color:"var(--span-tool)",data:m.map((E,Z)=>Math.max(0,E-g[Z]))},{color:"var(--color-error)",data:g}],F,E=>`${u(l[E])} \xB7 ${Z1(Math.round(m[E]),"call")}`)}],X=(E,Z,ge)=>{let Le=E==null?null:Xe(E);return Le==null||Le===0?"muted":Z&&Z(Le)?"success":ge&&ge(Le)?"error":"muted"},$=(E,Z,ge,Le,nt,Bt,ft,En)=>({label:E,value:Z,unit:ge,sub:Le,delta:nt,deltaColor:Hue[Bt],spark:L$(ft),sparkColor:En});return{signals:[$("Requests",hr(G),"",`${ee.toFixed(1)} req/min`,Wf(a.requests_pct),X(a.requests_pct,E=>E>0,null),f,"var(--color-token-in)"),$("Latency",Qr(n.p50_ms),"p50",`p95 ${Qr(n.p95_ms)} \xB7 p99 ${Qr(n.p99_ms)}`,Wf(a.p50_pct),X(a.p50_pct,E=>E<0,E=>E>0),b,"var(--color-token-in)"),$("Error rate",de.toFixed(2),"%",`${Z1(Math.round(fe),"error")} \xB7 ${Math.round(C)} rate-limited`,Wf(a.error_rate_pt," pt",1),X(a.error_rate_pt,E=>E<0,E=>E>0),p,"var(--color-error)"),$("Tokens",hr(De),"",`in ${hr(n.tokens_in)} \xB7 out ${hr(n.tokens_out)}`,Wf(a.tokens_pct),"muted",v.map((E,Z)=>E+y[Z]),"var(--color-token-in)"),$("Cost",Zv(le),"",`${uo(Te)} per request`,Wf(a.cost_pct),"muted",h,"var(--color-text-secondary)")],panels:T,xLabels:c,slowestP95:Oo(e.actions.map(E=>E.p95_ms)),errorTotal:Kue(e.errorsByType.map(E=>E.count))}}var ke=te(ne());var tce=6e4,rce=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],K$={mcp:{light:"#7c3aed",dark:"#c4b5fd",bgLight:"#f5f3ff",bgDark:"rgba(124,58,237,0.15)"},builtin:{light:"#2563eb",dark:"#93c5fd",bgLight:"#eff6ff",bgDark:"rgba(37,99,235,0.15)"},agent:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.12)"}},ig=e=>e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),q$=e=>e==null?"\u2014":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`,nce=e=>{if(!e)return"\u2014";let t=new Date(e),r=Math.round((Date.now()-t.getTime())/6e4);if(r<1)return"just now";if(r<60)return`${r}m ago`;let n=Math.round(r/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`};function __({onOpenServer:e}){let{darkMode:t}=kt(),[r,n]=(0,ke.useState)(null),[a,o]=(0,ke.useState)(!0),[i,l]=(0,ke.useState)(null),[s,u]=(0,ke.useState)("all"),[c,d]=(0,ke.useState)(""),[f,p]=(0,ke.useState)(168),[v,y]=(0,ke.useState)(null),h=(0,ke.useCallback)(async()=>{try{let A=new URLSearchParams({hours:String(f)});s!=="all"&&A.set("origin",s),c.trim()&&A.set("q",c.trim());let M=await fetch(`/api/tools?${A}`);if(!M.ok)throw new Error(`Request failed (${M.status})`);n(await M.json()),l(null)}catch(A){l(A.message)}finally{o(!1)}},[s,c,f]);(0,ke.useEffect)(()=>{let A=setTimeout(h,c?250:0);return()=>clearTimeout(A)},[h,c]),(0,ke.useEffect)(()=>{let A=setInterval(h,tce);return()=>clearInterval(A)},[h]);let m={bg:t?"transparent":"#f9fafb",cardBg:t?"rgba(255,255,255,0.05)":"#ffffff",border:t?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:t?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af",textCell:t?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:t?"rgba(239,68,68,0.2)":"#fef2f2",inputBg:t?"rgba(255,255,255,0.06)":"#ffffff"},g=A=>{let M=K$[A]||K$.agent;return{fg:t?M.dark:M.light,bg:t?M.bgDark:M.bgLight}};if(a&&!r)return ke.default.createElement("div",{className:"flex items-center justify-center h-64"},ke.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(i&&!r)return ke.default.createElement("div",{style:{padding:"24px"}},ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:m.textPrimary,margin:0}},"Tools"),ke.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:m.errorBg,borderRadius:"8px",color:m.error,fontSize:"14px"}},"Failed to load tools: ",i));let{tools:x=[],summary:b={},origins:S={},sources:w={}}=r||{},O=!w.telemetry&&!w.generations&&!w.messages&&!w.declared,k=({label:A,value:M,hint:W,tone:L})=>ke.default.createElement("div",{style:{background:m.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${m.border}`}},ke.default.createElement("div",{style:{fontSize:"11px",color:m.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},A),ke.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:L||m.textPrimary}},M),W&&ke.default.createElement("div",{style:{fontSize:"13px",color:m.textSecondary,marginTop:"8px"}},W));return ke.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:m.bg}},ke.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${m.border}`,marginBottom:"16px"}},ke.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},ke.default.createElement("div",null,ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:m.textPrimary,margin:0}},"Tools"),ke.default.createElement("p",{style:{fontSize:"14px",color:m.textSecondary,marginTop:"4px"}},"Detected from telemetry spans, generation request bodies, and agent records \u2014 nothing to register by hand")),ke.default.createElement("div",{style:{display:"flex",gap:"4px"}},rce.map(A=>ke.default.createElement("button",{key:A.value,onClick:()=>p(A.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${f===A.value?"#ef4444":m.border}`,background:f===A.value?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:f===A.value?"#ef4444":m.textSecondary}},A.label))))),ke.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},ke.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},ke.default.createElement(k,{label:"Tools Detected",value:ig(b.total_tools),hint:`${b.active_tools||0} called in this window`}),ke.default.createElement(k,{label:"Tool Calls",value:ig(b.total_calls),hint:`${q$(b.avg_duration_ms)} average`}),ke.default.createElement(k,{label:"Error Rate",value:`${b.error_rate||0}%`,tone:b.error_rate>5?m.error:m.textPrimary,hint:`${b.total_errors||0} failed call${b.total_errors===1?"":"s"}`}),ke.default.createElement(k,{label:"From MCP",value:ig(b.mcp_tools),hint:`across ${b.mcp_servers_active||0} active server${b.mcp_servers_active===1?"":"s"}`}),ke.default.createElement(k,{label:"Never Called",value:ig(b.unused_tools),hint:"offered or configured, unused"})),ke.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap",alignItems:"center"}},Object.entries(S).map(([A,M])=>ke.default.createElement("button",{key:A,onClick:()=>u(A),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${s===A?"#ef4444":m.border}`,background:s===A?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:s===A?"#ef4444":m.textSecondary}},M)),ke.default.createElement("input",{value:c,onChange:A=>d(A.target.value),placeholder:"Filter by name\u2026",style:{marginLeft:"auto",padding:"6px 12px",fontSize:"13px",borderRadius:"6px",minWidth:"200px",border:`1px solid ${m.border}`,background:m.inputBg,color:m.textPrimary}})),ke.default.createElement("div",{style:{background:m.cardBg,borderRadius:"12px",border:`1px solid ${m.border}`,overflow:"hidden"}},x.length===0?ke.default.createElement("div",{style:{textAlign:"center",padding:"48px 24px",color:m.textSecondary,fontSize:"14px"}},O?"No tool activity yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No tools match these filters"):ke.default.createElement("div",{style:{overflowX:"auto"}},ke.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:"760px"}},ke.default.createElement("thead",null,ke.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:m.textSecondary,borderBottom:`1px solid ${m.border}`}},ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Tool"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Source"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Calls"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Errors"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Avg"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Last seen"))),ke.default.createElement("tbody",null,x.map((A,M)=>{let W=g(A.origin),L=v===A.name;return ke.default.createElement(ke.default.Fragment,{key:A.name},ke.default.createElement("tr",{onClick:()=>y(L?null:A.name),style:{borderBottom:M{H.stopPropagation(),A.mcp_server&&e&&e(A.mcp_server)},style:{fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:"none",background:W.bg,color:W.fg,fontFamily:"monospace",cursor:A.mcp_server&&e?"pointer":"default"},title:A.mcp_server?`Open ${A.mcp_server} in MCP Services`:A.source_label},A.source_label)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:m.textCell,fontFamily:"monospace"}},ig(A.calls)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",fontFamily:"monospace",color:A.errors>0?m.error:m.textCell}},A.errors),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:m.textCell,fontFamily:"monospace"}},q$(A.avg_duration_ms)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:m.textMuted,fontSize:"13px"}},nce(A.last_seen))),L&&ke.default.createElement("tr",{style:{borderBottom:Mke.default.createElement("span",{key:A,style:{color:w[A]?m.textSecondary:m.textMuted,opacity:w[A]?1:.5}},w[A]?"\u25CF":"\u25CB"," ",M)))))}function ace({tool:e,colors:t,tone:r,darkMode:n}){let a=({label:o,children:i})=>ke.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},ke.default.createElement("span",{style:{color:t.textMuted,minWidth:"108px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},o),ke.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},i));return ke.default.createElement("div",{style:{display:"grid",gap:"8px",padding:"12px 16px",borderRadius:"8px",background:n?"rgba(0,0,0,0.25)":"#ffffff",border:`1px solid ${t.border}`}},ke.default.createElement(a,{label:"Full name"},ke.default.createElement("code",{style:{fontFamily:"monospace"}},e.name)),e.description&&ke.default.createElement(a,{label:"Description"},e.description),ke.default.createElement(a,{label:"Parameters"},e.parameters?.length>0?ke.default.createElement("code",{style:{fontFamily:"monospace",color:r.fg}},e.parameters.join(", ")):ke.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),ke.default.createElement(a,{label:"Agents"},e.agents?.length>0?e.agents.join(", "):ke.default.createElement("span",{style:{color:t.textMuted}},"\u2014")),e.configured_by?.length>0&&ke.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),ke.default.createElement(a,{label:"Call breakdown"},ke.default.createElement("span",{style:{fontFamily:"monospace"}},e.traced_calls," traced \xB7 ",e.requested," requested \xB7 ",e.results," results")),e.sample_arguments&&ke.default.createElement(a,{label:"Last arguments"},ke.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",color:t.textMuted}},e.sample_arguments)),e.last_error&&ke.default.createElement(a,{label:"Last error"},ke.default.createElement("span",{style:{color:t.error}},e.last_error)),ke.default.createElement(a,{label:"Detected from"},e.detected_from?.join(", ")||"\u2014"))}var Oe=te(ne());var oce=6e4,ice=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],lce=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],Y$={active:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.15)"},configured:{light:"#b45309",dark:"#fcd34d",bgLight:"#fffbeb",bgDark:"rgba(245,158,11,0.15)"},available:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"},idle:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"}},lg=e=>e==null?"0":e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e);function O_({focusServer:e,onOpenTools:t}){let{darkMode:r}=kt(),[n,a]=(0,Oe.useState)(null),[o,i]=(0,Oe.useState)(!0),[l,s]=(0,Oe.useState)(null),[u,c]=(0,Oe.useState)("all"),[d,f]=(0,Oe.useState)(168),[p,v]=(0,Oe.useState)(e||null),[y,h]=(0,Oe.useState)(null),[m,g]=(0,Oe.useState)(null),x=(0,Oe.useCallback)(async()=>{try{let D=await fetch(`/api/mcp_servers?hours=${d}`);if(!D.ok)throw new Error(`Request failed (${D.status})`);a(await D.json()),s(null)}catch(D){s(D.message)}finally{i(!1)}},[d]);(0,Oe.useEffect)(()=>{x();let D=setInterval(x,oce);return()=>clearInterval(D)},[x]),(0,Oe.useEffect)(()=>{e&&v(e)},[e]);let b={bg:r?"transparent":"#f9fafb",cardBg:r?"rgba(255,255,255,0.05)":"#ffffff",border:r?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:r?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",textCell:r?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:r?"rgba(239,68,68,0.2)":"#fef2f2",codeBg:r?"rgba(0,0,0,0.35)":"#f9fafb"},S=D=>{let Y=Y$[D]||Y$.available;return{fg:r?Y.dark:Y.light,bg:r?Y.bgDark:Y.bgLight}},w=async D=>{h(D.key),g(null);try{let Y=await fetch(`/api/mcp_servers/${encodeURIComponent(D.key)}/launch`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""}}),N=await Y.json();if(!Y.ok)throw new Error(N.reason||N.error||`Launch failed (${Y.status})`);g({kind:"ok",text:`${D.name} is starting in a sandbox (${N.sandbox.session_id.slice(0,8)}\u2026)`}),x()}catch(Y){g({kind:"error",text:Y.message})}finally{h(null)}};if(o&&!n)return Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(l&&!n)return Oe.default.createElement("div",{style:{padding:"24px"}},Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:b.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:b.errorBg,borderRadius:"8px",color:b.error,fontSize:"14px"}},"Failed to load MCP services: ",l));let{servers:O=[],summary:k={},sandboxes:A=[],statuses:M={}}=n||{},W=u==="all"?O:O.filter(D=>D.status===u),L=new Set(A.flatMap(D=>D.mcp_servers||[])),H=({label:D,value:Y,hint:N})=>Oe.default.createElement("div",{style:{background:b.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${b.border}`}},Oe.default.createElement("div",{style:{fontSize:"11px",color:b.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},D),Oe.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:b.textPrimary}},Y),N&&Oe.default.createElement("div",{style:{fontSize:"13px",color:b.textSecondary,marginTop:"8px"}},N));return Oe.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:b.bg}},Oe.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${b.border}`,marginBottom:"16px"}},Oe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",null,Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:b.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("p",{style:{fontSize:"14px",color:b.textSecondary,marginTop:"4px"}},"Servers detected from your agents' traffic, plus the defaults you can connect or run in a sandbox")),Oe.default.createElement("div",{style:{display:"flex",gap:"4px"}},ice.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>f(D.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${d===D.value?"#ef4444":b.border}`,background:d===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:d===D.value?"#ef4444":b.textSecondary}},D.label))))),Oe.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Oe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Oe.default.createElement(H,{label:"Active",value:lg(k.active),hint:"called in this window"}),Oe.default.createElement(H,{label:"Configured",value:lg(k.configured),hint:"declared, no traffic yet"}),Oe.default.createElement(H,{label:"Available",value:lg(k.available),hint:"defaults you can connect"}),Oe.default.createElement(H,{label:"Tool Calls",value:lg(k.total_calls),hint:"through MCP servers"})),m&&Oe.default.createElement("div",{style:{marginBottom:"16px",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",background:m.kind==="error"?b.errorBg:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:m.kind==="error"?b.error:r?"#86efac":"#15803d"}},m.text),Oe.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap"}},lce.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>c(D.value),title:M[D.value]||"Every MCP service known to this workspace",style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${u===D.value?"#ef4444":b.border}`,background:u===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:u===D.value?"#ef4444":b.textSecondary}},D.label))),Oe.default.createElement("div",{style:{display:"grid",gap:"12px"}},W.length===0?Oe.default.createElement("div",{style:{background:b.cardBg,borderRadius:"12px",border:`1px solid ${b.border}`,textAlign:"center",padding:"48px 24px",color:b.textSecondary,fontSize:"14px"}},"No MCP services in this state"):W.map(D=>{let Y=S(D.status),N=p===D.key,_=L.has(D.key);return Oe.default.createElement("div",{key:D.key,style:{background:b.cardBg,borderRadius:"12px",border:`1px solid ${N?Y.fg:b.border}`,overflow:"hidden"}},Oe.default.createElement("div",{onClick:()=>v(N?null:D.key),style:{padding:"16px 20px",cursor:"pointer",display:"flex",alignItems:"center",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",{style:{flex:1,minWidth:"220px"}},Oe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontSize:"15px",fontWeight:"600",color:b.textPrimary}},D.name),Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:Y.bg,color:Y.fg,textTransform:"uppercase",letterSpacing:"0.04em"}},D.status),D.first_party&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(239,68,68,0.15)":"#fef2f2",color:"#ef4444"}},"first-party"),!D.known&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:b.borderLight,color:b.textMuted},title:"Seen in your traffic but not in the platform catalog"},"undocumented"),_&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:r?"#86efac":"#15803d"}},"\u25CF sandbox running")),D.description&&Oe.default.createElement("div",{style:{fontSize:"13px",color:b.textSecondary,marginTop:"4px"}},D.description)),Oe.default.createElement("div",{style:{display:"flex",gap:"24px",alignItems:"center"}},Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:b.textPrimary}},lg(D.calls)),Oe.default.createElement("div",{style:{fontSize:"11px",color:b.textMuted}},"calls")),Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:D.errors>0?b.error:b.textPrimary}},D.errors||0),Oe.default.createElement("div",{style:{fontSize:"11px",color:b.textMuted}},"errors")),D.launchable&&Oe.default.createElement("button",{onClick:z=>{z.stopPropagation(),w(D)},disabled:y===D.key,style:{padding:"8px 14px",fontSize:"13px",borderRadius:"6px",border:"none",background:y===D.key?b.borderLight:"#ef4444",color:y===D.key?b.textMuted:"#ffffff",cursor:y===D.key?"wait":"pointer",fontWeight:"500",whiteSpace:"nowrap"},title:`Start ${D.name} in a sandbox session`},y===D.key?"Starting\u2026":_?"Start another":"Start in sandbox"))),N&&Oe.default.createElement(sce,{server:D,colors:b,tone:Y,onOpenTools:t}))})),A.length>0&&Oe.default.createElement("div",{style:{marginTop:"24px",background:b.cardBg,borderRadius:"12px",border:`1px solid ${b.border}`,padding:"20px"}},Oe.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:b.textPrimary,margin:"0 0 12px 0"}},"Running sandboxes"),Oe.default.createElement("div",{style:{display:"grid",gap:"8px"}},A.map(D=>Oe.default.createElement("div",{key:D.session_id,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontSize:"13px",color:b.textCell,flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontFamily:"monospace"}},(D.mcp_servers||[]).join(", ")||D.sandbox_type),Oe.default.createElement("span",{style:{color:b.textMuted}},D.status," \xB7 ",D.runs_count,"/",D.max_runs," runs \xB7 expires ",new Date(D.expires_at).toLocaleTimeString())))))))}function sce({server:e,colors:t,tone:r,onOpenTools:n}){let a=({label:i,children:l})=>Oe.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Oe.default.createElement("span",{style:{color:t.textMuted,minWidth:"120px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},i),Oe.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},l)),o=e.command||e.url;return Oe.default.createElement("div",{style:{padding:"0 20px 20px 20px",display:"grid",gap:"10px"}},Oe.default.createElement("div",{style:{height:"1px",background:t.borderLight,marginBottom:"4px"}}),o&&Oe.default.createElement(a,{label:e.transport==="http"?"Endpoint":"Command"},Oe.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",padding:"4px 8px",borderRadius:"4px",background:t.codeBg,display:"inline-block"}},o)),e.transport&&Oe.default.createElement(a,{label:"Transport"},e.transport),e.categories?.length>0&&Oe.default.createElement(a,{label:"Categories"},e.categories.join(", ")),e.requires_credentials?.length>0&&Oe.default.createElement(a,{label:"Requires"},e.requires_credentials.join(", ")),Oe.default.createElement(a,{label:e.tool_count>0?"Tools used":"Tools offered"},e.tools?.length>0?Oe.default.createElement("span",{style:{display:"flex",gap:"6px",flexWrap:"wrap"}},e.tools.map(i=>Oe.default.createElement("code",{key:i,style:{fontFamily:"monospace",fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r.bg,color:r.fg}},i))):Oe.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),e.agents?.length>0&&Oe.default.createElement(a,{label:"Used by"},e.agents.join(", ")),e.configured_by?.length>0&&Oe.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),e.last_seen&&Oe.default.createElement(a,{label:"Last call"},new Date(e.last_seen).toLocaleString()),Oe.default.createElement("div",{style:{display:"flex",gap:"12px",marginTop:"4px",flexWrap:"wrap"}},e.docs_url&&Oe.default.createElement("a",{href:e.docs_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"#ef4444",textDecoration:"none"}},"Documentation \u2192"),e.calls>0&&n&&Oe.default.createElement("button",{onClick:()=>n(e.key),style:{fontSize:"13px",color:"#ef4444",background:"none",border:"none",padding:0,cursor:"pointer"}},"View its tools \u2192")))}var q=te(ne());var ks=te(ne());var R1={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},xr={log(...e){this.enabled&&(e.push(Date.now()),R1.logger.log("[ActionCable]",...e))}},ug=()=>new Date().getTime(),J1=e=>(ug()-e)/1e3,cg=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=ug(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),xr.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=ug(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),xr.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=ug()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,xr.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=ug(),xr.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)),o=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+o)}reconnectIfStale(){this.connectionIsStale()&&(xr.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${J1(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?xr.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${J1(this.disconnectedAt)} s`):(xr.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return J1(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&J1(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(xr.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};cg.staleThreshold=6;cg.reconnectionBackoffRate=.15;var X$={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:sg,protocols:T_}=X$,uce=T_.slice(0,T_.length-1),G$=[].indexOf,dg=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new cg(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return xr.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...T_,...this.consumer.subprotocols||[]];return xr.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new R1.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(xr.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){xr.log("Failed to reopen WebSocket",t)}finally{xr.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 G$.call(uce,this.getProtocol())>=0}isState(...t){return G$.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in R1.WebSocket)if(R1.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let r=this.events[t].bind(this);this.webSocket[`on${t}`]=r}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};dg.reopenDelay=500;dg.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:a,type:o}=JSON.parse(e.data);switch(this.monitor.recordMessage(),o){case sg.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case sg.disconnect:return xr.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:a});case sg.ping:return null;case sg.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 sg.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(xr.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return xr.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(xr.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){xr.log("WebSocket onerror event")}};var cce=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},M_=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),cce(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)}},P_=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(xr.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):xr.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){xr.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=>{xr.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},D_=class{constructor(t){this.consumer=t,this.guarantor=new P_(this),this.subscriptions=[]}create(t,r){let n=t,a=typeof n=="object"?n:{channel:n},o=new M_(this.consumer,a,r);return this.add(o)}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((o=>typeof o[r]=="function"?o[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){xr.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})}},I_=class{constructor(t){this._url=t,this.subscriptions=new D_(this),this.connection=new dg(this),this.subprotocols=[]}get url(){return dce(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 dce(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 Z$(e=fce("url")||X$.default_mount_path){return new I_(e)}function fce(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var ew=null;function pce(){if(ew===null)try{ew=Z$()}catch{ew=!1}return ew||null}function Q$(e,t,r,n=!0){let a=(0,ks.useRef)(null),o=(0,ks.useRef)(r);return(0,ks.useEffect)(()=>{o.current=r},[r]),(0,ks.useEffect)(()=>{if(!n||!e)return;let l=pce();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),o.current&&o.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,ks.useCallback)((l,s)=>{a.current&&a.current.perform(l,s)},[])}}var tw=[{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"}],mce={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"}]},J$={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function j_({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,q.useState)(e),[a,o]=(0,q.useState)(null),[i,l]=(0,q.useState)(""),[s,u]=(0,q.useState)([]),[c,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(!1),[v,y]=(0,q.useState)(!1),[h,m]=(0,q.useState)(null),[g,x]=(0,q.useState)(null),[b,S]=(0,q.useState)(!1),[w,O]=(0,q.useState)(null),[k,A]=(0,q.useState)(!1),M=(0,q.useRef)(null),[W,L]=(0,q.useState)(["anthropic"]),[H,D]=(0,q.useState)(!1),[Y,N]=(0,q.useState)({}),[_,z]=(0,q.useState)([]),j=(0,q.useCallback)(T=>{switch(console.log("[SandboxRunner] Received ActionCable message:",T),T.type){case"run_started":H?N(X=>({...X,[T.provider]:{status:"running",started_at:T.started_at,provider:T.provider}})):d(X=>({...X,status:"running",provider:T.provider}));break;case"run_complete":H?(N(X=>({...X,[T.provider]:{...T.run,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider)),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))):(d(T.run),p(!1),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))),z(X=>{let $=X.filter(Ne=>Ne!==T.provider);return $.length===0&&p(!1),$});break;case"run_error":H?(N(X=>({...X,[T.provider]:{status:"failed",error:T.error,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider))):(d(X=>({...X,status:"failed",error:T.error})),p(!1)),T.sandbox&&o(T.sandbox);break}},[H]);Q$("SandboxChannel",{session_id:a?.session_id},j,!!a?.session_id),(0,q.useEffect)(()=>{B(),P()},[r]);let P=async()=>{try{let T=await fetch("/api/usage");if(T.ok){let X=await T.json();O(X.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,q.useEffect)(()=>{if(!a?.expires_at)return;let T=setInterval(()=>{let X=new Date,$=new Date(a.expires_at),Ne=Math.max(0,Math.floor(($-X)/1e3));x(Ne),Ne===0&&(o(E=>({...E,status:"expired"})),clearInterval(T))},1e3);return()=>clearInterval(T)},[a?.expires_at]),(0,q.useEffect)(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[c?.result]);let B=async()=>{y(!0),m(null);try{let T=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!T.ok)throw new Error("Failed to create sandbox session");let X=await T.json();o(X.sandbox),u([]),d(null)}catch(T){m(T.message)}finally{y(!1)}},R=async()=>{!i.trim()||f||!a||(H&&W.length>1?await G():await F(W[0]||"anthropic"))},F=async T=>{p(!0),d({status:"running",task:i,provider:T,result:"",started_at:new Date().toISOString()});try{let X=await fetch(`/api/sandboxes/${a.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,provider:T})}),$=await X.json();if(X.status===402&&$.upgrade_required){O($.usage),S(!0),d(Ne=>({...Ne,status:"failed",error:$.message||"Plan limit reached"})),p(!1);return}if(!X.ok)throw new Error($.error||"Task execution failed");$.usage&&O($.usage),De($.run_id)}catch(X){d($=>({...$,status:"failed",error:X.message})),p(!1)}},G=async()=>{p(!0),z([...W]),N({});let T={};W.forEach(X=>{T[X]={status:"running",result:"",started_at:new Date().toISOString()}}),N(T);try{let X=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,providers:W,sandbox_id:a?.session_id,sandbox_type:r})});if(!X.ok){let Ne=await X.json();throw new Error(Ne.error||"Comparison failed")}let $=await X.json();$.sandbox&&o($.sandbox),ee(W,$.sandbox?.session_id||a?.session_id,$.sandbox?.runs_count??a?.runs_count??0)}catch(X){W.forEach($=>{N(Ne=>({...Ne,[$]:{status:"failed",error:X.message}}))}),p(!1),z([])}},ee=(T,X,$)=>{if(!X)return;let Ne=async()=>{try{let E=await fetch(`/api/sandboxes/${X}`);if(!E.ok)throw new Error(`HTTP ${E.status}`);let Z=await E.json();o(Z.sandbox);let ge=Z.sandbox.runs||[];u(ge);let Le=new Set;if(ge.slice($).forEach(nt=>{nt.provider&&(N(Bt=>({...Bt,[nt.provider]:{...nt,provider:nt.provider}})),(nt.status==="completed"||nt.status==="failed")&&Le.add(nt.provider))}),T.every(nt=>Le.has(nt))){p(!1),z([]);return}setTimeout(Ne,1e3)}catch(E){console.error("Comparison polling failed:",E),p(!1),z([])}};setTimeout(Ne,1e3)},fe=async()=>{if(a?.session_id)try{let X=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(X.sandbox),u(X.sandbox.runs||[]),(X.sandbox.runs||[]).forEach(E=>{E.provider&&N(Z=>({...Z,[E.provider]:{...E,provider:E.provider}}))}),W.every(E=>{let Z=Y[E];return Z?.status==="completed"||Z?.status==="failed"})&&(p(!1),z([]))}catch(T){console.error("Polling error:",T)}},de=T=>{L(X=>X.includes(T)?X.length===1?X:X.filter($=>$!==T):[...X,T])},De=async T=>{let X=async()=>{try{let Ne=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(Ne.sandbox);let E=Ne.sandbox.runs||[],Z=E[E.length-1];if(Z&&(d(Z),u(E),Z.status==="completed"||Z.status==="failed")){p(!1);return}setTimeout(X,1e3)}catch{p(!1)}};X()},le=T=>{T.key==="Enter"&&(T.metaKey||T.ctrlKey)&&R()},Te=T=>{if(!T)return"--:--";let X=Math.floor(T/60),$=T%60;return`${X}:${$.toString().padStart(2,"0")}`},K=T=>{switch(T){case"completed":return"text-green-600 bg-green-100";case"failed":return"text-red-600 bg-red-100";case"running":return"text-blue-600 bg-blue-100";case"ready":return"text-emerald-600 bg-emerald-100";case"expired":return"text-orange-600 bg-orange-100";default:return"text-gray-600 bg-gray-100"}},I=a?.status==="ready"&&a?.runs_count{A(!0);try{await Vf({planSlug:"pro",billingInterval:T})}catch(X){console.error("Checkout error:",X),m(X.message||"Failed to initiate checkout. Please try again."),A(!1)}};return q.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},q.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},q.default.createElement("div",{className:"flex items-center justify-between"},q.default.createElement("div",{className:"flex items-center space-x-4"},q.default.createElement(mr,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),q.default.createElement("div",null,q.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),q.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),q.default.createElement("div",{className:"flex items-center space-x-4"},a&&q.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},q.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${K(a.status)}`},a.status),q.default.createElement("span",{className:"text-gray-500"},a.runs_count,"/",a.max_runs," runs"),q.default.createElement("span",{className:`font-mono ${g<60?"text-red-500":"text-gray-500"}`},Te(g))),t&&q.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},q.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),q.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},q.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},q.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("textarea",{value:i,onChange:T=>l(T.target.value),onKeyDown:le,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!I,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-rose-500 focus:border-transparent resize-none disabled:bg-gray-100"}),q.default.createElement("div",{className:"flex items-center justify-between mt-3"},q.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),q.default.createElement("button",{onClick:R,disabled:!i.trim()||!I,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${i.trim()&&I?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{className:"animate-spin"},"\u25E0"),q.default.createElement("span",null,"Running...")):q.default.createElement(q.default.Fragment,null,q.default.createElement("span",null,"\u25B6"),q.default.createElement("span",null,"Run"))))),q.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},q.default.createElement("h3",{className:"font-medium text-gray-900"},H&&Object.keys(Y).length>0?"Comparison Results":"Output"),c&&!H&&q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(c.status)}`},c.status),H&&_.length>0&&q.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",_.length," provider(s)...")),q.default.createElement("div",{ref:M,className:"flex-1 overflow-auto bg-gray-50"},v?q.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},q.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):h?q.default.createElement("div",{className:"text-red-600 p-4"},h):H&&Object.keys(Y).length>0?q.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},W.map(T=>{let X=tw.find(Ne=>Ne.id===T),$=Y[T];return q.default.createElement("div",{key:T,className:"p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-2"},q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("div",{className:`w-3 h-3 rounded-full ${X?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"font-medium text-gray-900"},X?.name||T),q.default.createElement("span",{className:"text-xs text-gray-500"},X?.model)),$&&q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K($.status)}`},$.status),$.tokens&&q.default.createElement("span",{className:"text-xs text-gray-500"},$.tokens," tokens"),$.duration_ms&&q.default.createElement("span",{className:"text-xs text-gray-500"},($.duration_ms/1e3).toFixed(1),"s"))),q.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},$?.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Processing...")):$?.error?q.default.createElement("div",{className:"text-red-600"},$.error):$?.result?q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},$.result):q.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?q.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&q.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},q.default.createElement("div",{className:`w-2 h-2 rounded-full ${tw.find(T=>T.id===c.provider)?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"text-sm text-gray-600"},tw.find(T=>T.id===c.provider)?.name||c.provider)),c.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Executing task...")):c.error?q.default.createElement("div",{className:"text-red-600"},q.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),q.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):q.default.createElement("div",{className:"text-gray-400 text-center py-12"},q.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),q.default.createElement("p",{className:"text-xs"},H?`Compare results across ${W.length} providers`:"Task will execute using the selected provider"))))),q.default.createElement("div",{className:"space-y-4 overflow-auto"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),q.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},q.default.createElement("input",{type:"checkbox",checked:H,onChange:T=>D(T.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),q.default.createElement("div",{className:"space-y-2"},tw.map(T=>q.default.createElement("label",{key:T.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${W.includes(T.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},q.default.createElement("div",{className:"flex items-center space-x-3"},q.default.createElement("input",{type:"checkbox",checked:W.includes(T.id),onChange:()=>de(T.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("div",{className:`w-2 h-2 rounded-full ${T.color}`}),q.default.createElement("span",{className:"text-sm font-medium text-gray-900"},T.name)),q.default.createElement("span",{className:"text-xs text-gray-500"},T.model)))),H&&W.length>1&&q.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},q.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",W.length," providers simultaneously"))),q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),H&&q.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")),q.default.createElement("div",{className:"space-y-2"},mce[r]?.map((T,X)=>q.default.createElement("button",{key:X,onClick:()=>l(T.task),disabled:!I,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},q.default.createElement("div",{className:"font-medium text-sm text-gray-900"},T.name),q.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},T.description))))),q.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},q.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},w?.unlimited?"Unlimited":w?.plan==="free"?"Free Tier":`${w?.plan?.toUpperCase()||"FREE"} Plan`),w&&!w.unlimited&&w.runs_limit!=null&&q.default.createElement("div",{className:"mb-4"},q.default.createElement("div",{className:"flex justify-between text-sm mb-1"},q.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),q.default.createElement("span",{className:`font-medium ${w.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},w.runs_used," / ",w.runs_limit)),q.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},q.default.createElement("div",{className:`h-2 rounded-full transition-all ${w.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(w.runs_used/w.runs_limit*100,100)}%`}})),w.runs_remaining<=1&&q.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},w.runs_remaining===0?"Limit reached!":"Almost at limit!")),q.default.createElement("dl",{className:"space-y-2 text-sm"},q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),q.default.createElement("dd",{className:"text-gray-900"},a?.runs_count||0,"/",a?.max_runs||J$.max_runs)),q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Timeout"),q.default.createElement("dd",{className:"text-gray-900"},J$.timeout_seconds,"s per task"))),w?.plan==="free"&&q.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},q.default.createElement("button",{onClick:()=>S(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),q.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((T,X)=>q.default.createElement("div",{key:T.id||X,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(T)},q.default.createElement("div",{className:"flex items-center justify-between mb-1"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(T.status||"completed")}`},T.status||"completed"),q.default.createElement("span",{className:"text-xs text-gray-400"},T.tokens||0," tokens")),q.default.createElement("p",{className:"text-sm text-gray-600 truncate"},T.task))))),a?.status==="expired"&&q.default.createElement("button",{onClick:B,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),b&&q.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},q.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},q.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},q.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),q.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",w?.runs_used||0," of ",w?.runs_limit||25," trial runs. Choose a plan to continue.")),q.default.createElement("div",{className:"p-6"},q.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),q.default.createElement("span",{className:"text-gray-500"},"/mo"))),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),q.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")),q.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},q.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},q.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),q.default.createElement("div",{className:"text-center mb-4 mt-2"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),q.default.createElement("button",{onClick:()=>C("monthly"),disabled:k,className:"w-full py-2 px-4 bg-rose-500 text-white rounded-lg text-sm font-semibold hover:bg-rose-600 transition-colors disabled:opacity-50"},k?"Loading...":"Upgrade to Pro")),q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),q.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")))),q.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},q.default.createElement("button",{onClick:()=>S(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var Ee=te(ne());var rw={SCREENSHOT:"screenshot",IFRAME:"iframe"},R$={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},z_={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"},vce=` @keyframes ripple { 0% { transform: translate(-50%, -50%) scale(0.5); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(2); opacity: 0; } @@ -90,10 +90,10 @@ Who updated the description for the sample notebook?`,style:{...il,width:"100%", 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.2); } } -`;function L_({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=kt(),[a,o]=(0,Ee.useState)([]),[i,l]=(0,Ee.useState)(e),[s,u]=(0,Ee.useState)(null),[c,d]=(0,Ee.useState)([]),[f,p]=(0,Ee.useState)(!0),[m,y]=(0,Ee.useState)(null),[h,v]=(0,Ee.useState)(!1),[g,b]=(0,Ee.useState)(0),[x,S]=(0,Ee.useState)(1),[w,O]=(0,Ee.useState)(null),k=(0,Ee.useRef)(null),A=(0,Ee.useRef)(null),M=(0,Ee.useRef)(null),[W,L]=(0,Ee.useState)(tw.IFRAME),[H,D]=(0,Ee.useState)({x:0,y:0,visible:!1}),[Y,N]=(0,Ee.useState)(null);(0,Ee.useEffect)(()=>{_()},[]),(0,Ee.useEffect)(()=>{i&&B(i)},[i]);let _=async()=>{try{let K=await fetch("/api/session_recordings");if(K.ok){let I=await K.json();o(I.recordings||[]),!i&&I.recordings?.length>0&&l(I.recordings[0].id)}}catch(K){console.error("Failed to load recordings list:",K)}};(0,Ee.useEffect)(()=>{if(!h||c.length===0){A.current&&clearTimeout(A.current);return}let K=c[g],I=c[g+1];if(!I){v(!1);return}let C=(I.timestamp_ms-K.timestamp_ms)/x;return A.current=setTimeout(()=>{b(T=>T+1)},Math.max(C,50)),()=>{A.current&&clearTimeout(A.current)}},[h,g,c,x]),(0,Ee.useEffect)(()=>{let K=c[g];K?.screenshot_url?(O(K.screenshot_url),L(tw.SCREENSHOT)):W===tw.IFRAME&&z(K)},[g,c,W]);let z=(0,Ee.useCallback)(K=>{if(!K||!M.current)return;let I=M.current;try{let C=s?.metadata?.page_url||"/";switch(I.src!==C&&I.src.includes(C),K.action_type){case"navigate":D({x:50,y:50,visible:!0}),N(null);break;case"click":case"focus":D({x:200,y:300,visible:!0}),N(K.selector),j(K.selector);break;case"type":D({x:200,y:300,visible:!0}),N(K.selector),P(K.selector,K.value);break;case"submit":D({x:250,y:400,visible:!0}),N(K.selector);break;case"scroll":D({x:300,y:200,visible:!0}),N(null);break;case"handoff":D({x:0,y:0,visible:!1}),N(null);break;default:D({x:150,y:250,visible:!0}),N(K.selector)}}catch(C){console.log("Could not simulate action in iframe:",C)}},[s]),j=K=>{if(!(!K||!M.current))try{let I=M.current.contentDocument||M.current.contentWindow?.document;if(!I)return;I.querySelectorAll(".session-replay-highlight").forEach(T=>{T.classList.remove("session-replay-highlight"),T.style.outline=""});let C=I.querySelector(K);C&&(C.classList.add("session-replay-highlight"),C.style.outline="3px solid #ef4444",C.style.outlineOffset="2px",C.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},P=(K,I)=>{if(!(!K||!I||!M.current))try{let C=M.current.contentDocument||M.current.contentWindow?.document;if(!C)return;let T=C.querySelector(K);if(T&&(T.tagName==="INPUT"||T.tagName==="TEXTAREA")){let X=0,$=setInterval(()=>{X{if(!K){u(null),d([]),b(0),v(!1),p(!1),y(null);return}p(!0),y(null);try{let I=await fetch(`/api/session_recordings/${K}`);if(!I.ok)throw new Error("Failed to load recording");let C=await I.json();if(u(C.recording),b(0),v(!1),C.recording?.id){let T=await fetch(`/api/session_recordings/${C.recording.id}/actions`);if(T.ok){let X=await T.json();d(X.actions||C.recording.timeline||[])}else d(C.recording.timeline||[])}}catch(I){y(I.message)}finally{p(!1)}},R=()=>{g>=c.length-1&&b(0),v(!h)},F=()=>{v(!1),b(K=>Math.min(K+1,c.length-1))},G=()=>{v(!1),b(K=>Math.max(K-1,0))},ee=K=>{if(!k.current||c.length===0)return;let I=k.current.getBoundingClientRect(),X=(K.clientX-I.left)/I.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),$=c.findIndex((Ne,E)=>{let Z=c[E+1];return!Z||X{if(s?.id)try{let K=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!K.ok)throw new Error("Handoff not available");let I=await K.json();t&&t(I)}catch(K){y(K.message)}},de=K=>{if(!K)return"0:00";let I=Math.floor(K/1e3),C=Math.floor(I/60),T=I%60;return`${C}:${T.toString().padStart(2,"0")}`},De=c[g],le=s?.duration_ms?(De?.timestamp_ms||0)/s.duration_ms*100:0;return f?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):m?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-red-500"},m)):s?Ee.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)"}:{}},Ee.default.createElement("style",{dangerouslySetInnerHTML:{__html:vce}}),Ee.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"}},Ee.default.createElement("div",null,Ee.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},Ee.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&&Ee.default.createElement("select",{value:i||"",onChange:K=>l(Number(K.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(K=>Ee.default.createElement("option",{key:K.id,value:K.id},K.name," (",new Date(K.created_at).toLocaleDateString(),")")))),Ee.default.createElement("p",{className:n?"":"text-sm text-gray-500 mt-1",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}:{}},s.action_count," actions | ",de(s.duration_ms)," duration")),Ee.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&Ee.default.createElement("button",{onClick:fe,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&&Ee.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"}:{}},Ee.default.createElement("span",{style:{fontSize:"20px"}},"x")))),Ee.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},Ee.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"}},W===tw.SCREENSHOT&&w?Ee.default.createElement("img",{src:w,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):Ee.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},Ee.default.createElement("iframe",{ref:M,src:s?.metadata?.page_url||"/",style:{border:"none",transform:"scale(0.75)",transformOrigin:"top left",width:"133.33%",height:"133.33%",pointerEvents:"none"},sandbox:"allow-same-origin allow-scripts"}),H.visible&&Ee.default.createElement("div",{style:{position:"absolute",left:`${H.x}px`,top:`${H.y}px`,width:"24px",height:"24px",pointerEvents:"none",zIndex:100,transition:"all 0.3s ease-out"}},Ee.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},Ee.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),De?.action_type==="click"&&Ee.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"40px",height:"40px",borderRadius:"50%",border:"3px solid #ef4444",animation:"ripple 0.6s ease-out",opacity:0}})),Y&&Ee.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:Fe.mono,zIndex:100}},Y),De&&Ee.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}},Ee.default.createElement("span",{style:{color:z_[De.action_type]||"#94a3b8",fontWeight:"600"}},R$[De.action_type]||"[?]"),Ee.default.createElement("span",null,De.action_type),De.value&&Ee.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",De.value))),Ee.default.createElement("div",{className:n?"":"absolute top-4 left-4 flex items-center gap-2 text-white px-3 py-1 rounded-full text-sm",style:{position:"absolute",top:"16px",left:"16px",display:"flex",alignItems:"center",gap:"8px",background:s?.status==="recording"?"#ef4444":h?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?Ee.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):h?Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),Ee.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":h?"Playing":"Paused"),De?.selector&&Ee.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:Fe.mono}:{}},De.selector)),Ee.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"}:{}},Ee.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},Ee.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((K,I)=>{let C=I===g,T=I{b(I),v(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${C?"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:C?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:C?"3px solid #ef4444":"3px solid transparent",opacity:T?.6:1}:{opacity:T?.6:1}},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("span",{style:{color:X,fontFamily:Fe.mono,fontSize:"12px",fontWeight:"600"}},R$[K.action_type]||"[?]"),Ee.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},K.action_type),Ee.default.createElement("span",{className:n?"":"text-xs text-gray-400 ml-auto",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.4)",marginLeft:"auto"}:{}},de(K.timestamp_ms))),K.value&&Ee.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"}:{}},K.value.length>50?K.value.substring(0,50)+"...":K.value),K.selector&&Ee.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Fe.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},K.selector))})))),Ee.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"}:{}},Ee.default.createElement("div",{ref:k,onClick:ee,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"}:{}},Ee.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${le}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((K,I)=>{let C=s?.duration_ms?K.timestamp_ms/s.duration_ms*100:0,T=z_[K.action_type]||"#94a3b8";return Ee.default.createElement("div",{key:I,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${C}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:I===g?T:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),Ee.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},Ee.default.createElement("div",{className:"flex items-center gap-4"},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("button",{onClick:G,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}:{}},"<<"),Ee.default.createElement("button",{onClick:R,className:n?"":"p-3 rounded-full bg-red-500 text-white hover:bg-red-600",style:n?{padding:"12px 24px",background:"#ef4444",border:"none",borderRadius:"999px",color:"white",cursor:"pointer",fontWeight:"500"}:{}},h?"Pause":"Play"),Ee.default.createElement("button",{onClick:F,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}:{}},">>")),Ee.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Fe.mono}:{}},de(De?.timestamp_ms||0)," / ",de(s?.duration_ms||0))),Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.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(K=>Ee.default.createElement("button",{key:K,onClick:()=>S(K),className:n?"":`px-2 py-1 rounded text-sm ${x===K?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:x===K?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},K,"x")))))):Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var he=te(ne());var rw=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function B_({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:a}=kt(),[o,i]=(0,he.useState)(null),[l,s]=(0,he.useState)(!1),[u,c]=(0,he.useState)(!1),[d,f]=(0,he.useState)(!1),[p,m]=(0,he.useState)(null);(0,he.useEffect)(()=>{fetch("/api/usage").then(S=>S.ok?S.json():null).then(S=>i(S?.usage||null)).catch(()=>i(null))},[]);let y=async()=>{f(!0),m(null);try{await Vf({planSlug:"pro"})}catch(S){m(S.message),f(!1)}},h=()=>{e?.telemetry_api_key&&navigator.clipboard.writeText(e.telemetry_api_key).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},v={backgroundColor:a?"#1f1f1f":"#ffffff",borderColor:a?"#2a2a2a":"#e5e7eb"},g=r?.plan_name||"Free",b={free:{seats:1,workspaces:1,agents:3,traces:"250/mo trial"},pro:{seats:5,workspaces:3,agents:"Unlimited",traces:"25,000/mo"},enterprise:{seats:"Unlimited",workspaces:"Unlimited",agents:"Unlimited",traces:"500,000+/mo"}},x=b[g.toLowerCase()]||b.free;return he.default.createElement("div",{className:"p-6 space-y-6"},he.default.createElement("div",null,he.default.createElement("h2",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},"Organization"),he.default.createElement("p",{className:`mt-1 ${a?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Workspace"),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Name"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Owner"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Created"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Current Plan"),he.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},g)),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Team Seats"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.seats)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Workspaces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.workspaces)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Agents"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.agents)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Traces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.traces))),g.toLowerCase()!=="enterprise"&&he.default.createElement(he.default.Fragment,null,he.default.createElement("button",{onClick:y,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&&he.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Team Members"),he.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")),he.default.createElement("div",{className:"overflow-hidden"},he.default.createElement("table",{className:"min-w-full"},he.default.createElement("thead",null,he.default.createElement("tr",{className:a?"border-b border-gray-700":"border-b border-gray-200"},he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Member"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Role"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Status"))),he.default.createElement("tbody",null,he.default.createElement("tr",null,he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("div",{className:"flex items-center space-x-3"},he.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},he.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),he.default.createElement("div",null,he.default.createElement("p",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.name||"You"),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},t?.email)))),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"flex items-center text-green-600"},he.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Usage This Month"),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},n),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Agents")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},rw(o?.traces_used),o?.traces_limit>0&&he.default.createElement("span",{className:`text-sm font-normal ${a?"text-gray-500":"text-gray-400"}`}," / ",rw(o.traces_limit))),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Traces")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},rw(o?.runs_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Executions")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},rw(o?.tokens_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Tokens")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${a?"text-white":"text-gray-900"}`},"Telemetry"),he.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"," ",he.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"),":"),he.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 L_({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=kt(),[a,o]=(0,Ee.useState)([]),[i,l]=(0,Ee.useState)(e),[s,u]=(0,Ee.useState)(null),[c,d]=(0,Ee.useState)([]),[f,p]=(0,Ee.useState)(!0),[v,y]=(0,Ee.useState)(null),[h,m]=(0,Ee.useState)(!1),[g,x]=(0,Ee.useState)(0),[b,S]=(0,Ee.useState)(1),[w,O]=(0,Ee.useState)(null),k=(0,Ee.useRef)(null),A=(0,Ee.useRef)(null),M=(0,Ee.useRef)(null),[W,L]=(0,Ee.useState)(rw.IFRAME),[H,D]=(0,Ee.useState)({x:0,y:0,visible:!1}),[Y,N]=(0,Ee.useState)(null);(0,Ee.useEffect)(()=>{_()},[]),(0,Ee.useEffect)(()=>{i&&B(i)},[i]);let _=async()=>{try{let K=await fetch("/api/session_recordings");if(K.ok){let I=await K.json();o(I.recordings||[]),!i&&I.recordings?.length>0&&l(I.recordings[0].id)}}catch(K){console.error("Failed to load recordings list:",K)}};(0,Ee.useEffect)(()=>{if(!h||c.length===0){A.current&&clearTimeout(A.current);return}let K=c[g],I=c[g+1];if(!I){m(!1);return}let C=(I.timestamp_ms-K.timestamp_ms)/b;return A.current=setTimeout(()=>{x(T=>T+1)},Math.max(C,50)),()=>{A.current&&clearTimeout(A.current)}},[h,g,c,b]),(0,Ee.useEffect)(()=>{let K=c[g];K?.screenshot_url?(O(K.screenshot_url),L(rw.SCREENSHOT)):W===rw.IFRAME&&z(K)},[g,c,W]);let z=(0,Ee.useCallback)(K=>{if(!K||!M.current)return;let I=M.current;try{let C=s?.metadata?.page_url||"/";switch(I.src!==C&&I.src.includes(C),K.action_type){case"navigate":D({x:50,y:50,visible:!0}),N(null);break;case"click":case"focus":D({x:200,y:300,visible:!0}),N(K.selector),j(K.selector);break;case"type":D({x:200,y:300,visible:!0}),N(K.selector),P(K.selector,K.value);break;case"submit":D({x:250,y:400,visible:!0}),N(K.selector);break;case"scroll":D({x:300,y:200,visible:!0}),N(null);break;case"handoff":D({x:0,y:0,visible:!1}),N(null);break;default:D({x:150,y:250,visible:!0}),N(K.selector)}}catch(C){console.log("Could not simulate action in iframe:",C)}},[s]),j=K=>{if(!(!K||!M.current))try{let I=M.current.contentDocument||M.current.contentWindow?.document;if(!I)return;I.querySelectorAll(".session-replay-highlight").forEach(T=>{T.classList.remove("session-replay-highlight"),T.style.outline=""});let C=I.querySelector(K);C&&(C.classList.add("session-replay-highlight"),C.style.outline="3px solid #ef4444",C.style.outlineOffset="2px",C.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},P=(K,I)=>{if(!(!K||!I||!M.current))try{let C=M.current.contentDocument||M.current.contentWindow?.document;if(!C)return;let T=C.querySelector(K);if(T&&(T.tagName==="INPUT"||T.tagName==="TEXTAREA")){let X=0,$=setInterval(()=>{X{if(!K){u(null),d([]),x(0),m(!1),p(!1),y(null);return}p(!0),y(null);try{let I=await fetch(`/api/session_recordings/${K}`);if(!I.ok)throw new Error("Failed to load recording");let C=await I.json();if(u(C.recording),x(0),m(!1),C.recording?.id){let T=await fetch(`/api/session_recordings/${C.recording.id}/actions`);if(T.ok){let X=await T.json();d(X.actions||C.recording.timeline||[])}else d(C.recording.timeline||[])}}catch(I){y(I.message)}finally{p(!1)}},R=()=>{g>=c.length-1&&x(0),m(!h)},F=()=>{m(!1),x(K=>Math.min(K+1,c.length-1))},G=()=>{m(!1),x(K=>Math.max(K-1,0))},ee=K=>{if(!k.current||c.length===0)return;let I=k.current.getBoundingClientRect(),X=(K.clientX-I.left)/I.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),$=c.findIndex((Ne,E)=>{let Z=c[E+1];return!Z||X{if(s?.id)try{let K=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!K.ok)throw new Error("Handoff not available");let I=await K.json();t&&t(I)}catch(K){y(K.message)}},de=K=>{if(!K)return"0:00";let I=Math.floor(K/1e3),C=Math.floor(I/60),T=I%60;return`${C}:${T.toString().padStart(2,"0")}`},De=c[g],le=s?.duration_ms?(De?.timestamp_ms||0)/s.duration_ms*100:0;return f?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):v?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-red-500"},v)):s?Ee.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)"}:{}},Ee.default.createElement("style",{dangerouslySetInnerHTML:{__html:vce}}),Ee.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"}},Ee.default.createElement("div",null,Ee.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},Ee.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&&Ee.default.createElement("select",{value:i||"",onChange:K=>l(Number(K.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(K=>Ee.default.createElement("option",{key:K.id,value:K.id},K.name," (",new Date(K.created_at).toLocaleDateString(),")")))),Ee.default.createElement("p",{className:n?"":"text-sm text-gray-500 mt-1",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}:{}},s.action_count," actions | ",de(s.duration_ms)," duration")),Ee.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&Ee.default.createElement("button",{onClick:fe,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&&Ee.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"}:{}},Ee.default.createElement("span",{style:{fontSize:"20px"}},"x")))),Ee.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},Ee.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"}},W===rw.SCREENSHOT&&w?Ee.default.createElement("img",{src:w,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):Ee.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},Ee.default.createElement("iframe",{ref:M,src:s?.metadata?.page_url||"/",style:{border:"none",transform:"scale(0.75)",transformOrigin:"top left",width:"133.33%",height:"133.33%",pointerEvents:"none"},sandbox:"allow-same-origin allow-scripts"}),H.visible&&Ee.default.createElement("div",{style:{position:"absolute",left:`${H.x}px`,top:`${H.y}px`,width:"24px",height:"24px",pointerEvents:"none",zIndex:100,transition:"all 0.3s ease-out"}},Ee.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},Ee.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),De?.action_type==="click"&&Ee.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"40px",height:"40px",borderRadius:"50%",border:"3px solid #ef4444",animation:"ripple 0.6s ease-out",opacity:0}})),Y&&Ee.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:Fe.mono,zIndex:100}},Y),De&&Ee.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}},Ee.default.createElement("span",{style:{color:z_[De.action_type]||"#94a3b8",fontWeight:"600"}},R$[De.action_type]||"[?]"),Ee.default.createElement("span",null,De.action_type),De.value&&Ee.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",De.value))),Ee.default.createElement("div",{className:n?"":"absolute top-4 left-4 flex items-center gap-2 text-white px-3 py-1 rounded-full text-sm",style:{position:"absolute",top:"16px",left:"16px",display:"flex",alignItems:"center",gap:"8px",background:s?.status==="recording"?"#ef4444":h?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?Ee.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):h?Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),Ee.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":h?"Playing":"Paused"),De?.selector&&Ee.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:Fe.mono}:{}},De.selector)),Ee.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"}:{}},Ee.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},Ee.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((K,I)=>{let C=I===g,T=I{x(I),m(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${C?"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:C?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:C?"3px solid #ef4444":"3px solid transparent",opacity:T?.6:1}:{opacity:T?.6:1}},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("span",{style:{color:X,fontFamily:Fe.mono,fontSize:"12px",fontWeight:"600"}},R$[K.action_type]||"[?]"),Ee.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},K.action_type),Ee.default.createElement("span",{className:n?"":"text-xs text-gray-400 ml-auto",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.4)",marginLeft:"auto"}:{}},de(K.timestamp_ms))),K.value&&Ee.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"}:{}},K.value.length>50?K.value.substring(0,50)+"...":K.value),K.selector&&Ee.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Fe.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},K.selector))})))),Ee.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"}:{}},Ee.default.createElement("div",{ref:k,onClick:ee,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"}:{}},Ee.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${le}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((K,I)=>{let C=s?.duration_ms?K.timestamp_ms/s.duration_ms*100:0,T=z_[K.action_type]||"#94a3b8";return Ee.default.createElement("div",{key:I,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${C}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:I===g?T:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),Ee.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},Ee.default.createElement("div",{className:"flex items-center gap-4"},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("button",{onClick:G,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}:{}},"<<"),Ee.default.createElement("button",{onClick:R,className:n?"":"p-3 rounded-full bg-red-500 text-white hover:bg-red-600",style:n?{padding:"12px 24px",background:"#ef4444",border:"none",borderRadius:"999px",color:"white",cursor:"pointer",fontWeight:"500"}:{}},h?"Pause":"Play"),Ee.default.createElement("button",{onClick:F,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}:{}},">>")),Ee.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Fe.mono}:{}},de(De?.timestamp_ms||0)," / ",de(s?.duration_ms||0))),Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.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(K=>Ee.default.createElement("button",{key:K,onClick:()=>S(K),className:n?"":`px-2 py-1 rounded text-sm ${b===K?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:b===K?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},K,"x")))))):Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var he=te(ne());var nw=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function B_({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:a}=kt(),[o,i]=(0,he.useState)(null),[l,s]=(0,he.useState)(!1),[u,c]=(0,he.useState)(!1),[d,f]=(0,he.useState)(!1),[p,v]=(0,he.useState)(null);(0,he.useEffect)(()=>{fetch("/api/usage").then(S=>S.ok?S.json():null).then(S=>i(S?.usage||null)).catch(()=>i(null))},[]);let y=async()=>{f(!0),v(null);try{await Vf({planSlug:"pro"})}catch(S){v(S.message),f(!1)}},h=()=>{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"}},b=x[g.toLowerCase()]||x.free;return he.default.createElement("div",{className:"p-6 space-y-6"},he.default.createElement("div",null,he.default.createElement("h2",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},"Organization"),he.default.createElement("p",{className:`mt-1 ${a?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Workspace"),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Name"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Owner"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Created"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Current Plan"),he.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},g)),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Team Seats"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},b.seats)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Workspaces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},b.workspaces)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Agents"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},b.agents)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Traces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},b.traces))),g.toLowerCase()!=="enterprise"&&he.default.createElement(he.default.Fragment,null,he.default.createElement("button",{onClick:y,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&&he.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Team Members"),he.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")),he.default.createElement("div",{className:"overflow-hidden"},he.default.createElement("table",{className:"min-w-full"},he.default.createElement("thead",null,he.default.createElement("tr",{className:a?"border-b border-gray-700":"border-b border-gray-200"},he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Member"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Role"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Status"))),he.default.createElement("tbody",null,he.default.createElement("tr",null,he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("div",{className:"flex items-center space-x-3"},he.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},he.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),he.default.createElement("div",null,he.default.createElement("p",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.name||"You"),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},t?.email)))),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"flex items-center text-green-600"},he.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Usage This Month"),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},n),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Agents")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.traces_used),o?.traces_limit>0&&he.default.createElement("span",{className:`text-sm font-normal ${a?"text-gray-500":"text-gray-400"}`}," / ",nw(o.traces_limit))),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Traces")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.runs_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Executions")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.tokens_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Tokens")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${a?"text-white":"text-gray-900"}`},"Telemetry"),he.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"," ",he.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"),":"),he.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"] %>`),he.default.createElement("div",{className:"flex items-center justify-between gap-3"},he.default.createElement("div",{className:"min-w-0 flex-1"},he.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${a?"text-gray-500":"text-gray-400"}`},"API Key"),he.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")),he.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},he.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"),he.default.createElement("button",{onClick:h,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var me=te(ne());var eU={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 $_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,me.useState)("profile"),[i,l]=(0,me.useState)([]),[s,u]=(0,me.useState)([]),[c,d]=(0,me.useState)(!1),[f,p]=(0,me.useState)(""),[m,y]=(0,me.useState)(!1),[h,v]=(0,me.useState)(null),[g,b]=(0,me.useState)(!1),[x,S]=(0,me.useState)(null),[w,O]=(0,me.useState)(null),[k,A]=(0,me.useState)(""),[M,W]=(0,me.useState)(!1),L=(0,me.useCallback)(async()=>{try{let[P,B]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!P.ok||!B.ok)throw new Error("Failed to load keys");let R=await P.json(),F=await B.json();l(R.api_keys||[]),u(F.provider_keys||[]),S(null)}catch{S("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,me.useEffect)(()=>{a==="api-keys"&&!c&&L()},[a,c,L]);let H=async()=>{if(!(!f.trim()||m)){y(!0),S(null);try{let P=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!P.ok)throw new Error("create failed");let B=await P.json();v(B.api_key),b(!1),p(""),await L()}catch{S("Could not create the API key.")}finally{y(!1)}}},D=async P=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");h&&h.id===P&&v(null),await L()}catch{S("Could not revoke the API key.")}},Y=async P=>{if(!(!k.trim()||M)){W(!0),S(null);try{let B=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:P,credential:k.trim()})});if(!B.ok){let R=await B.json().catch(()=>({}));throw new Error(Array.isArray(R.error)?R.error.join(", "):"save failed")}O(null),A(""),await L()}catch(B){S(`Could not save the ${eU[P]?.label||P} credential${B.message!=="save failed"?`: ${B.message}`:"."}`)}finally{W(!1)}}},N=async P=>{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/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");await L()}catch{S("Could not remove the provider credential.")}},_=async P=>{try{await navigator.clipboard.writeText(P),b(!0),setTimeout(()=>b(!1),2e3)}catch{}},z={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return me.default.createElement("div",{className:"p-6 space-y-6"},me.default.createElement("div",null,me.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),me.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),me.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("nav",{className:"flex space-x-8"},[{id:"profile",label:"Profile"},{id:"api-keys",label:"API Keys"},{id:"notifications",label:"Notifications"},{id:"billing",label:"Billing"}].map(P=>me.default.createElement("button",{key:P.id,onClick:()=>o(P.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${a===P.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},P.label)))),a==="profile"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),me.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[0]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[1]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",{className:"md:col-span-2"},me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),me.default.createElement("input",{type:"email",defaultValue:e?.email||"",disabled:!0,className:`w-full px-3 py-2 border rounded-lg cursor-not-allowed ${r?"bg-gray-900 border-gray-700 text-gray-500":"bg-gray-100 border-gray-300 text-gray-500"}`}))),me.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),me.default.createElement("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${r?"bg-red-500":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),a==="api-keys"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("div",{className:"flex items-center justify-between mb-4"},me.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("input",{type:"text",value:f,onChange:P=>p(P.target.value),onKeyDown:P=>P.key==="Enter"&&H(),placeholder:"Key name (e.g. production)",className:`px-3 py-2 border rounded-lg text-sm ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:H,disabled:!f.trim()||m,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 whitespace-nowrap"},m?"Creating\u2026":"+ Create New Key"))),me.default.createElement("div",{className:`p-4 rounded-lg mb-4 ${r?"bg-yellow-900/20 border border-yellow-800":"bg-yellow-50 border border-yellow-200"}`},me.default.createElement("p",{className:`text-sm ${r?"text-yellow-300":"text-yellow-800"}`},"\u26A0\uFE0F API keys are secrets. Never share them or commit them to version control.")),x&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 text-sm ${r?"bg-red-900/20 border border-red-800 text-red-300":"bg-red-50 border border-red-200 text-red-700"}`},x),h&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 border ${r?"bg-green-900/20 border-green-800":"bg-green-50 border-green-200"}`},me.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",h.name,"\u201D created. Copy it now \u2014 it won't be shown again."),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("code",{className:`flex-1 px-3 py-2 rounded text-sm font-mono break-all ${r?"bg-gray-900 text-green-300":"bg-white text-green-800 border border-green-200"}`},h.token),me.default.createElement("button",{onClick:()=>_(h.token),className:`px-3 py-2 text-sm rounded ${r?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},g?"Copied!":"Copy"),me.default.createElement("button",{onClick:()=>v(null),className:`px-3 py-2 text-sm rounded ${r?"text-gray-400 hover:text-gray-200":"text-gray-500 hover:text-gray-700"}`},"Dismiss"))),i.length===0?me.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},me.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&me.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):me.default.createElement("div",{className:"space-y-2"},i.map(P=>me.default.createElement("div",{key:P.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.name),me.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},P.masked_token,me.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(P.created_at).toLocaleDateString(),P.last_used_at?` \xB7 last used ${new Date(P.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),me.default.createElement("button",{onClick:()=>D(P.id),className:`px-3 py-1 text-sm rounded ${r?"bg-red-900/40 text-red-300 hover:bg-red-900/60":"bg-red-50 text-red-600 hover:bg-red-100"}`},"Revoke"))))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),me.default.createElement("p",{className:`text-sm mb-4 ${r?"text-gray-400":"text-gray-500"}`},"Configure your own LLM provider credentials. Agent runs and evaluations on this account use these instead of the platform defaults. Keys are encrypted at rest."),me.default.createElement("div",{className:"space-y-4"},s.map(({provider:P,host_based:B,configured:R,hint:F})=>{let G=eU[P]||{label:P,icon:"\u{1F511}",placeholder:""},ee=w===P;return me.default.createElement("div",{key:P,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",{className:"flex items-center space-x-3"},me.default.createElement("span",{className:"text-xl"},G.icon),me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},G.label),me.default.createElement("p",{className:`text-sm ${R?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},R?B?F:`Configured (${F})`:"Not configured"))),me.default.createElement("div",{className:"flex items-center space-x-2"},R&&!ee&&me.default.createElement("button",{onClick:()=>N(P),className:`px-3 py-1 text-sm rounded ${r?"text-red-300 hover:bg-red-900/40":"text-red-600 hover:bg-red-50"}`},"Remove"),me.default.createElement("button",{onClick:()=>{O(ee?null:P),A("")},className:`px-3 py-1 text-sm rounded ${r?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},ee?"Cancel":R?"Update":"Configure"))),ee&&me.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},me.default.createElement("input",{type:B?"text":"password",value:k,onChange:fe=>A(fe.target.value),onKeyDown:fe=>fe.key==="Enter"&&Y(P),placeholder:B?G.placeholder:`${G.label} API key (${G.placeholder})`,autoFocus:!0,className:`flex-1 px-3 py-2 border rounded-lg text-sm font-mono ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:()=>Y(P),disabled:!k.trim()||M,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},M?"Saving\u2026":"Save")),B&&ee&&me.default.createElement("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`},"URL of your Ollama server's OpenAI-compatible endpoint. For a locally running Ollama use http://localhost:11434/v1 (the hosted platform needs a publicly reachable URL, e.g. a tunnel)."))})))),a==="notifications"&&me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),me.default.createElement("div",{className:"space-y-4"},[{label:"Agent execution alerts",desc:"Get notified when agents fail or complete",enabled:!0},{label:"Weekly usage reports",desc:"Summary of traces, costs, and performance",enabled:!0},{label:"Security alerts",desc:"Important security notifications",enabled:!0},{label:"Product updates",desc:"New features and improvements",enabled:!1}].map((P,B)=>me.default.createElement("div",{key:B,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.label),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},P.desc)),me.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${P.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${P.enabled?"translate-x-6":"translate-x-1"}`})))))),a==="billing"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),me.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),me.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),me.default.createElement("button",{className:`mt-4 px-4 py-2 rounded-lg ${r?"bg-gray-700 text-gray-300":"bg-gray-200 text-gray-700"}`},"Add Payment Method")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}var Me=te(ne());var gce=[{label:"Find demo questions",message:"What demo questions worked in our latest evaluations? Show the evidence and tell me whether they are verified on current main."},{label:"Explain a failed eval",message:"Show my latest evaluation reports and explain which failures need attention."},{label:"Draft an agent",message:"Prepare a read-only support agent that cites available evidence and explains missing information instead of inventing answers."}],U_={width:"100%",background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border-strong)",borderRadius:8,padding:"9px 12px",font:"inherit"},To={color:"var(--color-text-muted)",fontSize:12};function tU(e){let t=e.latest_run?.path||e.path||"";return/^\/evaluations(?:\/\d+\/runs\/\d+\/report)?$/.test(t)?Ge(t):null}function yce({card:e,onAsk:t,busy:r}){let n=tU(e),a=e.type==="demo_candidate",o=e.run_id||e.latest_run?.run_id,i=e.status||e.latest_run?.status;return Me.default.createElement(yr,{padding:16,testId:"assistant-evidence-card",style:{display:"grid",gap:10}},Me.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Me.default.createElement(or,{tone:a?"warning":"info"},a?"Historical pass":"Recorded evaluation"),i&&Me.default.createElement(or,{tone:i==="errored"||i==="failed"?"error":"muted"},i),e.check_strength&&Me.default.createElement("span",{style:To},String(e.check_strength).replaceAll("_"," "))),Me.default.createElement("div",{style:{fontWeight:600,overflowWrap:"anywhere"}},e.recorded_prompt||e.title),Me.default.createElement("div",{style:{...To,fontFamily:ye}},[e.provider,e.model,o&&`run ${o}`].filter(Boolean).join(" \xB7 "),e.completed_at&&` \xB7 ${new Date(e.completed_at).toLocaleString()}`),e.output_excerpt&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-text-secondary)"}},e.output_excerpt),(e.error||e.latest_run?.error)&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-error)"}},e.error||e.latest_run.error),e.fault&&Me.default.createElement("div",{style:To},"Fault: ",e.fault.replaceAll("_"," ")),e.samples_evaluated!=null&&Me.default.createElement("div",{style:To},e.samples_passed||0," / ",e.samples_evaluated," scenarios passed"),e.tool_names?.length>0&&Me.default.createElement("div",{style:To},"Tools recorded: ",e.tool_names.join(", ")),Array.isArray(e.caveats)&&e.caveats.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Evidence limits"),Me.default.createElement("ul",{style:{paddingLeft:18,marginTop:8}},e.caveats.map((s,u)=>Me.default.createElement("li",{key:u},s)))),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"}},n&&Me.default.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--color-accent-ui)"}},n===Ge("/evaluations")?"Open evaluations \u2192":"Open report \u2192"),e.evaluation_id&&o&&Me.default.createElement(zr,{size:"sm",disabled:r,onClick:()=>t(`Read evaluation ${e.evaluation_id}, run ${o}. Explain its results, the strength of its checks, and what needs fixing.`)},"Explain this run")))}function hce({draft:e,onReview:t}){return Me.default.createElement(yr,{padding:18,testId:"assistant-agent-draft",style:{display:"grid",gap:12,borderColor:"var(--color-accent-ui)"}},Me.default.createElement(rt,null,"Agent draft \xB7 not saved"),Me.default.createElement("div",{style:{fontWeight:600,fontSize:18}},e.name),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:13}},e.description),Me.default.createElement("div",{style:{...To,fontFamily:ye}},e.provider," / ",e.model),Me.default.createElement("details",null,Me.default.createElement("summary",{style:{cursor:"pointer",fontSize:13}},"Review instructions and tools"),Me.default.createElement("pre",{style:{whiteSpace:"pre-wrap",fontFamily:"inherit",fontSize:13,maxHeight:280,overflow:"auto"}},e.instructions),Me.default.createElement("p",{style:To},"Tools: ",e.tools?.length?e.tools.join(", "):"None")),Me.default.createElement(zr,{variant:"primary",onClick:()=>t(e),style:{justifySelf:"start"}},"Review in builder \u2192"))}function F_({session:e,onSessionChange:t,onReviewDraft:r,onOpenSettings:n,executionEnabled:a=!0}){let[o,i]=(0,Me.useState)(null),[l,s]=(0,Me.useState)(""),[u,c]=(0,Me.useState)(!1),[d,f]=(0,Me.useState)(null),[p,m]=(0,Me.useState)(!1),y=(0,Me.useRef)(null),h=(0,Me.useRef)(null),v=(0,Me.useRef)(e);v.current=e,(0,Me.useEffect)(()=>{let k=new AbortController;return fetch("/api/dashboard_assistant",{signal:k.signal}).then(async A=>{let M=await A.json();if(!A.ok)throw new Error(M.error||"Could not load assistant configuration.");i(M),v.current.provider||t({...v.current,...M.defaults})}).catch(A=>{A.name!=="AbortError"&&f({message:A.message})}),()=>{k.abort(),y.current?.abort()}},[]);let g=e.messages||[],b=e.provider||o?.defaults?.provider||"",x=e.model||"",S=o?.limits?.message_characters||8e3,w=o?.providers?.find(k=>k.id===b),O=async k=>{let A=k.trim();if(!A||u||!o||!a||!x.trim()||!p)return;let M=g.map(H=>({role:H.role,content:H.content})).slice(-12);for(;M.reduce((H,D)=>H+D.content.length,0)>24e3;)M.shift();let W=[...g,{role:"user",content:A}];t({...e,messages:W}),s(""),f(null),c(!0);let L=new AbortController;y.current=L;try{let H=await fetch("/api/dashboard_assistant",{method:"POST",signal:L.signal,headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""},body:JSON.stringify({message:A,history:M,provider:b,model:x.trim(),allow_provider_processing:!0})}),D=await H.json();if(!H.ok){f({message:typeof D.error=="string"?D.error:"The assistant could not complete this request.",setup:D.setup_required,retry:A}),t({...e,messages:g}),s(A);return}t({...e,messages:[...W,{role:"assistant",content:D.answer,cards:D.cards||[],references:D.references||[],drafts:D.drafts||[],limitations:D.limitations||[]}]})}catch(H){H.name!=="AbortError"&&(f({message:"Connection interrupted. No answer was received; the server may still be finishing the request."}),t({...e,messages:g}),s(A))}finally{c(!1)}};return Me.default.createElement("div",{style:{maxWidth:980,margin:"0 auto",color:"var(--color-text-primary)",display:"grid",gap:22}},Me.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"start"}},Me.default.createElement("div",null,Me.default.createElement(rt,null,"Workspace assistant"),Me.default.createElement("h1",{style:{margin:"8px 0",fontSize:30,fontWeight:600,letterSpacing:"-0.035em"}},"Ask ActiveAgents"),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:14}},"Find evaluation evidence. Understand failures. Build the next agent.")),g.length>0&&Me.default.createElement(zr,{disabled:u,onClick:()=>{t({...e,messages:[]}),f(null),s(""),m(!1)}},"New conversation")),!g.length&&Me.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12}},gce.map(k=>Me.default.createElement("button",{key:k.label,onClick:()=>{s(k.message),h.current?.querySelector("textarea")?.focus()},style:{textAlign:"left",padding:20,background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)",borderRadius:12,cursor:"pointer"}},Me.default.createElement("div",{style:{fontSize:14,fontWeight:600,marginBottom:8}},k.label," \u2197"),Me.default.createElement("div",{style:{fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},k.message)))),Me.default.createElement("div",{role:"log","aria-label":"Assistant conversation","aria-live":"polite",style:{display:"grid",gap:20}},g.map((k,A)=>Me.default.createElement("div",{key:A,style:{display:"grid",gap:12}},Me.default.createElement(rt,{color:k.role==="user"?"var(--color-text-muted)":"var(--color-accent-ui)"},k.role==="user"?"You":"ActiveAgents"),Me.default.createElement("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",lineHeight:1.7,fontSize:14}},k.content),k.cards?.map(M=>Me.default.createElement(yce,{key:M.id,card:M,onAsk:W=>{s(W),h.current?.querySelector("textarea")?.focus()},busy:u})),k.references?.length>0&&Me.default.createElement("div",{"aria-label":"Evidence references",style:{...To,display:"flex",gap:12,flexWrap:"wrap"}},k.references.map(M=>{let W=tU(M);return W&&Me.default.createElement("a",{key:M.id,href:W,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-ui)"}},M.id)})),k.drafts?.map(M=>Me.default.createElement(hce,{key:M.id,draft:M,onReview:r})),k.limitations?.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Scope of this answer"),Me.default.createElement("ul",{style:{paddingLeft:18}},k.limitations.map((M,W)=>Me.default.createElement("li",{key:W},M)))))),u&&Me.default.createElement("div",{role:"status",style:{color:"var(--color-text-secondary)",fontSize:13}},"Working with your workspace evidence\u2026")),d&&Me.default.createElement(yr,{padding:16,role:"alert",style:{borderColor:"var(--color-warning)",display:"grid",gap:12}},Me.default.createElement("div",{style:{fontSize:14}},d.message),d.setup&&Me.default.createElement(zr,{onClick:n,style:{justifySelf:"start"}},"Configure provider \u2192")),Me.default.createElement(yr,{padding:18},Me.default.createElement("form",{ref:h,onSubmit:k=>{k.preventDefault(),O(l)},style:{display:"grid",gap:14}},Me.default.createElement("label",{htmlFor:"assistant-question",style:{fontSize:13,fontWeight:600}},"What would you like to do?"),Me.default.createElement("textarea",{id:"assistant-question",placeholder:"Ask about your evals, or describe an agent to build\u2026",value:l,onChange:k=>s(k.target.value),maxLength:S,rows:3,disabled:u,style:{...U_,resize:"vertical",boxSizing:"border-box"}}),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"end",flexWrap:"wrap"}},Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"1 1 140px"}},"Provider",Me.default.createElement("select",{"aria-label":"Assistant provider",value:b,disabled:u||!o,onChange:k=>{let A=o.providers.find(M=>M.id===k.target.value);m(!1),t({...e,provider:A?.id||"",model:A?.default_model||""})},style:U_},Me.default.createElement("option",{value:""},o?"Choose a provider\u2026":"Loading\u2026"),o?.providers?.map(k=>Me.default.createElement("option",{key:k.id,value:k.id},k.id,k.configured?"":" \xB7 setup needed")))),Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"2 1 200px"}},"Model",Me.default.createElement("input",{"aria-label":"Assistant model",value:x,disabled:u||!o,maxLength:160,onChange:k=>{m(!1),t({...e,model:k.target.value})},style:U_})),Me.default.createElement(zr,{variant:"primary",type:"submit",disabled:u||!o||!l.trim()||!x.trim()||!a||!p},u?"Working\u2026":"Ask ActiveAgents \u2192")),Me.default.createElement("label",{style:{display:"flex",gap:9,alignItems:"start",fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},Me.default.createElement("input",{type:"checkbox",checked:p,disabled:u||!o,onChange:k=>m(k.target.checked),style:{marginTop:4}}),Me.default.createElement("span",null,"Allow ",b||"the selected provider"," / ",x||"model"," to process my messages, recent conversation history, and authorized evaluation report excerpts for this conversation.")),Me.default.createElement("div",{style:{...To,lineHeight:1.5}},a?w&&!w.configured?"This provider needs a credential in Settings before the assistant can respond.":"Uses your configured model provider. Agent drafts are reviewed before saving.":"Agent execution is disabled on this dashboard."," ","Reloading or starting a new conversation clears this conversation view. Your provider's data retention settings still apply."))))}function xce({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:a=null}){let{darkMode:o}=kt(),[i,l]=(0,Ze.useState)(t),[s,u]=(0,Ze.useState)("list"),[c,d]=(0,Ze.useState)(null),[f,p]=(0,Ze.useState)(!1),[m,y]=(0,Ze.useState)(null),[h,v]=(0,Ze.useState)(!1),[g,b]=(0,Ze.useState)("recent"),[x,S]=(0,Ze.useState)({messages:[]}),[w,O]=(0,Ze.useState)(null),k=r.assistantEnabled!==!1,[A,M]=(0,Ze.useState)(null);(0,Ze.useEffect)(()=>{let F=()=>{let G=Xu();if(G==="/assistant"&&k)u("assistant");else if(G.startsWith("/traces"))u("traces");else if(G.startsWith("/metrics"))u("metrics");else if(G.startsWith("/interactions"))u("interactions");else if(G.startsWith("/tools"))u("tools");else if(G.startsWith("/mcp")){let ee=G.match(/^\/mcp\/([^/?#]+)/)?.[1];ee&&M(decodeURIComponent(ee)),u("mcp")}else if(G.startsWith("/evaluations"))u("evaluations");else if(G.startsWith("/analytics"))u("analytics");else if(G.startsWith("/agents/new"))u("builder");else if(G.match(/\/agents\/\d+\/(interactions|history)/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];G.includes("/history")&&window.history.replaceState({},"",G.replace("/history","/interactions")),ee&&W(ee,"history")}else if(G.match(/\/agents\/\d+\/analytics/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"agent-analytics")}else if(G.match(/\/agents\/\d+\/edit/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"editor")}else if(G.match(/\/agents\/\d+\/run/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"runner")}else if(G.match(/\/agents\/\d+\/?$/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"history")}else G.startsWith("/replay")?u("replay"):G.startsWith("/sandbox")||G.startsWith("/demo")?u("sandbox"):G.startsWith("/organization")?u("organization"):G.startsWith("/settings")?u("settings"):u("list")};return F(),window.addEventListener("popstate",F),window.addEventListener("dashboard:navigate",F),()=>{window.removeEventListener("popstate",F),window.removeEventListener("dashboard:navigate",F)}},[]);let W=async(F,G)=>{p(!0);try{let fe=await(await fetch(`/api/agents/${F}`)).json();d(fe.agent),u(G)}catch{D("Failed to load agent","error")}finally{p(!1)}},L=async(F=g)=>{p(!0);try{let ee=await(await fetch(`/api/agents?sort=${F}`)).json();l(ee.agents)}catch{D("Failed to refresh agents","error")}finally{p(!1)}},H=F=>{b(F),L(F)},D=(F,G="info")=>{y({message:F,type:G}),setTimeout(()=>y(null),3e3)},Y=async F=>{p(!0);try{let G=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:F})});if(G.ok){let ee=await G.json();l([ee.agent,...i]),d(ee.agent),u("editor"),D("Agent created successfully!","success"),window.history.pushState({},"",Ge(`/agents/${ee.agent.id}/edit`))}else{let ee=await G.json();D(ee.errors?.join(", ")||"Failed to create agent","error")}}catch{D("Failed to create agent","error")}finally{p(!1)}},N=async(F,G)=>{p(!0);try{let ee=await fetch(`/api/agents/${F}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:G})});if(ee.ok){let fe=await ee.json();l(i.map(de=>de.id===F?fe.agent:de)),d(fe.agent),D("Agent updated!","success")}else{let fe=await ee.json();D(fe.errors?.join(", ")||"Failed to update agent","error")}}catch{D("Failed to update agent","error")}finally{p(!1)}},_=async F=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${F}`,{method:"DELETE"})).ok&&(l(i.filter(ee=>ee.id!==F)),d(null),u("list"),D("Agent deleted","success"),window.history.pushState({},"",Ge()))}catch{D("Failed to delete agent","error")}finally{p(!1)}}},z=async F=>{p(!0);try{let G=await fetch(`/api/agents/${F}/duplicate`,{method:"POST"});if(G.ok){let ee=await G.json();l([ee.agent,...i]),D("Agent duplicated!","success")}}catch{D("Failed to duplicate agent","error")}finally{p(!1)}},j=F=>{l([F,...i]),v(!1),D("Agent created from template!","success"),B("editor",F)},P=["editor","runner","agent-analytics","history"],B=(F,G=null)=>{if(F==="assistant"&&!k)return;F==="builder"&&O(null),G?.id&&P.includes(F)&&G.instructions===void 0?W(G.id,F):(d(G),u(F));let ee=Ge();F==="assistant"?ee=Ge("/assistant"):F==="builder"?ee=Ge("/agents/new"):F==="editor"&&G?ee=Ge(`/agents/${G.id}/edit`):F==="runner"&&G?ee=Ge(`/agents/${G.id}/run`):F==="agent-analytics"&&G?ee=Ge(`/agents/${G.id}/analytics`):F==="history"&&G?ee=Ge(`/agents/${G.id}/interactions`):F==="analytics"?ee=Ge("/analytics"):F==="traces"?ee=Ge("/traces"):F==="metrics"?ee=Ge("/metrics"):F==="interactions"?ee=Ge("/interactions"):F==="tools"?ee=Ge("/tools"):F==="mcp"?ee=Ge("/mcp"):F==="evaluations"?ee=Ge("/evaluations"):F==="replay"?ee=Ge("/replay"):F==="sandbox"?ee=Ge("/sandbox"):F==="organization"?ee=Ge("/organization"):F==="settings"&&(ee=Ge("/settings")),window.history.pushState({},"",ee)},R=()=>{switch(s){case"assistant":return k?Ze.default.createElement(F_,{session:x,onSessionChange:S,executionEnabled:r.executionEnabled!==!1,onOpenSettings:()=>B("settings"),onReviewDraft:F=>{O(F),u("builder"),window.history.pushState({},"",Ge("/agents/new"))}}):null;case"builder":return Ze.default.createElement(eA,{key:w?.id||"new-agent",initialDraft:w,meta:r,onSave:Y,onCancel:()=>B(w?"assistant":"list"),isLoading:f});case"editor":return c?Ze.default.createElement(V1,{key:`editor-${c.id}`,agent:c,meta:r,onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"runner":return c?Ze.default.createElement(f_,{agent:c,onBack:()=>B("editor",c)}):null;case"agent-analytics":return c?Ze.default.createElement(V1,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"history":return c?Ze.default.createElement(m_,{agent:c,onBack:()=>B("editor",c)}):null;case"analytics":return Ze.default.createElement(p_,{onSelectAgent:F=>{W(F.id,"agent-analytics")}});case"traces":return Ze.default.createElement(Zu,null);case"metrics":return Ze.default.createElement(E_,null);case"interactions":return Ze.default.createElement(nl,null);case"tools":return Ze.default.createElement(__,{onOpenServer:F=>{M(F),B("mcp")}});case"mcp":return Ze.default.createElement(O_,{focusServer:A,onOpenTools:()=>{M(null),B("tools")}});case"evaluations":return Ze.default.createElement(eg,null);case"replay":return Ze.default.createElement(L_,{onHandoff:F=>{D("Taking over session...","info"),B("sandbox")},onClose:()=>B("list")});case"sandbox":return Ze.default.createElement(j_,{initialType:"playwright_mcp",onClose:()=>B("list")});case"organization":return Ze.default.createElement(B_,{user:e,account:n,subscription:a,agentCount:i.length});case"settings":return Ze.default.createElement($_,{user:e});default:return Ze.default.createElement(R2,{agents:i,meta:r,onSelect:F=>B("editor",F),onNew:()=>B("builder"),onBrowseTemplates:()=>v(!0),onDuplicate:z,onDelete:_,onRefresh:L,sort:g,onSortChange:H,isLoading:f})}};return Ze.default.createElement("div",{className:`aa-dashboard min-h-screen flex${o?" theme-dark":""}`,style:{backgroundColor:o?"#0f0f0f":"#f9fafb"}},Ze.default.createElement(g_,{currentView:s,onNavigate:B,agentCount:i.length,account:n,user:e,gemVersion:r.activeagentVersion,assistantEnabled:k}),Ze.default.createElement("div",{className:"flex-1 flex flex-col min-w-0"},Ze.default.createElement(y_,{user:e,account:n}),Ze.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},R())),h&&Ze.default.createElement(v_,{onUseTemplate:j,onClose:()=>v(!1)}),m&&Ze.default.createElement("div",{className:`fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg transition-all transform ${m.type==="error"?"bg-red-500":m.type==="success"?"bg-green-500":"bg-blue-500"} text-white`},m.message),f&&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 ${o?"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 W_(e){return Ze.default.createElement(L3,null,Ze.default.createElement(w7,null,Ze.default.createElement(xce,{...e})))}var bce="active-agent-dashboard";function wce(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 o=new URL(n.url,window.location.origin);return r(new Request(`${t}${o.pathname}${o.search}`,n),a)}return r(n,a)}}function rU(){let e=document.getElementById(bce);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,wce(t.mountPath||"/"),(0,aU.createRoot)(e).render(nU.default.createElement(W_,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",rU):rU(); + api_key: <%= ENV["ACTIVEAGENTS_API_KEY"] %>`),he.default.createElement("div",{className:"flex items-center justify-between gap-3"},he.default.createElement("div",{className:"min-w-0 flex-1"},he.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${a?"text-gray-500":"text-gray-400"}`},"API Key"),he.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")),he.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},he.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"),he.default.createElement("button",{onClick:h,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var me=te(ne());var eU={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 $_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,me.useState)("profile"),[i,l]=(0,me.useState)([]),[s,u]=(0,me.useState)([]),[c,d]=(0,me.useState)(!1),[f,p]=(0,me.useState)(""),[v,y]=(0,me.useState)(!1),[h,m]=(0,me.useState)(null),[g,x]=(0,me.useState)(!1),[b,S]=(0,me.useState)(null),[w,O]=(0,me.useState)(null),[k,A]=(0,me.useState)(""),[M,W]=(0,me.useState)(!1),L=(0,me.useCallback)(async()=>{try{let[P,B]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!P.ok||!B.ok)throw new Error("Failed to load keys");let R=await P.json(),F=await B.json();l(R.api_keys||[]),u(F.provider_keys||[]),S(null)}catch{S("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,me.useEffect)(()=>{a==="api-keys"&&!c&&L()},[a,c,L]);let H=async()=>{if(!(!f.trim()||v)){y(!0),S(null);try{let P=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!P.ok)throw new Error("create failed");let B=await P.json();m(B.api_key),x(!1),p(""),await L()}catch{S("Could not create the API key.")}finally{y(!1)}}},D=async P=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");h&&h.id===P&&m(null),await L()}catch{S("Could not revoke the API key.")}},Y=async P=>{if(!(!k.trim()||M)){W(!0),S(null);try{let B=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:P,credential:k.trim()})});if(!B.ok){let R=await B.json().catch(()=>({}));throw new Error(Array.isArray(R.error)?R.error.join(", "):"save failed")}O(null),A(""),await L()}catch(B){S(`Could not save the ${eU[P]?.label||P} credential${B.message!=="save failed"?`: ${B.message}`:"."}`)}finally{W(!1)}}},N=async P=>{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/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");await L()}catch{S("Could not remove the provider credential.")}},_=async P=>{try{await navigator.clipboard.writeText(P),x(!0),setTimeout(()=>x(!1),2e3)}catch{}},z={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return me.default.createElement("div",{className:"p-6 space-y-6"},me.default.createElement("div",null,me.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),me.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),me.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("nav",{className:"flex space-x-8"},[{id:"profile",label:"Profile"},{id:"api-keys",label:"API Keys"},{id:"notifications",label:"Notifications"},{id:"billing",label:"Billing"}].map(P=>me.default.createElement("button",{key:P.id,onClick:()=>o(P.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${a===P.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},P.label)))),a==="profile"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),me.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[0]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[1]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",{className:"md:col-span-2"},me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),me.default.createElement("input",{type:"email",defaultValue:e?.email||"",disabled:!0,className:`w-full px-3 py-2 border rounded-lg cursor-not-allowed ${r?"bg-gray-900 border-gray-700 text-gray-500":"bg-gray-100 border-gray-300 text-gray-500"}`}))),me.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),me.default.createElement("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${r?"bg-red-500":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),a==="api-keys"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("div",{className:"flex items-center justify-between mb-4"},me.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("input",{type:"text",value:f,onChange:P=>p(P.target.value),onKeyDown:P=>P.key==="Enter"&&H(),placeholder:"Key name (e.g. production)",className:`px-3 py-2 border rounded-lg text-sm ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:H,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"))),me.default.createElement("div",{className:`p-4 rounded-lg mb-4 ${r?"bg-yellow-900/20 border border-yellow-800":"bg-yellow-50 border border-yellow-200"}`},me.default.createElement("p",{className:`text-sm ${r?"text-yellow-300":"text-yellow-800"}`},"\u26A0\uFE0F API keys are secrets. Never share them or commit them to version control.")),b&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 text-sm ${r?"bg-red-900/20 border border-red-800 text-red-300":"bg-red-50 border border-red-200 text-red-700"}`},b),h&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 border ${r?"bg-green-900/20 border-green-800":"bg-green-50 border-green-200"}`},me.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",h.name,"\u201D created. Copy it now \u2014 it won't be shown again."),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("code",{className:`flex-1 px-3 py-2 rounded text-sm font-mono break-all ${r?"bg-gray-900 text-green-300":"bg-white text-green-800 border border-green-200"}`},h.token),me.default.createElement("button",{onClick:()=>_(h.token),className:`px-3 py-2 text-sm rounded ${r?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},g?"Copied!":"Copy"),me.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"))),i.length===0?me.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},me.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&me.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):me.default.createElement("div",{className:"space-y-2"},i.map(P=>me.default.createElement("div",{key:P.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.name),me.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},P.masked_token,me.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(P.created_at).toLocaleDateString(),P.last_used_at?` \xB7 last used ${new Date(P.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),me.default.createElement("button",{onClick:()=>D(P.id),className:`px-3 py-1 text-sm rounded ${r?"bg-red-900/40 text-red-300 hover:bg-red-900/60":"bg-red-50 text-red-600 hover:bg-red-100"}`},"Revoke"))))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),me.default.createElement("p",{className:`text-sm mb-4 ${r?"text-gray-400":"text-gray-500"}`},"Configure your own LLM provider credentials. Agent runs and evaluations on this account use these instead of the platform defaults. Keys are encrypted at rest."),me.default.createElement("div",{className:"space-y-4"},s.map(({provider:P,host_based:B,configured:R,hint:F})=>{let G=eU[P]||{label:P,icon:"\u{1F511}",placeholder:""},ee=w===P;return me.default.createElement("div",{key:P,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",{className:"flex items-center space-x-3"},me.default.createElement("span",{className:"text-xl"},G.icon),me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},G.label),me.default.createElement("p",{className:`text-sm ${R?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},R?B?F:`Configured (${F})`:"Not configured"))),me.default.createElement("div",{className:"flex items-center space-x-2"},R&&!ee&&me.default.createElement("button",{onClick:()=>N(P),className:`px-3 py-1 text-sm rounded ${r?"text-red-300 hover:bg-red-900/40":"text-red-600 hover:bg-red-50"}`},"Remove"),me.default.createElement("button",{onClick:()=>{O(ee?null:P),A("")},className:`px-3 py-1 text-sm rounded ${r?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},ee?"Cancel":R?"Update":"Configure"))),ee&&me.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},me.default.createElement("input",{type:B?"text":"password",value:k,onChange:fe=>A(fe.target.value),onKeyDown:fe=>fe.key==="Enter"&&Y(P),placeholder:B?G.placeholder:`${G.label} API key (${G.placeholder})`,autoFocus:!0,className:`flex-1 px-3 py-2 border rounded-lg text-sm font-mono ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:()=>Y(P),disabled:!k.trim()||M,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},M?"Saving\u2026":"Save")),B&&ee&&me.default.createElement("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`},"URL of your Ollama server's OpenAI-compatible endpoint. For a locally running Ollama use http://localhost:11434/v1 (the hosted platform needs a publicly reachable URL, e.g. a tunnel)."))})))),a==="notifications"&&me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),me.default.createElement("div",{className:"space-y-4"},[{label:"Agent execution alerts",desc:"Get notified when agents fail or complete",enabled:!0},{label:"Weekly usage reports",desc:"Summary of traces, costs, and performance",enabled:!0},{label:"Security alerts",desc:"Important security notifications",enabled:!0},{label:"Product updates",desc:"New features and improvements",enabled:!1}].map((P,B)=>me.default.createElement("div",{key:B,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.label),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},P.desc)),me.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${P.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${P.enabled?"translate-x-6":"translate-x-1"}`})))))),a==="billing"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),me.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),me.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),me.default.createElement("button",{className:`mt-4 px-4 py-2 rounded-lg ${r?"bg-gray-700 text-gray-300":"bg-gray-200 text-gray-700"}`},"Add Payment Method")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}var Me=te(ne());var gce=[{label:"Find demo questions",message:"What demo questions worked in our latest evaluations? Show the evidence and tell me whether they are verified on current main."},{label:"Explain a failed eval",message:"Show my latest evaluation reports and explain which failures need attention."},{label:"Draft an agent",message:"Prepare a read-only support agent that cites available evidence and explains missing information instead of inventing answers."}],U_={width:"100%",background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border-strong)",borderRadius:8,padding:"9px 12px",font:"inherit"},To={color:"var(--color-text-muted)",fontSize:12};function tU(e){let t=e.latest_run?.path||e.path||"";return/^\/evaluations(?:\/\d+\/runs\/\d+\/report)?$/.test(t)?Ge(t):null}function yce({card:e,onAsk:t,busy:r}){let n=tU(e),a=e.type==="demo_candidate",o=e.run_id||e.latest_run?.run_id,i=e.status||e.latest_run?.status;return Me.default.createElement(yr,{padding:16,testId:"assistant-evidence-card",style:{display:"grid",gap:10}},Me.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Me.default.createElement(or,{tone:a?"warning":"info"},a?"Historical pass":"Recorded evaluation"),i&&Me.default.createElement(or,{tone:i==="errored"||i==="failed"?"error":"muted"},i),e.check_strength&&Me.default.createElement("span",{style:To},String(e.check_strength).replaceAll("_"," "))),Me.default.createElement("div",{style:{fontWeight:600,overflowWrap:"anywhere"}},e.recorded_prompt||e.title),Me.default.createElement("div",{style:{...To,fontFamily:ye}},[e.provider,e.model,o&&`run ${o}`].filter(Boolean).join(" \xB7 "),e.completed_at&&` \xB7 ${new Date(e.completed_at).toLocaleString()}`),e.output_excerpt&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-text-secondary)"}},e.output_excerpt),(e.error||e.latest_run?.error)&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-error)"}},e.error||e.latest_run.error),e.fault&&Me.default.createElement("div",{style:To},"Fault: ",e.fault.replaceAll("_"," ")),e.samples_evaluated!=null&&Me.default.createElement("div",{style:To},e.samples_passed||0," / ",e.samples_evaluated," scenarios passed"),e.tool_names?.length>0&&Me.default.createElement("div",{style:To},"Tools recorded: ",e.tool_names.join(", ")),Array.isArray(e.caveats)&&e.caveats.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Evidence limits"),Me.default.createElement("ul",{style:{paddingLeft:18,marginTop:8}},e.caveats.map((s,u)=>Me.default.createElement("li",{key:u},s)))),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"}},n&&Me.default.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--color-accent-ui)"}},n===Ge("/evaluations")?"Open evaluations \u2192":"Open report \u2192"),e.evaluation_id&&o&&Me.default.createElement(zr,{size:"sm",disabled:r,onClick:()=>t(`Read evaluation ${e.evaluation_id}, run ${o}. Explain its results, the strength of its checks, and what needs fixing.`)},"Explain this run")))}function hce({draft:e,onReview:t}){return Me.default.createElement(yr,{padding:18,testId:"assistant-agent-draft",style:{display:"grid",gap:12,borderColor:"var(--color-accent-ui)"}},Me.default.createElement(rt,null,"Agent draft \xB7 not saved"),Me.default.createElement("div",{style:{fontWeight:600,fontSize:18}},e.name),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:13}},e.description),Me.default.createElement("div",{style:{...To,fontFamily:ye}},e.provider," / ",e.model),Me.default.createElement("details",null,Me.default.createElement("summary",{style:{cursor:"pointer",fontSize:13}},"Review instructions and tools"),Me.default.createElement("pre",{style:{whiteSpace:"pre-wrap",fontFamily:"inherit",fontSize:13,maxHeight:280,overflow:"auto"}},e.instructions),Me.default.createElement("p",{style:To},"Tools: ",e.tools?.length?e.tools.join(", "):"None")),Me.default.createElement(zr,{variant:"primary",onClick:()=>t(e),style:{justifySelf:"start"}},"Review in builder \u2192"))}function F_({session:e,onSessionChange:t,onReviewDraft:r,onOpenSettings:n,executionEnabled:a=!0}){let[o,i]=(0,Me.useState)(null),[l,s]=(0,Me.useState)(""),[u,c]=(0,Me.useState)(!1),[d,f]=(0,Me.useState)(null),[p,v]=(0,Me.useState)(!1),y=(0,Me.useRef)(null),h=(0,Me.useRef)(null),m=(0,Me.useRef)(e);m.current=e,(0,Me.useEffect)(()=>{let k=new AbortController;return fetch("/api/dashboard_assistant",{signal:k.signal}).then(async A=>{let M=await A.json();if(!A.ok)throw new Error(M.error||"Could not load assistant configuration.");i(M),m.current.provider||t({...m.current,...M.defaults})}).catch(A=>{A.name!=="AbortError"&&f({message:A.message})}),()=>{k.abort(),y.current?.abort()}},[]);let g=e.messages||[],x=e.provider||o?.defaults?.provider||"",b=e.model||"",S=o?.limits?.message_characters||8e3,w=o?.providers?.find(k=>k.id===x),O=async k=>{let A=k.trim();if(!A||u||!o||!a||!b.trim()||!p)return;let M=g.map(H=>({role:H.role,content:H.content})).slice(-12);for(;M.reduce((H,D)=>H+D.content.length,0)>24e3;)M.shift();let W=[...g,{role:"user",content:A}];t({...e,messages:W}),s(""),f(null),c(!0);let L=new AbortController;y.current=L;try{let H=await fetch("/api/dashboard_assistant",{method:"POST",signal:L.signal,headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""},body:JSON.stringify({message:A,history:M,provider:x,model:b.trim(),allow_provider_processing:!0})}),D=await H.json();if(!H.ok){f({message:typeof D.error=="string"?D.error:"The assistant could not complete this request.",setup:D.setup_required,retry:A}),t({...e,messages:g}),s(A);return}t({...e,messages:[...W,{role:"assistant",content:D.answer,cards:D.cards||[],references:D.references||[],drafts:D.drafts||[],limitations:D.limitations||[]}]})}catch(H){H.name!=="AbortError"&&(f({message:"Connection interrupted. No answer was received; the server may still be finishing the request."}),t({...e,messages:g}),s(A))}finally{c(!1)}};return Me.default.createElement("div",{style:{maxWidth:980,margin:"0 auto",color:"var(--color-text-primary)",display:"grid",gap:22}},Me.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"start"}},Me.default.createElement("div",null,Me.default.createElement(rt,null,"Workspace assistant"),Me.default.createElement("h1",{style:{margin:"8px 0",fontSize:30,fontWeight:600,letterSpacing:"-0.035em"}},"Ask ActiveAgents"),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:14}},"Find evaluation evidence. Understand failures. Build the next agent.")),g.length>0&&Me.default.createElement(zr,{disabled:u,onClick:()=>{t({...e,messages:[]}),f(null),s(""),v(!1)}},"New conversation")),!g.length&&Me.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12}},gce.map(k=>Me.default.createElement("button",{key:k.label,onClick:()=>{s(k.message),h.current?.querySelector("textarea")?.focus()},style:{textAlign:"left",padding:20,background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)",borderRadius:12,cursor:"pointer"}},Me.default.createElement("div",{style:{fontSize:14,fontWeight:600,marginBottom:8}},k.label," \u2197"),Me.default.createElement("div",{style:{fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},k.message)))),Me.default.createElement("div",{role:"log","aria-label":"Assistant conversation","aria-live":"polite",style:{display:"grid",gap:20}},g.map((k,A)=>Me.default.createElement("div",{key:A,style:{display:"grid",gap:12}},Me.default.createElement(rt,{color:k.role==="user"?"var(--color-text-muted)":"var(--color-accent-ui)"},k.role==="user"?"You":"ActiveAgents"),Me.default.createElement("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",lineHeight:1.7,fontSize:14}},k.content),k.cards?.map(M=>Me.default.createElement(yce,{key:M.id,card:M,onAsk:W=>{s(W),h.current?.querySelector("textarea")?.focus()},busy:u})),k.references?.length>0&&Me.default.createElement("div",{"aria-label":"Evidence references",style:{...To,display:"flex",gap:12,flexWrap:"wrap"}},k.references.map(M=>{let W=tU(M);return W&&Me.default.createElement("a",{key:M.id,href:W,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-ui)"}},M.id)})),k.drafts?.map(M=>Me.default.createElement(hce,{key:M.id,draft:M,onReview:r})),k.limitations?.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Scope of this answer"),Me.default.createElement("ul",{style:{paddingLeft:18}},k.limitations.map((M,W)=>Me.default.createElement("li",{key:W},M)))))),u&&Me.default.createElement("div",{role:"status",style:{color:"var(--color-text-secondary)",fontSize:13}},"Working with your workspace evidence\u2026")),d&&Me.default.createElement(yr,{padding:16,role:"alert",style:{borderColor:"var(--color-warning)",display:"grid",gap:12}},Me.default.createElement("div",{style:{fontSize:14}},d.message),d.setup&&Me.default.createElement(zr,{onClick:n,style:{justifySelf:"start"}},"Configure provider \u2192")),Me.default.createElement(yr,{padding:18},Me.default.createElement("form",{ref:h,onSubmit:k=>{k.preventDefault(),O(l)},style:{display:"grid",gap:14}},Me.default.createElement("label",{htmlFor:"assistant-question",style:{fontSize:13,fontWeight:600}},"What would you like to do?"),Me.default.createElement("textarea",{id:"assistant-question",placeholder:"Ask about your evals, or describe an agent to build\u2026",value:l,onChange:k=>s(k.target.value),maxLength:S,rows:3,disabled:u,style:{...U_,resize:"vertical",boxSizing:"border-box"}}),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"end",flexWrap:"wrap"}},Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"1 1 140px"}},"Provider",Me.default.createElement("select",{"aria-label":"Assistant provider",value:x,disabled:u||!o,onChange:k=>{let A=o.providers.find(M=>M.id===k.target.value);v(!1),t({...e,provider:A?.id||"",model:A?.default_model||""})},style:U_},Me.default.createElement("option",{value:""},o?"Choose a provider\u2026":"Loading\u2026"),o?.providers?.map(k=>Me.default.createElement("option",{key:k.id,value:k.id},k.id,k.configured?"":" \xB7 setup needed")))),Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"2 1 200px"}},"Model",Me.default.createElement("input",{"aria-label":"Assistant model",value:b,disabled:u||!o,maxLength:160,onChange:k=>{v(!1),t({...e,model:k.target.value})},style:U_})),Me.default.createElement(zr,{variant:"primary",type:"submit",disabled:u||!o||!l.trim()||!b.trim()||!a||!p},u?"Working\u2026":"Ask ActiveAgents \u2192")),Me.default.createElement("label",{style:{display:"flex",gap:9,alignItems:"start",fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},Me.default.createElement("input",{type:"checkbox",checked:p,disabled:u||!o,onChange:k=>v(k.target.checked),style:{marginTop:4}}),Me.default.createElement("span",null,"Allow ",x||"the selected provider"," / ",b||"model"," to process my messages, recent conversation history, and authorized evaluation report excerpts for this conversation.")),Me.default.createElement("div",{style:{...To,lineHeight:1.5}},a?w&&!w.configured?"This provider needs a credential in Settings before the assistant can respond.":"Uses your configured model provider. Agent drafts are reviewed before saving.":"Agent execution is disabled on this dashboard."," ","Reloading or starting a new conversation clears this conversation view. Your provider's data retention settings still apply."))))}function xce({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:a=null}){let{darkMode:o}=kt(),[i,l]=(0,Ze.useState)(t),[s,u]=(0,Ze.useState)("list"),[c,d]=(0,Ze.useState)(null),[f,p]=(0,Ze.useState)(!1),[v,y]=(0,Ze.useState)(null),[h,m]=(0,Ze.useState)(!1),[g,x]=(0,Ze.useState)("recent"),[b,S]=(0,Ze.useState)({messages:[]}),[w,O]=(0,Ze.useState)(null),k=r.assistantEnabled!==!1,[A,M]=(0,Ze.useState)(null);(0,Ze.useEffect)(()=>{let F=()=>{let G=Xu();if(G==="/assistant"&&k)u("assistant");else if(G.startsWith("/traces"))u("traces");else if(G.startsWith("/metrics"))u("metrics");else if(G.startsWith("/interactions"))u("interactions");else if(G.startsWith("/tools"))u("tools");else if(G.startsWith("/mcp")){let ee=G.match(/^\/mcp\/([^/?#]+)/)?.[1];ee&&M(decodeURIComponent(ee)),u("mcp")}else if(G.startsWith("/evaluations"))u("evaluations");else if(G.startsWith("/analytics"))u("analytics");else if(G.startsWith("/agents/new"))u("builder");else if(G.match(/\/agents\/\d+\/(interactions|history)/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];G.includes("/history")&&window.history.replaceState({},"",G.replace("/history","/interactions")),ee&&W(ee,"history")}else if(G.match(/\/agents\/\d+\/analytics/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"agent-analytics")}else if(G.match(/\/agents\/\d+\/edit/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"editor")}else if(G.match(/\/agents\/\d+\/run/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"runner")}else if(G.match(/\/agents\/\d+\/?$/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"history")}else G.startsWith("/replay")?u("replay"):G.startsWith("/sandbox")||G.startsWith("/demo")?u("sandbox"):G.startsWith("/organization")?u("organization"):G.startsWith("/settings")?u("settings"):u("list")};return F(),window.addEventListener("popstate",F),window.addEventListener("dashboard:navigate",F),()=>{window.removeEventListener("popstate",F),window.removeEventListener("dashboard:navigate",F)}},[]);let W=async(F,G)=>{p(!0);try{let fe=await(await fetch(`/api/agents/${F}`)).json();d(fe.agent),u(G)}catch{D("Failed to load agent","error")}finally{p(!1)}},L=async(F=g)=>{p(!0);try{let ee=await(await fetch(`/api/agents?sort=${F}`)).json();l(ee.agents)}catch{D("Failed to refresh agents","error")}finally{p(!1)}},H=F=>{x(F),L(F)},D=(F,G="info")=>{y({message:F,type:G}),setTimeout(()=>y(null),3e3)},Y=async F=>{p(!0);try{let G=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:F})});if(G.ok){let ee=await G.json();l([ee.agent,...i]),d(ee.agent),u("editor"),D("Agent created successfully!","success"),window.history.pushState({},"",Ge(`/agents/${ee.agent.id}/edit`))}else{let ee=await G.json();D(ee.errors?.join(", ")||"Failed to create agent","error")}}catch{D("Failed to create agent","error")}finally{p(!1)}},N=async(F,G)=>{p(!0);try{let ee=await fetch(`/api/agents/${F}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:G})});if(ee.ok){let fe=await ee.json();l(i.map(de=>de.id===F?fe.agent:de)),d(fe.agent),D("Agent updated!","success")}else{let fe=await ee.json();D(fe.errors?.join(", ")||"Failed to update agent","error")}}catch{D("Failed to update agent","error")}finally{p(!1)}},_=async F=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${F}`,{method:"DELETE"})).ok&&(l(i.filter(ee=>ee.id!==F)),d(null),u("list"),D("Agent deleted","success"),window.history.pushState({},"",Ge()))}catch{D("Failed to delete agent","error")}finally{p(!1)}}},z=async F=>{p(!0);try{let G=await fetch(`/api/agents/${F}/duplicate`,{method:"POST"});if(G.ok){let ee=await G.json();l([ee.agent,...i]),D("Agent duplicated!","success")}}catch{D("Failed to duplicate agent","error")}finally{p(!1)}},j=F=>{l([F,...i]),m(!1),D("Agent created from template!","success"),B("editor",F)},P=["editor","runner","agent-analytics","history"],B=(F,G=null)=>{if(F==="assistant"&&!k)return;F==="builder"&&O(null),G?.id&&P.includes(F)&&G.instructions===void 0?W(G.id,F):(d(G),u(F));let ee=Ge();F==="assistant"?ee=Ge("/assistant"):F==="builder"?ee=Ge("/agents/new"):F==="editor"&&G?ee=Ge(`/agents/${G.id}/edit`):F==="runner"&&G?ee=Ge(`/agents/${G.id}/run`):F==="agent-analytics"&&G?ee=Ge(`/agents/${G.id}/analytics`):F==="history"&&G?ee=Ge(`/agents/${G.id}/interactions`):F==="analytics"?ee=Ge("/analytics"):F==="traces"?ee=Ge("/traces"):F==="metrics"?ee=Ge("/metrics"):F==="interactions"?ee=Ge("/interactions"):F==="tools"?ee=Ge("/tools"):F==="mcp"?ee=Ge("/mcp"):F==="evaluations"?ee=Ge("/evaluations"):F==="replay"?ee=Ge("/replay"):F==="sandbox"?ee=Ge("/sandbox"):F==="organization"?ee=Ge("/organization"):F==="settings"&&(ee=Ge("/settings")),window.history.pushState({},"",ee)},R=()=>{switch(s){case"assistant":return k?Ze.default.createElement(F_,{session:b,onSessionChange:S,executionEnabled:r.executionEnabled!==!1,onOpenSettings:()=>B("settings"),onReviewDraft:F=>{O(F),u("builder"),window.history.pushState({},"",Ge("/agents/new"))}}):null;case"builder":return Ze.default.createElement(tA,{key:w?.id||"new-agent",initialDraft:w,meta:r,onSave:Y,onCancel:()=>B(w?"assistant":"list"),isLoading:f});case"editor":return c?Ze.default.createElement(K1,{key:`editor-${c.id}`,agent:c,meta:r,onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"runner":return c?Ze.default.createElement(f_,{agent:c,onBack:()=>B("editor",c)}):null;case"agent-analytics":return c?Ze.default.createElement(K1,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"history":return c?Ze.default.createElement(m_,{agent:c,onBack:()=>B("editor",c)}):null;case"analytics":return Ze.default.createElement(p_,{onSelectAgent:F=>{W(F.id,"agent-analytics")}});case"traces":return Ze.default.createElement(Zu,null);case"metrics":return Ze.default.createElement(E_,null);case"interactions":return Ze.default.createElement(rl,null);case"tools":return Ze.default.createElement(__,{onOpenServer:F=>{M(F),B("mcp")}});case"mcp":return Ze.default.createElement(O_,{focusServer:A,onOpenTools:()=>{M(null),B("tools")}});case"evaluations":return Ze.default.createElement(eg,null);case"replay":return Ze.default.createElement(L_,{onHandoff:F=>{D("Taking over session...","info"),B("sandbox")},onClose:()=>B("list")});case"sandbox":return Ze.default.createElement(j_,{initialType:"playwright_mcp",onClose:()=>B("list")});case"organization":return Ze.default.createElement(B_,{user:e,account:n,subscription:a,agentCount:i.length});case"settings":return Ze.default.createElement($_,{user:e});default:return Ze.default.createElement(eA,{agents:i,meta:r,onSelect:F=>B("editor",F),onNew:()=>B("builder"),onBrowseTemplates:()=>m(!0),onDuplicate:z,onDelete:_,onRefresh:L,sort:g,onSortChange:H,isLoading:f})}};return Ze.default.createElement("div",{className:`aa-dashboard min-h-screen flex${o?" theme-dark":""}`,style:{backgroundColor:o?"#0f0f0f":"#f9fafb"}},Ze.default.createElement(g_,{currentView:s,onNavigate:B,agentCount:i.length,account:n,user:e,gemVersion:r.activeagentVersion,assistantEnabled:k}),Ze.default.createElement("div",{className:"flex-1 flex flex-col min-w-0"},Ze.default.createElement(y_,{user:e,account:n}),Ze.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},R())),h&&Ze.default.createElement(v_,{onUseTemplate:j,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 ${o?"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 W_(e){return Ze.default.createElement(L3,null,Ze.default.createElement(w7,null,Ze.default.createElement(xce,{...e})))}var bce="active-agent-dashboard";function wce(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 o=new URL(n.url,window.location.origin);return r(new Request(`${t}${o.pathname}${o.search}`,n),a)}return r(n,a)}}function rU(){let e=document.getElementById(bce);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,wce(t.mountPath||"/"),(0,aU.createRoot)(e).render(nU.default.createElement(W_,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",rU):rU(); /*! Bundled license information: react/cjs/react.production.js: diff --git a/actionagent/app/services/action_agent/agent_execution_service.rb b/actionagent/app/services/action_agent/agent_execution_service.rb index c3a26083..58d6a8fb 100644 --- a/actionagent/app/services/action_agent/agent_execution_service.rb +++ b/actionagent/app/services/action_agent/agent_execution_service.rb @@ -33,9 +33,13 @@ class ProviderNotConfiguredError < StandardError; end # so a multi-gigabyte log named .csv costs a fixed slice of memory rather # than its whole size. Four bytes per character is UTF-8's worst case. ATTACHMENT_TEXT_BYTE_LIMIT = ATTACHMENT_TEXT_LIMIT * 4 + # What one prompt-span attribute stores. The value is a preview for reading, + # so it is clipped; a size that has to stay exact travels as its own + # `*.tokens` attribute instead. + PROMPT_SPAN_ATTRIBUTE_LIMIT = 6000 # The prompt span records the transcript, not the data URIs; keep the # whole serialized list within the same budget as the other attributes. - PROMPT_SPAN_MESSAGE_LIMIT = 6000 + PROMPT_SPAN_MESSAGE_LIMIT = PROMPT_SPAN_ATTRIBUTE_LIMIT # Prior turns sent with a pinned conversation: the most recent ones, # trimmed oldest-first to a character budget. HISTORY_TURN_LIMIT = 40 @@ -164,11 +168,16 @@ def call def record_prompt_span(root_span) span = root_span.add_span("agent.prompt", span_type: :prompt) if composed_instructions.present? - span.set_attribute("prompt.input.instructions", composed_instructions.to_s.byteslice(0, 6000).to_s.scrub) - end - if tool_schemas.present? - span.set_attribute("prompt.input.tools", tool_schemas.to_json.byteslice(0, 6000).to_s.scrub) + instructions = composed_instructions.to_s + span.set_attribute("prompt.input.instructions", instructions.byteslice(0, PROMPT_SPAN_ATTRIBUTE_LIMIT).to_s.scrub) + span.set_attribute("prompt.input.instructions.tokens", estimated_tokens(instructions)) end + # MCP and toolbox schemas are attributed separately so the meter can name + # which half fills the window, and each carries its size. The content + # attributes are truncated previews for reading: sizing the context from + # one understates it by whatever the clip dropped, which for a twelve-tool + # agent is most of the schema. + record_tool_schema_attributes(span) transcript = prompt_turn[:transcript].map do |message| { role: message[:role], content: message[:content].to_s.byteslice(0, 4000).to_s.scrub } end @@ -385,6 +394,30 @@ def mcp_dispatcher @mcp_dispatcher ||= MCPToolDispatcher.new(@agent_record) end + # Splits the offered schemas the way `tool_schemas` assembles them, so the + # span reports what the model was actually sent: nothing for a mock run, and + # one MCP round trip rather than a second one for telemetry. + def record_tool_schema_attributes(span) + mcp_definitions, toolbox_definitions = tool_schema_halves + { + "prompt.input.tools" => toolbox_definitions, + "prompt.input.mcp_tools" => mcp_definitions + }.each do |key, definitions| + next if definitions.blank? + + json = definitions.to_json + span.set_attribute(key, json.byteslice(0, PROMPT_SPAN_ATTRIBUTE_LIMIT).to_s.scrub) + span.set_attribute("#{key}.tokens", estimated_tokens(json)) + end + end + + # ~4 chars/token, the same approximation the context meter applies to content + # it sizes itself. Taken before truncation, so the meter reads the whole + # schema rather than the preview the attribute stores. + def estimated_tokens(text) + (text.length / 4.0).round + end + def call_agent(slug:, message:) depth = Thread.current[:agent_call_depth].to_i return { error: "call_agent depth limit (#{MAX_CALL_DEPTH}) reached" } if depth >= MAX_CALL_DEPTH @@ -562,13 +595,21 @@ def generate! # server-side implementations (none for mock runs — the mock provider # doesn't do tool calling). def tool_schemas - return [] if provider == :mock - - # The agent's own MCP servers describe their tools; the toolbox describes - # the rest. Without the first half a tool the agent declares is never - # offered to the model, which then answers from memory instead of calling - # it. - mcp_dispatcher.tool_definitions + AgentToolbox.definitions_for(@agent_record.tools) + mcp_definitions, toolbox_definitions = tool_schema_halves + mcp_definitions + toolbox_definitions + end + + # The agent's own MCP servers describe their tools; the toolbox describes the + # rest. Without the first half a tool the agent declares is never offered to + # the model, which then answers from memory instead of calling it. Memoized + # because listing a server's tools is a request to that server. + def tool_schema_halves + @tool_schema_halves ||= + if provider == :mock + [ [], [] ] + else + [ mcp_dispatcher.tool_definitions, AgentToolbox.definitions_for(@agent_record.tools) ] + end end # Persists the tool interaction stream to the solid_agent conversation diff --git a/actionagent/frontend/components/dashboard/ContextMeter.jsx b/actionagent/frontend/components/dashboard/ContextMeter.jsx index 2352deae..a543c0a7 100644 --- a/actionagent/frontend/components/dashboard/ContextMeter.jsx +++ b/actionagent/frontend/components/dashboard/ContextMeter.jsx @@ -1,5 +1,8 @@ import React, { useState } from 'react'; +// Re-exported for the views that size their own segments. +export { contextWindowFor, estimateTokens } from '../../utils/traceContext.mjs'; + // Context-window pressure meter (from the Active Agent design system). // A segmented bar of what occupies the model's context — messages, tool // results, instructions, tool/MCP schemas, generated output — against the @@ -17,24 +20,7 @@ const SEGMENT_COLORS = { output: '#7c3aed', }; -// Context-window sizes by model family. The provider reports real token -// counts; the window is the constraint we hold them against. -export const contextWindowFor = (model) => { - const name = (model || '').toLowerCase(); - if (name.includes('claude')) return 200000; - if (name.includes('gemini')) return 1000000; - if (name.includes('llama')) return 131072; - if (name.includes('gpt-4o') || name.includes('gpt-4-turbo') || name.includes('gpt-4.1')) return 128000; - if (name.includes('gpt-5')) return 400000; - return 128000; -}; -// ~4 chars/token, for estimating segment sizes from recorded content. -export const estimateTokens = (value) => { - if (value == null) return 0; - const text = typeof value === 'string' ? value : JSON.stringify(value); - return Math.round(text.length / 4); -}; export const formatTokenCount = (value) => { if (value == null) return '—'; diff --git a/actionagent/frontend/components/dashboard/TraceDetail.jsx b/actionagent/frontend/components/dashboard/TraceDetail.jsx index 5697b89a..d9fdea82 100644 --- a/actionagent/frontend/components/dashboard/TraceDetail.jsx +++ b/actionagent/frontend/components/dashboard/TraceDetail.jsx @@ -1,6 +1,7 @@ import React, { useCallback, useEffect, useState } from 'react'; import { TYPOGRAPHY } from '../../utils/designTokens'; -import ContextMeter, { contextWindowFor, estimateTokens } from './ContextMeter'; +import ContextMeter from './ContextMeter'; +import { traceContext } from '../../utils/traceContext.mjs'; import InteractionStream from './InteractionStream'; import SpanWaterfall, { SPAN_SORTS, @@ -9,6 +10,9 @@ import SpanWaterfall, { } from './SpanWaterfall'; import { SegmentedControl, telemetryColors } from './TelemetryObject'; +// TraceCard reads a trace's context pressure through this module. +export { traceContext }; + // 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 @@ -20,67 +24,6 @@ const TRACE_VIEWS = [ { 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 @@ -245,7 +188,7 @@ export default function TraceDetail({ trace, darkMode, compact = false, showConv {context && (
- +
)} diff --git a/actionagent/frontend/test/traceContext.test.mjs b/actionagent/frontend/test/traceContext.test.mjs new file mode 100644 index 00000000..b0304c8b --- /dev/null +++ b/actionagent/frontend/test/traceContext.test.mjs @@ -0,0 +1,156 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import { traceContext } from '../utils/traceContext.mjs'; + +// The context meter divides one real number — the provider's prompt_tokens — +// among segments it can only approximate. These pin where each segment's size +// comes from, and that the division always adds back up to what was reported. + +const trace = ({ attributes = {}, input = 1000, output = 100, spans = [] } = {}) => ({ + model: 'gpt-5.5', + spans: [ + { + span_id: 'llm', + tokens: { input, output, thinking: 0, cached: 0 }, + attributes, + }, + ...spans, + ], +}); + +const segment = (context, key) => context.segments.find((s) => s.key === key).tokens; + +test('returns null for a trace whose spans report no tokens', () => { + assert.equal(traceContext({ spans: [{ span_id: 'a', tokens: {} }] }), null); + assert.equal(traceContext(null), null); +}); + +test('prefers a recorded *.tokens size over estimating from the stored preview', () => { + // The preview is clipped at storage, so estimating from it understates the + // schema; the recorded count is taken before the clip. + const context = traceContext( + trace({ + attributes: { + 'prompt.input.tools': '[{"name":"a"}]', + 'prompt.input.tools.tokens': 900, + 'prompt.input.instructions': 'x'.repeat(400), + }, + }) + ); + + // 900 recorded + 100 estimated instructions = 1000, exactly prompt_tokens. + assert.equal(segment(context, 'tool_schemas'), 900); + assert.equal(segment(context, 'instructions'), 100); + assert.equal(segment(context, 'messages'), 0); +}); + +test('estimates from content for a trace recorded without the token counts', () => { + const context = traceContext( + trace({ attributes: { 'prompt.input.instructions': 'x'.repeat(400) }, input: 1000 }) + ); + + // Nothing else is attributable, so the estimate scales to fill the total. + assert.equal(segment(context, 'instructions'), 1000); + assert.equal(segment(context, 'messages'), 0); +}); + +test('reads the RubyLLM adapter attribute names too', () => { + const context = traceContext( + trace({ attributes: { 'llm.instructions': 'x'.repeat(400), 'llm.tools': 'y'.repeat(400) } }) + ); + + assert.equal(segment(context, 'instructions'), 500); + assert.equal(segment(context, 'tool_schemas'), 500); +}); + +test('scales an under-estimate up so the shortfall is not charged to messages', () => { + // char/4 under-counts dense JSON schemas: the segments estimate 200 tokens + // where the provider billed 1000. Subtracting instead of scaling would leave + // 800 in "Messages" for a trace that sent no messages at all. + const context = traceContext( + trace({ attributes: { 'prompt.input.tools.tokens': 200 }, input: 1000 }) + ); + + assert.equal(segment(context, 'tool_schemas'), 1000); + assert.equal(segment(context, 'messages'), 0); +}); + +test('scales an over-estimate down so no segment exceeds the reported input', () => { + const context = traceContext( + trace({ attributes: { 'prompt.input.tools.tokens': 4000 }, input: 1000 }) + ); + + assert.equal(segment(context, 'tool_schemas'), 1000); + assert.equal(segment(context, 'messages'), 0); +}); + +test('attributes MCP schemas separately from the toolbox schemas', () => { + const context = traceContext( + trace({ + attributes: { + 'prompt.input.tools.tokens': 300, + 'prompt.input.mcp_tools.tokens': 700, + }, + }) + ); + + assert.equal(segment(context, 'tool_schemas'), 300); + assert.equal(segment(context, 'mcp_schemas'), 700); +}); + +test('the input segments always sum to the reported prompt tokens', () => { + // Three segments that scale to thirds would each round to 333 and lose a + // token; messages carries the remainder so the bar still fills. + const context = traceContext( + trace({ + attributes: { + 'prompt.input.tools.tokens': 100, + 'prompt.input.mcp_tools.tokens': 100, + 'prompt.input.instructions.tokens': 100, + }, + input: 1000, + }) + ); + + const input = context.segments + .filter((s) => s.key !== 'output') + .reduce((sum, s) => sum + s.tokens, 0); + + assert.equal(input, 1000); +}); + +test('counts tool results from either telemetry shape, capped at the input total', () => { + const context = traceContext( + trace({ + input: 1000, + spans: [ + { span_id: 't1', attributes: { 'tool.output.result': 'r'.repeat(400) } }, + { span_id: 't2', attributes: { 'tool.arguments': 'a'.repeat(400) } }, + ], + }) + ); + + assert.equal(segment(context, 'tool_results'), 1000); +}); + +test('marks itself estimated only when a segment was sized here', () => { + assert.equal(traceContext(trace({ attributes: { 'prompt.input.tools.tokens': 100 } })).estimated, true); + assert.equal(traceContext(trace()).estimated, false); +}); + +test('holds the peak generation against the model window', () => { + const context = traceContext({ + model: 'claude-sonnet-5', + spans: [ + { span_id: 'small', tokens: { input: 10, output: 5 } }, + { span_id: 'big', tokens: { input: 900, output: 100, cached: 40, thinking: 20 } }, + ], + }); + + assert.equal(context.used, 1000); + assert.equal(context.limit, 200000); + assert.equal(context.cached, 40); + assert.equal(context.thinking, 20); + assert.equal(segment(context, 'output'), 100); +}); diff --git a/actionagent/frontend/utils/traceContext.mjs b/actionagent/frontend/utils/traceContext.mjs new file mode 100644 index 00000000..2a8eab69 --- /dev/null +++ b/actionagent/frontend/utils/traceContext.mjs @@ -0,0 +1,131 @@ +// Context pressure: what the biggest generation in a trace held against the +// model's window. +// +// Kept apart from the components that render it so it can be tested directly. + +// Context-window sizes by model family. The provider reports real token +// counts; the window is the constraint we hold them against. +export const contextWindowFor = (model) => { + const name = (model || '').toLowerCase(); + if (name.includes('claude')) return 200000; + if (name.includes('gemini')) return 1000000; + if (name.includes('llama')) return 131072; + if (name.includes('gpt-4o') || name.includes('gpt-4-turbo') || name.includes('gpt-4.1')) return 128000; + if (name.includes('gpt-5')) return 400000; + return 128000; +}; + +// ~4 chars/token, for estimating segment sizes from recorded content. +export const estimateTokens = (value) => { + if (value == null) return 0; + const text = typeof value === 'string' ? value : JSON.stringify(value); + return Math.round(text.length / 4); +}; + +// Context pressure: what the biggest generation in this trace held against the +// model's window. The input and output totals are the provider's own counts; +// how the input divides across the segments is apportioned, from a recorded +// `*.tokens` size where the span carries one and a ~4 chars/token estimate of +// the stored preview otherwise. +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). + // A recorded *.tokens attribute is the real size, measured before the + // content attribute was truncated for storage. Estimating from the stored + // preview instead understates whatever the clip dropped — and for tool + // schemas the preview is a lossy roster, not the schema the model was sent. + // Fall back to estimating only for traces recorded before those counts + // existed, or from adapters that do not emit them. + const sized = (tokenKey, ...contentKeys) => { + const recorded = Number(attr(tokenKey)); + if (Number.isFinite(recorded) && recorded > 0) return recorded; + for (const key of contentKeys) { + const value = attr(key); + if (value) return estimateTokens(value); + } + return 0; + }; + + const instructions = sized('prompt.input.instructions.tokens', 'prompt.input.instructions', 'llm.instructions'); + const toolSchemas = sized('prompt.input.tools.tokens', 'prompt.input.tools', 'llm.tools'); + const mcpSchemas = sized('prompt.input.mcp_tools.tokens', '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); + + // The segments are ~4 chars/token approximations of individual pieces, while + // `peak.input` is the provider's own prompt_tokens for all of them together. + // Charging the difference to "Messages" — subtracting the segments from the + // total — makes that one segment absorb the whole approximation error, so a + // trace with dense JSON tool schemas reads as a large message history that + // was never sent. Scaling the segments to fit the real total spreads the + // error over the pieces it came from instead. + // + // The segments still cannot exceed the total, so the remainder is floored at + // zero, and it is the segment that carries whatever the others did not claim. + const estimatedInput = instructions + toolSchemas + mcpSchemas + toolResults; + const scale = estimatedInput > 0 && peak.input > 0 ? peak.input / estimatedInput : 1; + const scaled = (value) => Math.round(value * scale); + + const inputSegments = { + instructions: scaled(instructions), + toolSchemas: scaled(toolSchemas), + mcpSchemas: scaled(mcpSchemas), + toolResults: scaled(toolResults), + }; + const attributed = inputSegments.instructions + inputSegments.toolSchemas + + inputSegments.mcpSchemas + inputSegments.toolResults; + // Whatever prompt_tokens holds beyond the parts we can attribute is the + // message transcript plus the provider's own framing overhead. + const messages = Math.max(peak.input - attributed, 0); + + return { + used: peak.total, + limit: contextWindowFor(trace.model), + cached: peak.cached, + thinking: peak.thinking, + // The provider reports the input and output totals; how the input divides + // across the segments below is apportioned from them, so the meter labels + // itself estimated whenever any segment was sized here. + estimated: estimatedInput > 0, + segments: [ + { key: 'messages', label: 'Messages', tokens: messages }, + { key: 'tool_results', label: 'Tool results', tokens: inputSegments.toolResults }, + { key: 'instructions', label: 'Instructions', tokens: inputSegments.instructions }, + { key: 'tool_schemas', label: 'Tool schemas', tokens: inputSegments.toolSchemas }, + { key: 'mcp_schemas', label: 'MCP tool schemas', tokens: inputSegments.mcpSchemas }, + { key: 'output', label: 'Generated output', tokens: peak.output }, + ], + }; +}; diff --git a/actionagent/test/runner_workbench_test.rb b/actionagent/test/runner_workbench_test.rb index 0dfa7564..366103b3 100644 --- a/actionagent/test/runner_workbench_test.rb +++ b/actionagent/test/runner_workbench_test.rb @@ -254,6 +254,57 @@ def service_for(run) assert_not_includes span.attributes["prompt.input.messages"], "base64" end + # A mock run offers the model no tools, so the span records none — the same + # source the run itself reads, rather than a second look at the agent's + # declared tools. + test "the prompt span records no tool schemas for a mock run" do + run = @agent.agent_runs.create!(input_prompt: "hi", status: :pending) + root = ActiveAgent::Telemetry::Span.new("SalesCopilotAgent.prompt", trace_id: run.trace_id, span_type: :root) + + service_for(run).record_prompt_span(root) + + span = root.children.first + assert_nil span.attributes["prompt.input.tools"] + assert_nil span.attributes["prompt.input.tools.tokens"] + end + + # The content attribute is a clipped preview, so the size travels separately: + # a reader that measured the preview would understate whatever the clip drops. + test "the prompt span sizes tool schemas before truncating them" do + definitions = [ { "type" => "function", "function" => { "name" => "lookup", "description" => "x" * 8000 } } ] + run = @agent.agent_runs.create!(input_prompt: "hi", status: :pending) + service = service_for(run) + service.stub(:tool_schema_halves, [ [], definitions ]) do + root = ActiveAgent::Telemetry::Span.new("SalesCopilotAgent.prompt", trace_id: run.trace_id, span_type: :root) + service.record_prompt_span(root) + + span = root.children.first + limit = ActionAgent::AgentExecutionService::PROMPT_SPAN_ATTRIBUTE_LIMIT + assert_equal limit, span.attributes["prompt.input.tools"].bytesize + assert_equal (definitions.to_json.length / 4.0).round, span.attributes["prompt.input.tools.tokens"] + assert_operator span.attributes["prompt.input.tools.tokens"], :>, limit / 4 + end + end + + # MCP and toolbox schemas are attributed apart so the meter can name which + # half fills the window. + test "the prompt span attributes MCP schemas separately from toolbox schemas" do + mcp = [ { "type" => "function", "function" => { "name" => "browser_navigate" } } ] + toolbox = [ { "type" => "function", "function" => { "name" => "render_ui" } } ] + run = @agent.agent_runs.create!(input_prompt: "hi", status: :pending) + service = service_for(run) + service.stub(:tool_schema_halves, [ mcp, toolbox ]) do + root = ActiveAgent::Telemetry::Span.new("SalesCopilotAgent.prompt", trace_id: run.trace_id, span_type: :root) + service.record_prompt_span(root) + + span = root.children.first + assert_includes span.attributes["prompt.input.tools"], "render_ui" + assert_includes span.attributes["prompt.input.mcp_tools"], "browser_navigate" + assert_equal (toolbox.to_json.length / 4.0).round, span.attributes["prompt.input.tools.tokens"] + assert_equal (mcp.to_json.length / 4.0).round, span.attributes["prompt.input.mcp_tools.tokens"] + end + end + # The framework fix the workbench relies on: the mock provider has no # vision, but a media-only turn must still be a valid message. test "the mock provider accepts media-only turns" do diff --git a/lib/active_agent/telemetry/instrumentation.rb b/lib/active_agent/telemetry/instrumentation.rb index 7578f686..b9e8d7e2 100644 --- a/lib/active_agent/telemetry/instrumentation.rb +++ b/lib/active_agent/telemetry/instrumentation.rb @@ -101,7 +101,23 @@ def process_prompt parameters: properties.is_a?(Hash) ? properties.keys : [] }.compact } - prompt_span.set_attribute("prompt.input.tools", JSON.generate(roster)) if roster.any? + if roster.any? + prompt_span.set_attribute("prompt.input.tools", JSON.generate(roster)) + # The roster is a reading aid: names, a truncated description + # and parameter keys. What the model is sent is the full JSON + # Schema — types, enums, nested objects, anyOf branches — + # which for a twelve-tool agent is several times the roster, + # so a context meter sizing tool pressure from the roster + # understates it badly. The schemas come from the host and + # need not be serializable; a size is worth less than the + # generation it would otherwise take down. + tools_size = begin + JSON.generate(tools).length + rescue StandardError + nil + end + prompt_span.set_attribute("prompt.input.tools.tokens", (tools_size / 4.0).round) if tools_size + end end # prompt_options[:messages] holds the turns a caller passed diff --git a/test/telemetry/tool_schema_size_test.rb b/test/telemetry/tool_schema_size_test.rb new file mode 100644 index 00000000..e514c8a8 --- /dev/null +++ b/test/telemetry/tool_schema_size_test.rb @@ -0,0 +1,108 @@ +# frozen_string_literal: true + +require "test_helper" + +# The tool roster on a prompt span is a reading aid — names, a clipped +# description, parameter keys — while the model is sent the whole JSON Schema. +# A context meter sizing tool pressure from the roster would understate it, so +# the schemas' own size travels as `prompt.input.tools.tokens`. +class ToolSchemaSizeTest < ActiveSupport::TestCase + class Agent + prepend ActiveAgent::Telemetry::Instrumentation::GenerationInstrumentation + + attr_reader :prompt_options + + def initialize(tools) + @prompt_options = { tools: tools } + end + + def action_name = "ask" + def process_prompt = :generated + end + + def setup + @config = ActiveAgent::Telemetry.configuration + @saved = { enabled: @config.enabled, api_key: @config.api_key, local_storage: @config.local_storage } + @config.enabled = true + @config.api_key = "test-key" + @config.local_storage = true + end + + def teardown + @config.enabled = @saved[:enabled] + @config.api_key = @saved[:api_key] + @config.local_storage = @saved[:local_storage] + ActiveAgent::Telemetry.tracer.clear if ActiveAgent::Telemetry.tracer.respond_to?(:clear) + end + + # A schema whose description and nested properties are far larger than the + # roster that summarizes it. + def schema(name) + { + name: name, + description: "d" * 2000, + parameters: { + type: "object", + properties: { query: { type: "string", description: "q" * 2000 } } + } + } + end + + def prompt_attributes(tools) + captured = nil + ActiveAgent::Telemetry.stub(:trace, ->(_name, **_opts, &block) { + span = FakeSpan.new + block.call(span) + captured = span.children.first&.attributes || {} + :generated + }) do + Agent.new(tools).process_prompt + end + captured + end + + class FakeSpan + attr_reader :attributes, :children + + def initialize + @attributes = {} + @children = [] + end + + def add_span(_name, span_type: nil) + FakeSpan.new.tap { |span| children << span } + end + + def set_attribute(key, value) = attributes[key] = value + def set_status(*) = nil + def record_error(*) = nil + def finish = nil + end + + test "the recorded size measures the schemas, not the roster that summarizes them" do + tools = [ schema("search") ] + + attributes = prompt_attributes(tools) + + roster_tokens = attributes["prompt.input.tools"].length / 4.0 + assert_equal (tools.to_json.length / 4.0).round, attributes["prompt.input.tools.tokens"] + assert_operator attributes["prompt.input.tools.tokens"], :>, roster_tokens * 2, + "the schemas are several times the roster, so sizing the roster understates them" + end + + # Schemas come from the host and need not be serializable. A size is worth + # less than the generation it would otherwise take down. + test "a schema that cannot be serialized costs the size but not the generation" do + cyclic = schema("search") + cyclic[:parameters][:properties][:query][:self] = cyclic + + attributes = prompt_attributes([ cyclic ]) + + assert attributes["prompt.input.tools"].present?, "the roster is still recorded" + assert_nil attributes["prompt.input.tools.tokens"] + end + + test "no tools means no tool attributes" do + assert_nil prompt_attributes([])["prompt.input.tools"] + end +end From d2d806ff19b8b6aea9638c731579065dbd654d8a Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 17 Sep 2026 22:09:51 +0000 Subject: [PATCH 3/8] fix(telemetry): apportion the transcript, not just the rest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The context meter scales its segments to fill the provider's prompt_tokens rather than subtracting estimates from it, which is the right call — but the transcript was left out of the set being scaled. Scaling a subset to fill the total hands the missing piece's share to the segments that remain, so the segment the change set out to stop over-reporting became one that could never report anything at all: `messages` was computed as the remainder after the others had been scaled up to cover the whole total, which is zero by construction. On an ordinary dashboard trace — a long conversation, a small system prompt, one small tool — a 500-token instruction set rendered as 13,333 tokens and a 19,250-token history as 0. That is the same failure the change was written to fix, pointed at a different segment. The transcript is now sized and scaled like the others. It is the one piece whose stored attribute is a trimmed tail rather than a clipped head, which is why it had been left as the remainder: `prompt.input.messages` holds only the turns that fit the attribute budget. So the service records `prompt.input.messages.tokens` measured over the full turn, before either the per-message clip or the oldest-first trim, and the meter prefers it, falling back to estimating from the preview for traces recorded without it. With nothing sizable at all the prompt stays whole in `messages` rather than being spread over segments with no evidence behind them, and the rounding drift goes to the largest segment so the bar still fills exactly. The existing 36 frontend tests pass unchanged: none supplied a transcript size, which is how the subset was able to look complete. Four cover it now, two of which fail against the previous logic, plus one on the service for the size surviving the trim. Verified: 40 frontend tests; 2027 Ruby runs, 0 failures (34 errors are this sandbox blocking outbound HTTP, an identical set before and after); rubocop 551 files, no offenses; bundle rebuilt, and rebuilding the unmodified base reproduces its committed bundle byte for byte, so the only bundle change here is this one. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01J9cRpVTtxA8QZBTmnYSC7V --- CHANGELOG.md | 18 ++-- actionagent/app/assets/builds/action_agent.js | 84 +++++++++---------- .../action_agent/agent_execution_service.rb | 10 +++ .../frontend/test/traceContext.test.mjs | 75 ++++++++++++++++- actionagent/frontend/utils/traceContext.mjs | 63 +++++++++----- actionagent/test/runner_workbench_test.rb | 26 ++++++ 6 files changed, 203 insertions(+), 73 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a098ef09..ba736f7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,12 +14,14 @@ Releases `activeagent` and `actionagent` 1.6.3 from one tag. ### Added - The prompt span records how large the tool schemas actually are, as - `prompt.input.tools.tokens`, `prompt.input.mcp_tools.tokens` and - `prompt.input.instructions.tokens`. The content attributes beside them are - previews clipped for storage — and on the SDK path the tool attribute is a - roster of names and parameter keys, several times smaller than the schema the - model is sent — so a reader that sized the context from one understated tool - pressure badly. + `prompt.input.tools.tokens`, `prompt.input.mcp_tools.tokens`, + `prompt.input.instructions.tokens` and `prompt.input.messages.tokens`. The + transcript's size is measured before the span trims the history to the turns + that fit, the others before their content is clipped. The content attributes + beside them are previews clipped for storage — and on the SDK path the tool + attribute is a roster of names and parameter keys, several times smaller than + the schema the model is sent — so a reader that sized the context from one + understated tool pressure badly. - MCP tool schemas are attributed apart from the toolbox's, so the context meter can name which half fills the window. @@ -29,7 +31,9 @@ Releases `activeagent` and `actionagent` 1.6.3 from one tag. among its segments instead of subtracting its estimates from it. Charging the difference to one segment made "Messages" absorb the whole approximation error, so a trace with dense JSON tool schemas read as a large message history - that was never sent. + that was never sent. The transcript is one of the divided segments: dividing + only the rest would hand its share to the segments that remained, so a long + conversation reported an enormous system prompt and no history at all. ## [1.6.2] - 2026-09-16 diff --git a/actionagent/app/assets/builds/action_agent.js b/actionagent/app/assets/builds/action_agent.js index e3d1e4f4..a7c75ab4 100644 --- a/actionagent/app/assets/builds/action_agent.js +++ b/actionagent/app/assets/builds/action_agent.js @@ -5,79 +5,79 @@ var lU=Object.create;var pw=Object.defineProperty;var sU=Object.getOwnPropertyDe `);for(a=n=0;na||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{Tw=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?_s(r):""}function $U(e,t){switch(e.tag){case 26:case 27:case 5:return _s(e.type);case 16:return _s("Lazy");case 13:return e.child!==t&&t!==null?_s("Suspense Fallback"):_s("Suspense");case 19:return _s("SuspenseList");case 0:case 15:return Mw(e.type,!1);case 11:return Mw(e.type.render,!1);case 1:return Mw(e.type,!0);case 31:return _s("Activity");default:return""}}function k5(e){try{var t="",r=null;do t+=$U(e,r),r=e,e=e.return;while(e);return t}catch(n){return` Error generating stack: `+n.message+` -`+n.stack}}var vS=Object.prototype.hasOwnProperty,o2=Kr.unstable_scheduleCallback,Pw=Kr.unstable_cancelCallback,UU=Kr.unstable_shouldYield,FU=Kr.unstable_requestPaint,ca=Kr.unstable_now,WU=Kr.unstable_getCurrentPriorityLevel,RO=Kr.unstable_ImmediatePriority,eT=Kr.unstable_UserBlockingPriority,ry=Kr.unstable_NormalPriority,HU=Kr.unstable_LowPriority,tT=Kr.unstable_IdlePriority,VU=Kr.log,KU=Kr.unstable_setDisableYieldValue,Hp=null,da=null;function vl(e){if(typeof VU=="function"&&KU(e),da&&typeof da.setStrictMode=="function")try{da.setStrictMode(Hp,e)}catch{}}var fa=Math.clz32?Math.clz32:GU,qU=Math.log,YU=Math.LN2;function GU(e){return e>>>=0,e===0?32:31-(qU(e)/YU|0)|0}var wg=256,Sg=262144,Ag=4194304;function Os(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 _y(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~o,n!==0?a=Os(n):(i&=l,i!==0?a=Os(i):r||(r=l&~e,r!==0&&(a=Os(r))))):(l=n&~o,l!==0?a=Os(l):i!==0?a=Os(i):r||(r=n&~e,r!==0&&(a=Os(r)))),a===0?0:t!==0&&t!==a&&(t&o)===0&&(o=a&-a,r=t&-t,o>=r||o===32&&(r&4194048)!==0)?t:a}function Vp(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function XU(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 rT(){var e=Ag;return Ag<<=1,(Ag&62914560)===0&&(Ag=4194304),e}function Dw(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Kp(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ZU(e,t,r,n,a,o){var i=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(r=i&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var rF=/[\n"\\]/g;function ja(e){return e.replace(rF,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function hS(e,t,r,n,a,o,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pa(t)):e.value!==""+Pa(t)&&(e.value=""+Pa(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?xS(e,i,Pa(t)):r!=null?xS(e,i,Pa(r)):n!=null&&e.removeAttribute("value"),a==null&&o!=null&&(e.defaultChecked=!!o),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Pa(l):e.removeAttribute("name")}function dT(e,t,r,n,a,o,i,l){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||r!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){yS(e);return}r=r!=null?""+Pa(r):"",t=t!=null?""+Pa(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,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),yS(e)}function xS(e,t,r){t==="number"&&ny(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function Dc(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"),wS=!1;if(hi)try{vc={},Object.defineProperty(vc,"passive",{get:function(){wS=!0}}),window.addEventListener("test",vc,vc),window.removeEventListener("test",vc,vc)}catch{wS=!1}var vc,gl=null,d2=null,Ug=null;function gT(){if(Ug)return Ug;var e,t=d2,r=t.length,n,a="value"in gl?gl.value:gl.textContent,o=a.length;for(e=0;e=vp),j5=" ",z5=!1;function hT(e,t){switch(e){case"keyup":return TF.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xT(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kc=!1;function PF(e,t){switch(e){case"compositionend":return xT(t);case"keypress":return t.which!==32?null:(z5=!0,j5);case"textInput":return e=t.data,e===j5&&z5?null:e;default:return null}}function DF(e,t){if(kc)return e==="compositionend"||!p2&&hT(e,t)?(e=gT(),Ug=d2=gl=null,kc=!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=U5(r)}}function AT(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?AT(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function kT(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ny(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=ny(e.document)}return t}function m2(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 FF=hi&&"documentMode"in document&&11>=document.documentMode,Nc=null,SS=null,yp=null,AS=!1;function W5(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;AS||Nc==null||Nc!==ny(n)||(n=Nc,"selectionStart"in n&&m2(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}),yp&&Mp(yp,n)||(yp=n,n=wy(SS,"onSelect"),0>=i,a-=i,Do=1<<32-fa(t)+a|r<k?(A=O,O=null):A=O.sibling;var M=f(m,O,x[k],b);if(M===null){O===null&&(O=A);break}e&&O&&M.alternate===null&&t(m,O),g=o(M,g,k),w===null?S=M:w.sibling=M,w=M,O=A}if(k===x.length)return r(m,O),yt&&ci(m,k),S;if(O===null){for(;kk?(A=O,O=null):A=O.sibling;var W=f(m,O,M.value,b);if(W===null){O===null&&(O=A);break}e&&O&&W.alternate===null&&t(m,O),g=o(W,g,k),w===null?S=W:w.sibling=W,w=W,O=A}if(M.done)return r(m,O),yt&&ci(m,k),S;if(O===null){for(;!M.done;k++,M=x.next())M=d(m,M.value,b),M!==null&&(g=o(M,g,k),w===null?S=M:w.sibling=M,w=M);return yt&&ci(m,k),S}for(O=n(O);!M.done;k++,M=x.next())M=p(O,m,k,M.value,b),M!==null&&(e&&M.alternate!==null&&O.delete(M.key===null?k:M.key),g=o(M,g,k),w===null?S=M:w.sibling=M,w=M);return e&&O.forEach(function(L){return t(m,L)}),yt&&ci(m,k),S}function h(m,g,x,b){if(typeof x=="object"&&x!==null&&x.type===bc&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case bg:e:{for(var S=x.key;g!==null;){if(g.key===S){if(S=x.type,S===bc){if(g.tag===7){r(m,g.sibling),b=a(g,x.props.children),b.return=m,m=b;break e}}else if(g.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===ul&&Ts(S)===g.type){r(m,g.sibling),b=a(g,x.props),op(b,x),b.return=m,m=b;break e}r(m,g);break}else t(m,g);g=g.sibling}x.type===bc?(b=Ds(x.props.children,m.mode,b,x.key),b.return=m,m=b):(b=Wg(x.type,x.key,x.props,null,m.mode,b),op(b,x),b.return=m,m=b)}return i(m);case cp:e:{for(S=x.key;g!==null;){if(g.key===S)if(g.tag===4&&g.stateNode.containerInfo===x.containerInfo&&g.stateNode.implementation===x.implementation){r(m,g.sibling),b=a(g,x.children||[]),b.return=m,m=b;break e}else{r(m,g);break}else t(m,g);g=g.sibling}b=Fw(x,m.mode,b),b.return=m,m=b}return i(m);case ul:return x=Ts(x),h(m,g,x,b)}if(dp(x))return v(m,g,x,b);if(np(x)){if(S=np(x),typeof S!="function")throw Error(pe(150));return x=S.call(x),y(m,g,x,b)}if(typeof x.then=="function")return h(m,g,Og(x),b);if(x.$$typeof===fi)return h(m,g,_g(m,x),b);Tg(m,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,g!==null&&g.tag===6?(r(m,g.sibling),b=a(g,x),b.return=m,m=b):(r(m,g),b=Uw(x,m.mode,b),b.return=m,m=b),i(m)):r(m,g)}return function(m,g,x,b){try{Ip=0;var S=h(m,g,x,b);return zc=null,S}catch(O){if(O===Rc||O===Iy)throw O;var w=sa(29,O,null,m.mode);return w.lanes=b,w.return=m,w}}}var $s=$T(!0),UT=$T(!1),cl=!1;function A2(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function TS(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 Sl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Al(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Ot&2)!==0){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,t=oy(e),MT(e,null,r),t}return Dy(e,n,t,r),oy(e)}function xp(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,aT(e,r)}}function Hw(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,o=null;if(r=r.firstBaseUpdate,r!==null){do{var i={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};o===null?a=o=i:o=o.next=i,r=r.next}while(r!==null);o===null?a=o=t:o=o.next=t}else a=o=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:o,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 MS=!1;function bp(){if(MS){var e=jc;if(e!==null)throw e}}function wp(e,t,r,n){MS=!1;var a=e.updateQueue;cl=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,u=s.next;s.next=null,i===null?o=u:i.next=u,i=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==i&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(o!==null){var d=a.baseState;i=0,c=u=s=null,l=o;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(vt&f)===f:(n&f)===f){f!==0&&f===Wc&&(MS=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var v=e,y=l;f=t;var h=r;switch(y.tag){case 1:if(v=y.payload,typeof v=="function"){d=v.call(h,d,f);break e}d=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=y.payload,f=typeof v=="function"?v.call(h,d,f):v,f==null)break e;d=er({},d,f);break e;case 2:cl=!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,i|=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,o===null&&(a.shared.lanes=0),Pl|=i,e.lanes=i,e.memoizedState=d}}function FT(e,t){if(typeof e!="function")throw Error(pe(191,e));e.call(t)}function WT(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;eo?o:8;var i=Ke.T,l={};Ke.T=l,z2(e,!1,t,r);try{var s=a(),u=Ke.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=ZF(s,n);Sp(e,t,c,pa(e))}else Sp(e,t,n,pa(e))}catch(d){Sp(e,t,{then:function(){},status:"rejected",reason:d},pa())}finally{Tt.p=o,i!==null&&l.types!==null&&(i.types=l.types),Ke.T=i}}function rW(){}function zS(e,t,r,n){if(e.tag!==5)throw Error(pe(476));var a=p4(e).queue;f4(e,a,t,Ps,r===null?rW:function(){return m4(e),r(n)})}function p4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Ps,baseState:Ps,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:Ps},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function m4(e){var t=p4(e);t.next===null&&(t=e.alternate.memoizedState),Sp(e,t.next.queue,{},pa())}function j2(){return pn($p)}function v4(){return Or().memoizedState}function g4(){return Or().memoizedState}function nW(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=pa();e=Sl(r);var n=Al(t,e,r);n!==null&&(Kn(n,t,r),xp(n,t,r)),t={cache:b2()},e.payload=t;return}t=t.return}}function aW(e,t,r){var n=pa();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},By(e)?h4(t,r):(r=g2(e,t,r,n),r!==null&&(Kn(r,e,n),x4(r,t,n)))}function y4(e,t,r){var n=pa();Sp(e,t,r,n)}function Sp(e,t,r,n){var a={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(By(e))h4(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,l=o(i,r);if(a.hasEagerState=!0,a.eagerState=l,ma(l,i))return Dy(e,t,a,0),$t===null&&Py(),!1}catch{}if(r=g2(e,t,a,n),r!==null)return Kn(r,e,n),x4(r,t,n),!0}return!1}function z2(e,t,r,n){if(n={lane:2,revertLane:K2(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},By(e)){if(t)throw Error(pe(479))}else t=g2(e,r,n,2),t!==null&&Kn(t,e,2)}function By(e){var t=e.alternate;return e===et||t!==null&&t===et}function h4(e,t){Lc=dy=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function x4(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,aT(e,r)}}var zp={readContext:pn,use:zy,useCallback:br,useContext:br,useEffect:br,useImperativeHandle:br,useLayoutEffect:br,useInsertionEffect:br,useMemo:br,useReducer:br,useRef:br,useState:br,useDebugValue:br,useDeferredValue:br,useTransition:br,useSyncExternalStore:br,useId:br,useHostTransitionStatus:br,useFormState:br,useActionState:br,useOptimistic:br,useMemoCache:br,useCacheRefresh:br};zp.useEffectEvent=br;var b4={readContext:pn,use:zy,useCallback:function(e,t){return Tn().memoizedState=[e,t===void 0?null:t],e},useContext:pn,useEffect:nO,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,Kg(4194308,4,l4.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Kg(4194308,4,e,t)},useInsertionEffect:function(e,t){Kg(4,2,e,t)},useMemo:function(e,t){var r=Tn();t=t===void 0?null:t;var n=e();if(Us){vl(!0);try{e()}finally{vl(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=Tn();if(r!==void 0){var a=r(t);if(Us){vl(!0);try{r(t)}finally{vl(!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=aW.bind(null,et,e),[n.memoizedState,e]},useRef:function(e){var t=Tn();return e={current:e},t.memoizedState=e},useState:function(e){e=IS(e);var t=e.queue,r=y4.bind(null,et,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:D2,useDeferredValue:function(e,t){var r=Tn();return I2(r,e,t)},useTransition:function(){var e=IS(!1);return e=f4.bind(null,et,e.queue,!0,!1),Tn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=et,a=Tn();if(yt){if(r===void 0)throw Error(pe(407));r=r()}else{if(r=t(),$t===null)throw Error(pe(349));(vt&127)!==0||YT(n,t,r)}a.memoizedState=r;var o={value:r,getSnapshot:t};return a.queue=o,nO(XT.bind(null,n,o,e),[e]),n.flags|=2048,Vc(9,{destroy:void 0},GT.bind(null,n,o,r,t),null),r},useId:function(){var e=Tn(),t=$t.identifierPrefix;if(yt){var r=Io,n=Do;r=(n&~(1<<32-fa(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=fy++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof n.is=="string"?i.createElement("select",{is:n.is}):i.createElement("select"),n.multiple?o.multiple=!0:n.size&&(o.size=n.size);break;default:o=typeof n.is=="string"?i.createElement(a,{is:n.is}):i.createElement(a)}}o[dn]=t,o[qn]=n;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)o.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=o;e:switch(mn(o,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&&ii(t)}}return Jt(t),Qw(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&ii(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(pe(166));if(e=bl.current,gc(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,a=fn,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}e[dn]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||y3(e.nodeValue,r)),e||Tl(t,!0)}else e=Sy(e).createTextNode(n),e[dn]=t,t.stateNode=e}return Jt(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=gc(t),r!==null){if(e===null){if(!n)throw Error(pe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(pe(557));e[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),e=!1}else r=Ww(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(la(t),t):(la(t),null);if((t.flags&128)!==0)throw Error(pe(558))}return Jt(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=gc(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(pe(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(pe(317));a[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),a=!1}else a=Ww(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(la(t),t):(la(t),null)}return la(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),o=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(o=n.memoizedState.cachePool.pool),o!==a&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),Mg(t,t.updateQueue),Jt(t),null);case 4:return $c(),e===null&&q2(t.stateNode.containerInfo),Jt(t),null;case 10:return gi(t.type),Jt(t),null;case 19:if(tn(_r),n=t.memoizedState,n===null)return Jt(t),null;if(a=(t.flags&128)!==0,o=n.rendering,o===null)if(a)ip(n,!1);else{if(wr!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=cy(e),o!==null){for(t.flags|=128,ip(n,!1),e=o.updateQueue,t.updateQueue=e,Mg(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)PT(r,e),r=r.sibling;return Kt(_r,_r.current&1|2),yt&&ci(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&ca()>gy&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304)}else{if(!a)if(e=cy(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Mg(t,e),ip(n,!0),n.tail===null&&n.tailMode==="hidden"&&!o.alternate&&!yt)return Jt(t),null}else 2*ca()-n.renderingStartTime>gy&&r!==536870912&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(e=n.last,e!==null?e.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=ca(),e.sibling=null,r=_r.current,Kt(_r,a?r&1|2:r&1),yt&&ci(t,n.treeForkCount),e):(Jt(t),null);case 22:case 23:return la(t),k2(),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&&(Jt(t),t.subtreeFlags&6&&(t.flags|=8192)):Jt(t),r=t.updateQueue,r!==null&&Mg(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&&tn(Is),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),gi($r),Jt(t),null;case 25:return null;case 30:return null}throw Error(pe(156,t.tag))}function uW(e,t){switch(x2(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return gi($r),$c(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ty(t),null;case 31:if(t.memoizedState!==null){if(la(t),t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(la(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return tn(_r),null;case 4:return $c(),null;case 10:return gi(t.type),null;case 22:case 23:return la(t),k2(),e!==null&&tn(Is),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return gi($r),null;case 25:return null;default:return null}}function P4(e,t){switch(x2(t),t.tag){case 3:gi($r),$c();break;case 26:case 27:case 5:ty(t);break;case 4:$c();break;case 31:t.memoizedState!==null&&la(t);break;case 13:la(t);break;case 19:tn(_r);break;case 10:gi(t.type);break;case 22:case 23:la(t),k2(),e!==null&&tn(Is);break;case 24:gi($r)}}function Zp(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 o=r.create,i=r.inst;n=o(),i.destroy=n}r=r.next}while(r!==a)}}catch(l){It(t,t.return,l)}}function Ml(e,t,r){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var o=a.next;n=o;do{if((n.tag&e)===e){var i=n.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,a=t;var s=r,u=l;try{u()}catch(c){It(a,s,c)}}}n=n.next}while(n!==o)}}catch(c){It(t,t.return,c)}}function D4(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{WT(t,r)}catch(n){It(e,e.return,n)}}}function I4(e,t,r){r.props=Fs(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){It(e,t,n)}}function Ap(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){It(e,t,a)}}function jo(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(a){It(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){It(e,t,a)}else r.current=null}function j4(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){It(e,e.return,a)}}function Jw(e,t,r){try{var n=e.stateNode;OW(n,e.type,r,t),n[qn]=t}catch(a){It(e,e.return,a)}}function z4(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Il(e.type)||e.tag===4}function Rw(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||z4(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&&Il(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 FS(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=pi));else if(n!==4&&(n===27&&Il(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(FS(e,t,r),e=e.sibling;e!==null;)FS(e,t,r),e=e.sibling}function vy(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&&Il(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(vy(e,t,r),e=e.sibling;e!==null;)vy(e,t,r),e=e.sibling}function L4(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);mn(t,n,r),t[dn]=e,t[qn]=r}catch(o){It(e,e.return,o)}}var di=!1,Br=!1,eS=!1,gO=typeof WeakSet=="function"?WeakSet:Set,Rr=null;function cW(e,t){if(e=e.containerInfo,GS=Cy,e=kT(e),m2(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,o=n.focusNode;n=n.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||a!==0&&d.nodeType!==3||(l=i+a),d!==o||n!==0&&d.nodeType!==3||(s=i+n),d.nodeType===3&&(i+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===a&&(l=i),f===o&&++c===n&&(s=i),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(XS={focusedElem:e,selectionRange:r},Cy=!1,Rr=t;Rr!==null;)if(t=Rr,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Rr=e;else for(;Rr!==null;){switch(t=Rr,o=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"))),mn(o,n,r),o[dn]=e,en(o),n=o;break e;case"link":var i=BO("link","href",a).get(n+(r.href||""));if(i){for(var l=0;lh&&(i=h,h=y,y=i);var m=F5(l,y),g=F5(l,h);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(),y>h?(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,Ke.T=null,r=VS,VS=null;var o=Nl,i=yi;if(Vr=0,qc=Nl=null,yi=0,(Ot&6)!==0)throw Error(pe(331));var l=Ot;if(Ot|=4,G4(o.current),K4(o,o.current,i,r),Ot=l,Qp(0,!1),da&&typeof da.onPostCommitFiberRoot=="function")try{da.onPostCommitFiberRoot(Hp,o)}catch{}return!0}finally{Tt.p=a,Ke.T=n,u3(e,t)}}function bO(e,t,r){t=za(r,t),t=BS(e.stateNode,t,2),e=Al(e,t,2),e!==null&&(Kp(e,2),Bo(e))}function It(e,t,r){if(e.tag===3)bO(e,e,r);else for(;t!==null;){if(t.tag===3){bO(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(kl===null||!kl.has(n))){e=za(r,e),r=N4(2),n=Al(t,r,2),n!==null&&(C4(r,n,t,e),Kp(n,2),Bo(n));break}}t=t.return}}function rS(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new pW;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)||(W2=!0,a.add(r),e=hW.bind(null,e,t,r),t.then(e,e))}function hW(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,$t===e&&(vt&r)===r&&(wr===4||wr===3&&(vt&62914560)===vt&&300>ca()-$y?(Ot&2)===0&&Yc(e,0):H2|=r,Kc===vt&&(Kc=0)),Bo(e)}function d3(e,t){t===0&&(t=rT()),e=Ks(e,t),e!==null&&(Kp(e,t),Bo(e))}function xW(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),d3(e,r)}function bW(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(pe(314))}n!==null&&n.delete(t),d3(e,r)}function wW(e,t){return o2(e,t)}var xy=null,xc=null,qS=!1,by=!1,nS=!1,xl=0;function Bo(e){e!==xc&&e.next===null&&(xc===null?xy=xc=e:xc=xc.next=e),by=!0,qS||(qS=!0,AW())}function Qp(e,t){if(!nS&&by){nS=!0;do for(var r=!1,n=xy;n!==null;){if(!t)if(e!==0){var a=n.pendingLanes;if(a===0)var o=0;else{var i=n.suspendedLanes,l=n.pingedLanes;o=(1<<31-fa(42|e)+1)-1,o&=a&~(i&~l),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(r=!0,wO(n,o))}else o=vt,o=_y(n,n===$t?o:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(o&3)===0||Vp(n,o)||(r=!0,wO(n,o));n=n.next}while(r);nS=!1}}function SW(){f3()}function f3(){by=qS=!1;var e=0;xl!==0&&MW()&&(e=xl);for(var t=ca(),r=null,n=xy;n!==null;){var a=n.next,o=p3(n,t);o===0?(n.next=null,r===null?xy=a:r.next=a,a===null&&(xc=r)):(r=n,(e!==0||(o&3)!==0)&&(by=!0)),n=a}Vr!==0&&Vr!==5||Qp(e,!1),xl!==0&&(xl=0)}function p3(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&_O(d)&&(s=s.responseEnd,i+=c*(s"u"?null:document;function S3(e,t,r){var n=td;if(n&&typeof t=="string"&&t){var a=ja(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof r=="string"&&(a+='[crossorigin="'+r+'"]'),jO.has(a)||(jO.add(a),e={rel:e,crossOrigin:r,href:t},n.querySelector(a)===null&&(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function UW(e){Ai.D(e),S3("dns-prefetch",e,null)}function FW(e,t){Ai.C(e,t),S3("preconnect",e,t)}function WW(e,t,r){Ai.L(e,t,r);var n=td;if(n&&e&&t){var a='link[rel="preload"][as="'+ja(t)+'"]';t==="image"&&r&&r.imageSrcSet?(a+='[imagesrcset="'+ja(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(a+='[imagesizes="'+ja(r.imageSizes)+'"]')):a+='[href="'+ja(e)+'"]';var o=a;switch(t){case"style":o=Gc(e);break;case"script":o=rd(e)}Ua.has(o)||(e=er({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Ua.set(o,e),n.querySelector(a)!==null||t==="style"&&n.querySelector(Jp(o))||t==="script"&&n.querySelector(Rp(o))||(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function HW(e,t){Ai.m(e,t);var r=td;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+ja(n)+'"][href="'+ja(e)+'"]',o=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=rd(e)}if(!Ua.has(o)&&(e=er({rel:"modulepreload",href:e},t),Ua.set(o,e),r.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(Rp(o)))return}n=r.createElement("link"),mn(n,"link",e),en(n),r.head.appendChild(n)}}}function VW(e,t,r){Ai.S(e,t,r);var n=td;if(n&&e){var a=Pc(n).hoistableStyles,o=Gc(e);t=t||"default";var i=a.get(o);if(!i){var l={loading:0,preload:null};if(i=n.querySelector(Jp(o)))l.loading=5;else{e=er({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Ua.get(o))&&Y2(e,r);var s=i=n.createElement("link");en(s),mn(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,Xg(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:l},a.set(o,i)}}}function KW(e,t){Ai.X(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0},t),(t=Ua.get(a))&&G2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function qW(e,t){Ai.M(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0,type:"module"},t),(t=Ua.get(a))&&G2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function zO(e,t,r,n){var a=(a=bl.current)?Ay(a):null;if(!a)throw Error(pe(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=Gc(r.href),r=Pc(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=Gc(r.href);var o=Pc(a).hoistableStyles,i=o.get(e);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,i),(o=a.querySelector(Jp(e)))&&!o._p&&(i.instance=o,i.state.loading=5),Ua.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},Ua.set(e,r),o||YW(a,e,r,i.state))),t&&n===null)throw Error(pe(528,""));return i}if(t&&n!==null)throw Error(pe(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=rd(r),r=Pc(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(pe(444,e))}}function Gc(e){return'href="'+ja(e)+'"'}function Jp(e){return'link[rel="stylesheet"]['+e+"]"}function A3(e){return er({},e,{"data-precedence":e.precedence,precedence:null})}function YW(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}),mn(t,"link",r),en(t),e.head.appendChild(t))}function rd(e){return'[src="'+ja(e)+'"]'}function Rp(e){return"script[async]"+e}function LO(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+ja(r.href)+'"]');if(n)return t.instance=n,en(n),n;var a=er({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),en(n),mn(n,"style",a),Xg(n,r.precedence,e),t.instance=n;case"stylesheet":a=Gc(r.href);var o=e.querySelector(Jp(a));if(o)return t.state.loading|=4,t.instance=o,en(o),o;n=A3(r),(a=Ua.get(a))&&Y2(n,a),o=(e.ownerDocument||e).createElement("link"),en(o);var i=o;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),t.state.loading|=4,Xg(o,r.precedence,e),t.instance=o;case"script":return o=rd(r.src),(a=e.querySelector(Rp(o)))?(t.instance=a,en(a),a):(n=r,(a=Ua.get(o))&&(n=er({},r),G2(n,a)),e=e.ownerDocument||e,a=e.createElement("script"),en(a),mn(a,"link",n),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(pe(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Xg(n,r.precedence,e));return t.instance}function Xg(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,o=a,i=0;i title"):null)}function GW(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 k3(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function XW(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=Gc(n.href),o=t.querySelector(Jp(a));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ky.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=o,en(o);return}o=t.ownerDocument||t,n=A3(n),(a=Ua.get(a))&&Y2(n,a),o=o.createElement("link"),en(o);var i=o;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),r.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=ky.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var lS=0;function ZW(e,t){return e.stylesheets&&e.count===0&&Qg(e,e.stylesheets),0lS?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function ky(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qg(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ny=null;function Qg(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ny=new Map,t.forEach(QW,e),Ny=null,ky.call(e))}function QW(e,t){if(!(t.state.loading&4)){var r=Ny.get(e);if(r)var n=r.get(null);else{r=new Map,Ny.set(e,r);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";function D3(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(D3)}catch(e){console.error(e)}}D3(),I3.exports=P3()});var BM=Jr(LM=>{"use strict";var wd=ne();function cV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var dV=typeof Object.is=="function"?Object.is:cV,fV=wd.useState,pV=wd.useEffect,mV=wd.useLayoutEffect,vV=wd.useDebugValue;function gV(e,t){var r=t(),n=fV({inst:{value:r,getSnapshot:t}}),a=n[0].inst,o=n[1];return mV(function(){a.value=r,a.getSnapshot=t,WA(a)&&o({inst:a})},[e,r,t]),pV(function(){return WA(a)&&o({inst:a}),e(function(){WA(a)&&o({inst:a})})},[e]),vV(r),r}function WA(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!dV(e,r)}catch{return!0}}function yV(e,t){return t()}var hV=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?yV:gV;LM.useSyncExternalStore=wd.useSyncExternalStore!==void 0?wd.useSyncExternalStore:hV});var UM=Jr((eve,$M)=>{"use strict";$M.exports=BM()});var WM=Jr(FM=>{"use strict";var Dh=ne(),xV=UM();function bV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wV=typeof Object.is=="function"?Object.is:bV,SV=xV.useSyncExternalStore,AV=Dh.useRef,kV=Dh.useEffect,NV=Dh.useMemo,CV=Dh.useDebugValue;FM.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=AV(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=NV(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var v=i.value;if(a(v,p))return d=v}return d=p}if(v=d,wV(c,p))return v;var y=n(p);return a!==void 0&&a(v,y)?(c=p,v):(c=p,d=y)}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=SV(e,o[0],o[1]);return kV(function(){i.hasValue=!0,i.value=l},[l]),CV(l),l}});var VM=Jr((rve,HM)=>{"use strict";HM.exports=WM()});var MD=Jr(TD=>{"use strict";var wm=ne();function Tq(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mq=typeof Object.is=="function"?Object.is:Tq,Pq=wm.useSyncExternalStore,Dq=wm.useRef,Iq=wm.useEffect,jq=wm.useMemo,zq=wm.useDebugValue;TD.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=Dq(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=jq(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var v=i.value;if(a(v,p))return d=v}return d=p}if(v=d,Mq(c,p))return v;var y=n(p);return a!==void 0&&a(v,y)?(c=p,v):(c=p,d=y)}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=Pq(e,o[0],o[1]);return Iq(function(){i.hasValue=!0,i.value=l},[l]),zq(l),l}});var DD=Jr((tye,PD)=>{"use strict";PD.exports=MD()});var Lk=Jr((a6,H0)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",o=a+"Invalid argument: ",i=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),y={};y.absoluteValue=y.abs=function(){var N=new this.constructor(this);return N.s&&(N.s=1),N},y.comparedTo=y.cmp=function(N){var _,z,j,P,B=this;if(N=new B.constructor(N),B.s!==N.s)return B.s||-N.s;if(B.e!==N.e)return B.e>N.e^B.s<0?1:-1;for(j=B.d.length,P=N.d.length,_=0,z=jN.d[_]^B.s<0?1:-1;return j===P?0:j>P^B.s<0?1:-1},y.decimalPlaces=y.dp=function(){var N=this,_=N.d.length-1,z=(_-N.e)*f;if(_=N.d[_],_)for(;_%10==0;_/=10)z--;return z<0?0:z},y.dividedBy=y.div=function(N){return x(this,new this.constructor(N))},y.dividedToIntegerBy=y.idiv=function(N){var _=this,z=_.constructor;return M(x(_,new z(N),0,1),z.precision)},y.equals=y.eq=function(N){return!this.cmp(N)},y.exponent=function(){return S(this)},y.greaterThan=y.gt=function(N){return this.cmp(N)>0},y.greaterThanOrEqualTo=y.gte=function(N){return this.cmp(N)>=0},y.isInteger=y.isint=function(){return this.e>this.d.length-2},y.isNegative=y.isneg=function(){return this.s<0},y.isPositive=y.ispos=function(){return this.s>0},y.isZero=function(){return this.s===0},y.lessThan=y.lt=function(N){return this.cmp(N)<0},y.lessThanOrEqualTo=y.lte=function(N){return this.cmp(N)<1},y.logarithm=y.log=function(N){var _,z=this,j=z.constructor,P=j.precision,B=P+5;if(N===void 0)N=new j(10);else if(N=new j(N),N.s<1||N.eq(c))throw Error(a+"NaN");if(z.s<1)throw Error(a+(z.s?"NaN":"-Infinity"));return z.eq(c)?new j(0):(n=!1,_=x(k(z,B),k(N,B),B),n=!0,M(_,P))},y.minus=y.sub=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?W(_,N):h(_,(N.s=-N.s,N))},y.modulo=y.mod=function(N){var _,z=this,j=z.constructor,P=j.precision;if(N=new j(N),!N.s)throw Error(a+"NaN");return z.s?(n=!1,_=x(z,N,0,1).times(N),n=!0,z.minus(_)):M(new j(z),P)},y.naturalExponential=y.exp=function(){return b(this)},y.naturalLogarithm=y.ln=function(){return k(this)},y.negated=y.neg=function(){var N=new this.constructor(this);return N.s=-N.s||0,N},y.plus=y.add=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?h(_,N):W(_,(N.s=-N.s,N))},y.precision=y.sd=function(N){var _,z,j,P=this;if(N!==void 0&&N!==!!N&&N!==1&&N!==0)throw Error(o+N);if(_=S(P)+1,j=P.d.length-1,z=j*f+1,j=P.d[j],j){for(;j%10==0;j/=10)z--;for(j=P.d[0];j>=10;j/=10)z++}return N&&_>z?_:z},y.squareRoot=y.sqrt=function(){var N,_,z,j,P,B,R,F=this,G=F.constructor;if(F.s<1){if(!F.s)return new G(0);throw Error(a+"NaN")}for(N=S(F),n=!1,P=Math.sqrt(+F),P==0||P==1/0?(_=g(F.d),(_.length+N)%2==0&&(_+="0"),P=Math.sqrt(_),N=l((N+1)/2)-(N<0||N%2),P==1/0?_="5e"+N:(_=P.toExponential(),_=_.slice(0,_.indexOf("e")+1)+N),j=new G(_)):j=new G(P.toString()),z=G.precision,P=R=z+3;;)if(B=j,j=B.plus(x(F,B,R+2)).times(.5),g(B.d).slice(0,R)===(_=g(j.d)).slice(0,R)){if(_=_.slice(R-3,R+1),P==R&&_=="4999"){if(M(B,z+1,0),B.times(B).eq(F)){j=B;break}}else if(_!="9999")break;R+=4}return n=!0,M(j,z)},y.times=y.mul=function(N){var _,z,j,P,B,R,F,G,ee,fe=this,de=fe.constructor,De=fe.d,le=(N=new de(N)).d;if(!fe.s||!N.s)return new de(0);for(N.s*=fe.s,z=fe.e+N.e,G=De.length,ee=le.length,G=0;){for(_=0,P=G+j;P>j;)F=B[P]+le[j]*De[P-j-1]+_,B[P--]=F%d|0,_=F/d|0;B[P]=(B[P]+_)%d|0}for(;!B[--R];)B.pop();return _?++z:B.shift(),N.d=B,N.e=z,n?M(N,de.precision):N},y.toDecimalPlaces=y.todp=function(N,_){var z=this,j=z.constructor;return z=new j(z),N===void 0?z:(m(N,0,t),_===void 0?_=j.rounding:m(_,0,8),M(z,N+S(z)+1,_))},y.toExponential=function(N,_){var z,j=this,P=j.constructor;return N===void 0?z=L(j,!0):(m(N,0,t),_===void 0?_=P.rounding:m(_,0,8),j=M(new P(j),N+1,_),z=L(j,!0,N+1)),z},y.toFixed=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?L(P):(m(N,0,t),_===void 0?_=B.rounding:m(_,0,8),j=M(new B(P),N+S(P)+1,_),z=L(j.abs(),!1,N+S(j)+1),P.isneg()&&!P.isZero()?"-"+z:z)},y.toInteger=y.toint=function(){var N=this,_=N.constructor;return M(new _(N),S(N)+1,_.rounding)},y.toNumber=function(){return+this},y.toPower=y.pow=function(N){var _,z,j,P,B,R,F=this,G=F.constructor,ee=12,fe=+(N=new G(N));if(!N.s)return new G(c);if(F=new G(F),!F.s){if(N.s<1)throw Error(a+"Infinity");return F}if(F.eq(c))return F;if(j=G.precision,N.eq(c))return M(F,j);if(_=N.e,z=N.d.length-1,R=_>=z,B=F.s,R){if((z=fe<0?-fe:fe)<=p){for(P=new G(c),_=Math.ceil(j/f+4),n=!1;z%2&&(P=P.times(F),H(P.d,_)),z=l(z/2),z!==0;)F=F.times(F),H(F.d,_);return n=!0,N.s<0?new G(c).div(P):M(P,j)}}else if(B<0)throw Error(a+"NaN");return B=B<0&&N.d[Math.max(_,z)]&1?-1:1,F.s=1,n=!1,P=N.times(k(F,j+ee)),n=!0,P=b(P),P.s=B,P},y.toPrecision=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?(z=S(P),j=L(P,z<=B.toExpNeg||z>=B.toExpPos)):(m(N,1,t),_===void 0?_=B.rounding:m(_,0,8),P=M(new B(P),N,_),z=S(P),j=L(P,N<=z||z<=B.toExpNeg,N)),j},y.toSignificantDigits=y.tosd=function(N,_){var z=this,j=z.constructor;return N===void 0?(N=j.precision,_=j.rounding):(m(N,1,t),_===void 0?_=j.rounding:m(_,0,8)),M(new j(z),N,_)},y.toString=y.valueOf=y.val=y.toJSON=function(){var N=this,_=S(N),z=N.constructor;return L(N,_<=z.toExpNeg||_>=z.toExpPos)};function h(N,_){var z,j,P,B,R,F,G,ee,fe=N.constructor,de=fe.precision;if(!N.s||!_.s)return _.s||(_=new fe(N)),n?M(_,de):_;if(G=N.d,ee=_.d,R=N.e,P=_.e,G=G.slice(),B=R-P,B){for(B<0?(j=G,B=-B,F=ee.length):(j=ee,P=R,F=G.length),R=Math.ceil(de/f),F=R>F?R+1:F+1,B>F&&(B=F,j.length=1),j.reverse();B--;)j.push(0);j.reverse()}for(F=G.length,B=ee.length,F-B<0&&(B=F,j=ee,ee=G,G=j),z=0;B;)z=(G[--B]=G[B]+ee[B]+z)/d|0,G[B]%=d;for(z&&(G.unshift(z),++P),F=G.length;G[--F]==0;)G.pop();return _.d=G,_.e=P,n?M(_,de):_}function m(N,_,z){if(N!==~~N||N<_||N>z)throw Error(o+N)}function g(N){var _,z,j,P=N.length-1,B="",R=N[0];if(P>0){for(B+=R,_=1;_R?1:-1;else for(F=G=0;FP[F]?1:-1;break}return G}function z(j,P,B){for(var R=0;B--;)j[B]-=R,R=j[B]1;)j.shift()}return function(j,P,B,R){var F,G,ee,fe,de,De,le,Te,K,I,C,T,X,$,Ne,E,Z,ge,Le=j.constructor,nt=j.s==P.s?1:-1,Bt=j.d,ft=P.d;if(!j.s)return new Le(j);if(!P.s)throw Error(a+"Division by zero");for(G=j.e-P.e,Z=ft.length,Ne=Bt.length,le=new Le(nt),Te=le.d=[],ee=0;ft[ee]==(Bt[ee]||0);)++ee;if(ft[ee]>(Bt[ee]||0)&&--G,B==null?T=B=Le.precision:R?T=B+(S(j)-S(P))+1:T=B,T<0)return new Le(0);if(T=T/f+2|0,ee=0,Z==1)for(fe=0,ft=ft[0],T++;(ee1&&(ft=N(ft,fe),Bt=N(Bt,fe),Z=ft.length,Ne=Bt.length),$=Z,K=Bt.slice(0,Z),I=K.length;I=d/2&&++E;do fe=0,F=_(ft,K,Z,I),F<0?(C=K[0],Z!=I&&(C=C*d+(K[1]||0)),fe=C/E|0,fe>1?(fe>=d&&(fe=d-1),de=N(ft,fe),De=de.length,I=K.length,F=_(de,K,De,I),F==1&&(fe--,z(de,Z16)throw Error(i+S(N));if(!N.s)return new fe(c);for(_==null?(n=!1,F=de):F=_,R=new fe(.03125);N.abs().gte(.1);)N=N.times(R),ee+=5;for(j=Math.log(s(2,ee))/Math.LN10*2+5|0,F+=j,z=P=B=new fe(c),fe.precision=F;;){if(P=M(P.times(N),F),z=z.times(++G),R=B.plus(x(P,z,F)),g(R.d).slice(0,F)===g(B.d).slice(0,F)){for(;ee--;)B=M(B.times(B),F);return fe.precision=de,_==null?(n=!0,M(B,de)):B}B=R}}function S(N){for(var _=N.e*f,z=N.d[0];z>=10;z/=10)_++;return _}function w(N,_,z){if(_>N.LN10.sd())throw n=!0,z&&(N.precision=z),Error(a+"LN10 precision limit exceeded");return M(new N(N.LN10),_)}function O(N){for(var _="";N--;)_+="0";return _}function k(N,_){var z,j,P,B,R,F,G,ee,fe,de=1,De=10,le=N,Te=le.d,K=le.constructor,I=K.precision;if(le.s<1)throw Error(a+(le.s?"NaN":"-Infinity"));if(le.eq(c))return new K(0);if(_==null?(n=!1,ee=I):ee=_,le.eq(10))return _==null&&(n=!0),w(K,ee);if(ee+=De,K.precision=ee,z=g(Te),j=z.charAt(0),B=S(le),Math.abs(B)<15e14){for(;j<7&&j!=1||j==1&&z.charAt(1)>3;)le=le.times(N),z=g(le.d),j=z.charAt(0),de++;B=S(le),j>1?(le=new K("0."+z),B++):le=new K(j+"."+z.slice(1))}else return G=w(K,ee+2,I).times(B+""),le=k(new K(j+"."+z.slice(1)),ee-De).plus(G),K.precision=I,_==null?(n=!0,M(le,I)):le;for(F=R=le=x(le.minus(c),le.plus(c),ee),fe=M(le.times(le),ee),P=3;;){if(R=M(R.times(fe),ee),G=F.plus(x(R,new K(P),ee)),g(G.d).slice(0,ee)===g(F.d).slice(0,ee))return F=F.times(2),B!==0&&(F=F.plus(w(K,ee+2,I).times(B+""))),F=x(F,new K(de),ee),K.precision=I,_==null?(n=!0,M(F,I)):F;F=G,P+=2}}function A(N,_){var z,j,P;for((z=_.indexOf("."))>-1&&(_=_.replace(".","")),(j=_.search(/e/i))>0?(z<0&&(z=j),z+=+_.slice(j+1),_=_.substring(0,j)):z<0&&(z=_.length),j=0;_.charCodeAt(j)===48;)++j;for(P=_.length;_.charCodeAt(P-1)===48;)--P;if(_=_.slice(j,P),_){if(P-=j,z=z-j-1,N.e=l(z/f),N.d=[],j=(z+1)%f,z<0&&(j+=f),jv||N.e<-v))throw Error(i+z)}else N.s=0,N.e=0,N.d=[0];return N}function M(N,_,z){var j,P,B,R,F,G,ee,fe,de=N.d;for(R=1,B=de[0];B>=10;B/=10)R++;if(j=_-R,j<0)j+=f,P=_,ee=de[fe=0];else{if(fe=Math.ceil((j+1)/f),B=de.length,fe>=B)return N;for(ee=B=de[fe],R=1;B>=10;B/=10)R++;j%=f,P=j-f+R}if(z!==void 0&&(B=s(10,R-P-1),F=ee/B%10|0,G=_<0||de[fe+1]!==void 0||ee%B,G=z<4?(F||G)&&(z==0||z==(N.s<0?3:2)):F>5||F==5&&(z==4||G||z==6&&(j>0?P>0?ee/s(10,R-P):0:de[fe-1])%10&1||z==(N.s<0?8:7))),_<1||!de[0])return G?(B=S(N),de.length=1,_=_-B-1,de[0]=s(10,(f-_%f)%f),N.e=l(-_/f)||0):(de.length=1,de[0]=N.e=N.s=0),N;if(j==0?(de.length=fe,B=1,fe--):(de.length=fe+1,B=s(10,f-j),de[fe]=P>0?(ee/s(10,R-P)%s(10,P)|0)*B:0),G)for(;;)if(fe==0){(de[0]+=B)==d&&(de[0]=1,++N.e);break}else{if(de[fe]+=B,de[fe]!=d)break;de[fe--]=0,B=1}for(j=de.length;de[--j]===0;)de.pop();if(n&&(N.e>v||N.e<-v))throw Error(i+S(N));return N}function W(N,_){var z,j,P,B,R,F,G,ee,fe,de,De=N.constructor,le=De.precision;if(!N.s||!_.s)return _.s?_.s=-_.s:_=new De(N),n?M(_,le):_;if(G=N.d,de=_.d,j=_.e,ee=N.e,G=G.slice(),R=ee-j,R){for(fe=R<0,fe?(z=G,R=-R,F=de.length):(z=de,j=ee,F=G.length),P=Math.max(Math.ceil(le/f),F)+2,R>P&&(R=P,z.length=1),z.reverse(),P=R;P--;)z.push(0);z.reverse()}else{for(P=G.length,F=de.length,fe=P0;--P)G[F++]=0;for(P=de.length;P>R;){if(G[--P]0?B=B.charAt(0)+"."+B.slice(1)+O(j):R>1&&(B=B.charAt(0)+"."+B.slice(1)),B=B+(P<0?"e":"e+")+P):P<0?(B="0."+O(-P-1)+B,z&&(j=z-R)>0&&(B+=O(j))):P>=R?(B+=O(P+1-R),z&&(j=z-P-1)>0&&(B=B+"."+O(j))):((j=P+1)0&&(P+1===R&&(B+="."),B+=O(j))),N.s<0?"-"+B:B}function H(N,_){if(N.length>_)return N.length=_,!0}function D(N){var _,z,j;function P(B){var R=this;if(!(R instanceof P))return new P(B);if(R.constructor=P,B instanceof P){R.s=B.s,R.e=B.e,R.d=(B=B.d)?B.slice():B;return}if(typeof B=="number"){if(B*0!==0)throw Error(o+B);if(B>0)R.s=1;else if(B<0)B=-B,R.s=-1;else{R.s=0,R.e=0,R.d=[0];return}if(B===~~B&&B<1e7){R.e=0,R.d=[B];return}return A(R,B.toString())}else if(typeof B!="string")throw Error(o+B);if(B.charCodeAt(0)===45?(B=B.slice(1),R.s=-1):R.s=1,u.test(B))A(R,B);else throw Error(o+B)}if(P.prototype=y,P.ROUND_UP=0,P.ROUND_DOWN=1,P.ROUND_CEIL=2,P.ROUND_FLOOR=3,P.ROUND_HALF_UP=4,P.ROUND_HALF_DOWN=5,P.ROUND_HALF_EVEN=6,P.ROUND_HALF_CEIL=7,P.ROUND_HALF_FLOOR=8,P.clone=D,P.config=P.set=Y,N===void 0&&(N={}),N)for(j=["precision","rounding","toExpNeg","toExpPos","LN10"],_=0;_=P[_+1]&&j<=P[_+2])this[z]=j;else throw Error(o+z+": "+j);if((j=N[z="LN10"])!==void 0)if(j==Math.LN10)this[z]=new this(j);else throw Error(o+z+": "+j);return this}r=D(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof H0<"u"&&H0.exports?H0.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(a6)});var Rj=Jr((Hke,SC)=>{"use strict";var $R=Object.prototype.hasOwnProperty,zn="~";function fv(){}Object.create&&(fv.prototype=Object.create(null),new fv().__proto__||(zn=!1));function UR(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Jj(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new UR(r,n||e,a),i=zn?zn+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],o]:e._events[i].push(o):(e._events[i]=o,e._eventsCount++),e}function pb(e,t){--e._eventsCount===0?e._events=new fv:delete e._events[t]}function Sn(){this._events=new fv,this._eventsCount=0}Sn.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)$R.call(r,n)&&t.push(zn?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Sn.prototype.listeners=function(t){var r=zn?zn+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,o=n.length,i=new Array(o);a{"use strict";var PC=Symbol.for("react.transitional.element"),DC=Symbol.for("react.portal"),Eb=Symbol.for("react.fragment"),_b=Symbol.for("react.strict_mode"),Ob=Symbol.for("react.profiler"),Tb=Symbol.for("react.consumer"),Mb=Symbol.for("react.context"),Pb=Symbol.for("react.forward_ref"),Db=Symbol.for("react.suspense"),Ib=Symbol.for("react.suspense_list"),jb=Symbol.for("react.memo"),zb=Symbol.for("react.lazy"),Nte=Symbol.for("react.view_transition"),Cte=Symbol.for("react.client.reference");function to(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case PC:switch(e=e.type,e){case Eb:case Ob:case _b:case Db:case Ib:case Nte:return e;default:switch(e=e&&e.$$typeof,e){case Mb:case Pb:case zb:case jb:return e;case Tb:return e;default:return t}}case DC:return t}}}Ht.ContextConsumer=Tb;Ht.ContextProvider=Mb;Ht.Element=PC;Ht.ForwardRef=Pb;Ht.Fragment=Eb;Ht.Lazy=zb;Ht.Memo=jb;Ht.Portal=DC;Ht.Profiler=Ob;Ht.StrictMode=_b;Ht.Suspense=Db;Ht.SuspenseList=Ib;Ht.isContextConsumer=function(e){return to(e)===Tb};Ht.isContextProvider=function(e){return to(e)===Mb};Ht.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===PC};Ht.isForwardRef=function(e){return to(e)===Pb};Ht.isFragment=function(e){return to(e)===Eb};Ht.isLazy=function(e){return to(e)===zb};Ht.isMemo=function(e){return to(e)===jb};Ht.isPortal=function(e){return to(e)===DC};Ht.isProfiler=function(e){return to(e)===Ob};Ht.isStrictMode=function(e){return to(e)===_b};Ht.isSuspense=function(e){return to(e)===Db};Ht.isSuspenseList=function(e){return to(e)===Ib};Ht.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Eb||e===Ob||e===_b||e===Db||e===Ib||typeof e=="object"&&e!==null&&(e.$$typeof===zb||e.$$typeof===jb||e.$$typeof===Mb||e.$$typeof===Tb||e.$$typeof===Pb||e.$$typeof===Cte||e.getModuleId!==void 0)};Ht.typeOf=to});var dL=Jr((KCe,cL)=>{"use strict";cL.exports=uL()});var nU=te(ne()),aU=te(j3());var Ze=te(ne());var Be=te(ne());var At=te(ne()),Ys={github:{emoji:"\u{1F419}",label:"GitHub"},ruby:{emoji:"\u{1F48E}",label:"Ruby"},rails:{emoji:"\u{1F6E4}\uFE0F",label:"Rails"},aws:{emoji:"\u2601\uFE0F",label:"AWS"},gcp:{emoji:"\u{1F310}",label:"GCP"},python:{emoji:"\u{1F40D}",label:"Python"},typescript:{emoji:"\u{1F4D8}",label:"TypeScript"},docker:{emoji:"\u{1F433}",label:"Docker"},kubernetes:{emoji:"\u2638\uFE0F",label:"Kubernetes"}},Gs={terminal:{emoji:"\u{1F4BB}",label:"Terminal"},playwright:{emoji:"\u{1F3AD}",label:"Playwright"},filesystem:{emoji:"\u{1F4C1}",label:"Filesystem"},code:{emoji:"\u{1F468}\u200D\u{1F4BB}",label:"Code"},database:{emoji:"\u{1F5C4}\uFE0F",label:"Database"},slack:{emoji:"\u{1F4AC}",label:"Slack"},fetch:{emoji:"\u{1F310}",label:"Fetch"},search:{emoji:"\u{1F50D}",label:"Search"},edit:{emoji:"\u270F\uFE0F",label:"Edit"},translate:{emoji:"\u{1F30D}",label:"Translate"},memory:{emoji:"\u{1F9E0}",label:"Memory"},ui:{emoji:"\u{1F9E9}",label:"Generative UI"}},nd={terminal:{instructions:["github"],tools:["terminal","code"]},webDeveloper:{instructions:["typescript"],tools:["playwright","fetch"]},documentAnalysis:{instructions:["python"],tools:["database","search","code"]},writing:{instructions:["ruby"],tools:["edit","memory"]},translation:{instructions:["ruby","python","typescript"],tools:["translate","code"]},playwright:{instructions:["typescript"],tools:["playwright","fetch"]},research:{instructions:["github"],tools:["fetch","search","memory"]},imageAnalysis:{instructions:["python"],tools:["filesystem","code"]},computerUse:{instructions:["github"],tools:["terminal","playwright"]},productDesign:{instructions:["typescript"],tools:["playwright","code"]}};var oH=({id:e="mascot"})=>At.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},At.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},At.default.createElement("g",{fillRule:"nonzero"},At.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"})),At.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"}),At.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"}),At.default.createElement("g",{transform:"translate(75.105, 196.182)"},At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},At.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"})),At.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"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.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"})),At.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},At.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"}),At.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 mr({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:a="",hat:o,hatAccessory:i,heldItem:l,theme:s,customColors:u}){return At.default.createElement("div",{className:`inline-flex flex-col items-center ${a}`},n&&t.length>0&&At.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=Ys[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),At.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"},At.default.createElement("title",null,"ActiveAgent"),At.default.createElement(oH,null)),n&&r.length>0&&At.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=Gs[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var Gn=te(ne());var go=te(ne()),z3=(0,go.createContext)();function L3({children:e}){let[t,r]=(0,go.useState)(()=>{let a=localStorage.getItem("dashboard-theme");return a?a==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,go.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,go.useEffect)(()=>{let a=window.matchMedia("(prefers-color-scheme: dark)"),o=i=>{localStorage.getItem("dashboard-theme")||r(i.matches)};return a.addEventListener("change",o),()=>a.removeEventListener("change",o)},[]);let n=()=>r(!t);return go.default.createElement(z3.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function kt(){let e=(0,go.useContext)(z3);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function ad({name:e,subtitle:t,badge:r,accentColor:n,stats:a=[],footer:o,onClick:i,actions:l}){let{darkMode:s}=kt(),[u,c]=Gn.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 Gn.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:p=>{i&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(p))},style:{background:d.cardBg,borderTop:`1px solid ${u?d.borderHover:d.border}`,borderRight:`1px solid ${u?d.borderHover:d.border}`,borderBottom:`1px solid ${u?d.borderHover:d.border}`,borderLeft:n?`4px solid ${n}`:`1px solid ${u?d.borderHover:d.border}`,borderRadius:"12px",padding:"16px",cursor:i?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&i?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},Gn.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},Gn.default.createElement("div",{style:{minWidth:0}},Gn.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&i?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&Gn.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&Gn.default.createElement("div",{style:{flexShrink:0}},r)),a.length>0&&Gn.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},a.map(p=>Gn.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},Gn.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),Gn.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),o&&Gn.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},o),l&&Gn.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function R2(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var iH=[{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 eA({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:a,onDuplicate:o,onDelete:i,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Be.useState)(""),[p,v]=(0,Be.useState)(""),[y,h]=(0,Be.useState)(""),m=e.filter(k=>{let A=!d||k.name.toLowerCase().includes(d.toLowerCase())||k.description?.toLowerCase().includes(d.toLowerCase()),M=!p||k.provider===p,W=!y||k.status===y;return A&&M&&W}),g=k=>{let A=new Date(k),W=new Date-A,L=Math.floor(W/(1e3*60*60*24));return L===0?"Today":L===1?"Yesterday":L<7?`${L} days ago`:A.toLocaleDateString()},x=k=>{switch(k){case"active":return"bg-green-100 text-green-700";case"draft":return"bg-yellow-100 text-yellow-700";case"archived":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},b=k=>k==null?"\u2014":k<1e3?`${Math.round(k)}ms`:`${(k/1e3).toFixed(1)}s`,S=k=>k==null?"\u2014":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:`${k}`,w=k=>k==null?"\u2014":k>0&&k<.01?"<$0.01":`$${k.toFixed(2)}`,O=k=>{if(!k)return"\u2014";let A=Math.floor((new Date-new Date(k))/(1e3*60*60*24));return A<=0?"Today":A<30?`${A}d ago`:new Date(k).toLocaleDateString()};return Be.default.createElement("div",{className:"space-y-6"},Be.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Be.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Be.default.createElement("div",{className:"relative flex-1 max-w-md"},Be.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:k=>f(k.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),Be.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"},Be.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"}))),Be.default.createElement("select",{value:p,onChange:k=>v(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Providers"),t.providers?.map(k=>Be.default.createElement("option",{key:k,value:k},k.charAt(0).toUpperCase()+k.slice(1)))),Be.default.createElement("select",{value:y,onChange:k=>h(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Status"),Be.default.createElement("option",{value:"active"},"Active"),Be.default.createElement("option",{value:"draft"},"Draft"),Be.default.createElement("option",{value:"archived"},"Archived")),Be.default.createElement("select",{value:s,onChange:k=>u?.(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500",title:"Rank agents by their scorecard"},iH.map(k=>Be.default.createElement("option",{key:k.value,value:k.value},k.label)))),Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.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"},Be.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"}))),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"})),Be.default.createElement("span",null,"Browse Templates")),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"New Agent")))),m.length>0?Be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},m.map(k=>{let A=k.stats||{},M=A.run_sources||[],W=M.length?`Counted from ${M.map(L=>L==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Be.default.createElement(ad,{key:k.id,name:k.name,subtitle:k.description||"No description",badge:Be.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${x(k.status)}`},k.status),onClick:()=>r(k),stats:[{label:`Runs ${A.window_days||30}d`,value:A.runs??0,title:W},{label:"Success",value:A.success_rate!=null?`${Math.round(A.success_rate)}%`:"\u2014",tone:R2(A.success_rate!=null?A.success_rate/100:null)},{label:"Avg time",value:b(A.avg_duration_ms)},{label:A.eval_samples_evaluated?`Eval ${A.eval_samples_passed}/${A.eval_samples_evaluated}`:"Eval",title:A.eval_samples_evaluated?`Latest evaluation: ${A.eval_samples_passed} of ${A.eval_samples_evaluated} samples passed`:void 0,value:A.eval_score!=null?`${Math.round(A.eval_score*100)}%`:"\u2014",tone:R2(A.eval_score)},{label:"Tokens",value:S(A.tokens)},{label:"Cost",value:w(A.cost),title:"Estimated from token counts at each model's published rates",tone:A.cost==null?"muted":void 0}],footer:Be.default.createElement(Be.default.Fragment,null,Be.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Be.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},k.provider),Be.default.createElement("span",{title:k.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},k.model)),Be.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${g(k.updatedAt||k.updated_at)}`},A.last_run_at?`Last run ${O(A.last_run_at)}`:`Updated ${g(k.updatedAt||k.updated_at)}`)),actions:Be.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),o(k.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),i(k.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Be.default.createElement("div",{className:"text-center py-16"},Be.default.createElement("div",{className:"inline-block mb-4"},Be.default.createElement(mr,{size:100})),Be.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Be.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&&Be.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"})),Be.default.createElement("span",null,"Browse Templates")),Be.default.createElement("span",{className:"text-gray-400"},"or"),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"Create From Scratch")))))}var ve=te(ne());var Ut={chevronRight:">",chevronDown:"v",chevronUp:"^",arrow:"->",arrowLeft:"<-",pipe:"|",corner:"+",branch:"|-",success:"[+]",error:"[!]",warning:"[?]",info:"[i]",pending:"[ ]",active:"[*]",add:"+",remove:"-",edit:"*",view:"@",run:">",stop:"x",refresh:"~",trace:"->",span:"|",metric:"#",log:">",agent:"@",action:"#",time:":",cost:"$",tokens:"T",memory:"M",nav:{agents:"@",newAgent:"+",demo:">",traces:"->",metrics:"#",evaluations:"=",interactions:"<>",benchmarks:"%%",replay:"[>]",tools:"[]",mcp:"{}",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Fe={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 od={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 Ky(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 od[e]||[]}var qy=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function tA({meta:e,onSave:t,onCancel:r,isLoading:n,initialDraft:a=null}){let[o,i]=(0,ve.useState)(0),[l,s]=(0,ve.useState)(od),[u,c]=(0,ve.useState)({name:"",description:"",provider:"openai",model:od.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7},...a?{name:a.name,description:a.description||"",instructions:a.instructions,provider:a.provider,model:a.model,tools:a.tools||[],instruction_sets:[],mcp_servers:[]}:{}});(0,ve.useEffect)(()=>{let h=!1;return Ky(u.provider).then(m=>{if(h||m.length===0)return;let g=a?.provider===u.provider&&a.model?[...new Set([a.model,...m])]:m;s(x=>({...x,[u.provider]:g})),c(x=>g.includes(x.model)?x:{...x,model:g[0]})}),()=>{h=!0}},[u.provider]);let d=(h,m)=>{c(g=>({...g,[h]:m}))},f=(h,m)=>{c(g=>{let x=g[h]||[],b=x.includes(m)?x.filter(S=>S!==m):[...x,m];return{...g,[h]:b}})},p=h=>{if(d("preset_type",h),nd[h]){let m=nd[h];d("instruction_sets",[...m.instructions]),d("tools",[...m.tools])}},v=()=>{switch(o){case 0:return u.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},y=()=>{t(u)};return ve.default.createElement("div",{className:"max-w-4xl mx-auto"},a&&ve.default.createElement("div",{className:"mb-4 p-4 rounded-lg border border-red-200 bg-red-50 text-sm text-gray-700"},"Prepared by your workspace assistant. Review the instructions, model, and tools before creating this agent."),ve.default.createElement("div",{className:"mb-8"},ve.default.createElement("div",{className:"flex items-center justify-between"},qy.map((h,m)=>ve.default.createElement("div",{key:h.id,className:"flex items-center"},ve.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${mi(o-1),className:"px-6 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},o===0?"Cancel":"Back"),ve.default.createElement("button",{onClick:o===qy.length-1?y:()=>i(o+1),disabled:!v()||n,className:`px-6 py-2 rounded-lg transition-colors ${v()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},o===qy.length-1?"Create Agent":"Continue")))}function lH({formData:e,updateField:t,providerModels:r}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),ve.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),ve.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"})),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),ve.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"})),ve.default.createElement("div",{className:"grid grid-cols-2 gap-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),ve.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=>ve.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),ve.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=>ve.default.createElement("option",{key:n,value:n},n))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),ve.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"}),ve.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},ve.default.createElement("span",null,"Precise"),ve.default.createElement("span",null,"Creative")))))}function sH({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:a}){let o=Object.keys(nd),i=Object.keys(Ys),l=Object.keys(Gs);return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),ve.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex flex-col items-center"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=Ys[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),ve.default.createElement(mr,{size:120}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=Gs[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map(s=>ve.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"}`},ve.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Instructions"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>{let u=Ys[s];return ve.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"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Tools"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=Gs[s];return ve.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"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),ve.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 uH({formData:e}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),ve.default.createElement("div",{className:"grid grid-cols-2 gap-8"},ve.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement(mr,{size:100}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=Gs[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),ve.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),ve.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),ve.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=Gs[t];return r?ve.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}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),ve.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 ie=te(ne());var Fa=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"}),vn="#ef4444";var U=te(ne());var Yy=te(ne()),W3=te(ne());function B3(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,o=e.viewBox,i=e.className,l=e.style,s=e.title,u=e.desc,c=mH(e,pH),d=o||{width:n,height:a,x:0,y:0},f=Ue("recharts-surface",i);return Yy.createElement("svg",aA({},rr(c),{className:f,width:n,height:a,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),Yy.createElement("title",null,s),Yy.createElement("desc",null,u),r)});var Gy=te(ne());var gH=["children","className"];function oA(){return oA=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=yH(e,gH),o=Ue("recharts-layer",n);return Gy.createElement("g",oA({className:o},rr(a),{ref:t}),r)});var Sa=te(ne()),w0=te(ne()),WD=te(rp());function Xy(e){return e==="__proto__"}var xH=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Zy(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:xH.test(e);default:return!1}}function id(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function iA(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(iA).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function ld(e){if(Array.isArray(e))return e.map(id);if(typeof e=="symbol")return[e];e=iA(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",o="",i=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:wH,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function qr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[i-1];return typeof l=="string"?a+l+o:l!==void 0?a+Wa(l)+o:a+o},"")}var Ft=e=>e===0?0:e>0?1:-1,nn=e=>typeof e=="number"&&e!=+e,ki=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,be=e=>(typeof e=="number"||e instanceof Number)&&!nn(e),Mn=e=>be(e)||typeof e=="string",SH=0,Ni=e=>{var t=++SH;return"".concat(e||"").concat(t)},vr=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(!be(t)&&typeof t!="string")return n;var o;if(ki(t)){if(r==null)return n;var i=t.indexOf("%");o=r*parseFloat(t.slice(0,i))/100}else o=+t;return nn(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},lA=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):rn(n,t))===r)}var ct=e=>e===null||typeof e>"u",Ci=e=>ct(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Yr(e){return e!=null}function Pn(){}function rm(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 H3(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 $o(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,o=e.parentViewBox,i=e.clamp,l=rm(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,v=s+(d-f)/2,y=(p+v)/2,h=(d+f)/2,m=p+d/2,g=c>=0?1:-1,x=g*a,b=g>0?"end":"start",S=g>0?"start":"end",w=d>=0?1:-1,O=w*a,k=w>0?"end":"start",A=w>0?"start":"end",M=o;if(r==="top"){var W={x:p+d/2,y:u-x,horizontalAnchor:"middle",verticalAnchor:b};return i&&M&&(W.height=Math.max(u-M.y,0),W.width=d),W}if(r==="bottom"){var L={x:v+f/2,y:u+c+x,horizontalAnchor:"middle",verticalAnchor:S};return i&&M&&(L.height=Math.max(M.y+M.height-(u+c),0),L.width=f),L}if(r==="left"){var H={x:y-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"};return i&&M&&(H.width=Math.max(H.x-M.x,0),H.height=c),H}if(r==="right"){var D={x:y+h+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"};return i&&M&&(D.width=Math.max(M.x+M.width-D.x,0),D.height=c),D}var Y=i&&M?{width:h,height:c}:{};return r==="insideLeft"?$o({x:y+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"},Y):r==="insideRight"?$o({x:y+h-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"},Y):r==="insideTop"?$o({x:p+d/2,y:u+x,horizontalAnchor:"middle",verticalAnchor:S},Y):r==="insideBottom"?$o({x:v+f/2,y:u+c-x,horizontalAnchor:"middle",verticalAnchor:b},Y):r==="insideTopLeft"?$o({x:p+O,y:u+x,horizontalAnchor:A,verticalAnchor:S},Y):r==="insideTopRight"?$o({x:p+d-O,y:u+x,horizontalAnchor:k,verticalAnchor:S},Y):r==="insideBottomLeft"?$o({x:v+O,y:u+c-x,horizontalAnchor:A,verticalAnchor:b},Y):r==="insideBottomRight"?$o({x:v+f-O,y:u+c-x,horizontalAnchor:k,verticalAnchor:b},Y):r&&typeof r=="object"&&(be(r.x)||ki(r.x))&&(be(r.y)||ki(r.y))?$o({x:s+vr(r.x,h),y:u+vr(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Y):$o({x:m,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Y)},CH=["top","left","right","bottom"];function nm(e){return e==null?!1:typeof e=="object"?!0:CH.includes(e)}var Ry=te(ne()),sA=(0,Ry.createContext)(null),V3=()=>(0,Ry.useContext)(sA);var Dn=te(ne());var uM=te(ne());function Mt(e){return function(){return e}}var uA=Math.cos;var am=Math.sin,an=Math.sqrt;var Xs=Math.PI,_de=Xs/2,sd=2*Xs;var cA=Math.PI,dA=2*cA,Zs=1e-6,EH=dA-Zs;function K3(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return K3;let r=10**t;return function(n){this._+=n[0];for(let a=1,o=n.length;aZs)if(!(Math.abs(d*s-u*c)>Zs)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-i,v=a-l,y=s*s+u*u,h=p*p+v*v,m=Math.sqrt(y),g=Math.sqrt(f),x=o*Math.tan((cA-Math.acos((y+f-h)/(2*m*g)))/2),b=x/g,S=x/m;Math.abs(b-1)>Zs&&this._append`L${t+b*c},${r+b*d}`,this._append`A${o},${o},0,0,${+(d*p>c*v)},${this._x1=t+S*s},${this._y1=r+S*u}`}}arc(t,r,n,a,o,i){if(t=+t,r=+r,n=+n,i=!!i,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^i,f=i?a-o:o-a;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Zs||Math.abs(this._y1-c)>Zs)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%dA+dA),f>EH?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>Zs&&this._append`A${n},${n},0,${+(f>=cA)},${d},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}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 q3(){return new Qs}q3.prototype=Qs.prototype;function ud(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 Qs(t)}var zde=Array.prototype.slice;function cd(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Y3(e){this._context=e}Y3.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 jl(e){return new Y3(e)}function eh(e){return e[0]}function th(e){return e[1]}function om(e,t){var r=Mt(!0),n=null,a=jl,o=null,i=ud(l);e=typeof e=="function"?e:e===void 0?eh:Mt(e),t=typeof t=="function"?t:t===void 0?th:Mt(t);function l(s){var u,c=(s=cd(s)).length,d,f=!1,p;for(n==null&&(o=a(p=i())),u=0;u<=c;++u)!(u=p;--v)l.point(x[v],b[v]);l.lineEnd(),l.areaEnd()}m&&(x[f]=+e(h,f,d),b[f]=+t(h,f,d),l.point(n?+n(h,f,d):x[f],r?+r(h,f,d):b[f]))}if(g)return l=null,g+""||null}function c(){return om().defined(a).curve(i).context(o)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Mt(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Mt(+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:Mt(!!d),u):a},u.curve=function(d){return arguments.length?(i=d,o!=null&&(l=i(o)),u):i},u.context=function(d){return arguments.length?(d==null?o=l=null:l=i(o=d),u):o},u}var rh=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 fA(e){return new rh(e,!0)}function pA(e){return new rh(e,!1)}var fd={draw(e,t){let r=an(t/Xs);e.moveTo(r,0),e.arc(0,0,r,0,sd)}};var mA={draw(e,t){let r=an(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var G3=an(1/3),OH=G3*2,vA={draw(e,t){let r=an(t/OH),n=r*G3;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var gA={draw(e,t){let r=an(t),n=-r/2;e.rect(n,n,r,r)}};var TH=.8908130915292852,X3=am(Xs/10)/am(7*Xs/10),MH=am(sd/10)*X3,PH=-uA(sd/10)*X3,yA={draw(e,t){let r=an(t*TH),n=MH*r,a=PH*r;e.moveTo(0,-r),e.lineTo(n,a);for(let o=1;o<5;++o){let i=sd*o/5,l=uA(i),s=am(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*a,s*n+l*a)}e.closePath()}};var hA=an(3),xA={draw(e,t){let r=-an(t/(hA*3));e.moveTo(0,r*2),e.lineTo(-hA*r,-r),e.lineTo(hA*r,-r),e.closePath()}};var Ha=-.5,Va=an(3)/2,bA=1/an(12),DH=(bA/2+1)*3,wA={draw(e,t){let r=an(t/DH),n=r/2,a=r*bA,o=n,i=r*bA+r,l=-o,s=i;e.moveTo(n,a),e.lineTo(o,i),e.lineTo(l,s),e.lineTo(Ha*n-Va*a,Va*n+Ha*a),e.lineTo(Ha*o-Va*i,Va*o+Ha*i),e.lineTo(Ha*l-Va*s,Va*l+Ha*s),e.lineTo(Ha*n+Va*a,Ha*a-Va*n),e.lineTo(Ha*o+Va*i,Ha*i-Va*o),e.lineTo(Ha*l+Va*s,Ha*s-Va*l),e.closePath()}};function nh(e,t){let r=null,n=ud(a);e=typeof e=="function"?e:Mt(e||fd),t=typeof t=="function"?t:Mt(t===void 0?64:+t);function a(){let o;if(r||(r=o=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),o)return r=null,o+""||null}return a.type=function(o){return arguments.length?(e=typeof o=="function"?o:Mt(o),a):e},a.size=function(o){return arguments.length?(t=typeof o=="function"?o:Mt(+o),a):t},a.context=function(o){return arguments.length?(r=o??null,a):r},a}function pd(){}function md(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 Z3(e){this._context=e}Z3.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:md(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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function SA(e){return new Z3(e)}function Q3(e){this._context=e}Q3.prototype={areaStart:pd,areaEnd:pd,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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function AA(e){return new Q3(e)}function J3(e){this._context=e}J3.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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function kA(e){return new J3(e)}function R3(e){this._context=e}R3.prototype={areaStart:pd,areaEnd:pd,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 NA(e){return new R3(e)}function eM(e){return e<0?-1:1}function tM(e,t,r){var n=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(n||a<0&&-0),i=(r-e._y1)/(a||n<0&&-0),l=(o*a+i*n)/(n+a);return(eM(o)+eM(i))*Math.min(Math.abs(o),Math.abs(i),.5*Math.abs(l))||0}function rM(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function CA(e,t,r){var n=e._x0,a=e._y0,o=e._x1,i=e._y1,l=(o-n)/3;e._context.bezierCurveTo(n+l,a+l*t,o-l,i-l*r,o,i)}function ah(e){this._context=e}ah.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:CA(this,this._t0,rM(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,CA(this,rM(this,r=tM(this,e,t)),r);break;default:CA(this,this._t0,r=tM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function nM(e){this._context=new aM(e)}(nM.prototype=Object.create(ah.prototype)).point=function(e,t){ah.prototype.point.call(this,t,e)};function aM(e){this._context=e}aM.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,o){this._context.bezierCurveTo(t,e,n,r,o,a)}};function EA(e){return new ah(e)}function _A(e){return new nM(e)}function iM(e){this._context=e}iM.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=oM(e),a=oM(t),o=0,i=1;i=0;--t)a[t]=(i[t]-a[t+1])/o[t];for(o[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 TA(e){return new oh(e,.5)}function MA(e){return new oh(e,0)}function PA(e){return new oh(e,1)}function ya(e,t){if((i=e.length)>1)for(var r=1,n,a,o=e[t[0]],i,l=o.length;r=0;)r[t]=t;return r}function IH(e,t){return e[t]}function jH(e){let t=[];return t.key=e,t}function DA(){var e=Mt([]),t=vd,r=ya,n=IH;function a(o){var i=Array.from(e.apply(this,arguments),jH),l,s=i.length,u=-1,c;for(let d of o)for(l=0,++u;l0){for(var r,n,a=0,o=e[0].length,i;a0){for(var r=0,n=e[t[0]],a,o=n.length;r0)||!((o=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,o,i;n{var t="symbol".concat(Ci(e));return cM[t]||fd},KH=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*HH;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},qH=(e,t)=>{cM["symbol".concat(Ci(e))]=t},BA=e=>{var t=e.type,r=t===void 0?"circle":t,n=e.size,a=n===void 0?64:n,o=e.sizeType,i=o===void 0?"area":o,l=FH(e,LH),s=sM(sM({},l),{},{type:r,size:a,sizeType:i}),u="circle";typeof r=="string"&&(u=r);var c=()=>{var y=VH(u),h=nh().type(y).size(KH(a,i,u)),m=h();if(m!==null)return m},d=s.className,f=s.cx,p=s.cy,v=rr(s);return be(f)&&be(p)&&be(a)?uM.createElement("path",LA({},v,{className:Ue("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:c()})):null};BA.registerSymbol=qH;var dM=te(ne());var ih=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,gd=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,dM.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{em(a)&&typeof r[a]=="function"&&(n[a]=t||(o=>r[a](r,o)))}),n},YH=(e,t,r)=>n=>(e(t,r,n),null),Ei=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var o=e[a];em(a)&&typeof o=="function"&&(n||(n={}),n[a]=YH(o,t,r))}),n};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 GH(e){for(var t=1;t(i[l]===void 0&&n[l]!==void 0&&(i[l]=n[l]),i),r);return o}function lh(){return lh=Object.assign?Object.assign.bind():function(e){for(var t=1;t>>=0,e===0?32:31-(qU(e)/YU|0)|0}var wg=256,Sg=262144,Ag=4194304;function Os(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 _y(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~o,n!==0?a=Os(n):(i&=l,i!==0?a=Os(i):r||(r=l&~e,r!==0&&(a=Os(r))))):(l=n&~o,l!==0?a=Os(l):i!==0?a=Os(i):r||(r=n&~e,r!==0&&(a=Os(r)))),a===0?0:t!==0&&t!==a&&(t&o)===0&&(o=a&-a,r=t&-t,o>=r||o===32&&(r&4194048)!==0)?t:a}function Vp(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function XU(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 rT(){var e=Ag;return Ag<<=1,(Ag&62914560)===0&&(Ag=4194304),e}function Dw(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Kp(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ZU(e,t,r,n,a,o){var i=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(r=i&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var rF=/[\n"\\]/g;function ja(e){return e.replace(rF,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function hS(e,t,r,n,a,o,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pa(t)):e.value!==""+Pa(t)&&(e.value=""+Pa(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?xS(e,i,Pa(t)):r!=null?xS(e,i,Pa(r)):n!=null&&e.removeAttribute("value"),a==null&&o!=null&&(e.defaultChecked=!!o),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Pa(l):e.removeAttribute("name")}function dT(e,t,r,n,a,o,i,l){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||r!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){yS(e);return}r=r!=null?""+Pa(r):"",t=t!=null?""+Pa(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,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),yS(e)}function xS(e,t,r){t==="number"&&ny(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function Dc(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"),wS=!1;if(hi)try{vc={},Object.defineProperty(vc,"passive",{get:function(){wS=!0}}),window.addEventListener("test",vc,vc),window.removeEventListener("test",vc,vc)}catch{wS=!1}var vc,gl=null,d2=null,Ug=null;function gT(){if(Ug)return Ug;var e,t=d2,r=t.length,n,a="value"in gl?gl.value:gl.textContent,o=a.length;for(e=0;e=vp),j5=" ",z5=!1;function hT(e,t){switch(e){case"keyup":return TF.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xT(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kc=!1;function PF(e,t){switch(e){case"compositionend":return xT(t);case"keypress":return t.which!==32?null:(z5=!0,j5);case"textInput":return e=t.data,e===j5&&z5?null:e;default:return null}}function DF(e,t){if(kc)return e==="compositionend"||!p2&&hT(e,t)?(e=gT(),Ug=d2=gl=null,kc=!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=U5(r)}}function AT(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?AT(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function kT(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ny(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=ny(e.document)}return t}function m2(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 FF=hi&&"documentMode"in document&&11>=document.documentMode,Nc=null,SS=null,yp=null,AS=!1;function W5(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;AS||Nc==null||Nc!==ny(n)||(n=Nc,"selectionStart"in n&&m2(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}),yp&&Mp(yp,n)||(yp=n,n=wy(SS,"onSelect"),0>=i,a-=i,Do=1<<32-fa(t)+a|r<k?(A=O,O=null):A=O.sibling;var M=f(v,O,b[k],x);if(M===null){O===null&&(O=A);break}e&&O&&M.alternate===null&&t(v,O),y=o(M,y,k),w===null?S=M:w.sibling=M,w=M,O=A}if(k===b.length)return r(v,O),yt&&ci(v,k),S;if(O===null){for(;kk?(A=O,O=null):A=O.sibling;var W=f(v,O,M.value,x);if(W===null){O===null&&(O=A);break}e&&O&&W.alternate===null&&t(v,O),y=o(W,y,k),w===null?S=W:w.sibling=W,w=W,O=A}if(M.done)return r(v,O),yt&&ci(v,k),S;if(O===null){for(;!M.done;k++,M=b.next())M=d(v,M.value,x),M!==null&&(y=o(M,y,k),w===null?S=M:w.sibling=M,w=M);return yt&&ci(v,k),S}for(O=n(O);!M.done;k++,M=b.next())M=p(O,v,k,M.value,x),M!==null&&(e&&M.alternate!==null&&O.delete(M.key===null?k:M.key),y=o(M,y,k),w===null?S=M:w.sibling=M,w=M);return e&&O.forEach(function(L){return t(v,L)}),yt&&ci(v,k),S}function h(v,y,b,x){if(typeof b=="object"&&b!==null&&b.type===bc&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case bg:e:{for(var S=b.key;y!==null;){if(y.key===S){if(S=b.type,S===bc){if(y.tag===7){r(v,y.sibling),x=a(y,b.props.children),x.return=v,v=x;break e}}else if(y.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===ul&&Ts(S)===y.type){r(v,y.sibling),x=a(y,b.props),op(x,b),x.return=v,v=x;break e}r(v,y);break}else t(v,y);y=y.sibling}b.type===bc?(x=Ds(b.props.children,v.mode,x,b.key),x.return=v,v=x):(x=Wg(b.type,b.key,b.props,null,v.mode,x),op(x,b),x.return=v,v=x)}return i(v);case cp:e:{for(S=b.key;y!==null;){if(y.key===S)if(y.tag===4&&y.stateNode.containerInfo===b.containerInfo&&y.stateNode.implementation===b.implementation){r(v,y.sibling),x=a(y,b.children||[]),x.return=v,v=x;break e}else{r(v,y);break}else t(v,y);y=y.sibling}x=Fw(b,v.mode,x),x.return=v,v=x}return i(v);case ul:return b=Ts(b),h(v,y,b,x)}if(dp(b))return m(v,y,b,x);if(np(b)){if(S=np(b),typeof S!="function")throw Error(pe(150));return b=S.call(b),g(v,y,b,x)}if(typeof b.then=="function")return h(v,y,Og(b),x);if(b.$$typeof===fi)return h(v,y,_g(v,b),x);Tg(v,b)}return typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint"?(b=""+b,y!==null&&y.tag===6?(r(v,y.sibling),x=a(y,b),x.return=v,v=x):(r(v,y),x=Uw(b,v.mode,x),x.return=v,v=x),i(v)):r(v,y)}return function(v,y,b,x){try{Ip=0;var S=h(v,y,b,x);return zc=null,S}catch(O){if(O===Rc||O===Iy)throw O;var w=sa(29,O,null,v.mode);return w.lanes=x,w.return=v,w}}}var $s=$T(!0),UT=$T(!1),cl=!1;function A2(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function TS(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 Sl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Al(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Ot&2)!==0){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,t=oy(e),MT(e,null,r),t}return Dy(e,n,t,r),oy(e)}function xp(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,aT(e,r)}}function Hw(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,o=null;if(r=r.firstBaseUpdate,r!==null){do{var i={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};o===null?a=o=i:o=o.next=i,r=r.next}while(r!==null);o===null?a=o=t:o=o.next=t}else a=o=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:o,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 MS=!1;function bp(){if(MS){var e=jc;if(e!==null)throw e}}function wp(e,t,r,n){MS=!1;var a=e.updateQueue;cl=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,u=s.next;s.next=null,i===null?o=u:i.next=u,i=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==i&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(o!==null){var d=a.baseState;i=0,c=u=s=null,l=o;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(vt&f)===f:(n&f)===f){f!==0&&f===Wc&&(MS=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var m=e,g=l;f=t;var h=r;switch(g.tag){case 1:if(m=g.payload,typeof m=="function"){d=m.call(h,d,f);break e}d=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m=="function"?m.call(h,d,f):m,f==null)break e;d=er({},d,f);break e;case 2:cl=!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,i|=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,o===null&&(a.shared.lanes=0),Pl|=i,e.lanes=i,e.memoizedState=d}}function FT(e,t){if(typeof e!="function")throw Error(pe(191,e));e.call(t)}function WT(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;eo?o:8;var i=Ke.T,l={};Ke.T=l,z2(e,!1,t,r);try{var s=a(),u=Ke.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=ZF(s,n);Sp(e,t,c,pa(e))}else Sp(e,t,n,pa(e))}catch(d){Sp(e,t,{then:function(){},status:"rejected",reason:d},pa())}finally{Tt.p=o,i!==null&&l.types!==null&&(i.types=l.types),Ke.T=i}}function rW(){}function zS(e,t,r,n){if(e.tag!==5)throw Error(pe(476));var a=p4(e).queue;f4(e,a,t,Ps,r===null?rW:function(){return m4(e),r(n)})}function p4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Ps,baseState:Ps,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:Ps},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function m4(e){var t=p4(e);t.next===null&&(t=e.alternate.memoizedState),Sp(e,t.next.queue,{},pa())}function j2(){return pn($p)}function v4(){return Or().memoizedState}function g4(){return Or().memoizedState}function nW(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=pa();e=Sl(r);var n=Al(t,e,r);n!==null&&(Kn(n,t,r),xp(n,t,r)),t={cache:b2()},e.payload=t;return}t=t.return}}function aW(e,t,r){var n=pa();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},By(e)?h4(t,r):(r=g2(e,t,r,n),r!==null&&(Kn(r,e,n),x4(r,t,n)))}function y4(e,t,r){var n=pa();Sp(e,t,r,n)}function Sp(e,t,r,n){var a={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(By(e))h4(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,l=o(i,r);if(a.hasEagerState=!0,a.eagerState=l,ma(l,i))return Dy(e,t,a,0),$t===null&&Py(),!1}catch{}if(r=g2(e,t,a,n),r!==null)return Kn(r,e,n),x4(r,t,n),!0}return!1}function z2(e,t,r,n){if(n={lane:2,revertLane:K2(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},By(e)){if(t)throw Error(pe(479))}else t=g2(e,r,n,2),t!==null&&Kn(t,e,2)}function By(e){var t=e.alternate;return e===et||t!==null&&t===et}function h4(e,t){Lc=dy=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function x4(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,aT(e,r)}}var zp={readContext:pn,use:zy,useCallback:br,useContext:br,useEffect:br,useImperativeHandle:br,useLayoutEffect:br,useInsertionEffect:br,useMemo:br,useReducer:br,useRef:br,useState:br,useDebugValue:br,useDeferredValue:br,useTransition:br,useSyncExternalStore:br,useId:br,useHostTransitionStatus:br,useFormState:br,useActionState:br,useOptimistic:br,useMemoCache:br,useCacheRefresh:br};zp.useEffectEvent=br;var b4={readContext:pn,use:zy,useCallback:function(e,t){return Tn().memoizedState=[e,t===void 0?null:t],e},useContext:pn,useEffect:nO,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,Kg(4194308,4,l4.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Kg(4194308,4,e,t)},useInsertionEffect:function(e,t){Kg(4,2,e,t)},useMemo:function(e,t){var r=Tn();t=t===void 0?null:t;var n=e();if(Us){vl(!0);try{e()}finally{vl(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=Tn();if(r!==void 0){var a=r(t);if(Us){vl(!0);try{r(t)}finally{vl(!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=aW.bind(null,et,e),[n.memoizedState,e]},useRef:function(e){var t=Tn();return e={current:e},t.memoizedState=e},useState:function(e){e=IS(e);var t=e.queue,r=y4.bind(null,et,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:D2,useDeferredValue:function(e,t){var r=Tn();return I2(r,e,t)},useTransition:function(){var e=IS(!1);return e=f4.bind(null,et,e.queue,!0,!1),Tn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=et,a=Tn();if(yt){if(r===void 0)throw Error(pe(407));r=r()}else{if(r=t(),$t===null)throw Error(pe(349));(vt&127)!==0||YT(n,t,r)}a.memoizedState=r;var o={value:r,getSnapshot:t};return a.queue=o,nO(XT.bind(null,n,o,e),[e]),n.flags|=2048,Vc(9,{destroy:void 0},GT.bind(null,n,o,r,t),null),r},useId:function(){var e=Tn(),t=$t.identifierPrefix;if(yt){var r=Io,n=Do;r=(n&~(1<<32-fa(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=fy++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof n.is=="string"?i.createElement("select",{is:n.is}):i.createElement("select"),n.multiple?o.multiple=!0:n.size&&(o.size=n.size);break;default:o=typeof n.is=="string"?i.createElement(a,{is:n.is}):i.createElement(a)}}o[dn]=t,o[qn]=n;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)o.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=o;e:switch(mn(o,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&&ii(t)}}return Jt(t),Qw(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&ii(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(pe(166));if(e=bl.current,gc(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,a=fn,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}e[dn]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||y3(e.nodeValue,r)),e||Tl(t,!0)}else e=Sy(e).createTextNode(n),e[dn]=t,t.stateNode=e}return Jt(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=gc(t),r!==null){if(e===null){if(!n)throw Error(pe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(pe(557));e[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),e=!1}else r=Ww(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(la(t),t):(la(t),null);if((t.flags&128)!==0)throw Error(pe(558))}return Jt(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=gc(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(pe(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(pe(317));a[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),a=!1}else a=Ww(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(la(t),t):(la(t),null)}return la(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),o=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(o=n.memoizedState.cachePool.pool),o!==a&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),Mg(t,t.updateQueue),Jt(t),null);case 4:return $c(),e===null&&q2(t.stateNode.containerInfo),Jt(t),null;case 10:return gi(t.type),Jt(t),null;case 19:if(tn(_r),n=t.memoizedState,n===null)return Jt(t),null;if(a=(t.flags&128)!==0,o=n.rendering,o===null)if(a)ip(n,!1);else{if(wr!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=cy(e),o!==null){for(t.flags|=128,ip(n,!1),e=o.updateQueue,t.updateQueue=e,Mg(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)PT(r,e),r=r.sibling;return Kt(_r,_r.current&1|2),yt&&ci(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&ca()>gy&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304)}else{if(!a)if(e=cy(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Mg(t,e),ip(n,!0),n.tail===null&&n.tailMode==="hidden"&&!o.alternate&&!yt)return Jt(t),null}else 2*ca()-n.renderingStartTime>gy&&r!==536870912&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(e=n.last,e!==null?e.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=ca(),e.sibling=null,r=_r.current,Kt(_r,a?r&1|2:r&1),yt&&ci(t,n.treeForkCount),e):(Jt(t),null);case 22:case 23:return la(t),k2(),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&&(Jt(t),t.subtreeFlags&6&&(t.flags|=8192)):Jt(t),r=t.updateQueue,r!==null&&Mg(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&&tn(Is),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),gi($r),Jt(t),null;case 25:return null;case 30:return null}throw Error(pe(156,t.tag))}function uW(e,t){switch(x2(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return gi($r),$c(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ty(t),null;case 31:if(t.memoizedState!==null){if(la(t),t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(la(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return tn(_r),null;case 4:return $c(),null;case 10:return gi(t.type),null;case 22:case 23:return la(t),k2(),e!==null&&tn(Is),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return gi($r),null;case 25:return null;default:return null}}function P4(e,t){switch(x2(t),t.tag){case 3:gi($r),$c();break;case 26:case 27:case 5:ty(t);break;case 4:$c();break;case 31:t.memoizedState!==null&&la(t);break;case 13:la(t);break;case 19:tn(_r);break;case 10:gi(t.type);break;case 22:case 23:la(t),k2(),e!==null&&tn(Is);break;case 24:gi($r)}}function Zp(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 o=r.create,i=r.inst;n=o(),i.destroy=n}r=r.next}while(r!==a)}}catch(l){It(t,t.return,l)}}function Ml(e,t,r){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var o=a.next;n=o;do{if((n.tag&e)===e){var i=n.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,a=t;var s=r,u=l;try{u()}catch(c){It(a,s,c)}}}n=n.next}while(n!==o)}}catch(c){It(t,t.return,c)}}function D4(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{WT(t,r)}catch(n){It(e,e.return,n)}}}function I4(e,t,r){r.props=Fs(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){It(e,t,n)}}function Ap(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){It(e,t,a)}}function jo(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(a){It(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){It(e,t,a)}else r.current=null}function j4(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){It(e,e.return,a)}}function Jw(e,t,r){try{var n=e.stateNode;OW(n,e.type,r,t),n[qn]=t}catch(a){It(e,e.return,a)}}function z4(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Il(e.type)||e.tag===4}function Rw(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||z4(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&&Il(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 FS(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=pi));else if(n!==4&&(n===27&&Il(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(FS(e,t,r),e=e.sibling;e!==null;)FS(e,t,r),e=e.sibling}function vy(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&&Il(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(vy(e,t,r),e=e.sibling;e!==null;)vy(e,t,r),e=e.sibling}function L4(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);mn(t,n,r),t[dn]=e,t[qn]=r}catch(o){It(e,e.return,o)}}var di=!1,Br=!1,eS=!1,gO=typeof WeakSet=="function"?WeakSet:Set,Rr=null;function cW(e,t){if(e=e.containerInfo,GS=Cy,e=kT(e),m2(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,o=n.focusNode;n=n.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||a!==0&&d.nodeType!==3||(l=i+a),d!==o||n!==0&&d.nodeType!==3||(s=i+n),d.nodeType===3&&(i+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===a&&(l=i),f===o&&++c===n&&(s=i),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(XS={focusedElem:e,selectionRange:r},Cy=!1,Rr=t;Rr!==null;)if(t=Rr,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Rr=e;else for(;Rr!==null;){switch(t=Rr,o=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"))),mn(o,n,r),o[dn]=e,en(o),n=o;break e;case"link":var i=BO("link","href",a).get(n+(r.href||""));if(i){for(var l=0;lh&&(i=h,h=g,g=i);var v=F5(l,g),y=F5(l,h);if(v&&y&&(p.rangeCount!==1||p.anchorNode!==v.node||p.anchorOffset!==v.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var b=d.createRange();b.setStart(v.node,v.offset),p.removeAllRanges(),g>h?(p.addRange(b),p.extend(y.node,y.offset)):(b.setEnd(y.node,y.offset),p.addRange(b))}}}}for(d=[],p=l;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;lr?32:r,Ke.T=null,r=VS,VS=null;var o=Nl,i=yi;if(Vr=0,qc=Nl=null,yi=0,(Ot&6)!==0)throw Error(pe(331));var l=Ot;if(Ot|=4,G4(o.current),K4(o,o.current,i,r),Ot=l,Qp(0,!1),da&&typeof da.onPostCommitFiberRoot=="function")try{da.onPostCommitFiberRoot(Hp,o)}catch{}return!0}finally{Tt.p=a,Ke.T=n,u3(e,t)}}function bO(e,t,r){t=za(r,t),t=BS(e.stateNode,t,2),e=Al(e,t,2),e!==null&&(Kp(e,2),Bo(e))}function It(e,t,r){if(e.tag===3)bO(e,e,r);else for(;t!==null;){if(t.tag===3){bO(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(kl===null||!kl.has(n))){e=za(r,e),r=N4(2),n=Al(t,r,2),n!==null&&(C4(r,n,t,e),Kp(n,2),Bo(n));break}}t=t.return}}function rS(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new pW;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)||(W2=!0,a.add(r),e=hW.bind(null,e,t,r),t.then(e,e))}function hW(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,$t===e&&(vt&r)===r&&(wr===4||wr===3&&(vt&62914560)===vt&&300>ca()-$y?(Ot&2)===0&&Yc(e,0):H2|=r,Kc===vt&&(Kc=0)),Bo(e)}function d3(e,t){t===0&&(t=rT()),e=Ks(e,t),e!==null&&(Kp(e,t),Bo(e))}function xW(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),d3(e,r)}function bW(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(pe(314))}n!==null&&n.delete(t),d3(e,r)}function wW(e,t){return o2(e,t)}var xy=null,xc=null,qS=!1,by=!1,nS=!1,xl=0;function Bo(e){e!==xc&&e.next===null&&(xc===null?xy=xc=e:xc=xc.next=e),by=!0,qS||(qS=!0,AW())}function Qp(e,t){if(!nS&&by){nS=!0;do for(var r=!1,n=xy;n!==null;){if(!t)if(e!==0){var a=n.pendingLanes;if(a===0)var o=0;else{var i=n.suspendedLanes,l=n.pingedLanes;o=(1<<31-fa(42|e)+1)-1,o&=a&~(i&~l),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(r=!0,wO(n,o))}else o=vt,o=_y(n,n===$t?o:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(o&3)===0||Vp(n,o)||(r=!0,wO(n,o));n=n.next}while(r);nS=!1}}function SW(){f3()}function f3(){by=qS=!1;var e=0;xl!==0&&MW()&&(e=xl);for(var t=ca(),r=null,n=xy;n!==null;){var a=n.next,o=p3(n,t);o===0?(n.next=null,r===null?xy=a:r.next=a,a===null&&(xc=r)):(r=n,(e!==0||(o&3)!==0)&&(by=!0)),n=a}Vr!==0&&Vr!==5||Qp(e,!1),xl!==0&&(xl=0)}function p3(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&_O(d)&&(s=s.responseEnd,i+=c*(s"u"?null:document;function S3(e,t,r){var n=td;if(n&&typeof t=="string"&&t){var a=ja(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof r=="string"&&(a+='[crossorigin="'+r+'"]'),jO.has(a)||(jO.add(a),e={rel:e,crossOrigin:r,href:t},n.querySelector(a)===null&&(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function UW(e){Ai.D(e),S3("dns-prefetch",e,null)}function FW(e,t){Ai.C(e,t),S3("preconnect",e,t)}function WW(e,t,r){Ai.L(e,t,r);var n=td;if(n&&e&&t){var a='link[rel="preload"][as="'+ja(t)+'"]';t==="image"&&r&&r.imageSrcSet?(a+='[imagesrcset="'+ja(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(a+='[imagesizes="'+ja(r.imageSizes)+'"]')):a+='[href="'+ja(e)+'"]';var o=a;switch(t){case"style":o=Gc(e);break;case"script":o=rd(e)}Ua.has(o)||(e=er({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Ua.set(o,e),n.querySelector(a)!==null||t==="style"&&n.querySelector(Jp(o))||t==="script"&&n.querySelector(Rp(o))||(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function HW(e,t){Ai.m(e,t);var r=td;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+ja(n)+'"][href="'+ja(e)+'"]',o=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=rd(e)}if(!Ua.has(o)&&(e=er({rel:"modulepreload",href:e},t),Ua.set(o,e),r.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(Rp(o)))return}n=r.createElement("link"),mn(n,"link",e),en(n),r.head.appendChild(n)}}}function VW(e,t,r){Ai.S(e,t,r);var n=td;if(n&&e){var a=Pc(n).hoistableStyles,o=Gc(e);t=t||"default";var i=a.get(o);if(!i){var l={loading:0,preload:null};if(i=n.querySelector(Jp(o)))l.loading=5;else{e=er({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Ua.get(o))&&Y2(e,r);var s=i=n.createElement("link");en(s),mn(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,Xg(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:l},a.set(o,i)}}}function KW(e,t){Ai.X(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0},t),(t=Ua.get(a))&&G2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function qW(e,t){Ai.M(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0,type:"module"},t),(t=Ua.get(a))&&G2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function zO(e,t,r,n){var a=(a=bl.current)?Ay(a):null;if(!a)throw Error(pe(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=Gc(r.href),r=Pc(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=Gc(r.href);var o=Pc(a).hoistableStyles,i=o.get(e);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,i),(o=a.querySelector(Jp(e)))&&!o._p&&(i.instance=o,i.state.loading=5),Ua.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},Ua.set(e,r),o||YW(a,e,r,i.state))),t&&n===null)throw Error(pe(528,""));return i}if(t&&n!==null)throw Error(pe(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=rd(r),r=Pc(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(pe(444,e))}}function Gc(e){return'href="'+ja(e)+'"'}function Jp(e){return'link[rel="stylesheet"]['+e+"]"}function A3(e){return er({},e,{"data-precedence":e.precedence,precedence:null})}function YW(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}),mn(t,"link",r),en(t),e.head.appendChild(t))}function rd(e){return'[src="'+ja(e)+'"]'}function Rp(e){return"script[async]"+e}function LO(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+ja(r.href)+'"]');if(n)return t.instance=n,en(n),n;var a=er({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),en(n),mn(n,"style",a),Xg(n,r.precedence,e),t.instance=n;case"stylesheet":a=Gc(r.href);var o=e.querySelector(Jp(a));if(o)return t.state.loading|=4,t.instance=o,en(o),o;n=A3(r),(a=Ua.get(a))&&Y2(n,a),o=(e.ownerDocument||e).createElement("link"),en(o);var i=o;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),t.state.loading|=4,Xg(o,r.precedence,e),t.instance=o;case"script":return o=rd(r.src),(a=e.querySelector(Rp(o)))?(t.instance=a,en(a),a):(n=r,(a=Ua.get(o))&&(n=er({},r),G2(n,a)),e=e.ownerDocument||e,a=e.createElement("script"),en(a),mn(a,"link",n),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(pe(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Xg(n,r.precedence,e));return t.instance}function Xg(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,o=a,i=0;i title"):null)}function GW(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 k3(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function XW(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=Gc(n.href),o=t.querySelector(Jp(a));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ky.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=o,en(o);return}o=t.ownerDocument||t,n=A3(n),(a=Ua.get(a))&&Y2(n,a),o=o.createElement("link"),en(o);var i=o;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),r.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=ky.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var lS=0;function ZW(e,t){return e.stylesheets&&e.count===0&&Qg(e,e.stylesheets),0lS?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function ky(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qg(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ny=null;function Qg(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ny=new Map,t.forEach(QW,e),Ny=null,ky.call(e))}function QW(e,t){if(!(t.state.loading&4)){var r=Ny.get(e);if(r)var n=r.get(null);else{r=new Map,Ny.set(e,r);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";function D3(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(D3)}catch(e){console.error(e)}}D3(),I3.exports=P3()});var BM=Jr(LM=>{"use strict";var wd=ne();function cV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var dV=typeof Object.is=="function"?Object.is:cV,fV=wd.useState,pV=wd.useEffect,mV=wd.useLayoutEffect,vV=wd.useDebugValue;function gV(e,t){var r=t(),n=fV({inst:{value:r,getSnapshot:t}}),a=n[0].inst,o=n[1];return mV(function(){a.value=r,a.getSnapshot=t,WA(a)&&o({inst:a})},[e,r,t]),pV(function(){return WA(a)&&o({inst:a}),e(function(){WA(a)&&o({inst:a})})},[e]),vV(r),r}function WA(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!dV(e,r)}catch{return!0}}function yV(e,t){return t()}var hV=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?yV:gV;LM.useSyncExternalStore=wd.useSyncExternalStore!==void 0?wd.useSyncExternalStore:hV});var UM=Jr((eve,$M)=>{"use strict";$M.exports=BM()});var WM=Jr(FM=>{"use strict";var Dh=ne(),xV=UM();function bV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wV=typeof Object.is=="function"?Object.is:bV,SV=xV.useSyncExternalStore,AV=Dh.useRef,kV=Dh.useEffect,NV=Dh.useMemo,CV=Dh.useDebugValue;FM.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=AV(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=NV(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var m=i.value;if(a(m,p))return d=m}return d=p}if(m=d,wV(c,p))return m;var g=n(p);return a!==void 0&&a(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,a]);var l=SV(e,o[0],o[1]);return kV(function(){i.hasValue=!0,i.value=l},[l]),CV(l),l}});var VM=Jr((rve,HM)=>{"use strict";HM.exports=WM()});var MD=Jr(TD=>{"use strict";var wm=ne();function Tq(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mq=typeof Object.is=="function"?Object.is:Tq,Pq=wm.useSyncExternalStore,Dq=wm.useRef,Iq=wm.useEffect,jq=wm.useMemo,zq=wm.useDebugValue;TD.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=Dq(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=jq(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var m=i.value;if(a(m,p))return d=m}return d=p}if(m=d,Mq(c,p))return m;var g=n(p);return a!==void 0&&a(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,a]);var l=Pq(e,o[0],o[1]);return Iq(function(){i.hasValue=!0,i.value=l},[l]),zq(l),l}});var DD=Jr((tye,PD)=>{"use strict";PD.exports=MD()});var Lk=Jr((a6,H0)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",o=a+"Invalid argument: ",i=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,m=l(p/f),g={};g.absoluteValue=g.abs=function(){var N=new this.constructor(this);return N.s&&(N.s=1),N},g.comparedTo=g.cmp=function(N){var _,z,j,P,B=this;if(N=new B.constructor(N),B.s!==N.s)return B.s||-N.s;if(B.e!==N.e)return B.e>N.e^B.s<0?1:-1;for(j=B.d.length,P=N.d.length,_=0,z=jN.d[_]^B.s<0?1:-1;return j===P?0:j>P^B.s<0?1:-1},g.decimalPlaces=g.dp=function(){var N=this,_=N.d.length-1,z=(_-N.e)*f;if(_=N.d[_],_)for(;_%10==0;_/=10)z--;return z<0?0:z},g.dividedBy=g.div=function(N){return b(this,new this.constructor(N))},g.dividedToIntegerBy=g.idiv=function(N){var _=this,z=_.constructor;return M(b(_,new z(N),0,1),z.precision)},g.equals=g.eq=function(N){return!this.cmp(N)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(N){return this.cmp(N)>0},g.greaterThanOrEqualTo=g.gte=function(N){return this.cmp(N)>=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(N){return this.cmp(N)<0},g.lessThanOrEqualTo=g.lte=function(N){return this.cmp(N)<1},g.logarithm=g.log=function(N){var _,z=this,j=z.constructor,P=j.precision,B=P+5;if(N===void 0)N=new j(10);else if(N=new j(N),N.s<1||N.eq(c))throw Error(a+"NaN");if(z.s<1)throw Error(a+(z.s?"NaN":"-Infinity"));return z.eq(c)?new j(0):(n=!1,_=b(k(z,B),k(N,B),B),n=!0,M(_,P))},g.minus=g.sub=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?W(_,N):h(_,(N.s=-N.s,N))},g.modulo=g.mod=function(N){var _,z=this,j=z.constructor,P=j.precision;if(N=new j(N),!N.s)throw Error(a+"NaN");return z.s?(n=!1,_=b(z,N,0,1).times(N),n=!0,z.minus(_)):M(new j(z),P)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return k(this)},g.negated=g.neg=function(){var N=new this.constructor(this);return N.s=-N.s||0,N},g.plus=g.add=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?h(_,N):W(_,(N.s=-N.s,N))},g.precision=g.sd=function(N){var _,z,j,P=this;if(N!==void 0&&N!==!!N&&N!==1&&N!==0)throw Error(o+N);if(_=S(P)+1,j=P.d.length-1,z=j*f+1,j=P.d[j],j){for(;j%10==0;j/=10)z--;for(j=P.d[0];j>=10;j/=10)z++}return N&&_>z?_:z},g.squareRoot=g.sqrt=function(){var N,_,z,j,P,B,R,F=this,G=F.constructor;if(F.s<1){if(!F.s)return new G(0);throw Error(a+"NaN")}for(N=S(F),n=!1,P=Math.sqrt(+F),P==0||P==1/0?(_=y(F.d),(_.length+N)%2==0&&(_+="0"),P=Math.sqrt(_),N=l((N+1)/2)-(N<0||N%2),P==1/0?_="5e"+N:(_=P.toExponential(),_=_.slice(0,_.indexOf("e")+1)+N),j=new G(_)):j=new G(P.toString()),z=G.precision,P=R=z+3;;)if(B=j,j=B.plus(b(F,B,R+2)).times(.5),y(B.d).slice(0,R)===(_=y(j.d)).slice(0,R)){if(_=_.slice(R-3,R+1),P==R&&_=="4999"){if(M(B,z+1,0),B.times(B).eq(F)){j=B;break}}else if(_!="9999")break;R+=4}return n=!0,M(j,z)},g.times=g.mul=function(N){var _,z,j,P,B,R,F,G,ee,fe=this,de=fe.constructor,De=fe.d,le=(N=new de(N)).d;if(!fe.s||!N.s)return new de(0);for(N.s*=fe.s,z=fe.e+N.e,G=De.length,ee=le.length,G=0;){for(_=0,P=G+j;P>j;)F=B[P]+le[j]*De[P-j-1]+_,B[P--]=F%d|0,_=F/d|0;B[P]=(B[P]+_)%d|0}for(;!B[--R];)B.pop();return _?++z:B.shift(),N.d=B,N.e=z,n?M(N,de.precision):N},g.toDecimalPlaces=g.todp=function(N,_){var z=this,j=z.constructor;return z=new j(z),N===void 0?z:(v(N,0,t),_===void 0?_=j.rounding:v(_,0,8),M(z,N+S(z)+1,_))},g.toExponential=function(N,_){var z,j=this,P=j.constructor;return N===void 0?z=L(j,!0):(v(N,0,t),_===void 0?_=P.rounding:v(_,0,8),j=M(new P(j),N+1,_),z=L(j,!0,N+1)),z},g.toFixed=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?L(P):(v(N,0,t),_===void 0?_=B.rounding:v(_,0,8),j=M(new B(P),N+S(P)+1,_),z=L(j.abs(),!1,N+S(j)+1),P.isneg()&&!P.isZero()?"-"+z:z)},g.toInteger=g.toint=function(){var N=this,_=N.constructor;return M(new _(N),S(N)+1,_.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(N){var _,z,j,P,B,R,F=this,G=F.constructor,ee=12,fe=+(N=new G(N));if(!N.s)return new G(c);if(F=new G(F),!F.s){if(N.s<1)throw Error(a+"Infinity");return F}if(F.eq(c))return F;if(j=G.precision,N.eq(c))return M(F,j);if(_=N.e,z=N.d.length-1,R=_>=z,B=F.s,R){if((z=fe<0?-fe:fe)<=p){for(P=new G(c),_=Math.ceil(j/f+4),n=!1;z%2&&(P=P.times(F),H(P.d,_)),z=l(z/2),z!==0;)F=F.times(F),H(F.d,_);return n=!0,N.s<0?new G(c).div(P):M(P,j)}}else if(B<0)throw Error(a+"NaN");return B=B<0&&N.d[Math.max(_,z)]&1?-1:1,F.s=1,n=!1,P=N.times(k(F,j+ee)),n=!0,P=x(P),P.s=B,P},g.toPrecision=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?(z=S(P),j=L(P,z<=B.toExpNeg||z>=B.toExpPos)):(v(N,1,t),_===void 0?_=B.rounding:v(_,0,8),P=M(new B(P),N,_),z=S(P),j=L(P,N<=z||z<=B.toExpNeg,N)),j},g.toSignificantDigits=g.tosd=function(N,_){var z=this,j=z.constructor;return N===void 0?(N=j.precision,_=j.rounding):(v(N,1,t),_===void 0?_=j.rounding:v(_,0,8)),M(new j(z),N,_)},g.toString=g.valueOf=g.val=g.toJSON=function(){var N=this,_=S(N),z=N.constructor;return L(N,_<=z.toExpNeg||_>=z.toExpPos)};function h(N,_){var z,j,P,B,R,F,G,ee,fe=N.constructor,de=fe.precision;if(!N.s||!_.s)return _.s||(_=new fe(N)),n?M(_,de):_;if(G=N.d,ee=_.d,R=N.e,P=_.e,G=G.slice(),B=R-P,B){for(B<0?(j=G,B=-B,F=ee.length):(j=ee,P=R,F=G.length),R=Math.ceil(de/f),F=R>F?R+1:F+1,B>F&&(B=F,j.length=1),j.reverse();B--;)j.push(0);j.reverse()}for(F=G.length,B=ee.length,F-B<0&&(B=F,j=ee,ee=G,G=j),z=0;B;)z=(G[--B]=G[B]+ee[B]+z)/d|0,G[B]%=d;for(z&&(G.unshift(z),++P),F=G.length;G[--F]==0;)G.pop();return _.d=G,_.e=P,n?M(_,de):_}function v(N,_,z){if(N!==~~N||N<_||N>z)throw Error(o+N)}function y(N){var _,z,j,P=N.length-1,B="",R=N[0];if(P>0){for(B+=R,_=1;_R?1:-1;else for(F=G=0;FP[F]?1:-1;break}return G}function z(j,P,B){for(var R=0;B--;)j[B]-=R,R=j[B]1;)j.shift()}return function(j,P,B,R){var F,G,ee,fe,de,De,le,Te,K,I,C,T,X,$,Ne,E,Z,ge,Le=j.constructor,nt=j.s==P.s?1:-1,Bt=j.d,ft=P.d;if(!j.s)return new Le(j);if(!P.s)throw Error(a+"Division by zero");for(G=j.e-P.e,Z=ft.length,Ne=Bt.length,le=new Le(nt),Te=le.d=[],ee=0;ft[ee]==(Bt[ee]||0);)++ee;if(ft[ee]>(Bt[ee]||0)&&--G,B==null?T=B=Le.precision:R?T=B+(S(j)-S(P))+1:T=B,T<0)return new Le(0);if(T=T/f+2|0,ee=0,Z==1)for(fe=0,ft=ft[0],T++;(ee1&&(ft=N(ft,fe),Bt=N(Bt,fe),Z=ft.length,Ne=Bt.length),$=Z,K=Bt.slice(0,Z),I=K.length;I=d/2&&++E;do fe=0,F=_(ft,K,Z,I),F<0?(C=K[0],Z!=I&&(C=C*d+(K[1]||0)),fe=C/E|0,fe>1?(fe>=d&&(fe=d-1),de=N(ft,fe),De=de.length,I=K.length,F=_(de,K,De,I),F==1&&(fe--,z(de,Z16)throw Error(i+S(N));if(!N.s)return new fe(c);for(_==null?(n=!1,F=de):F=_,R=new fe(.03125);N.abs().gte(.1);)N=N.times(R),ee+=5;for(j=Math.log(s(2,ee))/Math.LN10*2+5|0,F+=j,z=P=B=new fe(c),fe.precision=F;;){if(P=M(P.times(N),F),z=z.times(++G),R=B.plus(b(P,z,F)),y(R.d).slice(0,F)===y(B.d).slice(0,F)){for(;ee--;)B=M(B.times(B),F);return fe.precision=de,_==null?(n=!0,M(B,de)):B}B=R}}function S(N){for(var _=N.e*f,z=N.d[0];z>=10;z/=10)_++;return _}function w(N,_,z){if(_>N.LN10.sd())throw n=!0,z&&(N.precision=z),Error(a+"LN10 precision limit exceeded");return M(new N(N.LN10),_)}function O(N){for(var _="";N--;)_+="0";return _}function k(N,_){var z,j,P,B,R,F,G,ee,fe,de=1,De=10,le=N,Te=le.d,K=le.constructor,I=K.precision;if(le.s<1)throw Error(a+(le.s?"NaN":"-Infinity"));if(le.eq(c))return new K(0);if(_==null?(n=!1,ee=I):ee=_,le.eq(10))return _==null&&(n=!0),w(K,ee);if(ee+=De,K.precision=ee,z=y(Te),j=z.charAt(0),B=S(le),Math.abs(B)<15e14){for(;j<7&&j!=1||j==1&&z.charAt(1)>3;)le=le.times(N),z=y(le.d),j=z.charAt(0),de++;B=S(le),j>1?(le=new K("0."+z),B++):le=new K(j+"."+z.slice(1))}else return G=w(K,ee+2,I).times(B+""),le=k(new K(j+"."+z.slice(1)),ee-De).plus(G),K.precision=I,_==null?(n=!0,M(le,I)):le;for(F=R=le=b(le.minus(c),le.plus(c),ee),fe=M(le.times(le),ee),P=3;;){if(R=M(R.times(fe),ee),G=F.plus(b(R,new K(P),ee)),y(G.d).slice(0,ee)===y(F.d).slice(0,ee))return F=F.times(2),B!==0&&(F=F.plus(w(K,ee+2,I).times(B+""))),F=b(F,new K(de),ee),K.precision=I,_==null?(n=!0,M(F,I)):F;F=G,P+=2}}function A(N,_){var z,j,P;for((z=_.indexOf("."))>-1&&(_=_.replace(".","")),(j=_.search(/e/i))>0?(z<0&&(z=j),z+=+_.slice(j+1),_=_.substring(0,j)):z<0&&(z=_.length),j=0;_.charCodeAt(j)===48;)++j;for(P=_.length;_.charCodeAt(P-1)===48;)--P;if(_=_.slice(j,P),_){if(P-=j,z=z-j-1,N.e=l(z/f),N.d=[],j=(z+1)%f,z<0&&(j+=f),jm||N.e<-m))throw Error(i+z)}else N.s=0,N.e=0,N.d=[0];return N}function M(N,_,z){var j,P,B,R,F,G,ee,fe,de=N.d;for(R=1,B=de[0];B>=10;B/=10)R++;if(j=_-R,j<0)j+=f,P=_,ee=de[fe=0];else{if(fe=Math.ceil((j+1)/f),B=de.length,fe>=B)return N;for(ee=B=de[fe],R=1;B>=10;B/=10)R++;j%=f,P=j-f+R}if(z!==void 0&&(B=s(10,R-P-1),F=ee/B%10|0,G=_<0||de[fe+1]!==void 0||ee%B,G=z<4?(F||G)&&(z==0||z==(N.s<0?3:2)):F>5||F==5&&(z==4||G||z==6&&(j>0?P>0?ee/s(10,R-P):0:de[fe-1])%10&1||z==(N.s<0?8:7))),_<1||!de[0])return G?(B=S(N),de.length=1,_=_-B-1,de[0]=s(10,(f-_%f)%f),N.e=l(-_/f)||0):(de.length=1,de[0]=N.e=N.s=0),N;if(j==0?(de.length=fe,B=1,fe--):(de.length=fe+1,B=s(10,f-j),de[fe]=P>0?(ee/s(10,R-P)%s(10,P)|0)*B:0),G)for(;;)if(fe==0){(de[0]+=B)==d&&(de[0]=1,++N.e);break}else{if(de[fe]+=B,de[fe]!=d)break;de[fe--]=0,B=1}for(j=de.length;de[--j]===0;)de.pop();if(n&&(N.e>m||N.e<-m))throw Error(i+S(N));return N}function W(N,_){var z,j,P,B,R,F,G,ee,fe,de,De=N.constructor,le=De.precision;if(!N.s||!_.s)return _.s?_.s=-_.s:_=new De(N),n?M(_,le):_;if(G=N.d,de=_.d,j=_.e,ee=N.e,G=G.slice(),R=ee-j,R){for(fe=R<0,fe?(z=G,R=-R,F=de.length):(z=de,j=ee,F=G.length),P=Math.max(Math.ceil(le/f),F)+2,R>P&&(R=P,z.length=1),z.reverse(),P=R;P--;)z.push(0);z.reverse()}else{for(P=G.length,F=de.length,fe=P0;--P)G[F++]=0;for(P=de.length;P>R;){if(G[--P]0?B=B.charAt(0)+"."+B.slice(1)+O(j):R>1&&(B=B.charAt(0)+"."+B.slice(1)),B=B+(P<0?"e":"e+")+P):P<0?(B="0."+O(-P-1)+B,z&&(j=z-R)>0&&(B+=O(j))):P>=R?(B+=O(P+1-R),z&&(j=z-P-1)>0&&(B=B+"."+O(j))):((j=P+1)0&&(P+1===R&&(B+="."),B+=O(j))),N.s<0?"-"+B:B}function H(N,_){if(N.length>_)return N.length=_,!0}function D(N){var _,z,j;function P(B){var R=this;if(!(R instanceof P))return new P(B);if(R.constructor=P,B instanceof P){R.s=B.s,R.e=B.e,R.d=(B=B.d)?B.slice():B;return}if(typeof B=="number"){if(B*0!==0)throw Error(o+B);if(B>0)R.s=1;else if(B<0)B=-B,R.s=-1;else{R.s=0,R.e=0,R.d=[0];return}if(B===~~B&&B<1e7){R.e=0,R.d=[B];return}return A(R,B.toString())}else if(typeof B!="string")throw Error(o+B);if(B.charCodeAt(0)===45?(B=B.slice(1),R.s=-1):R.s=1,u.test(B))A(R,B);else throw Error(o+B)}if(P.prototype=g,P.ROUND_UP=0,P.ROUND_DOWN=1,P.ROUND_CEIL=2,P.ROUND_FLOOR=3,P.ROUND_HALF_UP=4,P.ROUND_HALF_DOWN=5,P.ROUND_HALF_EVEN=6,P.ROUND_HALF_CEIL=7,P.ROUND_HALF_FLOOR=8,P.clone=D,P.config=P.set=Y,N===void 0&&(N={}),N)for(j=["precision","rounding","toExpNeg","toExpPos","LN10"],_=0;_=P[_+1]&&j<=P[_+2])this[z]=j;else throw Error(o+z+": "+j);if((j=N[z="LN10"])!==void 0)if(j==Math.LN10)this[z]=new this(j);else throw Error(o+z+": "+j);return this}r=D(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof H0<"u"&&H0.exports?H0.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(a6)});var Rj=Jr((Hke,SC)=>{"use strict";var $R=Object.prototype.hasOwnProperty,zn="~";function fv(){}Object.create&&(fv.prototype=Object.create(null),new fv().__proto__||(zn=!1));function UR(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Jj(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new UR(r,n||e,a),i=zn?zn+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],o]:e._events[i].push(o):(e._events[i]=o,e._eventsCount++),e}function pb(e,t){--e._eventsCount===0?e._events=new fv:delete e._events[t]}function Sn(){this._events=new fv,this._eventsCount=0}Sn.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)$R.call(r,n)&&t.push(zn?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Sn.prototype.listeners=function(t){var r=zn?zn+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,o=n.length,i=new Array(o);a{"use strict";var PC=Symbol.for("react.transitional.element"),DC=Symbol.for("react.portal"),Eb=Symbol.for("react.fragment"),_b=Symbol.for("react.strict_mode"),Ob=Symbol.for("react.profiler"),Tb=Symbol.for("react.consumer"),Mb=Symbol.for("react.context"),Pb=Symbol.for("react.forward_ref"),Db=Symbol.for("react.suspense"),Ib=Symbol.for("react.suspense_list"),jb=Symbol.for("react.memo"),zb=Symbol.for("react.lazy"),Nte=Symbol.for("react.view_transition"),Cte=Symbol.for("react.client.reference");function to(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case PC:switch(e=e.type,e){case Eb:case Ob:case _b:case Db:case Ib:case Nte:return e;default:switch(e=e&&e.$$typeof,e){case Mb:case Pb:case zb:case jb:return e;case Tb:return e;default:return t}}case DC:return t}}}Ht.ContextConsumer=Tb;Ht.ContextProvider=Mb;Ht.Element=PC;Ht.ForwardRef=Pb;Ht.Fragment=Eb;Ht.Lazy=zb;Ht.Memo=jb;Ht.Portal=DC;Ht.Profiler=Ob;Ht.StrictMode=_b;Ht.Suspense=Db;Ht.SuspenseList=Ib;Ht.isContextConsumer=function(e){return to(e)===Tb};Ht.isContextProvider=function(e){return to(e)===Mb};Ht.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===PC};Ht.isForwardRef=function(e){return to(e)===Pb};Ht.isFragment=function(e){return to(e)===Eb};Ht.isLazy=function(e){return to(e)===zb};Ht.isMemo=function(e){return to(e)===jb};Ht.isPortal=function(e){return to(e)===DC};Ht.isProfiler=function(e){return to(e)===Ob};Ht.isStrictMode=function(e){return to(e)===_b};Ht.isSuspense=function(e){return to(e)===Db};Ht.isSuspenseList=function(e){return to(e)===Ib};Ht.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Eb||e===Ob||e===_b||e===Db||e===Ib||typeof e=="object"&&e!==null&&(e.$$typeof===zb||e.$$typeof===jb||e.$$typeof===Mb||e.$$typeof===Tb||e.$$typeof===Pb||e.$$typeof===Cte||e.getModuleId!==void 0)};Ht.typeOf=to});var dL=Jr((KCe,cL)=>{"use strict";cL.exports=uL()});var nU=te(ne()),aU=te(j3());var Ze=te(ne());var Be=te(ne());var At=te(ne()),Ys={github:{emoji:"\u{1F419}",label:"GitHub"},ruby:{emoji:"\u{1F48E}",label:"Ruby"},rails:{emoji:"\u{1F6E4}\uFE0F",label:"Rails"},aws:{emoji:"\u2601\uFE0F",label:"AWS"},gcp:{emoji:"\u{1F310}",label:"GCP"},python:{emoji:"\u{1F40D}",label:"Python"},typescript:{emoji:"\u{1F4D8}",label:"TypeScript"},docker:{emoji:"\u{1F433}",label:"Docker"},kubernetes:{emoji:"\u2638\uFE0F",label:"Kubernetes"}},Gs={terminal:{emoji:"\u{1F4BB}",label:"Terminal"},playwright:{emoji:"\u{1F3AD}",label:"Playwright"},filesystem:{emoji:"\u{1F4C1}",label:"Filesystem"},code:{emoji:"\u{1F468}\u200D\u{1F4BB}",label:"Code"},database:{emoji:"\u{1F5C4}\uFE0F",label:"Database"},slack:{emoji:"\u{1F4AC}",label:"Slack"},fetch:{emoji:"\u{1F310}",label:"Fetch"},search:{emoji:"\u{1F50D}",label:"Search"},edit:{emoji:"\u270F\uFE0F",label:"Edit"},translate:{emoji:"\u{1F30D}",label:"Translate"},memory:{emoji:"\u{1F9E0}",label:"Memory"},ui:{emoji:"\u{1F9E9}",label:"Generative UI"}},nd={terminal:{instructions:["github"],tools:["terminal","code"]},webDeveloper:{instructions:["typescript"],tools:["playwright","fetch"]},documentAnalysis:{instructions:["python"],tools:["database","search","code"]},writing:{instructions:["ruby"],tools:["edit","memory"]},translation:{instructions:["ruby","python","typescript"],tools:["translate","code"]},playwright:{instructions:["typescript"],tools:["playwright","fetch"]},research:{instructions:["github"],tools:["fetch","search","memory"]},imageAnalysis:{instructions:["python"],tools:["filesystem","code"]},computerUse:{instructions:["github"],tools:["terminal","playwright"]},productDesign:{instructions:["typescript"],tools:["playwright","code"]}};var oH=({id:e="mascot"})=>At.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},At.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},At.default.createElement("g",{fillRule:"nonzero"},At.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"})),At.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"}),At.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"}),At.default.createElement("g",{transform:"translate(75.105, 196.182)"},At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},At.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"})),At.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"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.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"})),At.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},At.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"}),At.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 mr({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:a="",hat:o,hatAccessory:i,heldItem:l,theme:s,customColors:u}){return At.default.createElement("div",{className:`inline-flex flex-col items-center ${a}`},n&&t.length>0&&At.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=Ys[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),At.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"},At.default.createElement("title",null,"ActiveAgent"),At.default.createElement(oH,null)),n&&r.length>0&&At.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=Gs[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var Gn=te(ne());var go=te(ne()),z3=(0,go.createContext)();function L3({children:e}){let[t,r]=(0,go.useState)(()=>{let a=localStorage.getItem("dashboard-theme");return a?a==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,go.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,go.useEffect)(()=>{let a=window.matchMedia("(prefers-color-scheme: dark)"),o=i=>{localStorage.getItem("dashboard-theme")||r(i.matches)};return a.addEventListener("change",o),()=>a.removeEventListener("change",o)},[]);let n=()=>r(!t);return go.default.createElement(z3.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function kt(){let e=(0,go.useContext)(z3);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function ad({name:e,subtitle:t,badge:r,accentColor:n,stats:a=[],footer:o,onClick:i,actions:l}){let{darkMode:s}=kt(),[u,c]=Gn.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 Gn.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:p=>{i&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(p))},style:{background:d.cardBg,borderTop:`1px solid ${u?d.borderHover:d.border}`,borderRight:`1px solid ${u?d.borderHover:d.border}`,borderBottom:`1px solid ${u?d.borderHover:d.border}`,borderLeft:n?`4px solid ${n}`:`1px solid ${u?d.borderHover:d.border}`,borderRadius:"12px",padding:"16px",cursor:i?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&i?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},Gn.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},Gn.default.createElement("div",{style:{minWidth:0}},Gn.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&i?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&Gn.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&Gn.default.createElement("div",{style:{flexShrink:0}},r)),a.length>0&&Gn.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},a.map(p=>Gn.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},Gn.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),Gn.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),o&&Gn.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},o),l&&Gn.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function R2(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var iH=[{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 eA({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:a,onDuplicate:o,onDelete:i,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Be.useState)(""),[p,m]=(0,Be.useState)(""),[g,h]=(0,Be.useState)(""),v=e.filter(k=>{let A=!d||k.name.toLowerCase().includes(d.toLowerCase())||k.description?.toLowerCase().includes(d.toLowerCase()),M=!p||k.provider===p,W=!g||k.status===g;return A&&M&&W}),y=k=>{let A=new Date(k),W=new Date-A,L=Math.floor(W/(1e3*60*60*24));return L===0?"Today":L===1?"Yesterday":L<7?`${L} days ago`:A.toLocaleDateString()},b=k=>{switch(k){case"active":return"bg-green-100 text-green-700";case"draft":return"bg-yellow-100 text-yellow-700";case"archived":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},x=k=>k==null?"\u2014":k<1e3?`${Math.round(k)}ms`:`${(k/1e3).toFixed(1)}s`,S=k=>k==null?"\u2014":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:`${k}`,w=k=>k==null?"\u2014":k>0&&k<.01?"<$0.01":`$${k.toFixed(2)}`,O=k=>{if(!k)return"\u2014";let A=Math.floor((new Date-new Date(k))/(1e3*60*60*24));return A<=0?"Today":A<30?`${A}d ago`:new Date(k).toLocaleDateString()};return Be.default.createElement("div",{className:"space-y-6"},Be.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Be.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Be.default.createElement("div",{className:"relative flex-1 max-w-md"},Be.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:k=>f(k.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),Be.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"},Be.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"}))),Be.default.createElement("select",{value:p,onChange:k=>m(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Providers"),t.providers?.map(k=>Be.default.createElement("option",{key:k,value:k},k.charAt(0).toUpperCase()+k.slice(1)))),Be.default.createElement("select",{value:g,onChange:k=>h(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Status"),Be.default.createElement("option",{value:"active"},"Active"),Be.default.createElement("option",{value:"draft"},"Draft"),Be.default.createElement("option",{value:"archived"},"Archived")),Be.default.createElement("select",{value:s,onChange:k=>u?.(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500",title:"Rank agents by their scorecard"},iH.map(k=>Be.default.createElement("option",{key:k.value,value:k.value},k.label)))),Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.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"},Be.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"}))),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"})),Be.default.createElement("span",null,"Browse Templates")),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"New Agent")))),v.length>0?Be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},v.map(k=>{let A=k.stats||{},M=A.run_sources||[],W=M.length?`Counted from ${M.map(L=>L==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Be.default.createElement(ad,{key:k.id,name:k.name,subtitle:k.description||"No description",badge:Be.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${b(k.status)}`},k.status),onClick:()=>r(k),stats:[{label:`Runs ${A.window_days||30}d`,value:A.runs??0,title:W},{label:"Success",value:A.success_rate!=null?`${Math.round(A.success_rate)}%`:"\u2014",tone:R2(A.success_rate!=null?A.success_rate/100:null)},{label:"Avg time",value:x(A.avg_duration_ms)},{label:A.eval_samples_evaluated?`Eval ${A.eval_samples_passed}/${A.eval_samples_evaluated}`:"Eval",title:A.eval_samples_evaluated?`Latest evaluation: ${A.eval_samples_passed} of ${A.eval_samples_evaluated} samples passed`:void 0,value:A.eval_score!=null?`${Math.round(A.eval_score*100)}%`:"\u2014",tone:R2(A.eval_score)},{label:"Tokens",value:S(A.tokens)},{label:"Cost",value:w(A.cost),title:"Estimated from token counts at each model's published rates",tone:A.cost==null?"muted":void 0}],footer:Be.default.createElement(Be.default.Fragment,null,Be.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Be.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},k.provider),Be.default.createElement("span",{title:k.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},k.model)),Be.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${y(k.updatedAt||k.updated_at)}`},A.last_run_at?`Last run ${O(A.last_run_at)}`:`Updated ${y(k.updatedAt||k.updated_at)}`)),actions:Be.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),o(k.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),i(k.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Be.default.createElement("div",{className:"text-center py-16"},Be.default.createElement("div",{className:"inline-block mb-4"},Be.default.createElement(mr,{size:100})),Be.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Be.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&&Be.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.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"})),Be.default.createElement("span",null,"Browse Templates")),Be.default.createElement("span",{className:"text-gray-400"},"or"),Be.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"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"Create From Scratch")))))}var ve=te(ne());var Ut={chevronRight:">",chevronDown:"v",chevronUp:"^",arrow:"->",arrowLeft:"<-",pipe:"|",corner:"+",branch:"|-",success:"[+]",error:"[!]",warning:"[?]",info:"[i]",pending:"[ ]",active:"[*]",add:"+",remove:"-",edit:"*",view:"@",run:">",stop:"x",refresh:"~",trace:"->",span:"|",metric:"#",log:">",agent:"@",action:"#",time:":",cost:"$",tokens:"T",memory:"M",nav:{agents:"@",newAgent:"+",demo:">",traces:"->",metrics:"#",evaluations:"=",interactions:"<>",benchmarks:"%%",replay:"[>]",tools:"[]",mcp:"{}",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Fe={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 od={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 Ky(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 od[e]||[]}var qy=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function tA({meta:e,onSave:t,onCancel:r,isLoading:n,initialDraft:a=null}){let[o,i]=(0,ve.useState)(0),[l,s]=(0,ve.useState)(od),[u,c]=(0,ve.useState)({name:"",description:"",provider:"openai",model:od.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7},...a?{name:a.name,description:a.description||"",instructions:a.instructions,provider:a.provider,model:a.model,tools:a.tools||[],instruction_sets:[],mcp_servers:[]}:{}});(0,ve.useEffect)(()=>{let h=!1;return Ky(u.provider).then(v=>{if(h||v.length===0)return;let y=a?.provider===u.provider&&a.model?[...new Set([a.model,...v])]:v;s(b=>({...b,[u.provider]:y})),c(b=>y.includes(b.model)?b:{...b,model:y[0]})}),()=>{h=!0}},[u.provider]);let d=(h,v)=>{c(y=>({...y,[h]:v}))},f=(h,v)=>{c(y=>{let b=y[h]||[],x=b.includes(v)?b.filter(S=>S!==v):[...b,v];return{...y,[h]:x}})},p=h=>{if(d("preset_type",h),nd[h]){let v=nd[h];d("instruction_sets",[...v.instructions]),d("tools",[...v.tools])}},m=()=>{switch(o){case 0:return u.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},g=()=>{t(u)};return ve.default.createElement("div",{className:"max-w-4xl mx-auto"},a&&ve.default.createElement("div",{className:"mb-4 p-4 rounded-lg border border-red-200 bg-red-50 text-sm text-gray-700"},"Prepared by your workspace assistant. Review the instructions, model, and tools before creating this agent."),ve.default.createElement("div",{className:"mb-8"},ve.default.createElement("div",{className:"flex items-center justify-between"},qy.map((h,v)=>ve.default.createElement("div",{key:h.id,className:"flex items-center"},ve.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${vi(o-1),className:"px-6 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},o===0?"Cancel":"Back"),ve.default.createElement("button",{onClick:o===qy.length-1?g:()=>i(o+1),disabled:!m()||n,className:`px-6 py-2 rounded-lg transition-colors ${m()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},o===qy.length-1?"Create Agent":"Continue")))}function lH({formData:e,updateField:t,providerModels:r}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),ve.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),ve.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"})),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),ve.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"})),ve.default.createElement("div",{className:"grid grid-cols-2 gap-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),ve.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=>ve.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),ve.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=>ve.default.createElement("option",{key:n,value:n},n))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),ve.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"}),ve.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},ve.default.createElement("span",null,"Precise"),ve.default.createElement("span",null,"Creative")))))}function sH({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:a}){let o=Object.keys(nd),i=Object.keys(Ys),l=Object.keys(Gs);return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),ve.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex flex-col items-center"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=Ys[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),ve.default.createElement(mr,{size:120}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=Gs[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map(s=>ve.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"}`},ve.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Instructions"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>{let u=Ys[s];return ve.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"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Tools"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=Gs[s];return ve.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"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),ve.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 uH({formData:e}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),ve.default.createElement("div",{className:"grid grid-cols-2 gap-8"},ve.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement(mr,{size:100}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=Gs[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),ve.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),ve.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),ve.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=Gs[t];return r?ve.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}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),ve.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 ie=te(ne());var Fa=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"}),vn="#ef4444";var U=te(ne());var Yy=te(ne()),W3=te(ne());function B3(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,o=e.viewBox,i=e.className,l=e.style,s=e.title,u=e.desc,c=mH(e,pH),d=o||{width:n,height:a,x:0,y:0},f=Ue("recharts-surface",i);return Yy.createElement("svg",aA({},rr(c),{className:f,width:n,height:a,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),Yy.createElement("title",null,s),Yy.createElement("desc",null,u),r)});var Gy=te(ne());var gH=["children","className"];function oA(){return oA=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=yH(e,gH),o=Ue("recharts-layer",n);return Gy.createElement("g",oA({className:o},rr(a),{ref:t}),r)});var Sa=te(ne()),w0=te(ne()),WD=te(rp());function Xy(e){return e==="__proto__"}var xH=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Zy(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:xH.test(e);default:return!1}}function id(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function iA(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(iA).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function ld(e){if(Array.isArray(e))return e.map(id);if(typeof e=="symbol")return[e];e=iA(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",o="",i=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:wH,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function qr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[i-1];return typeof l=="string"?a+l+o:l!==void 0?a+Wa(l)+o:a+o},"")}var Ft=e=>e===0?0:e>0?1:-1,nn=e=>typeof e=="number"&&e!=+e,ki=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,be=e=>(typeof e=="number"||e instanceof Number)&&!nn(e),Mn=e=>be(e)||typeof e=="string",SH=0,Ni=e=>{var t=++SH;return"".concat(e||"").concat(t)},vr=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(!be(t)&&typeof t!="string")return n;var o;if(ki(t)){if(r==null)return n;var i=t.indexOf("%");o=r*parseFloat(t.slice(0,i))/100}else o=+t;return nn(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},lA=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):rn(n,t))===r)}var ct=e=>e===null||typeof e>"u",Ci=e=>ct(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Yr(e){return e!=null}function Pn(){}function rm(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 H3(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 $o(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,o=e.parentViewBox,i=e.clamp,l=rm(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,m=s+(d-f)/2,g=(p+m)/2,h=(d+f)/2,v=p+d/2,y=c>=0?1:-1,b=y*a,x=y>0?"end":"start",S=y>0?"start":"end",w=d>=0?1:-1,O=w*a,k=w>0?"end":"start",A=w>0?"start":"end",M=o;if(r==="top"){var W={x:p+d/2,y:u-b,horizontalAnchor:"middle",verticalAnchor:x};return i&&M&&(W.height=Math.max(u-M.y,0),W.width=d),W}if(r==="bottom"){var L={x:m+f/2,y:u+c+b,horizontalAnchor:"middle",verticalAnchor:S};return i&&M&&(L.height=Math.max(M.y+M.height-(u+c),0),L.width=f),L}if(r==="left"){var H={x:g-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"};return i&&M&&(H.width=Math.max(H.x-M.x,0),H.height=c),H}if(r==="right"){var D={x:g+h+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"};return i&&M&&(D.width=Math.max(M.x+M.width-D.x,0),D.height=c),D}var Y=i&&M?{width:h,height:c}:{};return r==="insideLeft"?$o({x:g+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"},Y):r==="insideRight"?$o({x:g+h-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"},Y):r==="insideTop"?$o({x:p+d/2,y:u+b,horizontalAnchor:"middle",verticalAnchor:S},Y):r==="insideBottom"?$o({x:m+f/2,y:u+c-b,horizontalAnchor:"middle",verticalAnchor:x},Y):r==="insideTopLeft"?$o({x:p+O,y:u+b,horizontalAnchor:A,verticalAnchor:S},Y):r==="insideTopRight"?$o({x:p+d-O,y:u+b,horizontalAnchor:k,verticalAnchor:S},Y):r==="insideBottomLeft"?$o({x:m+O,y:u+c-b,horizontalAnchor:A,verticalAnchor:x},Y):r==="insideBottomRight"?$o({x:m+f-O,y:u+c-b,horizontalAnchor:k,verticalAnchor:x},Y):r&&typeof r=="object"&&(be(r.x)||ki(r.x))&&(be(r.y)||ki(r.y))?$o({x:s+vr(r.x,h),y:u+vr(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Y):$o({x:v,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Y)},CH=["top","left","right","bottom"];function nm(e){return e==null?!1:typeof e=="object"?!0:CH.includes(e)}var Ry=te(ne()),sA=(0,Ry.createContext)(null),V3=()=>(0,Ry.useContext)(sA);var Dn=te(ne());var uM=te(ne());function Mt(e){return function(){return e}}var uA=Math.cos;var am=Math.sin,an=Math.sqrt;var Xs=Math.PI,_de=Xs/2,sd=2*Xs;var cA=Math.PI,dA=2*cA,Zs=1e-6,EH=dA-Zs;function K3(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return K3;let r=10**t;return function(n){this._+=n[0];for(let a=1,o=n.length;aZs)if(!(Math.abs(d*s-u*c)>Zs)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-i,m=a-l,g=s*s+u*u,h=p*p+m*m,v=Math.sqrt(g),y=Math.sqrt(f),b=o*Math.tan((cA-Math.acos((g+f-h)/(2*v*y)))/2),x=b/y,S=b/v;Math.abs(x-1)>Zs&&this._append`L${t+x*c},${r+x*d}`,this._append`A${o},${o},0,0,${+(d*p>c*m)},${this._x1=t+S*s},${this._y1=r+S*u}`}}arc(t,r,n,a,o,i){if(t=+t,r=+r,n=+n,i=!!i,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^i,f=i?a-o:o-a;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Zs||Math.abs(this._y1-c)>Zs)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%dA+dA),f>EH?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>Zs&&this._append`A${n},${n},0,${+(f>=cA)},${d},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}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 q3(){return new Qs}q3.prototype=Qs.prototype;function ud(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 Qs(t)}var zde=Array.prototype.slice;function cd(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Y3(e){this._context=e}Y3.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 jl(e){return new Y3(e)}function eh(e){return e[0]}function th(e){return e[1]}function om(e,t){var r=Mt(!0),n=null,a=jl,o=null,i=ud(l);e=typeof e=="function"?e:e===void 0?eh:Mt(e),t=typeof t=="function"?t:t===void 0?th:Mt(t);function l(s){var u,c=(s=cd(s)).length,d,f=!1,p;for(n==null&&(o=a(p=i())),u=0;u<=c;++u)!(u=p;--m)l.point(b[m],x[m]);l.lineEnd(),l.areaEnd()}v&&(b[f]=+e(h,f,d),x[f]=+t(h,f,d),l.point(n?+n(h,f,d):b[f],r?+r(h,f,d):x[f]))}if(y)return l=null,y+""||null}function c(){return om().defined(a).curve(i).context(o)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Mt(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Mt(+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:Mt(!!d),u):a},u.curve=function(d){return arguments.length?(i=d,o!=null&&(l=i(o)),u):i},u.context=function(d){return arguments.length?(d==null?o=l=null:l=i(o=d),u):o},u}var rh=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 fA(e){return new rh(e,!0)}function pA(e){return new rh(e,!1)}var fd={draw(e,t){let r=an(t/Xs);e.moveTo(r,0),e.arc(0,0,r,0,sd)}};var mA={draw(e,t){let r=an(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var G3=an(1/3),OH=G3*2,vA={draw(e,t){let r=an(t/OH),n=r*G3;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var gA={draw(e,t){let r=an(t),n=-r/2;e.rect(n,n,r,r)}};var TH=.8908130915292852,X3=am(Xs/10)/am(7*Xs/10),MH=am(sd/10)*X3,PH=-uA(sd/10)*X3,yA={draw(e,t){let r=an(t*TH),n=MH*r,a=PH*r;e.moveTo(0,-r),e.lineTo(n,a);for(let o=1;o<5;++o){let i=sd*o/5,l=uA(i),s=am(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*a,s*n+l*a)}e.closePath()}};var hA=an(3),xA={draw(e,t){let r=-an(t/(hA*3));e.moveTo(0,r*2),e.lineTo(-hA*r,-r),e.lineTo(hA*r,-r),e.closePath()}};var Ha=-.5,Va=an(3)/2,bA=1/an(12),DH=(bA/2+1)*3,wA={draw(e,t){let r=an(t/DH),n=r/2,a=r*bA,o=n,i=r*bA+r,l=-o,s=i;e.moveTo(n,a),e.lineTo(o,i),e.lineTo(l,s),e.lineTo(Ha*n-Va*a,Va*n+Ha*a),e.lineTo(Ha*o-Va*i,Va*o+Ha*i),e.lineTo(Ha*l-Va*s,Va*l+Ha*s),e.lineTo(Ha*n+Va*a,Ha*a-Va*n),e.lineTo(Ha*o+Va*i,Ha*i-Va*o),e.lineTo(Ha*l+Va*s,Ha*s-Va*l),e.closePath()}};function nh(e,t){let r=null,n=ud(a);e=typeof e=="function"?e:Mt(e||fd),t=typeof t=="function"?t:Mt(t===void 0?64:+t);function a(){let o;if(r||(r=o=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),o)return r=null,o+""||null}return a.type=function(o){return arguments.length?(e=typeof o=="function"?o:Mt(o),a):e},a.size=function(o){return arguments.length?(t=typeof o=="function"?o:Mt(+o),a):t},a.context=function(o){return arguments.length?(r=o??null,a):r},a}function pd(){}function md(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 Z3(e){this._context=e}Z3.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:md(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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function SA(e){return new Z3(e)}function Q3(e){this._context=e}Q3.prototype={areaStart:pd,areaEnd:pd,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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function AA(e){return new Q3(e)}function J3(e){this._context=e}J3.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:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function kA(e){return new J3(e)}function R3(e){this._context=e}R3.prototype={areaStart:pd,areaEnd:pd,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 NA(e){return new R3(e)}function eM(e){return e<0?-1:1}function tM(e,t,r){var n=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(n||a<0&&-0),i=(r-e._y1)/(a||n<0&&-0),l=(o*a+i*n)/(n+a);return(eM(o)+eM(i))*Math.min(Math.abs(o),Math.abs(i),.5*Math.abs(l))||0}function rM(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function CA(e,t,r){var n=e._x0,a=e._y0,o=e._x1,i=e._y1,l=(o-n)/3;e._context.bezierCurveTo(n+l,a+l*t,o-l,i-l*r,o,i)}function ah(e){this._context=e}ah.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:CA(this,this._t0,rM(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,CA(this,rM(this,r=tM(this,e,t)),r);break;default:CA(this,this._t0,r=tM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function nM(e){this._context=new aM(e)}(nM.prototype=Object.create(ah.prototype)).point=function(e,t){ah.prototype.point.call(this,t,e)};function aM(e){this._context=e}aM.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,o){this._context.bezierCurveTo(t,e,n,r,o,a)}};function EA(e){return new ah(e)}function _A(e){return new nM(e)}function iM(e){this._context=e}iM.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=oM(e),a=oM(t),o=0,i=1;i=0;--t)a[t]=(i[t]-a[t+1])/o[t];for(o[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 TA(e){return new oh(e,.5)}function MA(e){return new oh(e,0)}function PA(e){return new oh(e,1)}function ya(e,t){if((i=e.length)>1)for(var r=1,n,a,o=e[t[0]],i,l=o.length;r=0;)r[t]=t;return r}function IH(e,t){return e[t]}function jH(e){let t=[];return t.key=e,t}function DA(){var e=Mt([]),t=vd,r=ya,n=IH;function a(o){var i=Array.from(e.apply(this,arguments),jH),l,s=i.length,u=-1,c;for(let d of o)for(l=0,++u;l0){for(var r,n,a=0,o=e[0].length,i;a0){for(var r=0,n=e[t[0]],a,o=n.length;r0)||!((o=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,o,i;n{var t="symbol".concat(Ci(e));return cM[t]||fd},KH=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*HH;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},qH=(e,t)=>{cM["symbol".concat(Ci(e))]=t},BA=e=>{var t=e.type,r=t===void 0?"circle":t,n=e.size,a=n===void 0?64:n,o=e.sizeType,i=o===void 0?"area":o,l=FH(e,LH),s=sM(sM({},l),{},{type:r,size:a,sizeType:i}),u="circle";typeof r=="string"&&(u=r);var c=()=>{var g=VH(u),h=nh().type(g).size(KH(a,i,u)),v=h();if(v!==null)return v},d=s.className,f=s.cx,p=s.cy,m=rr(s);return be(f)&&be(p)&&be(a)?uM.createElement("path",LA({},m,{className:Ue("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:c()})):null};BA.registerSymbol=qH;var dM=te(ne());var ih=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,gd=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,dM.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{em(a)&&typeof r[a]=="function"&&(n[a]=t||(o=>r[a](r,o)))}),n},YH=(e,t,r)=>n=>(e(t,r,n),null),Ei=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var o=e[a];em(a)&&typeof o=="function"&&(n||(n={}),n[a]=YH(o,t,r))}),n};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 GH(e){for(var t=1;t(i[l]===void 0&&n[l]!==void 0&&(i[l]=n[l]),i),r);return o}function lh(){return lh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var p,v,y=d.formatter||a,h=Ue({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:d.inactive});if(d.type==="none")return null;var m=typeof l=="object"?mM({},l):{};m.color=d.inactive?o:m.color||d.color,(p=m.whiteSpace)!==null&&p!==void 0||(m.whiteSpace="normal"),(v=m.overflowWrap)!==null&&v!==void 0||(m.overflowWrap="break-word");var g=y?y(d.value,d,f):d.value;return Dn.createElement("li",lh({className:h,style:u,key:"legend-item-".concat(f)},Ei(e,d,f)),Dn.createElement(tm,{width:r,height:r,viewBox:s,style:c,"aria-label":d.value==null?"legend icon":"".concat(d.value," legend icon")},Dn.createElement(nV,{data:d,iconType:i,inactiveColor:o})),Dn.createElement("span",{className:"recharts-legend-item-text",style:m},g))})}var vM=e=>{var t=lt(e,tV),r=t.payload,n=t.layout,a=t.align;if(!r||!r.length)return null;var o={padding:0,margin:0,textAlign:n==="horizontal"?a:"left"};return Dn.createElement("ul",{className:"recharts-default-legend",style:o},Dn.createElement(aV,lh({},t,{payload:r})))};function gM(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function _i(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var uh="[object RegExp]",yd="[object String]",hd="[object Number]",xd="[object Boolean]",ch="[object Arguments]",dh="[object Symbol]",fh="[object Date]",ph="[object Map]",mh="[object Set]",vh="[object Array]",bM="[object Function]",gh="[object ArrayBuffer]",bd="[object Object]",wM="[object Error]",yh="[object DataView]",hh="[object Uint8Array]",xh="[object Uint8ClampedArray]",bh="[object Uint16Array]",wh="[object Uint32Array]",SM="[object BigUint64Array]",Sh="[object Int8Array]",Ah="[object Int16Array]",kh="[object Int32Array]",AM="[object BigInt64Array]",Nh="[object Float32Array]",Ch="[object Float64Array]";var $A=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function sm(e){return typeof $A.Buffer<"u"&&$A.Buffer.isBuffer(e)}function kM(e,t){return zl(e,void 0,e,new Map,t)}function zl(e,t,r,n=new Map,a=void 0){let o=a?.(e,t,r,n);if(o!==void 0)return o;if(im(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let i=new Array(e.length);n.set(e,i);for(let l=0;l{}):UA(e,t,function n(a,o,i,l,s,u){let c=r(a,o,i,l,s,u);return c!==void 0?!!c:UA(a,o,n,u,!1)},new Map,!0)}function UA(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return iV(e,t,r,n);case"function":return Object.keys(t).length>0?UA(e,{...t},r,n,a):Ll(e,t);default:return Eh(e)?a?typeof t=="string"?t==="":!0:Ll(e,t):Ll(e,t)}}function iV(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return CM(e,t,r,n);if(t instanceof Map)return lV(e,t,r,n);if(t instanceof Set)return sV(e,t,r,n);let a=Object.keys(t);if(e==null||im(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 o=0;o{})}function EM(e){return e=NM(e),t=>_h(t,e)}function _M(e,t){return kM(e,(r,n,a,o)=>{let i=t?.(r,n,a,o);if(i!==void 0)return i;if(typeof e=="object"){if(_i(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return o.set(e,l),qa(l,e,a,o),l}switch(Object.prototype.toString.call(e)){case hd:case yd:case xd:{let l=new e.constructor(e?.valueOf());return qa(l,e),l}case ch:{let l={};return qa(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function OM(e){return _M(e)}var uV=/^(?:0|[1-9]\d*)$/;function Oh(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function Th(e){return e!=null&&typeof e!="function"&&IM(e.length)}function jM(e){return typeof e=="object"&&e!==null}function zM(e){return jM(e)&&Th(e)}function Mh(e,t=sh){return zM(e)?gM(Array.from(e),yM(DM(t),1)):[]}function Ph(e,t,r){return t===!0?Mh(e,r):typeof t=="function"?Mh(e,t):e}var qM=te(VM()),cm=te(ne());var KM=te(ne()),um=(0,KM.createContext)(null);var EV=e=>e,Ve=()=>{var e=(0,cm.useContext)(um);return e?e.store.dispatch:EV},Ih=()=>{},_V=()=>Ih,OV=(e,t)=>e===t;function we(e){var t=(0,cm.useContext)(um),r=(0,cm.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:Ih,[t,e]);return(0,qM.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:_V,t?t.store.getState:Ih,t?t.store.getState:Ih,r,OV)}function TV(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function MV(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 YM=e=>Array.isArray(e)?e:[e];function PV(e){let t=Array.isArray(e[0])?e[0]:e;return MV(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function DV(e,t){let r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?IV:WeakRef,XM=jV(),zV=0,GM=1;function jh(){return{s:zV,v:void 0,o:null,p:null}}function LV(e){return e instanceof XM?e.deref():e}function ZM(e,t={}){let r=jh(),{resultEqualityCheck:n}=t,a,o=0;function i(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=jh(),i.resetResultsCount()},i.resultsCount=()=>o,i.resetResultsCount=()=>{o=0},i}function BV(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let o=0,i=0,l,s={},u=a.pop();typeof u=="object"&&(s=u,u=a.pop()),TV(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=ZM,argsMemoizeOptions:v=[]}=c,y=YM(f),h=YM(v),m=PV(a),g=d(function(){return o++,u.apply(null,arguments)},...y),x=!0,b=p(function(){i++;let w=DV(m,arguments);return l=g.apply(null,w),l},...h);return Object.assign(b,{resultFunc:u,memoizedResultFunc:g,dependencies:m,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var J=BV(ZM);function QM(e,t=1){let r=[],n=Math.floor(t),a=(o,i)=>{for(let l=0;l{if(e!==t){let n=JM(e),a=JM(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function zh(e){return typeof e=="symbol"||e instanceof Symbol}var $V=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,UV=/^\w*$/;function eP(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||zh(e)?!0:typeof e=="string"&&(UV.test(e)||!$V.test(e))||t!=null&&Object.hasOwn(t,e)}function tP(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,i=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||eP(l)?l:{key:l,path:ld(l)}));return e.map(l=>({original:l,criteria:i.map(s=>o(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function Oi(e,...t){let r=t.length;return r>1&&dm(e,t[0],t[1])?t=[]:r>2&&dm(t[0],t[1],t[2])&&(t=[t[0]]),tP(e,QM(t),["asc"])}var HA=e=>e.legend.settings,rP=e=>e.legend.size,FV=e=>e.legend.payload,nP=J([FV,HA],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Oi(n,r):n});function aP(){return we(nP)}var Ti=te(ne());function WV(e,t){return qV(e)||KV(e,t)||VV(e,t)||HV()}function HV(){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 VV(e,t){if(e){if(typeof e=="string")return oP(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)?oP(e,t):void 0}}function oP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rLh||Math.abs(e.left-t.left)>Lh||Math.abs(e.top-t.top)>Lh||Math.abs(e.width-t.width)>Lh}function lP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Bh(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,Ti.useState)({height:0,left:0,top:0,width:0}),r=WV(t,2),n=r[0],a=r[1],o=(0,Ti.useRef)(null),i=(0,Ti.useRef)(n);i.current=n;var l=(0,Ti.useCallback)(s=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),s!=null){var u=lP(s);if(iP(u,i.current)&&a(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=lP(s);iP(d,i.current)&&a(d)});c.observe(s),o.current=c}}},[...e]);return(0,Ti.useEffect)(()=>()=>{var s;(s=o.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var AD=te(ne());function gn(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 YV=typeof Symbol=="function"&&Symbol.observable||"@@observable",sP=YV,VA=()=>Math.random().toString(36).substring(7).split("").join("."),GV={INIT:`@@redux/INIT${VA()}`,REPLACE:`@@redux/REPLACE${VA()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${VA()}`},$h=GV;function Uh(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 KA(e,t,r){if(typeof e!="function")throw new Error(gn(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(gn(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(gn(1));return r(KA)(e,t)}let n=e,a=t,o=new Map,i=o,l=0,s=!1;function u(){i===o&&(i=new Map,o.forEach((h,m)=>{i.set(m,h)}))}function c(){if(s)throw new Error(gn(3));return a}function d(h){if(typeof h!="function")throw new Error(gn(4));if(s)throw new Error(gn(5));let m=!0;u();let g=l++;return i.set(g,h),function(){if(m){if(s)throw new Error(gn(6));m=!1,u(),i.delete(g),o=null}}}function f(h){if(!Uh(h))throw new Error(gn(7));if(typeof h.type>"u")throw new Error(gn(8));if(typeof h.type!="string")throw new Error(gn(17));if(s)throw new Error(gn(9));try{s=!0,a=n(a,h)}finally{s=!1}return(o=i).forEach(g=>{g()}),h}function p(h){if(typeof h!="function")throw new Error(gn(10));n=h,f({type:$h.REPLACE})}function v(){let h=d;return{subscribe(m){if(typeof m!="object"||m===null)throw new Error(gn(11));function g(){let b=m;b.next&&b.next(c())}return g(),{unsubscribe:h(g)}},[sP](){return this}}}return f({type:$h.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[sP]:v}}function XV(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:$h.INIT})>"u")throw new Error(gn(12));if(typeof r(void 0,{type:$h.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(gn(13))})}function Fh(e){let t=Object.keys(e),r={};for(let i=0;i"u"){let h=s&&s.type;throw new Error(gn(14))}c[f]=y,u=u||y!==v}return u=u||n.length!==Object.keys(l).length,u?c:l}}function fm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function uP(...e){return t=>(r,n)=>{let a=t(r,n),o=()=>{throw new Error(gn(15))},i={getState:a.getState,dispatch:(s,...u)=>o(s,...u)},l=e.map(s=>s(i));return o=fm(...l)(a.dispatch),{...a,dispatch:o}}}function qA(e){return Uh(e)&&"type"in e&&typeof e.type=="string"}var hP=Symbol.for("immer-nothing"),cP=Symbol.for("immer-draftable"),bn=Symbol.for("immer-state");function yo(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ha=Object,Ad=ha.getPrototypeOf,Kh="constructor",Qh="prototype",ZA="configurable",qh="enumerable",Hh="writable",pm="value",Uo=e=>!!e&&!!e[bn];function xa(e){return e?xP(e)||Rh(e)||!!e[cP]||!!e[Kh]?.[cP]||e0(e)||t0(e):!1}var ZV=ha[Qh][Kh].toString(),dP=new WeakMap;function xP(e){if(!e||!ak(e))return!1;let t=Ad(e);if(t===null||t===ha[Qh])return!0;let r=ha.hasOwnProperty.call(t,Kh)&&t[Kh];if(r===Object)return!0;if(!Sd(r))return!1;let n=dP.get(r);return n===void 0&&(n=Function.toString.call(r),dP.set(r,n)),n===ZV}function Jh(e,t,r=!0){gm(e)===0?(r?Reflect.ownKeys(e):ha.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function gm(e){let t=e[bn];return t?t.type_:Rh(e)?1:e0(e)?2:t0(e)?3:0}var YA=(e,t,r=gm(e))=>r===2?e.has(t):ha[Qh].hasOwnProperty.call(e,t),QA=(e,t,r=gm(e))=>r===2?e.get(t):e[t],Yh=(e,t,r,n=gm(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function QV(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Rh=Array.isArray,e0=e=>e instanceof Map,t0=e=>e instanceof Set,ak=e=>typeof e=="object",Sd=e=>typeof e=="function",GA=e=>typeof e=="boolean";function JV(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Mi=e=>e.copy_||e.base_;var ok=e=>e.modified_?e.copy_:e.base_;function JA(e,t){if(e0(e))return new Map(e);if(t0(e))return new Set(e);if(Rh(e))return Array[Qh].slice.call(e);let r=xP(e);if(t===!0||t==="class_only"&&!r){let n=ha.getOwnPropertyDescriptors(e);delete n[bn];let a=Reflect.ownKeys(n);for(let o=0;o1&&ha.defineProperties(e,{set:Wh,add:Wh,clear:Wh,delete:Wh}),ha.freeze(e),t&&Jh(e,(r,n)=>{ik(n,!0)},!1)),e}function RV(){yo(2)}var Wh={[pm]:RV};function r0(e){return e===null||!ak(e)?!0:ha.isFrozen(e)}var Gh="MapSet",RA="Patches",fP="ArrayMethods",bP={};function Js(e){let t=bP[e];return t||yo(0,e),t}var pP=e=>!!bP[e];var mm,wP=()=>mm,eK=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:pP(Gh)?Js(Gh):void 0,arrayMethodsPlugin_:pP(fP)?Js(fP):void 0});function mP(e,t){t&&(e.patchPlugin_=Js(RA),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ek(e){tk(e),e.drafts_.forEach(tK),e.drafts_=null}function tk(e){e===mm&&(mm=e.parent_)}var vP=e=>mm=eK(mm,e);function tK(e){let t=e[bn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function gP(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[bn].modified_&&(ek(t),yo(4)),xa(e)&&(e=yP(t,e));let{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[bn].base_,e,t)}else e=yP(t,r);return rK(t,e,!0),ek(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==hP?e:void 0}function yP(e,t){if(r0(t))return t;let r=t[bn];if(!r)return Xh(t,e.handledSet_,e);if(!n0(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);kP(r,e)}return r.copy_}function rK(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ik(t,r)}function SP(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var n0=(e,t)=>e.scope_===t,nK=[];function AP(e,t,r,n){let a=Mi(e),o=e.type_;if(n!==void 0&&QA(a,n,o)===t){Yh(a,n,r,o);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;Jh(a,(s,u)=>{if(Uo(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let i=e.draftLocations_.get(t)??nK;for(let l of i)Yh(a,l,r,o)}function aK(e,t,r){e.callbacks_.push(function(a){let o=t;if(!o||!n0(o,a))return;a.mapSetPlugin_?.fixSetContents(o);let i=ok(o);AP(e,o.draft_??o,i,r),kP(o,a)})}function kP(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)}SP(e)}}function oK(e,t,r){let{scope_:n}=e;if(Uo(r)){let a=r[bn];n0(a,n)&&a.callbacks_.push(function(){Vh(e);let i=ok(a);AP(e,r,i,t)})}else xa(r)&&e.callbacks_.push(function(){let o=Mi(e);e.type_===3?o.has(r)&&Xh(r,n.handledSet_,n):QA(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Xh(QA(e.copy_,t,e.type_),n.handledSet_,n)})}function Xh(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Uo(e)||t.has(e)||!xa(e)||r0(e)||(t.add(e),Jh(e,(n,a)=>{if(Uo(a)){let o=a[bn];if(n0(o,r)){let i=ok(o);Yh(e,n,i,e.type_),SP(o)}}else xa(a)&&Xh(a,t,r)})),e}function iK(e,t){let r=Rh(e),n={type_:r?1:0,scope_:t?t.scope_:wP(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},a=n,o=Zh;r&&(a=[n],o=vm);let{revoke:i,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=i,[l,n]}var Zh={get(e,t){if(t===bn)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=Mi(e);if(!YA(a,t,e.type_))return sK(e,a,t);let o=a[t];if(e.finalized_||!xa(o)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&JV(t))return o;if(o===XA(e.base_,t)||lK(e,t,o)){Vh(e);let i=e.type_===1?+t:t,l=nk(e.scope_,o,e,i);return e.copy_[i]=l}return o},has(e,t){return t in Mi(e)},ownKeys(e){return Reflect.ownKeys(Mi(e))},set(e,t,r){let n=NP(Mi(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let a=XA(Mi(e),t),o=a?.[bn];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(QV(r,a)&&(r!==void 0||YA(e.base_,t,e.type_)))return!0;Vh(e),rk(e)}return e.copy_[t]===r&&(r!==void 0||YA(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),oK(e,t,r)),!0},deleteProperty(e,t){return Vh(e),XA(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),rk(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=Mi(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Hh]:!0,[ZA]:e.type_!==1||t!=="length",[qh]:n[qh],[pm]:r[t]}},defineProperty(){yo(11)},getPrototypeOf(e){return Ad(e.base_)},setPrototypeOf(){yo(12)}},vm={};for(let e in Zh){let t=Zh[e];vm[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}vm.deleteProperty=function(e,t){return vm.set.call(this,e,t,void 0)};vm.set=function(e,t,r){return Zh.set.call(this,e[0],t,r,e[0])};function XA(e,t){let r=e[bn];return(r?Mi(r):e)[t]}function lK(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!xa(r)||r[bn]?!1:e.baseRefs_.has(r)}function sK(e,t,r){let n=NP(t,r);return n?pm in n?n[pm]:n.get?.call(e.draft_):void 0}function NP(e,t){if(!(t in e))return;let r=Ad(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ad(r)}}function rk(e){e.modified_||(e.modified_=!0,e.parent_&&rk(e.parent_))}function Vh(e){e.copy_||(e.assigned_=new Map,e.copy_=JA(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var uK=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(Sd(t)&&!Sd(r)){let o=r;r=t;let i=this;return function(s=o,...u){return i.produce(s,c=>r.call(this,c,...u))}}Sd(r)||yo(6),n!==void 0&&!Sd(n)&&yo(7);let a;if(xa(t)){let o=vP(this),i=nk(o,t,void 0),l=!0;try{a=r(i),l=!1}finally{l?ek(o):tk(o)}return mP(o,n),gP(a,o)}else if(!t||!ak(t)){if(a=r(t),a===void 0&&(a=t),a===hP&&(a=void 0),this.autoFreeze_&&ik(a,!0),n){let o=[],i=[];Js(RA).generateReplacementPatches_(t,a,{patches_:o,inversePatches_:i}),n(o,i)}return a}else yo(1,t)},this.produceWithPatches=(t,r)=>{if(Sd(t))return(i,...l)=>this.produceWithPatches(i,s=>t(s,...l));let n,a;return[this.produce(t,r,(i,l)=>{n=i,a=l}),n,a]},GA(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),GA(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),GA(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){xa(e)||yo(8),Uo(e)&&(e=yn(e));let t=vP(this),r=nk(t,e,void 0);return r[bn].isManual_=!0,tk(t),r}finishDraft(e,t){let r=e&&e[bn];(!r||!r.isManual_)&&yo(9);let{scope_:n}=r;return mP(n,t),gP(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=Js(RA).applyPatches_;return Uo(e)?n(e,t):this.produce(e,a=>n(a,t))}};function nk(e,t,r,n){let[a,o]=e0(t)?Js(Gh).proxyMap_(t,r):t0(t)?Js(Gh).proxySet_(t,r):iK(t,r);return(r?.scope_??wP()).drafts_.push(a),o.callbacks_=r?.callbacks_??[],o.key_=n,r&&n!==void 0?aK(r,o,n):o.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(o);let{patchPlugin_:u}=s;o.modified_&&u&&u.generatePatches_(o,[],s)}),a}function yn(e){return Uo(e)||yo(10,e),CP(e)}function CP(e){if(!xa(e)||r0(e))return e;let t=e[bn],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=JA(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=JA(e,!0);return Jh(r,(a,o)=>{Yh(r,a,CP(o))},n),t&&(t.finalized_=!1),r}var cK=new uK,lk=cK.produce;var tt=e=>e;function EP(e){return({dispatch:r,getState:n})=>a=>o=>typeof o=="function"?o(r,n,e):a(o)}var _P=EP(),OP=EP;var dK=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?fm:fm.apply(null,arguments)},Wve=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},fK=e=>e&&typeof e.match=="function";function Fr(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(ba(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=>qA(n)&&n.type===e,r}var LP=class ym extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,ym.prototype)}static get[Symbol.species](){return ym}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new ym(...t[0].concat(this)):new ym(...t.concat(this))}};function TP(e){return xa(e)?lk(e,()=>{}):e}function a0(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function pK(e){return typeof e=="boolean"}var mK=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:o=!0}=t??{},i=new LP;return r&&(pK(r)?i.push(_P):i.push(OP(r.extraArgument))),i},BP="RTK_autoBatch",Pt=()=>e=>({payload:e,meta:{[BP]:!0}}),MP=e=>t=>{setTimeout(t,e)},vK=(e,t)=>r=>{let n=!1,a=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(i),r())},o=e(a),i=setTimeout(a,t)},dk=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),a=!0,o=!1,i=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?vK(window.requestAnimationFrame,100):MP(10):e.type==="callback"?e.queueNotification:MP(e.timeout),u=()=>{i=!1,o&&(o=!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?.[BP],o=!a,o&&(i||(i=!0,s(u))),n.dispatch(c)}finally{a=!0}}})},gK=e=>function(r){let{autoBatch:n=!0}=r??{},a=new LP(e);return n&&a.push(dk(typeof n=="object"?n:void 0)),a};function $P(e){let t=mK(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:o=!0,preloadedState:i=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(Uh(r))s=Fh(r);else throw new Error(ba(1));let u;typeof n=="function"?u=n(t):u=t();let c=fm;a&&(c=dK({trace:!1,...typeof a=="object"&&a}));let d=uP(...u),f=gK(d),p=typeof l=="function"?l(f):f(),v=c(...p);return KA(s,i,v)}function UP(e){let t={},r=[],n,a={addCase(o,i){let l=typeof o=="string"?o:o.type;if(!l)throw new Error(ba(28));if(l in t)throw new Error(ba(29));return t[l]=i,a},addAsyncThunk(o,i){return i.pending&&(t[o.pending.type]=i.pending),i.rejected&&(t[o.rejected.type]=i.rejected),i.fulfilled&&(t[o.fulfilled.type]=i.fulfilled),i.settled&&r.push({matcher:o.settled,reducer:i.settled}),a},addMatcher(o,i){return r.push({matcher:o,reducer:i}),a},addDefaultCase(o){return n=o,a}};return e(a),[t,r,n]}function yK(e){return typeof e=="function"}function hK(e,t){let[r,n,a]=UP(t),o;if(yK(e))o=()=>TP(e());else{let l=TP(e);o=()=>l}function i(l=o(),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(Uo(c)){let p=d(c,s);return p===void 0?c:p}else{if(xa(c))return lk(c,f=>d(f,s));{let f=d(c,s);if(f===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return f}}return c},l)}return i.getInitialState=o,i}var xK=(e,t)=>fK(e)?e.match(t):e(t);function bK(...e){return t=>e.some(r=>xK(r,t))}var wK="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",FP=(e=21)=>{let t="",r=e;for(;r--;)t+=wK[Math.random()*64|0];return t},SK=["name","message","stack","code"],sk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},PP=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},AK=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of SK)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},DP="External signal was aborted",kK=(()=>{function e(t,r,n){let a=Fr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),o=Fr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),i=Fr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||AK)(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):FP(),v=new AbortController,y,h;function m(x){h=x,v.abort()}u&&(u.aborted?m(DP):u.addEventListener("abort",()=>m(DP),{once:!0}));let g=(async function(){let x;try{let S=n?.condition?.(s,{getState:d,extra:f});if(CK(S)&&(S=await S),S===!1||v.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let w=new Promise((O,k)=>{y=()=>{k({name:"AbortError",message:h||"Aborted"})},v.signal.addEventListener("abort",y,{once:!0})});c(o(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),x=await Promise.race([w,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:v.signal,abort:m,rejectWithValue:((O,k)=>new sk(O,k)),fulfillWithValue:((O,k)=>new PP(O,k))})).then(O=>{if(O instanceof sk)throw O;return O instanceof PP?a(O.payload,p,s,O.meta):a(O,p,s)})])}catch(S){x=S instanceof sk?i(null,p,s,S.payload,S.meta):i(S,p,s)}finally{y&&v.signal.removeEventListener("abort",y)}return n&&!n.dispatchConditionRejection&&i.match(x)&&x.meta.condition||c(x),x})();return Object.assign(g,{abort:m,requestId:p,arg:s,unwrap(){return g.then(NK)}})}}return Object.assign(l,{pending:o,rejected:i,fulfilled:a,settled:bK(i,a),typePrefix:t})}return e.withTypes=()=>e,e})();function NK(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function CK(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var WP=Symbol.for("rtk-slice-createasyncthunk"),Vve={[WP]:kK};function EK(e,t){return`${e}/${t}`}function _K({creators:e}={}){let t=e?.asyncThunk?.[WP];return function(n){let{name:a,reducerPath:o=a}=n;if(!a)throw new Error(ba(11));typeof process<"u";let i=(typeof n.reducers=="function"?n.reducers(TK()):n.reducers)||{},l=Object.keys(i),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(x,b){let S=typeof x=="string"?x:x.type;if(!S)throw new Error(ba(12));if(S in s.sliceCaseReducersByType)throw new Error(ba(13));return s.sliceCaseReducersByType[S]=b,u},addMatcher(x,b){return s.sliceMatchers.push({matcher:x,reducer:b}),u},exposeAction(x,b){return s.actionCreators[x]=b,u},exposeCaseReducer(x,b){return s.sliceCaseReducersByName[x]=b,u}};l.forEach(x=>{let b=i[x],S={reducerName:x,type:EK(a,x),createNotation:typeof n.reducers=="function"};PK(b)?IK(S,b,u,t):MK(S,b,u)});function c(){let[x={},b=[],S=void 0]=typeof n.extraReducers=="function"?UP(n.extraReducers):[n.extraReducers],w={...x,...s.sliceCaseReducersByType};return hK(n.initialState,O=>{for(let k in w)O.addCase(k,w[k]);for(let k of s.sliceMatchers)O.addMatcher(k.matcher,k.reducer);for(let k of b)O.addMatcher(k.matcher,k.reducer);S&&O.addDefaultCase(S)})}let d=x=>x,f=new Map,p=new WeakMap,v;function y(x,b){return v||(v=c()),v(x,b)}function h(){return v||(v=c()),v.getInitialState()}function m(x,b=!1){function S(O){let k=O[x];return typeof k>"u"&&b&&(k=a0(p,S,h)),k}function w(O=d){let k=a0(f,b,()=>new WeakMap);return a0(k,O,()=>{let A={};for(let[M,W]of Object.entries(n.selectors??{}))A[M]=OK(W,O,()=>a0(p,O,h),b);return A})}return{reducerPath:x,getSelectors:w,get selectors(){return w(S)},selectSlice:S}}let g={name:a,reducer:y,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...m(o),injectInto(x,{reducerPath:b,...S}={}){let w=b??o;return x.inject({reducerPath:w,reducer:y},S),{...g,...m(w,!0)}}};return g}}function OK(e,t,r,n){function a(o,...i){let l=t(o);return typeof l>"u"&&n&&(l=r()),e(l,...i)}return a.unwrapped=e,a}var Ct=_K();function TK(){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 MK({type:e,reducerName:t,createNotation:r},n,a){let o,i;if("reducer"in n){if(r&&!DK(n))throw new Error(ba(17));o=n.reducer,i=n.prepare}else o=n;a.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,i?Fr(e,i):Fr(e))}function PK(e){return e._reducerDefinitionType==="asyncThunk"}function DK(e){return e._reducerDefinitionType==="reducerWithPrepare"}function IK({type:e,reducerName:t},r,n,a){if(!a)throw new Error(ba(18));let{payloadCreator:o,fulfilled:i,pending:l,rejected:s,settled:u,options:c}=r,d=a(e,o,c);n.exposeAction(t,d),i&&n.addCase(d.fulfilled,i),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:i||o0,pending:l||o0,rejected:s||o0,settled:u||o0})}function o0(){}var jK="task",HP="listener",VP="completed",fk="cancelled",zK=`task-${fk}`,LK=`task-${VP}`,uk=`${HP}-${fk}`,BK=`${HP}-${VP}`,s0=class{constructor(e){this.code=e,this.message=`${jK} ${fk} (reason: ${e})`}code;name="TaskAbortError";message},pk=(e,t)=>{if(typeof e!="function")throw new TypeError(ba(32))},i0=()=>{},KP=(e,t=i0)=>(e.catch(t),e),qP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Rs=e=>{if(e.aborted)throw new s0(e.reason)};function YP(e,t){let r=i0;return new Promise((n,a)=>{let o=()=>a(new s0(e.reason));if(e.aborted){o();return}r=qP(e,o),t.finally(()=>r()).then(n,a)}).finally(()=>{r=i0})}var $K=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof s0?"cancelled":"rejected",error:r}}finally{t?.()}},l0=e=>t=>KP(YP(e,t).then(r=>(Rs(e),r))),GP=e=>{let t=l0(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:kd}=Object,IP={},u0="listenerMiddleware",UK=(e,t)=>{let r=n=>qP(e,()=>n.abort(e.reason));return(n,a)=>{pk(n,"taskExecutor");let o=new AbortController;r(o);let i=$K(async()=>{Rs(e),Rs(o.signal);let l=await n({pause:l0(o.signal),delay:GP(o.signal),signal:o.signal});return Rs(o.signal),l},()=>o.abort(LK));return a?.autoJoin&&t.push(i.catch(i0)),{result:l0(e)(i),cancel(){o.abort(zK)}}}},FK=(e,t)=>{let r=async(n,a)=>{Rs(t);let o=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});o=()=>{c(),u()}})];a!=null&&l.push(new Promise(s=>setTimeout(s,a,null)));try{let s=await YP(t,Promise.race(l));return Rs(t),s}finally{o()}};return((n,a)=>KP(r(n,a)))},XP=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:o}=e;if(t)a=Fr(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(ba(21));return pk(o,"options.listener"),{predicate:a,type:t,effect:o}},ZP=kd(e=>{let{type:t,predicate:r,effect:n}=XP(e);return{id:FP(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(ba(22))}}},{withTypes:()=>ZP}),jP=(e,t)=>{let{type:r,effect:n,predicate:a}=XP(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===a)&&o.effect===n)},ck=e=>{e.pending.forEach(t=>{t.abort(uk)})},WK=(e,t)=>()=>{for(let r of t.keys())ck(r);e.clear()},zP=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},QP=kd(Fr(`${u0}/add`),{withTypes:()=>QP}),HK=Fr(`${u0}/removeAll`),JP=kd(Fr(`${u0}/remove`),{withTypes:()=>JP}),VK=(...e)=>{console.error(`${u0}/error`,...e)},Pi=(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:o,onError:i=VK}=e;pk(i,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),v=>{p.unsubscribe(),v?.cancelActive&&ck(p)}),s=(p=>{let v=jP(t,p)??ZP(p);return l(v)});kd(s,{withTypes:()=>s});let u=p=>{let v=jP(t,p);return v&&(v.unsubscribe(),p.cancelActive&&ck(v)),!!v};kd(u,{withTypes:()=>u});let c=async(p,v,y,h)=>{let m=new AbortController,g=FK(s,m.signal),x=[];try{p.pending.add(m),n(p),await Promise.resolve(p.effect(v,kd({},y,{getOriginalState:h,condition:(b,S)=>g(b,S).then(Boolean),take:g,delay:GP(m.signal),pause:l0(m.signal),extra:o,signal:m.signal,fork:UK(m.signal,x),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((b,S,w)=>{b!==m&&(b.abort(uk),w.delete(b))})},cancel:()=>{m.abort(uk),p.pending.delete(m)},throwIfCancelled:()=>{Rs(m.signal)}})))}catch(b){b instanceof s0||zP(i,b,{raisedBy:"effect"})}finally{await Promise.all(x),m.abort(BK),a(p),p.pending.delete(m)}},d=WK(t,r);return{middleware:p=>v=>y=>{if(!qA(y))return v(y);if(QP.match(y))return s(y.payload);if(HK.match(y)){d();return}if(JP.match(y))return u(y.payload);let h=p.getState(),m=()=>{if(h===IP)throw new Error(ba(23));return h},g;try{if(g=v(y),t.size>0){let x=p.getState(),b=Array.from(t.values());for(let S of b){let w=!1;try{w=S.predicate(y,x,h)}catch(O){w=!1,zP(i,O,{raisedBy:"predicate"})}w&&c(S,y,p,m)}}}finally{h=IP}return g},startListening:s,stopListening:u,clearListeners:d}};function ba(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 KK={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},RP=Ct({name:"chartLayout",initialState:KK,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,o;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=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),c0=RP.actions,mk=c0.setMargin,eD=c0.setLayout,tD=c0.setChartSize,rD=c0.setScale;var nD=RP.reducer;function d0(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function He(e){return Number.isFinite(e)}function Xn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}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 Zn(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,o=t.align,i=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(nm(s)){if(s==="top"&&be(e.top))return Zn(Zn({},e),{},{top:e.top+(a||0)+c});if(s==="bottom"&&be(e.bottom))return Zn(Zn({},e),{},{bottom:e.bottom+(a||0)+c});if(s==="left"&&be(e.left))return Zn(Zn({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&be(e.right))return Zn(Zn({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&i==="middle")&&o!=="center"&&be(e[o]))return Zn(Zn({},e),{},{[o]:e[o]+(n||0)});if((l==="horizontal"||l==="vertical"&&o==="center")&&i!=="middle"&&be(e[i]))return Zn(Zn({},e),{},{[i]:e[i]+(a||0)})}return e},wn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",vk=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,o,i=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(o=!0),l.coordinate));return a||i.push(t),o||i.push(r),i},gk=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,o=e.range,i=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!i)return null;var v=l==="scaleBand"&&i.bandwidth?i.bandwidth()/2:2,y=(t||r)&&a==="category"&&i.bandwidth?i.bandwidth()/v:0;if(y=p==="angleAxis"&&o&&o.length>=2?Ft(o[0]-o[1])*2*y:y,t&&(d||f)){var h=(d||f||[]).map((m,g)=>{var x=n?n.indexOf(m):m,b=i.map(x);return He(b)?{coordinate:b+y,value:m,offset:y,index:g}:null}).filter(Yr);return h}return s&&u?u.map((m,g)=>{var x=i.map(m);return He(x)?{coordinate:x+y,value:m,index:g,offset:y}:null}).filter(Yr):i.ticks&&!r&&c!=null?i.ticks(c).map((m,g)=>{var x=i.map(m);return He(x)?{coordinate:x+y,value:m,index:g,offset:y}:null}).filter(Yr):i.domain().map((m,g)=>{var x=i.map(m);return He(x)?{coordinate:x+y,value:n?n[m]:m,index:g,offset:y}:null}).filter(Yr)},iD=(e,t)=>{if(!t||t.length!==2||!be(t[0])||!be(t[1]))return e;var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),a=[e[0],e[1]];return(!be(e[0])||e[0]n)&&(a[1]=n),a[0]>n&&(a[0]=n),a[1]{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(u[0]=o,o+=f,u[1]=o):(u[0]=i,i+=f,u[1]=i)}}}},ZK=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]=o,o+=u,s[1]=o):(s[0]=0,s[1]=0)}}}},QK={sign:XK,expand:IA,none:ya,silhouette:jA,wiggle:zA,positive:ZK},lD=(e,t,r)=>{var n,a=(n=QK[r])!==null&&n!==void 0?n:ya,o=DA().keys(t).value((l,s)=>Number(Qe(l,s,0))).order(vd).offset(a),i=o(e);return i.forEach((l,s)=>{l.forEach((u,c)=>{var d=Qe(e[c],t[s],0);Array.isArray(d)&&d.length===2&&be(d[0])&&be(d[1])&&(u[0]=d[0],u[1]=d[1])})}),i};function f0(e){return e==null?void 0:String(e)}function Nd(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,o=e.index,i=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!ct(a[t.dataKey])){var l=Qy(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var s=Qe(a,ct(i)?t.dataKey:i),u=t.scale.map(s);return be(u)?u:null}var yk=e=>{var t=e.axis,r=e.ticks,n=e.offset,a=e.bandSize,o=e.entry,i=e.index;if(t.type==="category")return r[i]?r[i].coordinate+n:null;var l=Qe(o,t.dataKey,t.scale.domain()[i]);if(ct(l))return null;var s=t.scale.map(l);return be(s)?s-a/2+n:null},sD=e=>{var t=e.numericAxis,r=t.scale.domain();if(t.type==="number"){var n=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);return n<=0&&a>=0?0:a<0?a:n}return r[0]},JK=e=>{var t=e.flat(2).filter(be);return[Math.min(...t),Math.max(...t)]},RK=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],uD=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return RK(Object.keys(e).reduce((n,a)=>{var o=e[a];if(!o)return n;var i=o.stackedData,l=i.reduce((s,u)=>{var c=d0(u,t,r),d=JK(c);return!He(d[0])||!He(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]))},hk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,xk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ya=(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=Oi(t,y=>y.coordinate),o=[],i=0,l=1,s=a.length;lf&&(p=Math.min(v,p));return p===1/0?0:p}return r?void 0:0};function bk(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,a=e.value,o=e.name;return Zn(Zn({},t),{},{dataKey:r,payload:n,value:a,name:o})}function wa(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var cD=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},dD=(e,t)=>t==="centric"?e.angle:e.radius;var on=e=>e.layout.width,ln=e=>e.layout.height,fD=e=>e.layout.scale,Cd=e=>e.layout.margin;var Ed=J(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),_d=J(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var p0="data-recharts-item-index",m0="data-recharts-item-id",eu=60,hm=30;function pD(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 v0(e){for(var t=1;te.brush.height;function aq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function oq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function iq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}function lq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}var jt=J([on,ln,Cd,nq,aq,oq,iq,lq,HA,rP],(e,t,r,n,a,o,i,l,s,u)=>{var c={left:(r.left||0)+a,right:(r.right||0)+o},d={top:(r.top||0)+i,bottom:(r.bottom||0)+l},f=v0(v0({},d),c),p=f.bottom;f.bottom+=n,f=oD(f,s,u);var v=e-f.left-f.right,y=t-f.top-f.bottom;return v0(v0({brushBottom:p},f),{},{width:Math.max(v,0),height:Math.max(y,0)})}),g0=J(jt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Od=J(on,ln,(e,t)=>({x:0,y:0,width:e,height:t}));var sq=te(ne()),y0=te(ne()),uq=(0,y0.createContext)(null),Et=()=>(0,y0.useContext)(uq)!=null;var Td=e=>e.brush,tu=J([Td,jt,Cd],(e,t,r)=>({height:e.height,x:be(e.x)?e.x:t.left,y:be(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:be(e.width)?e.width:t.width}));var ru=te(ne()),Wr=te(ne());function mD(e,t,{signal:r,edges:n}={}){let a,o=null,i=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{o!==null&&(e.apply(a,o),a=void 0,o=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,o=null},v=()=>{s()},y=function(...h){if(r?.aborted)return;a=this,o=h;let m=c==null;d(),i&&m&&s()};return y.schedule=d,y.cancel=p,y.flush=v,r?.addEventListener("abort",p,{once:!0}),y}function vD(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:o}=r,i=Array(2);n&&(i[0]="leading"),a&&(i[1]="trailing");let l,s=null,u=mD(function(...f){l=e.apply(this,f),s=null},t,{edges:i}),c=function(...f){return o!=null&&(s===null&&(s=Date.now()),Date.now()-s>=o)?(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 wk(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return vD(e,t,{leading:n,maxWait:t,trailing:a})}var cq=!0,Md=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;oa[i++]))}};var ho={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},Sk=(e,t,r)=>{var n=r.width,a=n===void 0?ho.width:n,o=r.height,i=o===void 0?ho.height:o,l=r.aspect,s=r.maxHeight,u=ki(a)?e:Number(a),c=ki(i)?t:Number(i);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},dq={width:0,height:0,overflow:"visible"},fq={width:0,overflowX:"visible"},pq={height:0,overflowY:"visible"},mq={},gD=e=>{var t=e.width,r=e.height,n=ki(t),a=ki(r);return n&&a?dq:n?fq:a?pq:mq};function yD(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=ho.width,o=ho.height):a===void 0?a=n&&n>0?void 0:ho.width:o===void 0&&(o=n&&n>0?void 0:ho.height),{width:a,height:o}}var vq=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function h0(){return h0=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 Cq(a)?ru.createElement(wD.Provider,{value:a},t):null}var xm=()=>(0,Wr.useContext)(wD),Eq=(0,Wr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?ho.initialDimension:n,o=e.width,i=e.height,l=e.minWidth,s=l===void 0?ho.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?ho.debounce:f,v=e.id,y=e.className,h=e.onResize,m=e.style,g=m===void 0?{}:m,x=kq(e,vq),b=(0,Wr.useRef)(null),S=(0,Wr.useRef)();S.current=h,(0,Wr.useImperativeHandle)(t,()=>b.current);var w=(0,Wr.useState)({containerWidth:a.width,containerHeight:a.height}),O=xq(w,2),k=O[0],A=O[1],M=(0,Wr.useCallback)((N,_)=>{A(z=>{var j=Math.round(N),P=Math.round(_);return z.containerWidth===j&&z.containerHeight===P?z:{containerWidth:j,containerHeight:P}})},[]);(0,Wr.useEffect)(()=>{if(b.current==null||typeof ResizeObserver>"u")return Pn;var N=B=>{var R,F=B[0];if(F!=null){var G=F.contentRect,ee=G.width,fe=G.height;M(ee,fe),(R=S.current)===null||R===void 0||R.call(S,ee,fe)}};p>0&&(N=wk(N,p,{trailing:!0,leading:!1}));var _=new ResizeObserver(N),z=b.current.getBoundingClientRect(),j=z.width,P=z.height;return M(j,P),_.observe(b.current),()=>{_.disconnect()}},[M,p]);var W=k.containerWidth,L=k.containerHeight;Md(!r||r>0,"The aspect(%s) must be greater than zero.",r);var H=Sk(W,L,{width:o,height:i,aspect:r,maxHeight:c}),D=H.calculatedWidth,Y=H.calculatedHeight;return Md(W<0||L<0||D!=null&&D>0||Y!=null&&Y>0,`The width(%s) and height(%s) of chart should be greater than 0, + A`).concat(o,",").concat(o,",0,1,1,").concat(i,",").concat(a),className:"recharts-legend-icon"});if(s==="rect")return Dn.createElement("path",{stroke:"none",fill:l,d:"M0,".concat(Ka/8,"h").concat(Ka,"v").concat(Ka*3/4,"h").concat(-Ka,"z"),className:"recharts-legend-icon"});if(Dn.isValidElement(t.legendIcon)){var u=mM({},t);return delete u.legendIcon,Dn.cloneElement(t.legendIcon,u)}return Dn.createElement(BA,{fill:l,cx:a,cy:a,size:Ka,sizeType:"diameter",type:s})}function aV(e){var t=e.payload,r=e.iconSize,n=e.layout,a=e.formatter,o=e.inactiveColor,i=e.iconType,l=e.labelStyle,s={x:0,y:0,width:Ka,height:Ka},u={display:n==="horizontal"?"inline-block":"block",marginRight:10,whiteSpace:"nowrap"},c={display:"inline-block",verticalAlign:"middle",marginRight:4};return t.map((d,f)=>{var p,m,g=d.formatter||a,h=Ue({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:d.inactive});if(d.type==="none")return null;var v=typeof l=="object"?mM({},l):{};v.color=d.inactive?o:v.color||d.color,(p=v.whiteSpace)!==null&&p!==void 0||(v.whiteSpace="normal"),(m=v.overflowWrap)!==null&&m!==void 0||(v.overflowWrap="break-word");var y=g?g(d.value,d,f):d.value;return Dn.createElement("li",lh({className:h,style:u,key:"legend-item-".concat(f)},Ei(e,d,f)),Dn.createElement(tm,{width:r,height:r,viewBox:s,style:c,"aria-label":d.value==null?"legend icon":"".concat(d.value," legend icon")},Dn.createElement(nV,{data:d,iconType:i,inactiveColor:o})),Dn.createElement("span",{className:"recharts-legend-item-text",style:v},y))})}var vM=e=>{var t=lt(e,tV),r=t.payload,n=t.layout,a=t.align;if(!r||!r.length)return null;var o={padding:0,margin:0,textAlign:n==="horizontal"?a:"left"};return Dn.createElement("ul",{className:"recharts-default-legend",style:o},Dn.createElement(aV,lh({},t,{payload:r})))};function gM(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function _i(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var uh="[object RegExp]",yd="[object String]",hd="[object Number]",xd="[object Boolean]",ch="[object Arguments]",dh="[object Symbol]",fh="[object Date]",ph="[object Map]",mh="[object Set]",vh="[object Array]",bM="[object Function]",gh="[object ArrayBuffer]",bd="[object Object]",wM="[object Error]",yh="[object DataView]",hh="[object Uint8Array]",xh="[object Uint8ClampedArray]",bh="[object Uint16Array]",wh="[object Uint32Array]",SM="[object BigUint64Array]",Sh="[object Int8Array]",Ah="[object Int16Array]",kh="[object Int32Array]",AM="[object BigInt64Array]",Nh="[object Float32Array]",Ch="[object Float64Array]";var $A=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function sm(e){return typeof $A.Buffer<"u"&&$A.Buffer.isBuffer(e)}function kM(e,t){return zl(e,void 0,e,new Map,t)}function zl(e,t,r,n=new Map,a=void 0){let o=a?.(e,t,r,n);if(o!==void 0)return o;if(im(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let i=new Array(e.length);n.set(e,i);for(let l=0;l{}):UA(e,t,function n(a,o,i,l,s,u){let c=r(a,o,i,l,s,u);return c!==void 0?!!c:UA(a,o,n,u,!1)},new Map,!0)}function UA(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return iV(e,t,r,n);case"function":return Object.keys(t).length>0?UA(e,{...t},r,n,a):Ll(e,t);default:return Eh(e)?a?typeof t=="string"?t==="":!0:Ll(e,t):Ll(e,t)}}function iV(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return CM(e,t,r,n);if(t instanceof Map)return lV(e,t,r,n);if(t instanceof Set)return sV(e,t,r,n);let a=Object.keys(t);if(e==null||im(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 o=0;o{})}function EM(e){return e=NM(e),t=>_h(t,e)}function _M(e,t){return kM(e,(r,n,a,o)=>{let i=t?.(r,n,a,o);if(i!==void 0)return i;if(typeof e=="object"){if(_i(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return o.set(e,l),qa(l,e,a,o),l}switch(Object.prototype.toString.call(e)){case hd:case yd:case xd:{let l=new e.constructor(e?.valueOf());return qa(l,e),l}case ch:{let l={};return qa(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function OM(e){return _M(e)}var uV=/^(?:0|[1-9]\d*)$/;function Oh(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function Th(e){return e!=null&&typeof e!="function"&&IM(e.length)}function jM(e){return typeof e=="object"&&e!==null}function zM(e){return jM(e)&&Th(e)}function Mh(e,t=sh){return zM(e)?gM(Array.from(e),yM(DM(t),1)):[]}function Ph(e,t,r){return t===!0?Mh(e,r):typeof t=="function"?Mh(e,t):e}var qM=te(VM()),cm=te(ne());var KM=te(ne()),um=(0,KM.createContext)(null);var EV=e=>e,Ve=()=>{var e=(0,cm.useContext)(um);return e?e.store.dispatch:EV},Ih=()=>{},_V=()=>Ih,OV=(e,t)=>e===t;function we(e){var t=(0,cm.useContext)(um),r=(0,cm.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:Ih,[t,e]);return(0,qM.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:_V,t?t.store.getState:Ih,t?t.store.getState:Ih,r,OV)}function TV(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function MV(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 YM=e=>Array.isArray(e)?e:[e];function PV(e){let t=Array.isArray(e[0])?e[0]:e;return MV(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function DV(e,t){let r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?IV:WeakRef,XM=jV(),zV=0,GM=1;function jh(){return{s:zV,v:void 0,o:null,p:null}}function LV(e){return e instanceof XM?e.deref():e}function ZM(e,t={}){let r=jh(),{resultEqualityCheck:n}=t,a,o=0;function i(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=jh(),i.resetResultsCount()},i.resultsCount=()=>o,i.resetResultsCount=()=>{o=0},i}function BV(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let o=0,i=0,l,s={},u=a.pop();typeof u=="object"&&(s=u,u=a.pop()),TV(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=ZM,argsMemoizeOptions:m=[]}=c,g=YM(f),h=YM(m),v=PV(a),y=d(function(){return o++,u.apply(null,arguments)},...g),b=!0,x=p(function(){i++;let w=DV(v,arguments);return l=y.apply(null,w),l},...h);return Object.assign(x,{resultFunc:u,memoizedResultFunc:y,dependencies:v,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var J=BV(ZM);function QM(e,t=1){let r=[],n=Math.floor(t),a=(o,i)=>{for(let l=0;l{if(e!==t){let n=JM(e),a=JM(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function zh(e){return typeof e=="symbol"||e instanceof Symbol}var $V=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,UV=/^\w*$/;function eP(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||zh(e)?!0:typeof e=="string"&&(UV.test(e)||!$V.test(e))||t!=null&&Object.hasOwn(t,e)}function tP(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,i=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||eP(l)?l:{key:l,path:ld(l)}));return e.map(l=>({original:l,criteria:i.map(s=>o(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function Oi(e,...t){let r=t.length;return r>1&&dm(e,t[0],t[1])?t=[]:r>2&&dm(t[0],t[1],t[2])&&(t=[t[0]]),tP(e,QM(t),["asc"])}var HA=e=>e.legend.settings,rP=e=>e.legend.size,FV=e=>e.legend.payload,nP=J([FV,HA],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Oi(n,r):n});function aP(){return we(nP)}var Ti=te(ne());function WV(e,t){return qV(e)||KV(e,t)||VV(e,t)||HV()}function HV(){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 VV(e,t){if(e){if(typeof e=="string")return oP(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)?oP(e,t):void 0}}function oP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rLh||Math.abs(e.left-t.left)>Lh||Math.abs(e.top-t.top)>Lh||Math.abs(e.width-t.width)>Lh}function lP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Bh(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,Ti.useState)({height:0,left:0,top:0,width:0}),r=WV(t,2),n=r[0],a=r[1],o=(0,Ti.useRef)(null),i=(0,Ti.useRef)(n);i.current=n;var l=(0,Ti.useCallback)(s=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),s!=null){var u=lP(s);if(iP(u,i.current)&&a(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=lP(s);iP(d,i.current)&&a(d)});c.observe(s),o.current=c}}},[...e]);return(0,Ti.useEffect)(()=>()=>{var s;(s=o.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var AD=te(ne());function gn(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 YV=typeof Symbol=="function"&&Symbol.observable||"@@observable",sP=YV,VA=()=>Math.random().toString(36).substring(7).split("").join("."),GV={INIT:`@@redux/INIT${VA()}`,REPLACE:`@@redux/REPLACE${VA()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${VA()}`},$h=GV;function Uh(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 KA(e,t,r){if(typeof e!="function")throw new Error(gn(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(gn(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(gn(1));return r(KA)(e,t)}let n=e,a=t,o=new Map,i=o,l=0,s=!1;function u(){i===o&&(i=new Map,o.forEach((h,v)=>{i.set(v,h)}))}function c(){if(s)throw new Error(gn(3));return a}function d(h){if(typeof h!="function")throw new Error(gn(4));if(s)throw new Error(gn(5));let v=!0;u();let y=l++;return i.set(y,h),function(){if(v){if(s)throw new Error(gn(6));v=!1,u(),i.delete(y),o=null}}}function f(h){if(!Uh(h))throw new Error(gn(7));if(typeof h.type>"u")throw new Error(gn(8));if(typeof h.type!="string")throw new Error(gn(17));if(s)throw new Error(gn(9));try{s=!0,a=n(a,h)}finally{s=!1}return(o=i).forEach(y=>{y()}),h}function p(h){if(typeof h!="function")throw new Error(gn(10));n=h,f({type:$h.REPLACE})}function m(){let h=d;return{subscribe(v){if(typeof v!="object"||v===null)throw new Error(gn(11));function y(){let x=v;x.next&&x.next(c())}return y(),{unsubscribe:h(y)}},[sP](){return this}}}return f({type:$h.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[sP]:m}}function XV(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:$h.INIT})>"u")throw new Error(gn(12));if(typeof r(void 0,{type:$h.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(gn(13))})}function Fh(e){let t=Object.keys(e),r={};for(let i=0;i"u"){let h=s&&s.type;throw new Error(gn(14))}c[f]=g,u=u||g!==m}return u=u||n.length!==Object.keys(l).length,u?c:l}}function fm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function uP(...e){return t=>(r,n)=>{let a=t(r,n),o=()=>{throw new Error(gn(15))},i={getState:a.getState,dispatch:(s,...u)=>o(s,...u)},l=e.map(s=>s(i));return o=fm(...l)(a.dispatch),{...a,dispatch:o}}}function qA(e){return Uh(e)&&"type"in e&&typeof e.type=="string"}var hP=Symbol.for("immer-nothing"),cP=Symbol.for("immer-draftable"),bn=Symbol.for("immer-state");function yo(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ha=Object,Ad=ha.getPrototypeOf,Kh="constructor",Qh="prototype",ZA="configurable",qh="enumerable",Hh="writable",pm="value",Uo=e=>!!e&&!!e[bn];function xa(e){return e?xP(e)||Rh(e)||!!e[cP]||!!e[Kh]?.[cP]||e0(e)||t0(e):!1}var ZV=ha[Qh][Kh].toString(),dP=new WeakMap;function xP(e){if(!e||!ak(e))return!1;let t=Ad(e);if(t===null||t===ha[Qh])return!0;let r=ha.hasOwnProperty.call(t,Kh)&&t[Kh];if(r===Object)return!0;if(!Sd(r))return!1;let n=dP.get(r);return n===void 0&&(n=Function.toString.call(r),dP.set(r,n)),n===ZV}function Jh(e,t,r=!0){gm(e)===0?(r?Reflect.ownKeys(e):ha.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function gm(e){let t=e[bn];return t?t.type_:Rh(e)?1:e0(e)?2:t0(e)?3:0}var YA=(e,t,r=gm(e))=>r===2?e.has(t):ha[Qh].hasOwnProperty.call(e,t),QA=(e,t,r=gm(e))=>r===2?e.get(t):e[t],Yh=(e,t,r,n=gm(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function QV(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Rh=Array.isArray,e0=e=>e instanceof Map,t0=e=>e instanceof Set,ak=e=>typeof e=="object",Sd=e=>typeof e=="function",GA=e=>typeof e=="boolean";function JV(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Mi=e=>e.copy_||e.base_;var ok=e=>e.modified_?e.copy_:e.base_;function JA(e,t){if(e0(e))return new Map(e);if(t0(e))return new Set(e);if(Rh(e))return Array[Qh].slice.call(e);let r=xP(e);if(t===!0||t==="class_only"&&!r){let n=ha.getOwnPropertyDescriptors(e);delete n[bn];let a=Reflect.ownKeys(n);for(let o=0;o1&&ha.defineProperties(e,{set:Wh,add:Wh,clear:Wh,delete:Wh}),ha.freeze(e),t&&Jh(e,(r,n)=>{ik(n,!0)},!1)),e}function RV(){yo(2)}var Wh={[pm]:RV};function r0(e){return e===null||!ak(e)?!0:ha.isFrozen(e)}var Gh="MapSet",RA="Patches",fP="ArrayMethods",bP={};function Js(e){let t=bP[e];return t||yo(0,e),t}var pP=e=>!!bP[e];var mm,wP=()=>mm,eK=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:pP(Gh)?Js(Gh):void 0,arrayMethodsPlugin_:pP(fP)?Js(fP):void 0});function mP(e,t){t&&(e.patchPlugin_=Js(RA),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ek(e){tk(e),e.drafts_.forEach(tK),e.drafts_=null}function tk(e){e===mm&&(mm=e.parent_)}var vP=e=>mm=eK(mm,e);function tK(e){let t=e[bn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function gP(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[bn].modified_&&(ek(t),yo(4)),xa(e)&&(e=yP(t,e));let{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[bn].base_,e,t)}else e=yP(t,r);return rK(t,e,!0),ek(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==hP?e:void 0}function yP(e,t){if(r0(t))return t;let r=t[bn];if(!r)return Xh(t,e.handledSet_,e);if(!n0(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);kP(r,e)}return r.copy_}function rK(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ik(t,r)}function SP(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var n0=(e,t)=>e.scope_===t,nK=[];function AP(e,t,r,n){let a=Mi(e),o=e.type_;if(n!==void 0&&QA(a,n,o)===t){Yh(a,n,r,o);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;Jh(a,(s,u)=>{if(Uo(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let i=e.draftLocations_.get(t)??nK;for(let l of i)Yh(a,l,r,o)}function aK(e,t,r){e.callbacks_.push(function(a){let o=t;if(!o||!n0(o,a))return;a.mapSetPlugin_?.fixSetContents(o);let i=ok(o);AP(e,o.draft_??o,i,r),kP(o,a)})}function kP(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)}SP(e)}}function oK(e,t,r){let{scope_:n}=e;if(Uo(r)){let a=r[bn];n0(a,n)&&a.callbacks_.push(function(){Vh(e);let i=ok(a);AP(e,r,i,t)})}else xa(r)&&e.callbacks_.push(function(){let o=Mi(e);e.type_===3?o.has(r)&&Xh(r,n.handledSet_,n):QA(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Xh(QA(e.copy_,t,e.type_),n.handledSet_,n)})}function Xh(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Uo(e)||t.has(e)||!xa(e)||r0(e)||(t.add(e),Jh(e,(n,a)=>{if(Uo(a)){let o=a[bn];if(n0(o,r)){let i=ok(o);Yh(e,n,i,e.type_),SP(o)}}else xa(a)&&Xh(a,t,r)})),e}function iK(e,t){let r=Rh(e),n={type_:r?1:0,scope_:t?t.scope_:wP(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},a=n,o=Zh;r&&(a=[n],o=vm);let{revoke:i,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=i,[l,n]}var Zh={get(e,t){if(t===bn)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=Mi(e);if(!YA(a,t,e.type_))return sK(e,a,t);let o=a[t];if(e.finalized_||!xa(o)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&JV(t))return o;if(o===XA(e.base_,t)||lK(e,t,o)){Vh(e);let i=e.type_===1?+t:t,l=nk(e.scope_,o,e,i);return e.copy_[i]=l}return o},has(e,t){return t in Mi(e)},ownKeys(e){return Reflect.ownKeys(Mi(e))},set(e,t,r){let n=NP(Mi(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let a=XA(Mi(e),t),o=a?.[bn];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(QV(r,a)&&(r!==void 0||YA(e.base_,t,e.type_)))return!0;Vh(e),rk(e)}return e.copy_[t]===r&&(r!==void 0||YA(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),oK(e,t,r)),!0},deleteProperty(e,t){return Vh(e),XA(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),rk(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=Mi(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Hh]:!0,[ZA]:e.type_!==1||t!=="length",[qh]:n[qh],[pm]:r[t]}},defineProperty(){yo(11)},getPrototypeOf(e){return Ad(e.base_)},setPrototypeOf(){yo(12)}},vm={};for(let e in Zh){let t=Zh[e];vm[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}vm.deleteProperty=function(e,t){return vm.set.call(this,e,t,void 0)};vm.set=function(e,t,r){return Zh.set.call(this,e[0],t,r,e[0])};function XA(e,t){let r=e[bn];return(r?Mi(r):e)[t]}function lK(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!xa(r)||r[bn]?!1:e.baseRefs_.has(r)}function sK(e,t,r){let n=NP(t,r);return n?pm in n?n[pm]:n.get?.call(e.draft_):void 0}function NP(e,t){if(!(t in e))return;let r=Ad(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ad(r)}}function rk(e){e.modified_||(e.modified_=!0,e.parent_&&rk(e.parent_))}function Vh(e){e.copy_||(e.assigned_=new Map,e.copy_=JA(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var uK=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(Sd(t)&&!Sd(r)){let o=r;r=t;let i=this;return function(s=o,...u){return i.produce(s,c=>r.call(this,c,...u))}}Sd(r)||yo(6),n!==void 0&&!Sd(n)&&yo(7);let a;if(xa(t)){let o=vP(this),i=nk(o,t,void 0),l=!0;try{a=r(i),l=!1}finally{l?ek(o):tk(o)}return mP(o,n),gP(a,o)}else if(!t||!ak(t)){if(a=r(t),a===void 0&&(a=t),a===hP&&(a=void 0),this.autoFreeze_&&ik(a,!0),n){let o=[],i=[];Js(RA).generateReplacementPatches_(t,a,{patches_:o,inversePatches_:i}),n(o,i)}return a}else yo(1,t)},this.produceWithPatches=(t,r)=>{if(Sd(t))return(i,...l)=>this.produceWithPatches(i,s=>t(s,...l));let n,a;return[this.produce(t,r,(i,l)=>{n=i,a=l}),n,a]},GA(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),GA(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),GA(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){xa(e)||yo(8),Uo(e)&&(e=yn(e));let t=vP(this),r=nk(t,e,void 0);return r[bn].isManual_=!0,tk(t),r}finishDraft(e,t){let r=e&&e[bn];(!r||!r.isManual_)&&yo(9);let{scope_:n}=r;return mP(n,t),gP(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=Js(RA).applyPatches_;return Uo(e)?n(e,t):this.produce(e,a=>n(a,t))}};function nk(e,t,r,n){let[a,o]=e0(t)?Js(Gh).proxyMap_(t,r):t0(t)?Js(Gh).proxySet_(t,r):iK(t,r);return(r?.scope_??wP()).drafts_.push(a),o.callbacks_=r?.callbacks_??[],o.key_=n,r&&n!==void 0?aK(r,o,n):o.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(o);let{patchPlugin_:u}=s;o.modified_&&u&&u.generatePatches_(o,[],s)}),a}function yn(e){return Uo(e)||yo(10,e),CP(e)}function CP(e){if(!xa(e)||r0(e))return e;let t=e[bn],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=JA(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=JA(e,!0);return Jh(r,(a,o)=>{Yh(r,a,CP(o))},n),t&&(t.finalized_=!1),r}var cK=new uK,lk=cK.produce;var tt=e=>e;function EP(e){return({dispatch:r,getState:n})=>a=>o=>typeof o=="function"?o(r,n,e):a(o)}var _P=EP(),OP=EP;var dK=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?fm:fm.apply(null,arguments)},Wve=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},fK=e=>e&&typeof e.match=="function";function Fr(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(ba(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=>qA(n)&&n.type===e,r}var LP=class ym extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,ym.prototype)}static get[Symbol.species](){return ym}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new ym(...t[0].concat(this)):new ym(...t.concat(this))}};function TP(e){return xa(e)?lk(e,()=>{}):e}function a0(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function pK(e){return typeof e=="boolean"}var mK=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:o=!0}=t??{},i=new LP;return r&&(pK(r)?i.push(_P):i.push(OP(r.extraArgument))),i},BP="RTK_autoBatch",Pt=()=>e=>({payload:e,meta:{[BP]:!0}}),MP=e=>t=>{setTimeout(t,e)},vK=(e,t)=>r=>{let n=!1,a=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(i),r())},o=e(a),i=setTimeout(a,t)},dk=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),a=!0,o=!1,i=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?vK(window.requestAnimationFrame,100):MP(10):e.type==="callback"?e.queueNotification:MP(e.timeout),u=()=>{i=!1,o&&(o=!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?.[BP],o=!a,o&&(i||(i=!0,s(u))),n.dispatch(c)}finally{a=!0}}})},gK=e=>function(r){let{autoBatch:n=!0}=r??{},a=new LP(e);return n&&a.push(dk(typeof n=="object"?n:void 0)),a};function $P(e){let t=mK(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:o=!0,preloadedState:i=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(Uh(r))s=Fh(r);else throw new Error(ba(1));let u;typeof n=="function"?u=n(t):u=t();let c=fm;a&&(c=dK({trace:!1,...typeof a=="object"&&a}));let d=uP(...u),f=gK(d),p=typeof l=="function"?l(f):f(),m=c(...p);return KA(s,i,m)}function UP(e){let t={},r=[],n,a={addCase(o,i){let l=typeof o=="string"?o:o.type;if(!l)throw new Error(ba(28));if(l in t)throw new Error(ba(29));return t[l]=i,a},addAsyncThunk(o,i){return i.pending&&(t[o.pending.type]=i.pending),i.rejected&&(t[o.rejected.type]=i.rejected),i.fulfilled&&(t[o.fulfilled.type]=i.fulfilled),i.settled&&r.push({matcher:o.settled,reducer:i.settled}),a},addMatcher(o,i){return r.push({matcher:o,reducer:i}),a},addDefaultCase(o){return n=o,a}};return e(a),[t,r,n]}function yK(e){return typeof e=="function"}function hK(e,t){let[r,n,a]=UP(t),o;if(yK(e))o=()=>TP(e());else{let l=TP(e);o=()=>l}function i(l=o(),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(Uo(c)){let p=d(c,s);return p===void 0?c:p}else{if(xa(c))return lk(c,f=>d(f,s));{let f=d(c,s);if(f===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return f}}return c},l)}return i.getInitialState=o,i}var xK=(e,t)=>fK(e)?e.match(t):e(t);function bK(...e){return t=>e.some(r=>xK(r,t))}var wK="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",FP=(e=21)=>{let t="",r=e;for(;r--;)t+=wK[Math.random()*64|0];return t},SK=["name","message","stack","code"],sk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},PP=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},AK=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of SK)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},DP="External signal was aborted",kK=(()=>{function e(t,r,n){let a=Fr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),o=Fr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),i=Fr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||AK)(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):FP(),m=new AbortController,g,h;function v(b){h=b,m.abort()}u&&(u.aborted?v(DP):u.addEventListener("abort",()=>v(DP),{once:!0}));let y=(async function(){let b;try{let S=n?.condition?.(s,{getState:d,extra:f});if(CK(S)&&(S=await S),S===!1||m.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let w=new Promise((O,k)=>{g=()=>{k({name:"AbortError",message:h||"Aborted"})},m.signal.addEventListener("abort",g,{once:!0})});c(o(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),b=await Promise.race([w,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:m.signal,abort:v,rejectWithValue:((O,k)=>new sk(O,k)),fulfillWithValue:((O,k)=>new PP(O,k))})).then(O=>{if(O instanceof sk)throw O;return O instanceof PP?a(O.payload,p,s,O.meta):a(O,p,s)})])}catch(S){b=S instanceof sk?i(null,p,s,S.payload,S.meta):i(S,p,s)}finally{g&&m.signal.removeEventListener("abort",g)}return n&&!n.dispatchConditionRejection&&i.match(b)&&b.meta.condition||c(b),b})();return Object.assign(y,{abort:v,requestId:p,arg:s,unwrap(){return y.then(NK)}})}}return Object.assign(l,{pending:o,rejected:i,fulfilled:a,settled:bK(i,a),typePrefix:t})}return e.withTypes=()=>e,e})();function NK(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function CK(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var WP=Symbol.for("rtk-slice-createasyncthunk"),Vve={[WP]:kK};function EK(e,t){return`${e}/${t}`}function _K({creators:e}={}){let t=e?.asyncThunk?.[WP];return function(n){let{name:a,reducerPath:o=a}=n;if(!a)throw new Error(ba(11));typeof process<"u";let i=(typeof n.reducers=="function"?n.reducers(TK()):n.reducers)||{},l=Object.keys(i),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(b,x){let S=typeof b=="string"?b:b.type;if(!S)throw new Error(ba(12));if(S in s.sliceCaseReducersByType)throw new Error(ba(13));return s.sliceCaseReducersByType[S]=x,u},addMatcher(b,x){return s.sliceMatchers.push({matcher:b,reducer:x}),u},exposeAction(b,x){return s.actionCreators[b]=x,u},exposeCaseReducer(b,x){return s.sliceCaseReducersByName[b]=x,u}};l.forEach(b=>{let x=i[b],S={reducerName:b,type:EK(a,b),createNotation:typeof n.reducers=="function"};PK(x)?IK(S,x,u,t):MK(S,x,u)});function c(){let[b={},x=[],S=void 0]=typeof n.extraReducers=="function"?UP(n.extraReducers):[n.extraReducers],w={...b,...s.sliceCaseReducersByType};return hK(n.initialState,O=>{for(let k in w)O.addCase(k,w[k]);for(let k of s.sliceMatchers)O.addMatcher(k.matcher,k.reducer);for(let k of x)O.addMatcher(k.matcher,k.reducer);S&&O.addDefaultCase(S)})}let d=b=>b,f=new Map,p=new WeakMap,m;function g(b,x){return m||(m=c()),m(b,x)}function h(){return m||(m=c()),m.getInitialState()}function v(b,x=!1){function S(O){let k=O[b];return typeof k>"u"&&x&&(k=a0(p,S,h)),k}function w(O=d){let k=a0(f,x,()=>new WeakMap);return a0(k,O,()=>{let A={};for(let[M,W]of Object.entries(n.selectors??{}))A[M]=OK(W,O,()=>a0(p,O,h),x);return A})}return{reducerPath:b,getSelectors:w,get selectors(){return w(S)},selectSlice:S}}let y={name:a,reducer:g,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...v(o),injectInto(b,{reducerPath:x,...S}={}){let w=x??o;return b.inject({reducerPath:w,reducer:g},S),{...y,...v(w,!0)}}};return y}}function OK(e,t,r,n){function a(o,...i){let l=t(o);return typeof l>"u"&&n&&(l=r()),e(l,...i)}return a.unwrapped=e,a}var Ct=_K();function TK(){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 MK({type:e,reducerName:t,createNotation:r},n,a){let o,i;if("reducer"in n){if(r&&!DK(n))throw new Error(ba(17));o=n.reducer,i=n.prepare}else o=n;a.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,i?Fr(e,i):Fr(e))}function PK(e){return e._reducerDefinitionType==="asyncThunk"}function DK(e){return e._reducerDefinitionType==="reducerWithPrepare"}function IK({type:e,reducerName:t},r,n,a){if(!a)throw new Error(ba(18));let{payloadCreator:o,fulfilled:i,pending:l,rejected:s,settled:u,options:c}=r,d=a(e,o,c);n.exposeAction(t,d),i&&n.addCase(d.fulfilled,i),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:i||o0,pending:l||o0,rejected:s||o0,settled:u||o0})}function o0(){}var jK="task",HP="listener",VP="completed",fk="cancelled",zK=`task-${fk}`,LK=`task-${VP}`,uk=`${HP}-${fk}`,BK=`${HP}-${VP}`,s0=class{constructor(e){this.code=e,this.message=`${jK} ${fk} (reason: ${e})`}code;name="TaskAbortError";message},pk=(e,t)=>{if(typeof e!="function")throw new TypeError(ba(32))},i0=()=>{},KP=(e,t=i0)=>(e.catch(t),e),qP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Rs=e=>{if(e.aborted)throw new s0(e.reason)};function YP(e,t){let r=i0;return new Promise((n,a)=>{let o=()=>a(new s0(e.reason));if(e.aborted){o();return}r=qP(e,o),t.finally(()=>r()).then(n,a)}).finally(()=>{r=i0})}var $K=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof s0?"cancelled":"rejected",error:r}}finally{t?.()}},l0=e=>t=>KP(YP(e,t).then(r=>(Rs(e),r))),GP=e=>{let t=l0(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:kd}=Object,IP={},u0="listenerMiddleware",UK=(e,t)=>{let r=n=>qP(e,()=>n.abort(e.reason));return(n,a)=>{pk(n,"taskExecutor");let o=new AbortController;r(o);let i=$K(async()=>{Rs(e),Rs(o.signal);let l=await n({pause:l0(o.signal),delay:GP(o.signal),signal:o.signal});return Rs(o.signal),l},()=>o.abort(LK));return a?.autoJoin&&t.push(i.catch(i0)),{result:l0(e)(i),cancel(){o.abort(zK)}}}},FK=(e,t)=>{let r=async(n,a)=>{Rs(t);let o=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});o=()=>{c(),u()}})];a!=null&&l.push(new Promise(s=>setTimeout(s,a,null)));try{let s=await YP(t,Promise.race(l));return Rs(t),s}finally{o()}};return((n,a)=>KP(r(n,a)))},XP=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:o}=e;if(t)a=Fr(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(ba(21));return pk(o,"options.listener"),{predicate:a,type:t,effect:o}},ZP=kd(e=>{let{type:t,predicate:r,effect:n}=XP(e);return{id:FP(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(ba(22))}}},{withTypes:()=>ZP}),jP=(e,t)=>{let{type:r,effect:n,predicate:a}=XP(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===a)&&o.effect===n)},ck=e=>{e.pending.forEach(t=>{t.abort(uk)})},WK=(e,t)=>()=>{for(let r of t.keys())ck(r);e.clear()},zP=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},QP=kd(Fr(`${u0}/add`),{withTypes:()=>QP}),HK=Fr(`${u0}/removeAll`),JP=kd(Fr(`${u0}/remove`),{withTypes:()=>JP}),VK=(...e)=>{console.error(`${u0}/error`,...e)},Pi=(e={})=>{let t=new Map,r=new Map,n=p=>{let m=r.get(p)??0;r.set(p,m+1)},a=p=>{let m=r.get(p)??1;m===1?r.delete(p):r.set(p,m-1)},{extra:o,onError:i=VK}=e;pk(i,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),m=>{p.unsubscribe(),m?.cancelActive&&ck(p)}),s=(p=>{let m=jP(t,p)??ZP(p);return l(m)});kd(s,{withTypes:()=>s});let u=p=>{let m=jP(t,p);return m&&(m.unsubscribe(),p.cancelActive&&ck(m)),!!m};kd(u,{withTypes:()=>u});let c=async(p,m,g,h)=>{let v=new AbortController,y=FK(s,v.signal),b=[];try{p.pending.add(v),n(p),await Promise.resolve(p.effect(m,kd({},g,{getOriginalState:h,condition:(x,S)=>y(x,S).then(Boolean),take:y,delay:GP(v.signal),pause:l0(v.signal),extra:o,signal:v.signal,fork:UK(v.signal,b),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((x,S,w)=>{x!==v&&(x.abort(uk),w.delete(x))})},cancel:()=>{v.abort(uk),p.pending.delete(v)},throwIfCancelled:()=>{Rs(v.signal)}})))}catch(x){x instanceof s0||zP(i,x,{raisedBy:"effect"})}finally{await Promise.all(b),v.abort(BK),a(p),p.pending.delete(v)}},d=WK(t,r);return{middleware:p=>m=>g=>{if(!qA(g))return m(g);if(QP.match(g))return s(g.payload);if(HK.match(g)){d();return}if(JP.match(g))return u(g.payload);let h=p.getState(),v=()=>{if(h===IP)throw new Error(ba(23));return h},y;try{if(y=m(g),t.size>0){let b=p.getState(),x=Array.from(t.values());for(let S of x){let w=!1;try{w=S.predicate(g,b,h)}catch(O){w=!1,zP(i,O,{raisedBy:"predicate"})}w&&c(S,g,p,v)}}}finally{h=IP}return y},startListening:s,stopListening:u,clearListeners:d}};function ba(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 KK={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},RP=Ct({name:"chartLayout",initialState:KK,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,o;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=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),c0=RP.actions,mk=c0.setMargin,eD=c0.setLayout,tD=c0.setChartSize,rD=c0.setScale;var nD=RP.reducer;function d0(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function He(e){return Number.isFinite(e)}function Xn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}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 Zn(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,o=t.align,i=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(nm(s)){if(s==="top"&&be(e.top))return Zn(Zn({},e),{},{top:e.top+(a||0)+c});if(s==="bottom"&&be(e.bottom))return Zn(Zn({},e),{},{bottom:e.bottom+(a||0)+c});if(s==="left"&&be(e.left))return Zn(Zn({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&be(e.right))return Zn(Zn({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&i==="middle")&&o!=="center"&&be(e[o]))return Zn(Zn({},e),{},{[o]:e[o]+(n||0)});if((l==="horizontal"||l==="vertical"&&o==="center")&&i!=="middle"&&be(e[i]))return Zn(Zn({},e),{},{[i]:e[i]+(a||0)})}return e},wn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",vk=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,o,i=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(o=!0),l.coordinate));return a||i.push(t),o||i.push(r),i},gk=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,o=e.range,i=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!i)return null;var m=l==="scaleBand"&&i.bandwidth?i.bandwidth()/2:2,g=(t||r)&&a==="category"&&i.bandwidth?i.bandwidth()/m:0;if(g=p==="angleAxis"&&o&&o.length>=2?Ft(o[0]-o[1])*2*g:g,t&&(d||f)){var h=(d||f||[]).map((v,y)=>{var b=n?n.indexOf(v):v,x=i.map(b);return He(x)?{coordinate:x+g,value:v,offset:g,index:y}:null}).filter(Yr);return h}return s&&u?u.map((v,y)=>{var b=i.map(v);return He(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(Yr):i.ticks&&!r&&c!=null?i.ticks(c).map((v,y)=>{var b=i.map(v);return He(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(Yr):i.domain().map((v,y)=>{var b=i.map(v);return He(b)?{coordinate:b+g,value:n?n[v]:v,index:y,offset:g}:null}).filter(Yr)},iD=(e,t)=>{if(!t||t.length!==2||!be(t[0])||!be(t[1]))return e;var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),a=[e[0],e[1]];return(!be(e[0])||e[0]n)&&(a[1]=n),a[0]>n&&(a[0]=n),a[1]{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(u[0]=o,o+=f,u[1]=o):(u[0]=i,i+=f,u[1]=i)}}}},ZK=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]=o,o+=u,s[1]=o):(s[0]=0,s[1]=0)}}}},QK={sign:XK,expand:IA,none:ya,silhouette:jA,wiggle:zA,positive:ZK},lD=(e,t,r)=>{var n,a=(n=QK[r])!==null&&n!==void 0?n:ya,o=DA().keys(t).value((l,s)=>Number(Qe(l,s,0))).order(vd).offset(a),i=o(e);return i.forEach((l,s)=>{l.forEach((u,c)=>{var d=Qe(e[c],t[s],0);Array.isArray(d)&&d.length===2&&be(d[0])&&be(d[1])&&(u[0]=d[0],u[1]=d[1])})}),i};function f0(e){return e==null?void 0:String(e)}function Nd(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,o=e.index,i=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!ct(a[t.dataKey])){var l=Qy(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var s=Qe(a,ct(i)?t.dataKey:i),u=t.scale.map(s);return be(u)?u:null}var yk=e=>{var t=e.axis,r=e.ticks,n=e.offset,a=e.bandSize,o=e.entry,i=e.index;if(t.type==="category")return r[i]?r[i].coordinate+n:null;var l=Qe(o,t.dataKey,t.scale.domain()[i]);if(ct(l))return null;var s=t.scale.map(l);return be(s)?s-a/2+n:null},sD=e=>{var t=e.numericAxis,r=t.scale.domain();if(t.type==="number"){var n=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);return n<=0&&a>=0?0:a<0?a:n}return r[0]},JK=e=>{var t=e.flat(2).filter(be);return[Math.min(...t),Math.max(...t)]},RK=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],uD=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return RK(Object.keys(e).reduce((n,a)=>{var o=e[a];if(!o)return n;var i=o.stackedData,l=i.reduce((s,u)=>{var c=d0(u,t,r),d=JK(c);return!He(d[0])||!He(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]))},hk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,xk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ya=(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=Oi(t,g=>g.coordinate),o=[],i=0,l=1,s=a.length;lf&&(p=Math.min(m,p));return p===1/0?0:p}return r?void 0:0};function bk(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,a=e.value,o=e.name;return Zn(Zn({},t),{},{dataKey:r,payload:n,value:a,name:o})}function wa(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var cD=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},dD=(e,t)=>t==="centric"?e.angle:e.radius;var on=e=>e.layout.width,ln=e=>e.layout.height,fD=e=>e.layout.scale,Cd=e=>e.layout.margin;var Ed=J(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),_d=J(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var p0="data-recharts-item-index",m0="data-recharts-item-id",eu=60,hm=30;function pD(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 v0(e){for(var t=1;te.brush.height;function aq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function oq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function iq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}function lq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}var jt=J([on,ln,Cd,nq,aq,oq,iq,lq,HA,rP],(e,t,r,n,a,o,i,l,s,u)=>{var c={left:(r.left||0)+a,right:(r.right||0)+o},d={top:(r.top||0)+i,bottom:(r.bottom||0)+l},f=v0(v0({},d),c),p=f.bottom;f.bottom+=n,f=oD(f,s,u);var m=e-f.left-f.right,g=t-f.top-f.bottom;return v0(v0({brushBottom:p},f),{},{width:Math.max(m,0),height:Math.max(g,0)})}),g0=J(jt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Od=J(on,ln,(e,t)=>({x:0,y:0,width:e,height:t}));var sq=te(ne()),y0=te(ne()),uq=(0,y0.createContext)(null),Et=()=>(0,y0.useContext)(uq)!=null;var Td=e=>e.brush,tu=J([Td,jt,Cd],(e,t,r)=>({height:e.height,x:be(e.x)?e.x:t.left,y:be(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:be(e.width)?e.width:t.width}));var ru=te(ne()),Wr=te(ne());function mD(e,t,{signal:r,edges:n}={}){let a,o=null,i=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{o!==null&&(e.apply(a,o),a=void 0,o=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,o=null},m=()=>{s()},g=function(...h){if(r?.aborted)return;a=this,o=h;let v=c==null;d(),i&&v&&s()};return g.schedule=d,g.cancel=p,g.flush=m,r?.addEventListener("abort",p,{once:!0}),g}function vD(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:o}=r,i=Array(2);n&&(i[0]="leading"),a&&(i[1]="trailing");let l,s=null,u=mD(function(...f){l=e.apply(this,f),s=null},t,{edges:i}),c=function(...f){return o!=null&&(s===null&&(s=Date.now()),Date.now()-s>=o)?(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 wk(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return vD(e,t,{leading:n,maxWait:t,trailing:a})}var cq=!0,Md=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;oa[i++]))}};var ho={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},Sk=(e,t,r)=>{var n=r.width,a=n===void 0?ho.width:n,o=r.height,i=o===void 0?ho.height:o,l=r.aspect,s=r.maxHeight,u=ki(a)?e:Number(a),c=ki(i)?t:Number(i);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},dq={width:0,height:0,overflow:"visible"},fq={width:0,overflowX:"visible"},pq={height:0,overflowY:"visible"},mq={},gD=e=>{var t=e.width,r=e.height,n=ki(t),a=ki(r);return n&&a?dq:n?fq:a?pq:mq};function yD(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=ho.width,o=ho.height):a===void 0?a=n&&n>0?void 0:ho.width:o===void 0&&(o=n&&n>0?void 0:ho.height),{width:a,height:o}}var vq=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function h0(){return h0=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 Cq(a)?ru.createElement(wD.Provider,{value:a},t):null}var xm=()=>(0,Wr.useContext)(wD),Eq=(0,Wr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?ho.initialDimension:n,o=e.width,i=e.height,l=e.minWidth,s=l===void 0?ho.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?ho.debounce:f,m=e.id,g=e.className,h=e.onResize,v=e.style,y=v===void 0?{}:v,b=kq(e,vq),x=(0,Wr.useRef)(null),S=(0,Wr.useRef)();S.current=h,(0,Wr.useImperativeHandle)(t,()=>x.current);var w=(0,Wr.useState)({containerWidth:a.width,containerHeight:a.height}),O=xq(w,2),k=O[0],A=O[1],M=(0,Wr.useCallback)((N,_)=>{A(z=>{var j=Math.round(N),P=Math.round(_);return z.containerWidth===j&&z.containerHeight===P?z:{containerWidth:j,containerHeight:P}})},[]);(0,Wr.useEffect)(()=>{if(x.current==null||typeof ResizeObserver>"u")return Pn;var N=B=>{var R,F=B[0];if(F!=null){var G=F.contentRect,ee=G.width,fe=G.height;M(ee,fe),(R=S.current)===null||R===void 0||R.call(S,ee,fe)}};p>0&&(N=wk(N,p,{trailing:!0,leading:!1}));var _=new ResizeObserver(N),z=x.current.getBoundingClientRect(),j=z.width,P=z.height;return M(j,P),_.observe(x.current),()=>{_.disconnect()}},[M,p]);var W=k.containerWidth,L=k.containerHeight;Md(!r||r>0,"The aspect(%s) must be greater than zero.",r);var H=Sk(W,L,{width:o,height:i,aspect:r,maxHeight:c}),D=H.calculatedWidth,Y=H.calculatedHeight;return Md(W<0||L<0||D!=null&&D>0||Y!=null&&Y>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,D,Y,o,i,s,u,r),ru.createElement("div",h0({id:v?"".concat(v):void 0,className:Ue("recharts-responsive-container",y),style:xD(xD({},g),{},{width:o,height:i,minWidth:s,minHeight:u,maxHeight:c}),ref:b},x),ru.createElement("div",{style:gD({width:o,height:i})},ru.createElement(SD,{width:D,height:Y},d)))}),Bl=(0,Wr.forwardRef)((e,t)=>{var r=xm();if(Xn(r.width)&&Xn(r.height))return e.children;var n=yD({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,o=n.height,i=Sk(void 0,void 0,{width:a,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),l=i.calculatedWidth,s=i.calculatedHeight;return be(l)&&be(s)?ru.createElement(SD,{width:l,height:s},e.children):ru.createElement(Eq,h0({},e,{width:a,height:o,ref:t}))});var nu=()=>{var e,t=Et(),r=we(g0),n=we(tu),a=(e=we(Td))===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}},_q={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},x0=()=>{var e;return(e=we(jt))!==null&&e!==void 0?e:_q},Pd=()=>we(on),Dd=()=>we(ln),kD=()=>we(e=>e.layout.margin),qe=e=>e.layout.layoutType,Qn=()=>we(qe),Id=()=>{var e=Qn();if(e==="horizontal"||e==="vertical")return e},b0=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},ND=()=>we(b0),CD=()=>{var e=Qn();return e!==void 0},au=e=>{var t=Ve(),r=Et(),n=e.width,a=e.height,o=xm(),i=n,l=a;return o&&(i=o.width>0?o.width:n,l=o.height>0?o.height:a),(0,AD.useEffect)(()=>{!r&&Xn(i)&&Xn(l)&&t(tD({width:i,height:l}))},[t,r,i,l]),null};var Oq={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},ED=Ct({name:"legend",initialState:Oq,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(tt(t.payload))},prepare:Pt()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).payload.indexOf(tt(n));o>-1&&(e.payload[o]=tt(a))},prepare:Pt()},removeLegendPayload:{reducer(e,t){var r=yn(e).payload.indexOf(tt(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Pt()}}}),bm=ED.actions,Ak=bm.setLegendSize,_D=bm.setLegendSettings,kk=bm.addLegendPayload,Nk=bm.replaceLegendPayload,Ck=bm.removeLegendPayload;var OD=ED.reducer;var Sr=te(ne(),1),nY=te(DD(),1);var Lq=Symbol.for("react.forward_ref");var Bq=Symbol.for("react.memo");var $q=Lq,Uq=Bq;function Fq(e){e()}function Wq(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Fq(()=>{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 ID={notify(){},get:()=>[]};function Hq(e,t){let r,n=ID,a=0,o=!1;function i(y){c();let h=n.subscribe(y),m=!1;return()=>{m||(m=!0,h(),d())}}function l(){n.notify()}function s(){v.onStateChange&&v.onStateChange()}function u(){return o}function c(){a++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=Wq())}function d(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=ID)}function f(){o||(o=!0,c())}function p(){o&&(o=!1,d())}let v={addNestedSub:i,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return v}var Vq=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Kq=Vq(),qq=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Yq=qq(),Gq=()=>Kq||Yq?Sr.useLayoutEffect:Sr.useEffect,Xq=Gq();function jD(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function zD(e,t){if(jD(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=Hq(a);return{store:a,subscription:s,getServerState:n?()=>n:void 0}},[a,n]),i=Sr.useMemo(()=>a.getState(),[a]);return Xq(()=>{let{subscription:s}=o;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==a.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[o,i]),Sr.createElement((r||tY).Provider,{value:o},t)}var LD=rY;var aY=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function oY(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Jn(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(aY.has(n)){if(e[n]==null&&t[n]==null)continue;if(!zD(e[n],t[n]))return!1}else if(!oY(e[n],t[n]))return!1;return!0}var BD=J([on,ln,Cd],(e,t,r)=>({x:r.left||0,y:r.top||0,width:Math.max(e-(r.left||0)-(r.right||0),0),height:Math.max(t-(r.top||0)-(r.bottom||0),0)}));function $D(e,t){var r;if(e==="start"&&t==="start")return"";var n={start:"0",middle:"-50%",end:"-100%"},a={start:"0",middle:"-50%",end:"-100%"},o=e==="inherit"?"0":n[e],i=(r=a[t])!==null&&r!==void 0?r:"0";return"translate(".concat(o,", ").concat(i,")")}var iY=["contextPayload"];function Ek(){return Ek=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(_D({align:t,layout:r,verticalAlign:n,itemSorter:a,position:o,offset:i}))},[l,t,r,n,a,o,i]),null}function kY(e){var t=e.width,r=e.height,n=Ve();return(0,w0.useLayoutEffect)(()=>{n(Ak({width:t,height:r}))},[n,t,r]),(0,w0.useLayoutEffect)(()=>()=>{n(Ak({width:0,height:0}))},[n]),null}function NY(e,t,r,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||n}:null}var CY={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"auto",verticalAlign:"bottom",offset:0};function EY(e){var t,r,n,a,o,i,l,s,u=lt(e,CY),c=e.layout&&e.layout!=="auto"?e.layout:xY(u.position),d=aP(),f=V3(),p=kD(),v=we(P=>bY(P,u.position)),y=u.width,h=u.height,m=u.wrapperStyle,g=u.portal,x=g==null&&(u.position==null||nm(u.position)),b=Bh([d]),S=lY(b,2),w=S[0],O=S[1],k=Pd(),A=Dd();if(k==null||A==null||u.position!=null&&v==null)return null;var M=k-(p?.left||0)-(p?.right||0),W=NY(c,h,y,M),L=u.position==null?null:Jy({viewBox:v??{x:0,y:0,width:k,height:A},position:u.position,offset:(t=u.offset)!==null&&t!==void 0?t:0}),H=wY(u.position,(r=u.offset)!==null&&r!==void 0?r:0,w),D=c==="vertical"?((n=v?.width)!==null&&n!==void 0?n:0)/2:(a=v?.width)!==null&&a!==void 0?a:0,Y=c==="horizontal"?((o=v?.height)!==null&&o!==void 0?o:0)/2:(i=v?.height)!==null&&i!==void 0?i:0,N=L?{width:"max-content",height:"max-content",maxWidth:D,maxHeight:Y,overflowY:"auto",top:L.y+((l=H.top)!==null&&l!==void 0?l:0),left:L.x+((s=H.left)!==null&&s!==void 0?s:0),transform:$D(L.horizontalAnchor,L.verticalAnchor)}:SY(m,u,p,k,A,w),_=g?m:jd(jd({position:"absolute",width:W?.width||y||"auto",height:W?.height||h||"auto"},N),m),z=g??f;if(z==null||d==null)return null;var j=Sa.createElement("div",{className:"recharts-legend-wrapper",style:_,ref:O},Sa.createElement(AY,{layout:c,align:u.align,verticalAlign:u.verticalAlign,itemSorter:u.itemSorter,position:u.position,offset:u.offset}),x&&Sa.createElement(kY,w),Sa.createElement(hY,Ek({},u,{layout:c},W,{margin:p,chartWidth:k,chartHeight:A,contextPayload:d})));return(0,WD.createPortal)(j,z)}var S0=Sa.memo(EY,Jn);S0.displayName="Legend";var eo=te(ne()),gz=te(ne()),yz=te(rp());var xo=te(ne());function _k(){return _k=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?zd.separator:t,n=e.contentStyle,a=e.itemStyle,o=e.labelStyle,i=o===void 0?zd.labelStyle:o,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,v=e.accessibilityLayer,y=v===void 0?zd.accessibilityLayer:v,h=()=>{if(l&&l.length){var k={padding:0,margin:0},A=LY(l,u),M=A.map((W,L)=>{if(!W||W.type==="none")return null;var H=W.formatter||s||zY,D=W.value,Y=W.name,N=D,_=Y;if(H){var z=H(D,Y,W,L,l);if(Array.isArray(z)){var j=MY(z,2);N=j[0],_=j[1]}else if(z!=null)N=z;else return null}var P=Sm(Sm({},zd.itemStyle),{},{color:W.color||zd.itemStyle.color},a);return xo.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(L),style:P},Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-name"},_):null,Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,xo.createElement("span",{className:"recharts-tooltip-item-value"},N),xo.createElement("span",{className:"recharts-tooltip-item-unit"},W.unit||""))});return xo.createElement("ul",{className:"recharts-tooltip-item-list",style:k},M)}return null},m=Sm(Sm({},zd.contentStyle),n),g=Sm({margin:0},i),x=!ct(f),b=x?f:"",S=Ue("recharts-default-tooltip",c),w=Ue("recharts-tooltip-label",d);x&&p&&l!==void 0&&l!==null&&(b=p(f,l));var O=y?{role:"status","aria-live":"assertive"}:{};return xo.createElement("div",_k({className:S,style:m},O),xo.createElement("p",{className:w,style:g},xo.isValidElement(b)?b:"".concat(b)),h())};var $l=te(ne());var Am="recharts-tooltip-wrapper",BY={visibility:"hidden"};function $Y(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Ue(Am,{["".concat(Am,"-right")]:be(r)&&t&&be(t.x)&&r>=t.x,["".concat(Am,"-left")]:be(r)&&t&&be(t.x)&&r=t.y,["".concat(Am,"-top")]:be(n)&&t&&be(t.y)&&n0?a:0),d=r[n]+a;if(t[n])return i[n]?c:d;var f=s[n];if(f==null)return 0;if(i[n]){var p=c,v=f;return ph?Math.max(c,f):Math.max(d,f)}function UY(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 YD(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,o=e.position,i=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=qD({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:o,reverseDirection:i,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=qD({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:i,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=UY({translateX:d,translateY:f,useTranslate3d:s})):c=BY,{cssProperties:c,cssClasses:$Y({translateX:d,translateY:f,coordinate:r})}}var A0=te(ne());var FY=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Ga={devToolsEnabled:!0,isSsr:FY()};function WY(e,t){return qY(e)||KY(e,t)||VY(e,t)||HY()}function HY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. + height and width.`,D,Y,o,i,s,u,r),ru.createElement("div",h0({id:m?"".concat(m):void 0,className:Ue("recharts-responsive-container",g),style:xD(xD({},y),{},{width:o,height:i,minWidth:s,minHeight:u,maxHeight:c}),ref:x},b),ru.createElement("div",{style:gD({width:o,height:i})},ru.createElement(SD,{width:D,height:Y},d)))}),Bl=(0,Wr.forwardRef)((e,t)=>{var r=xm();if(Xn(r.width)&&Xn(r.height))return e.children;var n=yD({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,o=n.height,i=Sk(void 0,void 0,{width:a,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),l=i.calculatedWidth,s=i.calculatedHeight;return be(l)&&be(s)?ru.createElement(SD,{width:l,height:s},e.children):ru.createElement(Eq,h0({},e,{width:a,height:o,ref:t}))});var nu=()=>{var e,t=Et(),r=we(g0),n=we(tu),a=(e=we(Td))===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}},_q={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},x0=()=>{var e;return(e=we(jt))!==null&&e!==void 0?e:_q},Pd=()=>we(on),Dd=()=>we(ln),kD=()=>we(e=>e.layout.margin),qe=e=>e.layout.layoutType,Qn=()=>we(qe),Id=()=>{var e=Qn();if(e==="horizontal"||e==="vertical")return e},b0=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},ND=()=>we(b0),CD=()=>{var e=Qn();return e!==void 0},au=e=>{var t=Ve(),r=Et(),n=e.width,a=e.height,o=xm(),i=n,l=a;return o&&(i=o.width>0?o.width:n,l=o.height>0?o.height:a),(0,AD.useEffect)(()=>{!r&&Xn(i)&&Xn(l)&&t(tD({width:i,height:l}))},[t,r,i,l]),null};var Oq={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},ED=Ct({name:"legend",initialState:Oq,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(tt(t.payload))},prepare:Pt()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).payload.indexOf(tt(n));o>-1&&(e.payload[o]=tt(a))},prepare:Pt()},removeLegendPayload:{reducer(e,t){var r=yn(e).payload.indexOf(tt(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Pt()}}}),bm=ED.actions,Ak=bm.setLegendSize,_D=bm.setLegendSettings,kk=bm.addLegendPayload,Nk=bm.replaceLegendPayload,Ck=bm.removeLegendPayload;var OD=ED.reducer;var Sr=te(ne(),1),nY=te(DD(),1);var Lq=Symbol.for("react.forward_ref");var Bq=Symbol.for("react.memo");var $q=Lq,Uq=Bq;function Fq(e){e()}function Wq(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Fq(()=>{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 ID={notify(){},get:()=>[]};function Hq(e,t){let r,n=ID,a=0,o=!1;function i(g){c();let h=n.subscribe(g),v=!1;return()=>{v||(v=!0,h(),d())}}function l(){n.notify()}function s(){m.onStateChange&&m.onStateChange()}function u(){return o}function c(){a++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=Wq())}function d(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=ID)}function f(){o||(o=!0,c())}function p(){o&&(o=!1,d())}let m={addNestedSub:i,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return m}var Vq=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Kq=Vq(),qq=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Yq=qq(),Gq=()=>Kq||Yq?Sr.useLayoutEffect:Sr.useEffect,Xq=Gq();function jD(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function zD(e,t){if(jD(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=Hq(a);return{store:a,subscription:s,getServerState:n?()=>n:void 0}},[a,n]),i=Sr.useMemo(()=>a.getState(),[a]);return Xq(()=>{let{subscription:s}=o;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==a.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[o,i]),Sr.createElement((r||tY).Provider,{value:o},t)}var LD=rY;var aY=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function oY(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Jn(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(aY.has(n)){if(e[n]==null&&t[n]==null)continue;if(!zD(e[n],t[n]))return!1}else if(!oY(e[n],t[n]))return!1;return!0}var BD=J([on,ln,Cd],(e,t,r)=>({x:r.left||0,y:r.top||0,width:Math.max(e-(r.left||0)-(r.right||0),0),height:Math.max(t-(r.top||0)-(r.bottom||0),0)}));function $D(e,t){var r;if(e==="start"&&t==="start")return"";var n={start:"0",middle:"-50%",end:"-100%"},a={start:"0",middle:"-50%",end:"-100%"},o=e==="inherit"?"0":n[e],i=(r=a[t])!==null&&r!==void 0?r:"0";return"translate(".concat(o,", ").concat(i,")")}var iY=["contextPayload"];function Ek(){return Ek=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(_D({align:t,layout:r,verticalAlign:n,itemSorter:a,position:o,offset:i}))},[l,t,r,n,a,o,i]),null}function kY(e){var t=e.width,r=e.height,n=Ve();return(0,w0.useLayoutEffect)(()=>{n(Ak({width:t,height:r}))},[n,t,r]),(0,w0.useLayoutEffect)(()=>()=>{n(Ak({width:0,height:0}))},[n]),null}function NY(e,t,r,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||n}:null}var CY={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"auto",verticalAlign:"bottom",offset:0};function EY(e){var t,r,n,a,o,i,l,s,u=lt(e,CY),c=e.layout&&e.layout!=="auto"?e.layout:xY(u.position),d=aP(),f=V3(),p=kD(),m=we(P=>bY(P,u.position)),g=u.width,h=u.height,v=u.wrapperStyle,y=u.portal,b=y==null&&(u.position==null||nm(u.position)),x=Bh([d]),S=lY(x,2),w=S[0],O=S[1],k=Pd(),A=Dd();if(k==null||A==null||u.position!=null&&m==null)return null;var M=k-(p?.left||0)-(p?.right||0),W=NY(c,h,g,M),L=u.position==null?null:Jy({viewBox:m??{x:0,y:0,width:k,height:A},position:u.position,offset:(t=u.offset)!==null&&t!==void 0?t:0}),H=wY(u.position,(r=u.offset)!==null&&r!==void 0?r:0,w),D=c==="vertical"?((n=m?.width)!==null&&n!==void 0?n:0)/2:(a=m?.width)!==null&&a!==void 0?a:0,Y=c==="horizontal"?((o=m?.height)!==null&&o!==void 0?o:0)/2:(i=m?.height)!==null&&i!==void 0?i:0,N=L?{width:"max-content",height:"max-content",maxWidth:D,maxHeight:Y,overflowY:"auto",top:L.y+((l=H.top)!==null&&l!==void 0?l:0),left:L.x+((s=H.left)!==null&&s!==void 0?s:0),transform:$D(L.horizontalAnchor,L.verticalAnchor)}:SY(v,u,p,k,A,w),_=y?v:jd(jd({position:"absolute",width:W?.width||g||"auto",height:W?.height||h||"auto"},N),v),z=y??f;if(z==null||d==null)return null;var j=Sa.createElement("div",{className:"recharts-legend-wrapper",style:_,ref:O},Sa.createElement(AY,{layout:c,align:u.align,verticalAlign:u.verticalAlign,itemSorter:u.itemSorter,position:u.position,offset:u.offset}),b&&Sa.createElement(kY,w),Sa.createElement(hY,Ek({},u,{layout:c},W,{margin:p,chartWidth:k,chartHeight:A,contextPayload:d})));return(0,WD.createPortal)(j,z)}var S0=Sa.memo(EY,Jn);S0.displayName="Legend";var eo=te(ne()),gz=te(ne()),yz=te(rp());var xo=te(ne());function _k(){return _k=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?zd.separator:t,n=e.contentStyle,a=e.itemStyle,o=e.labelStyle,i=o===void 0?zd.labelStyle:o,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,m=e.accessibilityLayer,g=m===void 0?zd.accessibilityLayer:m,h=()=>{if(l&&l.length){var k={padding:0,margin:0},A=LY(l,u),M=A.map((W,L)=>{if(!W||W.type==="none")return null;var H=W.formatter||s||zY,D=W.value,Y=W.name,N=D,_=Y;if(H){var z=H(D,Y,W,L,l);if(Array.isArray(z)){var j=MY(z,2);N=j[0],_=j[1]}else if(z!=null)N=z;else return null}var P=Sm(Sm({},zd.itemStyle),{},{color:W.color||zd.itemStyle.color},a);return xo.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(L),style:P},Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-name"},_):null,Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,xo.createElement("span",{className:"recharts-tooltip-item-value"},N),xo.createElement("span",{className:"recharts-tooltip-item-unit"},W.unit||""))});return xo.createElement("ul",{className:"recharts-tooltip-item-list",style:k},M)}return null},v=Sm(Sm({},zd.contentStyle),n),y=Sm({margin:0},i),b=!ct(f),x=b?f:"",S=Ue("recharts-default-tooltip",c),w=Ue("recharts-tooltip-label",d);b&&p&&l!==void 0&&l!==null&&(x=p(f,l));var O=g?{role:"status","aria-live":"assertive"}:{};return xo.createElement("div",_k({className:S,style:v},O),xo.createElement("p",{className:w,style:y},xo.isValidElement(x)?x:"".concat(x)),h())};var $l=te(ne());var Am="recharts-tooltip-wrapper",BY={visibility:"hidden"};function $Y(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Ue(Am,{["".concat(Am,"-right")]:be(r)&&t&&be(t.x)&&r>=t.x,["".concat(Am,"-left")]:be(r)&&t&&be(t.x)&&r=t.y,["".concat(Am,"-top")]:be(n)&&t&&be(t.y)&&n0?a:0),d=r[n]+a;if(t[n])return i[n]?c:d;var f=s[n];if(f==null)return 0;if(i[n]){var p=c,m=f;return ph?Math.max(c,f):Math.max(d,f)}function UY(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 YD(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,o=e.position,i=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=qD({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:o,reverseDirection:i,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=qD({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:i,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=UY({translateX:d,translateY:f,useTranslate3d:s})):c=BY,{cssProperties:c,cssClasses:$Y({translateX:d,translateY:f,coordinate:r})}}var A0=te(ne());var FY=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Ga={devToolsEnabled:!0,isSsr:FY()};function WY(e,t){return qY(e)||KY(e,t)||VY(e,t)||HY()}function HY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VY(e,t){if(e){if(typeof e=="string")return GD(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)?GD(e,t):void 0}}function GD(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rGa.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=WY(e,2),r=t[0],n=t[1];return(0,A0.useEffect)(()=>{if(window.matchMedia){var a=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(a.matches)};return a.addEventListener("change",o),()=>{a.removeEventListener("change",o)}}},[]),r}function XD(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 Ld(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),u=ZY(s,2),c=u[0],d=u[1];$l.useEffect(()=>{var m=g=>{if(g.key==="Escape"){var x,b,S,w;d({dismissed:!0,dismissedAtCoordinate:{x:(x=(b=e.coordinate)===null||b===void 0?void 0:b.x)!==null&&x!==void 0?x:0,y:(S=(w=e.coordinate)===null||w===void 0?void 0:w.y)!==null&&S!==void 0?S: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||((o=(i=e.coordinate)===null||i===void 0?void 0:i.y)!==null&&o!==void 0?o:0)!==c.dismissedAtCoordinate.y)&&d(Ld(Ld({},c),{},{dismissed:!1}));var f=YD({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,y=e.hasPortalFromProps?{}:Ld(Ld({transition:tG({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},v),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),h=Ld(Ld({},y),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return $l.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:h,ref:e.innerRef},e.children)}var QD=$l.memo(rG);var N0=()=>{var e;return(e=we(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var db=te(ne()),ff=te(ne());var n8=te(ne());function Ok(){return Ok=Object.assign?Object.assign.bind():function(e){for(var t=1;tHe(e.x)&&He(e.y),t8=e=>e.base!=null&&C0(e.base)&&C0(e),km=e=>e.x,Nm=e=>e.y,iG=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(Ci(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=e8["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return e8[r]||jl},r8={connectNulls:!1,type:"linear"},lG=e=>{var t=e.type,r=t===void 0?r8.type:t,n=e.points,a=n===void 0?[]:n,o=e.baseLine,i=e.layout,l=e.connectNulls,s=l===void 0?r8.connectNulls:l,u=iG(r,i),c=s?a.filter(C0):a;if(Array.isArray(o)){var d,f=a.map((m,g)=>RD(RD({},m),{},{base:o[g]}));i==="vertical"?d=dd().y(Nm).x1(km).x0(m=>m.base.x):d=dd().x(km).y1(Nm).y0(m=>m.base.y);var p=d.defined(t8).curve(u),v=s?f.filter(t8):f;return p(v)}var y;i==="vertical"&&be(o)?y=dd().y(Nm).x1(km).x0(o):be(o)?y=dd().x(km).y1(Nm).y0(o):y=om().x(km).y(Nm);var h=y.defined(C0).curve(u);return h(c)},Fo=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,o=Qn();if((!r||!r.length)&&!n)return null;var i={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},l=r&&r.length?lG(i):n;return n8.createElement("path",Ok({},tr(e),gd(e),{className:Ue("recharts-curve",t),d:l===null?void 0:l,ref:a}))};var o8=te(ne());var sG=["x","y","top","left","width","height","className"];function Tk(){return Tk=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),i8=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,o=e.top,i=o===void 0?0:o,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=pG(e,sG),y=uG({x:r,y:a,top:i,left:s,width:c,height:f},v);return!be(r)||!be(a)||!be(c)||!be(f)||!be(i)||!be(s)?null:o8.createElement("path",Tk({},rr(y),{className:Ue("recharts-cross",p),d:vG(r,a,c,f,i,s)}))};function l8(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 P0=te(ne()),Xa=te(ne());var Cm=te(ne());var E0=1e-4,c8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],d8=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),s8=(e,t)=>r=>{var n=c8(e,t);return d8(n,r)},gG=(e,t)=>r=>{var n=c8(e,t),a=[...n.map((o,i)=>o*i).slice(1),0];return d8(a,r)},yG=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(o=>parseFloat(o));return[a[0],a[1],a[2],a[3]]},hG=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=s8(e,r),o=s8(t,n),i=gG(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=i(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,o=a===void 0?8:a,i=t.dt,l=i===void 0?16.67:i,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var g,x,b;if(m<=0)return 0;if(m>=1)return s;var S=m*h,w=Math.floor(S),O=S-w;return((g=u[w])!==null&&g!==void 0?g:0)+(((x=u[w+1])!==null&&x!==void 0?x:0)-((b=u[w])!==null&&b!==void 0?b:0))*O}},f8=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return u8(e);case"spring":return bG();default:if(e.split("(")[0]==="cubic-bezier")return u8(e)}return typeof e=="function"?e:null};var Bd=te(ne());var p8=(e,t,r)=>{var n,a=o=>{var i=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,i);return}n=e.setTimeout(a,i)};return n=e.setTimeout(a,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}};var m8=(0,Bd.createContext)(p8),nhe=m8.Provider;function v8(e){var t=(0,Bd.useContext)(m8);return(0,Bd.useMemo)(()=>e??t,[e,t])}function wG(e,t,r){return(t=SG(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SG(e){var t=AG(e,"string");return typeof t=="symbol"?t:t+""}function AG(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 g8="init",y8="pending",h8="active",kG="completed";function Mk(e){return Math.max(0,e)}var Pk=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;wG(this,"state",g8),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Mk(t.animationDuration),this.animationBegin=Mk(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()===g8)return this.state=y8,this.beginStartedTime=t,this.animationBegin;if(this.getState()===y8){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=h8,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Mk(this.animationBegin-r)}if(this.getState()===h8){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=kG}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},_0=class extends Pk{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Nt(this.getFrom(),this.getTo(),this.getProgress()))}};var O0=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,o=i=>{i-n>=r?t(i):a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!=null&&cancelAnimationFrame(a)}}};function NG(e,t){return OG(e)||_G(e,t)||EG(e,t)||CG()}function CG(){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 EG(e,t){if(e){if(typeof e=="string")return x8(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)?x8(e,t):void 0}}function x8(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},b8=0,Dk=1;function T0(e){var t=lt(e,TG),r=t.animationId,n=t.isActive,a=t.canBegin,o=t.duration,i=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=k0(),f=n==="auto"?!Ga.isSsr&&!d:n,p=v8(t.animationController),v=(0,Cm.useState)(f?b8:Dk),y=NG(v,2),h=y[0],m=y[1];return(0,Cm.useEffect)(()=>{f||m(Dk)},[f]),(0,Cm.useEffect)(()=>{var g=f8(i);if(!f||!a||g==null)return Pn;var x=new O0,b=new _0({animationId:r,easing:g,animationDuration:o,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:b8,to:Dk});return p(x,b,m)},[p,r,f,a,o,i,l,u,s]),c(Number(h))}var Ik=te(ne());function M0(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,Ik.useRef)(Ni(t)),n=(0,Ik.useRef)(e);return n.current!==e&&(r.current=Ni(t),n.current=e),r.current}var MG=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),w8=(e,t,r)=>e.map(n=>"".concat(MG(n)," ").concat(t,"ms ").concat(r)).join(",");var PG=["radius"],DG=["radius"],S8,A8,k8,N8,C8,E8,_8,O8,T8,M8;function P8(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 D8(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=Wa(r),i=Wa(n),l=Math.min(Math.abs(o)/2,Math.abs(i)/2),s=i>=0?1:-1,u=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,d;if(l>0&&Array.isArray(a)){for(var f=[0,0,0,0],p=0,v=4;pl?l:h}d=qr(S8||(S8=Wo(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=qr(A8||(A8=Wo(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=qr(k8||(k8=Wo(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=qr(N8||(N8=Wo(["A ",",",",0,0,",`, +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JY(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({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),u=ZY(s,2),c=u[0],d=u[1];$l.useEffect(()=>{var v=y=>{if(y.key==="Escape"){var b,x,S,w;d({dismissed:!0,dismissedAtCoordinate:{x:(b=(x=e.coordinate)===null||x===void 0?void 0:x.x)!==null&&b!==void 0?b:0,y:(S=(w=e.coordinate)===null||w===void 0?void 0:w.y)!==null&&S!==void 0?S:0}})}};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),c.dismissed&&(((n=(a=e.coordinate)===null||a===void 0?void 0:a.x)!==null&&n!==void 0?n:0)!==c.dismissedAtCoordinate.x||((o=(i=e.coordinate)===null||i===void 0?void 0:i.y)!==null&&o!==void 0?o:0)!==c.dismissedAtCoordinate.y)&&d(Ld(Ld({},c),{},{dismissed:!1}));var f=YD({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),p=f.cssClasses,m=f.cssProperties,g=e.hasPortalFromProps?{}:Ld(Ld({transition:tG({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},m),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),h=Ld(Ld({},g),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return $l.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:h,ref:e.innerRef},e.children)}var QD=$l.memo(rG);var N0=()=>{var e;return(e=we(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var db=te(ne()),ff=te(ne());var n8=te(ne());function Ok(){return Ok=Object.assign?Object.assign.bind():function(e){for(var t=1;tHe(e.x)&&He(e.y),t8=e=>e.base!=null&&C0(e.base)&&C0(e),km=e=>e.x,Nm=e=>e.y,iG=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(Ci(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=e8["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return e8[r]||jl},r8={connectNulls:!1,type:"linear"},lG=e=>{var t=e.type,r=t===void 0?r8.type:t,n=e.points,a=n===void 0?[]:n,o=e.baseLine,i=e.layout,l=e.connectNulls,s=l===void 0?r8.connectNulls:l,u=iG(r,i),c=s?a.filter(C0):a;if(Array.isArray(o)){var d,f=a.map((v,y)=>RD(RD({},v),{},{base:o[y]}));i==="vertical"?d=dd().y(Nm).x1(km).x0(v=>v.base.x):d=dd().x(km).y1(Nm).y0(v=>v.base.y);var p=d.defined(t8).curve(u),m=s?f.filter(t8):f;return p(m)}var g;i==="vertical"&&be(o)?g=dd().y(Nm).x1(km).x0(o):be(o)?g=dd().x(km).y1(Nm).y0(o):g=om().x(km).y(Nm);var h=g.defined(C0).curve(u);return h(c)},Fo=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,o=Qn();if((!r||!r.length)&&!n)return null;var i={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},l=r&&r.length?lG(i):n;return n8.createElement("path",Ok({},tr(e),gd(e),{className:Ue("recharts-curve",t),d:l===null?void 0:l,ref:a}))};var o8=te(ne());var sG=["x","y","top","left","width","height","className"];function Tk(){return Tk=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),i8=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,o=e.top,i=o===void 0?0:o,l=e.left,s=l===void 0?0:l,u=e.width,c=u===void 0?0:u,d=e.height,f=d===void 0?0:d,p=e.className,m=pG(e,sG),g=uG({x:r,y:a,top:i,left:s,width:c,height:f},m);return!be(r)||!be(a)||!be(c)||!be(f)||!be(i)||!be(s)?null:o8.createElement("path",Tk({},rr(g),{className:Ue("recharts-cross",p),d:vG(r,a,c,f,i,s)}))};function l8(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 P0=te(ne()),Xa=te(ne());var Cm=te(ne());var E0=1e-4,c8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],d8=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),s8=(e,t)=>r=>{var n=c8(e,t);return d8(n,r)},gG=(e,t)=>r=>{var n=c8(e,t),a=[...n.map((o,i)=>o*i).slice(1),0];return d8(a,r)},yG=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(o=>parseFloat(o));return[a[0],a[1],a[2],a[3]]},hG=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=s8(e,r),o=s8(t,n),i=gG(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,m=i(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,o=a===void 0?8:a,i=t.dt,l=i===void 0?16.67:i,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var y,b,x;if(v<=0)return 0;if(v>=1)return s;var S=v*h,w=Math.floor(S),O=S-w;return((y=u[w])!==null&&y!==void 0?y:0)+(((b=u[w+1])!==null&&b!==void 0?b:0)-((x=u[w])!==null&&x!==void 0?x:0))*O}},f8=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return u8(e);case"spring":return bG();default:if(e.split("(")[0]==="cubic-bezier")return u8(e)}return typeof e=="function"?e:null};var Bd=te(ne());var p8=(e,t,r)=>{var n,a=o=>{var i=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,i);return}n=e.setTimeout(a,i)};return n=e.setTimeout(a,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}};var m8=(0,Bd.createContext)(p8),nhe=m8.Provider;function v8(e){var t=(0,Bd.useContext)(m8);return(0,Bd.useMemo)(()=>e??t,[e,t])}function wG(e,t,r){return(t=SG(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SG(e){var t=AG(e,"string");return typeof t=="symbol"?t:t+""}function AG(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 g8="init",y8="pending",h8="active",kG="completed";function Mk(e){return Math.max(0,e)}var Pk=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;wG(this,"state",g8),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Mk(t.animationDuration),this.animationBegin=Mk(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()===g8)return this.state=y8,this.beginStartedTime=t,this.animationBegin;if(this.getState()===y8){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=h8,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Mk(this.animationBegin-r)}if(this.getState()===h8){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=kG}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},_0=class extends Pk{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Nt(this.getFrom(),this.getTo(),this.getProgress()))}};var O0=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,o=i=>{i-n>=r?t(i):a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!=null&&cancelAnimationFrame(a)}}};function NG(e,t){return OG(e)||_G(e,t)||EG(e,t)||CG()}function CG(){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 EG(e,t){if(e){if(typeof e=="string")return x8(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)?x8(e,t):void 0}}function x8(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},b8=0,Dk=1;function T0(e){var t=lt(e,TG),r=t.animationId,n=t.isActive,a=t.canBegin,o=t.duration,i=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=k0(),f=n==="auto"?!Ga.isSsr&&!d:n,p=v8(t.animationController),m=(0,Cm.useState)(f?b8:Dk),g=NG(m,2),h=g[0],v=g[1];return(0,Cm.useEffect)(()=>{f||v(Dk)},[f]),(0,Cm.useEffect)(()=>{var y=f8(i);if(!f||!a||y==null)return Pn;var b=new O0,x=new _0({animationId:r,easing:y,animationDuration:o,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:b8,to:Dk});return p(b,x,v)},[p,r,f,a,o,i,l,u,s]),c(Number(h))}var Ik=te(ne());function M0(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,Ik.useRef)(Ni(t)),n=(0,Ik.useRef)(e);return n.current!==e&&(r.current=Ni(t),n.current=e),r.current}var MG=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),w8=(e,t,r)=>e.map(n=>"".concat(MG(n)," ").concat(t,"ms ").concat(r)).join(",");var PG=["radius"],DG=["radius"],S8,A8,k8,N8,C8,E8,_8,O8,T8,M8;function P8(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 D8(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=Wa(r),i=Wa(n),l=Math.min(Math.abs(o)/2,Math.abs(i)/2),s=i>=0?1:-1,u=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,d;if(l>0&&Array.isArray(a)){for(var f=[0,0,0,0],p=0,m=4;pl?l:h}d=qr(S8||(S8=Wo(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=qr(A8||(A8=Wo(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=qr(k8||(k8=Wo(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=qr(N8||(N8=Wo(["A ",",",",0,0,",`, `,",",""])),f[1],f[1],c,e+r,t+s*f[1])),d+=qr(C8||(C8=Wo(["L ",",",""])),e+r,t+n-s*f[2]),f[2]>0&&(d+=qr(E8||(E8=Wo(["A ",",",",0,0,",`, `,",",""])),f[2],f[2],c,e+r-u*f[2],t+n)),d+=qr(_8||(_8=Wo(["L ",",",""])),e+u*f[3],t+n),f[3]>0&&(d+=qr(O8||(O8=Wo(["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=qr(T8||(T8=Wo(["M ",",",` + `,",",""])),f[3],f[3],c,e,t+n-s*f[3])),d+="Z"}else if(l>0&&a===+a&&a>0){var v=Math.min(l,a);d=qr(T8||(T8=Wo(["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=qr(M8||(M8=Wo(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},L8={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},I0=e=>{var t=lt(e,L8),r=(0,Xa.useRef)(null),n=(0,Xa.useState)(-1),a=BG(n,2),o=a[0],i=a[1];(0,Xa.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var j=r.current.getTotalLength();j&&i(j)}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,y=t.animationBegin,h=t.isAnimationActive,m=t.isUpdateAnimationActive,g=(0,Xa.useRef)(u),x=(0,Xa.useRef)(c),b=(0,Xa.useRef)(l),S=(0,Xa.useRef)(s),w=(0,Xa.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),O=M0(w,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var k=Ue("recharts-rectangle",f);if(!m){var A=rr(t),M=A.radius,W=I8(A,PG);return P0.createElement("path",D0({},W,{x:Wa(l),y:Wa(s),width:Wa(u),height:Wa(c),radius:typeof d=="number"?d:void 0,className:k,d:z8(l,s,u,c,d)}))}var L=g.current,H=x.current,D=b.current,Y=S.current,N="0px ".concat(o===-1?1:o,"px"),_="".concat(o,"px ").concat(o,"px"),z=w8(["strokeDasharray"],v,typeof p=="string"?p:L8.animationEasing);return P0.createElement(T0,{animationId:O,key:O,canBegin:o>0,duration:v,easing:p,isActive:m,begin:y},j=>{var P=Nt(L,u,j),B=Nt(H,c,j),R=Nt(D,l,j),F=Nt(Y,s,j);r.current&&(g.current=P,x.current=B,b.current=R,S.current=F);var G;h?j>0?G={transition:z,strokeDasharray:_}:G={strokeDasharray:N}:G={strokeDasharray:_};var ee=rr(t),fe=ee.radius,de=I8(ee,DG);return P0.createElement("path",D0({},de,{radius:typeof d=="number"?d:void 0,className:k,d:z8(R,F,P,B,d),ref:r,style:D8(D8({},G),t.style)}))})};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 $8(e){for(var t=1;te*180/Math.PI,qt=(e,t,r,n)=>({x:e+Math.cos(-Em*n)*r,y:t+Math.sin(-Em*n)*r}),j0=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},YG=(e,t)=>{var r=e.x,n=e.y,a=t.x,o=t.y;return Math.sqrt((r-a)**2+(n-o)**2)},GG=(e,t)=>{var r=e.x,n=e.y,a=t.cx,o=t.cy,i=YG({x:r,y:n},{x:a,y:o});if(i<=0)return{radius:i,angle:0};var l=(r-a)/i,s=Math.acos(l);return n>o&&(s=2*Math.PI-s),{radius:i,angle:qG(s),angleInRadian:s}},XG=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),o=Math.min(n,a);return{startAngle:t-o*360,endAngle:r-o*360}},ZG=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),o=Math.floor(n/360),i=Math.min(a,o);return e+i*360},U8=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=GG({x:r,y:n},t),o=a.radius,i=a.angle,l=t.innerRadius,s=t.outerRadius;if(os||o===0)return null;var u=XG(t),c=u.startAngle,d=u.endAngle,f=i,p;if(c<=d){for(;f>d;)f-=360;for(;f=c&&f<=d}else{for(;f>c;)f-=360;for(;f=d&&f<=c}return p?$8($8({},t),{},{radius:o,angle:ZG(f,t)}):null};function z0(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,o=e.endAngle,i=qt(t,r,n,a),l=qt(t,r,n,o);return{points:[i,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:o}}var G8=te(ne());var F8,W8,H8,V8,K8,q8,Y8;function jk(){return jk=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Ft(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},L0=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,o=e.sign,i=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(i?1:-1)+n,c=Math.asin(l/u)/Em,d=s?a:a+o*c,f=qt(t,r,u,d),p=qt(t,r,n,d),v=s?a-o*c:a,y=qt(t,r,u*Math.cos(c*Em),v);return{center:f,circleTangency:p,lineTangency:y,theta:c}},X8=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=QG(o,i),s=o+l,u=qt(t,r,a,o),c=qt(t,r,a,s),d=qr(F8||(F8=ou(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+s*v,v,v,c,e+u*v,t,e+r-u*v,t,v,v,c,e+r,t+s*v,e+r,t+n-s*v,v,v,c,e+r-u*v,t+n,e+u*v,t+n,v,v,c,e,t+n-s*v)}else d=qr(M8||(M8=Wo(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},L8={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},I0=e=>{var t=lt(e,L8),r=(0,Xa.useRef)(null),n=(0,Xa.useState)(-1),a=BG(n,2),o=a[0],i=a[1];(0,Xa.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var j=r.current.getTotalLength();j&&i(j)}catch{}},[]);var l=t.x,s=t.y,u=t.width,c=t.height,d=t.radius,f=t.className,p=t.animationEasing,m=t.animationDuration,g=t.animationBegin,h=t.isAnimationActive,v=t.isUpdateAnimationActive,y=(0,Xa.useRef)(u),b=(0,Xa.useRef)(c),x=(0,Xa.useRef)(l),S=(0,Xa.useRef)(s),w=(0,Xa.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),O=M0(w,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var k=Ue("recharts-rectangle",f);if(!v){var A=rr(t),M=A.radius,W=I8(A,PG);return P0.createElement("path",D0({},W,{x:Wa(l),y:Wa(s),width:Wa(u),height:Wa(c),radius:typeof d=="number"?d:void 0,className:k,d:z8(l,s,u,c,d)}))}var L=y.current,H=b.current,D=x.current,Y=S.current,N="0px ".concat(o===-1?1:o,"px"),_="".concat(o,"px ").concat(o,"px"),z=w8(["strokeDasharray"],m,typeof p=="string"?p:L8.animationEasing);return P0.createElement(T0,{animationId:O,key:O,canBegin:o>0,duration:m,easing:p,isActive:v,begin:g},j=>{var P=Nt(L,u,j),B=Nt(H,c,j),R=Nt(D,l,j),F=Nt(Y,s,j);r.current&&(y.current=P,b.current=B,x.current=R,S.current=F);var G;h?j>0?G={transition:z,strokeDasharray:_}:G={strokeDasharray:N}:G={strokeDasharray:_};var ee=rr(t),fe=ee.radius,de=I8(ee,DG);return P0.createElement("path",D0({},de,{radius:typeof d=="number"?d:void 0,className:k,d:z8(R,F,P,B,d),ref:r,style:D8(D8({},G),t.style)}))})};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 $8(e){for(var t=1;te*180/Math.PI,qt=(e,t,r,n)=>({x:e+Math.cos(-Em*n)*r,y:t+Math.sin(-Em*n)*r}),j0=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},YG=(e,t)=>{var r=e.x,n=e.y,a=t.x,o=t.y;return Math.sqrt((r-a)**2+(n-o)**2)},GG=(e,t)=>{var r=e.x,n=e.y,a=t.cx,o=t.cy,i=YG({x:r,y:n},{x:a,y:o});if(i<=0)return{radius:i,angle:0};var l=(r-a)/i,s=Math.acos(l);return n>o&&(s=2*Math.PI-s),{radius:i,angle:qG(s),angleInRadian:s}},XG=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),o=Math.min(n,a);return{startAngle:t-o*360,endAngle:r-o*360}},ZG=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),o=Math.floor(n/360),i=Math.min(a,o);return e+i*360},U8=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=GG({x:r,y:n},t),o=a.radius,i=a.angle,l=t.innerRadius,s=t.outerRadius;if(os||o===0)return null;var u=XG(t),c=u.startAngle,d=u.endAngle,f=i,p;if(c<=d){for(;f>d;)f-=360;for(;f=c&&f<=d}else{for(;f>c;)f-=360;for(;f=d&&f<=c}return p?$8($8({},t),{},{radius:o,angle:ZG(f,t)}):null};function z0(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,o=e.endAngle,i=qt(t,r,n,a),l=qt(t,r,n,o);return{points:[i,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:o}}var G8=te(ne());var F8,W8,H8,V8,K8,q8,Y8;function jk(){return jk=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Ft(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},L0=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,o=e.sign,i=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(i?1:-1)+n,c=Math.asin(l/u)/Em,d=s?a:a+o*c,f=qt(t,r,u,d),p=qt(t,r,n,d),m=s?a-o*c:a,g=qt(t,r,u*Math.cos(c*Em),m);return{center:f,circleTangency:p,lineTangency:g,theta:c}},X8=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=QG(o,i),s=o+l,u=qt(t,r,a,o),c=qt(t,r,a,s),d=qr(F8||(F8=ou(["M ",",",` A `,",",`,0, `,",",`, `,",",` `])),u.x,u.y,a,a,+(Math.abs(l)>180),+(o>s),c.x,c.y);if(n>0){var f=qt(t,r,n,o),p=qt(t,r,n,s);d+=qr(W8||(W8=ou(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(o<=s),f.x,f.y)}else d+=qr(H8||(H8=ou(["L ",","," Z"])),t,r);return d},JG=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.cornerRadius,i=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=Ft(u-s),d=L0({cx:t,cy:r,radius:a,angle:s,sign:c,cornerRadius:o,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,v=d.theta,y=L0({cx:t,cy:r,radius:a,angle:u,sign:-c,cornerRadius:o,cornerIsExternal:l}),h=y.circleTangency,m=y.lineTangency,g=y.theta,x=l?Math.abs(s-u):Math.abs(s-u)-v-g;if(x<0)return i?qr(V8||(V8=ou(["M ",",",` + `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(o<=s),f.x,f.y)}else d+=qr(H8||(H8=ou(["L ",","," Z"])),t,r);return d},JG=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.cornerRadius,i=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=Ft(u-s),d=L0({cx:t,cy:r,radius:a,angle:s,sign:c,cornerRadius:o,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,m=d.theta,g=L0({cx:t,cy:r,radius:a,angle:u,sign:-c,cornerRadius:o,cornerIsExternal:l}),h=g.circleTangency,v=g.lineTangency,y=g.theta,b=l?Math.abs(s-u):Math.abs(s-u)-m-y;if(b<0)return i?qr(V8||(V8=ou(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),p.x,p.y,o,o,o*2,o,o,-o*2):X8({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:s,endAngle:u});var b=qr(K8||(K8=ou(["M ",",",` + `])),p.x,p.y,o,o,o*2,o,o,-o*2):X8({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:s,endAngle:u});var x=qr(K8||(K8=ou(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),p.x,p.y,o,o,+(c<0),f.x,f.y,a,a,+(x>180),+(c<0),h.x,h.y,o,o,+(c<0),m.x,m.y);if(n>0){var S=L0({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),w=S.circleTangency,O=S.lineTangency,k=S.theta,A=L0({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),M=A.circleTangency,W=A.lineTangency,L=A.theta,H=l?Math.abs(s-u):Math.abs(s-u)-k-L;if(H<0&&o===0)return"".concat(b,"L").concat(t,",").concat(r,"Z");b+=qr(q8||(q8=ou(["L",",",` + `])),p.x,p.y,o,o,+(c<0),f.x,f.y,a,a,+(b>180),+(c<0),h.x,h.y,o,o,+(c<0),v.x,v.y);if(n>0){var S=L0({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),w=S.circleTangency,O=S.lineTangency,k=S.theta,A=L0({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),M=A.circleTangency,W=A.lineTangency,L=A.theta,H=l?Math.abs(s-u):Math.abs(s-u)-k-L;if(H<0&&o===0)return"".concat(x,"L").concat(t,",").concat(r,"Z");x+=qr(q8||(q8=ou(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),W.x,W.y,o,o,+(c<0),M.x,M.y,n,n,+(H>180),+(c>0),w.x,w.y,o,o,+(c<0),O.x,O.y)}else b+=qr(Y8||(Y8=ou(["L",",","Z"])),t,r);return b},RG={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},B0=e=>{var t=lt(e,RG),r=t.cx,n=t.cy,a=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(o0&&Math.abs(u-c)<360?y=JG({cx:r,cy:n,innerRadius:a,outerRadius:o,cornerRadius:Math.min(v,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):y=X8({cx:r,cy:n,innerRadius:a,outerRadius:o,startAngle:u,endAngle:c}),G8.createElement("path",jk({},rr(t),{className:f,d:y}))};function Z8(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(ih(t)){if(e==="centric"){var n=t.cx,a=t.cy,o=t.innerRadius,i=t.outerRadius,l=t.angle,s=qt(n,a,o,l),u=qt(n,a,i,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return z0(t)}}function Q8(e){return zh(e)?NaN:Number(e)}function $0(e){return e?(e=Q8(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function U0(e,t,r){r&&typeof r!="number"&&dm(e,t,r)&&(t=r=void 0),e=$0(e),t===void 0?(t=e,e=0):t=$0(t),r=r===void 0?ee.chartData,iu=J([Rn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),lu=(e,t,r,n)=>n?iu(e):Rn(e),F0=(e,t,r)=>r?iu(e):Rn(e),J8=J([lu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),R8=J([iu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),e6=J([Rn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function zk(e,t){return nX(e)||rX(e,t)||tX(e,t)||eX()}function eX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. + A`,",",",0,0,",",",",","Z"])),W.x,W.y,o,o,+(c<0),M.x,M.y,n,n,+(H>180),+(c>0),w.x,w.y,o,o,+(c<0),O.x,O.y)}else x+=qr(Y8||(Y8=ou(["L",",","Z"])),t,r);return x},RG={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},B0=e=>{var t=lt(e,RG),r=t.cx,n=t.cy,a=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(o0&&Math.abs(u-c)<360?g=JG({cx:r,cy:n,innerRadius:a,outerRadius:o,cornerRadius:Math.min(m,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):g=X8({cx:r,cy:n,innerRadius:a,outerRadius:o,startAngle:u,endAngle:c}),G8.createElement("path",jk({},rr(t),{className:f,d:g}))};function Z8(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(ih(t)){if(e==="centric"){var n=t.cx,a=t.cy,o=t.innerRadius,i=t.outerRadius,l=t.angle,s=qt(n,a,o,l),u=qt(n,a,i,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return z0(t)}}function Q8(e){return zh(e)?NaN:Number(e)}function $0(e){return e?(e=Q8(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function U0(e,t,r){r&&typeof r!="number"&&dm(e,t,r)&&(t=r=void 0),e=$0(e),t===void 0?(t=e,e=0):t=$0(t),r=r===void 0?ee.chartData,iu=J([Rn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),lu=(e,t,r,n)=>n?iu(e):Rn(e),F0=(e,t,r)=>r?iu(e):Rn(e),J8=J([lu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),R8=J([iu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),e6=J([Rn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function zk(e,t){return nX(e)||rX(e,t)||tX(e,t)||eX()}function eX(){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 tX(e,t){if(e){if(typeof e=="string")return t6(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)?t6(e,t):void 0}}function t6(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=_m(e,2),r=t[0],n=t[1],a=r,o=n;return r>n&&(a=n,o=r),[a,o]},Fk=(e,t,r)=>{if(e.lte(0))return new wt.default(0);var n=$k(e.toNumber()),a=new wt.default(10).pow(n),o=e.div(a),i=n!==1?.05:.1,l=new wt.default(Math.ceil(o.div(i).toNumber())).add(r).mul(i),s=l.mul(a);return t?new wt.default(s.toNumber()):new wt.default(Math.ceil(s.toNumber()))},l6=(e,t,r)=>{var n;if(e.lte(0))return new wt.default(0);var a=[1,2,2.5,5],o=e.toNumber(),i=Math.floor(new wt.default(o).abs().log(10).toNumber()),l=new wt.default(10).pow(i),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 wt.default(10).pow(c))}var d=(n=a[u])!==null&&n!==void 0?n:1,f=new wt.default(d).mul(l);return t?f:new wt.default(Math.ceil(f.toNumber()))},sX=(e,t,r)=>{var n=new wt.default(1),a=new wt.default(e);if(!a.isint()&&r){var o=Math.abs(e);o<1?(n=new wt.default(10).pow($k(e)-1),a=new wt.default(Math.floor(a.div(n).toNumber())).mul(n)):o>1&&(a=new wt.default(Math.floor(e)))}else e===0?a=new wt.default(Math.floor((t-1)/2)):r||(a=new wt.default(Math.floor(e)));for(var i=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Fk;if(!Number.isFinite((r-t)/(n-1)))return{step:new wt.default(0),tickMin:new wt.default(0),tickMax:new wt.default(0)};var l=i(new wt.default(r).sub(t).div(n-1),a,o),s;t<=0&&r>=0?s=new wt.default(0):(s=new wt.default(t).add(r).div(2),s=s.sub(new wt.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new wt.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?s6(t,r,n,a,o+1,i):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new wt.default(u).mul(l)),tickMax:s.add(new wt.default(c).mul(l))})};var V0=function(t){var r=_m(t,2),n=r[0],a=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(o,2),u=i6([n,a]),c=_m(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),f];return n>a?p.reverse():p}if(d===f)return sX(d,o,i);var v=l==="snap125"?l6:Fk,y=s6(d,f,s,i,0,v),h=y.step,m=y.tickMin,g=y.tickMax,x=Uk(m,g.add(new wt.default(.1).mul(h)),h);return n>a?x.reverse():x},K0=function(t,r){var n=_m(t,2),a=n[0],o=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=i6([a,o]),u=_m(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[a,o];if(c===d)return[c];var f=l==="snap125"?l6:Fk,p=Math.max(r,2),v=f(new wt.default(d).sub(c).div(p-1),i,0),y=[...Uk(new wt.default(c),new wt.default(d),v),d];if(i===!1){y=y.map(m=>Math.round(m));var h=y.length-1;h>0&&y[h]===y[h-1]&&(y=y.slice(0,h))}return a>o?y.reverse():y};var Wk=e=>e.rootProps.maxBarSize,u6=e=>e.rootProps.barGap,q0=e=>e.rootProps.barCategoryGap,c6=e=>e.rootProps.barSize,Ul=e=>e.rootProps.stackOffset,Y0=e=>e.rootProps.reverseStackOrder,$d=e=>e.options.chartName,G0=e=>e.rootProps.syncId,Hk=e=>e.rootProps.syncMethod,X0=e=>e.options.eventEmitter,d6=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 Fl={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 bo={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 su=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function uu(e,t,r){if(r!=="auto")return r;if(e!=null)return wn(e,t)?"category":"number"}function f6(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 Z0(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Q0=J([fX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"angleAxis",p6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},p6),{},{type:n})}),pX=(e,t)=>e.polarAxis.radiusAxis[t],J0=J([pX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"radiusAxis",m6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},m6),{},{type:n})}),R0=e=>e.polarOptions,Vk=J([on,ln,jt],j0),v6=J([R0,Vk],(e,t)=>{if(e!=null)return vr(e.innerRadius,t,0)}),g6=J([R0,Vk],(e,t)=>{if(e!=null)return vr(e.outerRadius,t,t*.8)}),mX=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},Kk=J([R0],mX),_0e=J([Q0,Kk],su),qk=J([Vk,v6,g6],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),O0e=J([J0,qk],su),ex=J([qe,R0,v6,g6,on,ln],(e,t,r,n,a,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var i=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:vr(i,a,a/2),cy:vr(l,o,o/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var nr=(e,t)=>t;var cu=(e,t,r)=>r;function Wl(e){return e?.id}function tx(e,t,r){var n=t.chartData,a=n===void 0?[]:n,o=r.allowDuplicatedCategory,i=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=Wl(s);c.forEach((f,p)=>{var v=i==null||o?p:String(Qe(f,i,null)),y=Qe(f,s.dataKey,0),h;l.has(v)?h=l.get(v):h={},Object.assign(h,{[d]:y}),l.set(v,h)})}}),Array.from(l.values())}function du(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var fu=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Ud(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function y6(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 Hl=e=>e.tooltip.settings.axisId;function Om(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(o){function i(){return o.apply(this,arguments)}return i.toString=function(){return o.toString()},i})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(o){var i=a[0],l=a[1];return i<=l?o>=i&&o<=l:o>=l&&o<=i},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,i)=>{var l=e(o);if(l!=null){if(e.bandwidth&&i!==null&&i!==void 0&&i.position){var s=e.bandwidth();switch(i.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var rx=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Aa(t)){for(var r,n,a=0;an)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var Zm={};fU(Zm,{scaleBand:()=>Dm,scaleDiverging:()=>Lx,scaleDivergingLog:()=>NN,scaleDivergingPow:()=>Bx,scaleDivergingSqrt:()=>$I,scaleDivergingSymlog:()=>CN,scaleIdentity:()=>wx,scaleImplicit:()=>ux,scaleLinear:()=>bx,scaleLog:()=>Sx,scaleOrdinal:()=>Hd,scalePoint:()=>k6,scalePow:()=>Vm,scaleQuantile:()=>Nx,scaleQuantize:()=>Cx,scaleRadial:()=>kx,scaleSequential:()=>Dx,scaleSequentialLog:()=>AN,scaleSequentialPow:()=>Ix,scaleSequentialQuantile:()=>jx,scaleSequentialSqrt:()=>BI,scaleSequentialSymlog:()=>kN,scaleSqrt:()=>iI,scaleSymlog:()=>Ax,scaleThreshold:()=>Ex,scaleTime:()=>wN,scaleUtc:()=>SN,tickFormat:()=>$m});function In(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Yk(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function pu(e){let t,r,n;e.length!==2?(t=In,r=(l,s)=>In(e(l),s),n=(l,s)=>e(l)-s):(t=e===In||e===Yk?e:vX,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:i,right:o}}function vX(){return 0}function Tm(e){return e===null?NaN:+e}function*h6(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 x6=pu(In),b6=x6.right,gX=x6.left,yX=pu(Tm).center,wo=b6;var Fd=class extends Map{constructor(t,r=bX){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(w6(this,t))}has(t){return super.has(w6(this,t))}set(t,r){return super.set(hX(this,t),r)}delete(t){return super.delete(xX(this,t))}};function w6({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function hX({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function xX({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function bX(e){return e!==null&&typeof e=="object"?e.valueOf():e}function S6(e=In){if(e===In)return Gk;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 Gk(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var wX=Math.sqrt(50),SX=Math.sqrt(10),AX=Math.sqrt(2);function nx(e,t,r){let n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),o=n/Math.pow(10,a),i=o>=wX?10:o>=SX?5:o>=AX?2:1,l,s,u;return a<0?(u=Math.pow(10,-a)/i,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,a)*i,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=o-a+1,s=new Array(l);if(n)if(i<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 ox(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 ix(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?Gk:S6(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));ix(e,t,p,v,a)}let o=e[t],i=r,l=n;for(Pm(e,r,t),a(e[n],o)>0&&Pm(e,r,n);i0;)--l}a(e[r],o)===0?Pm(e,r,l):(++l,Pm(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Pm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function lx(e,t,r){if(e=Float64Array.from(h6(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return ox(e);if(t>=1)return ax(e);var n,a=(n-1)*t,o=Math.floor(a),i=ax(ix(e,o).subarray(0,o+1)),l=ox(e.subarray(o+1));return i+(l-i)*(a-o)}}function Xk(e,t,r=Tm){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,o=Math.floor(a),i=+r(e[o],o,e),l=+r(e[o+1],o+1,e);return i+(l-i)*(a-o)}}function sx(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,o=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?dx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?dx(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=NX.exec(e))?new ea(t[1],t[2],t[3],1):(t=CX.exec(e))?new ea(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=EX.exec(e))?dx(t[1],t[2],t[3],t[4]):(t=_X.exec(e))?dx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=OX.exec(e))?M6(t[1],t[2]/100,t[3]/100,1):(t=TX.exec(e))?M6(t[1],t[2]/100,t[3]/100,t[4]):N6.hasOwnProperty(e)?_6(N6[e]):e==="transparent"?new ea(NaN,NaN,NaN,0):null}function _6(e){return new ea(e>>16&255,e>>8&255,e&255,1)}function dx(e,t,r,n){return n<=0&&(e=t=r=NaN),new ea(e,t,r,n)}function DX(e){return e instanceof zm||(e=Vl(e)),e?(e=e.rgb(),new ea(e.r,e.g,e.b,e.opacity)):new ea}function Kd(e,t,r,n){return arguments.length===1?DX(e):new ea(e,t,r,n??1)}function ea(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}cx(ea,Kd,Zk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ea(gu(this.r),gu(this.g),gu(this.b),mx(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:O6,formatHex:O6,formatHex8:IX,formatRgb:T6,toString:T6}));function O6(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}`}function IX(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}${vu((isNaN(this.opacity)?1:this.opacity)*255)}`}function T6(){let e=mx(this.opacity);return`${e===1?"rgb(":"rgba("}${gu(this.r)}, ${gu(this.g)}, ${gu(this.b)}${e===1?")":`, ${e})`}`}function mx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function gu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vu(e){return e=gu(e),(e<16?"0":"")+e.toString(16)}function M6(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new So(e,t,r,n)}function D6(e){if(e instanceof So)return new So(e.h,e.s,e.l,e.opacity);if(e instanceof zm||(e=Vl(e)),!e)return new So;if(e instanceof So)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),i=NaN,l=o-a,s=(o+a)/2;return l?(t===o?i=(r-n)/l+(r0&&s<1?0:i,new So(i,l,s,e.opacity)}function I6(e,t,r,n){return arguments.length===1?D6(e):new So(e,t,r,n??1)}function So(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}cx(So,I6,Zk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new So(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new So(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 ea(Qk(e>=240?e-240:e+120,a,n),Qk(e,a,n),Qk(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new So(P6(this.h),fx(this.s),fx(this.l),mx(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=mx(this.opacity);return`${e===1?"hsl(":"hsla("}${P6(this.h)}, ${fx(this.s)*100}%, ${fx(this.l)*100}%${e===1?")":`, ${e})`}`}}));function P6(e){return e=(e||0)%360,e<0?e+360:e}function fx(e){return Math.max(0,Math.min(1,e||0))}function Qk(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 Jk(e,t,r,n,a){var o=e*e,i=o*e;return((1-3*e+3*o-i)*t+(4-6*o+3*i)*r+(1+3*e+3*o-3*i)*n+i*a)/6}function j6(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],o=e[n+1],i=n>0?e[n-1]:2*a-o,l=n()=>e;function jX(e,t){return function(r){return e+r*t}}function zX(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 L6(e){return(e=+e)==1?vx:function(t,r){return r-t?zX(t,r,e):Lm(isNaN(t)?r:t)}}function vx(e,t){var r=t-e;return r?jX(e,r):Lm(isNaN(e)?t:e)}var Rk=(function e(t){var r=L6(t);function n(a,o){var i=r((a=Kd(a)).r,(o=Kd(o)).r),l=r(a.g,o.g),s=r(a.b,o.b),u=vx(a.opacity,o.opacity);return function(c){return a.r=i(c),a.g=l(c),a.b=s(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);function B6(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),o=new Array(r),i,l;for(i=0;ir&&(o=t.slice(r,o),l[i]?l[i]+=o:l[++i]=o),(n=n[0])===(a=a[0])?l[i]?l[i]+=a:l[++i]=a:(l[++i]=null,s.push({i,x:Kl(n,a)})),r=eN.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function UX(e,t,r){var n=e[0],a=e[1],o=t[0],i=t[1];return a2?FX:UX,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?o:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(a((u||(u=l(t,e.map(n),Kl)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,ql),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=yu,c()},d.clamp=function(f){return arguments.length?(i=f?!0:Gr,c()):i!==Gr},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(o=f,d):o},function(f,p){return n=f,a=p,c()}}function xu(){return hu()(Gr,Gr)}function q6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function bu(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 Ko(e){return e=bu(Math.abs(e)),e?e[1]:NaN}function Y6(e,t){return function(r,n){for(var a=r.length,o=[],i=0,l=e[0],s=0;a>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),o.push(r.substring(a-=l,a+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return o.reverse().join(t)}}function G6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var WX=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function qo(e){if(!(t=WX.exec(e)))throw new Error("invalid format: "+e);var t;return new yx({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]})}qo.prototype=yx.prototype;function yx(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+""}yx.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 X6(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 Bm;function Z6(e,t){var r=bu(e,t);if(!r)return Bm=void 0,e.toPrecision(t);var n=r[0],a=r[1],o=a-(Bm=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,i=n.length;return o===i?n:o>i?n+new Array(o-i+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+bu(e,Math.max(0,t+o-1))[0]}function aN(e,t){var r=bu(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 oN={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:q6,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)=>aN(e*100,t),r:aN,s:Z6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function iN(e){return e}var Q6=Array.prototype.map,J6=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function R6(e){var t=e.grouping===void 0||e.thousands===void 0?iN:Y6(Q6.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+"",o=e.numerals===void 0?iN:G6(Q6.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d,f){d=qo(d);var p=d.fill,v=d.align,y=d.sign,h=d.symbol,m=d.zero,g=d.width,x=d.comma,b=d.precision,S=d.trim,w=d.type;w==="n"?(x=!0,w="g"):oN[w]||(b===void 0&&(b=12),S=!0,w="g"),(m||p==="0"&&v==="=")&&(m=!0,p="0",v="=");var O=(f&&f.prefix!==void 0?f.prefix:"")+(h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),k=(h==="$"?n:/[%p]/.test(w)?i:"")+(f&&f.suffix!==void 0?f.suffix:""),A=oN[w],M=/[defgprs%]/.test(w);b=b===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function W(L){var H=O,D=k,Y,N,_;if(w==="c")D=A(L)+D,L="";else{L=+L;var z=L<0||1/L<0;if(L=isNaN(L)?s:A(Math.abs(L),b),S&&(L=X6(L)),z&&+L==0&&y!=="+"&&(z=!1),H=(z?y==="("?y:l:y==="-"||y==="("?"":y)+H,D=(w==="s"&&!isNaN(L)&&Bm!==void 0?J6[8+Bm/3]:"")+D+(z&&y==="("?")":""),M){for(Y=-1,N=L.length;++Y_||_>57){D=(_===46?a+L.slice(Y+1):L.slice(Y))+D,L=L.slice(0,Y);break}}}x&&!m&&(L=t(L,1/0));var j=H.length+L.length+D.length,P=j>1)+H+L+D+P.slice(j);break;default:L=P+H+L+D;break}return o(L)}return W.toString=function(){return d+""},W}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(Ko(f)/3)))*3,v=Math.pow(10,-p),y=u((d=qo(d),d.type="f",d),{suffix:J6[8+p/3]});return function(h){return y(v*h)}}return{format:u,formatPrefix:c}}var hx,qd,xx;lN({thousands:",",grouping:[3],currency:["$",""]});function lN(e){return hx=R6(e),qd=hx.format,xx=hx.formatPrefix,hx}function sN(e){return Math.max(0,-Ko(Math.abs(e)))}function uN(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ko(t)/3)))*3-Ko(Math.abs(e)))}function cN(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ko(t)-Ko(e))+1}function $m(e,t,r,n){var a=Wd(e,t,r),o;switch(n=qo(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=uN(a,i))&&(n.precision=o),xx(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=cN(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=sN(a))&&(n.precision=o-(n.type==="%")*2);break}}return qd(n)}function jn(e){var t=e.domain;return e.ticks=function(r){var n=t();return mu(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return $m(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,o=n.length-1,i=n[a],l=n[o],s,u,c=10;for(l0;){if(u=Mm(i,l,r),u===s)return n[a]=i,n[o]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function bx(){var e=xu();return e.copy=function(){return Vo(e,bx())},sr.apply(e,arguments),jn(e)}function wx(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,ql),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return wx(e).unknown(t)},e=arguments.length?Array.from(e,ql):[0,1],jn(r)}function Um(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],o=e[n],i;return oMath.pow(e,t)}function YX(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 rI(e){return(t,r)=>-e(-t,r)}function Fm(e){let t=e(eI,tI),r=t.domain,n=10,a,o;function i(){return a=YX(n),o=qX(n),r()[0]<0?(a=rI(a),o=rI(o),e(HX,VX)):e(eI,tI),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(v=1;vc)break;m.push(y)}}else for(;f<=p;++f)for(v=n-1;v>=1;--v)if(y=f>0?v/o(-f):v*o(f),!(yc)break;m.push(y)}m.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=qo(s)).precision==null&&(s.trim=!0),s=qd(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/o(Math.round(a(c)));return d*nr(Um(r(),{floor:l=>o(Math.floor(a(l))),ceil:l=>o(Math.ceil(a(l)))})),t}function Sx(){let e=Fm(hu()).domain([1,10]);return e.copy=()=>Vo(e,Sx()).base(e.base()),sr.apply(e,arguments),e}function nI(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function aI(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Wm(e){var t=1,r=e(nI(t),aI(t));return r.constant=function(n){return arguments.length?e(nI(t=+n),aI(t)):t},jn(r)}function Ax(){var e=Wm(hu());return e.copy=function(){return Vo(e,Ax()).constant(e.constant())},sr.apply(e,arguments)}function oI(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function GX(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function XX(e){return e<0?-e*e:e*e}function Hm(e){var t=e(Gr,Gr),r=1;function n(){return r===1?e(Gr,Gr):r===.5?e(GX,XX):e(oI(r),oI(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},jn(t)}function Vm(){var e=Hm(hu());return e.copy=function(){return Vo(e,Vm()).exponent(e.exponent())},sr.apply(e,arguments),e}function iI(){return Vm.apply(null,arguments).exponent(.5)}function lI(e){return Math.sign(e)*e*e}function ZX(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function kx(){var e=xu(),t=[0,1],r=!1,n;function a(o){var i=ZX(e(o));return isNaN(i)?n:r?Math.round(i):i}return a.invert=function(o){return e.invert(lI(o))},a.domain=function(o){return arguments.length?(e.domain(o),a):e.domain()},a.range=function(o){return arguments.length?(e.range((t=Array.from(o,ql)).map(lI)),a):t.slice()},a.rangeRound=function(o){return a.range(o).round(!0)},a.round=function(o){return arguments.length?(r=!!o,a):r},a.clamp=function(o){return arguments.length?(e.clamp(o),a):e.clamp()},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return kx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},sr.apply(a,arguments),jn(a)}function Nx(){var e=[],t=[],r=[],n;function a(){var i=0,l=Math.max(1,t.length);for(r=new Array(l-1);++i0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},i.unknown=function(s){return arguments.length&&(o=s),i},i.thresholds=function(){return n.slice()},i.copy=function(){return Cx().domain([e,t]).range(a).unknown(o)},sr.apply(jn(i),arguments)}function Ex(){var e=[.5],t=[0,1],r,n=1;function a(o){return o!=null&&o<=o?t[wo(e,o,0,n)]:r}return a.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(o){var i=t.indexOf(o);return[e[i-1],e[i]]},a.unknown=function(o){return arguments.length?(r=o,a):r},a.copy=function(){return Ex().domain(e).range(t).unknown(r)},sr.apply(a,arguments)}var dN=new Date,fN=new Date;function Wt(e,t,r,n){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return a.floor=o=>(e(o=new Date(+o)),o),a.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),a.round=o=>{let i=a(o),l=a.ceil(o);return o-i(t(o=new Date(+o),i==null?1:Math.floor(i)),o),a.range=(o,i,l)=>{let s=[];if(o=a.ceil(o),l=l==null?1:Math.floor(l),!(o0))return s;let u;do s.push(u=new Date(+o)),t(o,l),e(o);while(uWt(i=>{if(i>=i)for(;e(i),!o(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!o(i););else for(;--l>=0;)for(;t(i,1),!o(i););}),r&&(a.count=(o,i)=>(dN.setTime(+o),fN.setTime(+i),e(dN),e(fN),Math.floor(r(dN,fN))),a.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(n?i=>n(i)%o===0:i=>a.count(0,i)%o===0):a)),a}var Km=Wt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Km.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Wt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Km);var lwe=Km.range;var Qa=Wt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),sI=Qa.range;var Yd=Wt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),QX=Yd.range,Gd=Wt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),JX=Gd.range;var Xd=Wt(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()),RX=Xd.range,Zd=Wt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),eZ=Zd.range;var Di=Wt(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),tZ=Di.range,Au=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),rZ=Au.range,_x=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),nZ=_x.range;function ku(e){return Wt(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 Ii=ku(0),Qd=ku(1),cI=ku(2),dI=ku(3),Yl=ku(4),fI=ku(5),pI=ku(6),mI=Ii.range,aZ=Qd.range,oZ=cI.range,iZ=dI.range,lZ=Yl.range,sZ=fI.range,uZ=pI.range;function Nu(e){return Wt(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 ji=Nu(0),Jd=Nu(1),vI=Nu(2),gI=Nu(3),Gl=Nu(4),yI=Nu(5),hI=Nu(6),xI=ji.range,cZ=Jd.range,dZ=vI.range,fZ=gI.range,pZ=Gl.range,mZ=yI.range,vZ=hI.range;var Rd=Wt(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()),gZ=Rd.range,ef=Wt(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()),yZ=ef.range;var Na=Wt(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());Na.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(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 hZ=Na.range,Ca=Wt(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());Ca.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(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 xZ=Ca.range;function wI(e,t,r,n,a,o){let i=[[Qa,1,1e3],[Qa,5,5*1e3],[Qa,15,15*1e3],[Qa,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,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=ch).right(i,f);if(p===i.length)return e.every(Wd(u/31536e6,c/31536e6,d));if(p===0)return Km.every(Math.max(Wd(u,c,d),1));let[v,y]=i[f/i[p-1][2]53)return null;"w"in I||(I.w=1),"Z"in I?(T=hN(Ym(I.y,0,1)),X=T.getUTCDay(),T=X>4||X===0?Jd.ceil(T):Jd(T),T=Au.offset(T,(I.V-1)*7),I.y=T.getUTCFullYear(),I.m=T.getUTCMonth(),I.d=T.getUTCDate()+(I.w+6)%7):(T=yN(Ym(I.y,0,1)),X=T.getDay(),T=X>4||X===0?Qd.ceil(T):Qd(T),T=Di.offset(T,(I.V-1)*7),I.y=T.getFullYear(),I.m=T.getMonth(),I.d=T.getDate()+(I.w+6)%7)}else("W"in I||"U"in I)&&("w"in I||(I.w="u"in I?I.u%7:"W"in I?1:0),X="Z"in I?hN(Ym(I.y,0,1)).getUTCDay():yN(Ym(I.y,0,1)).getDay(),I.m=0,I.d="W"in I?(I.w+6)%7+I.W*7-(X+5)%7:I.w+I.U*7-(X+6)%7);return"Z"in I?(I.H+=I.Z/100|0,I.M+=I.Z%100,hN(I)):yN(I)}}function k(le,Te,K,I){for(var C=0,T=Te.length,X=K.length,$,Ne;C=X)return-1;if($=Te.charCodeAt(C++),$===37){if($=Te.charAt(C++),Ne=S[$ in SI?Te.charAt(C++):$],!Ne||(I=Ne(le,K,I))<0)return-1}else if($!=K.charCodeAt(I++))return-1}return I}function A(le,Te,K){var I=u.exec(Te.slice(K));return I?(le.p=c.get(I[0].toLowerCase()),K+I[0].length):-1}function M(le,Te,K){var I=p.exec(Te.slice(K));return I?(le.w=v.get(I[0].toLowerCase()),K+I[0].length):-1}function W(le,Te,K){var I=d.exec(Te.slice(K));return I?(le.w=f.get(I[0].toLowerCase()),K+I[0].length):-1}function L(le,Te,K){var I=m.exec(Te.slice(K));return I?(le.m=g.get(I[0].toLowerCase()),K+I[0].length):-1}function H(le,Te,K){var I=y.exec(Te.slice(K));return I?(le.m=h.get(I[0].toLowerCase()),K+I[0].length):-1}function D(le,Te,K){return k(le,t,Te,K)}function Y(le,Te,K){return k(le,r,Te,K)}function N(le,Te,K){return k(le,n,Te,K)}function _(le){return i[le.getDay()]}function z(le){return o[le.getDay()]}function j(le){return s[le.getMonth()]}function P(le){return l[le.getMonth()]}function B(le){return a[+(le.getHours()>=12)]}function R(le){return 1+~~(le.getMonth()/3)}function F(le){return i[le.getUTCDay()]}function G(le){return o[le.getUTCDay()]}function ee(le){return s[le.getUTCMonth()]}function fe(le){return l[le.getUTCMonth()]}function de(le){return a[+(le.getUTCHours()>=12)]}function De(le){return 1+~~(le.getUTCMonth()/3)}return{format:function(le){var Te=w(le+="",x);return Te.toString=function(){return le},Te},parse:function(le){var Te=O(le+="",!1);return Te.toString=function(){return le},Te},utcFormat:function(le){var Te=w(le+="",b);return Te.toString=function(){return le},Te},utcParse:function(le){var Te=O(le+="",!0);return Te.toString=function(){return le},Te}}}var SI={"-":"",_:" ",0:"0"},sn=/^\s*\d+/,wZ=/^%/,SZ=/[\\^$*+?|[\]().{}]/g;function _t(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",o=a.length;return n+(o[t.toLowerCase(),r]))}function kZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function NZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function CZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function EZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function _Z(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function AI(e,t,r){var n=sn.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function kI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function OZ(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 TZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function MZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function NI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function PZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function CI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function DZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function IZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function jZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function zZ(e,t,r){var n=sn.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function LZ(e,t,r){var n=wZ.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function BZ(e,t,r){var n=sn.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function $Z(e,t,r){var n=sn.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function EI(e,t){return _t(e.getDate(),t,2)}function UZ(e,t){return _t(e.getHours(),t,2)}function FZ(e,t){return _t(e.getHours()%12||12,t,2)}function WZ(e,t){return _t(1+Di.count(Na(e),e),t,3)}function PI(e,t){return _t(e.getMilliseconds(),t,3)}function HZ(e,t){return PI(e,t)+"000"}function VZ(e,t){return _t(e.getMonth()+1,t,2)}function KZ(e,t){return _t(e.getMinutes(),t,2)}function qZ(e,t){return _t(e.getSeconds(),t,2)}function YZ(e){var t=e.getDay();return t===0?7:t}function GZ(e,t){return _t(Ii.count(Na(e)-1,e),t,2)}function DI(e){var t=e.getDay();return t>=4||t===0?Yl(e):Yl.ceil(e)}function XZ(e,t){return e=DI(e),_t(Yl.count(Na(e),e)+(Na(e).getDay()===4),t,2)}function ZZ(e){return e.getDay()}function QZ(e,t){return _t(Qd.count(Na(e)-1,e),t,2)}function JZ(e,t){return _t(e.getFullYear()%100,t,2)}function RZ(e,t){return e=DI(e),_t(e.getFullYear()%100,t,2)}function eQ(e,t){return _t(e.getFullYear()%1e4,t,4)}function tQ(e,t){var r=e.getDay();return e=r>=4||r===0?Yl(e):Yl.ceil(e),_t(e.getFullYear()%1e4,t,4)}function rQ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+_t(t/60|0,"0",2)+_t(t%60,"0",2)}function _I(e,t){return _t(e.getUTCDate(),t,2)}function nQ(e,t){return _t(e.getUTCHours(),t,2)}function aQ(e,t){return _t(e.getUTCHours()%12||12,t,2)}function oQ(e,t){return _t(1+Au.count(Ca(e),e),t,3)}function II(e,t){return _t(e.getUTCMilliseconds(),t,3)}function iQ(e,t){return II(e,t)+"000"}function lQ(e,t){return _t(e.getUTCMonth()+1,t,2)}function sQ(e,t){return _t(e.getUTCMinutes(),t,2)}function uQ(e,t){return _t(e.getUTCSeconds(),t,2)}function cQ(e){var t=e.getUTCDay();return t===0?7:t}function dQ(e,t){return _t(ji.count(Ca(e)-1,e),t,2)}function jI(e){var t=e.getUTCDay();return t>=4||t===0?Gl(e):Gl.ceil(e)}function fQ(e,t){return e=jI(e),_t(Gl.count(Ca(e),e)+(Ca(e).getUTCDay()===4),t,2)}function pQ(e){return e.getUTCDay()}function mQ(e,t){return _t(Jd.count(Ca(e)-1,e),t,2)}function vQ(e,t){return _t(e.getUTCFullYear()%100,t,2)}function gQ(e,t){return e=jI(e),_t(e.getUTCFullYear()%100,t,2)}function yQ(e,t){return _t(e.getUTCFullYear()%1e4,t,4)}function hQ(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Gl(e):Gl.ceil(e),_t(e.getUTCFullYear()%1e4,t,4)}function xQ(){return"+0000"}function OI(){return"%"}function TI(e){return+e}function MI(e){return Math.floor(+e/1e3)}var tf,Ox,zI,Tx,LI;bN({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 bN(e){return tf=xN(e),Ox=tf.format,zI=tf.parse,Tx=tf.utcFormat,LI=tf.utcParse,tf}function bQ(e){return new Date(e)}function wQ(e){return e instanceof Date?+e:+new Date(+e)}function Mx(e,t,r,n,a,o,i,l,s,u){var c=xu(),d=c.invert,f=c.domain,p=u(".%L"),v=u(":%S"),y=u("%I:%M"),h=u("%I %p"),m=u("%a %d"),g=u("%b %d"),x=u("%B"),b=u("%Y");function S(w){return(s(w)t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,o)=>lx(e,o/n))},r.copy=function(){return jx(t).domain(e)},Za.apply(r,arguments)}function zx(){var e=0,t=.5,r=1,n=1,a,o,i,l,s,u=Gr,c,d=!1,f;function p(y){return isNaN(y=+y)?f:(y=.5+((y=+c(y))-o)*(n*y{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 kQ(n)?n:"point"}};function NQ(e,t){for(var r=0,n=e.length,a=e[0]t)?r=o+1:n=o}return r}function Ux(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var i;return(i=e(o))!==null&&i!==void 0?i:0}),a=e.range();if(!(r.length===0||a.length<2))return o=>{var i,l,s=NQ(n,o);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(i=n[s-1])!==null&&i!==void 0?i:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(o-u)<=Math.abs(o-c)?r[s-1]:r[s]}}}function FI(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):Ux(e,void 0)}function WI(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 Fx(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Go=(e,t)=>{var r=_N(e,t);return r??Mr},Pr={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:EN,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:eu},ON=(e,t)=>e.cartesianAxis.yAxis[t],Xo=(e,t)=>{var r=ON(e,t);return r??Pr},DQ={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:""},TN=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??DQ},ur=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"zAxis":return TN(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},IQ=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Cu=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},MN=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function Rm(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 Xl=e=>e.graphicalItems.cartesianItems,jQ=J([nr,cu],Rm),ev=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),nf=J([Xl,ur,jQ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),qI=J([nf],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(du)),PN=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),zQ=J([nf],PN),tv=e=>e.map(t=>t.data).filter(Boolean).flat(1),LQ=J([nf],e=>e.some(t=>!t.data)),YI=J([nf],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),rv=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(a,o+1)},DN=J([YI,lu],rv),IN=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:Qe(a,n)}))):e.map(n=>({value:n})),jN=(e,t,r,n,a,o)=>{var i=n.chartData,l=i===void 0?[]:i,s=n.dataStartIndex,u=n.dataEndIndex,c=IN(e,t,r);if(a&&t?.dataKey!=null&&o.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:Qe(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},nv=J([DN,ur,nf,lu,LQ,YI],jN);function rf(e){if(Mn(e)||e instanceof Date){var t=Number(e);if(He(t))return t}}function VI(e){if(Array.isArray(e)){var t=[rf(e[0]),rf(e[1])];return Aa(t)?t:void 0}var r=rf(e);if(r!=null)return[r,r]}function Ao(e){return e.map(rf).filter(Yr)}function BQ(e,t){var r=rf(e),n=rf(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var $Q=J([nv],e=>e?.map(t=>t.value).sort(BQ));function GI(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function UQ(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!nn(t))n=t;else if(Array.isArray(t)){var a=Ao(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:Ao(r.flatMap(o=>{var i=Qe(e,o.dataKey),l,s;if(Array.isArray(i)){var u=KI(i,2);l=u[0],s=u[1]}else l=s=i;if(!(!He(l)||!He(s)))return[n-l,n+s]}))}var Dr=e=>{var t=Tr(e),r=Hl(e);return Cu(e,t,r)},Li=J([Dr],e=>e?.dataKey),FQ=J([qI,lu,Dr],tx),zN=(e,t,r,n)=>{var a={},o=t.reduce((i,l)=>{if(l.stackId==null)return i;var s=i[l.stackId];return s==null&&(s=[]),s.push(l),i[l.stackId]=s,i},a);return Object.fromEntries(Object.entries(o).map(i=>{var l=KI(i,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(Wl);return[s,{stackedData:lD(e,d,r),graphicalItems:c}]}))},af=J([FQ,qI,Ul,Y0],zN),LN=(e,t,r,n)=>{var a=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return uD(e,a,o)},WQ=J([ur],e=>e.allowDataOverflow),Wx=e=>{var t;if(e==null||!("domain"in e))return EN;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ao(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:EN},Hx=J([ur],Wx),Vx=J([Hx,WQ],W0),HQ=J([af,Rn,nr,Vx],LN,{memoizeOptions:{resultEqualityCheck:fu}}),of=e=>e.errorBars,VQ=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>GI(r,n)),Jm=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,s;if(n.length>0&&n.forEach(u=>{var c,d=u.data!=null?[...u.data]:i,f=(c=a[u.id])===null||c===void 0?void 0:c.filter(p=>GI(o,p));d.forEach(p=>{var v,y=Qe(p,(v=r.dataKey)!==null&&v!==void 0?v:u.dataKey),h=UQ(p,y,f);if(h.length>=2){var m=Math.min(...h),g=Math.max(...h);(l==null||ms)&&(s=g)}var x=VI(y);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=VI(Qe(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]))}),He(l)&&He(s))return[l,s]},KQ=J([DN,ur,zQ,of,nr,J8],av,{memoizeOptions:{resultEqualityCheck:fu}});function qQ(e){var t=e.value;if(Mn(t)||t instanceof Date)return t}var YQ=(e,t,r)=>{var n=e.map(qQ).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&lA(n))?U0(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},BN=e=>e.referenceElements.dots,Eu=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),GQ=J([BN,nr,cu],Eu),$N=e=>e.referenceElements.areas,XQ=J([$N,nr,cu],Eu),UN=e=>e.referenceElements.lines,ZQ=J([UN,nr,cu],Eu),FN=(e,t)=>{if(e!=null){var r=Ao(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},QQ=J(GQ,nr,FN),WN=(e,t)=>{if(e!=null){var r=Ao(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)]}},JQ=J([XQ,nr],WN);function RQ(e){var t;if(e.x!=null)return Ao([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ao(r)}function eJ(e){var t;if(e.y!=null)return Ao([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ao(r)}var HN=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?RQ(n):eJ(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},tJ=J([ZQ,nr],HN),rJ=J(QQ,tJ,JQ,(e,t,r)=>Jm(e,r,t)),ov=(e,t,r,n,a,o,i,l,s)=>{if(r!=null)return r;var u=i==="vertical"&&l==="xAxis"||i==="horizontal"&&l==="yAxis",c=u?Jm(n,o,a):Jm(o,a),d=n6(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},nJ=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=Ao(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},aJ=J([ur],nJ,{memoizeOptions:{resultEqualityCheck:fu}}),oJ=J([ur,Hx,Vx,HQ,KQ,rJ,qe,nr,aJ],ov,{memoizeOptions:{resultEqualityCheck:fu}}),iJ=[0,1],iv=(e,t,r,n,a,o,i)=>{if(!((e==null||r==null||r.length===0)&&i===void 0)){var l=e.dataKey,s=e.type,u=wn(t,o);if(u&&l==null){var c;return U0(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?YQ(n,e,u):a==="expand"&&!u?iJ:i}},VN=J([ur,qe,DN,nv,Ul,nr,oJ],iv),Bi=J([ur,MN,$d],$x),lv=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=Wx(t),o=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Aa(e)){if(o)return V0(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return K0(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Aa(e))return V0(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Aa(e))return K0(e,t.tickCount,t.allowDecimals,"adaptive")}}},KN=J([VN,Cu,Bi],lv),sv=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&Aa(t)&&Array.isArray(r)&&r.length>0){var a,o,i=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,s=t[1],u=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(i,l),Math.max(s,u)]}return t},lJ=J([ur,VN,KN,nr],sv),sJ=J(nv,ur,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ao(e.map(d=>d.value))).sort((d,f)=>d-f),a=n[0],o=n[n.length-1];if(a==null||o==null)return 1/0;var i=o-a;if(i===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!He(e))return 0;var o=t==="vertical"?n.height:n.width;if(a==="gap")return e*o/2;if(a==="no-gap"){var i=vr(r,e*o),l=e*o/2;return l-i-(l-i)/o*i}return 0}),uJ=(e,t,r)=>{var n=Go(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"xAxis",t,r,n.padding)},cJ=(e,t,r)=>{var n=Xo(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"yAxis",t,r,n.padding)},dJ=J(Go,uJ,(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}}),fJ=J(Xo,cJ,(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}}),qN=J([jt,dJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a)=>{var o=n.padding;return a?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),YN=J([jt,qe,fJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a,o)=>{var i=a.padding;return o?[n.height-i.bottom,i.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),lf=(e,t,r,n)=>{var a;switch(t){case"xAxis":return qN(e,r,n);case"yAxis":return YN(e,r,n);case"zAxis":return(a=TN(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return Kk(e);case"radiusAxis":return qk(e,r);default:return}},ZI=J([ur,lf],su),pJ=J([Bi,lJ],rx),GN=J([ur,Bi,pJ,ZI],Qm),XN=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,o=r.scale,i=wn(e,n);if(i&&(a==="number"||o!=="auto"))return t.map(l=>l.value)}},ZN=J([qe,nv,Cu,nr],XN),Kx=J([GN],Om),T2e=J([GN],FI),M2e=J([GN,$Q],Ux),P2e=J([nf,of,nr],VQ);function QI(e,t){return e.idt.id?1:0}var qx=(e,t)=>t,Yx=(e,t,r)=>r,mJ=J(Ed,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),vJ=J(_d,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),JI=(e,t)=>{var r=typeof t.height=="number"?t.height:hm;return{width:e.width,height:r}},gJ=(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}},QN=J(jt,Go,JI),yJ=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},hJ=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},xJ=J(ln,jt,mJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=JI(t,l);i==null&&(i=yJ(t,n,e));var u=n==="top"&&!a||n==="bottom"&&a;o[l.id]=i-Number(u)*s.height,i+=(u?-1:1)*s.height}),o}),bJ=J(on,jt,vJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=gJ(t,l);i==null&&(i=hJ(t,n,e));var u=n==="left"&&!a||n==="right"&&a;o[l.id]=i-Number(u)*s.width,i+=(u?-1:1)*s.width}),o}),wJ=(e,t)=>{var r=Go(e,t);if(r!=null)return xJ(e,r.orientation,r.mirror)},RI=J([jt,Go,wJ,(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}}}),SJ=(e,t)=>{var r=Xo(e,t);if(r!=null)return bJ(e,r.orientation,r.mirror)},ej=J([jt,Xo,SJ,(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}}}),JN=J(jt,Xo,(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}}),RN=(e,t,r)=>{switch(t){case"xAxis":return QN(e,r).width;case"yAxis":return JN(e,r).height;default:return}},eC=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,o=r.type,i=r.dataKey,l=wn(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(i&&l&&o==="category"&&a&&lA(u))return s}},tC=J([qe,nv,ur,nr],eC),rC=J([qe,IQ,Bi,Kx,tC,ZN,lf,KN,nr],(e,t,r,n,a,o,i,l,s)=>{if(t!=null){var u=wn(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:o,duplicateDomain:a,isCategorical:u,niceTicks:l,range:i,realScaleType:r,scale:n}}}),AJ=(e,t,r,n,a,o,i,l,s)=>{if(!(t==null||n==null)){var u=wn(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"&&o!=null&&o.length>=2?Ft(o[0]-o[1])*2*v:v;var y=d||a;return y?y.map((h,m)=>{var g=i?i.indexOf(h):h,x=n.map(g);return He(x)?{index:m,coordinate:x+v,value:h,offset:v}:null}).filter(Yr):u&&l?l.map((h,m)=>{var g=n.map(h);return He(g)?{coordinate:g+v,value:h,index:m,offset:v}:null}).filter(Yr):n.ticks?n.ticks(f).map((h,m)=>{var g=n.map(h);return He(g)?{coordinate:g+v,value:h,index:m,offset:v}:null}).filter(Yr):n.domain().map((h,m)=>{var g=n.map(h);return He(g)?{coordinate:g+v,value:i?i[h]:h,index:m,offset:v}:null}).filter(Yr)}},Gx=J([qe,Cu,Bi,Kx,KN,lf,tC,ZN,nr],AJ),kJ=(e,t,r,n,a,o,i)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=wn(e,i),s=t.tickCount,u=0;return u=i==="angleAxis"&&n?.length>=2?Ft(n[0]-n[1])*2*u:u,l&&o?o.map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.domain().map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:a?a[c]:c,index:d,offset:u}:null}).filter(Yr)}},Ea=J([qe,Cu,Kx,lf,tC,ZN,nr],kJ),_a=J(ur,Kx,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),NJ=J([ur,Bi,VN,ZI],Qm),CJ=J([NJ],Om),D2e=J((e,t,r)=>TN(e,r),CJ,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),tj=J([qe,Ed,_d],(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}}),EJ=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},I2e=J([EJ],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var o of e){var i=Math.abs(o.coordinate-t);ie.options.defaultTooltipEventType,aC=e=>e.options.validateTooltipEventTypes;function oC(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Zl(e,t){var r=nC(e),n=aC(e);return oC(t,r,n)}function rj(e){return we(t=>Zl(t,e))}var Xx=(e,t)=>{var r,n=Number(t);if(!(nn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var nj=e=>e.tooltip.settings;var $i={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},_J={itemInteraction:{click:$i,hover:$i},axisInteraction:{click:$i,hover:$i},keyboardInteraction:$i,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}},aj=Ct({name:"tooltip",initialState:_J,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(tt(t.payload))},prepare:Pt()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).tooltipItemPayloads.indexOf(tt(n));o>-1&&(e.tooltipItemPayloads[o]=tt(a))},prepare:Pt()},removeTooltipEntrySettings:{reducer(e,t){var r=yn(e).tooltipItemPayloads.indexOf(tt(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Pt()},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}}}),Ja=aj.actions,oj=Ja.addTooltipEntrySettings,ij=Ja.replaceTooltipEntrySettings,lj=Ja.removeTooltipEntrySettings,sj=Ja.setTooltipSettingsState,Zx=Ja.setActiveMouseOverItemIndex,uj=Ja.mouseLeaveItem,Qx=Ja.mouseLeaveChart,cj=Ja.setActiveClickItemIndex,Jx=Ja.setMouseOverAxisIndex,dj=Ja.setMouseClickAxisIndex,sf=Ja.setSyncInteraction,uv=Ja.setKeyboardInteraction;var fj=aj.reducer;function pj(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 Rx(e){for(var t=1;t{if(t==null)return $i;var a=PJ(e,t,r);if(a==null)return $i;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(DJ(a)){if(o)return Rx(Rx({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Rx(Rx({},$i),{},{coordinate:a.coordinate})};function IJ(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 jJ(e,t){var r=IJ(e),n=t[0],a=t[1];if(r===void 0)return!1;var o=Math.min(n,a),i=Math.max(n,a);return r>=o&&r<=i}function zJ(e,t,r){if(r==null||t==null)return!0;var n=Qe(e,t);return n==null||!Aa(r)?!0:jJ(n,r)}var Ql=(e,t,r,n)=>{var a=e?.index;if(a==null)return null;var o=Number(a);if(!He(o))return a;var i=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(i,Math.min(o,l)),u=t[s];return u==null||zJ(u,r,n)?String(s):null};var tb=(e,t,r,n,a,o,i)=>{if(o!=null){var l=i[0],s=l?.getPosition(o);if(s!=null)return s;var u=a?.[Number(o)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var rb=(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 o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(i=>{var l;return((l=i.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})};var nb=e=>e.options.tooltipPayloadSearcher;var Ui=e=>e.tooltip;function mj(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 vj(e){for(var t=1;te(t)}function gj(e){if(typeof e=="string")return e}function HJ(e){if(!(e==null||typeof e!="object")){var t="name"in e?UJ(e.name):void 0,r="unit"in e?FJ(e.unit):void 0,n="dataKey"in e?WJ(e.dataKey):void 0,a="payload"in e?e.payload:void 0,o="color"in e?gj(e.color):void 0,i="fill"in e?gj(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:o,fill:i}}}function VJ(e,t){return e??t}var ab=(e,t,r,n,a,o,i)=>{if(!(t==null||o==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var v,y=p.dataDefinedOnItem,h=p.settings,m=VJ(y,l),g=Array.isArray(m)?d0(m,u,c):m,x=(v=h?.dataKey)!==null&&v!==void 0?v:n,b=h?.nameKey,S;if(n&&Array.isArray(g)&&!Array.isArray(g[0])&&i==="axis"?(S=Qy(g,n,a),S==null&&(S=o(g,t,s,b))):S=o(g,t,s,b),Array.isArray(S))S.forEach(O=>{var k,A,M=HJ(O),W=M?.name,L=M?.dataKey,H=M?.payload,D=vj(vj({},h),{},{name:W,unit:M?.unit,color:(k=M?.color)!==null&&k!==void 0?k:h?.color,fill:(A=M?.fill)!==null&&A!==void 0?A:h?.fill});f.push(bk({tooltipEntrySettings:D,dataKey:L,payload:H,value:Qe(H,L),name:W==null?void 0:String(W)}))});else{var w;f.push(bk({tooltipEntrySettings:h,dataKey:x,payload:S,value:Qe(S,x),name:(w=Qe(S,b))!==null&&w!==void 0?w:h?.name}))}return f},d)}};var iC=J([Dr,MN,$d],$x),KJ=J([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),qJ=J([Tr,Hl],Rm),Jl=J([KJ,Dr,qJ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),YJ=J([Jl],e=>e.filter(du)),yj=J([Jl],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),GJ=J([Jl],e=>e.some(t=>!t.data)),Fi=J([yj,Rn],rv),XJ=J([YJ,Rn,Dr],tx),lC=J([Fi,Dr,Jl,Rn,GJ,yj],jN),hj=J([Dr],Wx),ZJ=J([Dr],e=>e.allowDataOverflow),xj=J([hj,ZJ],W0),QJ=J([Jl],e=>e.filter(du)),JJ=J([XJ,QJ,Ul,Y0],zN),RJ=J([JJ,Rn,Tr,xj],LN),eR=J([Jl],PN),tR=J([Fi,Dr,eR,of,Tr,e6],av,{memoizeOptions:{resultEqualityCheck:fu}}),rR=J([BN,Tr,Hl],Eu),nR=J([rR,Tr],FN),aR=J([$N,Tr,Hl],Eu),oR=J([aR,Tr],WN),iR=J([UN,Tr,Hl],Eu),lR=J([iR,Tr],HN),sR=J([nR,lR,oR],Jm),uR=J([Dr,hj,xj,RJ,tR,sR,qe,Tr],ov),Rl=J([Dr,qe,Fi,lC,Ul,Tr,uR],iv),cR=J([Rl,Dr,iC],lv),dR=J([Dr,Rl,cR,Tr],sv),bj=e=>{var t=Tr(e),r=Hl(e),n=!1;return lf(e,t,r,n)},sC=J([Dr,bj],su),fR=J([Dr,iC,dR,sC],Qm),uC=J([fR],Om),pR=J([qe,lC,Dr,Tr],eC),mR=J([qe,lC,Dr,Tr],XN),vR=(e,t,r,n,a,o,i,l)=>{if(t){var s=t.type,u=wn(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?Ft(a[0]-a[1])*2*d:d,u&&i?i.map((f,p)=>{var v=n.map(f);return He(v)?{coordinate:v+d,value:f,index:p,offset:d}:null}).filter(Yr):n.domain().map((f,p)=>{var v=n.map(f);return He(v)?{coordinate:v+d,value:o?o[f]:f,index:p,offset:d}:null}).filter(Yr)}}},ta=J([qe,Dr,iC,uC,bj,pR,mR,Tr],vR),cC=J([nC,aC,nj],(e,t,r)=>oC(r.shared,e,t)),wj=e=>e.tooltip.settings.trigger,dC=e=>e.tooltip.settings.defaultIndex,cv=J([Ui,cC,wj,dC],eb),Ra=J([cv,Fi,Li,Rl],Ql),ob=J([ta,Ra],Xx),uf=J([cv],e=>{if(e)return e.dataKey}),ib=J([cv],e=>{if(e)return e.graphicalItemId}),Sj=J([Ui,cC,wj,dC],rb),gR=J([on,ln,qe,jt,ta,dC,Sj],tb),fC=J([cv,gR],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),pC=J([cv],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),yR=J([Sj,Ra,Rn,Li,ob,nb,cC],ab),Aj=J([yR],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function kj(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 Nj(e){for(var t=1;twe(Dr),Cj=()=>{var e=wR(),t=we(ta),r=we(uC);return!e||!r?Ya(void 0,t):Ya(Nj(Nj({},e),{},{scale:r}),t)};function Ej(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 cf(e){for(var t=1;t{var a=t.find(o=>o&&o.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}},Oj=(e,t,r,n)=>{var a=t.find(u=>u&&u.index===r);if(a){if(e==="centric"){var o=a.coordinate,i=n.radius;return cf(cf(cf({},n),qt(n.cx,n.cy,i,o)),{},{angle:o,radius:i})}var l=a.coordinate,s=n.angle;return cf(cf(cf({},n),qt(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 Tj(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 mC=(e,t,r,n,a)=>{var o,i=(o=t?.length)!==null&&o!==void 0?o:0;if(i<=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=(Y,N,_)=>[e,e+l,e-l].some(z=>(_?z>=Y:z>Y)&&z<=N),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[i-1])===null||d===void 0?void 0:d.coordinate,h=(f=r[u])===null||f===void 0?void 0:f.coordinate,m=u>=i-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(!(y==null||h==null||m==null))if(Ft(h-y)!==Ft(m-h)){var x=[];if(Ft(m-h)===Ft(a[1]-a[0])){g=m;var b=h+a[1]-a[0];x[0]=Math.min(b,(b+y)/2),x[1]=Math.max(b,(b+y)/2)}else{g=y;var S=m+a[1]-a[0];x[0]=Math.min(h,(S+h)/2),x[1]=Math.max(h,(S+h)/2)}var w=[Math.min(h,(g+h)/2),Math.max(h,(g+h)/2)];if(s(w[0],w[1],!1)||s(x[0],x[1],!0)){var O;return(O=r[u])===null||O===void 0?void 0:O.index}}else{var k=Math.min(y,m),A=Math.max(y,m);if(s((k+h)/2,(A+h)/2,!1)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}}else if(t)for(var W=0;W(L.coordinate+D.coordinate)/2||W>0&&W(L.coordinate+D.coordinate)/2&&e<=(L.coordinate+H.coordinate)/2)return L.index}}return-1};var lb=()=>we($d),vC=(e,t)=>t,Mj=(e,t,r)=>r,gC=(e,t,r,n)=>n,Pj=J(ta,e=>Oi(e,t=>t.coordinate)),yC=J([Ui,vC,Mj,gC],eb),hC=J([yC,Fi,Li,Rl],Ql),Dj=(e,t,r)=>{if(t!=null){var n=Ui(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Ij=J([Ui,vC,Mj,gC],rb),dv=J([on,ln,qe,jt,ta,gC,Ij],tb),jj=J([yC,dv],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),xC=J([ta,hC],Xx),zj=J([Ij,hC,Rn,Li,xC,nb,vC],ab),Lj=J([yC,hC],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),NR=(e,t,r,n,a,o,i)=>{if(!(!e||!r||!n||!a)&&Tj(e,i)){var l=cD(e,t),s=mC(l,o,a,r,n),u=_j(t,a,s,e);return{activeIndex:String(s),activeCoordinate:u}}},CR=(e,t,r,n,a,o,i)=>{if(!(!e||!n||!a||!o||!r)){var l=U8(e,r);if(l){var s=dD(l,t),u=mC(s,i,o,n,a),c=Oj(t,o,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},Bj=(e,t,r,n,a,o,i,l)=>{if(!(!e||!t||!n||!a||!o))return t==="horizontal"||t==="vertical"?NR(e,t,n,a,o,i,l):CR(e,t,r,n,a,o,i)};var df=te(ne()),Gj=te(rp());var $j=J(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),Uj=J(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:y6}});function Fj(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 Wj(e){for(var t=1;tWj(Wj({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),TR)},PR=new Set(Object.values(dt));function DR(e){return PR.has(e)}var Hj=Ct({name:"zIndex",initialState:MR,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:Pt()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!DR(r)&&delete e.zIndexMap[r])},prepare:Pt()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=tt(a):e.zIndexMap[n].element=tt(a):e.zIndexMap[n]={consumers:0,element:o?void 0:tt(a),panoramaElement:o?tt(a):void 0}},prepare:Pt()},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:Pt()}}}),sb=Hj.actions,Vj=sb.registerZIndexPortal,ub=sb.unregisterZIndexPortal,Kj=sb.registerZIndexPortalElement,qj=sb.unregisterZIndexPortalElement;var Yj=Hj.reducer;function Yt(e){var t=e.zIndex,r=e.children,n=CD(),a=n&&t!==void 0&&t!==0,o=Et(),i=(0,df.useRef)(void 0),l=(0,df.useRef)(new Set),s=Ve(),u=we(d=>$j(d,t,o));if((0,df.useLayoutEffect)(()=>{if(!a){var d=l.current;d.forEach(p=>{s(ub({zIndex:p}))}),d.clear(),i.current=void 0;return}if(l.current.has(t)||(s(Vj({zIndex:t})),l.current.add(t)),u){i.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(ub({zIndex:p})),f.delete(p))})}},[s,t,a,u]),(0,df.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(ub({zIndex:f}))}),d.clear()}},[s]),!a)return r;var c=u??i.current;return c?(0,Gj.createPortal)(r,c):null}function bC(){return bC=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,fb.useContext)(wC);var pv=te(ne());var ez=te(Rj(),1);var tz=ez.default;var pf=new tz;var mb="recharts.syncEvent.tooltip",AC="recharts.syncEvent.brush";var es=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!nn(r))return e[r]}},FR={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},rz=Ct({name:"options",initialState:FR,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),nz=rz.reducer,az=rz.actions.createEventEmitter;function oz(e){return e.tooltip.syncInteraction}var WR={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},iz=Ct({name:"chartData",initialState:WR,reducers:{setChartData(e,t){if(e.chartData=tt(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)}}}),kC=iz.actions,NC=kC.setChartData,lz=kC.setDataStartEndIndexes,HR=kC.setComputedData;var sz=iz.reducer;var VR=["x","y"];function uz(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 mf(e){for(var t=1;ts.rootProps.className);(0,pv.useEffect)(()=>{if(e==null)return Pn;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var f;if(i&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,v=p.x,y=p.y,h=GR(p,VR),m=c.payload.sourceViewBox,g=m.x,x=m.y,b=m.width,S=m.height,w=mf(mf({},h),{},{x:i.x+(b?(v-g)/b:0)*i.width,y:i.y+(S?(y-x)/S:0)*i.height});r(mf(mf({},c),{},{payload:mf(mf({},c.payload),{},{coordinate:w})}))}else r(c);return}if(a!=null){var O;if(typeof n=="function"){var k={activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate},A=n(a,k);O=a[A]}else n==="value"&&(O=a.find(_=>String(_.value)===c.payload.label));var M=c.payload.coordinate;if(M==null||i==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(O==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var W=M.x,L=M.y,H=Math.min(W,i.x+i.width),D=Math.min(L,i.y+i.height),Y={x:o==="horizontal"?O.coordinate:H,y:o==="horizontal"?D:O.coordinate},N=sf({active:c.payload.active,coordinate:Y,dataKey:c.payload.dataKey,index:String(O.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(N)}}};return pf.on(mb,s),()=>{pf.off(mb,s)}},[l,r,t,e,n,a,o,i])}function QR(){var e=we(G0),t=we(X0),r=Ve();(0,pv.useEffect)(()=>{if(e==null)return Pn;var n=(a,o,i)=>{t!==i&&e===a&&r(lz(o))};return pf.on(AC,n),()=>{pf.off(AC,n)}},[r,t,e])}function cz(){var e=Ve();(0,pv.useEffect)(()=>{e(az())},[e]),ZR(),QR()}function dz(e,t,r,n,a,o){var i=we(v=>Dj(v,e,t)),l=we(ib),s=we(X0),u=we(G0),c=we(Hk),d=we(oz),f=d?.sourceViewBox!=null,p=nu();(0,pv.useEffect)(()=>{if(!f&&u!=null&&s!=null){var v=sf({active:o,coordinate:r,dataKey:i,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});pf.emit(mb,u,v,s)}},[f,r,i,l,a,n,s,u,c,o,p])}function fz(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 pz(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{O(sj({shared:g,trigger:x,axisId:w,active:a,defaultIndex:k}))},[O,g,x,w,a,k]);var A=nu(),M=N0(),W=rj(g),L=(t=we(K=>Lj(K,W,x,k)))!==null&&t!==void 0?t:{},H=L.activeIndex,D=L.isActive,Y=we(K=>zj(K,W,x,k)),N=we(K=>xC(K,W,x,k)),_=we(K=>jj(K,W,x,k)),z=Y,j=Qj(),P=(r=a??D)!==null&&r!==void 0?r:!1,B=Bh([z,P]),R=tee(B,2),F=R[0],G=R[1],ee=W==="axis"?N:void 0;dz(W,x,_,ee,H,P);var fe=S??j;if(fe==null||A==null||W==null)return null;var de=z??vz;P||(de=vz),u&&de.length&&(de=Ph(de.filter(K=>K.value!=null&&(K.hide!==!0||n.includeHidden)),f,iee));var De=de.length>0,le=pz(pz({},n),{},{payload:de,label:ee,active:P,activeIndex:H,coordinate:_,accessibilityLayer:M}),Te=eo.createElement(QD,{allowEscapeViewBox:o,animationDuration:i,animationEasing:l,isAnimationActive:c,active:P,coordinate:_,hasPayload:De,offset:d,position:p,reverseDirection:v,useTranslate3d:y,viewBox:A,wrapperStyle:h,lastBoundingBox:F,innerRef:G,hasPortalFromProps:!!S},lee(s,le));return eo.createElement(eo.Fragment,null,(0,yz.createPortal)(Te,fe),P&&eo.createElement(Zj,{cursor:m,tooltipEventType:W,coordinate:_,payload:de,index:H}))}var Wi=e=>null;Wi.displayName="Cell";var EC=te(ne()),hb=te(ne());function uee(e,t,r){return(t=cee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cee(e){var t=dee(e,"string");return typeof t=="symbol"?t:t+""}function dee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var vb=class{constructor(t){uee(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 hz(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 fee(e){for(var t=1;t{try{var r=document.getElementById(bz);r||(r=document.createElement("span"),r.setAttribute("id",bz),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,yee,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},_u=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ga.isSsr)return{width:0,height:0};if(!Sz.enableCache)return wz(t,r);var n=hee(t,r),a=xz.get(n);if(a)return a;var o=wz(t,r);return xz.set(n,o),o};var Ez;function gb(e,t){return See(e)||wee(e,t)||bee(e,t)||xee()}function xee(){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 bee(e,t){if(e){if(typeof e=="string")return Az(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)?Az(e,t):void 0}}function Az(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=[];ct(t)||(r?a=t.toString().split(""):a=t.toString().split(Iz));var o=a.map(l=>({word:l,width:_u(l,n).width})),i=r?0:_u("\xA0",n).width;return{wordsWithComputedWidth:o,spaceWidth:i}}catch{return null}};function xb(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function zz(e){return ct(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Lz=(e,t,r,n)=>e.reduce((a,o)=>{var i=o.word,l=o.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),Wee="\u2026",Pz=(e,t,r,n,a,o,i,l)=>{var s=e.slice(0,t),u=jz({breakAll:r,style:n,children:s+Wee});if(!u)return[!1,[]];var c=Lz(u.wordsWithComputedWidth,o,i,l),d=c.length>a||Bz(c).width>Number(o);return[d,c]},Hee=(e,t,r,n,a)=>{var o=e.maxLines,i=e.children,l=e.style,s=e.breakAll,u=be(o),c=String(i),d=Lz(t,n,r,a);if(!u||a)return d;var f=d.length>o||Bz(d).width>Number(n);if(!f)return d;for(var p=0,v=c.length-1,y=0,h;p<=v&&y<=c.length-1;){var m=Math.floor((p+v)/2),g=m-1,x=Pz(c,g,s,l,o,n,r,a),b=Tz(x,2),S=b[0],w=b[1],O=Pz(c,m,s,l,o,n,r,a),k=Tz(O,1),A=k[0];if(!S&&!A&&(p=m+1),S&&A&&(v=m-1),!S&&A){h=w;break}y++}return h||d},Dz=e=>{var t=ct(e)?[]:e.toString().split(Iz);return[{words:t,width:void 0}]},Vee=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,o=e.breakAll,i=e.maxLines;if((t||r)&&!Ga.isSsr){var l,s,u=jz({breakAll:o,children:n,style:a});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return Dz(n);return Hee({breakAll:o,children:n,maxLines:i,style:a},l,s,t,!!r)}return Dz(n)},$z="#808080",Kee={angle:0,breakAll:!1,capHeight:"0.71em",fill:$z,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Ou=(0,hb.forwardRef)((e,t)=>{var r=lt(e,Kee),n=r.x,a=r.y,o=r.lineHeight,i=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=Oz(r,jee),f=(0,hb.useMemo)(()=>Vee({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,y=d.angle,h=d.className,m=d.breakAll,g=Oz(d,zee);if(!Mn(n)||!Mn(a)||f.length===0)return null;var x=Number(n)+(be(p)?p:0),b=Number(a)+(be(v)?v:0);if(!He(x)||!He(b))return null;var S;switch(c){case"start":S=yb("calc(".concat(i,")"));break;case"middle":S=yb("calc(".concat((f.length-1)/2," * -").concat(o," + (").concat(i," / 2))"));break;default:S=yb("calc(".concat(f.length-1," * -").concat(o,")"));break}var w=[],O=f[0];if(s&&O!=null){var k=O.width,A=d.width;w.push("scale(".concat(be(A)&&be(k)?A/k:1,")"))}return y&&w.push("rotate(".concat(y,", ").concat(x,", ").concat(b,")")),w.length&&(g.transform=w.join(" ")),EC.createElement("text",CC({},rr(g),{ref:t,x,y:b,className:Ue("recharts-text",h),textAnchor:u,fill:l.includes("url")?$z:l}),f.map((M,W)=>{var L=M.words.join(m?"":" ");return EC.createElement("tspan",{x,dy:W===0?S:o,key:"".concat(L,"-").concat(W)},L)}))});Ou.displayName="Text";var ra=te(ne()),Xr=te(ne());var qee=["labelRef"],Yee=["content"];function Uz(e,t){if(e==null)return{};var r,n,a=Gee(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,o=e.width,i=e.height,l=e.children,s=(0,Xr.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:o,height:i}),[t,r,n,a,o,i]);return ra.createElement(Wz.Provider,{value:s},l)},Vz=()=>{var e=(0,Xr.useContext)(Wz),t=nu();return e||(t?rm(t):void 0)},Kz=(0,Xr.createContext)(null),qz=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=e.clockWise,s=e.children,u=(0,Xr.useMemo)(()=>({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:o,endAngle:i,clockWise:l}),[t,r,n,a,o,i,l]);return ra.createElement(Kz.Provider,{value:u},s)},Jee=()=>{var e=(0,Xr.useContext)(Kz),t=we(ex);return e||t},Ree=e=>{var t=e.value,r=e.formatter,n=ct(e.children)?t:e.children;return typeof r=="function"?r(n):n},Mu=e=>e!=null&&typeof e=="function",ete=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},tte=(e,t,r,n,a)=>{var o=e.offset,i=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,y=ete(d,f),h=y>=0?1:-1,m,g;switch(t){case"insideStart":m=d+h*o,g=p;break;case"insideEnd":m=f-h*o,g=!p;break;case"end":m=f+h*o,g=p;break;default:throw new Error("Unsupported position ".concat(t))}g=y<=0?g:!g;var x=qt(l,s,v,m),b=qt(l,s,v,m+(g?1:-1)*359),S="M".concat(x.x,",").concat(x.y,` - A`).concat(v,",").concat(v,",0,1,").concat(g?0:1,`, - `).concat(b.x,",").concat(b.y),w=ct(e.id)?Ni("recharts-radial-line-"):e.id;return ra.createElement("text",Vi({},n,{dominantBaseline:"central",className:Ue("recharts-radial-bar-label",i)}),ra.createElement("defs",null,ra.createElement("path",{id:w,d:S})),ra.createElement("textPath",{xlinkHref:"#".concat(w)},r))},rte=(e,t,r)=>{var n=e.cx,a=e.cy,o=e.innerRadius,i=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=qt(n,a,i+t,u),d=c.x,f=c.y;return{x:d,y:f,textAnchor:d>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y: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=(o+i)/2,v=qt(n,a,p,u),y=v.x,h=v.y;return{x:y,y:h,textAnchor:"middle",verticalAnchor:"middle"}},gf=e=>e!=null&&"cx"in e&&be(e.cx),nte={angle:0,offset:5,zIndex:dt.label,position:"middle",textBreakAll:!1};function ate(e){if(!gf(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 Hi(e){var t,r,n=lt(e,nte),a=n.viewBox,o=n.parentViewBox,i=n.position,l=n.value,s=n.children,u=n.content,c=n.className,d=c===void 0?"":c,f=n.textBreakAll,p=n.labelRef,v=Jee(),y=Vz(),h=i==="center"?y:v??y,m,g,x;a==null?m=h:gf(a)?m=a:m=rm(a);var b=ate(m);if(!m||ct(l)&&ct(s)&&!(0,Xr.isValidElement)(u)&&typeof u!="function")return null;var S=gf(m)&&(i==="insideStart"||i==="insideEnd"||i==="end");if(gf(m))S||(x=rte(m,n.offset,n.position));else if(b){var w=Jy({viewBox:b,position:i,offset:n.offset,parentViewBox:gf(o)?void 0:o,clamp:!0});x=Tu(Tu({x:w.x,y:w.y,textAnchor:w.horizontalAnchor,verticalAnchor:w.verticalAnchor},w.width!==void 0?{width:w.width}:{}),w.height!==void 0?{height:w.height}:{})}var O=Tu(Tu(Tu(Tu({},((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 k=O.labelRef,A=Uz(O,qee);return(0,Xr.cloneElement)(u,A)}if(typeof u=="function"){var M=O.content,W=Uz(O,Yee);if(g=(0,Xr.createElement)(u,W),(0,Xr.isValidElement)(g))return g}else g=Ree(n);var L=rr(n);return S&&gf(m)?tte(n,i,g,L,m):x==null?null:ra.createElement(Yt,{zIndex:n.zIndex},ra.createElement(Ou,Vi({ref:p,className:Ue("recharts-label",d)},L,x,{textAnchor:xb(L.textAnchor)?L.textAnchor:x.textAnchor,breakAll:f}),g))}Hi.displayName="Label";var ote=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?ra.createElement(Hi,Vi({key:"label-implicit"},n)):Mn(e)?ra.createElement(Hi,Vi({key:"label-implicit",value:e},n)):(0,Xr.isValidElement)(e)?e.type===Hi?(0,Xr.cloneElement)(e,Tu({key:"label-implicit"},n)):ra.createElement(Hi,Vi({key:"label-implicit",content:e},n)):Mu(e)?ra.createElement(Hi,Vi({key:"label-implicit",content:e},n)):e&&typeof e=="object"?ra.createElement(Hi,Vi({},e,{key:"label-implicit"},n)):null};function Yz(e){var t=e.label,r=e.labelRef,n=Vz();return ote(t,n,r)||null}var Ki=te(ne()),yf=te(ne());var ite=["valueAccessor"],lte=["dataKey","clockWise","id","textBreakAll","zIndex"];function wb(){return wb=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(zz(t))return t},Xz=(0,yf.createContext)(void 0),hf=Xz.Provider,Zz=(0,yf.createContext)(void 0),Qz=Zz.Provider;function cte(){return(0,yf.useContext)(Xz)}function dte(){return(0,yf.useContext)(Zz)}function bb(e){var t=e.valueAccessor,r=t===void 0?ute:t,n=Gz(e,ite),a=n.dataKey,o=n.clockWise,i=n.id,l=n.textBreakAll,s=n.zIndex,u=Gz(n,lte),c=cte(),d=dte(),f=c||d;return!f||!f.length?null:Ki.createElement(Yt,{zIndex:s??dt.label},Ki.createElement(bt,{className:"recharts-label-list"},f.map((p,v)=>{var y,h=ct(a)?r(p,v):Qe(p.payload,a),m=ct(i)?{}:{id:"".concat(i,"-").concat(v)};return Ki.createElement(Hi,wb({key:"label-".concat(v)},rr(p),u,m,{fill:(y=n.fill)!==null&&y!==void 0?y:p.fill,parentViewBox:p.parentViewBox,value:h,textBreakAll:l,viewBox:p.viewBox,index:v,zIndex:0}))})))}bb.displayName="LabelList";function ns(e){var t=e.label;return t?t===!0?Ki.createElement(bb,{key:"labelList-implicit"}):Ki.isValidElement(t)||Mu(t)?Ki.createElement(bb,{key:"labelList-implicit",content:t}):typeof t=="object"?Ki.createElement(bb,wb({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var Jz=te(ne());function _C(){return _C=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,o=Ue("recharts-dot",a);return be(t)&&be(r)&&be(n)?Jz.createElement("circle",_C({},tr(e),gd(e),{className:o,cx:t,cy:r,r:n})):null};var OC=e=>e.graphicalItems.polarItems,fte=J([nr,cu],Rm),Ab=J([OC,ur,fte],ev),pte=J([Ab],tv),kb=J([pte,iu],rv),mte=J([kb,ur,Ab],IN),CCe=J([kb,ur,Ab],(e,t,r)=>r.length>0?e.flatMap(n=>r.flatMap(a=>{var o,i=Qe(n,(o=t.dataKey)!==null&&o!==void 0?o:a.dataKey);return{value:i,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey),errorDomain:[]})):e.map(n=>({value:n,errorDomain:[]}))),Rz=()=>{},vte=J([kb,ur,Ab,of,nr,R8],av),gte=J([ur,Hx,Vx,Rz,vte,Rz,qe,nr],ov),eL=J([ur,qe,kb,mte,Ul,nr,gte],iv),yte=J([eL,Cu,Bi],lv),hte=J([ur,eL,yte,nr],sv),ECe=J([Bi,hte],rx);var xte={radiusAxis:{},angleAxis:{}},tL=Ct({name:"polarAxis",initialState:xte,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=tt(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=tt(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Nb=tL.actions,MCe=Nb.addRadiusAxis,PCe=Nb.removeRadiusAxis,DCe=Nb.addAngleAxis,ICe=Nb.removeAngleAxis;var rL=tL.reducer;function Cb(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var Re=te(ne()),Nf=te(ne());function nL(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 aL(e){for(var t=1;tt,TC=J([OC,Ate],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),kte=[],MC=(e,t,r)=>r?.length===0?kte:r,oL=J([iu,TC,MC],(e,t,r)=>{var n=e.chartData;if(t!=null){var a;if(t?.data!=null&&t.data.length>0?a=t.data:a=n,(!a||!a.length)&&r!=null&&(a=r.map(o=>aL(aL({},t.presentationProps),o.props))),a!=null)return a}}),iL=J([oL,TC,MC],(e,t,r)=>{if(!(e==null||t==null))return e.map((n,a)=>{var o,i=Qe(n,t.nameKey,t.name),l;return r!=null&&(o=r[a])!==null&&o!==void 0&&(o=o.props)!==null&&o!==void 0&&o.fill?l=r[a].props.fill:typeof n=="object"&&n!=null&&"fill"in n?l=n.fill:l=t.fill,{value:wa(i,t.dataKey),dataKey:t.dataKey,color:l,payload:n,type:t.legendType}})}),lL=J([oL,TC,MC,jt],(e,t,r,n)=>{if(!(t==null||e==null))return sL({offset:n,pieSettings:t,displayedData:e,cells:r})});var mL=te(ne()),vL=te(dL());var fL=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",pL=null,IC=null,gL=e=>{if(e===pL&&Array.isArray(IC))return IC;var t=[];return mL.Children.forEach(e,r=>{ct(r)||((0,vL.isFragment)(r)?t=t.concat(gL(r.props.children)):t.push(r))}),IC=t,pL=e,t};function mv(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(a=>fL(a)):n=[fL(t)],gL(e).forEach(a=>{var o=rn(a,"type.displayName")||rn(a,"type.name");o&&n.indexOf(o)!==-1&&r.push(a)}),r}var xf=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var bf=te(ne()),vv=te(ne());function yL(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 hL(e){for(var t=1;t{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(Zx({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}},yv=e=>{var t=Ve();return(r,n)=>a=>{e?.(r,n,a),t(uj())}},hv=(e,t,r)=>{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(cj({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}};var xv=te(ne());function os(e){var t=e.tooltipEntrySettings,r=Ve(),n=Et(),a=(0,xv.useRef)(null);return(0,xv.useLayoutEffect)(()=>{n||(a.current===null?r(oj(t)):a.current!==t&&r(ij({prev:a.current,next:t})),a.current=t)},[t,r,n]),(0,xv.useLayoutEffect)(()=>()=>{a.current&&(r(lj(a.current)),a.current=null)},[r]),null}var is=te(ne());function wf(e){var t=e.legendPayload,r=Ve(),n=Et(),a=(0,is.useRef)(null);return(0,is.useLayoutEffect)(()=>{n||(a.current===null?r(kk(t)):a.current!==t&&r(Nk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,is.useLayoutEffect)(()=>()=>{a.current&&(r(Ck(a.current)),a.current=null)},[r]),null}function bL(e){var t=e.legendPayload,r=Ve(),n=we(qe),a=(0,is.useRef)(null);return(0,is.useLayoutEffect)(()=>{n!=="centric"&&n!=="radial"||(a.current===null?r(kk(t)):a.current!==t&&r(Nk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,is.useLayoutEffect)(()=>()=>{a.current&&(r(Ck(a.current)),a.current=null)},[r]),null}var AL=te(ne()),Sv=te(ne());function Ite(e,t){return Bte(e)||Lte(e,t)||zte(e,t)||jte()}function jte(){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 zte(e,t){if(e){if(typeof e=="string")return wL(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)?wL(e,t):void 0}}function wL(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 o=0;oe[Math.floor(o*r)]);return jC(n,t)}function Ute(e,t){var r=t.map((n,a)=>e[a]);return jC(r,t)}function Fte(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}}),i=[];for(var l of n){var s=Ite(l,2),u=s[0],c=s[1];a.has(u)||i.push(c)}return jC(o,t,i)}function wv(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Pu?$te(e,t):r===bv?Ute(e,t):Wte(e,t,r)}var Sf=te(ne());function Lb(e,t){var r=(0,Sf.useRef)(e),n=(0,Sf.useRef)(t.current),a=(0,Sf.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var o=(0,Sf.useCallback)(function(i,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=i),l>0&&a.current&&s&&(t.current=i)},[t]);return{startValue:n.current,syncStepValue:o}}function Hte(e,t){return Yte(e)||qte(e,t)||Kte(e,t)||Vte()}function Vte(){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 Kte(e,t){if(e){if(typeof e=="string")return SL(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)?SL(e,t):void 0}}function SL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),l=(0,Sv.useCallback)(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:a,handleAnimationStart:i,handleAnimationEnd:l}}function ss(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,o=e.previousItemsRef,i=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,v=e.shouldUpdatePreviousRef,y=e.children,h=e.layout,m=M0(r,n),g=Lb(m,o),x=(t=g.startValue)!==null&&t!==void 0?t:null,b=wv(x,a,p??Pu);return AL.createElement(T0,{animationId:m,begin:l,duration:s,isActive:i,easing:u,onAnimationEnd:d,onAnimationStart:c,key:m},S=>{var w=x==null,O=a==null?a:f(b,S,h),k=v?v(S):S>0;return g.syncStepValue(O,S,k),O==null?null:y(O,S,w)})}var CL=te(ne()),LC=te(ne());var Bb=te(ne());var zC;function Gte(e,t){return Jte(e)||Qte(e,t)||Zte(e,t)||Xte()}function Xte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zte(e,t){if(e){if(typeof e=="string")return kL(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)?kL(e,t):void 0}}function kL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=Bb.useState(()=>Ni("uid-")),t=Gte(e,1),r=t[0];return r},$b=(zC=Bb.useId)!==null&&zC!==void 0?zC:Rte;function NL(e,t){var r=$b();return t||(e?"".concat(e,"-").concat(r):r)}var ere=(0,LC.createContext)(void 0),us=e=>{var t=e.id,r=e.type,n=e.children,a=NL("recharts-".concat(r),t);return CL.createElement(ere.Provider,{value:a},n(a))};var ko=te(ne());var tre={cartesianItems:[],polarItems:[]},EL=Ct({name:"graphicalItems",initialState:tre,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(tt(t.payload))},prepare:Pt()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).cartesianItems.indexOf(tt(n));o>-1&&(e.cartesianItems[o]=tt(a))},prepare:Pt()},removeCartesianGraphicalItem:{reducer(e,t){var r=yn(e).cartesianItems.indexOf(tt(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Pt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(tt(t.payload))},prepare:Pt()},removePolarGraphicalItem:{reducer(e,t){var r=yn(e).polarItems.indexOf(tt(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Pt()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).polarItems.indexOf(tt(n));o>-1&&(e.polarItems[o]=tt(a))},prepare:Pt()}}}),Af=EL.actions,_L=Af.addCartesianGraphicalItem,OL=Af.replaceCartesianGraphicalItem,TL=Af.removeCartesianGraphicalItem,ML=Af.addPolarGraphicalItem,PL=Af.removePolarGraphicalItem,DL=Af.replacePolarGraphicalItem;var IL=EL.reducer;var rre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(_L(e)):r.current!==e&&t(OL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(TL(r.current)),r.current=null)},[t]),null},kf=(0,ko.memo)(rre),nre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(ML(e)):r.current!==e&&t(DL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(PL(r.current)),r.current=null)},[t]),null},jL=(0,ko.memo)(nre);var are=["key"],ore=["onMouseEnter","onClick","onMouseLeave"],ire=["id"],lre=["id"];function Du(){return Du=Object.assign?Object.assign.bind():function(e){for(var t=1;tmv(e.children,Wi),[e.children]),r=we(n=>iL(n,e.id,t));return r==null?null:Re.createElement(bL,{legendPayload:r})}function pre(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(Re.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var n=e.fill;return typeof n=="string"?n:void 0}}var mre=Re.memo(e=>{var t=e.dataKey,r=e.nameKey,n=e.sectors,a=e.stroke,o=e.strokeWidth,i=e.fill,l=e.name,s=e.hide,u=e.tooltipType,c=e.formatter,d=e.id,f=e.activeShape,p=pre(f),v=n.map(h=>{var m=h.tooltipPayload;return p==null||m==null?m:m.map(g=>cr(cr({},g),{},{color:p,fill:p}))}),y={dataDefinedOnItem:v,getPosition:h=>{var m;return(m=n[Number(h)])===null||m===void 0?void 0:m.tooltipPosition},settings:{stroke:a,strokeWidth:o,fill:i,dataKey:t,nameKey:r,name:wa(l,t),hide:s,type:u,color:i,unit:"",formatter:c,graphicalItemId:d}};return Re.createElement(os,{tooltipEntrySettings:y})}),vre=(e,t)=>e>t?"start":etypeof t=="function"?vr(t(e),r,r*.8):vr(t,r,r*.8),yre=(e,t,r)=>{var n=t.top,a=t.left,o=t.width,i=t.height,l=j0(o,i),s=a+vr(e.cx,o,o/2),u=n+vr(e.cy,i,i/2),c=vr(e.innerRadius,l,0),d=gre(r,e.outerRadius,l),f=e.maxRadius||Math.sqrt(o*o+i*i)/2;return{cx:s,cy:u,innerRadius:c,outerRadius:d,maxRadius:f}},hre=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},xre=(e,t)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);if(typeof e=="function")return e(t);var r=Ue("recharts-pie-label-line",typeof e!="boolean"?e.className:""),n=t.key,a=Ub(t,are);return Re.createElement(Fo,Du({},a,{type:"linear",className:r}))},bre=(e,t,r)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);var n=r;if(typeof e=="function"&&(n=e(t),Re.isValidElement(n)))return n;var a=Ue("recharts-pie-label-text",Cb(e));return Re.createElement(Ou,Du({},t,{alignmentBaseline:"middle",className:a}),n)};function wre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label,o=r.labelLine,i=r.dataKey;if(!n||!a||!t)return null;var l=tr(r),s=ga(a),u=ga(o),c=typeof a=="object"&&"offsetRadius"in a&&typeof a.offsetRadius=="number"&&a.offsetRadius||20,d=t.map((f,p)=>{var v=(f.startAngle+f.endAngle)/2,y=qt(f.cx,f.cy,f.outerRadius+c,v),h=cr(cr(cr(cr({},l),f),{},{stroke:"none"},s),{},{index:p,textAnchor:vre(y.x,f.cx)},y),m=cr(cr(cr(cr({},l),f),{},{fill:"none",stroke:f.fill},u),{},{index:p,points:[qt(f.cx,f.cy,f.outerRadius,v),y],key:"line"});return Re.createElement(Yt,{zIndex:dt.label,key:"label-".concat(f.startAngle,"-").concat(f.endAngle,"-").concat(f.midAngle,"-").concat(p)},Re.createElement(bt,null,o&&xre(o,m),bre(a,h,Qe(f,i))))});return Re.createElement(bt,{className:"recharts-pie-labels"},d)}function Sre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label;return typeof a=="object"&&a!=null&&"position"in a?Re.createElement(ns,{label:a}):Re.createElement(wre,{sectors:t,props:r,showLabels:n})}function Are(e){var t=e.sectors,r=e.activeShape,n=e.inactiveShape,a=e.allOtherPieProps,o=e.shape,i=e.id,l=e.animationElapsedTime,s=e.isAnimating,u=e.isEntrance,c=we(Ra),d=we(uf),f=we(ib),p=a.onMouseEnter,v=a.onClick,y=a.onMouseLeave,h=Ub(a,ore),m=gv(p,a.dataKey,i),g=yv(y),x=hv(v,a.dataKey,i);return t==null||t.length===0?null:Re.createElement(Re.Fragment,null,t.map((b,S)=>{if(b?.startAngle===0&&b?.endAngle===0&&t.length!==1)return null;var w=f==null||f===i,O=String(S)===c&&(d==null||a.dataKey===d)&&w,k=c?n:null,A=r&&O?r:k,M=cr(cr({},b),{},{stroke:b.stroke,tabIndex:-1,index:S,isActive:O,animationElapsedTime:l,isAnimating:s,isEntrance:u,[p0]:S,[m0]:i});return Re.createElement(bt,Du({key:"sector-".concat(b?.startAngle,"-").concat(b?.endAngle,"-").concat(b.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Ei(h,b,S),{onMouseEnter:m(b,S),onMouseLeave:g(b,S),onClick:x(b,S)}),Re.createElement(as,{option:A??o,DefaultShape:LL,shapeProps:M}))}))}function sL(e){var t,r=e.pieSettings,n=e.displayedData,a=e.cells,o=e.offset,i=r.cornerRadius,l=r.startAngle,s=r.endAngle,u=r.dataKey,c=r.nameKey,d=r.tooltipType,f=Math.abs(r.minAngle),p=hre(l,s),v=Math.abs(p),y=n.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,h=n.filter(k=>Qe(k,u,0)!==0).length,m=(v>=360?h:h-1)*y,g=n.reduce((k,A)=>{var M=Qe(A,u,0);return k+(be(M)?M:0)},0),x=f>0&&g>0&&n.some(k=>{var A=Qe(k,u,0),M=(be(A)?A:0)/g;return A!==0&&M*v0){var O;w=n.map((k,A)=>{var M=Qe(k,u,0),W=Qe(k,c,A),L=yre(r,o,k),H=(be(M)?M:0)/g,D,Y=cr(cr({},k),a&&a[A]&&a[A].props),N=Y!=null&&"fill"in Y&&typeof Y.fill=="string"?Y.fill:r.fill;A?D=O.endAngle+Ft(p)*y*(M!==0?1:0):D=l;var _=D+Ft(p)*((M!==0?b:0)+H*S),z=(D+_)/2,j=(L.innerRadius+L.outerRadius)/2,P=[{name:W,value:M,payload:Y,dataKey:u,type:d,color:N,fill:N,graphicalItemId:r.id}],B=qt(L.cx,L.cy,j,z);return O=cr(cr(cr(cr({},r.presentationProps),{},{percent:H,cornerRadius:typeof i=="string"?parseFloat(i):i,name:W,tooltipPayload:P,midAngle:z,middleRadius:j,tooltipPosition:B},Y),L),{},{value:M,dataKey:u,startAngle:D,endAngle:_,payload:Y,paddingAngle:M!==0?Ft(p)*y:0}),O})}return w}function kre(e){var t=e.showLabels,r=e.sectors,n=e.children,a=(0,Nf.useMemo)(()=>!t||!r?[]:r.map(o=>({value:o.value,payload:o.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:o.cx,cy:o.cy,innerRadius:o.innerRadius,outerRadius:o.outerRadius,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},fill:o.fill})),[r,t]);return Re.createElement(Qz,{value:t?a:void 0},n)}var Nre=(e,t)=>{if(e==null)return[];var r=[],n=e.find(o=>o.status!=="removed"),a=n?n.next.startAngle:0;return e.forEach((o,i)=>{if(o.status!=="removed"){var l=i>0?rn(o.next,"paddingAngle",0):0;if(o.status==="matched"){var s=Nt(o.prev.endAngle-o.prev.startAngle,o.next.endAngle-o.next.startAngle,t),u=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+s+l});r.push(u),a=u.endAngle}else{var c=Nt(0,o.next.endAngle-o.next.startAngle,t),d=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+c+l});r.push(d),a=d.endAngle}}}),r};function Cre(e){var t,r,n,a,o=e.props,i=e.previousSectorsRef,l=e.id,s=o.sectors,u=o.activeShape,c=o.inactiveShape,d=o.animationInterpolateFn,f=ls(o.onAnimationStart,o.onAnimationEnd),p=f.isAnimating,v=f.handleAnimationStart,y=f.handleAnimationEnd,h=ND();if(h==null)return null;var m=s[0];return Re.createElement(kre,{showLabels:!p,sectors:s},Re.createElement(ss,{animationInput:o,animationIdPrefix:"recharts-pie-",items:s,previousItemsRef:i,isAnimationActive:o.isAnimationActive,animationBegin:o.animationBegin,animationDuration:o.animationDuration,animationEasing:o.animationEasing,onAnimationStart:v,onAnimationEnd:y,animationInterpolateFn:d,animationMatchBy:o.animationMatchBy,layout:h},(g,x,b)=>Re.createElement(bt,null,Re.createElement(Are,{sectors:g,activeShape:u,inactiveShape:c,allOtherPieProps:o,shape:o.shape,id:l,animationElapsedTime:x,isAnimating:p||x<1,isEntrance:b}))),Re.createElement(Sre,{showLabels:!p,sectors:s,props:o}),Re.createElement(qz,{cx:(t=m?.cx)!==null&&t!==void 0?t:0,cy:(r=m?.cy)!==null&&r!==void 0?r:0,innerRadius:(n=m?.innerRadius)!==null&&n!==void 0?n:0,outerRadius:(a=m?.outerRadius)!==null&&a!==void 0?a:0,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},o.children))}var Ere={animationBegin:400,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Nre,animationMatchBy:bv,cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,shape:LL,startAngle:0,stroke:"#fff",zIndex:dt.area};function _re(e){var t=e.id,r=Ub(e,ire),n=e.hide,a=e.className,o=e.rootTabIndex,i=(0,Nf.useMemo)(()=>mv(e.children,Wi),[e.children]),l=we(c=>lL(c,t,i)),s=(0,Nf.useRef)(null),u=Ue("recharts-pie",a);return n||l==null?(s.current=null,Re.createElement(bt,{tabIndex:o,className:u})):Re.createElement(Yt,{zIndex:e.zIndex},Re.createElement(mre,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),Re.createElement(bt,{tabIndex:o,className:u},Re.createElement(Cre,{props:cr(cr({},r),{},{sectors:l}),previousSectorsRef:s,id:t})))}function Ore(e){var t=lt(e,Ere),r=t.id,n=Ub(t,lre),a=tr(n);return Re.createElement(us,{id:r,type:"pie"},o=>Re.createElement(Re.Fragment,null,Re.createElement(jL,{type:"pie",id:o,data:n.data,dataKey:n.dataKey,hide:n.hide,angleAxisId:0,radiusAxisId:0,name:n.name,nameKey:n.nameKey,tooltipType:n.tooltipType,legendType:n.legendType,fill:n.fill,cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,paddingAngle:n.paddingAngle,minAngle:n.minAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius,cornerRadius:n.cornerRadius,presentationProps:a,maxRadius:t.maxRadius}),Re.createElement(fre,Du({},n,{id:o})),Re.createElement(_re,Du({},n,{id:o}))))}var Fb=Ore;Fb.displayName="Pie";var Av=te(ne()),Hb=te(ne());var Tre=["points"];function BL(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 BC(e){for(var t=1;t{var m,g,x=BC(BC(BC({r:3},i),f),{},{index:h,cx:(m=y.x)!==null&&m!==void 0?m:void 0,cy:(g=y.y)!==null&&g!==void 0?g:void 0,dataKey:o,value:y.value,payload:y.payload,points:t});return Av.createElement(zre,{key:"dot-".concat(h),option:r,dotProps:x,className:a})}),v={};return l&&s!=null&&(v.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Av.createElement(Yt,{zIndex:c},Av.createElement(bt,Wb({className:n},v),p))}var kv=te(ne()),qb=te(ne());function $L(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 Kb(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var QL=J([ZL,on,ln],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}});var cs=()=>we(QL),JL=()=>we(Aj);function RL(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 UC(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,o=e.dataKey,i=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=UC(UC(UC({},l),ga(a)),gd(a)),u;return(0,qb.isValidElement)(a)?u=(0,qb.cloneElement)(a,s):typeof a=="function"?u=a(s):u=kv.createElement(Sb,s),kv.createElement(bt,{className:"recharts-active-dot",clipPath:i},u)};function Nv(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,o=e.clipPath,i=e.zIndex,l=i===void 0?dt.activeDot:i,s=we(Ra),u=JL();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return ct(c)?null:kv.createElement(Yt,{zIndex:l},kv.createElement(Kre,{point:c,childIndex:Number(s),mainColor:r,dataKey:a,activeDot:n,clipPath:o}))}function qre(e,t){return Zre(e)||Xre(e,t)||Gre(e,t)||Yre()}function Yre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gre(e,t){if(e){if(typeof e=="string")return eB(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)?eB(e,t):void 0}}function eB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var n=r??e;if(!ct(n))return vr(n,t,0)},rB=(e,t,r)=>{var n={},a=e.filter(du),o=e.filter(u=>u.stackId==null),i=a.reduce((u,c)=>{var d=u[c.stackId];return d==null&&(d=[]),d.push(c),u[c.stackId]=d,u},n),l=Object.entries(i).map(u=>{var c,d=qre(u,2),f=d[0],p=d[1],v=p.map(h=>h.dataKey),y=tB(t,r,(c=p[0])===null||c===void 0?void 0:c.barSize);return{stackId:f,dataKeys:v,barSize:y}}),s=o.map(u=>{var c=[u.dataKey].filter(f=>f!=null),d=tB(t,r,u.barSize);return{stackId:void 0,dataKeys:c,barSize:d}});return[...l,...s]};function nB(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 Yb(e){for(var t=1;tg+(x.barSize||0),0);f+=(i-1)*l,f>=r&&(f-=(i-1)*l,l=0),f>=r&&d>0&&(c=!0,d*=.9,f=i*d);var p=Math.round((r-f)/2),v={offset:p-l,size:0};s=n.reduce((g,x)=>{var b,S={stackId:x.stackId,dataKeys:x.dataKeys,position:{offset:v.offset+v.size+l,size:c?d:(b=x.barSize)!==null&&b!==void 0?b:0}},w=[...g,S];return v=S.position,w},u)}else{var y=vr(t,r,0,!0);r-2*y-(i-1)*l<=0&&(l=0);var h=(r-2*y-(i-1)*l)/i;h>1&&(h=Math.round(h));var m=He(a)?Math.min(h,a):h;s=n.reduce((g,x,b)=>[...g,{stackId:x.stackId,dataKeys:x.dataKeys,position:{offset:y+i*(h-m)/2+(m+l)*b,size:m}}],u)}return s}}var aB=(e,t,r,n,a,o,i)=>{var l=ct(i)?t:i,s=ene(r,n,a!==o?a:o,e,l);return a!==o&&s!=null&&(s=s.map(u=>Yb(Yb({},u),{},{position:Yb(Yb({},u.position),{},{offset:u.position.offset-a/2})}))),s};var oB=(e,t)=>{var r=Wl(t);if(!(!e||r==null||t==null)){var n=t.stackId;if(n!=null){var a=e[n];if(a){var o=a.stackedData;if(o)return o.find(i=>i.key===r)}}}};var iB=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function lB(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&He(e.zIndex)?e.zIndex:t}var sB=te(ne());var Gb=e=>{var t=e.chartData,r=Ve(),n=Et();return(0,sB.useEffect)(()=>n?()=>{}:(r(NC(t)),()=>{r(NC(void 0))}),[t,r,n]),null};var uB={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},cB=Ct({name:"brush",initialState:uB,reducers:{setBrushSettings(e,t){return t.payload==null?uB:t.payload}}}),o5e=cB.actions.setBrushSettings;var dB=cB.reducer;function tne(e){return(e%180+180)%180}var fB=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=tne(a),i=o*Math.PI/180,l=Math.atan(n/r),s=i>l&&i{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=yn(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=yn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(tt(t.payload))},removeLine:(e,t)=>{var r=yn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Cf=pB.actions,c5e=Cf.addDot,d5e=Cf.removeDot,f5e=Cf.addArea,p5e=Cf.removeArea,m5e=Cf.addLine,v5e=Cf.removeLine;var mB=pB.reducer;var Cv=te(ne()),Ev=te(ne());function nne(e,t){return lne(e)||ine(e,t)||one(e,t)||ane()}function ane(){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 one(e,t){if(e){if(typeof e=="string")return vB(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)?vB(e,t):void 0}}function vB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Ev.useState)("".concat(Ni("recharts"),"-clip")),n=nne(r,1),a=n[0],o=cs();if(o==null)return null;var i=o.x,l=o.y,s=o.width,u=o.height;return Cv.createElement(sne.Provider,{value:a},Cv.createElement("defs",null,Cv.createElement("clipPath",{id:a},Cv.createElement("rect",{x:i,y:l,height:u,width:s}))),t)};var ar=te(ne()),kn=te(ne());function yB(){}function FC(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 hB(e,t,r){return _v(e,t,void 0,void 0,void 0,void 0,r)}function _v(e,t,r,n,a,o,i){let l=i(e,t,r,n,a,o);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 Ov(e,t,o,i)}return Ov(e,t,o,i)}function Ov(e,t,r,n){if(Object.is(e,t))return!0;let a=_i(e),o=_i(t);if(a==="[object Arguments]"&&(a=bd),o==="[object Arguments]"&&(o=bd),a!==o)return!1;switch(a){case yd:return e.toString()===t.toString();case hd:return Ll(e.valueOf(),t.valueOf());case xd:case fh:case dh:return Object.is(e.valueOf(),t.valueOf());case uh:return e.source===t.source&&e.flags===t.flags;case bM:return e===t}r=r??new Map;let i=r.get(e),l=r.get(t);if(i!=null&&l!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(a){case ph:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!_v(u,t.get(s),s,e,t,r,n))return!1;return!0;case mh:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;c_v(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case vh:case hh:case xh:case bh:case wh:case SM:case Sh:case Ah:case kh:case AM:case Nh:case Ch:if(sm(e)!==sm(t)||e.length!==t.length)return!1;for(let s=0;se*a)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-a)<=0}function wB(e,t){return Xb(e,t+1)}function SB(e,t,r,n,a){for(var o=(n||[]).slice(),i=t.start,l=t.end,s=0,u=1,c=i,d=function(){var v=n?.[s];if(v===void 0)return{v:Xb(n,u)};var y=s,h,m=()=>(h===void 0&&(h=r(v,y)),h),g=v.coordinate,x=s===0||Iu(e,g,m,c,l);x||(s=0,c=i,u+=1),x&&(c=g+e*(m()/2+a),s+=u)},f;u<=o.length;)if(f=d(),f)return f.v;return[]}function AB(e,t,r,n,a){var o=(n||[]).slice(),i=o.length;if(i===0)return[];for(var l=t.start,s=t.end,u=1;u<=i;u++){for(var c=(i-1)%u,d=l,f=!0,p=function(){var b=n[y];if(b==null)return 0;var S=y,w,O=()=>(w===void 0&&(w=r(b,S)),w),k=b.coordinate,A=y===c||Iu(e,k,O,d,s);if(!A)return f=!1,1;A&&(d=k+e*(O()/2+a))},v,y=c;y(y===void 0&&(y=r(p,f)),y);if(f===i-1){var m=e*(v.coordinate+e*h()/2-s);o[f]=v=An(An({},v),{},{tickCoord:m>0?v.coordinate-m*e:v.coordinate})}else o[f]=v=An(An({},v),{},{tickCoord:v.coordinate});if(v.tickCoord!=null){var g=Iu(e,v.tickCoord,h,l,s);g&&(s=v.tickCoord-e*(h()/2+a),o[f]=An(An({},v),{},{isShow:!0}))}},c=i-1;c>=0;c--)u(c);return o}function pne(e,t,r,n,a,o){var i=(n||[]).slice(),l=i.length,s=t.start,u=t.end;if(o){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(i[l-1]=c=An(An({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Iu(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+a),i[l-1]=An(An({},c),{},{isShow:!0}))}}}for(var v=o?l-1:l,y=function(g){var x=i[g];if(x==null)return 1;var b=x,S,w=()=>(S===void 0&&(S=r(x,g)),S);if(g===0){var O=e*(b.coordinate-e*w()/2-s);i[g]=b=An(An({},b),{},{tickCoord:O<0?b.coordinate-O*e:b.coordinate})}else i[g]=b=An(An({},b),{},{tickCoord:b.coordinate});if(b.tickCoord!=null){var k=Iu(e,b.tickCoord,w,s,u);k&&(s=b.tickCoord+e*(w()/2+a),i[g]=An(An({},b),{},{isShow:!0}))}},h=0;h{var O=typeof u=="function"?u(S.value,w):S.value;return v==="width"?xB(_u(O,{fontSize:t,letterSpacing:r}),y,d):_u(O,{fontSize:t,letterSpacing:r})[v]},m=a[0],g=a[1],x=a.length>=2&&m!=null&&g!=null?Ft(g.coordinate-m.coordinate):1,b=bB(o,x,v);return s==="equidistantPreserveStart"?SB(x,b,h,a,i):s==="equidistantPreserveEnd"?AB(x,b,h,a,i):(s==="preserveStart"||s==="preserveStartEnd"?p=pne(x,b,h,a,i,s==="preserveStartEnd"):p=fne(x,b,h,a,i),p.filter(S=>S.isShow))}var NB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,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=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var CB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,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=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var mne={xAxis:{},yAxis:{}},EB=Ct({name:"renderedTicks",initialState:mne,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,o=r.ticks;e[n][a]=tt(o)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),_B=EB.actions,OB=_B.setRenderedTicks,TB=_B.removeRenderedTicks;var MB=EB.reducer;var vne=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function PB(e,t){return xne(e)||hne(e,t)||yne(e,t)||gne()}function gne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yne(e,t){if(e){if(typeof e=="string")return DB(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)?DB(e,t):void 0}}function DB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var i=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=o.current;l!=null&&l.axisId===n&&l.axisType===r&&WC(l.ticks,i)||(o.current={ticks:i,axisId:n,axisType:r},a(OB({ticks:i,axisId:n,axisType:r})))}},[a,t,n,r]),(0,kn.useEffect)(()=>n==null||r==null?Pn:()=>{a(TB({axisId:n,axisType:r}))},[a,n,r]),null}var Mne=(0,kn.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,o=e.tickLine,i=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,v=e.y,y=e.width,h=e.height,m=e.tickSize,g=e.tickMargin,x=e.fontSize,b=e.letterSpacing,S=e.getTicksConfig,w=e.events,O=e.axisType,k=e.axisId,A=Tv(Ar(Ar({},S),{},{ticks:n}),x,b),M=tr(S),W=ga(a),L=xb(M.textAnchor)?M.textAnchor:Ene(d,f),H=_ne(d,f),D={};typeof o=="object"&&(D=o);var Y=Ar(Ar({},M),{},{fill:"none"},D),N=A.map(j=>Ar({entry:j},Cne(j,p,v,y,h,d,m,f,g))),_=N.map(j=>{var P=j.entry,B=j.line;return ar.createElement(bt,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(P.value,"-").concat(P.coordinate,"-").concat(P.tickCoord)},o&&ar.createElement("line",ju({},Y,B,{className:Ue("recharts-cartesian-axis-tick-line",rn(o,"className"))})))}),z=N.map((j,P)=>{var B,R,F=j.entry,G=j.tick,ee=Ar(Ar(Ar(Ar({verticalAnchor:H},M),{},{textAnchor:L,stroke:"none",fill:i},G),{},{index:P,payload:F,visibleTicksCount:A.length,tickFormatter:l,padding:u},c),{},{angle:(B=(R=c?.angle)!==null&&R!==void 0?R:M.angle)!==null&&B!==void 0?B:0}),fe=Ar(Ar({},ee),W);return ar.createElement(bt,ju({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(F.value,"-").concat(F.coordinate,"-").concat(F.tickCoord)},Ei(w,F,P)),a&&ar.createElement(One,{option:a,tickProps:fe,value:"".concat(typeof l=="function"?l(F.value,P):F.value).concat(s||"")}))});return ar.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(O,"-ticks")},ar.createElement(Tne,{ticks:A,axisId:k,axisType:O}),z.length>0&&ar.createElement(Yt,{zIndex:dt.label},ar.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(O,"-tick-labels"),ref:t},z)),_.length>0&&ar.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(O,"-tick-lines")},_))}),Pne=(0,kn.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,o=e.className,i=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=bne(e,vne),d=(0,kn.useState)(""),f=PB(d,2),p=f[0],v=f[1],y=(0,kn.useState)(""),h=PB(y,2),m=h[0],g=h[1],x=(0,kn.useRef)(null);(0,kn.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var S;return NB({ticks:x.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var S;return CB({ticks:x.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var b=(0,kn.useCallback)(S=>{if(S){var w=S.getElementsByClassName("recharts-cartesian-axis-tick-value");x.current=w;var O=w[0];if(O){var k=window.getComputedStyle(O),A=k.fontSize,M=k.letterSpacing;(A!==p||M!==m)&&(v(A),g(M))}}},[p,m]);return i||n!=null&&n<=0||a!=null&&a<=0?null:ar.createElement(Yt,{zIndex:e.zIndex},ar.createElement(bt,{className:Ue("recharts-cartesian-axis",o)},ar.createElement(Nne,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:tr(e)}),ar.createElement(Mne,{ref:b,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}),ar.createElement(Hz,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},ar.createElement(Yz,{label:e.label,labelRef:e.labelRef}),e.children)))}),Mv=ar.forwardRef((e,t)=>{var r=lt(e,ro);return ar.createElement(Pne,ju({},r,{ref:t}))});Mv.displayName="CartesianAxis";var kr=te(ne());var Zb=te(ne());var jB={grid:{stroke:"#ccc",fill:"none"}};var zB=(0,Zb.createContext)(jB),xOe=zB.Provider,LB=()=>(0,Zb.useContext)(zB);var Dne=["x1","y1","x2","y2","key"],Ine=["offset"],jne=["xAxisId","yAxisId"],zne=["xAxisId","yAxisId"];function BB(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 Nn(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,o=e.width,i=e.height,l=e.ry;return kr.createElement("rect",{x:n,y:a,ry:l,width:o,height:i,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function $B(e){var t=e.option,r=e.lineItemProps,n;if(kr.isValidElement(t))n=kr.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,o=r.x1,i=r.y1,l=r.x2,s=r.y2,u=r.key,c=Qb(r,Dne),d=(a=tr(c))!==null&&a!==void 0?a:{},f=d.offset,p=Qb(d,Ine),v=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=kr.createElement("line",zu({},p,{strokeDasharray:v,x1:o,y1:i,x2:l,y2:s,fill:"none",key:u}))}return n}function Wne(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,o=e.horizontalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,jne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return kr.createElement($B,{key:"line-".concat(d),option:a,lineItemProps:f})});return kr.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Hne(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,o=e.verticalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,zne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return kr.createElement($B,{option:a,lineItemProps:f,key:"line-".concat(d)})});return kr.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Vne(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,o=e.width,i=e.height,l=e.horizontalPoints,s=e.horizontal,u=s===void 0?!0:s;if(!u||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var v=c[p+1],y=v==null,h=y?a+i-f:v-f;if(h<=0)return null;var m=p%t.length;return kr.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:h,width:o,stroke:"none",fill:t[m],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Kne(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,o=e.x,i=e.y,l=e.width,s=e.height,u=e.verticalPoints;if(!r||!n||!n.length)return null;var c=u.map(f=>Math.round(f+o-o)).sort((f,p)=>f-p);o!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var v=c[p+1],y=v==null,h=y?o+l-f:v-f;if(h<=0)return null;var m=p%n.length;return kr.createElement("rect",{key:"react-".concat(p),x:f,y:i,width:h,height:s,stroke:"none",fill:n[m],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var qne=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,o=e.offset;return vk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:gk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.left,o.left+o.width,t)},Yne=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,o=e.offset;return vk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:gk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.top,o.top+o.height,t)},Gne={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:dt.grid};function qi(e){var t,r,n,a,o,i,l=Pd(),s=Dd(),u=x0(),c=Nn(Nn({},lt(e,Gne)),{},{x:be(e.x)?e.x:u.left,y:be(e.y)?e.y:u.top,width:be(e.width)?e.width:u.width,height:be(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,v=c.y,y=c.width,h=c.height,m=c.syncWithTicks,g=c.horizontalValues,x=c.verticalValues,b=Et(),S=we(_=>rC(_,"xAxis",d,b)),w=we(_=>rC(_,"yAxis",f,b)),O=LB(),k={stroke:(t=c.stroke)!==null&&t!==void 0?t:O.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:O.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:O.grid.strokeOpacity,strokeDasharray:(a=c.strokeDasharray)!==null&&a!==void 0?a:O.grid.strokeDasharray};if(!Xn(y)||!Xn(h)||!be(p)||!be(v))return null;var A=c.verticalCoordinatesGenerator||qne,M=c.horizontalCoordinatesGenerator||Yne,W=c.horizontalPoints,L=c.verticalPoints;if((!W||!W.length)&&typeof M=="function"){var H=g&&g.length,D=M({yAxis:w?Nn(Nn({},w),{},{ticks:H?g:w.ticks}):void 0,width:l??y,height:s??h,offset:u},H?!0:m);Md(Array.isArray(D),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof D,"]")),Array.isArray(D)&&(W=D)}if((!L||!L.length)&&typeof A=="function"){var Y=x&&x.length,N=A({xAxis:S?Nn(Nn({},S),{},{ticks:Y?x:S.ticks}):void 0,width:l??y,height:s??h,offset:u},Y?!0:m);Md(Array.isArray(N),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof N,"]")),Array.isArray(N)&&(L=N)}return kr.createElement(Yt,{zIndex:c.zIndex},kr.createElement("g",{className:"recharts-cartesian-grid"},kr.createElement(Fne,{fill:(o=c.fill)!==null&&o!==void 0?o:O.grid.fill,fillOpacity:(i=c.fillOpacity)!==null&&i!==void 0?i:O.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),kr.createElement(Vne,zu({},c,{horizontalPoints:W})),kr.createElement(Kne,zu({},c,{verticalPoints:L})),kr.createElement(Wne,zu({},c,k,{offset:u,horizontalPoints:W,xAxis:S,yAxis:w})),kr.createElement(Hne,zu({},c,k,{offset:u,verticalPoints:L,xAxis:S,yAxis:w}))))}qi.displayName="CartesianGrid";var St=te(ne()),Yi=te(ne());var UB=te(ne());var Xne=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function HC(){return HC=Object.assign?Object.assign.bind():function(e){for(var t=1;tp+v,0);if(!a)return FB(t,e);for(var o=Math.floor(e/a),i=e%a,l=[],s=0,u=0;si){l=[...n.slice(0,s),i-u];break}}var f=l.length%2===0?[0,t]:[t];return[...eae(n,o),...l,...f].map(p=>"".concat(p,"px")).join(", ")}function rae(e,t,r){if(e){var n="".concat(e).split(/[,\s]+/gim).map(a=>parseFloat(a));return tae(r,t,n)}return FB(t,r)}function WB(e){var t=e.animationElapsedTime,r=e.isAnimating,n=e.isEntrance,a=e.visibleLength,o=e.strokeDasharray,i=e.connectNulls,l=Zne(e,Xne),s=i??!1,u;if(a!=null){var c,d=l.pathRef,f=Jne((c=d?.current)!==null&&c!==void 0?c:null);u=rae(o,f,a)}else o!=null&&(u=String(o));return UB.createElement(Fo,HC({},l,{connectNulls:s,strokeDasharray:u}))}var Lu=te(ne());function HB(e){var t=(0,Lu.useRef)(0),r=(0,Lu.useRef)(0),n=(0,Lu.useRef)(!1),a=(0,Lu.useRef)(e);return a.current!==e&&(t.current=r.current,a.current=e),(0,Lu.useCallback)((o,i)=>{if(n.current)return null;var l=Math.min(Wa(t.current+o*i),i);return o>0&&i>0&&(r.current=Math.max(r.current,l),l>=i)?(n.current=!0,null):l},[])}var qB=te(ne()),Pv=te(ne());var nae={},VB=Ct({name:"errorBars",initialState:nae,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,o=r.next;e[n]&&(e[n]=e[n].map(i=>i.dataKey===a.dataKey&&i.direction===a.direction?o:i))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==a.dataKey||o.direction!==a.direction))}}}),VC=VB.actions,WOe=VC.addErrorBar,HOe=VC.replaceErrorBar,VOe=VC.removeErrorBar;var KB=VB.reducer;var aae=["children"];function oae(e,t){if(e==null)return{};var r,n,a=iae(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n({x:0,y:0,value:0}),errorBarOffset:0},sae=(0,Pv.createContext)(lae);function Jb(e){var t=e.children,r=oae(e,aae);return qB.createElement(sae.Provider,{value:r},t)}var KC=te(ne());function Bu(e,t){var r,n,a=we(u=>Go(u,e)),o=we(u=>Xo(u,t)),i=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Mr.allowDataOverflow,l=(n=o?.allowDataOverflow)!==null&&n!==void 0?n:Pr.allowDataOverflow,s=i||l;return{needClip:s,needClipX:i,needClipY:l}}function Ef(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=cs(),o=Bu(t,r),i=o.needClipX,l=o.needClipY,s=o.needClip,u=we(x=>qN(x,t,!1)),c=we(x=>YN(x,r,!1));if(!s||!a)return null;var d=a.x,f=a.y,p=a.width,v=a.height,y=i&&u?Math.min(u[0],u[1]):d-p/2,h=l&&c?Math.min(c[0],c[1]):f-v/2,m=i&&u?Math.abs(u[1]-u[0]):p*2,g=l&&c?Math.abs(c[1]-c[0]):v*2;return KC.createElement("clipPath",{id:"clipPath-".concat(n)},KC.createElement("rect",{x:y,y:h,width:m,height:g}))}var YB=(e,t,r,n)=>_a(e,"xAxis",t,n),GB=(e,t,r,n)=>Ea(e,"xAxis",t,n),XB=(e,t,r,n)=>_a(e,"yAxis",r,n),ZB=(e,t,r,n)=>Ea(e,"yAxis",r,n),uae=J([qe,YB,XB,GB,ZB],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),cae=(e,t,r,n,a)=>a;function dae(e){return e.type==="line"}var fae=J([Xl,cae],(e,t)=>e.filter(dae).find(r=>r.id===t)),QB=J([qe,YB,XB,GB,ZB,fae,uae,lu],(e,t,r,n,a,o,i,l)=>{var s=l.chartData,u=l.dataStartIndex,c=l.dataEndIndex;if(!(o==null||t==null||r==null||n==null||a==null||n.length===0||a.length===0||i==null||e!=="horizontal"&&e!=="vertical")){var d=o.dataKey,f=o.data,p;if(f!=null&&f.length>0?p=f:p=s?.slice(u,c+1),p!=null)return JB({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataKey:d,bandSize:i,displayedData:p})}});function Rb(e){var t=ga(e),r=3,n=2;if(t!=null){var a=t.r,o=t.strokeWidth,i=Number(a),l=Number(o);return(Number.isNaN(i)||i<0)&&(i=r),(Number.isNaN(l)||l<0)&&(l=n),{r:i,strokeWidth:l}}return{r,strokeWidth:n}}var pae=["id"],mae=["type","layout","connectNulls","needClip","shape","strokeDasharray"],vae=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function e1(){return e1=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/r:0}var Sae=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(l=>l.status==="removed"?[]:[l.next]);var r=wae(e),n=[];for(var a of e)if(a.status==="matched")n.push(Zo(Zo({},a.next),{},{x:Nt(a.prev.x,a.next.x,t),y:Nt(a.prev.y,a.next.y,t)}));else if(a.status==="added")if(a.next.x!=null){var o=a.next.x-r;n.push(Zo(Zo({},a.next),{},{x:Nt(o,a.next.x,t),y:a.next.y}))}else n.push(a.next);else if(a.status==="removed"&&a.prev.x!=null){var i=a.prev.x+r;n.push(Zo(Zo({},a.prev),{},{x:Nt(a.prev.x,i,t),y:a.prev.y}))}return n},GC={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Sae,animationMatchBy:Pu,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:WB,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:dt.line,type:"linear"},Aae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},kae=St.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n,unit:s,formatter:u,graphicalItemId:d}};return St.createElement(os,{tooltipEntrySettings:f})});function Nae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.dot,o=n.dataKey,i=n.needClip,l=n.id,s=YC(n,pae),u=tr(s);return St.createElement(Vb,{points:r,dot:a,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function Cae(e){var t=e.showLabels,r=e.children,n=e.points,a=(0,Yi.useMemo)(()=>n?.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Zo(Zo({},s),{},{value:o.value,payload:o.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[n]);return St.createElement(hf,{value:t?a:void 0},r)}function Eae(e){var t=e.clipPathId,r=e.pathRef,n=e.points,a=e.props,o=e.animationElapsedTime,i=e.isAnimating,l=e.isEntrance,s=e.visibleLength,u=a.type,c=a.layout,d=a.connectNulls,f=a.needClip,p=a.shape,v=a.strokeDasharray,y=YC(a,mae),h=Zo(Zo({},rr(y)),{},{fill:"none",className:"recharts-line-curve",clipPath:f?"url(#clipPath-".concat(t,")"):void 0,points:n,type:u,layout:c,connectNulls:d,strokeDasharray:v??a.strokeDasharray,pathRef:r,animationElapsedTime:o,isAnimating:i,isEntrance:a.animateNewValues?l:!1,visibleLength:s});return St.createElement(St.Fragment,null,n?.length>1&&St.createElement(as,{option:p,DefaultShape:GC.shape,shapeProps:h}),St.createElement(Nae,{points:n,clipPathId:t,props:a}))}function _ae(e){var t=e.clipPathId,r=e.props,n=e.pathRef,a=e.previousPointsRef,o=r.points,i=r.isAnimationActive,l=r.animationBegin,s=r.animationDuration,u=r.animationEasing,c=r.animationMatchBy,d=r.animationInterpolateFn,f=r.layout,p=bae(n.current),v=ls(r.onAnimationStart,r.onAnimationEnd),y=v.isAnimating,h=v.handleAnimationStart,m=v.handleAnimationEnd,g=!y,x=HB(o),b=(0,Yi.useCallback)(S=>S>0&&p>0,[p]);return St.createElement(Cae,{points:o,showLabels:g},r.children,St.createElement(ss,{animationInput:o,animationIdPrefix:"recharts-line-",items:o,previousItemsRef:a,isAnimationActive:i,animationBegin:l,animationDuration:s,animationEasing:u,onAnimationStart:h,onAnimationEnd:m,animationInterpolateFn:d,animationMatchBy:c,shouldUpdatePreviousRef:b,layout:f},(S,w,O)=>{var k=y||w<1,A=k?x(w,p):null;return St.createElement(Eae,{props:r,points:S,clipPathId:t,pathRef:n,animationElapsedTime:w,isAnimating:k,isEntrance:O,visibleLength:A})}),St.createElement(ns,{label:r.label}))}function Oae(e){var t=e.clipPathId,r=e.props,n=(0,Yi.useRef)(null),a=(0,Yi.useRef)(null);return St.createElement(_ae,{props:r,clipPathId:t,previousPointsRef:n,pathRef:a})}var Tae=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:Qe(e.payload,t)}},qC=class extends Yi.Component{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.top,u=t.left,c=t.width,d=t.height,f=t.id,p=t.needClip,v=t.zIndex;if(r)return null;var y=Ue("recharts-line",o),h=f,m=Rb(n),g=m.r,x=m.strokeWidth,b=xf(n),S=g*2+x,w=p?"url(#clipPath-".concat(b?"":"dots-").concat(h,")"):void 0;return St.createElement(Yt,{zIndex:v},St.createElement(bt,{className:y},p&&St.createElement("defs",null,St.createElement(Ef,{clipPathId:h,xAxisId:i,yAxisId:l}),!b&&St.createElement("clipPath",{id:"clipPath-dots-".concat(h)},St.createElement("rect",{x:u-S/2,y:s-S/2,width:c+S,height:d+S}))),St.createElement(Jb,{xAxisId:i,yAxisId:l,data:a,dataPointFormatter:Tae,errorBarOffset:0},St.createElement(Oae,{props:this.props,clipPathId:h}))),St.createElement(Nv,{activeDot:this.props.activeDot,points:a,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Mae(e){var t=lt(e,GC),r=t.activeDot,n=t.animateNewValues,a=t.animationBegin,o=t.animationDuration,i=t.animationEasing,l=t.connectNulls,s=t.dot,u=t.hide,c=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,v=t.yAxisId,y=t.id,h=YC(t,vae),m=Bu(p,v),g=m.needClip,x=cs(),b=Qn(),S=Et(),w=we(W=>QB(W,p,v,S,y));if(b!=="horizontal"&&b!=="vertical"||w==null||x==null)return null;var O=x.height,k=x.width,A=x.x,M=x.y;return St.createElement(qC,e1({},h,{id:y,connectNulls:l,dot:s,activeDot:r,animateNewValues:n,animationBegin:a,animationDuration:o,animationEasing:i,isAnimationActive:c,hide:u,label:d,legendType:f,xAxisId:p,yAxisId:v,points:w,layout:b,height:O,width:k,left:A,top:M,needClip:g}))}function JB(e){var t=e.layout,r=e.xAxis,n=e.yAxis,a=e.xAxisTicks,o=e.yAxisTicks,i=e.dataKey,l=e.bandSize,s=e.displayedData;return s.map((u,c)=>{var d=Qe(u,i);if(t==="horizontal"){var f=Nd({axis:r,ticks:a,bandSize:l,entry:u,index:c}),p=ct(d)?null:n.scale.map(d);return{x:f,y:p??null,value:d,payload:u}}var v=ct(d)?null:r.scale.map(d),y=Nd({axis:n,ticks:o,bandSize:l,entry:u,index:c});return v==null||y==null?null:{x:v,y,value:d,payload:u}}).filter(Boolean)}function Pae(e){var t=lt(e,GC),r=Et();return St.createElement(us,{id:t.id,type:"line"},n=>St.createElement(St.Fragment,null,St.createElement(wf,{legendPayload:Aae(t)}),St.createElement(kae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),St.createElement(kf,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),St.createElement(Mae,e1({},t,{id:n}))))}var t1=St.memo(Pae,Jn);t1.displayName="Line";var ht=te(ne()),$u=te(ne());function no(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:$C}function ao(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:$C}var e9=(e,t,r)=>_a(e,"xAxis",no(e,t),r),t9=(e,t,r)=>Ea(e,"xAxis",no(e,t),r),r9=(e,t,r)=>_a(e,"yAxis",ao(e,t),r),n9=(e,t,r)=>Ea(e,"yAxis",ao(e,t),r),Dae=J([qe,e9,r9,t9,n9],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),Iae=(e,t)=>t,XC=J([Xl,Iae],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),a9=e=>{var t=qe(e),r=wn(t,"xAxis");return r?"yAxis":"xAxis"},jae=(e,t)=>{var r=a9(e);return r==="yAxis"?ao(e,t):no(e,t)},o9=(e,t,r)=>af(e,a9(e),jae(e,t),r),zae=J([XC,o9],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=Wl(e);if(!(n==null||a==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,i=o?.find(l=>l.key===a);if(i!=null)return i.map(l=>[l[0],l[1]])}}}),Lae=J([XC,o9],(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(Yr)}}),i9=J([qe,e9,r9,t9,n9,zae,F0,Dae,XC,d6,Lae],(e,t,r,n,a,o,i,l,s,u,c)=>{var d=i.chartData,f=i.dataStartIndex,p=i.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var v=s.data,y;if(v&&v.length>0?y=v:y=d?.slice(f,p+1),y!=null)return l9({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:f,areaSettings:s,stackedData:o,displayedData:y,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var Cn=te(ne());var Bae=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],$ae=["id","baseLine"];function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.y||0),c)),be(c)?Cn.createElement("rect",{x:ld.x||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.x||0),c)),be(c)?Cn.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[_f(_f({},r.next),{},{x:Nt(r.prev.x,r.next.x,t),y:Nt(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),f9={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Pu,animationInterpolateFn:Zae,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:u9,xAxisId:0,yAxisId:0,zIndex:dt.area};function n1(e,t){return e&&e!=="none"?e:t}var Qae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,o=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:o,color:n1(n,a),value:wa(r,t),payload:e}]},Jae=ht.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n1(n,o),unit:s,formatter:u,graphicalItemId:d}};return ht.createElement(os,{tooltipEntrySettings:f})});function Rae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,o=n.dot,i=n.dataKey,l=tr(n);return ht.createElement(Vb,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:i,baseProps:l,needClip:a,clipPathId:t})}function eoe(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return _f(_f({},s),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return ht.createElement(hf,{value:t?a:void 0},r)}function toe(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,o=e.props,i=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=o.layout,c=o.type,d=o.stroke,f=o.connectNulls,p=o.isRange,v=o.shape,y=o.id,h=d9(o,Vae),m=rr(h),g=_f(_f({},m),{},{id:y,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:i,isAnimating:l,isEntrance:s});return ht.createElement(ht.Fragment,null,t?.length>1&&ht.createElement(bt,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},ht.createElement(as,{option:v,DefaultShape:f9.shape,shapeProps:g})),ht.createElement(Rae,{points:t,props:h,clipPathId:a}))}function roe(e,t,r){if(be(e)){var n=be(t)?t:void 0;return Nt(n,e,r)}if(ct(e)||nn(e)){var a=be(t)?t:void 0;return Nt(a,0,r)}return e}function noe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,o=e.previousBaselineRef,i=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,v=(0,$u.useMemo)(()=>({points:i,baseLine:l}),[i,l]),y=Lb(v,o),h=Id(),m=ls(n.onAnimationStart,n.onAnimationEnd),g=m.isAnimating,x=m.handleAnimationStart,b=m.handleAnimationEnd,S=y.startValue;if(h==null)return null;var w;return Array.isArray(l)&&Array.isArray(S)?w=wv(S,l,f):Array.isArray(l)?w=wv(null,l,f):w=null,ht.createElement(ss,{animationInput:v,animationIdPrefix:"recharts-area-",items:i,previousItemsRef:a,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:x,onAnimationEnd:b,animationInterpolateFn:p,animationMatchBy:f,layout:h},(O,k,A)=>{var M;return k===1?M=l:Array.isArray(l)?M=p(w,k,h):M=A?l:roe(l,S,k),y.syncStepValue(M,k),ht.createElement(eoe,{showLabels:!g,points:i},n.children,ht.createElement(toe,{points:O,baseLine:M,needClip:t,clipPathId:r,props:n,animationElapsedTime:k,isAnimating:g||k<1,isEntrance:A}),ht.createElement(ns,{label:n.label}))})}function aoe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=(0,$u.useRef)(null),o=(0,$u.useRef)();return ht.createElement(noe,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:o})}var ZC=class extends $u.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,v=t.baseLine,y=t.zIndex;if(r)return null;var h=Ue("recharts-area",o),m=p,g=Rb(n),x=g.r,b=g.strokeWidth,S=xf(n),w=x*2+b,O=s?"url(#clipPath-".concat(S?"":"dots-").concat(m,")"):void 0;return ht.createElement(Yt,{zIndex:y},ht.createElement(bt,{className:h},s&&ht.createElement("defs",null,ht.createElement(Ef,{clipPathId:m,xAxisId:u,yAxisId:c}),!S&&ht.createElement("clipPath",{id:"clipPath-dots-".concat(m)},ht.createElement("rect",{x:l-w/2,y:i-w/2,width:d+w,height:f+w}))),ht.createElement(aoe,{needClip:s,clipPathId:m,props:this.props})),ht.createElement(Nv,{points:a,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}),this.props.isRange&&Array.isArray(v)&&ht.createElement(Nv,{points:v,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}))}};function ooe(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,o=e.animationEasing,i=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,v=e.xAxisId,y=e.yAxisId,h=d9(e,Kae),m=Qn(),g=lb(),x=Bu(v,y),b=x.needClip,S=Et(),w=(t=we(Y=>i9(Y,e.id,S)))!==null&&t!==void 0?t:{},O=w.points,k=w.isRange,A=w.baseLine,M=cs();if(m!=="horizontal"&&m!=="vertical"||M==null||g!=="AreaChart"&&g!=="ComposedChart")return null;var W=M.height,L=M.width,H=M.x,D=M.y;return!O||!O.length?null:ht.createElement(ZC,r1({},h,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:o,baseLine:A,connectNulls:i,dot:l,fill:s,fillOpacity:u,height:W,hide:c,layout:m,isAnimationActive:d,isRange:k,legendType:f,needClip:b,points:O,stroke:p,width:L,left:H,top:D,xAxisId:v,yAxisId:y}))}var ioe=(e,t,r,n,a)=>{var o=r??t;if(be(o))return o;var i=e==="horizontal"?a:n,l=i.scale.domain();if(i.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return o==="dataMin"?u:o==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return o==="dataMin"?l[0]:o==="dataMax"?l[1]:l[0]};function l9(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,o=e.stackedData,i=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,v=e.bandSize,y=e.stackDataKeys,h=o&&o.length,m=ioe(i,l,n,s,u),g=i==="horizontal",x=!1,b=c.map((w,O)=>{var k,A,M,W;if(h)W=o[d+O];else{var L=Qe(w,a);Array.isArray(L)?(W=L,x=!0):W=[m,L]}var H=(k=(A=W)===null||A===void 0?void 0:A[1])!==null&&k!==void 0?k:null,D=Qe(w,a),Y=h&&D==null&&y!=null&&y.length>0&&y.every(z=>Qe(w,z)==null),N=H==null||h&&!r&&D==null||Y;if(g){var _;return{x:Nd({axis:s,ticks:f,bandSize:v,entry:w,index:O}),y:N?null:(_=u.scale.map(H))!==null&&_!==void 0?_:null,value:W,payload:w}}return{x:N?null:(M=s.scale.map(H))!==null&&M!==void 0?M:null,y:Nd({axis:u,ticks:p,bandSize:v,entry:w,index:O}),value:W,payload:w}}),S;return h||x?S=b.map(w=>{var O,k=Array.isArray(w.value)?w.value[0]:null;if(g){var A;return{x:w.x,y:k!=null&&w.y!=null&&(A=u.scale.map(k))!==null&&A!==void 0?A:null,payload:w.payload}}return{x:k!=null&&(O=s.scale.map(k))!==null&&O!==void 0?O:null,y:w.y,payload:w.payload}}):S=g?u.scale.map(m):s.scale.map(m),{points:b,baseLine:S??0,isRange:x}}function loe(e){var t=lt(e,f9),r=Et();return ht.createElement(us,{id:t.id,type:"area"},n=>ht.createElement(ht.Fragment,null,ht.createElement(wf,{legendPayload:Qae(t)}),ht.createElement(Jae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),ht.createElement(kf,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:f0(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),ht.createElement(ooe,r1({},t,{id:n}))))}var Gi=ht.memo(loe,Jn);Gi.displayName="Area";var ot=te(ne()),Co=te(ne());var m9=te(ne());var soe=!0,QC="Invariant failed";function p9(e,t){if(!e){if(soe)throw new Error(QC);var r=typeof t=="function"?t():t,n=r?"".concat(QC,": ").concat(r):QC;throw new Error(n)}}var uoe=["option"];function coe(e,t){if(e==null)return{};var r,n,a=doe(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n1&&arguments[1]!==void 0?arguments[1]:0;return(n,a)=>{if(be(t))return t;var o=be(n)||ct(n);return o?t(n,a):(o||p9(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),r)}};var foe=(e,t,r)=>r,poe=(e,t)=>t,Iv=J([Xl,poe],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),moe=J([Iv],e=>e?.maxBarSize),voe=(e,t,r,n)=>n,goe=J([qe,Xl,no,ao,foe],(e,t,r,n,a)=>t.filter(o=>e==="horizontal"?o.xAxisId===r:o.yAxisId===n).filter(o=>o.isPanorama===a).filter(o=>o.hide===!1).filter(o=>o.type==="bar")),yoe=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null))return n==="horizontal"?af(e,"yAxis",o,r):af(e,"xAxis",a,r)},hoe=(e,t)=>{var r=qe(e),n=no(e,t),a=ao(e,t);if(!(n==null||a==null))return r==="horizontal"?RN(e,"xAxis",n):RN(e,"yAxis",a)},xoe=J([goe,c6,hoe],rB),boe=(e,t,r)=>{var n,a,o=Iv(e,t);if(o==null)return 0;var i=no(e,t),l=ao(e,t);if(i==null||l==null)return 0;var s=qe(e),u=Wk(e),c=o.maxBarSize,d=ct(c)?u:c,f,p;return s==="horizontal"?(f=_a(e,"xAxis",i,r),p=Ea(e,"xAxis",i,r)):(f=_a(e,"yAxis",l,r),p=Ea(e,"yAxis",l,r)),(n=(a=Ya(f,p,!0))!==null&&a!==void 0?a:d)!==null&&n!==void 0?n:0},g9=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null)){var i,l;return n==="horizontal"?(i=_a(e,"xAxis",a,r),l=Ea(e,"xAxis",a,r)):(i=_a(e,"yAxis",o,r),l=Ea(e,"yAxis",o,r)),Ya(i,l)}},woe=J([xoe,Wk,u6,q0,boe,g9,moe],aB),Soe=(e,t,r)=>{var n=no(e,t);if(n!=null)return _a(e,"xAxis",n,r)},Aoe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return _a(e,"yAxis",n,r)},koe=(e,t,r)=>{var n=no(e,t);if(n!=null)return Ea(e,"xAxis",n,r)},Noe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return Ea(e,"yAxis",n,r)},Coe=J([woe,Iv],iB),Eoe=J([yoe,Iv],oB),y9=J([jt,Od,Soe,Aoe,koe,Noe,Coe,qe,F0,g9,Eoe,Iv,voe],(e,t,r,n,a,o,i,l,s,u,c,d,f)=>{var p=s.chartData,v=s.dataStartIndex,y=s.dataEndIndex;if(!(d==null||i==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||n==null||a==null||o==null||u==null)){var h=d.data,m;if(h!=null&&h.length>0?m=h:m=p?.slice(v,y+1),m!=null)return h9({layout:l,barSettings:d,pos:i,parentViewBox:t,bandSize:u,xAxis:r,yAxis:n,xAxisTicks:a,yAxisTicks:o,stackedData:c,displayedData:m,offset:e,cells:f,dataStartIndex:v})}});var RC=te(ne()),Of=te(ne());var _oe=["index"];function JC(){return JC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=(0,Of.useContext)(x9);if(t!=null)return t.stackId;if(e!=null)return f0(e)};var Moe=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Poe=e=>{var t=(0,Of.useContext)(x9);if(t!=null){var r=t.stackId;return"url(#".concat(Moe(r,e),")")}},eE=e=>{var t=e.index,r=Ooe(e,_oe),n=Poe(t);return RC.createElement(bt,JC({className:"recharts-bar-stack-layer",clipPath:n},r))};var Doe=["onMouseEnter","onMouseLeave","onClick"],Ioe=["value","background","tooltipPosition"],joe=["id"],zoe=["onMouseEnter","onClick","onMouseLeave"];function w9(e,t){return Uoe(e)||$oe(e,t)||Boe(e,t)||Loe()}function Loe(){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 Boe(e,t){if(e){if(typeof e=="string")return S9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S9(e,t):void 0}}function S9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.dataKey,r=e.name,n=e.fill,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},qoe=ot.memo(e=>{var t=e.dataKey,r=e.stroke,n=e.strokeWidth,a=e.fill,o=e.name,i=e.hide,l=e.unit,s=e.formatter,u=e.tooltipType,c=e.id,d={dataDefinedOnItem:void 0,getPosition:Pn,settings:{stroke:r,strokeWidth:n,fill:a,dataKey:t,nameKey:void 0,name:wa(o,t),hide:i,type:u,color:a,unit:l,formatter:s,graphicalItemId:c}};return ot.createElement(os,{tooltipEntrySettings:d})});function Yoe(e){var t=we(Ra),r=e.data,n=e.dataKey,a=e.background,o=e.allOtherBarProps,i=o.onMouseEnter,l=o.onMouseLeave,s=o.onClick,u=i1(o,Doe),c=gv(i,n,o.id),d=yv(l),f=hv(s,n,o.id);if(!a||r==null)return null;var p=ga(a);return ot.createElement(Yt,{zIndex:lB(a,dt.barBackground)},r.map((v,y)=>{var h=v.value,m=v.background,g=v.tooltipPosition,x=i1(v,Ioe);if(!m)return null;var b=c(v,v.originalDataIndex),S=d(v,v.originalDataIndex),w=f(v,v.originalDataIndex),O=Zr(Zr(Zr(Zr(Zr({option:a,isActive:String(v.originalDataIndex)===t},x),{},{fill:"#eee"},m),p),Ei(u,v,y)),{},{onMouseEnter:b,onMouseLeave:S,onClick:w,dataKey:n,index:y,className:"recharts-bar-background-rectangle"});return ot.createElement(o1,ds({key:"background-bar-".concat(y)},O))}))}function Goe(e){var t=e.showLabels,r=e.children,n=e.rects,a=n?.map(o=>{var i={x:o.x,y:o.y,width:o.width,lowerWidth:o.width,upperWidth:o.width,height:o.height};return Zr(Zr({},i),{},{value:o.value,payload:o.payload,parentViewBox:o.parentViewBox,viewBox:i,fill:o.fill})});return ot.createElement(hf,{value:t?a:void 0},r)}function Xoe(e){var t=e.shape,r=e.activeBar,n=e.baseProps,a=e.entry,o=e.index,i=e.dataKey,l=we(Ra),s=we(uf),u=r&&String(a.originalDataIndex)===l&&(s==null||i===s),c=l!=null&&(String(a.originalDataIndex)!==l||s!=null&&i!==s),d=(0,Co.useState)(!1),f=w9(d,2),p=f[0],v=f[1],y=(0,Co.useState)(!1),h=w9(y,2),m=h[0],g=h[1];(0,Co.useEffect)(()=>{var k;return u?(v(!0),k=requestAnimationFrame(()=>{g(!0)})):(g(!1),c&&v(!1)),()=>{cancelAnimationFrame(k)}},[u,c]);var x=(0,Co.useCallback)(()=>{u||v(!1)},[u]),b=u&&m,S=u||p,w;u?r===!0?w=t:w=r:w=t;var O=ot.createElement(o1,ds({},n,{name:String(n.name)},a,{isActive:b,option:w,index:o,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:x}));return S?ot.createElement(Yt,{zIndex:dt.activeBar},ot.createElement(eE,{index:a.originalDataIndex},O)):O}function Zoe(e){var t=e.shape,r=e.baseProps,n=e.entry,a=e.index,o=e.dataKey;return ot.createElement(o1,ds({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:a,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Qoe(e){var t,r=e.data,n=e.props,a=e.animationElapsedTime,o=e.isAnimating,i=e.isEntrance,l=(t=tr(n))!==null&&t!==void 0?t:{},s=l.id,u=i1(l,joe),c=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,v=n.onClick,y=n.onMouseLeave,h=i1(n,zoe),m=gv(p,d,s),g=yv(y),x=hv(v,d,s);return r?ot.createElement(ot.Fragment,null,r.map((b,S)=>ot.createElement(eE,ds({index:b.originalDataIndex,key:"rectangle-".concat(b?.x,"-").concat(b?.y,"-").concat(b?.value,"-").concat(S),className:"recharts-bar-rectangle"},Ei(h,b,S),{onMouseEnter:m(b,b.originalDataIndex),onMouseLeave:g(b,b.originalDataIndex),onClick:x(b,b.originalDataIndex)}),f?ot.createElement(Xoe,{shape:c,activeBar:f,baseProps:u,entry:b,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i}):ot.createElement(Zoe,{shape:c,baseProps:u,entry:b,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i})))):null}var Joe=(e,t,r)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return r==="horizontal"?[Zr(Zr({},n.prev),{},{height:Nt(n.prev.height,0,t),y:Nt(n.prev.y,n.prev.y+n.prev.height,t)})]:[Zr(Zr({},n.prev),{},{width:Nt(n.prev.width,0,t)})];if(n.status==="matched")return[Zr(Zr({},n.next),{},{x:Nt(n.prev.x,n.next.x,t),y:Nt(n.prev.y,n.next.y,t),width:Nt(n.prev.width,n.next.width,t),height:Nt(n.prev.height,n.next.height,t)})];var a=n.next;return r==="horizontal"?[Zr(Zr({},a),{},{height:Nt(0,a.height,t),y:Nt(a.stackedBarStart,a.y,t)})]:[Zr(Zr({},a),{},{width:Nt(0,a.width,t),x:Nt(a.stackedBarStart,a.x,t)})]});function Roe(e){var t=e.props,r=e.previousRectanglesRef,n=t.data,a=t.isAnimationActive,o=t.animationBegin,i=t.animationDuration,l=t.animationEasing,s=t.animationInterpolateFn,u=t.layout,c=ls(t.onAnimationStart,t.onAnimationEnd),d=c.isAnimating,f=c.handleAnimationStart,p=c.handleAnimationEnd;return ot.createElement(Goe,{showLabels:!d,rects:n},ot.createElement(ss,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:r,isAnimationActive:a,animationBegin:o,animationDuration:i,animationEasing:l,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:u},(v,y,h)=>ot.createElement(bt,null,ot.createElement(Qoe,{props:t,data:v,animationElapsedTime:y,isAnimating:d||y<1,isEntrance:h}))),ot.createElement(ns,{label:t.label}),t.children)}function eie(e){var t=(0,Co.useRef)(null);return ot.createElement(Roe,{previousRectanglesRef:t,props:e})}var k9=0,tie=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:Qe(e,t)}},tE=class extends Co.PureComponent{render(){var t=this.props,r=t.hide,n=t.data,a=t.dataKey,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.needClip,u=t.background,c=t.id;if(r||n==null)return null;var d=Ue("recharts-bar",o),f=c;return ot.createElement(bt,{className:d,id:c},s&&ot.createElement("defs",null,ot.createElement(Ef,{clipPathId:f,xAxisId:i,yAxisId:l})),ot.createElement(bt,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(f,")"):void 0},ot.createElement(Yoe,{data:n,dataKey:a,background:u,allOtherBarProps:this.props}),ot.createElement(eie,this.props)))}},rie={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Joe,animationMatchBy:bv,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:k9,shape:a1,xAxisId:0,yAxisId:0,zIndex:dt.bar};function nie(e){var t=e.xAxisId,r=e.yAxisId,n=e.hide,a=e.legendType,o=e.minPointSize,i=e.activeBar,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.isAnimationActive,d=Bu(t,r),f=d.needClip,p=Qn(),v=Et(),y=mv(e.children,Wi),h=we(x=>y9(x,e.id,v,y));if(p!=="vertical"&&p!=="horizontal")return null;var m,g=h?.[0];return g==null||g.height==null||g.width==null?m=0:m=p==="vertical"?g.height/2:g.width/2,ot.createElement(Jb,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:tie,errorBarOffset:m},ot.createElement(tE,ds({},e,{layout:p,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:n,legendType:a,minPointSize:o,activeBar:i,animationBegin:l,animationDuration:s,animationEasing:u,isAnimationActive:c})))}function h9(e){var t=e.layout,r=e.barSettings,n=r.dataKey,a=r.minPointSize,o=r.hasCustomShape,i=e.pos,l=e.bandSize,s=e.xAxis,u=e.yAxis,c=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,v=e.offset,y=e.cells,h=e.parentViewBox,m=e.dataStartIndex,g=t==="horizontal"?u:s,x=f?g.scale.domain():null,b=sD({numericAxis:g}),S=g.scale.map(b);return p.map((w,O)=>{var k,A,M,W,L,H;if(f){var D=f[O+m];if(D==null)return null;k=iD(D,x)}else k=Qe(w,n),Array.isArray(k)||(k=[b,k]);var Y=v9(a,k9)(k[1],O);if(t==="horizontal"){var N,_=u.scale.map(k[0]),z=u.scale.map(k[1]);if(_==null||z==null)return null;A=yk({axis:s,ticks:c,bandSize:l,offset:i.offset,entry:w,index:O}),M=(N=z??_)!==null&&N!==void 0?N:void 0,W=i.size;var j=_-z;if(L=nn(j)?0:j,H={x:A,y:v.top,width:W,height:v.height},Math.abs(Y)>0&&Math.abs(L)0&&Math.abs(W)ot.createElement(ot.Fragment,null,ot.createElement(wf,{legendPayload:Koe(t)}),ot.createElement(qoe,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:a}),ot.createElement(kf,{type:"bar",id:a,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==a1}),ot.createElement(Yt,{zIndex:t.zIndex},ot.createElement(nie,ds({},t,{id:a})))))}var l1=ot.memo(aie,Jn);l1.displayName="Bar";var Xi=te(ne()),oo=te(ne());var oie=["domain","range"],iie=["domain","range"];function N9(e,t){if(e==null)return{};var r,n,a=lie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(i!=null)return _9(_9({},o),{},{type:i})},[o,i]);return(0,oo.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(FL(l)):r.current!==l&&t(WL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,oo.useLayoutEffect)(()=>()=>{r.current&&(t(HL(r.current)),r.current=null)},[t]),null}var gie=e=>{var t=e.xAxisId,r=e.className,n=e.height,a=e.label,o=(0,oo.useRef)(null),i=(0,oo.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="xAxis",d=we(w=>Gx(w,c,t,s)),f=we(w=>QN(w,t)),p=we(w=>RI(w,t)),v=we(w=>_N(w,t));if((0,oo.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Mu(a)||(0,oo.isValidElement)(a)||v==null)){var w=o.current;if(w){var O=w.getCalculatedHeight();Math.round(f.height)!==Math.round(O)&&u(GL({id:t,height:O}))}}},[d,f,u,a,t,n,v]),f==null||p==null||v==null)return null;var y=e.dangerouslySetInnerHTML,h=e.ticks,m=e.scale,g=nE(e,uie),x=v.id,b=v.scale,S=nE(v,cie);return Xi.createElement(Mv,rE({},g,S,{ref:o,labelRef:i,x:p.x,y:p.y,width:f.width,height:f.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},yie={allowDataOverflow:Mr.allowDataOverflow,allowDecimals:Mr.allowDecimals,allowDuplicatedCategory:Mr.allowDuplicatedCategory,angle:Mr.angle,axisLine:ro.axisLine,height:Mr.height,hide:!1,includeHidden:Mr.includeHidden,interval:Mr.interval,label:!1,minTickGap:Mr.minTickGap,mirror:Mr.mirror,orientation:Mr.orientation,padding:Mr.padding,reversed:Mr.reversed,scale:Mr.scale,tick:Mr.tick,tickCount:Mr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Mr.type,niceTicks:Mr.niceTicks,xAxisId:0},hie=e=>{var t=lt(e,yie);return Xi.createElement(Xi.Fragment,null,Xi.createElement(vie,{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}),Xi.createElement(gie,t))},Zi=Xi.memo(hie,s1);Zi.displayName="XAxis";var Qi=te(ne()),io=te(ne());var xie=["type"],bie=["dangerouslySetInnerHTML","ticks","scale"],wie=["id","scale"];function aE(){return aE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(i!=null)return T9(T9({},o),{},{type:i})},[i,o]);return(0,io.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(VL(l)):r.current!==l&&t(KL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,io.useLayoutEffect)(()=>()=>{r.current&&(t(qL(r.current)),r.current=null)},[t]),null}function Eie(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,o=(0,io.useRef)(null),i=(0,io.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="yAxis",d=we(w=>JN(w,t)),f=we(w=>ej(w,t)),p=we(w=>Gx(w,c,t,s)),v=we(w=>ON(w,t));if((0,io.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Mu(a)||(0,io.isValidElement)(a)||v==null)){var w=o.current;if(w){var O=w.getCalculatedWidth();Math.round(d.width)!==Math.round(O)&&u(YL({id:t,width:O}))}}},[p,d,u,a,t,n,v]),d==null||f==null||v==null)return null;var y=e.dangerouslySetInnerHTML,h=e.ticks,m=e.scale,g=oE(e,bie),x=v.id,b=v.scale,S=oE(v,wie);return Qi.createElement(Mv,aE({},g,S,{ref:o,labelRef:i,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var _ie={allowDataOverflow:Pr.allowDataOverflow,allowDecimals:Pr.allowDecimals,allowDuplicatedCategory:Pr.allowDuplicatedCategory,angle:Pr.angle,axisLine:ro.axisLine,hide:!1,includeHidden:Pr.includeHidden,interval:Pr.interval,label:!1,minTickGap:Pr.minTickGap,mirror:Pr.mirror,orientation:Pr.orientation,padding:Pr.padding,reversed:Pr.reversed,scale:Pr.scale,tick:Pr.tick,tickCount:Pr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Pr.type,niceTicks:Pr.niceTicks,width:Pr.width,yAxisId:0},Oie=e=>{var t=lt(e,_ie);return Qi.createElement(Qi.Fragment,null,Qi.createElement(Cie,{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}),Qi.createElement(Eie,t))},Ji=Qi.memo(Oie,s1);Ji.displayName="YAxis";var n7=te(ne()),a7=te(ne());var Ku=te(ne()),r7=te(ne());var K9=te(ne()),q9=te(ne());var Tie=(e,t)=>t,jv=J([Tie,qe,ex,Tr,sC,ta,Pj,jt],Bj);function Mie(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function zv(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Mie(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 o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var i=(l,s)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((s-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>i(l.clientX,l.clientY)):i(e.clientX,e.clientY)}var lE=Fr("mouseClick"),sE=Pi();sE.startListening({actionCreator:lE,effect:(e,t)=>{var r=e.payload,n=jv(t.getState(),zv(r));n?.activeIndex!=null&&t.dispatch(dj({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var u1=Fr("mouseMove"),uE=Pi(),Tf=null,Uu=null,iE=null;uE.startListening({actionCreator:u1,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i?.includes("mousemove");Tf!==null&&(cancelAnimationFrame(Tf),Tf=null),Uu!==null&&(typeof o!="number"||!l)&&(clearTimeout(Uu),Uu=null),iE=zv(r);var s=()=>{var u=t.getState(),c=Zl(u,u.tooltip.settings.shared);if(!iE){Tf=null,Uu=null;return}if(c==="axis"){var d=jv(u,iE);d?.activeIndex!=null?t.dispatch(Jx({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(Qx())}Tf=null,Uu=null};if(!l){s();return}o==="raf"?Tf=requestAnimationFrame(s):typeof o=="number"&&Uu===null&&(Uu=setTimeout(s,o))}});function M9(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 P9={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},D9=Ct({name:"rootProps",initialState:P9,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:P9.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}}}),I9=D9.reducer,j9=D9.actions.updateOptions;var Pie=null,Die={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)},z9=Ct({name:"polarOptions",initialState:Pie,reducers:Die}),L9=z9.actions.updatePolarOptions;var B9=z9.reducer;var cE=Fr("keyDown"),dE=Fr("focus"),fE=Fr("blur"),Lv=Pi(),Mf=null,Fu=null,c1=null;Lv.startListening({actionCreator:cE,effect:(e,t)=>{c1=e.payload,Mf!==null&&(cancelAnimationFrame(Mf),Mf=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,o=n.throttledEvents,i=o==="all"||o.includes("keydown");Fu!==null&&(typeof a!="number"||!i)&&(clearTimeout(Fu),Fu=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=c1;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=Ql(c,Fi(s),Li(s),Rl(s)),p=f==null?-1:Number(f),v=!Number.isFinite(p)||p<0,y=ta(s),h=Fi(s),m=Zl(s,s.tooltip.settings.shared);if(d==="Enter"){if(v)return;var g=dv(s,m,"hover",String(c.index));t.dispatch(uv({active:!c.active,activeIndex:c.index,activeCoordinate:g}));return}var x=tj(s),b=x==="left-to-right"?1:-1,S=d==="ArrowRight"?1:-1,w;if(v){var O=Li(s),k=Rl(s),A=S*b,M=Y=>({active:!1,index:String(Y),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(w=-1,A>0){for(var W=0;W=0;L--)if(Ql(M(L),h,O,k)!=null){w=L;break}if(w<0)return}else{w=p+S*b;var H=y?.length||h.length;if(H===0||w>=H||w<0)return}var D=dv(s,m,"hover",String(w));t.dispatch(uv({active:!0,activeIndex:w.toString(),activeCoordinate:D}))}finally{Mf=null,Fu=null}};if(!i){l();return}a==="raf"?Mf=requestAnimationFrame(l):typeof a=="number"&&Fu===null&&(l(),c1=null,Fu=setTimeout(()=>{c1?l():(Fu=null,Mf=null)},a))}});Lv.startListening({actionCreator:dE,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 o="0",i=Zl(r,r.tooltip.settings.shared),l=dv(r,i,"hover",String(o));t.dispatch(uv({active:!0,activeIndex:o,activeCoordinate:l}))}}}});Lv.startListening({actionCreator:fE,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(uv({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function d1(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 Oa=Fr("externalEvent"),mE=Pi(),f1=new Map,Bv=new Map,pE=new Map;mE.startListening({actionCreator:Oa,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var o=a.type,i=d1(a);pE.set(o,{handler:n,reactEvent:i});var l=f1.get(o);l!==void 0&&(cancelAnimationFrame(l),f1.delete(o));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(o),v=Bv.get(o);v!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(v),Bv.delete(o));var y=()=>{var g=pE.get(o);try{if(!g)return;var x=g.handler,b=g.reactEvent,S=t.getState(),w={activeCoordinate:fC(S),activeDataKey:uf(S),activeIndex:Ra(S),activeLabel:ob(S),activeTooltipIndex:Ra(S),isTooltipActive:pC(S)};x&&x(w,b)}finally{f1.delete(o),Bv.delete(o),pE.delete(o)}};if(!p){y();return}if(c==="raf"){var h=requestAnimationFrame(y);f1.set(o,h)}else if(typeof c=="number"){if(!Bv.has(o)){y();var m=setTimeout(y,c);Bv.set(o,m)}}else y()}}});var Iie=J([Ui],e=>e.tooltipItemPayloads),$9=J([Iie,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}});var vE=Fr("touchMove"),gE=Pi(),Wu=null,fs=null,U9=null,$v=null;gE.startListening({actionCreator:vE,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){$v=d1(r);var n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i.includes("touchmove");Wu!==null&&(cancelAnimationFrame(Wu),Wu=null),fs!==null&&(typeof o!="number"||!l)&&(clearTimeout(fs),fs=null),U9=Array.from(r.touches).map(u=>zv({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if($v!=null){var u=t.getState(),c=Zl(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=U9)===null||d===void 0?void 0:d[0];if(f==null){Wu=null,fs=null;return}var p=jv(u,f);p?.activeIndex!=null&&t.dispatch(Jx({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var v,y=$v.touches[0];if(document.elementFromPoint==null||y==null)return;var h=document.elementFromPoint(y.clientX,y.clientY);if(!h||!h.getAttribute)return;var m=h.getAttribute(p0),g=(v=h.getAttribute(m0))!==null&&v!==void 0?v:void 0,x=Jl(u).find(w=>w.id===g);if(m==null||x==null||g==null)return;var b=x.dataKey,S=$9(u,m,g);t.dispatch(Zx({activeDataKey:b,activeIndex:m,activeCoordinate:S,activeGraphicalItemId:g}))}Wu=null,fs=null}};if(!l){s();return}o==="raf"?Wu=requestAnimationFrame(s):typeof o=="number"&&fs===null&&(s(),$v=null,fs=setTimeout(()=>{$v?s():(fs=null,Wu=null)},o))}}});var Uv={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},F9=Ct({name:"eventSettings",initialState:Uv,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=tt(t.payload.throttledEvents))}}}),W9=F9.actions.setEventSettings;var H9=F9.reducer;var jie=Fh({brush:dB,cartesianAxis:XL,chartData:sz,errorBars:KB,eventSettings:H9,graphicalItems:IL,layout:nD,legend:OD,options:nz,polarAxis:rL,polarOptions:B9,referenceElements:mB,renderedTicks:MB,rootProps:I9,tooltip:fj,zIndex:Yj}),V9=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return $P({reducer:jie,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([sE.middleware,uE.middleware,Lv.middleware,mE.middleware,gE.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(dk({type:"raf"}))},devTools:Ga.devToolsEnabled&&{serialize:{replacer:M9},name:"recharts-".concat(r)}})};function p1(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=Et(),o=(0,q9.useRef)(null);if(a)return r;o.current==null&&(o.current=V9(t,n));var i=um;return K9.createElement(LD,{context:i,store:o.current},r)}var m1=te(ne());function zie(e){var t=e.layout,r=e.margin,n=Ve(),a=Et();return(0,m1.useEffect)(()=>{a||(n(eD(t)),n(mk(r)))},[n,a,t,r]),null}var v1=(0,m1.memo)(zie,Jn);var Y9=te(ne());function g1(e){var t=Ve();return(0,Y9.useEffect)(()=>{t(j9(e))},[t,e]),null}var y1=te(ne());var Lie=e=>{var t=Ve();return(0,y1.useEffect)(()=>{t(W9(e))},[t,e]),null},h1=(0,y1.memo)(Lie,Jn);var Ri=te(ne()),e7=te(ne());var Vu=te(ne()),hE=te(ne());var Hu=te(ne()),x1=te(ne());function G9(e){var t=e.zIndex,r=e.isPanorama,n=(0,x1.useRef)(null),a=Ve();return(0,x1.useLayoutEffect)(()=>(n.current&&a(Kj({zIndex:t,element:n.current,isPanorama:r})),()=>{a(qj({zIndex:t,isPanorama:r}))}),[a,t,r]),Hu.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function yE(e){var t=e.children,r=e.isPanorama,n=we(Uj);if(!n||n.length===0)return t;var a=n.filter(i=>i<0),o=n.filter(i=>i>0);return Hu.createElement(Hu.Fragment,null,a.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})),t,o.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})))}var Bie=["children"];function $ie(e,t){if(e==null)return{};var r,n,a=Uie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Pd(),n=Dd(),a=N0();if(!Xn(r)||!Xn(n))return null;var o=e.children,i=e.otherAttributes,l=e.title,s=e.desc,u,c;return i!=null&&(typeof i.tabIndex=="number"?u=i.tabIndex:u=a?0:void 0,typeof i.role=="string"?c=i.role:c=a?"application":void 0),Vu.createElement(tm,b1({},i,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:Fie,ref:t}),o)}),Hie=e=>{var t=e.children,r=we(tu);if(!r)return null;var n=r.width,a=r.height,o=r.y,i=r.x;return Vu.createElement(tm,{width:n,height:a,x:i,y:o},t)},xE=(0,hE.forwardRef)((e,t)=>{var r=e.children,n=$ie(e,Bie),a=Et();return a?Vu.createElement(Hie,null,Vu.createElement(yE,{isPanorama:!0},r)):Vu.createElement(Wie,b1({ref:t},n),Vu.createElement(yE,{isPanorama:!1},r))});var dr=te(ne()),gt=te(ne());var w1=te(ne());function Vie(e,t){return Gie(e)||Yie(e,t)||qie(e,t)||Kie()}function Kie(){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 oX(e,t){if(e){if(typeof e=="string")return o6(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)?o6(e,t):void 0}}function o6(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=_m(e,2),r=t[0],n=t[1],a=r,o=n;return r>n&&(a=n,o=r),[a,o]},Fk=(e,t,r)=>{if(e.lte(0))return new wt.default(0);var n=$k(e.toNumber()),a=new wt.default(10).pow(n),o=e.div(a),i=n!==1?.05:.1,l=new wt.default(Math.ceil(o.div(i).toNumber())).add(r).mul(i),s=l.mul(a);return t?new wt.default(s.toNumber()):new wt.default(Math.ceil(s.toNumber()))},l6=(e,t,r)=>{var n;if(e.lte(0))return new wt.default(0);var a=[1,2,2.5,5],o=e.toNumber(),i=Math.floor(new wt.default(o).abs().log(10).toNumber()),l=new wt.default(10).pow(i),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 wt.default(10).pow(c))}var d=(n=a[u])!==null&&n!==void 0?n:1,f=new wt.default(d).mul(l);return t?f:new wt.default(Math.ceil(f.toNumber()))},sX=(e,t,r)=>{var n=new wt.default(1),a=new wt.default(e);if(!a.isint()&&r){var o=Math.abs(e);o<1?(n=new wt.default(10).pow($k(e)-1),a=new wt.default(Math.floor(a.div(n).toNumber())).mul(n)):o>1&&(a=new wt.default(Math.floor(e)))}else e===0?a=new wt.default(Math.floor((t-1)/2)):r||(a=new wt.default(Math.floor(e)));for(var i=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Fk;if(!Number.isFinite((r-t)/(n-1)))return{step:new wt.default(0),tickMin:new wt.default(0),tickMax:new wt.default(0)};var l=i(new wt.default(r).sub(t).div(n-1),a,o),s;t<=0&&r>=0?s=new wt.default(0):(s=new wt.default(t).add(r).div(2),s=s.sub(new wt.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new wt.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?s6(t,r,n,a,o+1,i):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new wt.default(u).mul(l)),tickMax:s.add(new wt.default(c).mul(l))})};var V0=function(t){var r=_m(t,2),n=r[0],a=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(o,2),u=i6([n,a]),c=_m(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),f];return n>a?p.reverse():p}if(d===f)return sX(d,o,i);var m=l==="snap125"?l6:Fk,g=s6(d,f,s,i,0,m),h=g.step,v=g.tickMin,y=g.tickMax,b=Uk(v,y.add(new wt.default(.1).mul(h)),h);return n>a?b.reverse():b},K0=function(t,r){var n=_m(t,2),a=n[0],o=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=i6([a,o]),u=_m(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[a,o];if(c===d)return[c];var f=l==="snap125"?l6:Fk,p=Math.max(r,2),m=f(new wt.default(d).sub(c).div(p-1),i,0),g=[...Uk(new wt.default(c),new wt.default(d),m),d];if(i===!1){g=g.map(v=>Math.round(v));var h=g.length-1;h>0&&g[h]===g[h-1]&&(g=g.slice(0,h))}return a>o?g.reverse():g};var Wk=e=>e.rootProps.maxBarSize,u6=e=>e.rootProps.barGap,q0=e=>e.rootProps.barCategoryGap,c6=e=>e.rootProps.barSize,Ul=e=>e.rootProps.stackOffset,Y0=e=>e.rootProps.reverseStackOrder,$d=e=>e.options.chartName,G0=e=>e.rootProps.syncId,Hk=e=>e.rootProps.syncMethod,X0=e=>e.options.eventEmitter,d6=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 Fl={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 bo={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 su=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function uu(e,t,r){if(r!=="auto")return r;if(e!=null)return wn(e,t)?"category":"number"}function f6(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 Z0(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Q0=J([fX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"angleAxis",p6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},p6),{},{type:n})}),pX=(e,t)=>e.polarAxis.radiusAxis[t],J0=J([pX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"radiusAxis",m6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},m6),{},{type:n})}),R0=e=>e.polarOptions,Vk=J([on,ln,jt],j0),v6=J([R0,Vk],(e,t)=>{if(e!=null)return vr(e.innerRadius,t,0)}),g6=J([R0,Vk],(e,t)=>{if(e!=null)return vr(e.outerRadius,t,t*.8)}),mX=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},Kk=J([R0],mX),_0e=J([Q0,Kk],su),qk=J([Vk,v6,g6],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),O0e=J([J0,qk],su),ex=J([qe,R0,v6,g6,on,ln],(e,t,r,n,a,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var i=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:vr(i,a,a/2),cy:vr(l,o,o/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var nr=(e,t)=>t;var cu=(e,t,r)=>r;function Wl(e){return e?.id}function tx(e,t,r){var n=t.chartData,a=n===void 0?[]:n,o=r.allowDuplicatedCategory,i=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=Wl(s);c.forEach((f,p)=>{var m=i==null||o?p:String(Qe(f,i,null)),g=Qe(f,s.dataKey,0),h;l.has(m)?h=l.get(m):h={},Object.assign(h,{[d]:g}),l.set(m,h)})}}),Array.from(l.values())}function du(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var fu=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Ud(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function y6(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 Hl=e=>e.tooltip.settings.axisId;function Om(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(o){function i(){return o.apply(this,arguments)}return i.toString=function(){return o.toString()},i})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(o){var i=a[0],l=a[1];return i<=l?o>=i&&o<=l:o>=l&&o<=i},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,i)=>{var l=e(o);if(l!=null){if(e.bandwidth&&i!==null&&i!==void 0&&i.position){var s=e.bandwidth();switch(i.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var rx=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Aa(t)){for(var r,n,a=0;an)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var Zm={};fU(Zm,{scaleBand:()=>Dm,scaleDiverging:()=>Lx,scaleDivergingLog:()=>NN,scaleDivergingPow:()=>Bx,scaleDivergingSqrt:()=>$I,scaleDivergingSymlog:()=>CN,scaleIdentity:()=>wx,scaleImplicit:()=>ux,scaleLinear:()=>bx,scaleLog:()=>Sx,scaleOrdinal:()=>Hd,scalePoint:()=>k6,scalePow:()=>Vm,scaleQuantile:()=>Nx,scaleQuantize:()=>Cx,scaleRadial:()=>kx,scaleSequential:()=>Dx,scaleSequentialLog:()=>AN,scaleSequentialPow:()=>Ix,scaleSequentialQuantile:()=>jx,scaleSequentialSqrt:()=>BI,scaleSequentialSymlog:()=>kN,scaleSqrt:()=>iI,scaleSymlog:()=>Ax,scaleThreshold:()=>Ex,scaleTime:()=>wN,scaleUtc:()=>SN,tickFormat:()=>$m});function In(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Yk(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function pu(e){let t,r,n;e.length!==2?(t=In,r=(l,s)=>In(e(l),s),n=(l,s)=>e(l)-s):(t=e===In||e===Yk?e:vX,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:i,right:o}}function vX(){return 0}function Tm(e){return e===null?NaN:+e}function*h6(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 x6=pu(In),b6=x6.right,gX=x6.left,yX=pu(Tm).center,wo=b6;var Fd=class extends Map{constructor(t,r=bX){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(w6(this,t))}has(t){return super.has(w6(this,t))}set(t,r){return super.set(hX(this,t),r)}delete(t){return super.delete(xX(this,t))}};function w6({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function hX({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function xX({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function bX(e){return e!==null&&typeof e=="object"?e.valueOf():e}function S6(e=In){if(e===In)return Gk;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 Gk(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var wX=Math.sqrt(50),SX=Math.sqrt(10),AX=Math.sqrt(2);function nx(e,t,r){let n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),o=n/Math.pow(10,a),i=o>=wX?10:o>=SX?5:o>=AX?2:1,l,s,u;return a<0?(u=Math.pow(10,-a)/i,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,a)*i,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=o-a+1,s=new Array(l);if(n)if(i<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 ox(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 ix(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?Gk:S6(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)),m=Math.min(n,Math.floor(t+(s-u)*d/s+f));ix(e,t,p,m,a)}let o=e[t],i=r,l=n;for(Pm(e,r,t),a(e[n],o)>0&&Pm(e,r,n);i0;)--l}a(e[r],o)===0?Pm(e,r,l):(++l,Pm(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Pm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function lx(e,t,r){if(e=Float64Array.from(h6(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return ox(e);if(t>=1)return ax(e);var n,a=(n-1)*t,o=Math.floor(a),i=ax(ix(e,o).subarray(0,o+1)),l=ox(e.subarray(o+1));return i+(l-i)*(a-o)}}function Xk(e,t,r=Tm){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,o=Math.floor(a),i=+r(e[o],o,e),l=+r(e[o+1],o+1,e);return i+(l-i)*(a-o)}}function sx(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,o=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?dx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?dx(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=NX.exec(e))?new ea(t[1],t[2],t[3],1):(t=CX.exec(e))?new ea(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=EX.exec(e))?dx(t[1],t[2],t[3],t[4]):(t=_X.exec(e))?dx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=OX.exec(e))?M6(t[1],t[2]/100,t[3]/100,1):(t=TX.exec(e))?M6(t[1],t[2]/100,t[3]/100,t[4]):N6.hasOwnProperty(e)?_6(N6[e]):e==="transparent"?new ea(NaN,NaN,NaN,0):null}function _6(e){return new ea(e>>16&255,e>>8&255,e&255,1)}function dx(e,t,r,n){return n<=0&&(e=t=r=NaN),new ea(e,t,r,n)}function DX(e){return e instanceof zm||(e=Vl(e)),e?(e=e.rgb(),new ea(e.r,e.g,e.b,e.opacity)):new ea}function Kd(e,t,r,n){return arguments.length===1?DX(e):new ea(e,t,r,n??1)}function ea(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}cx(ea,Kd,Zk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ea(gu(this.r),gu(this.g),gu(this.b),mx(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:O6,formatHex:O6,formatHex8:IX,formatRgb:T6,toString:T6}));function O6(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}`}function IX(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}${vu((isNaN(this.opacity)?1:this.opacity)*255)}`}function T6(){let e=mx(this.opacity);return`${e===1?"rgb(":"rgba("}${gu(this.r)}, ${gu(this.g)}, ${gu(this.b)}${e===1?")":`, ${e})`}`}function mx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function gu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vu(e){return e=gu(e),(e<16?"0":"")+e.toString(16)}function M6(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new So(e,t,r,n)}function D6(e){if(e instanceof So)return new So(e.h,e.s,e.l,e.opacity);if(e instanceof zm||(e=Vl(e)),!e)return new So;if(e instanceof So)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),i=NaN,l=o-a,s=(o+a)/2;return l?(t===o?i=(r-n)/l+(r0&&s<1?0:i,new So(i,l,s,e.opacity)}function I6(e,t,r,n){return arguments.length===1?D6(e):new So(e,t,r,n??1)}function So(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}cx(So,I6,Zk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new So(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new So(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 ea(Qk(e>=240?e-240:e+120,a,n),Qk(e,a,n),Qk(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new So(P6(this.h),fx(this.s),fx(this.l),mx(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=mx(this.opacity);return`${e===1?"hsl(":"hsla("}${P6(this.h)}, ${fx(this.s)*100}%, ${fx(this.l)*100}%${e===1?")":`, ${e})`}`}}));function P6(e){return e=(e||0)%360,e<0?e+360:e}function fx(e){return Math.max(0,Math.min(1,e||0))}function Qk(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 Jk(e,t,r,n,a){var o=e*e,i=o*e;return((1-3*e+3*o-i)*t+(4-6*o+3*i)*r+(1+3*e+3*o-3*i)*n+i*a)/6}function j6(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],o=e[n+1],i=n>0?e[n-1]:2*a-o,l=n()=>e;function jX(e,t){return function(r){return e+r*t}}function zX(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 L6(e){return(e=+e)==1?vx:function(t,r){return r-t?zX(t,r,e):Lm(isNaN(t)?r:t)}}function vx(e,t){var r=t-e;return r?jX(e,r):Lm(isNaN(e)?t:e)}var Rk=(function e(t){var r=L6(t);function n(a,o){var i=r((a=Kd(a)).r,(o=Kd(o)).r),l=r(a.g,o.g),s=r(a.b,o.b),u=vx(a.opacity,o.opacity);return function(c){return a.r=i(c),a.g=l(c),a.b=s(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);function B6(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),o=new Array(r),i,l;for(i=0;ir&&(o=t.slice(r,o),l[i]?l[i]+=o:l[++i]=o),(n=n[0])===(a=a[0])?l[i]?l[i]+=a:l[++i]=a:(l[++i]=null,s.push({i,x:Kl(n,a)})),r=eN.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function UX(e,t,r){var n=e[0],a=e[1],o=t[0],i=t[1];return a2?FX:UX,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?o:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(a((u||(u=l(t,e.map(n),Kl)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,ql),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=yu,c()},d.clamp=function(f){return arguments.length?(i=f?!0:Gr,c()):i!==Gr},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(o=f,d):o},function(f,p){return n=f,a=p,c()}}function xu(){return hu()(Gr,Gr)}function q6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function bu(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 Ko(e){return e=bu(Math.abs(e)),e?e[1]:NaN}function Y6(e,t){return function(r,n){for(var a=r.length,o=[],i=0,l=e[0],s=0;a>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),o.push(r.substring(a-=l,a+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return o.reverse().join(t)}}function G6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var WX=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function qo(e){if(!(t=WX.exec(e)))throw new Error("invalid format: "+e);var t;return new yx({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]})}qo.prototype=yx.prototype;function yx(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+""}yx.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 X6(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 Bm;function Z6(e,t){var r=bu(e,t);if(!r)return Bm=void 0,e.toPrecision(t);var n=r[0],a=r[1],o=a-(Bm=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,i=n.length;return o===i?n:o>i?n+new Array(o-i+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+bu(e,Math.max(0,t+o-1))[0]}function aN(e,t){var r=bu(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 oN={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:q6,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)=>aN(e*100,t),r:aN,s:Z6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function iN(e){return e}var Q6=Array.prototype.map,J6=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function R6(e){var t=e.grouping===void 0||e.thousands===void 0?iN:Y6(Q6.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+"",o=e.numerals===void 0?iN:G6(Q6.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d,f){d=qo(d);var p=d.fill,m=d.align,g=d.sign,h=d.symbol,v=d.zero,y=d.width,b=d.comma,x=d.precision,S=d.trim,w=d.type;w==="n"?(b=!0,w="g"):oN[w]||(x===void 0&&(x=12),S=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var O=(f&&f.prefix!==void 0?f.prefix:"")+(h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),k=(h==="$"?n:/[%p]/.test(w)?i:"")+(f&&f.suffix!==void 0?f.suffix:""),A=oN[w],M=/[defgprs%]/.test(w);x=x===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function W(L){var H=O,D=k,Y,N,_;if(w==="c")D=A(L)+D,L="";else{L=+L;var z=L<0||1/L<0;if(L=isNaN(L)?s:A(Math.abs(L),x),S&&(L=X6(L)),z&&+L==0&&g!=="+"&&(z=!1),H=(z?g==="("?g:l:g==="-"||g==="("?"":g)+H,D=(w==="s"&&!isNaN(L)&&Bm!==void 0?J6[8+Bm/3]:"")+D+(z&&g==="("?")":""),M){for(Y=-1,N=L.length;++Y_||_>57){D=(_===46?a+L.slice(Y+1):L.slice(Y))+D,L=L.slice(0,Y);break}}}b&&!v&&(L=t(L,1/0));var j=H.length+L.length+D.length,P=j>1)+H+L+D+P.slice(j);break;default:L=P+H+L+D;break}return o(L)}return W.toString=function(){return d+""},W}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(Ko(f)/3)))*3,m=Math.pow(10,-p),g=u((d=qo(d),d.type="f",d),{suffix:J6[8+p/3]});return function(h){return g(m*h)}}return{format:u,formatPrefix:c}}var hx,qd,xx;lN({thousands:",",grouping:[3],currency:["$",""]});function lN(e){return hx=R6(e),qd=hx.format,xx=hx.formatPrefix,hx}function sN(e){return Math.max(0,-Ko(Math.abs(e)))}function uN(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ko(t)/3)))*3-Ko(Math.abs(e)))}function cN(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ko(t)-Ko(e))+1}function $m(e,t,r,n){var a=Wd(e,t,r),o;switch(n=qo(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=uN(a,i))&&(n.precision=o),xx(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=cN(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=sN(a))&&(n.precision=o-(n.type==="%")*2);break}}return qd(n)}function jn(e){var t=e.domain;return e.ticks=function(r){var n=t();return mu(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return $m(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,o=n.length-1,i=n[a],l=n[o],s,u,c=10;for(l0;){if(u=Mm(i,l,r),u===s)return n[a]=i,n[o]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function bx(){var e=xu();return e.copy=function(){return Vo(e,bx())},sr.apply(e,arguments),jn(e)}function wx(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,ql),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return wx(e).unknown(t)},e=arguments.length?Array.from(e,ql):[0,1],jn(r)}function Um(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],o=e[n],i;return oMath.pow(e,t)}function YX(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 rI(e){return(t,r)=>-e(-t,r)}function Fm(e){let t=e(eI,tI),r=t.domain,n=10,a,o;function i(){return a=YX(n),o=qX(n),r()[0]<0?(a=rI(a),o=rI(o),e(HX,VX)):e(eI,tI),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(m=1;mc)break;v.push(g)}}else for(;f<=p;++f)for(m=n-1;m>=1;--m)if(g=f>0?m/o(-f):m*o(f),!(gc)break;v.push(g)}v.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=qo(s)).precision==null&&(s.trim=!0),s=qd(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/o(Math.round(a(c)));return d*nr(Um(r(),{floor:l=>o(Math.floor(a(l))),ceil:l=>o(Math.ceil(a(l)))})),t}function Sx(){let e=Fm(hu()).domain([1,10]);return e.copy=()=>Vo(e,Sx()).base(e.base()),sr.apply(e,arguments),e}function nI(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function aI(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Wm(e){var t=1,r=e(nI(t),aI(t));return r.constant=function(n){return arguments.length?e(nI(t=+n),aI(t)):t},jn(r)}function Ax(){var e=Wm(hu());return e.copy=function(){return Vo(e,Ax()).constant(e.constant())},sr.apply(e,arguments)}function oI(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function GX(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function XX(e){return e<0?-e*e:e*e}function Hm(e){var t=e(Gr,Gr),r=1;function n(){return r===1?e(Gr,Gr):r===.5?e(GX,XX):e(oI(r),oI(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},jn(t)}function Vm(){var e=Hm(hu());return e.copy=function(){return Vo(e,Vm()).exponent(e.exponent())},sr.apply(e,arguments),e}function iI(){return Vm.apply(null,arguments).exponent(.5)}function lI(e){return Math.sign(e)*e*e}function ZX(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function kx(){var e=xu(),t=[0,1],r=!1,n;function a(o){var i=ZX(e(o));return isNaN(i)?n:r?Math.round(i):i}return a.invert=function(o){return e.invert(lI(o))},a.domain=function(o){return arguments.length?(e.domain(o),a):e.domain()},a.range=function(o){return arguments.length?(e.range((t=Array.from(o,ql)).map(lI)),a):t.slice()},a.rangeRound=function(o){return a.range(o).round(!0)},a.round=function(o){return arguments.length?(r=!!o,a):r},a.clamp=function(o){return arguments.length?(e.clamp(o),a):e.clamp()},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return kx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},sr.apply(a,arguments),jn(a)}function Nx(){var e=[],t=[],r=[],n;function a(){var i=0,l=Math.max(1,t.length);for(r=new Array(l-1);++i0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},i.unknown=function(s){return arguments.length&&(o=s),i},i.thresholds=function(){return n.slice()},i.copy=function(){return Cx().domain([e,t]).range(a).unknown(o)},sr.apply(jn(i),arguments)}function Ex(){var e=[.5],t=[0,1],r,n=1;function a(o){return o!=null&&o<=o?t[wo(e,o,0,n)]:r}return a.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(o){var i=t.indexOf(o);return[e[i-1],e[i]]},a.unknown=function(o){return arguments.length?(r=o,a):r},a.copy=function(){return Ex().domain(e).range(t).unknown(r)},sr.apply(a,arguments)}var dN=new Date,fN=new Date;function Wt(e,t,r,n){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return a.floor=o=>(e(o=new Date(+o)),o),a.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),a.round=o=>{let i=a(o),l=a.ceil(o);return o-i(t(o=new Date(+o),i==null?1:Math.floor(i)),o),a.range=(o,i,l)=>{let s=[];if(o=a.ceil(o),l=l==null?1:Math.floor(l),!(o0))return s;let u;do s.push(u=new Date(+o)),t(o,l),e(o);while(uWt(i=>{if(i>=i)for(;e(i),!o(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!o(i););else for(;--l>=0;)for(;t(i,1),!o(i););}),r&&(a.count=(o,i)=>(dN.setTime(+o),fN.setTime(+i),e(dN),e(fN),Math.floor(r(dN,fN))),a.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(n?i=>n(i)%o===0:i=>a.count(0,i)%o===0):a)),a}var Km=Wt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Km.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Wt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Km);var lwe=Km.range;var Qa=Wt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),sI=Qa.range;var Yd=Wt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),QX=Yd.range,Gd=Wt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),JX=Gd.range;var Xd=Wt(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()),RX=Xd.range,Zd=Wt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),eZ=Zd.range;var Di=Wt(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),tZ=Di.range,Au=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),rZ=Au.range,_x=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),nZ=_x.range;function ku(e){return Wt(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 Ii=ku(0),Qd=ku(1),cI=ku(2),dI=ku(3),Yl=ku(4),fI=ku(5),pI=ku(6),mI=Ii.range,aZ=Qd.range,oZ=cI.range,iZ=dI.range,lZ=Yl.range,sZ=fI.range,uZ=pI.range;function Nu(e){return Wt(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 ji=Nu(0),Jd=Nu(1),vI=Nu(2),gI=Nu(3),Gl=Nu(4),yI=Nu(5),hI=Nu(6),xI=ji.range,cZ=Jd.range,dZ=vI.range,fZ=gI.range,pZ=Gl.range,mZ=yI.range,vZ=hI.range;var Rd=Wt(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()),gZ=Rd.range,ef=Wt(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()),yZ=ef.range;var Na=Wt(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());Na.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(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 hZ=Na.range,Ca=Wt(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());Ca.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(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 xZ=Ca.range;function wI(e,t,r,n,a,o){let i=[[Qa,1,1e3],[Qa,5,5*1e3],[Qa,15,15*1e3],[Qa,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,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=ch).right(i,f);if(p===i.length)return e.every(Wd(u/31536e6,c/31536e6,d));if(p===0)return Km.every(Math.max(Wd(u,c,d),1));let[m,g]=i[f/i[p-1][2]53)return null;"w"in I||(I.w=1),"Z"in I?(T=hN(Ym(I.y,0,1)),X=T.getUTCDay(),T=X>4||X===0?Jd.ceil(T):Jd(T),T=Au.offset(T,(I.V-1)*7),I.y=T.getUTCFullYear(),I.m=T.getUTCMonth(),I.d=T.getUTCDate()+(I.w+6)%7):(T=yN(Ym(I.y,0,1)),X=T.getDay(),T=X>4||X===0?Qd.ceil(T):Qd(T),T=Di.offset(T,(I.V-1)*7),I.y=T.getFullYear(),I.m=T.getMonth(),I.d=T.getDate()+(I.w+6)%7)}else("W"in I||"U"in I)&&("w"in I||(I.w="u"in I?I.u%7:"W"in I?1:0),X="Z"in I?hN(Ym(I.y,0,1)).getUTCDay():yN(Ym(I.y,0,1)).getDay(),I.m=0,I.d="W"in I?(I.w+6)%7+I.W*7-(X+5)%7:I.w+I.U*7-(X+6)%7);return"Z"in I?(I.H+=I.Z/100|0,I.M+=I.Z%100,hN(I)):yN(I)}}function k(le,Te,K,I){for(var C=0,T=Te.length,X=K.length,$,Ne;C=X)return-1;if($=Te.charCodeAt(C++),$===37){if($=Te.charAt(C++),Ne=S[$ in SI?Te.charAt(C++):$],!Ne||(I=Ne(le,K,I))<0)return-1}else if($!=K.charCodeAt(I++))return-1}return I}function A(le,Te,K){var I=u.exec(Te.slice(K));return I?(le.p=c.get(I[0].toLowerCase()),K+I[0].length):-1}function M(le,Te,K){var I=p.exec(Te.slice(K));return I?(le.w=m.get(I[0].toLowerCase()),K+I[0].length):-1}function W(le,Te,K){var I=d.exec(Te.slice(K));return I?(le.w=f.get(I[0].toLowerCase()),K+I[0].length):-1}function L(le,Te,K){var I=v.exec(Te.slice(K));return I?(le.m=y.get(I[0].toLowerCase()),K+I[0].length):-1}function H(le,Te,K){var I=g.exec(Te.slice(K));return I?(le.m=h.get(I[0].toLowerCase()),K+I[0].length):-1}function D(le,Te,K){return k(le,t,Te,K)}function Y(le,Te,K){return k(le,r,Te,K)}function N(le,Te,K){return k(le,n,Te,K)}function _(le){return i[le.getDay()]}function z(le){return o[le.getDay()]}function j(le){return s[le.getMonth()]}function P(le){return l[le.getMonth()]}function B(le){return a[+(le.getHours()>=12)]}function R(le){return 1+~~(le.getMonth()/3)}function F(le){return i[le.getUTCDay()]}function G(le){return o[le.getUTCDay()]}function ee(le){return s[le.getUTCMonth()]}function fe(le){return l[le.getUTCMonth()]}function de(le){return a[+(le.getUTCHours()>=12)]}function De(le){return 1+~~(le.getUTCMonth()/3)}return{format:function(le){var Te=w(le+="",b);return Te.toString=function(){return le},Te},parse:function(le){var Te=O(le+="",!1);return Te.toString=function(){return le},Te},utcFormat:function(le){var Te=w(le+="",x);return Te.toString=function(){return le},Te},utcParse:function(le){var Te=O(le+="",!0);return Te.toString=function(){return le},Te}}}var SI={"-":"",_:" ",0:"0"},sn=/^\s*\d+/,wZ=/^%/,SZ=/[\\^$*+?|[\]().{}]/g;function _t(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",o=a.length;return n+(o[t.toLowerCase(),r]))}function kZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function NZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function CZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function EZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function _Z(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function AI(e,t,r){var n=sn.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function kI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function OZ(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 TZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function MZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function NI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function PZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function CI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function DZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function IZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function jZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function zZ(e,t,r){var n=sn.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function LZ(e,t,r){var n=wZ.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function BZ(e,t,r){var n=sn.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function $Z(e,t,r){var n=sn.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function EI(e,t){return _t(e.getDate(),t,2)}function UZ(e,t){return _t(e.getHours(),t,2)}function FZ(e,t){return _t(e.getHours()%12||12,t,2)}function WZ(e,t){return _t(1+Di.count(Na(e),e),t,3)}function PI(e,t){return _t(e.getMilliseconds(),t,3)}function HZ(e,t){return PI(e,t)+"000"}function VZ(e,t){return _t(e.getMonth()+1,t,2)}function KZ(e,t){return _t(e.getMinutes(),t,2)}function qZ(e,t){return _t(e.getSeconds(),t,2)}function YZ(e){var t=e.getDay();return t===0?7:t}function GZ(e,t){return _t(Ii.count(Na(e)-1,e),t,2)}function DI(e){var t=e.getDay();return t>=4||t===0?Yl(e):Yl.ceil(e)}function XZ(e,t){return e=DI(e),_t(Yl.count(Na(e),e)+(Na(e).getDay()===4),t,2)}function ZZ(e){return e.getDay()}function QZ(e,t){return _t(Qd.count(Na(e)-1,e),t,2)}function JZ(e,t){return _t(e.getFullYear()%100,t,2)}function RZ(e,t){return e=DI(e),_t(e.getFullYear()%100,t,2)}function eQ(e,t){return _t(e.getFullYear()%1e4,t,4)}function tQ(e,t){var r=e.getDay();return e=r>=4||r===0?Yl(e):Yl.ceil(e),_t(e.getFullYear()%1e4,t,4)}function rQ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+_t(t/60|0,"0",2)+_t(t%60,"0",2)}function _I(e,t){return _t(e.getUTCDate(),t,2)}function nQ(e,t){return _t(e.getUTCHours(),t,2)}function aQ(e,t){return _t(e.getUTCHours()%12||12,t,2)}function oQ(e,t){return _t(1+Au.count(Ca(e),e),t,3)}function II(e,t){return _t(e.getUTCMilliseconds(),t,3)}function iQ(e,t){return II(e,t)+"000"}function lQ(e,t){return _t(e.getUTCMonth()+1,t,2)}function sQ(e,t){return _t(e.getUTCMinutes(),t,2)}function uQ(e,t){return _t(e.getUTCSeconds(),t,2)}function cQ(e){var t=e.getUTCDay();return t===0?7:t}function dQ(e,t){return _t(ji.count(Ca(e)-1,e),t,2)}function jI(e){var t=e.getUTCDay();return t>=4||t===0?Gl(e):Gl.ceil(e)}function fQ(e,t){return e=jI(e),_t(Gl.count(Ca(e),e)+(Ca(e).getUTCDay()===4),t,2)}function pQ(e){return e.getUTCDay()}function mQ(e,t){return _t(Jd.count(Ca(e)-1,e),t,2)}function vQ(e,t){return _t(e.getUTCFullYear()%100,t,2)}function gQ(e,t){return e=jI(e),_t(e.getUTCFullYear()%100,t,2)}function yQ(e,t){return _t(e.getUTCFullYear()%1e4,t,4)}function hQ(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Gl(e):Gl.ceil(e),_t(e.getUTCFullYear()%1e4,t,4)}function xQ(){return"+0000"}function OI(){return"%"}function TI(e){return+e}function MI(e){return Math.floor(+e/1e3)}var tf,Ox,zI,Tx,LI;bN({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 bN(e){return tf=xN(e),Ox=tf.format,zI=tf.parse,Tx=tf.utcFormat,LI=tf.utcParse,tf}function bQ(e){return new Date(e)}function wQ(e){return e instanceof Date?+e:+new Date(+e)}function Mx(e,t,r,n,a,o,i,l,s,u){var c=xu(),d=c.invert,f=c.domain,p=u(".%L"),m=u(":%S"),g=u("%I:%M"),h=u("%I %p"),v=u("%a %d"),y=u("%b %d"),b=u("%B"),x=u("%Y");function S(w){return(s(w)t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,o)=>lx(e,o/n))},r.copy=function(){return jx(t).domain(e)},Za.apply(r,arguments)}function zx(){var e=0,t=.5,r=1,n=1,a,o,i,l,s,u=Gr,c,d=!1,f;function p(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-o)*(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 kQ(n)?n:"point"}};function NQ(e,t){for(var r=0,n=e.length,a=e[0]t)?r=o+1:n=o}return r}function Ux(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var i;return(i=e(o))!==null&&i!==void 0?i:0}),a=e.range();if(!(r.length===0||a.length<2))return o=>{var i,l,s=NQ(n,o);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(i=n[s-1])!==null&&i!==void 0?i:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(o-u)<=Math.abs(o-c)?r[s-1]:r[s]}}}function FI(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):Ux(e,void 0)}function WI(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 Fx(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Go=(e,t)=>{var r=_N(e,t);return r??Mr},Pr={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:EN,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:eu},ON=(e,t)=>e.cartesianAxis.yAxis[t],Xo=(e,t)=>{var r=ON(e,t);return r??Pr},DQ={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:""},TN=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??DQ},ur=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"zAxis":return TN(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},IQ=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Cu=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},MN=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function Rm(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 Xl=e=>e.graphicalItems.cartesianItems,jQ=J([nr,cu],Rm),ev=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),nf=J([Xl,ur,jQ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),qI=J([nf],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(du)),PN=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),zQ=J([nf],PN),tv=e=>e.map(t=>t.data).filter(Boolean).flat(1),LQ=J([nf],e=>e.some(t=>!t.data)),YI=J([nf],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),rv=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(a,o+1)},DN=J([YI,lu],rv),IN=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:Qe(a,n)}))):e.map(n=>({value:n})),jN=(e,t,r,n,a,o)=>{var i=n.chartData,l=i===void 0?[]:i,s=n.dataStartIndex,u=n.dataEndIndex,c=IN(e,t,r);if(a&&t?.dataKey!=null&&o.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:Qe(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},nv=J([DN,ur,nf,lu,LQ,YI],jN);function rf(e){if(Mn(e)||e instanceof Date){var t=Number(e);if(He(t))return t}}function VI(e){if(Array.isArray(e)){var t=[rf(e[0]),rf(e[1])];return Aa(t)?t:void 0}var r=rf(e);if(r!=null)return[r,r]}function Ao(e){return e.map(rf).filter(Yr)}function BQ(e,t){var r=rf(e),n=rf(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var $Q=J([nv],e=>e?.map(t=>t.value).sort(BQ));function GI(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function UQ(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!nn(t))n=t;else if(Array.isArray(t)){var a=Ao(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:Ao(r.flatMap(o=>{var i=Qe(e,o.dataKey),l,s;if(Array.isArray(i)){var u=KI(i,2);l=u[0],s=u[1]}else l=s=i;if(!(!He(l)||!He(s)))return[n-l,n+s]}))}var Dr=e=>{var t=Tr(e),r=Hl(e);return Cu(e,t,r)},Li=J([Dr],e=>e?.dataKey),FQ=J([qI,lu,Dr],tx),zN=(e,t,r,n)=>{var a={},o=t.reduce((i,l)=>{if(l.stackId==null)return i;var s=i[l.stackId];return s==null&&(s=[]),s.push(l),i[l.stackId]=s,i},a);return Object.fromEntries(Object.entries(o).map(i=>{var l=KI(i,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(Wl);return[s,{stackedData:lD(e,d,r),graphicalItems:c}]}))},af=J([FQ,qI,Ul,Y0],zN),LN=(e,t,r,n)=>{var a=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return uD(e,a,o)},WQ=J([ur],e=>e.allowDataOverflow),Wx=e=>{var t;if(e==null||!("domain"in e))return EN;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ao(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:EN},Hx=J([ur],Wx),Vx=J([Hx,WQ],W0),HQ=J([af,Rn,nr,Vx],LN,{memoizeOptions:{resultEqualityCheck:fu}}),of=e=>e.errorBars,VQ=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>GI(r,n)),Jm=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,s;if(n.length>0&&n.forEach(u=>{var c,d=u.data!=null?[...u.data]:i,f=(c=a[u.id])===null||c===void 0?void 0:c.filter(p=>GI(o,p));d.forEach(p=>{var m,g=Qe(p,(m=r.dataKey)!==null&&m!==void 0?m:u.dataKey),h=UQ(p,g,f);if(h.length>=2){var v=Math.min(...h),y=Math.max(...h);(l==null||vs)&&(s=y)}var b=VI(g);b!=null&&(l=l==null?b[0]:Math.min(l,b[0]),s=s==null?b[1]:Math.max(s,b[1]))})}),r?.dataKey!=null&&n.length===0&&t.forEach(u=>{var c=VI(Qe(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]))}),He(l)&&He(s))return[l,s]},KQ=J([DN,ur,zQ,of,nr,J8],av,{memoizeOptions:{resultEqualityCheck:fu}});function qQ(e){var t=e.value;if(Mn(t)||t instanceof Date)return t}var YQ=(e,t,r)=>{var n=e.map(qQ).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&lA(n))?U0(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},BN=e=>e.referenceElements.dots,Eu=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),GQ=J([BN,nr,cu],Eu),$N=e=>e.referenceElements.areas,XQ=J([$N,nr,cu],Eu),UN=e=>e.referenceElements.lines,ZQ=J([UN,nr,cu],Eu),FN=(e,t)=>{if(e!=null){var r=Ao(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},QQ=J(GQ,nr,FN),WN=(e,t)=>{if(e!=null){var r=Ao(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)]}},JQ=J([XQ,nr],WN);function RQ(e){var t;if(e.x!=null)return Ao([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ao(r)}function eJ(e){var t;if(e.y!=null)return Ao([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ao(r)}var HN=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?RQ(n):eJ(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},tJ=J([ZQ,nr],HN),rJ=J(QQ,tJ,JQ,(e,t,r)=>Jm(e,r,t)),ov=(e,t,r,n,a,o,i,l,s)=>{if(r!=null)return r;var u=i==="vertical"&&l==="xAxis"||i==="horizontal"&&l==="yAxis",c=u?Jm(n,o,a):Jm(o,a),d=n6(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},nJ=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=Ao(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},aJ=J([ur],nJ,{memoizeOptions:{resultEqualityCheck:fu}}),oJ=J([ur,Hx,Vx,HQ,KQ,rJ,qe,nr,aJ],ov,{memoizeOptions:{resultEqualityCheck:fu}}),iJ=[0,1],iv=(e,t,r,n,a,o,i)=>{if(!((e==null||r==null||r.length===0)&&i===void 0)){var l=e.dataKey,s=e.type,u=wn(t,o);if(u&&l==null){var c;return U0(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?YQ(n,e,u):a==="expand"&&!u?iJ:i}},VN=J([ur,qe,DN,nv,Ul,nr,oJ],iv),Bi=J([ur,MN,$d],$x),lv=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=Wx(t),o=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Aa(e)){if(o)return V0(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return K0(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Aa(e))return V0(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Aa(e))return K0(e,t.tickCount,t.allowDecimals,"adaptive")}}},KN=J([VN,Cu,Bi],lv),sv=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&Aa(t)&&Array.isArray(r)&&r.length>0){var a,o,i=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,s=t[1],u=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(i,l),Math.max(s,u)]}return t},lJ=J([ur,VN,KN,nr],sv),sJ=J(nv,ur,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ao(e.map(d=>d.value))).sort((d,f)=>d-f),a=n[0],o=n[n.length-1];if(a==null||o==null)return 1/0;var i=o-a;if(i===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!He(e))return 0;var o=t==="vertical"?n.height:n.width;if(a==="gap")return e*o/2;if(a==="no-gap"){var i=vr(r,e*o),l=e*o/2;return l-i-(l-i)/o*i}return 0}),uJ=(e,t,r)=>{var n=Go(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"xAxis",t,r,n.padding)},cJ=(e,t,r)=>{var n=Xo(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"yAxis",t,r,n.padding)},dJ=J(Go,uJ,(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}}),fJ=J(Xo,cJ,(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}}),qN=J([jt,dJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a)=>{var o=n.padding;return a?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),YN=J([jt,qe,fJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a,o)=>{var i=a.padding;return o?[n.height-i.bottom,i.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),lf=(e,t,r,n)=>{var a;switch(t){case"xAxis":return qN(e,r,n);case"yAxis":return YN(e,r,n);case"zAxis":return(a=TN(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return Kk(e);case"radiusAxis":return qk(e,r);default:return}},ZI=J([ur,lf],su),pJ=J([Bi,lJ],rx),GN=J([ur,Bi,pJ,ZI],Qm),XN=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,o=r.scale,i=wn(e,n);if(i&&(a==="number"||o!=="auto"))return t.map(l=>l.value)}},ZN=J([qe,nv,Cu,nr],XN),Kx=J([GN],Om),T2e=J([GN],FI),M2e=J([GN,$Q],Ux),P2e=J([nf,of,nr],VQ);function QI(e,t){return e.idt.id?1:0}var qx=(e,t)=>t,Yx=(e,t,r)=>r,mJ=J(Ed,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),vJ=J(_d,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),JI=(e,t)=>{var r=typeof t.height=="number"?t.height:hm;return{width:e.width,height:r}},gJ=(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}},QN=J(jt,Go,JI),yJ=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},hJ=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},xJ=J(ln,jt,mJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=JI(t,l);i==null&&(i=yJ(t,n,e));var u=n==="top"&&!a||n==="bottom"&&a;o[l.id]=i-Number(u)*s.height,i+=(u?-1:1)*s.height}),o}),bJ=J(on,jt,vJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=gJ(t,l);i==null&&(i=hJ(t,n,e));var u=n==="left"&&!a||n==="right"&&a;o[l.id]=i-Number(u)*s.width,i+=(u?-1:1)*s.width}),o}),wJ=(e,t)=>{var r=Go(e,t);if(r!=null)return xJ(e,r.orientation,r.mirror)},RI=J([jt,Go,wJ,(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}}}),SJ=(e,t)=>{var r=Xo(e,t);if(r!=null)return bJ(e,r.orientation,r.mirror)},ej=J([jt,Xo,SJ,(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}}}),JN=J(jt,Xo,(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}}),RN=(e,t,r)=>{switch(t){case"xAxis":return QN(e,r).width;case"yAxis":return JN(e,r).height;default:return}},eC=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,o=r.type,i=r.dataKey,l=wn(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(i&&l&&o==="category"&&a&&lA(u))return s}},tC=J([qe,nv,ur,nr],eC),rC=J([qe,IQ,Bi,Kx,tC,ZN,lf,KN,nr],(e,t,r,n,a,o,i,l,s)=>{if(t!=null){var u=wn(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:o,duplicateDomain:a,isCategorical:u,niceTicks:l,range:i,realScaleType:r,scale:n}}}),AJ=(e,t,r,n,a,o,i,l,s)=>{if(!(t==null||n==null)){var u=wn(e,s),c=t.type,d=t.ticks,f=t.tickCount,p=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,m=c==="category"&&n.bandwidth?n.bandwidth()/p:0;m=s==="angleAxis"&&o!=null&&o.length>=2?Ft(o[0]-o[1])*2*m:m;var g=d||a;return g?g.map((h,v)=>{var y=i?i.indexOf(h):h,b=n.map(y);return He(b)?{index:v,coordinate:b+m,value:h,offset:m}:null}).filter(Yr):u&&l?l.map((h,v)=>{var y=n.map(h);return He(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(Yr):n.ticks?n.ticks(f).map((h,v)=>{var y=n.map(h);return He(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(Yr):n.domain().map((h,v)=>{var y=n.map(h);return He(y)?{coordinate:y+m,value:i?i[h]:h,index:v,offset:m}:null}).filter(Yr)}},Gx=J([qe,Cu,Bi,Kx,KN,lf,tC,ZN,nr],AJ),kJ=(e,t,r,n,a,o,i)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=wn(e,i),s=t.tickCount,u=0;return u=i==="angleAxis"&&n?.length>=2?Ft(n[0]-n[1])*2*u:u,l&&o?o.map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.domain().map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:a?a[c]:c,index:d,offset:u}:null}).filter(Yr)}},Ea=J([qe,Cu,Kx,lf,tC,ZN,nr],kJ),_a=J(ur,Kx,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),NJ=J([ur,Bi,VN,ZI],Qm),CJ=J([NJ],Om),D2e=J((e,t,r)=>TN(e,r),CJ,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),tj=J([qe,Ed,_d],(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}}),EJ=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},I2e=J([EJ],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var o of e){var i=Math.abs(o.coordinate-t);ie.options.defaultTooltipEventType,aC=e=>e.options.validateTooltipEventTypes;function oC(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Zl(e,t){var r=nC(e),n=aC(e);return oC(t,r,n)}function rj(e){return we(t=>Zl(t,e))}var Xx=(e,t)=>{var r,n=Number(t);if(!(nn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var nj=e=>e.tooltip.settings;var $i={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},_J={itemInteraction:{click:$i,hover:$i},axisInteraction:{click:$i,hover:$i},keyboardInteraction:$i,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}},aj=Ct({name:"tooltip",initialState:_J,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(tt(t.payload))},prepare:Pt()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).tooltipItemPayloads.indexOf(tt(n));o>-1&&(e.tooltipItemPayloads[o]=tt(a))},prepare:Pt()},removeTooltipEntrySettings:{reducer(e,t){var r=yn(e).tooltipItemPayloads.indexOf(tt(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Pt()},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}}}),Ja=aj.actions,oj=Ja.addTooltipEntrySettings,ij=Ja.replaceTooltipEntrySettings,lj=Ja.removeTooltipEntrySettings,sj=Ja.setTooltipSettingsState,Zx=Ja.setActiveMouseOverItemIndex,uj=Ja.mouseLeaveItem,Qx=Ja.mouseLeaveChart,cj=Ja.setActiveClickItemIndex,Jx=Ja.setMouseOverAxisIndex,dj=Ja.setMouseClickAxisIndex,sf=Ja.setSyncInteraction,uv=Ja.setKeyboardInteraction;var fj=aj.reducer;function pj(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 Rx(e){for(var t=1;t{if(t==null)return $i;var a=PJ(e,t,r);if(a==null)return $i;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(DJ(a)){if(o)return Rx(Rx({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Rx(Rx({},$i),{},{coordinate:a.coordinate})};function IJ(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 jJ(e,t){var r=IJ(e),n=t[0],a=t[1];if(r===void 0)return!1;var o=Math.min(n,a),i=Math.max(n,a);return r>=o&&r<=i}function zJ(e,t,r){if(r==null||t==null)return!0;var n=Qe(e,t);return n==null||!Aa(r)?!0:jJ(n,r)}var Ql=(e,t,r,n)=>{var a=e?.index;if(a==null)return null;var o=Number(a);if(!He(o))return a;var i=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(i,Math.min(o,l)),u=t[s];return u==null||zJ(u,r,n)?String(s):null};var tb=(e,t,r,n,a,o,i)=>{if(o!=null){var l=i[0],s=l?.getPosition(o);if(s!=null)return s;var u=a?.[Number(o)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var rb=(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 o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(i=>{var l;return((l=i.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})};var nb=e=>e.options.tooltipPayloadSearcher;var Ui=e=>e.tooltip;function mj(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 vj(e){for(var t=1;te(t)}function gj(e){if(typeof e=="string")return e}function HJ(e){if(!(e==null||typeof e!="object")){var t="name"in e?UJ(e.name):void 0,r="unit"in e?FJ(e.unit):void 0,n="dataKey"in e?WJ(e.dataKey):void 0,a="payload"in e?e.payload:void 0,o="color"in e?gj(e.color):void 0,i="fill"in e?gj(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:o,fill:i}}}function VJ(e,t){return e??t}var ab=(e,t,r,n,a,o,i)=>{if(!(t==null||o==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var m,g=p.dataDefinedOnItem,h=p.settings,v=VJ(g,l),y=Array.isArray(v)?d0(v,u,c):v,b=(m=h?.dataKey)!==null&&m!==void 0?m:n,x=h?.nameKey,S;if(n&&Array.isArray(y)&&!Array.isArray(y[0])&&i==="axis"?(S=Qy(y,n,a),S==null&&(S=o(y,t,s,x))):S=o(y,t,s,x),Array.isArray(S))S.forEach(O=>{var k,A,M=HJ(O),W=M?.name,L=M?.dataKey,H=M?.payload,D=vj(vj({},h),{},{name:W,unit:M?.unit,color:(k=M?.color)!==null&&k!==void 0?k:h?.color,fill:(A=M?.fill)!==null&&A!==void 0?A:h?.fill});f.push(bk({tooltipEntrySettings:D,dataKey:L,payload:H,value:Qe(H,L),name:W==null?void 0:String(W)}))});else{var w;f.push(bk({tooltipEntrySettings:h,dataKey:b,payload:S,value:Qe(S,b),name:(w=Qe(S,x))!==null&&w!==void 0?w:h?.name}))}return f},d)}};var iC=J([Dr,MN,$d],$x),KJ=J([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),qJ=J([Tr,Hl],Rm),Jl=J([KJ,Dr,qJ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),YJ=J([Jl],e=>e.filter(du)),yj=J([Jl],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),GJ=J([Jl],e=>e.some(t=>!t.data)),Fi=J([yj,Rn],rv),XJ=J([YJ,Rn,Dr],tx),lC=J([Fi,Dr,Jl,Rn,GJ,yj],jN),hj=J([Dr],Wx),ZJ=J([Dr],e=>e.allowDataOverflow),xj=J([hj,ZJ],W0),QJ=J([Jl],e=>e.filter(du)),JJ=J([XJ,QJ,Ul,Y0],zN),RJ=J([JJ,Rn,Tr,xj],LN),eR=J([Jl],PN),tR=J([Fi,Dr,eR,of,Tr,e6],av,{memoizeOptions:{resultEqualityCheck:fu}}),rR=J([BN,Tr,Hl],Eu),nR=J([rR,Tr],FN),aR=J([$N,Tr,Hl],Eu),oR=J([aR,Tr],WN),iR=J([UN,Tr,Hl],Eu),lR=J([iR,Tr],HN),sR=J([nR,lR,oR],Jm),uR=J([Dr,hj,xj,RJ,tR,sR,qe,Tr],ov),Rl=J([Dr,qe,Fi,lC,Ul,Tr,uR],iv),cR=J([Rl,Dr,iC],lv),dR=J([Dr,Rl,cR,Tr],sv),bj=e=>{var t=Tr(e),r=Hl(e),n=!1;return lf(e,t,r,n)},sC=J([Dr,bj],su),fR=J([Dr,iC,dR,sC],Qm),uC=J([fR],Om),pR=J([qe,lC,Dr,Tr],eC),mR=J([qe,lC,Dr,Tr],XN),vR=(e,t,r,n,a,o,i,l)=>{if(t){var s=t.type,u=wn(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?Ft(a[0]-a[1])*2*d:d,u&&i?i.map((f,p)=>{var m=n.map(f);return He(m)?{coordinate:m+d,value:f,index:p,offset:d}:null}).filter(Yr):n.domain().map((f,p)=>{var m=n.map(f);return He(m)?{coordinate:m+d,value:o?o[f]:f,index:p,offset:d}:null}).filter(Yr)}}},ta=J([qe,Dr,iC,uC,bj,pR,mR,Tr],vR),cC=J([nC,aC,nj],(e,t,r)=>oC(r.shared,e,t)),wj=e=>e.tooltip.settings.trigger,dC=e=>e.tooltip.settings.defaultIndex,cv=J([Ui,cC,wj,dC],eb),Ra=J([cv,Fi,Li,Rl],Ql),ob=J([ta,Ra],Xx),uf=J([cv],e=>{if(e)return e.dataKey}),ib=J([cv],e=>{if(e)return e.graphicalItemId}),Sj=J([Ui,cC,wj,dC],rb),gR=J([on,ln,qe,jt,ta,dC,Sj],tb),fC=J([cv,gR],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),pC=J([cv],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),yR=J([Sj,Ra,Rn,Li,ob,nb,cC],ab),Aj=J([yR],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function kj(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 Nj(e){for(var t=1;twe(Dr),Cj=()=>{var e=wR(),t=we(ta),r=we(uC);return!e||!r?Ya(void 0,t):Ya(Nj(Nj({},e),{},{scale:r}),t)};function Ej(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 cf(e){for(var t=1;t{var a=t.find(o=>o&&o.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}},Oj=(e,t,r,n)=>{var a=t.find(u=>u&&u.index===r);if(a){if(e==="centric"){var o=a.coordinate,i=n.radius;return cf(cf(cf({},n),qt(n.cx,n.cy,i,o)),{},{angle:o,radius:i})}var l=a.coordinate,s=n.angle;return cf(cf(cf({},n),qt(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 Tj(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 mC=(e,t,r,n,a)=>{var o,i=(o=t?.length)!==null&&o!==void 0?o:0;if(i<=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=(Y,N,_)=>[e,e+l,e-l].some(z=>(_?z>=Y:z>Y)&&z<=N),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[i-1])===null||d===void 0?void 0:d.coordinate,h=(f=r[u])===null||f===void 0?void 0:f.coordinate,v=u>=i-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(m=r[u+1])===null||m===void 0?void 0:m.coordinate,y=void 0;if(!(g==null||h==null||v==null))if(Ft(h-g)!==Ft(v-h)){var b=[];if(Ft(v-h)===Ft(a[1]-a[0])){y=v;var x=h+a[1]-a[0];b[0]=Math.min(x,(x+g)/2),b[1]=Math.max(x,(x+g)/2)}else{y=g;var S=v+a[1]-a[0];b[0]=Math.min(h,(S+h)/2),b[1]=Math.max(h,(S+h)/2)}var w=[Math.min(h,(y+h)/2),Math.max(h,(y+h)/2)];if(s(w[0],w[1],!1)||s(b[0],b[1],!0)){var O;return(O=r[u])===null||O===void 0?void 0:O.index}}else{var k=Math.min(g,v),A=Math.max(g,v);if(s((k+h)/2,(A+h)/2,!1)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}}else if(t)for(var W=0;W(L.coordinate+D.coordinate)/2||W>0&&W(L.coordinate+D.coordinate)/2&&e<=(L.coordinate+H.coordinate)/2)return L.index}}return-1};var lb=()=>we($d),vC=(e,t)=>t,Mj=(e,t,r)=>r,gC=(e,t,r,n)=>n,Pj=J(ta,e=>Oi(e,t=>t.coordinate)),yC=J([Ui,vC,Mj,gC],eb),hC=J([yC,Fi,Li,Rl],Ql),Dj=(e,t,r)=>{if(t!=null){var n=Ui(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Ij=J([Ui,vC,Mj,gC],rb),dv=J([on,ln,qe,jt,ta,gC,Ij],tb),jj=J([yC,dv],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),xC=J([ta,hC],Xx),zj=J([Ij,hC,Rn,Li,xC,nb,vC],ab),Lj=J([yC,hC],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),NR=(e,t,r,n,a,o,i)=>{if(!(!e||!r||!n||!a)&&Tj(e,i)){var l=cD(e,t),s=mC(l,o,a,r,n),u=_j(t,a,s,e);return{activeIndex:String(s),activeCoordinate:u}}},CR=(e,t,r,n,a,o,i)=>{if(!(!e||!n||!a||!o||!r)){var l=U8(e,r);if(l){var s=dD(l,t),u=mC(s,i,o,n,a),c=Oj(t,o,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},Bj=(e,t,r,n,a,o,i,l)=>{if(!(!e||!t||!n||!a||!o))return t==="horizontal"||t==="vertical"?NR(e,t,n,a,o,i,l):CR(e,t,r,n,a,o,i)};var df=te(ne()),Gj=te(rp());var $j=J(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),Uj=J(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:y6}});function Fj(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 Wj(e){for(var t=1;tWj(Wj({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),TR)},PR=new Set(Object.values(dt));function DR(e){return PR.has(e)}var Hj=Ct({name:"zIndex",initialState:MR,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:Pt()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!DR(r)&&delete e.zIndexMap[r])},prepare:Pt()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=tt(a):e.zIndexMap[n].element=tt(a):e.zIndexMap[n]={consumers:0,element:o?void 0:tt(a),panoramaElement:o?tt(a):void 0}},prepare:Pt()},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:Pt()}}}),sb=Hj.actions,Vj=sb.registerZIndexPortal,ub=sb.unregisterZIndexPortal,Kj=sb.registerZIndexPortalElement,qj=sb.unregisterZIndexPortalElement;var Yj=Hj.reducer;function Yt(e){var t=e.zIndex,r=e.children,n=CD(),a=n&&t!==void 0&&t!==0,o=Et(),i=(0,df.useRef)(void 0),l=(0,df.useRef)(new Set),s=Ve(),u=we(d=>$j(d,t,o));if((0,df.useLayoutEffect)(()=>{if(!a){var d=l.current;d.forEach(p=>{s(ub({zIndex:p}))}),d.clear(),i.current=void 0;return}if(l.current.has(t)||(s(Vj({zIndex:t})),l.current.add(t)),u){i.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(ub({zIndex:p})),f.delete(p))})}},[s,t,a,u]),(0,df.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(ub({zIndex:f}))}),d.clear()}},[s]),!a)return r;var c=u??i.current;return c?(0,Gj.createPortal)(r,c):null}function bC(){return bC=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,fb.useContext)(wC);var pv=te(ne());var ez=te(Rj(),1);var tz=ez.default;var pf=new tz;var mb="recharts.syncEvent.tooltip",AC="recharts.syncEvent.brush";var es=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!nn(r))return e[r]}},FR={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},rz=Ct({name:"options",initialState:FR,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),nz=rz.reducer,az=rz.actions.createEventEmitter;function oz(e){return e.tooltip.syncInteraction}var WR={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},iz=Ct({name:"chartData",initialState:WR,reducers:{setChartData(e,t){if(e.chartData=tt(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)}}}),kC=iz.actions,NC=kC.setChartData,lz=kC.setDataStartEndIndexes,HR=kC.setComputedData;var sz=iz.reducer;var VR=["x","y"];function uz(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 mf(e){for(var t=1;ts.rootProps.className);(0,pv.useEffect)(()=>{if(e==null)return Pn;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var f;if(i&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,m=p.x,g=p.y,h=GR(p,VR),v=c.payload.sourceViewBox,y=v.x,b=v.y,x=v.width,S=v.height,w=mf(mf({},h),{},{x:i.x+(x?(m-y)/x:0)*i.width,y:i.y+(S?(g-b)/S:0)*i.height});r(mf(mf({},c),{},{payload:mf(mf({},c.payload),{},{coordinate:w})}))}else r(c);return}if(a!=null){var O;if(typeof n=="function"){var k={activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate},A=n(a,k);O=a[A]}else n==="value"&&(O=a.find(_=>String(_.value)===c.payload.label));var M=c.payload.coordinate;if(M==null||i==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(O==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var W=M.x,L=M.y,H=Math.min(W,i.x+i.width),D=Math.min(L,i.y+i.height),Y={x:o==="horizontal"?O.coordinate:H,y:o==="horizontal"?D:O.coordinate},N=sf({active:c.payload.active,coordinate:Y,dataKey:c.payload.dataKey,index:String(O.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(N)}}};return pf.on(mb,s),()=>{pf.off(mb,s)}},[l,r,t,e,n,a,o,i])}function QR(){var e=we(G0),t=we(X0),r=Ve();(0,pv.useEffect)(()=>{if(e==null)return Pn;var n=(a,o,i)=>{t!==i&&e===a&&r(lz(o))};return pf.on(AC,n),()=>{pf.off(AC,n)}},[r,t,e])}function cz(){var e=Ve();(0,pv.useEffect)(()=>{e(az())},[e]),ZR(),QR()}function dz(e,t,r,n,a,o){var i=we(m=>Dj(m,e,t)),l=we(ib),s=we(X0),u=we(G0),c=we(Hk),d=we(oz),f=d?.sourceViewBox!=null,p=nu();(0,pv.useEffect)(()=>{if(!f&&u!=null&&s!=null){var m=sf({active:o,coordinate:r,dataKey:i,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});pf.emit(mb,u,m,s)}},[f,r,i,l,a,n,s,u,c,o,p])}function fz(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 pz(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{O(sj({shared:y,trigger:b,axisId:w,active:a,defaultIndex:k}))},[O,y,b,w,a,k]);var A=nu(),M=N0(),W=rj(y),L=(t=we(K=>Lj(K,W,b,k)))!==null&&t!==void 0?t:{},H=L.activeIndex,D=L.isActive,Y=we(K=>zj(K,W,b,k)),N=we(K=>xC(K,W,b,k)),_=we(K=>jj(K,W,b,k)),z=Y,j=Qj(),P=(r=a??D)!==null&&r!==void 0?r:!1,B=Bh([z,P]),R=tee(B,2),F=R[0],G=R[1],ee=W==="axis"?N:void 0;dz(W,b,_,ee,H,P);var fe=S??j;if(fe==null||A==null||W==null)return null;var de=z??vz;P||(de=vz),u&&de.length&&(de=Ph(de.filter(K=>K.value!=null&&(K.hide!==!0||n.includeHidden)),f,iee));var De=de.length>0,le=pz(pz({},n),{},{payload:de,label:ee,active:P,activeIndex:H,coordinate:_,accessibilityLayer:M}),Te=eo.createElement(QD,{allowEscapeViewBox:o,animationDuration:i,animationEasing:l,isAnimationActive:c,active:P,coordinate:_,hasPayload:De,offset:d,position:p,reverseDirection:m,useTranslate3d:g,viewBox:A,wrapperStyle:h,lastBoundingBox:F,innerRef:G,hasPortalFromProps:!!S},lee(s,le));return eo.createElement(eo.Fragment,null,(0,yz.createPortal)(Te,fe),P&&eo.createElement(Zj,{cursor:v,tooltipEventType:W,coordinate:_,payload:de,index:H}))}var Wi=e=>null;Wi.displayName="Cell";var EC=te(ne()),hb=te(ne());function uee(e,t,r){return(t=cee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cee(e){var t=dee(e,"string");return typeof t=="symbol"?t:t+""}function dee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var vb=class{constructor(t){uee(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 hz(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 fee(e){for(var t=1;t{try{var r=document.getElementById(bz);r||(r=document.createElement("span"),r.setAttribute("id",bz),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,yee,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},_u=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ga.isSsr)return{width:0,height:0};if(!Sz.enableCache)return wz(t,r);var n=hee(t,r),a=xz.get(n);if(a)return a;var o=wz(t,r);return xz.set(n,o),o};var Ez;function gb(e,t){return See(e)||wee(e,t)||bee(e,t)||xee()}function xee(){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 bee(e,t){if(e){if(typeof e=="string")return Az(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)?Az(e,t):void 0}}function Az(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=[];ct(t)||(r?a=t.toString().split(""):a=t.toString().split(Iz));var o=a.map(l=>({word:l,width:_u(l,n).width})),i=r?0:_u("\xA0",n).width;return{wordsWithComputedWidth:o,spaceWidth:i}}catch{return null}};function xb(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function zz(e){return ct(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Lz=(e,t,r,n)=>e.reduce((a,o)=>{var i=o.word,l=o.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),Wee="\u2026",Pz=(e,t,r,n,a,o,i,l)=>{var s=e.slice(0,t),u=jz({breakAll:r,style:n,children:s+Wee});if(!u)return[!1,[]];var c=Lz(u.wordsWithComputedWidth,o,i,l),d=c.length>a||Bz(c).width>Number(o);return[d,c]},Hee=(e,t,r,n,a)=>{var o=e.maxLines,i=e.children,l=e.style,s=e.breakAll,u=be(o),c=String(i),d=Lz(t,n,r,a);if(!u||a)return d;var f=d.length>o||Bz(d).width>Number(n);if(!f)return d;for(var p=0,m=c.length-1,g=0,h;p<=m&&g<=c.length-1;){var v=Math.floor((p+m)/2),y=v-1,b=Pz(c,y,s,l,o,n,r,a),x=Tz(b,2),S=x[0],w=x[1],O=Pz(c,v,s,l,o,n,r,a),k=Tz(O,1),A=k[0];if(!S&&!A&&(p=v+1),S&&A&&(m=v-1),!S&&A){h=w;break}g++}return h||d},Dz=e=>{var t=ct(e)?[]:e.toString().split(Iz);return[{words:t,width:void 0}]},Vee=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,o=e.breakAll,i=e.maxLines;if((t||r)&&!Ga.isSsr){var l,s,u=jz({breakAll:o,children:n,style:a});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return Dz(n);return Hee({breakAll:o,children:n,maxLines:i,style:a},l,s,t,!!r)}return Dz(n)},$z="#808080",Kee={angle:0,breakAll:!1,capHeight:"0.71em",fill:$z,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Ou=(0,hb.forwardRef)((e,t)=>{var r=lt(e,Kee),n=r.x,a=r.y,o=r.lineHeight,i=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=Oz(r,jee),f=(0,hb.useMemo)(()=>Vee({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:s,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,s,d.style,d.width]),p=d.dx,m=d.dy,g=d.angle,h=d.className,v=d.breakAll,y=Oz(d,zee);if(!Mn(n)||!Mn(a)||f.length===0)return null;var b=Number(n)+(be(p)?p:0),x=Number(a)+(be(m)?m:0);if(!He(b)||!He(x))return null;var S;switch(c){case"start":S=yb("calc(".concat(i,")"));break;case"middle":S=yb("calc(".concat((f.length-1)/2," * -").concat(o," + (").concat(i," / 2))"));break;default:S=yb("calc(".concat(f.length-1," * -").concat(o,")"));break}var w=[],O=f[0];if(s&&O!=null){var k=O.width,A=d.width;w.push("scale(".concat(be(A)&&be(k)?A/k:1,")"))}return g&&w.push("rotate(".concat(g,", ").concat(b,", ").concat(x,")")),w.length&&(y.transform=w.join(" ")),EC.createElement("text",CC({},rr(y),{ref:t,x:b,y:x,className:Ue("recharts-text",h),textAnchor:u,fill:l.includes("url")?$z:l}),f.map((M,W)=>{var L=M.words.join(v?"":" ");return EC.createElement("tspan",{x:b,dy:W===0?S:o,key:"".concat(L,"-").concat(W)},L)}))});Ou.displayName="Text";var ra=te(ne()),Xr=te(ne());var qee=["labelRef"],Yee=["content"];function Uz(e,t){if(e==null)return{};var r,n,a=Gee(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,o=e.width,i=e.height,l=e.children,s=(0,Xr.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:o,height:i}),[t,r,n,a,o,i]);return ra.createElement(Wz.Provider,{value:s},l)},Vz=()=>{var e=(0,Xr.useContext)(Wz),t=nu();return e||(t?rm(t):void 0)},Kz=(0,Xr.createContext)(null),qz=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=e.clockWise,s=e.children,u=(0,Xr.useMemo)(()=>({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:o,endAngle:i,clockWise:l}),[t,r,n,a,o,i,l]);return ra.createElement(Kz.Provider,{value:u},s)},Jee=()=>{var e=(0,Xr.useContext)(Kz),t=we(ex);return e||t},Ree=e=>{var t=e.value,r=e.formatter,n=ct(e.children)?t:e.children;return typeof r=="function"?r(n):n},Mu=e=>e!=null&&typeof e=="function",ete=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},tte=(e,t,r,n,a)=>{var o=e.offset,i=e.className,l=a.cx,s=a.cy,u=a.innerRadius,c=a.outerRadius,d=a.startAngle,f=a.endAngle,p=a.clockWise,m=(u+c)/2,g=ete(d,f),h=g>=0?1:-1,v,y;switch(t){case"insideStart":v=d+h*o,y=p;break;case"insideEnd":v=f-h*o,y=!p;break;case"end":v=f+h*o,y=p;break;default:throw new Error("Unsupported position ".concat(t))}y=g<=0?y:!y;var b=qt(l,s,m,v),x=qt(l,s,m,v+(y?1:-1)*359),S="M".concat(b.x,",").concat(b.y,` + A`).concat(m,",").concat(m,",0,1,").concat(y?0:1,`, + `).concat(x.x,",").concat(x.y),w=ct(e.id)?Ni("recharts-radial-line-"):e.id;return ra.createElement("text",Vi({},n,{dominantBaseline:"central",className:Ue("recharts-radial-bar-label",i)}),ra.createElement("defs",null,ra.createElement("path",{id:w,d:S})),ra.createElement("textPath",{xlinkHref:"#".concat(w)},r))},rte=(e,t,r)=>{var n=e.cx,a=e.cy,o=e.innerRadius,i=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=qt(n,a,i+t,u),d=c.x,f=c.y;return{x:d,y:f,textAnchor:d>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y: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=(o+i)/2,m=qt(n,a,p,u),g=m.x,h=m.y;return{x:g,y:h,textAnchor:"middle",verticalAnchor:"middle"}},gf=e=>e!=null&&"cx"in e&&be(e.cx),nte={angle:0,offset:5,zIndex:dt.label,position:"middle",textBreakAll:!1};function ate(e){if(!gf(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 Hi(e){var t,r,n=lt(e,nte),a=n.viewBox,o=n.parentViewBox,i=n.position,l=n.value,s=n.children,u=n.content,c=n.className,d=c===void 0?"":c,f=n.textBreakAll,p=n.labelRef,m=Jee(),g=Vz(),h=i==="center"?g:m??g,v,y,b;a==null?v=h:gf(a)?v=a:v=rm(a);var x=ate(v);if(!v||ct(l)&&ct(s)&&!(0,Xr.isValidElement)(u)&&typeof u!="function")return null;var S=gf(v)&&(i==="insideStart"||i==="insideEnd"||i==="end");if(gf(v))S||(b=rte(v,n.offset,n.position));else if(x){var w=Jy({viewBox:x,position:i,offset:n.offset,parentViewBox:gf(o)?void 0:o,clamp:!0});b=Tu(Tu({x:w.x,y:w.y,textAnchor:w.horizontalAnchor,verticalAnchor:w.verticalAnchor},w.width!==void 0?{width:w.width}:{}),w.height!==void 0?{height:w.height}:{})}var O=Tu(Tu(Tu(Tu({},((t=b)===null||t===void 0?void 0:t.x)!==void 0?{x:b.x}:{}),((r=b)===null||r===void 0?void 0:r.y)!==void 0?{y:b.y}:{}),n),{},{viewBox:v});if((0,Xr.isValidElement)(u)){var k=O.labelRef,A=Uz(O,qee);return(0,Xr.cloneElement)(u,A)}if(typeof u=="function"){var M=O.content,W=Uz(O,Yee);if(y=(0,Xr.createElement)(u,W),(0,Xr.isValidElement)(y))return y}else y=Ree(n);var L=rr(n);return S&&gf(v)?tte(n,i,y,L,v):b==null?null:ra.createElement(Yt,{zIndex:n.zIndex},ra.createElement(Ou,Vi({ref:p,className:Ue("recharts-label",d)},L,b,{textAnchor:xb(L.textAnchor)?L.textAnchor:b.textAnchor,breakAll:f}),y))}Hi.displayName="Label";var ote=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?ra.createElement(Hi,Vi({key:"label-implicit"},n)):Mn(e)?ra.createElement(Hi,Vi({key:"label-implicit",value:e},n)):(0,Xr.isValidElement)(e)?e.type===Hi?(0,Xr.cloneElement)(e,Tu({key:"label-implicit"},n)):ra.createElement(Hi,Vi({key:"label-implicit",content:e},n)):Mu(e)?ra.createElement(Hi,Vi({key:"label-implicit",content:e},n)):e&&typeof e=="object"?ra.createElement(Hi,Vi({},e,{key:"label-implicit"},n)):null};function Yz(e){var t=e.label,r=e.labelRef,n=Vz();return ote(t,n,r)||null}var Ki=te(ne()),yf=te(ne());var ite=["valueAccessor"],lte=["dataKey","clockWise","id","textBreakAll","zIndex"];function wb(){return wb=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(zz(t))return t},Xz=(0,yf.createContext)(void 0),hf=Xz.Provider,Zz=(0,yf.createContext)(void 0),Qz=Zz.Provider;function cte(){return(0,yf.useContext)(Xz)}function dte(){return(0,yf.useContext)(Zz)}function bb(e){var t=e.valueAccessor,r=t===void 0?ute:t,n=Gz(e,ite),a=n.dataKey,o=n.clockWise,i=n.id,l=n.textBreakAll,s=n.zIndex,u=Gz(n,lte),c=cte(),d=dte(),f=c||d;return!f||!f.length?null:Ki.createElement(Yt,{zIndex:s??dt.label},Ki.createElement(bt,{className:"recharts-label-list"},f.map((p,m)=>{var g,h=ct(a)?r(p,m):Qe(p.payload,a),v=ct(i)?{}:{id:"".concat(i,"-").concat(m)};return Ki.createElement(Hi,wb({key:"label-".concat(m)},rr(p),u,v,{fill:(g=n.fill)!==null&&g!==void 0?g:p.fill,parentViewBox:p.parentViewBox,value:h,textBreakAll:l,viewBox:p.viewBox,index:m,zIndex:0}))})))}bb.displayName="LabelList";function ns(e){var t=e.label;return t?t===!0?Ki.createElement(bb,{key:"labelList-implicit"}):Ki.isValidElement(t)||Mu(t)?Ki.createElement(bb,{key:"labelList-implicit",content:t}):typeof t=="object"?Ki.createElement(bb,wb({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var Jz=te(ne());function _C(){return _C=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,o=Ue("recharts-dot",a);return be(t)&&be(r)&&be(n)?Jz.createElement("circle",_C({},tr(e),gd(e),{className:o,cx:t,cy:r,r:n})):null};var OC=e=>e.graphicalItems.polarItems,fte=J([nr,cu],Rm),Ab=J([OC,ur,fte],ev),pte=J([Ab],tv),kb=J([pte,iu],rv),mte=J([kb,ur,Ab],IN),CCe=J([kb,ur,Ab],(e,t,r)=>r.length>0?e.flatMap(n=>r.flatMap(a=>{var o,i=Qe(n,(o=t.dataKey)!==null&&o!==void 0?o:a.dataKey);return{value:i,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey),errorDomain:[]})):e.map(n=>({value:n,errorDomain:[]}))),Rz=()=>{},vte=J([kb,ur,Ab,of,nr,R8],av),gte=J([ur,Hx,Vx,Rz,vte,Rz,qe,nr],ov),eL=J([ur,qe,kb,mte,Ul,nr,gte],iv),yte=J([eL,Cu,Bi],lv),hte=J([ur,eL,yte,nr],sv),ECe=J([Bi,hte],rx);var xte={radiusAxis:{},angleAxis:{}},tL=Ct({name:"polarAxis",initialState:xte,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=tt(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=tt(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Nb=tL.actions,MCe=Nb.addRadiusAxis,PCe=Nb.removeRadiusAxis,DCe=Nb.addAngleAxis,ICe=Nb.removeAngleAxis;var rL=tL.reducer;function Cb(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var Re=te(ne()),Nf=te(ne());function nL(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 aL(e){for(var t=1;tt,TC=J([OC,Ate],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),kte=[],MC=(e,t,r)=>r?.length===0?kte:r,oL=J([iu,TC,MC],(e,t,r)=>{var n=e.chartData;if(t!=null){var a;if(t?.data!=null&&t.data.length>0?a=t.data:a=n,(!a||!a.length)&&r!=null&&(a=r.map(o=>aL(aL({},t.presentationProps),o.props))),a!=null)return a}}),iL=J([oL,TC,MC],(e,t,r)=>{if(!(e==null||t==null))return e.map((n,a)=>{var o,i=Qe(n,t.nameKey,t.name),l;return r!=null&&(o=r[a])!==null&&o!==void 0&&(o=o.props)!==null&&o!==void 0&&o.fill?l=r[a].props.fill:typeof n=="object"&&n!=null&&"fill"in n?l=n.fill:l=t.fill,{value:wa(i,t.dataKey),dataKey:t.dataKey,color:l,payload:n,type:t.legendType}})}),lL=J([oL,TC,MC,jt],(e,t,r,n)=>{if(!(t==null||e==null))return sL({offset:n,pieSettings:t,displayedData:e,cells:r})});var mL=te(ne()),vL=te(dL());var fL=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",pL=null,IC=null,gL=e=>{if(e===pL&&Array.isArray(IC))return IC;var t=[];return mL.Children.forEach(e,r=>{ct(r)||((0,vL.isFragment)(r)?t=t.concat(gL(r.props.children)):t.push(r))}),IC=t,pL=e,t};function mv(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(a=>fL(a)):n=[fL(t)],gL(e).forEach(a=>{var o=rn(a,"type.displayName")||rn(a,"type.name");o&&n.indexOf(o)!==-1&&r.push(a)}),r}var xf=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var bf=te(ne()),vv=te(ne());function yL(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 hL(e){for(var t=1;t{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(Zx({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}},yv=e=>{var t=Ve();return(r,n)=>a=>{e?.(r,n,a),t(uj())}},hv=(e,t,r)=>{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(cj({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}};var xv=te(ne());function os(e){var t=e.tooltipEntrySettings,r=Ve(),n=Et(),a=(0,xv.useRef)(null);return(0,xv.useLayoutEffect)(()=>{n||(a.current===null?r(oj(t)):a.current!==t&&r(ij({prev:a.current,next:t})),a.current=t)},[t,r,n]),(0,xv.useLayoutEffect)(()=>()=>{a.current&&(r(lj(a.current)),a.current=null)},[r]),null}var is=te(ne());function wf(e){var t=e.legendPayload,r=Ve(),n=Et(),a=(0,is.useRef)(null);return(0,is.useLayoutEffect)(()=>{n||(a.current===null?r(kk(t)):a.current!==t&&r(Nk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,is.useLayoutEffect)(()=>()=>{a.current&&(r(Ck(a.current)),a.current=null)},[r]),null}function bL(e){var t=e.legendPayload,r=Ve(),n=we(qe),a=(0,is.useRef)(null);return(0,is.useLayoutEffect)(()=>{n!=="centric"&&n!=="radial"||(a.current===null?r(kk(t)):a.current!==t&&r(Nk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,is.useLayoutEffect)(()=>()=>{a.current&&(r(Ck(a.current)),a.current=null)},[r]),null}var AL=te(ne()),Sv=te(ne());function Ite(e,t){return Bte(e)||Lte(e,t)||zte(e,t)||jte()}function jte(){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 zte(e,t){if(e){if(typeof e=="string")return wL(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)?wL(e,t):void 0}}function wL(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 o=0;oe[Math.floor(o*r)]);return jC(n,t)}function Ute(e,t){var r=t.map((n,a)=>e[a]);return jC(r,t)}function Fte(e,t){for(var r=new Map,n=0;n{var p=r(d,f);if(p!=null){var m=n.get(p);if(m!==void 0)return a.add(p),m}}),i=[];for(var l of n){var s=Ite(l,2),u=s[0],c=s[1];a.has(u)||i.push(c)}return jC(o,t,i)}function wv(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Pu?$te(e,t):r===bv?Ute(e,t):Wte(e,t,r)}var Sf=te(ne());function Lb(e,t){var r=(0,Sf.useRef)(e),n=(0,Sf.useRef)(t.current),a=(0,Sf.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var o=(0,Sf.useCallback)(function(i,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=i),l>0&&a.current&&s&&(t.current=i)},[t]);return{startValue:n.current,syncStepValue:o}}function Hte(e,t){return Yte(e)||qte(e,t)||Kte(e,t)||Vte()}function Vte(){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 Kte(e,t){if(e){if(typeof e=="string")return SL(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)?SL(e,t):void 0}}function SL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),l=(0,Sv.useCallback)(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:a,handleAnimationStart:i,handleAnimationEnd:l}}function ss(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,o=e.previousItemsRef,i=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,g=e.children,h=e.layout,v=M0(r,n),y=Lb(v,o),b=(t=y.startValue)!==null&&t!==void 0?t:null,x=wv(b,a,p??Pu);return AL.createElement(T0,{animationId:v,begin:l,duration:s,isActive:i,easing:u,onAnimationEnd:d,onAnimationStart:c,key:v},S=>{var w=b==null,O=a==null?a:f(x,S,h),k=m?m(S):S>0;return y.syncStepValue(O,S,k),O==null?null:g(O,S,w)})}var CL=te(ne()),LC=te(ne());var Bb=te(ne());var zC;function Gte(e,t){return Jte(e)||Qte(e,t)||Zte(e,t)||Xte()}function Xte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zte(e,t){if(e){if(typeof e=="string")return kL(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)?kL(e,t):void 0}}function kL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=Bb.useState(()=>Ni("uid-")),t=Gte(e,1),r=t[0];return r},$b=(zC=Bb.useId)!==null&&zC!==void 0?zC:Rte;function NL(e,t){var r=$b();return t||(e?"".concat(e,"-").concat(r):r)}var ere=(0,LC.createContext)(void 0),us=e=>{var t=e.id,r=e.type,n=e.children,a=NL("recharts-".concat(r),t);return CL.createElement(ere.Provider,{value:a},n(a))};var ko=te(ne());var tre={cartesianItems:[],polarItems:[]},EL=Ct({name:"graphicalItems",initialState:tre,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(tt(t.payload))},prepare:Pt()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).cartesianItems.indexOf(tt(n));o>-1&&(e.cartesianItems[o]=tt(a))},prepare:Pt()},removeCartesianGraphicalItem:{reducer(e,t){var r=yn(e).cartesianItems.indexOf(tt(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Pt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(tt(t.payload))},prepare:Pt()},removePolarGraphicalItem:{reducer(e,t){var r=yn(e).polarItems.indexOf(tt(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Pt()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).polarItems.indexOf(tt(n));o>-1&&(e.polarItems[o]=tt(a))},prepare:Pt()}}}),Af=EL.actions,_L=Af.addCartesianGraphicalItem,OL=Af.replaceCartesianGraphicalItem,TL=Af.removeCartesianGraphicalItem,ML=Af.addPolarGraphicalItem,PL=Af.removePolarGraphicalItem,DL=Af.replacePolarGraphicalItem;var IL=EL.reducer;var rre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(_L(e)):r.current!==e&&t(OL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(TL(r.current)),r.current=null)},[t]),null},kf=(0,ko.memo)(rre),nre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(ML(e)):r.current!==e&&t(DL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(PL(r.current)),r.current=null)},[t]),null},jL=(0,ko.memo)(nre);var are=["key"],ore=["onMouseEnter","onClick","onMouseLeave"],ire=["id"],lre=["id"];function Du(){return Du=Object.assign?Object.assign.bind():function(e){for(var t=1;tmv(e.children,Wi),[e.children]),r=we(n=>iL(n,e.id,t));return r==null?null:Re.createElement(bL,{legendPayload:r})}function pre(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(Re.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var n=e.fill;return typeof n=="string"?n:void 0}}var mre=Re.memo(e=>{var t=e.dataKey,r=e.nameKey,n=e.sectors,a=e.stroke,o=e.strokeWidth,i=e.fill,l=e.name,s=e.hide,u=e.tooltipType,c=e.formatter,d=e.id,f=e.activeShape,p=pre(f),m=n.map(h=>{var v=h.tooltipPayload;return p==null||v==null?v:v.map(y=>cr(cr({},y),{},{color:p,fill:p}))}),g={dataDefinedOnItem:m,getPosition:h=>{var v;return(v=n[Number(h)])===null||v===void 0?void 0:v.tooltipPosition},settings:{stroke:a,strokeWidth:o,fill:i,dataKey:t,nameKey:r,name:wa(l,t),hide:s,type:u,color:i,unit:"",formatter:c,graphicalItemId:d}};return Re.createElement(os,{tooltipEntrySettings:g})}),vre=(e,t)=>e>t?"start":etypeof t=="function"?vr(t(e),r,r*.8):vr(t,r,r*.8),yre=(e,t,r)=>{var n=t.top,a=t.left,o=t.width,i=t.height,l=j0(o,i),s=a+vr(e.cx,o,o/2),u=n+vr(e.cy,i,i/2),c=vr(e.innerRadius,l,0),d=gre(r,e.outerRadius,l),f=e.maxRadius||Math.sqrt(o*o+i*i)/2;return{cx:s,cy:u,innerRadius:c,outerRadius:d,maxRadius:f}},hre=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},xre=(e,t)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);if(typeof e=="function")return e(t);var r=Ue("recharts-pie-label-line",typeof e!="boolean"?e.className:""),n=t.key,a=Ub(t,are);return Re.createElement(Fo,Du({},a,{type:"linear",className:r}))},bre=(e,t,r)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);var n=r;if(typeof e=="function"&&(n=e(t),Re.isValidElement(n)))return n;var a=Ue("recharts-pie-label-text",Cb(e));return Re.createElement(Ou,Du({},t,{alignmentBaseline:"middle",className:a}),n)};function wre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label,o=r.labelLine,i=r.dataKey;if(!n||!a||!t)return null;var l=tr(r),s=ga(a),u=ga(o),c=typeof a=="object"&&"offsetRadius"in a&&typeof a.offsetRadius=="number"&&a.offsetRadius||20,d=t.map((f,p)=>{var m=(f.startAngle+f.endAngle)/2,g=qt(f.cx,f.cy,f.outerRadius+c,m),h=cr(cr(cr(cr({},l),f),{},{stroke:"none"},s),{},{index:p,textAnchor:vre(g.x,f.cx)},g),v=cr(cr(cr(cr({},l),f),{},{fill:"none",stroke:f.fill},u),{},{index:p,points:[qt(f.cx,f.cy,f.outerRadius,m),g],key:"line"});return Re.createElement(Yt,{zIndex:dt.label,key:"label-".concat(f.startAngle,"-").concat(f.endAngle,"-").concat(f.midAngle,"-").concat(p)},Re.createElement(bt,null,o&&xre(o,v),bre(a,h,Qe(f,i))))});return Re.createElement(bt,{className:"recharts-pie-labels"},d)}function Sre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label;return typeof a=="object"&&a!=null&&"position"in a?Re.createElement(ns,{label:a}):Re.createElement(wre,{sectors:t,props:r,showLabels:n})}function Are(e){var t=e.sectors,r=e.activeShape,n=e.inactiveShape,a=e.allOtherPieProps,o=e.shape,i=e.id,l=e.animationElapsedTime,s=e.isAnimating,u=e.isEntrance,c=we(Ra),d=we(uf),f=we(ib),p=a.onMouseEnter,m=a.onClick,g=a.onMouseLeave,h=Ub(a,ore),v=gv(p,a.dataKey,i),y=yv(g),b=hv(m,a.dataKey,i);return t==null||t.length===0?null:Re.createElement(Re.Fragment,null,t.map((x,S)=>{if(x?.startAngle===0&&x?.endAngle===0&&t.length!==1)return null;var w=f==null||f===i,O=String(S)===c&&(d==null||a.dataKey===d)&&w,k=c?n:null,A=r&&O?r:k,M=cr(cr({},x),{},{stroke:x.stroke,tabIndex:-1,index:S,isActive:O,animationElapsedTime:l,isAnimating:s,isEntrance:u,[p0]:S,[m0]:i});return Re.createElement(bt,Du({key:"sector-".concat(x?.startAngle,"-").concat(x?.endAngle,"-").concat(x.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Ei(h,x,S),{onMouseEnter:v(x,S),onMouseLeave:y(x,S),onClick:b(x,S)}),Re.createElement(as,{option:A??o,DefaultShape:LL,shapeProps:M}))}))}function sL(e){var t,r=e.pieSettings,n=e.displayedData,a=e.cells,o=e.offset,i=r.cornerRadius,l=r.startAngle,s=r.endAngle,u=r.dataKey,c=r.nameKey,d=r.tooltipType,f=Math.abs(r.minAngle),p=hre(l,s),m=Math.abs(p),g=n.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,h=n.filter(k=>Qe(k,u,0)!==0).length,v=(m>=360?h:h-1)*g,y=n.reduce((k,A)=>{var M=Qe(A,u,0);return k+(be(M)?M:0)},0),b=f>0&&y>0&&n.some(k=>{var A=Qe(k,u,0),M=(be(A)?A:0)/y;return A!==0&&M*m0){var O;w=n.map((k,A)=>{var M=Qe(k,u,0),W=Qe(k,c,A),L=yre(r,o,k),H=(be(M)?M:0)/y,D,Y=cr(cr({},k),a&&a[A]&&a[A].props),N=Y!=null&&"fill"in Y&&typeof Y.fill=="string"?Y.fill:r.fill;A?D=O.endAngle+Ft(p)*g*(M!==0?1:0):D=l;var _=D+Ft(p)*((M!==0?x:0)+H*S),z=(D+_)/2,j=(L.innerRadius+L.outerRadius)/2,P=[{name:W,value:M,payload:Y,dataKey:u,type:d,color:N,fill:N,graphicalItemId:r.id}],B=qt(L.cx,L.cy,j,z);return O=cr(cr(cr(cr({},r.presentationProps),{},{percent:H,cornerRadius:typeof i=="string"?parseFloat(i):i,name:W,tooltipPayload:P,midAngle:z,middleRadius:j,tooltipPosition:B},Y),L),{},{value:M,dataKey:u,startAngle:D,endAngle:_,payload:Y,paddingAngle:M!==0?Ft(p)*g:0}),O})}return w}function kre(e){var t=e.showLabels,r=e.sectors,n=e.children,a=(0,Nf.useMemo)(()=>!t||!r?[]:r.map(o=>({value:o.value,payload:o.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:o.cx,cy:o.cy,innerRadius:o.innerRadius,outerRadius:o.outerRadius,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},fill:o.fill})),[r,t]);return Re.createElement(Qz,{value:t?a:void 0},n)}var Nre=(e,t)=>{if(e==null)return[];var r=[],n=e.find(o=>o.status!=="removed"),a=n?n.next.startAngle:0;return e.forEach((o,i)=>{if(o.status!=="removed"){var l=i>0?rn(o.next,"paddingAngle",0):0;if(o.status==="matched"){var s=Nt(o.prev.endAngle-o.prev.startAngle,o.next.endAngle-o.next.startAngle,t),u=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+s+l});r.push(u),a=u.endAngle}else{var c=Nt(0,o.next.endAngle-o.next.startAngle,t),d=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+c+l});r.push(d),a=d.endAngle}}}),r};function Cre(e){var t,r,n,a,o=e.props,i=e.previousSectorsRef,l=e.id,s=o.sectors,u=o.activeShape,c=o.inactiveShape,d=o.animationInterpolateFn,f=ls(o.onAnimationStart,o.onAnimationEnd),p=f.isAnimating,m=f.handleAnimationStart,g=f.handleAnimationEnd,h=ND();if(h==null)return null;var v=s[0];return Re.createElement(kre,{showLabels:!p,sectors:s},Re.createElement(ss,{animationInput:o,animationIdPrefix:"recharts-pie-",items:s,previousItemsRef:i,isAnimationActive:o.isAnimationActive,animationBegin:o.animationBegin,animationDuration:o.animationDuration,animationEasing:o.animationEasing,onAnimationStart:m,onAnimationEnd:g,animationInterpolateFn:d,animationMatchBy:o.animationMatchBy,layout:h},(y,b,x)=>Re.createElement(bt,null,Re.createElement(Are,{sectors:y,activeShape:u,inactiveShape:c,allOtherPieProps:o,shape:o.shape,id:l,animationElapsedTime:b,isAnimating:p||b<1,isEntrance:x}))),Re.createElement(Sre,{showLabels:!p,sectors:s,props:o}),Re.createElement(qz,{cx:(t=v?.cx)!==null&&t!==void 0?t:0,cy:(r=v?.cy)!==null&&r!==void 0?r:0,innerRadius:(n=v?.innerRadius)!==null&&n!==void 0?n:0,outerRadius:(a=v?.outerRadius)!==null&&a!==void 0?a:0,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},o.children))}var Ere={animationBegin:400,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Nre,animationMatchBy:bv,cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,shape:LL,startAngle:0,stroke:"#fff",zIndex:dt.area};function _re(e){var t=e.id,r=Ub(e,ire),n=e.hide,a=e.className,o=e.rootTabIndex,i=(0,Nf.useMemo)(()=>mv(e.children,Wi),[e.children]),l=we(c=>lL(c,t,i)),s=(0,Nf.useRef)(null),u=Ue("recharts-pie",a);return n||l==null?(s.current=null,Re.createElement(bt,{tabIndex:o,className:u})):Re.createElement(Yt,{zIndex:e.zIndex},Re.createElement(mre,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),Re.createElement(bt,{tabIndex:o,className:u},Re.createElement(Cre,{props:cr(cr({},r),{},{sectors:l}),previousSectorsRef:s,id:t})))}function Ore(e){var t=lt(e,Ere),r=t.id,n=Ub(t,lre),a=tr(n);return Re.createElement(us,{id:r,type:"pie"},o=>Re.createElement(Re.Fragment,null,Re.createElement(jL,{type:"pie",id:o,data:n.data,dataKey:n.dataKey,hide:n.hide,angleAxisId:0,radiusAxisId:0,name:n.name,nameKey:n.nameKey,tooltipType:n.tooltipType,legendType:n.legendType,fill:n.fill,cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,paddingAngle:n.paddingAngle,minAngle:n.minAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius,cornerRadius:n.cornerRadius,presentationProps:a,maxRadius:t.maxRadius}),Re.createElement(fre,Du({},n,{id:o})),Re.createElement(_re,Du({},n,{id:o}))))}var Fb=Ore;Fb.displayName="Pie";var Av=te(ne()),Hb=te(ne());var Tre=["points"];function BL(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 BC(e){for(var t=1;t{var v,y,b=BC(BC(BC({r:3},i),f),{},{index:h,cx:(v=g.x)!==null&&v!==void 0?v:void 0,cy:(y=g.y)!==null&&y!==void 0?y:void 0,dataKey:o,value:g.value,payload:g.payload,points:t});return Av.createElement(zre,{key:"dot-".concat(h),option:r,dotProps:b,className:a})}),m={};return l&&s!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Av.createElement(Yt,{zIndex:c},Av.createElement(bt,Wb({className:n},m),p))}var kv=te(ne()),qb=te(ne());function $L(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 Kb(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var QL=J([ZL,on,ln],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}});var cs=()=>we(QL),JL=()=>we(Aj);function RL(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 UC(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,o=e.dataKey,i=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=UC(UC(UC({},l),ga(a)),gd(a)),u;return(0,qb.isValidElement)(a)?u=(0,qb.cloneElement)(a,s):typeof a=="function"?u=a(s):u=kv.createElement(Sb,s),kv.createElement(bt,{className:"recharts-active-dot",clipPath:i},u)};function Nv(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,o=e.clipPath,i=e.zIndex,l=i===void 0?dt.activeDot:i,s=we(Ra),u=JL();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return ct(c)?null:kv.createElement(Yt,{zIndex:l},kv.createElement(Kre,{point:c,childIndex:Number(s),mainColor:r,dataKey:a,activeDot:n,clipPath:o}))}function qre(e,t){return Zre(e)||Xre(e,t)||Gre(e,t)||Yre()}function Yre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gre(e,t){if(e){if(typeof e=="string")return eB(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)?eB(e,t):void 0}}function eB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var n=r??e;if(!ct(n))return vr(n,t,0)},rB=(e,t,r)=>{var n={},a=e.filter(du),o=e.filter(u=>u.stackId==null),i=a.reduce((u,c)=>{var d=u[c.stackId];return d==null&&(d=[]),d.push(c),u[c.stackId]=d,u},n),l=Object.entries(i).map(u=>{var c,d=qre(u,2),f=d[0],p=d[1],m=p.map(h=>h.dataKey),g=tB(t,r,(c=p[0])===null||c===void 0?void 0:c.barSize);return{stackId:f,dataKeys:m,barSize:g}}),s=o.map(u=>{var c=[u.dataKey].filter(f=>f!=null),d=tB(t,r,u.barSize);return{stackId:void 0,dataKeys:c,barSize:d}});return[...l,...s]};function nB(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 Yb(e){for(var t=1;ty+(b.barSize||0),0);f+=(i-1)*l,f>=r&&(f-=(i-1)*l,l=0),f>=r&&d>0&&(c=!0,d*=.9,f=i*d);var p=Math.round((r-f)/2),m={offset:p-l,size:0};s=n.reduce((y,b)=>{var x,S={stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:m.offset+m.size+l,size:c?d:(x=b.barSize)!==null&&x!==void 0?x:0}},w=[...y,S];return m=S.position,w},u)}else{var g=vr(t,r,0,!0);r-2*g-(i-1)*l<=0&&(l=0);var h=(r-2*g-(i-1)*l)/i;h>1&&(h=Math.round(h));var v=He(a)?Math.min(h,a):h;s=n.reduce((y,b,x)=>[...y,{stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:g+i*(h-v)/2+(v+l)*x,size:v}}],u)}return s}}var aB=(e,t,r,n,a,o,i)=>{var l=ct(i)?t:i,s=ene(r,n,a!==o?a:o,e,l);return a!==o&&s!=null&&(s=s.map(u=>Yb(Yb({},u),{},{position:Yb(Yb({},u.position),{},{offset:u.position.offset-a/2})}))),s};var oB=(e,t)=>{var r=Wl(t);if(!(!e||r==null||t==null)){var n=t.stackId;if(n!=null){var a=e[n];if(a){var o=a.stackedData;if(o)return o.find(i=>i.key===r)}}}};var iB=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function lB(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&He(e.zIndex)?e.zIndex:t}var sB=te(ne());var Gb=e=>{var t=e.chartData,r=Ve(),n=Et();return(0,sB.useEffect)(()=>n?()=>{}:(r(NC(t)),()=>{r(NC(void 0))}),[t,r,n]),null};var uB={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},cB=Ct({name:"brush",initialState:uB,reducers:{setBrushSettings(e,t){return t.payload==null?uB:t.payload}}}),o5e=cB.actions.setBrushSettings;var dB=cB.reducer;function tne(e){return(e%180+180)%180}var fB=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=tne(a),i=o*Math.PI/180,l=Math.atan(n/r),s=i>l&&i{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=yn(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=yn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(tt(t.payload))},removeLine:(e,t)=>{var r=yn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Cf=pB.actions,c5e=Cf.addDot,d5e=Cf.removeDot,f5e=Cf.addArea,p5e=Cf.removeArea,m5e=Cf.addLine,v5e=Cf.removeLine;var mB=pB.reducer;var Cv=te(ne()),Ev=te(ne());function nne(e,t){return lne(e)||ine(e,t)||one(e,t)||ane()}function ane(){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 one(e,t){if(e){if(typeof e=="string")return vB(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)?vB(e,t):void 0}}function vB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Ev.useState)("".concat(Ni("recharts"),"-clip")),n=nne(r,1),a=n[0],o=cs();if(o==null)return null;var i=o.x,l=o.y,s=o.width,u=o.height;return Cv.createElement(sne.Provider,{value:a},Cv.createElement("defs",null,Cv.createElement("clipPath",{id:a},Cv.createElement("rect",{x:i,y:l,height:u,width:s}))),t)};var ar=te(ne()),kn=te(ne());function yB(){}function FC(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 hB(e,t,r){return _v(e,t,void 0,void 0,void 0,void 0,r)}function _v(e,t,r,n,a,o,i){let l=i(e,t,r,n,a,o);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 Ov(e,t,o,i)}return Ov(e,t,o,i)}function Ov(e,t,r,n){if(Object.is(e,t))return!0;let a=_i(e),o=_i(t);if(a==="[object Arguments]"&&(a=bd),o==="[object Arguments]"&&(o=bd),a!==o)return!1;switch(a){case yd:return e.toString()===t.toString();case hd:return Ll(e.valueOf(),t.valueOf());case xd:case fh:case dh:return Object.is(e.valueOf(),t.valueOf());case uh:return e.source===t.source&&e.flags===t.flags;case bM:return e===t}r=r??new Map;let i=r.get(e),l=r.get(t);if(i!=null&&l!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(a){case ph:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!_v(u,t.get(s),s,e,t,r,n))return!1;return!0;case mh:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;c_v(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case vh:case hh:case xh:case bh:case wh:case SM:case Sh:case Ah:case kh:case AM:case Nh:case Ch:if(sm(e)!==sm(t)||e.length!==t.length)return!1;for(let s=0;se*a)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-a)<=0}function wB(e,t){return Xb(e,t+1)}function SB(e,t,r,n,a){for(var o=(n||[]).slice(),i=t.start,l=t.end,s=0,u=1,c=i,d=function(){var m=n?.[s];if(m===void 0)return{v:Xb(n,u)};var g=s,h,v=()=>(h===void 0&&(h=r(m,g)),h),y=m.coordinate,b=s===0||Iu(e,y,v,c,l);b||(s=0,c=i,u+=1),b&&(c=y+e*(v()/2+a),s+=u)},f;u<=o.length;)if(f=d(),f)return f.v;return[]}function AB(e,t,r,n,a){var o=(n||[]).slice(),i=o.length;if(i===0)return[];for(var l=t.start,s=t.end,u=1;u<=i;u++){for(var c=(i-1)%u,d=l,f=!0,p=function(){var x=n[g];if(x==null)return 0;var S=g,w,O=()=>(w===void 0&&(w=r(x,S)),w),k=x.coordinate,A=g===c||Iu(e,k,O,d,s);if(!A)return f=!1,1;A&&(d=k+e*(O()/2+a))},m,g=c;g(g===void 0&&(g=r(p,f)),g);if(f===i-1){var v=e*(m.coordinate+e*h()/2-s);o[f]=m=An(An({},m),{},{tickCoord:v>0?m.coordinate-v*e:m.coordinate})}else o[f]=m=An(An({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var y=Iu(e,m.tickCoord,h,l,s);y&&(s=m.tickCoord-e*(h()/2+a),o[f]=An(An({},m),{},{isShow:!0}))}},c=i-1;c>=0;c--)u(c);return o}function pne(e,t,r,n,a,o){var i=(n||[]).slice(),l=i.length,s=t.start,u=t.end;if(o){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(i[l-1]=c=An(An({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Iu(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+a),i[l-1]=An(An({},c),{},{isShow:!0}))}}}for(var m=o?l-1:l,g=function(y){var b=i[y];if(b==null)return 1;var x=b,S,w=()=>(S===void 0&&(S=r(b,y)),S);if(y===0){var O=e*(x.coordinate-e*w()/2-s);i[y]=x=An(An({},x),{},{tickCoord:O<0?x.coordinate-O*e:x.coordinate})}else i[y]=x=An(An({},x),{},{tickCoord:x.coordinate});if(x.tickCoord!=null){var k=Iu(e,x.tickCoord,w,s,u);k&&(s=x.tickCoord+e*(w()/2+a),i[y]=An(An({},x),{},{isShow:!0}))}},h=0;h{var O=typeof u=="function"?u(S.value,w):S.value;return m==="width"?xB(_u(O,{fontSize:t,letterSpacing:r}),g,d):_u(O,{fontSize:t,letterSpacing:r})[m]},v=a[0],y=a[1],b=a.length>=2&&v!=null&&y!=null?Ft(y.coordinate-v.coordinate):1,x=bB(o,b,m);return s==="equidistantPreserveStart"?SB(b,x,h,a,i):s==="equidistantPreserveEnd"?AB(b,x,h,a,i):(s==="preserveStart"||s==="preserveStartEnd"?p=pne(b,x,h,a,i,s==="preserveStartEnd"):p=fne(b,x,h,a,i),p.filter(S=>S.isShow))}var NB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.width>u&&(u=m.width)}});var c=r?r.getBoundingClientRect().width:0,d=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var CB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.height>u&&(u=m.height)}});var c=r?r.getBoundingClientRect().height:0,d=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var mne={xAxis:{},yAxis:{}},EB=Ct({name:"renderedTicks",initialState:mne,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,o=r.ticks;e[n][a]=tt(o)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),_B=EB.actions,OB=_B.setRenderedTicks,TB=_B.removeRenderedTicks;var MB=EB.reducer;var vne=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function PB(e,t){return xne(e)||hne(e,t)||yne(e,t)||gne()}function gne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yne(e,t){if(e){if(typeof e=="string")return DB(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)?DB(e,t):void 0}}function DB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var i=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=o.current;l!=null&&l.axisId===n&&l.axisType===r&&WC(l.ticks,i)||(o.current={ticks:i,axisId:n,axisType:r},a(OB({ticks:i,axisId:n,axisType:r})))}},[a,t,n,r]),(0,kn.useEffect)(()=>n==null||r==null?Pn:()=>{a(TB({axisId:n,axisType:r}))},[a,n,r]),null}var Mne=(0,kn.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,o=e.tickLine,i=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,m=e.y,g=e.width,h=e.height,v=e.tickSize,y=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,w=e.events,O=e.axisType,k=e.axisId,A=Tv(Ar(Ar({},S),{},{ticks:n}),b,x),M=tr(S),W=ga(a),L=xb(M.textAnchor)?M.textAnchor:Ene(d,f),H=_ne(d,f),D={};typeof o=="object"&&(D=o);var Y=Ar(Ar({},M),{},{fill:"none"},D),N=A.map(j=>Ar({entry:j},Cne(j,p,m,g,h,d,v,f,y))),_=N.map(j=>{var P=j.entry,B=j.line;return ar.createElement(bt,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(P.value,"-").concat(P.coordinate,"-").concat(P.tickCoord)},o&&ar.createElement("line",ju({},Y,B,{className:Ue("recharts-cartesian-axis-tick-line",rn(o,"className"))})))}),z=N.map((j,P)=>{var B,R,F=j.entry,G=j.tick,ee=Ar(Ar(Ar(Ar({verticalAnchor:H},M),{},{textAnchor:L,stroke:"none",fill:i},G),{},{index:P,payload:F,visibleTicksCount:A.length,tickFormatter:l,padding:u},c),{},{angle:(B=(R=c?.angle)!==null&&R!==void 0?R:M.angle)!==null&&B!==void 0?B:0}),fe=Ar(Ar({},ee),W);return ar.createElement(bt,ju({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(F.value,"-").concat(F.coordinate,"-").concat(F.tickCoord)},Ei(w,F,P)),a&&ar.createElement(One,{option:a,tickProps:fe,value:"".concat(typeof l=="function"?l(F.value,P):F.value).concat(s||"")}))});return ar.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(O,"-ticks")},ar.createElement(Tne,{ticks:A,axisId:k,axisType:O}),z.length>0&&ar.createElement(Yt,{zIndex:dt.label},ar.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(O,"-tick-labels"),ref:t},z)),_.length>0&&ar.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(O,"-tick-lines")},_))}),Pne=(0,kn.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,o=e.className,i=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=bne(e,vne),d=(0,kn.useState)(""),f=PB(d,2),p=f[0],m=f[1],g=(0,kn.useState)(""),h=PB(g,2),v=h[0],y=h[1],b=(0,kn.useRef)(null);(0,kn.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var S;return NB({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var S;return CB({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var x=(0,kn.useCallback)(S=>{if(S){var w=S.getElementsByClassName("recharts-cartesian-axis-tick-value");b.current=w;var O=w[0];if(O){var k=window.getComputedStyle(O),A=k.fontSize,M=k.letterSpacing;(A!==p||M!==v)&&(m(A),y(M))}}},[p,v]);return i||n!=null&&n<=0||a!=null&&a<=0?null:ar.createElement(Yt,{zIndex:e.zIndex},ar.createElement(bt,{className:Ue("recharts-cartesian-axis",o)},ar.createElement(Nne,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:tr(e)}),ar.createElement(Mne,{ref:x,axisType:s,events:c,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),ar.createElement(Hz,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},ar.createElement(Yz,{label:e.label,labelRef:e.labelRef}),e.children)))}),Mv=ar.forwardRef((e,t)=>{var r=lt(e,ro);return ar.createElement(Pne,ju({},r,{ref:t}))});Mv.displayName="CartesianAxis";var kr=te(ne());var Zb=te(ne());var jB={grid:{stroke:"#ccc",fill:"none"}};var zB=(0,Zb.createContext)(jB),xOe=zB.Provider,LB=()=>(0,Zb.useContext)(zB);var Dne=["x1","y1","x2","y2","key"],Ine=["offset"],jne=["xAxisId","yAxisId"],zne=["xAxisId","yAxisId"];function BB(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 Nn(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,o=e.width,i=e.height,l=e.ry;return kr.createElement("rect",{x:n,y:a,ry:l,width:o,height:i,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function $B(e){var t=e.option,r=e.lineItemProps,n;if(kr.isValidElement(t))n=kr.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,o=r.x1,i=r.y1,l=r.x2,s=r.y2,u=r.key,c=Qb(r,Dne),d=(a=tr(c))!==null&&a!==void 0?a:{},f=d.offset,p=Qb(d,Ine),m=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=kr.createElement("line",zu({},p,{strokeDasharray:m,x1:o,y1:i,x2:l,y2:s,fill:"none",key:u}))}return n}function Wne(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,o=e.horizontalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,jne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return kr.createElement($B,{key:"line-".concat(d),option:a,lineItemProps:f})});return kr.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Hne(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,o=e.verticalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,zne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return kr.createElement($B,{option:a,lineItemProps:f,key:"line-".concat(d)})});return kr.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Vne(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,o=e.width,i=e.height,l=e.horizontalPoints,s=e.horizontal,u=s===void 0?!0:s;if(!u||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?a+i-f:m-f;if(h<=0)return null;var v=p%t.length;return kr.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:h,width:o,stroke:"none",fill:t[v],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Kne(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,o=e.x,i=e.y,l=e.width,s=e.height,u=e.verticalPoints;if(!r||!n||!n.length)return null;var c=u.map(f=>Math.round(f+o-o)).sort((f,p)=>f-p);o!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?o+l-f:m-f;if(h<=0)return null;var v=p%n.length;return kr.createElement("rect",{key:"react-".concat(p),x:f,y:i,width:h,height:s,stroke:"none",fill:n[v],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var qne=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,o=e.offset;return vk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:gk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.left,o.left+o.width,t)},Yne=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,o=e.offset;return vk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:gk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.top,o.top+o.height,t)},Gne={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:dt.grid};function qi(e){var t,r,n,a,o,i,l=Pd(),s=Dd(),u=x0(),c=Nn(Nn({},lt(e,Gne)),{},{x:be(e.x)?e.x:u.left,y:be(e.y)?e.y:u.top,width:be(e.width)?e.width:u.width,height:be(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,m=c.y,g=c.width,h=c.height,v=c.syncWithTicks,y=c.horizontalValues,b=c.verticalValues,x=Et(),S=we(_=>rC(_,"xAxis",d,x)),w=we(_=>rC(_,"yAxis",f,x)),O=LB(),k={stroke:(t=c.stroke)!==null&&t!==void 0?t:O.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:O.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:O.grid.strokeOpacity,strokeDasharray:(a=c.strokeDasharray)!==null&&a!==void 0?a:O.grid.strokeDasharray};if(!Xn(g)||!Xn(h)||!be(p)||!be(m))return null;var A=c.verticalCoordinatesGenerator||qne,M=c.horizontalCoordinatesGenerator||Yne,W=c.horizontalPoints,L=c.verticalPoints;if((!W||!W.length)&&typeof M=="function"){var H=y&&y.length,D=M({yAxis:w?Nn(Nn({},w),{},{ticks:H?y:w.ticks}):void 0,width:l??g,height:s??h,offset:u},H?!0:v);Md(Array.isArray(D),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof D,"]")),Array.isArray(D)&&(W=D)}if((!L||!L.length)&&typeof A=="function"){var Y=b&&b.length,N=A({xAxis:S?Nn(Nn({},S),{},{ticks:Y?b:S.ticks}):void 0,width:l??g,height:s??h,offset:u},Y?!0:v);Md(Array.isArray(N),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof N,"]")),Array.isArray(N)&&(L=N)}return kr.createElement(Yt,{zIndex:c.zIndex},kr.createElement("g",{className:"recharts-cartesian-grid"},kr.createElement(Fne,{fill:(o=c.fill)!==null&&o!==void 0?o:O.grid.fill,fillOpacity:(i=c.fillOpacity)!==null&&i!==void 0?i:O.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),kr.createElement(Vne,zu({},c,{horizontalPoints:W})),kr.createElement(Kne,zu({},c,{verticalPoints:L})),kr.createElement(Wne,zu({},c,k,{offset:u,horizontalPoints:W,xAxis:S,yAxis:w})),kr.createElement(Hne,zu({},c,k,{offset:u,verticalPoints:L,xAxis:S,yAxis:w}))))}qi.displayName="CartesianGrid";var St=te(ne()),Yi=te(ne());var UB=te(ne());var Xne=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function HC(){return HC=Object.assign?Object.assign.bind():function(e){for(var t=1;tp+m,0);if(!a)return FB(t,e);for(var o=Math.floor(e/a),i=e%a,l=[],s=0,u=0;si){l=[...n.slice(0,s),i-u];break}}var f=l.length%2===0?[0,t]:[t];return[...eae(n,o),...l,...f].map(p=>"".concat(p,"px")).join(", ")}function rae(e,t,r){if(e){var n="".concat(e).split(/[,\s]+/gim).map(a=>parseFloat(a));return tae(r,t,n)}return FB(t,r)}function WB(e){var t=e.animationElapsedTime,r=e.isAnimating,n=e.isEntrance,a=e.visibleLength,o=e.strokeDasharray,i=e.connectNulls,l=Zne(e,Xne),s=i??!1,u;if(a!=null){var c,d=l.pathRef,f=Jne((c=d?.current)!==null&&c!==void 0?c:null);u=rae(o,f,a)}else o!=null&&(u=String(o));return UB.createElement(Fo,HC({},l,{connectNulls:s,strokeDasharray:u}))}var Lu=te(ne());function HB(e){var t=(0,Lu.useRef)(0),r=(0,Lu.useRef)(0),n=(0,Lu.useRef)(!1),a=(0,Lu.useRef)(e);return a.current!==e&&(t.current=r.current,a.current=e),(0,Lu.useCallback)((o,i)=>{if(n.current)return null;var l=Math.min(Wa(t.current+o*i),i);return o>0&&i>0&&(r.current=Math.max(r.current,l),l>=i)?(n.current=!0,null):l},[])}var qB=te(ne()),Pv=te(ne());var nae={},VB=Ct({name:"errorBars",initialState:nae,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,o=r.next;e[n]&&(e[n]=e[n].map(i=>i.dataKey===a.dataKey&&i.direction===a.direction?o:i))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==a.dataKey||o.direction!==a.direction))}}}),VC=VB.actions,WOe=VC.addErrorBar,HOe=VC.replaceErrorBar,VOe=VC.removeErrorBar;var KB=VB.reducer;var aae=["children"];function oae(e,t){if(e==null)return{};var r,n,a=iae(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n({x:0,y:0,value:0}),errorBarOffset:0},sae=(0,Pv.createContext)(lae);function Jb(e){var t=e.children,r=oae(e,aae);return qB.createElement(sae.Provider,{value:r},t)}var KC=te(ne());function Bu(e,t){var r,n,a=we(u=>Go(u,e)),o=we(u=>Xo(u,t)),i=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Mr.allowDataOverflow,l=(n=o?.allowDataOverflow)!==null&&n!==void 0?n:Pr.allowDataOverflow,s=i||l;return{needClip:s,needClipX:i,needClipY:l}}function Ef(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=cs(),o=Bu(t,r),i=o.needClipX,l=o.needClipY,s=o.needClip,u=we(b=>qN(b,t,!1)),c=we(b=>YN(b,r,!1));if(!s||!a)return null;var d=a.x,f=a.y,p=a.width,m=a.height,g=i&&u?Math.min(u[0],u[1]):d-p/2,h=l&&c?Math.min(c[0],c[1]):f-m/2,v=i&&u?Math.abs(u[1]-u[0]):p*2,y=l&&c?Math.abs(c[1]-c[0]):m*2;return KC.createElement("clipPath",{id:"clipPath-".concat(n)},KC.createElement("rect",{x:g,y:h,width:v,height:y}))}var YB=(e,t,r,n)=>_a(e,"xAxis",t,n),GB=(e,t,r,n)=>Ea(e,"xAxis",t,n),XB=(e,t,r,n)=>_a(e,"yAxis",r,n),ZB=(e,t,r,n)=>Ea(e,"yAxis",r,n),uae=J([qe,YB,XB,GB,ZB],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),cae=(e,t,r,n,a)=>a;function dae(e){return e.type==="line"}var fae=J([Xl,cae],(e,t)=>e.filter(dae).find(r=>r.id===t)),QB=J([qe,YB,XB,GB,ZB,fae,uae,lu],(e,t,r,n,a,o,i,l)=>{var s=l.chartData,u=l.dataStartIndex,c=l.dataEndIndex;if(!(o==null||t==null||r==null||n==null||a==null||n.length===0||a.length===0||i==null||e!=="horizontal"&&e!=="vertical")){var d=o.dataKey,f=o.data,p;if(f!=null&&f.length>0?p=f:p=s?.slice(u,c+1),p!=null)return JB({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataKey:d,bandSize:i,displayedData:p})}});function Rb(e){var t=ga(e),r=3,n=2;if(t!=null){var a=t.r,o=t.strokeWidth,i=Number(a),l=Number(o);return(Number.isNaN(i)||i<0)&&(i=r),(Number.isNaN(l)||l<0)&&(l=n),{r:i,strokeWidth:l}}return{r,strokeWidth:n}}var pae=["id"],mae=["type","layout","connectNulls","needClip","shape","strokeDasharray"],vae=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function e1(){return e1=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/r:0}var Sae=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(l=>l.status==="removed"?[]:[l.next]);var r=wae(e),n=[];for(var a of e)if(a.status==="matched")n.push(Zo(Zo({},a.next),{},{x:Nt(a.prev.x,a.next.x,t),y:Nt(a.prev.y,a.next.y,t)}));else if(a.status==="added")if(a.next.x!=null){var o=a.next.x-r;n.push(Zo(Zo({},a.next),{},{x:Nt(o,a.next.x,t),y:a.next.y}))}else n.push(a.next);else if(a.status==="removed"&&a.prev.x!=null){var i=a.prev.x+r;n.push(Zo(Zo({},a.prev),{},{x:Nt(a.prev.x,i,t),y:a.prev.y}))}return n},GC={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Sae,animationMatchBy:Pu,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:WB,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:dt.line,type:"linear"},Aae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},kae=St.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n,unit:s,formatter:u,graphicalItemId:d}};return St.createElement(os,{tooltipEntrySettings:f})});function Nae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.dot,o=n.dataKey,i=n.needClip,l=n.id,s=YC(n,pae),u=tr(s);return St.createElement(Vb,{points:r,dot:a,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function Cae(e){var t=e.showLabels,r=e.children,n=e.points,a=(0,Yi.useMemo)(()=>n?.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Zo(Zo({},s),{},{value:o.value,payload:o.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[n]);return St.createElement(hf,{value:t?a:void 0},r)}function Eae(e){var t=e.clipPathId,r=e.pathRef,n=e.points,a=e.props,o=e.animationElapsedTime,i=e.isAnimating,l=e.isEntrance,s=e.visibleLength,u=a.type,c=a.layout,d=a.connectNulls,f=a.needClip,p=a.shape,m=a.strokeDasharray,g=YC(a,mae),h=Zo(Zo({},rr(g)),{},{fill:"none",className:"recharts-line-curve",clipPath:f?"url(#clipPath-".concat(t,")"):void 0,points:n,type:u,layout:c,connectNulls:d,strokeDasharray:m??a.strokeDasharray,pathRef:r,animationElapsedTime:o,isAnimating:i,isEntrance:a.animateNewValues?l:!1,visibleLength:s});return St.createElement(St.Fragment,null,n?.length>1&&St.createElement(as,{option:p,DefaultShape:GC.shape,shapeProps:h}),St.createElement(Nae,{points:n,clipPathId:t,props:a}))}function _ae(e){var t=e.clipPathId,r=e.props,n=e.pathRef,a=e.previousPointsRef,o=r.points,i=r.isAnimationActive,l=r.animationBegin,s=r.animationDuration,u=r.animationEasing,c=r.animationMatchBy,d=r.animationInterpolateFn,f=r.layout,p=bae(n.current),m=ls(r.onAnimationStart,r.onAnimationEnd),g=m.isAnimating,h=m.handleAnimationStart,v=m.handleAnimationEnd,y=!g,b=HB(o),x=(0,Yi.useCallback)(S=>S>0&&p>0,[p]);return St.createElement(Cae,{points:o,showLabels:y},r.children,St.createElement(ss,{animationInput:o,animationIdPrefix:"recharts-line-",items:o,previousItemsRef:a,isAnimationActive:i,animationBegin:l,animationDuration:s,animationEasing:u,onAnimationStart:h,onAnimationEnd:v,animationInterpolateFn:d,animationMatchBy:c,shouldUpdatePreviousRef:x,layout:f},(S,w,O)=>{var k=g||w<1,A=k?b(w,p):null;return St.createElement(Eae,{props:r,points:S,clipPathId:t,pathRef:n,animationElapsedTime:w,isAnimating:k,isEntrance:O,visibleLength:A})}),St.createElement(ns,{label:r.label}))}function Oae(e){var t=e.clipPathId,r=e.props,n=(0,Yi.useRef)(null),a=(0,Yi.useRef)(null);return St.createElement(_ae,{props:r,clipPathId:t,previousPointsRef:n,pathRef:a})}var Tae=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:Qe(e.payload,t)}},qC=class extends Yi.Component{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.top,u=t.left,c=t.width,d=t.height,f=t.id,p=t.needClip,m=t.zIndex;if(r)return null;var g=Ue("recharts-line",o),h=f,v=Rb(n),y=v.r,b=v.strokeWidth,x=xf(n),S=y*2+b,w=p?"url(#clipPath-".concat(x?"":"dots-").concat(h,")"):void 0;return St.createElement(Yt,{zIndex:m},St.createElement(bt,{className:g},p&&St.createElement("defs",null,St.createElement(Ef,{clipPathId:h,xAxisId:i,yAxisId:l}),!x&&St.createElement("clipPath",{id:"clipPath-dots-".concat(h)},St.createElement("rect",{x:u-S/2,y:s-S/2,width:c+S,height:d+S}))),St.createElement(Jb,{xAxisId:i,yAxisId:l,data:a,dataPointFormatter:Tae,errorBarOffset:0},St.createElement(Oae,{props:this.props,clipPathId:h}))),St.createElement(Nv,{activeDot:this.props.activeDot,points:a,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Mae(e){var t=lt(e,GC),r=t.activeDot,n=t.animateNewValues,a=t.animationBegin,o=t.animationDuration,i=t.animationEasing,l=t.connectNulls,s=t.dot,u=t.hide,c=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,g=t.id,h=YC(t,vae),v=Bu(p,m),y=v.needClip,b=cs(),x=Qn(),S=Et(),w=we(W=>QB(W,p,m,S,g));if(x!=="horizontal"&&x!=="vertical"||w==null||b==null)return null;var O=b.height,k=b.width,A=b.x,M=b.y;return St.createElement(qC,e1({},h,{id:g,connectNulls:l,dot:s,activeDot:r,animateNewValues:n,animationBegin:a,animationDuration:o,animationEasing:i,isAnimationActive:c,hide:u,label:d,legendType:f,xAxisId:p,yAxisId:m,points:w,layout:x,height:O,width:k,left:A,top:M,needClip:y}))}function JB(e){var t=e.layout,r=e.xAxis,n=e.yAxis,a=e.xAxisTicks,o=e.yAxisTicks,i=e.dataKey,l=e.bandSize,s=e.displayedData;return s.map((u,c)=>{var d=Qe(u,i);if(t==="horizontal"){var f=Nd({axis:r,ticks:a,bandSize:l,entry:u,index:c}),p=ct(d)?null:n.scale.map(d);return{x:f,y:p??null,value:d,payload:u}}var m=ct(d)?null:r.scale.map(d),g=Nd({axis:n,ticks:o,bandSize:l,entry:u,index:c});return m==null||g==null?null:{x:m,y:g,value:d,payload:u}}).filter(Boolean)}function Pae(e){var t=lt(e,GC),r=Et();return St.createElement(us,{id:t.id,type:"line"},n=>St.createElement(St.Fragment,null,St.createElement(wf,{legendPayload:Aae(t)}),St.createElement(kae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),St.createElement(kf,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),St.createElement(Mae,e1({},t,{id:n}))))}var t1=St.memo(Pae,Jn);t1.displayName="Line";var ht=te(ne()),$u=te(ne());function no(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:$C}function ao(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:$C}var e9=(e,t,r)=>_a(e,"xAxis",no(e,t),r),t9=(e,t,r)=>Ea(e,"xAxis",no(e,t),r),r9=(e,t,r)=>_a(e,"yAxis",ao(e,t),r),n9=(e,t,r)=>Ea(e,"yAxis",ao(e,t),r),Dae=J([qe,e9,r9,t9,n9],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),Iae=(e,t)=>t,XC=J([Xl,Iae],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),a9=e=>{var t=qe(e),r=wn(t,"xAxis");return r?"yAxis":"xAxis"},jae=(e,t)=>{var r=a9(e);return r==="yAxis"?ao(e,t):no(e,t)},o9=(e,t,r)=>af(e,a9(e),jae(e,t),r),zae=J([XC,o9],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=Wl(e);if(!(n==null||a==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,i=o?.find(l=>l.key===a);if(i!=null)return i.map(l=>[l[0],l[1]])}}}),Lae=J([XC,o9],(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(Yr)}}),i9=J([qe,e9,r9,t9,n9,zae,F0,Dae,XC,d6,Lae],(e,t,r,n,a,o,i,l,s,u,c)=>{var d=i.chartData,f=i.dataStartIndex,p=i.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var m=s.data,g;if(m&&m.length>0?g=m:g=d?.slice(f,p+1),g!=null)return l9({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:f,areaSettings:s,stackedData:o,displayedData:g,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var Cn=te(ne());var Bae=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],$ae=["id","baseLine"];function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.y||0),c)),be(c)?Cn.createElement("rect",{x:ld.x||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.x||0),c)),be(c)?Cn.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[_f(_f({},r.next),{},{x:Nt(r.prev.x,r.next.x,t),y:Nt(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),f9={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Pu,animationInterpolateFn:Zae,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:u9,xAxisId:0,yAxisId:0,zIndex:dt.area};function n1(e,t){return e&&e!=="none"?e:t}var Qae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,o=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:o,color:n1(n,a),value:wa(r,t),payload:e}]},Jae=ht.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n1(n,o),unit:s,formatter:u,graphicalItemId:d}};return ht.createElement(os,{tooltipEntrySettings:f})});function Rae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,o=n.dot,i=n.dataKey,l=tr(n);return ht.createElement(Vb,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:i,baseProps:l,needClip:a,clipPathId:t})}function eoe(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return _f(_f({},s),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return ht.createElement(hf,{value:t?a:void 0},r)}function toe(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,o=e.props,i=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=o.layout,c=o.type,d=o.stroke,f=o.connectNulls,p=o.isRange,m=o.shape,g=o.id,h=d9(o,Vae),v=rr(h),y=_f(_f({},v),{},{id:g,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:i,isAnimating:l,isEntrance:s});return ht.createElement(ht.Fragment,null,t?.length>1&&ht.createElement(bt,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},ht.createElement(as,{option:m,DefaultShape:f9.shape,shapeProps:y})),ht.createElement(Rae,{points:t,props:h,clipPathId:a}))}function roe(e,t,r){if(be(e)){var n=be(t)?t:void 0;return Nt(n,e,r)}if(ct(e)||nn(e)){var a=be(t)?t:void 0;return Nt(a,0,r)}return e}function noe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,o=e.previousBaselineRef,i=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,m=(0,$u.useMemo)(()=>({points:i,baseLine:l}),[i,l]),g=Lb(m,o),h=Id(),v=ls(n.onAnimationStart,n.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(h==null)return null;var w;return Array.isArray(l)&&Array.isArray(S)?w=wv(S,l,f):Array.isArray(l)?w=wv(null,l,f):w=null,ht.createElement(ss,{animationInput:m,animationIdPrefix:"recharts-area-",items:i,previousItemsRef:a,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:p,animationMatchBy:f,layout:h},(O,k,A)=>{var M;return k===1?M=l:Array.isArray(l)?M=p(w,k,h):M=A?l:roe(l,S,k),g.syncStepValue(M,k),ht.createElement(eoe,{showLabels:!y,points:i},n.children,ht.createElement(toe,{points:O,baseLine:M,needClip:t,clipPathId:r,props:n,animationElapsedTime:k,isAnimating:y||k<1,isEntrance:A}),ht.createElement(ns,{label:n.label}))})}function aoe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=(0,$u.useRef)(null),o=(0,$u.useRef)();return ht.createElement(noe,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:o})}var ZC=class extends $u.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,m=t.baseLine,g=t.zIndex;if(r)return null;var h=Ue("recharts-area",o),v=p,y=Rb(n),b=y.r,x=y.strokeWidth,S=xf(n),w=b*2+x,O=s?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return ht.createElement(Yt,{zIndex:g},ht.createElement(bt,{className:h},s&&ht.createElement("defs",null,ht.createElement(Ef,{clipPathId:v,xAxisId:u,yAxisId:c}),!S&&ht.createElement("clipPath",{id:"clipPath-dots-".concat(v)},ht.createElement("rect",{x:l-w/2,y:i-w/2,width:d+w,height:f+w}))),ht.createElement(aoe,{needClip:s,clipPathId:v,props:this.props})),ht.createElement(Nv,{points:a,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}),this.props.isRange&&Array.isArray(m)&&ht.createElement(Nv,{points:m,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}))}};function ooe(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,o=e.animationEasing,i=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,g=e.yAxisId,h=d9(e,Kae),v=Qn(),y=lb(),b=Bu(m,g),x=b.needClip,S=Et(),w=(t=we(Y=>i9(Y,e.id,S)))!==null&&t!==void 0?t:{},O=w.points,k=w.isRange,A=w.baseLine,M=cs();if(v!=="horizontal"&&v!=="vertical"||M==null||y!=="AreaChart"&&y!=="ComposedChart")return null;var W=M.height,L=M.width,H=M.x,D=M.y;return!O||!O.length?null:ht.createElement(ZC,r1({},h,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:o,baseLine:A,connectNulls:i,dot:l,fill:s,fillOpacity:u,height:W,hide:c,layout:v,isAnimationActive:d,isRange:k,legendType:f,needClip:x,points:O,stroke:p,width:L,left:H,top:D,xAxisId:m,yAxisId:g}))}var ioe=(e,t,r,n,a)=>{var o=r??t;if(be(o))return o;var i=e==="horizontal"?a:n,l=i.scale.domain();if(i.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return o==="dataMin"?u:o==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return o==="dataMin"?l[0]:o==="dataMax"?l[1]:l[0]};function l9(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,o=e.stackedData,i=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,g=e.stackDataKeys,h=o&&o.length,v=ioe(i,l,n,s,u),y=i==="horizontal",b=!1,x=c.map((w,O)=>{var k,A,M,W;if(h)W=o[d+O];else{var L=Qe(w,a);Array.isArray(L)?(W=L,b=!0):W=[v,L]}var H=(k=(A=W)===null||A===void 0?void 0:A[1])!==null&&k!==void 0?k:null,D=Qe(w,a),Y=h&&D==null&&g!=null&&g.length>0&&g.every(z=>Qe(w,z)==null),N=H==null||h&&!r&&D==null||Y;if(y){var _;return{x:Nd({axis:s,ticks:f,bandSize:m,entry:w,index:O}),y:N?null:(_=u.scale.map(H))!==null&&_!==void 0?_:null,value:W,payload:w}}return{x:N?null:(M=s.scale.map(H))!==null&&M!==void 0?M:null,y:Nd({axis:u,ticks:p,bandSize:m,entry:w,index:O}),value:W,payload:w}}),S;return h||b?S=x.map(w=>{var O,k=Array.isArray(w.value)?w.value[0]:null;if(y){var A;return{x:w.x,y:k!=null&&w.y!=null&&(A=u.scale.map(k))!==null&&A!==void 0?A:null,payload:w.payload}}return{x:k!=null&&(O=s.scale.map(k))!==null&&O!==void 0?O:null,y:w.y,payload:w.payload}}):S=y?u.scale.map(v):s.scale.map(v),{points:x,baseLine:S??0,isRange:b}}function loe(e){var t=lt(e,f9),r=Et();return ht.createElement(us,{id:t.id,type:"area"},n=>ht.createElement(ht.Fragment,null,ht.createElement(wf,{legendPayload:Qae(t)}),ht.createElement(Jae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),ht.createElement(kf,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:f0(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),ht.createElement(ooe,r1({},t,{id:n}))))}var Gi=ht.memo(loe,Jn);Gi.displayName="Area";var ot=te(ne()),Co=te(ne());var m9=te(ne());var soe=!0,QC="Invariant failed";function p9(e,t){if(!e){if(soe)throw new Error(QC);var r=typeof t=="function"?t():t,n=r?"".concat(QC,": ").concat(r):QC;throw new Error(n)}}var uoe=["option"];function coe(e,t){if(e==null)return{};var r,n,a=doe(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n1&&arguments[1]!==void 0?arguments[1]:0;return(n,a)=>{if(be(t))return t;var o=be(n)||ct(n);return o?t(n,a):(o||p9(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),r)}};var foe=(e,t,r)=>r,poe=(e,t)=>t,Iv=J([Xl,poe],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),moe=J([Iv],e=>e?.maxBarSize),voe=(e,t,r,n)=>n,goe=J([qe,Xl,no,ao,foe],(e,t,r,n,a)=>t.filter(o=>e==="horizontal"?o.xAxisId===r:o.yAxisId===n).filter(o=>o.isPanorama===a).filter(o=>o.hide===!1).filter(o=>o.type==="bar")),yoe=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null))return n==="horizontal"?af(e,"yAxis",o,r):af(e,"xAxis",a,r)},hoe=(e,t)=>{var r=qe(e),n=no(e,t),a=ao(e,t);if(!(n==null||a==null))return r==="horizontal"?RN(e,"xAxis",n):RN(e,"yAxis",a)},xoe=J([goe,c6,hoe],rB),boe=(e,t,r)=>{var n,a,o=Iv(e,t);if(o==null)return 0;var i=no(e,t),l=ao(e,t);if(i==null||l==null)return 0;var s=qe(e),u=Wk(e),c=o.maxBarSize,d=ct(c)?u:c,f,p;return s==="horizontal"?(f=_a(e,"xAxis",i,r),p=Ea(e,"xAxis",i,r)):(f=_a(e,"yAxis",l,r),p=Ea(e,"yAxis",l,r)),(n=(a=Ya(f,p,!0))!==null&&a!==void 0?a:d)!==null&&n!==void 0?n:0},g9=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null)){var i,l;return n==="horizontal"?(i=_a(e,"xAxis",a,r),l=Ea(e,"xAxis",a,r)):(i=_a(e,"yAxis",o,r),l=Ea(e,"yAxis",o,r)),Ya(i,l)}},woe=J([xoe,Wk,u6,q0,boe,g9,moe],aB),Soe=(e,t,r)=>{var n=no(e,t);if(n!=null)return _a(e,"xAxis",n,r)},Aoe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return _a(e,"yAxis",n,r)},koe=(e,t,r)=>{var n=no(e,t);if(n!=null)return Ea(e,"xAxis",n,r)},Noe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return Ea(e,"yAxis",n,r)},Coe=J([woe,Iv],iB),Eoe=J([yoe,Iv],oB),y9=J([jt,Od,Soe,Aoe,koe,Noe,Coe,qe,F0,g9,Eoe,Iv,voe],(e,t,r,n,a,o,i,l,s,u,c,d,f)=>{var p=s.chartData,m=s.dataStartIndex,g=s.dataEndIndex;if(!(d==null||i==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||n==null||a==null||o==null||u==null)){var h=d.data,v;if(h!=null&&h.length>0?v=h:v=p?.slice(m,g+1),v!=null)return h9({layout:l,barSettings:d,pos:i,parentViewBox:t,bandSize:u,xAxis:r,yAxis:n,xAxisTicks:a,yAxisTicks:o,stackedData:c,displayedData:v,offset:e,cells:f,dataStartIndex:m})}});var RC=te(ne()),Of=te(ne());var _oe=["index"];function JC(){return JC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=(0,Of.useContext)(x9);if(t!=null)return t.stackId;if(e!=null)return f0(e)};var Moe=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Poe=e=>{var t=(0,Of.useContext)(x9);if(t!=null){var r=t.stackId;return"url(#".concat(Moe(r,e),")")}},eE=e=>{var t=e.index,r=Ooe(e,_oe),n=Poe(t);return RC.createElement(bt,JC({className:"recharts-bar-stack-layer",clipPath:n},r))};var Doe=["onMouseEnter","onMouseLeave","onClick"],Ioe=["value","background","tooltipPosition"],joe=["id"],zoe=["onMouseEnter","onClick","onMouseLeave"];function w9(e,t){return Uoe(e)||$oe(e,t)||Boe(e,t)||Loe()}function Loe(){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 Boe(e,t){if(e){if(typeof e=="string")return S9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S9(e,t):void 0}}function S9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.dataKey,r=e.name,n=e.fill,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},qoe=ot.memo(e=>{var t=e.dataKey,r=e.stroke,n=e.strokeWidth,a=e.fill,o=e.name,i=e.hide,l=e.unit,s=e.formatter,u=e.tooltipType,c=e.id,d={dataDefinedOnItem:void 0,getPosition:Pn,settings:{stroke:r,strokeWidth:n,fill:a,dataKey:t,nameKey:void 0,name:wa(o,t),hide:i,type:u,color:a,unit:l,formatter:s,graphicalItemId:c}};return ot.createElement(os,{tooltipEntrySettings:d})});function Yoe(e){var t=we(Ra),r=e.data,n=e.dataKey,a=e.background,o=e.allOtherBarProps,i=o.onMouseEnter,l=o.onMouseLeave,s=o.onClick,u=i1(o,Doe),c=gv(i,n,o.id),d=yv(l),f=hv(s,n,o.id);if(!a||r==null)return null;var p=ga(a);return ot.createElement(Yt,{zIndex:lB(a,dt.barBackground)},r.map((m,g)=>{var h=m.value,v=m.background,y=m.tooltipPosition,b=i1(m,Ioe);if(!v)return null;var x=c(m,m.originalDataIndex),S=d(m,m.originalDataIndex),w=f(m,m.originalDataIndex),O=Zr(Zr(Zr(Zr(Zr({option:a,isActive:String(m.originalDataIndex)===t},b),{},{fill:"#eee"},v),p),Ei(u,m,g)),{},{onMouseEnter:x,onMouseLeave:S,onClick:w,dataKey:n,index:g,className:"recharts-bar-background-rectangle"});return ot.createElement(o1,ds({key:"background-bar-".concat(g)},O))}))}function Goe(e){var t=e.showLabels,r=e.children,n=e.rects,a=n?.map(o=>{var i={x:o.x,y:o.y,width:o.width,lowerWidth:o.width,upperWidth:o.width,height:o.height};return Zr(Zr({},i),{},{value:o.value,payload:o.payload,parentViewBox:o.parentViewBox,viewBox:i,fill:o.fill})});return ot.createElement(hf,{value:t?a:void 0},r)}function Xoe(e){var t=e.shape,r=e.activeBar,n=e.baseProps,a=e.entry,o=e.index,i=e.dataKey,l=we(Ra),s=we(uf),u=r&&String(a.originalDataIndex)===l&&(s==null||i===s),c=l!=null&&(String(a.originalDataIndex)!==l||s!=null&&i!==s),d=(0,Co.useState)(!1),f=w9(d,2),p=f[0],m=f[1],g=(0,Co.useState)(!1),h=w9(g,2),v=h[0],y=h[1];(0,Co.useEffect)(()=>{var k;return u?(m(!0),k=requestAnimationFrame(()=>{y(!0)})):(y(!1),c&&m(!1)),()=>{cancelAnimationFrame(k)}},[u,c]);var b=(0,Co.useCallback)(()=>{u||m(!1)},[u]),x=u&&v,S=u||p,w;u?r===!0?w=t:w=r:w=t;var O=ot.createElement(o1,ds({},n,{name:String(n.name)},a,{isActive:x,option:w,index:o,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:b}));return S?ot.createElement(Yt,{zIndex:dt.activeBar},ot.createElement(eE,{index:a.originalDataIndex},O)):O}function Zoe(e){var t=e.shape,r=e.baseProps,n=e.entry,a=e.index,o=e.dataKey;return ot.createElement(o1,ds({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:a,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Qoe(e){var t,r=e.data,n=e.props,a=e.animationElapsedTime,o=e.isAnimating,i=e.isEntrance,l=(t=tr(n))!==null&&t!==void 0?t:{},s=l.id,u=i1(l,joe),c=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,g=n.onMouseLeave,h=i1(n,zoe),v=gv(p,d,s),y=yv(g),b=hv(m,d,s);return r?ot.createElement(ot.Fragment,null,r.map((x,S)=>ot.createElement(eE,ds({index:x.originalDataIndex,key:"rectangle-".concat(x?.x,"-").concat(x?.y,"-").concat(x?.value,"-").concat(S),className:"recharts-bar-rectangle"},Ei(h,x,S),{onMouseEnter:v(x,x.originalDataIndex),onMouseLeave:y(x,x.originalDataIndex),onClick:b(x,x.originalDataIndex)}),f?ot.createElement(Xoe,{shape:c,activeBar:f,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i}):ot.createElement(Zoe,{shape:c,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i})))):null}var Joe=(e,t,r)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return r==="horizontal"?[Zr(Zr({},n.prev),{},{height:Nt(n.prev.height,0,t),y:Nt(n.prev.y,n.prev.y+n.prev.height,t)})]:[Zr(Zr({},n.prev),{},{width:Nt(n.prev.width,0,t)})];if(n.status==="matched")return[Zr(Zr({},n.next),{},{x:Nt(n.prev.x,n.next.x,t),y:Nt(n.prev.y,n.next.y,t),width:Nt(n.prev.width,n.next.width,t),height:Nt(n.prev.height,n.next.height,t)})];var a=n.next;return r==="horizontal"?[Zr(Zr({},a),{},{height:Nt(0,a.height,t),y:Nt(a.stackedBarStart,a.y,t)})]:[Zr(Zr({},a),{},{width:Nt(0,a.width,t),x:Nt(a.stackedBarStart,a.x,t)})]});function Roe(e){var t=e.props,r=e.previousRectanglesRef,n=t.data,a=t.isAnimationActive,o=t.animationBegin,i=t.animationDuration,l=t.animationEasing,s=t.animationInterpolateFn,u=t.layout,c=ls(t.onAnimationStart,t.onAnimationEnd),d=c.isAnimating,f=c.handleAnimationStart,p=c.handleAnimationEnd;return ot.createElement(Goe,{showLabels:!d,rects:n},ot.createElement(ss,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:r,isAnimationActive:a,animationBegin:o,animationDuration:i,animationEasing:l,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:u},(m,g,h)=>ot.createElement(bt,null,ot.createElement(Qoe,{props:t,data:m,animationElapsedTime:g,isAnimating:d||g<1,isEntrance:h}))),ot.createElement(ns,{label:t.label}),t.children)}function eie(e){var t=(0,Co.useRef)(null);return ot.createElement(Roe,{previousRectanglesRef:t,props:e})}var k9=0,tie=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:Qe(e,t)}},tE=class extends Co.PureComponent{render(){var t=this.props,r=t.hide,n=t.data,a=t.dataKey,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.needClip,u=t.background,c=t.id;if(r||n==null)return null;var d=Ue("recharts-bar",o),f=c;return ot.createElement(bt,{className:d,id:c},s&&ot.createElement("defs",null,ot.createElement(Ef,{clipPathId:f,xAxisId:i,yAxisId:l})),ot.createElement(bt,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(f,")"):void 0},ot.createElement(Yoe,{data:n,dataKey:a,background:u,allOtherBarProps:this.props}),ot.createElement(eie,this.props)))}},rie={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Joe,animationMatchBy:bv,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:k9,shape:a1,xAxisId:0,yAxisId:0,zIndex:dt.bar};function nie(e){var t=e.xAxisId,r=e.yAxisId,n=e.hide,a=e.legendType,o=e.minPointSize,i=e.activeBar,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.isAnimationActive,d=Bu(t,r),f=d.needClip,p=Qn(),m=Et(),g=mv(e.children,Wi),h=we(b=>y9(b,e.id,m,g));if(p!=="vertical"&&p!=="horizontal")return null;var v,y=h?.[0];return y==null||y.height==null||y.width==null?v=0:v=p==="vertical"?y.height/2:y.width/2,ot.createElement(Jb,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:tie,errorBarOffset:v},ot.createElement(tE,ds({},e,{layout:p,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:n,legendType:a,minPointSize:o,activeBar:i,animationBegin:l,animationDuration:s,animationEasing:u,isAnimationActive:c})))}function h9(e){var t=e.layout,r=e.barSettings,n=r.dataKey,a=r.minPointSize,o=r.hasCustomShape,i=e.pos,l=e.bandSize,s=e.xAxis,u=e.yAxis,c=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,m=e.offset,g=e.cells,h=e.parentViewBox,v=e.dataStartIndex,y=t==="horizontal"?u:s,b=f?y.scale.domain():null,x=sD({numericAxis:y}),S=y.scale.map(x);return p.map((w,O)=>{var k,A,M,W,L,H;if(f){var D=f[O+v];if(D==null)return null;k=iD(D,b)}else k=Qe(w,n),Array.isArray(k)||(k=[x,k]);var Y=v9(a,k9)(k[1],O);if(t==="horizontal"){var N,_=u.scale.map(k[0]),z=u.scale.map(k[1]);if(_==null||z==null)return null;A=yk({axis:s,ticks:c,bandSize:l,offset:i.offset,entry:w,index:O}),M=(N=z??_)!==null&&N!==void 0?N:void 0,W=i.size;var j=_-z;if(L=nn(j)?0:j,H={x:A,y:m.top,width:W,height:m.height},Math.abs(Y)>0&&Math.abs(L)0&&Math.abs(W)ot.createElement(ot.Fragment,null,ot.createElement(wf,{legendPayload:Koe(t)}),ot.createElement(qoe,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:a}),ot.createElement(kf,{type:"bar",id:a,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==a1}),ot.createElement(Yt,{zIndex:t.zIndex},ot.createElement(nie,ds({},t,{id:a})))))}var l1=ot.memo(aie,Jn);l1.displayName="Bar";var Xi=te(ne()),oo=te(ne());var oie=["domain","range"],iie=["domain","range"];function N9(e,t){if(e==null)return{};var r,n,a=lie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(i!=null)return _9(_9({},o),{},{type:i})},[o,i]);return(0,oo.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(FL(l)):r.current!==l&&t(WL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,oo.useLayoutEffect)(()=>()=>{r.current&&(t(HL(r.current)),r.current=null)},[t]),null}var gie=e=>{var t=e.xAxisId,r=e.className,n=e.height,a=e.label,o=(0,oo.useRef)(null),i=(0,oo.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="xAxis",d=we(w=>Gx(w,c,t,s)),f=we(w=>QN(w,t)),p=we(w=>RI(w,t)),m=we(w=>_N(w,t));if((0,oo.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Mu(a)||(0,oo.isValidElement)(a)||m==null)){var w=o.current;if(w){var O=w.getCalculatedHeight();Math.round(f.height)!==Math.round(O)&&u(GL({id:t,height:O}))}}},[d,f,u,a,t,n,m]),f==null||p==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=nE(e,uie),b=m.id,x=m.scale,S=nE(m,cie);return Xi.createElement(Mv,rE({},y,S,{ref:o,labelRef:i,x:p.x,y:p.y,width:f.width,height:f.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},yie={allowDataOverflow:Mr.allowDataOverflow,allowDecimals:Mr.allowDecimals,allowDuplicatedCategory:Mr.allowDuplicatedCategory,angle:Mr.angle,axisLine:ro.axisLine,height:Mr.height,hide:!1,includeHidden:Mr.includeHidden,interval:Mr.interval,label:!1,minTickGap:Mr.minTickGap,mirror:Mr.mirror,orientation:Mr.orientation,padding:Mr.padding,reversed:Mr.reversed,scale:Mr.scale,tick:Mr.tick,tickCount:Mr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Mr.type,niceTicks:Mr.niceTicks,xAxisId:0},hie=e=>{var t=lt(e,yie);return Xi.createElement(Xi.Fragment,null,Xi.createElement(vie,{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}),Xi.createElement(gie,t))},Zi=Xi.memo(hie,s1);Zi.displayName="XAxis";var Qi=te(ne()),io=te(ne());var xie=["type"],bie=["dangerouslySetInnerHTML","ticks","scale"],wie=["id","scale"];function aE(){return aE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(i!=null)return T9(T9({},o),{},{type:i})},[i,o]);return(0,io.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(VL(l)):r.current!==l&&t(KL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,io.useLayoutEffect)(()=>()=>{r.current&&(t(qL(r.current)),r.current=null)},[t]),null}function Eie(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,o=(0,io.useRef)(null),i=(0,io.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="yAxis",d=we(w=>JN(w,t)),f=we(w=>ej(w,t)),p=we(w=>Gx(w,c,t,s)),m=we(w=>ON(w,t));if((0,io.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Mu(a)||(0,io.isValidElement)(a)||m==null)){var w=o.current;if(w){var O=w.getCalculatedWidth();Math.round(d.width)!==Math.round(O)&&u(YL({id:t,width:O}))}}},[p,d,u,a,t,n,m]),d==null||f==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=oE(e,bie),b=m.id,x=m.scale,S=oE(m,wie);return Qi.createElement(Mv,aE({},y,S,{ref:o,labelRef:i,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var _ie={allowDataOverflow:Pr.allowDataOverflow,allowDecimals:Pr.allowDecimals,allowDuplicatedCategory:Pr.allowDuplicatedCategory,angle:Pr.angle,axisLine:ro.axisLine,hide:!1,includeHidden:Pr.includeHidden,interval:Pr.interval,label:!1,minTickGap:Pr.minTickGap,mirror:Pr.mirror,orientation:Pr.orientation,padding:Pr.padding,reversed:Pr.reversed,scale:Pr.scale,tick:Pr.tick,tickCount:Pr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Pr.type,niceTicks:Pr.niceTicks,width:Pr.width,yAxisId:0},Oie=e=>{var t=lt(e,_ie);return Qi.createElement(Qi.Fragment,null,Qi.createElement(Cie,{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}),Qi.createElement(Eie,t))},Ji=Qi.memo(Oie,s1);Ji.displayName="YAxis";var n7=te(ne()),a7=te(ne());var Ku=te(ne()),r7=te(ne());var K9=te(ne()),q9=te(ne());var Tie=(e,t)=>t,jv=J([Tie,qe,ex,Tr,sC,ta,Pj,jt],Bj);function Mie(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function zv(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Mie(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 o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var i=(l,s)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((s-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>i(l.clientX,l.clientY)):i(e.clientX,e.clientY)}var lE=Fr("mouseClick"),sE=Pi();sE.startListening({actionCreator:lE,effect:(e,t)=>{var r=e.payload,n=jv(t.getState(),zv(r));n?.activeIndex!=null&&t.dispatch(dj({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var u1=Fr("mouseMove"),uE=Pi(),Tf=null,Uu=null,iE=null;uE.startListening({actionCreator:u1,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i?.includes("mousemove");Tf!==null&&(cancelAnimationFrame(Tf),Tf=null),Uu!==null&&(typeof o!="number"||!l)&&(clearTimeout(Uu),Uu=null),iE=zv(r);var s=()=>{var u=t.getState(),c=Zl(u,u.tooltip.settings.shared);if(!iE){Tf=null,Uu=null;return}if(c==="axis"){var d=jv(u,iE);d?.activeIndex!=null?t.dispatch(Jx({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(Qx())}Tf=null,Uu=null};if(!l){s();return}o==="raf"?Tf=requestAnimationFrame(s):typeof o=="number"&&Uu===null&&(Uu=setTimeout(s,o))}});function M9(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 P9={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},D9=Ct({name:"rootProps",initialState:P9,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:P9.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}}}),I9=D9.reducer,j9=D9.actions.updateOptions;var Pie=null,Die={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)},z9=Ct({name:"polarOptions",initialState:Pie,reducers:Die}),L9=z9.actions.updatePolarOptions;var B9=z9.reducer;var cE=Fr("keyDown"),dE=Fr("focus"),fE=Fr("blur"),Lv=Pi(),Mf=null,Fu=null,c1=null;Lv.startListening({actionCreator:cE,effect:(e,t)=>{c1=e.payload,Mf!==null&&(cancelAnimationFrame(Mf),Mf=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,o=n.throttledEvents,i=o==="all"||o.includes("keydown");Fu!==null&&(typeof a!="number"||!i)&&(clearTimeout(Fu),Fu=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=c1;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=Ql(c,Fi(s),Li(s),Rl(s)),p=f==null?-1:Number(f),m=!Number.isFinite(p)||p<0,g=ta(s),h=Fi(s),v=Zl(s,s.tooltip.settings.shared);if(d==="Enter"){if(m)return;var y=dv(s,v,"hover",String(c.index));t.dispatch(uv({active:!c.active,activeIndex:c.index,activeCoordinate:y}));return}var b=tj(s),x=b==="left-to-right"?1:-1,S=d==="ArrowRight"?1:-1,w;if(m){var O=Li(s),k=Rl(s),A=S*x,M=Y=>({active:!1,index:String(Y),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(w=-1,A>0){for(var W=0;W=0;L--)if(Ql(M(L),h,O,k)!=null){w=L;break}if(w<0)return}else{w=p+S*x;var H=g?.length||h.length;if(H===0||w>=H||w<0)return}var D=dv(s,v,"hover",String(w));t.dispatch(uv({active:!0,activeIndex:w.toString(),activeCoordinate:D}))}finally{Mf=null,Fu=null}};if(!i){l();return}a==="raf"?Mf=requestAnimationFrame(l):typeof a=="number"&&Fu===null&&(l(),c1=null,Fu=setTimeout(()=>{c1?l():(Fu=null,Mf=null)},a))}});Lv.startListening({actionCreator:dE,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 o="0",i=Zl(r,r.tooltip.settings.shared),l=dv(r,i,"hover",String(o));t.dispatch(uv({active:!0,activeIndex:o,activeCoordinate:l}))}}}});Lv.startListening({actionCreator:fE,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(uv({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function d1(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 Oa=Fr("externalEvent"),mE=Pi(),f1=new Map,Bv=new Map,pE=new Map;mE.startListening({actionCreator:Oa,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var o=a.type,i=d1(a);pE.set(o,{handler:n,reactEvent:i});var l=f1.get(o);l!==void 0&&(cancelAnimationFrame(l),f1.delete(o));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(o),m=Bv.get(o);m!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(m),Bv.delete(o));var g=()=>{var y=pE.get(o);try{if(!y)return;var b=y.handler,x=y.reactEvent,S=t.getState(),w={activeCoordinate:fC(S),activeDataKey:uf(S),activeIndex:Ra(S),activeLabel:ob(S),activeTooltipIndex:Ra(S),isTooltipActive:pC(S)};b&&b(w,x)}finally{f1.delete(o),Bv.delete(o),pE.delete(o)}};if(!p){g();return}if(c==="raf"){var h=requestAnimationFrame(g);f1.set(o,h)}else if(typeof c=="number"){if(!Bv.has(o)){g();var v=setTimeout(g,c);Bv.set(o,v)}}else g()}}});var Iie=J([Ui],e=>e.tooltipItemPayloads),$9=J([Iie,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}});var vE=Fr("touchMove"),gE=Pi(),Wu=null,fs=null,U9=null,$v=null;gE.startListening({actionCreator:vE,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){$v=d1(r);var n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i.includes("touchmove");Wu!==null&&(cancelAnimationFrame(Wu),Wu=null),fs!==null&&(typeof o!="number"||!l)&&(clearTimeout(fs),fs=null),U9=Array.from(r.touches).map(u=>zv({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if($v!=null){var u=t.getState(),c=Zl(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=U9)===null||d===void 0?void 0:d[0];if(f==null){Wu=null,fs=null;return}var p=jv(u,f);p?.activeIndex!=null&&t.dispatch(Jx({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var m,g=$v.touches[0];if(document.elementFromPoint==null||g==null)return;var h=document.elementFromPoint(g.clientX,g.clientY);if(!h||!h.getAttribute)return;var v=h.getAttribute(p0),y=(m=h.getAttribute(m0))!==null&&m!==void 0?m:void 0,b=Jl(u).find(w=>w.id===y);if(v==null||b==null||y==null)return;var x=b.dataKey,S=$9(u,v,y);t.dispatch(Zx({activeDataKey:x,activeIndex:v,activeCoordinate:S,activeGraphicalItemId:y}))}Wu=null,fs=null}};if(!l){s();return}o==="raf"?Wu=requestAnimationFrame(s):typeof o=="number"&&fs===null&&(s(),$v=null,fs=setTimeout(()=>{$v?s():(fs=null,Wu=null)},o))}}});var Uv={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},F9=Ct({name:"eventSettings",initialState:Uv,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=tt(t.payload.throttledEvents))}}}),W9=F9.actions.setEventSettings;var H9=F9.reducer;var jie=Fh({brush:dB,cartesianAxis:XL,chartData:sz,errorBars:KB,eventSettings:H9,graphicalItems:IL,layout:nD,legend:OD,options:nz,polarAxis:rL,polarOptions:B9,referenceElements:mB,renderedTicks:MB,rootProps:I9,tooltip:fj,zIndex:Yj}),V9=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return $P({reducer:jie,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([sE.middleware,uE.middleware,Lv.middleware,mE.middleware,gE.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(dk({type:"raf"}))},devTools:Ga.devToolsEnabled&&{serialize:{replacer:M9},name:"recharts-".concat(r)}})};function p1(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=Et(),o=(0,q9.useRef)(null);if(a)return r;o.current==null&&(o.current=V9(t,n));var i=um;return K9.createElement(LD,{context:i,store:o.current},r)}var m1=te(ne());function zie(e){var t=e.layout,r=e.margin,n=Ve(),a=Et();return(0,m1.useEffect)(()=>{a||(n(eD(t)),n(mk(r)))},[n,a,t,r]),null}var v1=(0,m1.memo)(zie,Jn);var Y9=te(ne());function g1(e){var t=Ve();return(0,Y9.useEffect)(()=>{t(j9(e))},[t,e]),null}var y1=te(ne());var Lie=e=>{var t=Ve();return(0,y1.useEffect)(()=>{t(W9(e))},[t,e]),null},h1=(0,y1.memo)(Lie,Jn);var Ri=te(ne()),e7=te(ne());var Vu=te(ne()),hE=te(ne());var Hu=te(ne()),x1=te(ne());function G9(e){var t=e.zIndex,r=e.isPanorama,n=(0,x1.useRef)(null),a=Ve();return(0,x1.useLayoutEffect)(()=>(n.current&&a(Kj({zIndex:t,element:n.current,isPanorama:r})),()=>{a(qj({zIndex:t,isPanorama:r}))}),[a,t,r]),Hu.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function yE(e){var t=e.children,r=e.isPanorama,n=we(Uj);if(!n||n.length===0)return t;var a=n.filter(i=>i<0),o=n.filter(i=>i>0);return Hu.createElement(Hu.Fragment,null,a.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})),t,o.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})))}var Bie=["children"];function $ie(e,t){if(e==null)return{};var r,n,a=Uie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Pd(),n=Dd(),a=N0();if(!Xn(r)||!Xn(n))return null;var o=e.children,i=e.otherAttributes,l=e.title,s=e.desc,u,c;return i!=null&&(typeof i.tabIndex=="number"?u=i.tabIndex:u=a?0:void 0,typeof i.role=="string"?c=i.role:c=a?"application":void 0),Vu.createElement(tm,b1({},i,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:Fie,ref:t}),o)}),Hie=e=>{var t=e.children,r=we(tu);if(!r)return null;var n=r.width,a=r.height,o=r.y,i=r.x;return Vu.createElement(tm,{width:n,height:a,x:i,y:o},t)},xE=(0,hE.forwardRef)((e,t)=>{var r=e.children,n=$ie(e,Bie),a=Et();return a?Vu.createElement(Hie,null,Vu.createElement(yE,{isPanorama:!0},r)):Vu.createElement(Wie,b1({ref:t},n),Vu.createElement(yE,{isPanorama:!1},r))});var dr=te(ne()),gt=te(ne());var w1=te(ne());function Vie(e,t){return Gie(e)||Yie(e,t)||qie(e,t)||Kie()}function Kie(){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 qie(e,t){if(e){if(typeof e=="string")return X9(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)?X9(e,t):void 0}}function X9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var i=n.getBoundingClientRect(),l=i.width/n.offsetWidth;He(l)&&l!==o&&e(rD(l))}},[n,e,o]),a}function Q9(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 Xie(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(cz(),null);function A1(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var ale=(0,gt.forwardRef)((e,t)=>{var r,n,a=(0,gt.useRef)(null),o=(0,gt.useState)({containerWidth:A1((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:A1((n=e.style)===null||n===void 0?void 0:n.height)}),i=S1(o,2),l=i[0],s=i[1],u=(0,gt.useCallback)((d,f)=>{s(p=>{var v=Math.round(d),y=Math.round(f);return p.containerWidth===v&&p.containerHeight===y?p:{containerWidth:v,containerHeight:y}})},[]),c=(0,gt.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 y=m=>{var g=m[0];if(g!=null){var x=g.contentRect,b=x.width,S=x.height;u(b,S)}},h=new ResizeObserver(y);h.observe(d),a.current=h}},[t,u]);return(0,gt.useEffect)(()=>()=>{var d=a.current;d?.disconnect()},[u]),dr.createElement(dr.Fragment,null,dr.createElement(au,{width:l.containerWidth,height:l.containerHeight}),dr.createElement("div",ps({ref:c},e)))}),ole=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height,a=(0,gt.useState)({containerWidth:A1(r),containerHeight:A1(n)}),o=S1(a,2),i=o[0],l=o[1],s=(0,gt.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,gt.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 dr.createElement(dr.Fragment,null,dr.createElement(au,{width:i.containerWidth,height:i.containerHeight}),dr.createElement("div",ps({ref:u},e)))}),ile=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ps({ref:t},e)))}),lle=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?dr.createElement(ole,ps({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?dr.createElement(ile,ps({},e,{width:r,height:n,ref:t})):dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ps({ref:t},e)))});function sle(e){return e?ale:lle}var R9=(0,gt.forwardRef)((e,t)=>{var r=e.children,n=e.className,a=e.height,o=e.onClick,i=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,v=e.onTouchMove,y=e.onTouchStart,h=e.style,m=e.width,g=e.responsive,x=e.dispatchTouchEvents,b=x===void 0?!0:x,S=(0,gt.useRef)(null),w=Ve(),O=(0,gt.useState)(null),k=S1(O,2),A=k[0],M=k[1],W=(0,gt.useState)(null),L=S1(W,2),H=L[0],D=L[1],Y=Z9(),N=xm(),_=N?.width>0?N.width:m,z=N?.height>0?N.height:a,j=(0,gt.useCallback)(X=>{Y(X),typeof t=="function"&&t(X),M(X),D(X),X!=null&&(S.current=X)},[Y,t,M,D]),P=(0,gt.useCallback)(X=>{w(lE(X)),w(Oa({handler:o,reactEvent:X}))},[w,o]),B=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:u,reactEvent:X}))},[w,u]),R=(0,gt.useCallback)(X=>{w(Qx()),w(Oa({handler:c,reactEvent:X}))},[w,c]),F=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:d,reactEvent:X}))},[w,d]),G=(0,gt.useCallback)(()=>{w(dE())},[w]),ee=(0,gt.useCallback)(()=>{w(fE())},[w]),fe=(0,gt.useCallback)(X=>{w(cE(X.key))},[w]),de=(0,gt.useCallback)(X=>{w(Oa({handler:i,reactEvent:X}))},[w,i]),De=(0,gt.useCallback)(X=>{w(Oa({handler:l,reactEvent:X}))},[w,l]),le=(0,gt.useCallback)(X=>{w(Oa({handler:s,reactEvent:X}))},[w,s]),Te=(0,gt.useCallback)(X=>{w(Oa({handler:f,reactEvent:X}))},[w,f]),K=(0,gt.useCallback)(X=>{w(Oa({handler:y,reactEvent:X}))},[w,y]),I=(0,gt.useCallback)(X=>{b&&w(vE(X)),w(Oa({handler:v,reactEvent:X}))},[w,b,v]),C=(0,gt.useCallback)(X=>{w(Oa({handler:p,reactEvent:X}))},[w,p]),T=sle(g);return dr.createElement(wC.Provider,{value:A},dr.createElement(sA.Provider,{value:H},dr.createElement(T,{width:_??h?.width,height:z??h?.height,className:Ue("recharts-wrapper",n),style:Xie({position:"relative",cursor:"default",width:_,height:z},h),onClick:P,onContextMenu:de,onDoubleClick:De,onFocus:G,onBlur:ee,onKeyDown:fe,onMouseDown:le,onMouseEnter:B,onMouseLeave:R,onMouseMove:F,onMouseUp:Te,onTouchEnd:C,onTouchMove:I,onTouchStart:K,ref:j},dr.createElement(nle,null),r)))});var ule=["width","height","responsive","children","className","style","compact","title","desc"];function cle(e,t){if(e==null)return{};var r,n,a=dle(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,o=e.children,i=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=cle(e,ule),f=tr(d);return s?Ri.createElement(Ri.Fragment,null,Ri.createElement(au,{width:r,height:n}),Ri.createElement(xE,{otherAttributes:f,title:u,desc:c},o)):Ri.createElement(R9,{className:i,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},Ri.createElement(xE,{otherAttributes:f,title:u,desc:c,ref:t},Ri.createElement(gB,null,o)))});function bE(){return bE=Object.assign?Object.assign.bind():function(e){for(var t=1;tn7.createElement(Pf,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:hle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var o7=te(ne()),i7=te(ne());var xle=["axis","item"],SE=(0,i7.forwardRef)((e,t)=>o7.createElement(Pf,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:xle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var m7=te(ne()),v7=te(ne());var c7=te(ne()),ms=te(ne());var l7=te(ne());function s7(e){var t=Ve();return(0,l7.useEffect)(()=>{t(L9(e))},[t,e]),null}var ble=["layout"];function AE(){return AE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=lt(e,Ple);return m7.createElement(d7,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Mle,tooltipPayloadSearcher:es,categoricalChartProps:r,ref:t})});var g7=te(ne()),y7=te(ne());var Dle=["axis"],vs=(0,y7.forwardRef)((e,t)=>g7.createElement(Pf,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Dle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var lo=te(ne()),Df=[{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}],h7="30m",x7="activeagents.timeWindow",b7=(0,lo.createContext)(null),CE=e=>Df.find(t=>t.id===e);function w7({children:e}){let[t,r]=(0,lo.useState)(()=>{try{let o=localStorage.getItem(x7);if(o&&CE(o))return o}catch{}return h7}),n=(0,lo.useCallback)(o=>{if(CE(o)){r(o);try{localStorage.setItem(x7,o)}catch{}}},[]),a=(0,lo.useMemo)(()=>{let o=Df.findIndex(l=>l.id===t),i=Df[o]||CE(h7);return{timeWindow:i,windowIndex:o,windows:Df,setWindow:n,zoomTo:l=>{let s=Df[Math.min(Math.max(l,0),Df.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(i.minutes/1440))}},[t,n]);return lo.default.createElement(b7.Provider,{value:a},e)}function Qo(){let e=(0,lo.useContext)(b7);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var If=te(ne());function Jo({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:a,zoomTo:o}=Qo(),{darkMode:i}=kt(),l=Fa(i),s={color:l.textSecondary};return If.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},If.default.createElement("button",{onClick:()=>o(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"),If.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=>If.default.createElement("option",{key:u.id,value:u.id},u.label))),If.default.createElement("button",{onClick:()=>o(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 jr=te(ne());var Vt=te(ne());var Fv=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},gs=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},N1=e=>{let t=e?.spans||[],r=null;for(let y of t){let h=y.tokens||{},m=(h.input||0)+(h.output||0);m>0&&(!r||m>r.total)&&(r={input:h.input||0,output:h.output||0,thinking:h.thinking||0,cached:h.cached||0,total:m})}if(!r)return null;let n=y=>{for(let h of t){let m=(h.attributes||{})[y];if(m)return m}return null},a=(y,...h)=>{let m=Number(n(y));if(Number.isFinite(m)&&m>0)return m;for(let g of h){let x=n(g);if(x)return gs(x)}return 0},o=a("prompt.input.instructions.tokens","prompt.input.instructions","llm.instructions"),i=a("prompt.input.tools.tokens","prompt.input.tools","llm.tools"),l=a("prompt.input.mcp_tools.tokens","prompt.input.mcp_tools"),s=0;for(let y of t){let h=y.attributes||{},m=h["tool.output.result"]||h["tool.result"],g=h["tool.input.args"]||h["tool.arguments"];m&&(s+=gs(m)),g&&(s+=gs(g))}s=Math.min(s,r.input);let u=o+i+l+s,c=u>0&&r.input>0?r.input/u:1,d=y=>Math.round(y*c),f={instructions:d(o),toolSchemas:d(i),mcpSchemas:d(l),toolResults:d(s)},p=f.instructions+f.toolSchemas+f.mcpSchemas+f.toolResults,v=Math.max(r.input-p,0);return{used:r.total,limit:Fv(e.model),cached:r.cached,thinking:r.thinking,estimated:u>0,segments:[{key:"messages",label:"Messages",tokens:v},{key:"tool_results",label:"Tool results",tokens:f.toolResults},{key:"instructions",label:"Instructions",tokens:f.instructions},{key:"tool_schemas",label:"Tool schemas",tokens:f.toolSchemas},{key:"mcp_schemas",label:"MCP tool schemas",tokens:f.mcpSchemas},{key:"output",label:"Generated output",tokens:r.output}]}};var Ile={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},jf=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 ys({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:a=0,compact:o=!1,defaultOpen:i=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,Vt.useState)(i),f=r.filter(O=>O.tokens>0),p=e??f.reduce((O,k)=>O+k.tokens,0),v=t>0?p/t:0,y=v>=.9?"#dc2626":v>=.75?"#eab308":null,h=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",b=`${jf(p)} / ${jf(t)} (${Math.round(v*100)}%)`,S=O=>O.key==="messages"&&y?y:O.color||Ile[O.key]||"#2563eb",w=O=>Vt.default.createElement("div",{style:{display:"flex",height:O,borderRadius:"999px",overflow:"hidden",background:x,flex:1}},f.map(k=>Vt.default.createElement("div",{key:k.key,title:`${k.label} \xB7 ${jf(k.tokens)}`,style:{width:`${Math.min(k.tokens/t*100,100)}%`,background:S(k)}})));return o?Vt.default.createElement("span",{title:`${l}: ${b}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},w("6px"),Vt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:y||h,whiteSpace:"nowrap"}},Math.round(v*100),"%")):Vt.default.createElement("div",{style:{background:u?"rgba(255,255,255,0.03)":"#ffffff",border:`1px solid ${y?y+"66":u?"rgba(255,255,255,0.1)":"#e5e7eb"}`,borderRadius:"12px",padding:"12px 14px"}},Vt.default.createElement("div",{onClick:O=>{O.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:m}},l,s&&Vt.default.createElement("span",{style:{color:h,fontWeight:400}}," \xB7 estimated")),Vt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:y||g}},b),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),Vt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},w("9px")),v>=.9&&Vt.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&&Vt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(O=>Vt.default.createElement("div",{key:O.key,style:{display:"flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:O.key==="__free"?x:S(O),border:O.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),Vt.default.createElement("span",{style:{fontSize:"13px",color:g,flex:1}},O.label),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:m,width:"56px",textAlign:"right"}},jf(O.tokens)),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:h,width:"46px",textAlign:"right"}},t>0?`${(O.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||a>0)&&Vt.default.createElement("div",{style:{marginTop:"4px",paddingTop:"6px",borderTop:`1px solid ${u?"rgba(255,255,255,0.08)":"#f3f4f6"}`,display:"flex",gap:"16px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h}},n>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",jf(n)),a>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",jf(a)))))}var We=te(ne());var Se=te(ne());var Nr=te(ne());var ue=te(ne());var S7=["ui","json-ui","genui"],qu="render_ui",Eo=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),EE=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return}};function Yu(e){let t=typeof e=="string"?EE(e):e;if(Array.isArray(t))return t.every(Eo)?t:null;if(Eo(t)){if(Array.isArray(t.blocks))return t.blocks.every(Eo)?t.blocks:null;if(Array.isArray(t.ui))return t.ui.every(Eo)?t.ui:null}return null}function _E(e,t){let r=String(e||"").trim().toLowerCase();if(S7.includes(r))return Yu(t);if(r==="json"){let n=EE(t);return Eo(n)&&Array.isArray(n.ui)?Yu(n):null}return null}function OE(e){if(typeof e!="string")return null;let t=e.trim(),r=t.startsWith("{")&&t.endsWith("}"),n=t.startsWith("[")&&t.endsWith("]");if(!r&&!n)return null;let a=EE(t);if(a==null||typeof a!="object")return null;if(Array.isArray(a))return a.length>0&&a.every(l=>Eo(l)&&typeof l.type=="string")?{blocks:a}:{object:a};let o=Yu(a);return o?{blocks:o}:{object:a}}var jle=e=>Eo(e)?e.function?.name||e.name:void 0,zle=e=>Eo(e)?e.function?.arguments??e.arguments??e.input:void 0;function zf(e,{callId:t}={}){if(!Eo(e))return null;if(e.tool_name===qu&&e.tool_arguments!=null){let a=Yu(e.tool_arguments);if(a)return a}let r=e.tool_calls,n=[];if(Array.isArray(r)){let a=r.some(o=>Eo(o)&&o.id!=null);r.forEach(o=>{if(jle(o)!==qu||t!=null&&a&&o.id!==t)return;let i=Yu(zle(o));i&&n.push(...i)})}else if(Eo(r)&&e.tool_name===qu){let a=Yu(r);a&&n.push(...a)}return n.length>0?n:null}function C1(e){return typeof e=="string"&&/^(https?:\/\/|data:image\/)/i.test(e.trim())}function E1(e){if(typeof e!="string")return!1;let t=e.trim();if(/^data:image\//i.test(t))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}function A7(e){try{return new URL(String(e).trim()).host}catch{return""}}var O7=["#2a78d6","#eb6834","#1baf7a","#eda100","#e87ba4","#008300","#4a3aa7","#e34948"],Lle=["#3987e5","#d95926","#199e70","#c98500","#d55181","#008300","#9085e9","#e66767"],Wv=O7.length,k7=220,Lf=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),it=e=>e==null?"":typeof e=="object"?JSON.stringify(e):String(e),T7=e=>{if(typeof e!="number"||!Number.isFinite(e))return it(e);let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1).replace(/\.0$/,"")}B`:t>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:t>=1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}K`:e.toLocaleString()},DE=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,N7={info:{light:["#eff6ff","#1d4ed8"],dark:["rgba(59,130,246,0.15)","#93c5fd"]},success:{light:["#f0fdf4","#15803d"],dark:["rgba(34,197,94,0.15)","#86efac"]},warning:{light:["#fffbeb","#b45309"],dark:["rgba(245,158,11,0.15)","#fcd34d"]},danger:{light:["#fef2f2","#b91c1c"],dark:["rgba(239,68,68,0.15)","#fca5a5"]}},Ble={positive:{light:"#15803d",dark:"#4ade80"},negative:{light:"#b91c1c",dark:"#f87171"}},TE=e=>({width:"100%",padding:"6px 10px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),IE=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0,whiteSpace:"pre-wrap"}),Bf=e=>({fontSize:"13px",fontWeight:600,color:e.textPrimary,margin:0});function el({block:e,reason:t,colors:r,darkMode:n}){return ue.default.createElement("div",{className:"text-xs",style:{color:r.textMuted}},ue.default.createElement("div",{className:"mb-1"},"Unsupported block",e&&e.type?` \u201C${it(e.type)}\u201D`:"",t?` \u2014 ${t}`:""),ue.default.createElement("pre",{style:{...IE(n),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2)))}function $le({block:e,colors:t,darkMode:r,onAction:n}){let a=C1(e.image_url)&&E1(e.image_url)?e.image_url.trim():null;return ue.default.createElement("div",{className:"overflow-hidden",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg}},a&&ue.default.createElement("img",{src:a,alt:it(e.title),style:{width:"100%",maxHeight:"220px",objectFit:"cover",display:"block"}}),ue.default.createElement("div",{className:"p-3 space-y-1.5"},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),e.body!=null&&ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})),e.footer!=null&&ue.default.createElement("div",{className:"text-xs pt-1",style:{color:t.textMuted,borderTop:`1px solid ${t.cardBorder}`}},it(e.footer))))}function M7({block:e,colors:t,darkMode:r}){let n=e.delta!=null?it(e.delta):null,a=e.tone||(n&&n.trim().startsWith("-")?"negative":n?"positive":"neutral"),o=DE(Ble,a),i=o?o[r?"dark":"light"]:t.textMuted,l=typeof e.value=="number"?T7(e.value):it(e.value);return ue.default.createElement("div",{style:{background:t.innerBg,border:`1px solid ${t.cardBorder}`,borderRadius:"10px",padding:"10px 12px"}},ue.default.createElement("div",{className:"text-xs",style:{color:t.textMuted}},it(e.label)),ue.default.createElement("div",{className:"text-lg font-semibold leading-tight mt-0.5",style:{color:t.textPrimary}},l),n&&ue.default.createElement("div",{className:"text-xs mt-0.5 font-medium",style:{color:i}},n))}function Ule({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.items)?e.items.filter(Lf):[];return n.length===0?ue.default.createElement(el,{block:e,reason:"stats needs an items array",colors:t,darkMode:r}):ue.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"8px"}},n.map((a,o)=>ue.default.createElement(M7,{key:o,block:a,colors:t,darkMode:r})))}var PE=(e,t)=>({padding:"6px 10px",borderBottom:`1px solid ${e.cardBorder}`,color:e.textCell,textAlign:t?"right":"left",fontVariantNumeric:t?"tabular-nums":void 0,verticalAlign:"top"}),Fle=e=>({padding:"6px 10px",borderBottom:`1px solid ${e.borderStrong}`,color:e.textSecondary,fontSize:"11px",fontWeight:600,textAlign:"left",fontFamily:Fe.mono,textTransform:"uppercase",letterSpacing:"0.04em",whiteSpace:"nowrap"});function P7({columns:e,rows:t,colors:r,renderCell:n}){return ue.default.createElement("div",{style:{overflowX:"auto"}},ue.default.createElement("table",{className:"text-sm",style:{width:"100%",borderCollapse:"collapse"}},ue.default.createElement("thead",null,ue.default.createElement("tr",null,e.map((a,o)=>ue.default.createElement("th",{key:o,style:Fle(r)},it(a))))),ue.default.createElement("tbody",null,t.map((a,o)=>ue.default.createElement("tr",{key:o},e.map((i,l)=>{let s=a[l];return ue.default.createElement("td",{key:l,style:PE(r,typeof s=="number")},n?n(s):typeof s=="number"?s.toLocaleString():it(s))}))))))}function Wle({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.columns)?e.columns:null,a=Array.isArray(e.rows)?e.rows:null;if(!n||!a)return ue.default.createElement(el,{block:e,reason:"table needs columns and rows arrays",colors:t,darkMode:r});let o=a.map(i=>Array.isArray(i)?i:Lf(i)?n.map(l=>i[l]):[i]);return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1.5",style:Bf(t)},it(e.title)),ue.default.createElement(P7,{columns:n,rows:o,colors:t}))}var Hle=e=>{let t=e[0];return Object.keys(t).find(r=>typeof t[r]=="string")||Object.keys(t)[0]},Vle=(e,t)=>Object.keys(e[0]).filter(r=>r!==t&&typeof e[0][r]=="number");function Kle({block:e,colors:t,darkMode:r}){let n=String(e.chart||e.kind||"bar").toLowerCase(),a=Array.isArray(e.data)?e.data.filter(Lf):[];if(a.length===0)return ue.default.createElement(el,{block:e,reason:"chart needs a data array of objects",colors:t,darkMode:r});let o=typeof e.x=="string"?e.x:Hle(a),i=Array.isArray(e.series)?e.series.filter(h=>typeof h=="string"):[],l=(i.length>0?i:Vle(a,o)).slice(0,Wv);if(!o||l.length===0)return ue.default.createElement(el,{block:e,reason:"chart needs an x key and at least one series",colors:t,darkMode:r});let s=r?Lle:O7,u=t.cardBg,c={fontSize:10,fill:t.textMuted},d=ue.default.createElement(ts,{contentStyle:{background:u,border:`1px solid ${t.cardBorder}`,borderRadius:"8px",fontSize:"12px"},labelStyle:{color:t.textPrimary,fontWeight:600,marginBottom:"4px"},itemStyle:{color:t.textCell},formatter:h=>typeof h=="number"?h.toLocaleString():it(h)}),f=l.length>1||n==="pie"?ue.default.createElement(S0,{wrapperStyle:{fontSize:"11px",color:t.textSecondary},iconSize:10}):null,p=ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(qi,{stroke:t.cardBorder,vertical:!1}),ue.default.createElement(Zi,{dataKey:o,stroke:t.borderStrong,tick:c,tickLine:!1}),ue.default.createElement(Ji,{stroke:t.borderStrong,tick:c,tickLine:!1,axisLine:!1,tickFormatter:T7,width:44})),v={top:8,right:12,bottom:0,left:0},y;if(n==="line")y=ue.default.createElement(wE,{data:a,margin:v},p,d,f,l.map((h,m)=>ue.default.createElement(t1,{key:h,type:"monotone",dataKey:h,stroke:s[m],strokeWidth:2,dot:{r:4,strokeWidth:2,stroke:u,fill:s[m]},activeDot:{r:5,strokeWidth:2,stroke:u},isAnimationActive:!1})));else if(n==="area")y=ue.default.createElement(vs,{data:a,margin:v},p,d,f,l.map((h,m)=>ue.default.createElement(Gi,{key:h,type:"monotone",dataKey:h,stroke:s[m],strokeWidth:2,fill:s[m],fillOpacity:.12,dot:{r:3,strokeWidth:2,stroke:u,fill:s[m]},isAnimationActive:!1})));else if(n==="pie"){let h=l[0],m=[...a].sort((b,S)=>(Number(S[h])||0)-(Number(b[h])||0)),g=m.slice(0,Wv),x=m.slice(Wv);x.length>0&&(g[Wv-1]={[o]:"Other",[h]:x.reduce((b,S)=>b+(Number(S[h])||0),Number(g[Wv-1][h])||0)}),y=ue.default.createElement(NE,{margin:v},d,f,ue.default.createElement(Fb,{data:g,dataKey:h,nameKey:o,innerRadius:44,outerRadius:80,paddingAngle:2,stroke:u,strokeWidth:2,isAnimationActive:!1},g.map((b,S)=>ue.default.createElement(Wi,{key:S,fill:s[S]}))))}else y=ue.default.createElement(SE,{data:a,margin:v,barCategoryGap:"25%",barGap:2},p,d,f,l.map((h,m)=>ue.default.createElement(l1,{key:h,dataKey:h,fill:s[m],radius:[4,4,0,0],maxBarSize:24,isAnimationActive:!1})));return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement("div",{style:{width:"100%",height:k7,minWidth:0}},ue.default.createElement(Bl,{width:"100%",height:k7},y)))}function qle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.items)?e.items:null;if(!a)return ue.default.createElement(el,{block:e,reason:"list needs an items array",colors:t,darkMode:r});let o=e.ordered?"ol":"ul";return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement(o,{className:`${e.ordered?"list-decimal":"list-disc"} pl-5 text-sm space-y-0.5`,style:{color:t.textCell}},a.map((i,l)=>ue.default.createElement("li",{key:l},typeof i=="string"?ue.default.createElement(_o,{text:i,darkMode:r,onUiAction:n}):it(i)))))}function Yle({block:e,colors:t}){let r=Number(e.value),n=Number.isFinite(r)?Math.max(0,Math.min(100,r)):0;return ue.default.createElement("div",null,ue.default.createElement("div",{className:"flex items-center justify-between text-xs mb-1"},ue.default.createElement("span",{style:{color:t.textCell}},it(e.label)),ue.default.createElement("span",{className:"font-mono",style:{color:t.textMuted}},Math.round(n),"%")),ue.default.createElement("div",{style:{height:"8px",borderRadius:"999px",background:t.trackBg,overflow:"hidden"}},ue.default.createElement("div",{style:{width:`${n}%`,height:"100%",background:vn,borderRadius:"999px",transition:"width 0.3s ease"}})))}var Gle=["text","textarea","number","select","checkbox"],ME=e=>it(e.name||e.label),C7=e=>it(e.label||e.name),E7=e=>Gle.includes(e.type)?e.type:"text";function Xle({block:e,colors:t,darkMode:r,onAction:n}){let a=(Array.isArray(e.fields)?e.fields:[]).filter(f=>Lf(f)&&(f.name||f.label)),[o,i]=(0,ue.useState)(()=>Object.fromEntries(a.map(f=>[ME(f),E7(f)==="checkbox"?!1:""]))),[l,s]=(0,ue.useState)(!1);if(a.length===0)return ue.default.createElement(el,{block:e,reason:"form needs fields",colors:t,darkMode:r});let u=e.submit!=null?it(e.submit):"Submit",c=(f,p)=>i(v=>({...v,[f]:p}));return ue.default.createElement("form",{onSubmit:f=>{f.preventDefault();let p=a.map(v=>{let y=o[ME(v)];return`${C7(v)}: ${typeof y=="boolean"?y?"yes":"no":it(y)}`}).join("; ");s(!0),n&&n({kind:"form",text:`${e.submit!=null?it(e.submit):"Submitted"}: ${p}`,values:{...o}})},className:"space-y-2.5",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg,padding:"12px"}},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),a.map(f=>{let p=ME(f),v=E7(f),y=C7(f),h=`genui-field-${p.replace(/\W+/g,"-")}`;return v==="checkbox"?ue.default.createElement("label",{key:p,className:"flex items-center gap-2 text-sm",style:{color:t.textCell}},ue.default.createElement("input",{type:"checkbox",checked:!!o[p],onChange:m=>c(p,m.target.checked),style:{accentColor:vn}}),y):ue.default.createElement("div",{key:p},ue.default.createElement("label",{htmlFor:h,className:"block text-xs mb-1",style:{color:t.textSecondary}},y,f.required?" *":""),v==="textarea"?ue.default.createElement("textarea",{id:h,name:p,value:o[p],onChange:m=>c(p,m.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,rows:3,className:"aa-field",style:{...TE(t),resize:"vertical"}}):v==="select"?ue.default.createElement("select",{id:h,name:p,value:o[p],onChange:m=>c(p,m.target.value),required:!!f.required,className:"aa-field",style:TE(t)},ue.default.createElement("option",{value:""},f.placeholder!=null?it(f.placeholder):"Select\u2026"),(Array.isArray(f.options)?f.options:[]).map((m,g)=>ue.default.createElement("option",{key:g,value:it(m)},it(m)))):ue.default.createElement("input",{id:h,name:p,type:v==="number"?"number":"text",value:o[p],onChange:m=>c(p,v==="number"&&m.target.value!==""?Number(m.target.value):m.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,className:"aa-field",style:TE(t)}))}),ue.default.createElement("div",{className:"flex items-center gap-3 pt-1"},ue.default.createElement("button",{type:"submit","data-testid":"genui-form-submit",style:{padding:"6px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,background:vn,color:"#ffffff",border:"1px solid transparent",cursor:"pointer"}},u),l&&ue.default.createElement("span",{className:"text-xs",style:{color:t.textMuted}},"Sent to the agent")))}function Zle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.options)?e.options:null,[o,i]=(0,ue.useState)(null);return!a||a.length===0?ue.default.createElement(el,{block:e,reason:"choices needs options",colors:t,darkMode:r}):ue.default.createElement("div",null,e.prompt!=null&&ue.default.createElement("div",{className:"text-sm mb-1.5",style:{color:t.textCell}},it(e.prompt)),ue.default.createElement("div",{className:"flex flex-wrap gap-2"},a.map((l,s)=>{let u=it(l),c=o===s;return ue.default.createElement("button",{key:s,type:"button","data-testid":"genui-choice",onClick:()=>{i(s),n&&n({kind:"choice",text:u})},style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?vn:t.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":t.textCell}},u)})))}function Qle({url:e,alt:t,colors:r,darkMode:n}){let[a,o]=(0,ue.useState)(!1);if(a)return ue.default.createElement("img",{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}});let i=A7(e);return ue.default.createElement("button",{type:"button",onClick:()=>o(!0),"data-testid":"genui-image-load",className:"text-xs w-full",style:{border:`1px dashed ${r.cardBorder}`,borderRadius:"8px",padding:"14px 12px",color:r.textMuted,background:n?"rgba(255,255,255,0.03)":"#f9fafb"}},"Load image from ",i||"another site")}function Jle({block:e,colors:t,darkMode:r}){if(!C1(e.url))return ue.default.createElement(el,{block:e,reason:"image URL must be http(s) or data:",colors:t,darkMode:r});let n=e.url.trim(),a=e.alt!=null?it(e.alt):"";return ue.default.createElement("figure",{style:{margin:0}},E1(n)?ue.default.createElement("img",{src:n,alt:a,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}}):ue.default.createElement(Qle,{url:n,alt:a,colors:t,darkMode:r}),e.caption!=null&&ue.default.createElement("figcaption",{className:"text-xs mt-1",style:{color:t.textMuted}},it(e.caption)))}function Rle({block:e,colors:t,darkMode:r,onAction:n}){let[a,o]=(DE(N7,e.tone)||N7.info)[r?"dark":"light"];return ue.default.createElement("div",{style:{background:a,borderLeft:`3px solid ${o}`,borderRadius:"8px",padding:"10px 12px"}},e.title!=null&&ue.default.createElement("div",{className:"text-sm font-semibold mb-0.5",style:{color:o}},it(e.title)),ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})))}function ese({block:e,colors:t,darkMode:r}){return ue.default.createElement("div",null,e.language!=null&&ue.default.createElement("div",{className:"text-xs font-mono mb-1",style:{color:t.textMuted}},it(e.language)),ue.default.createElement("pre",{style:IE(r)},it(e.code)))}function _7({block:e,colors:t,darkMode:r,onAction:n}){let a=e.text??e.body??e.content??e.markdown;return ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(a),darkMode:r,onUiAction:n}))}var tse=3;function _1({value:e,colors:t,darkMode:r,depth:n}){if(e==null||typeof e!="object")return typeof e=="boolean"?ue.default.createElement("span",{className:"font-mono"},String(e)):typeof e=="number"?ue.default.createElement("span",{style:{fontVariantNumeric:"tabular-nums"}},e.toLocaleString()):ue.default.createElement("span",null,it(e));if(n>=tse)return ue.default.createElement("pre",{style:{...IE(r),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2));if(Array.isArray(e)){if(e.length===0)return ue.default.createElement("span",{style:{color:t.textMuted}},"\u2014");if(e.every(Lf)){let o=[...new Set(e.flatMap(i=>Object.keys(i)))];return ue.default.createElement(P7,{columns:o,rows:e.map(i=>o.map(l=>i[l])),colors:t,renderCell:i=>ue.default.createElement(_1,{value:i,colors:t,darkMode:r,depth:n+1})})}return e.every(o=>o==null||typeof o!="object")?ue.default.createElement("span",null,e.map(it).join(", ")):ue.default.createElement("ul",{className:"list-disc pl-5 space-y-0.5"},e.map((o,i)=>ue.default.createElement("li",{key:i},ue.default.createElement(_1,{value:o,colors:t,darkMode:r,depth:n+1}))))}let a=Object.entries(e);return a.length===0?ue.default.createElement("span",{style:{color:t.textMuted}},"{}"):ue.default.createElement("table",{className:"text-sm",style:{borderCollapse:"collapse",width:n===0?"100%":"auto"}},ue.default.createElement("tbody",null,a.map(([o,i])=>ue.default.createElement("tr",{key:o},ue.default.createElement("th",{scope:"row",className:"font-mono text-xs",style:{...PE(t,!1),color:t.textSecondary,fontWeight:500,whiteSpace:"nowrap",width:"1%"}},o),ue.default.createElement("td",{style:PE(t,!1)},ue.default.createElement(_1,{value:i,colors:t,darkMode:r,depth:n+1}))))))}function rse({block:e,colors:t,darkMode:r}){let n="value"in e?e.value:e.data;return ue.default.createElement("div",{style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",overflow:"hidden"}},e.title!=null&&ue.default.createElement("div",{className:"px-3 pt-2",style:Bf(t)},it(e.title)),ue.default.createElement("div",{className:"px-1 pb-1",style:{overflowX:"auto"}},ue.default.createElement(_1,{value:n,colors:t,darkMode:r,depth:0})))}var nse={card:$le,stat:M7,stats:Ule,table:Wle,chart:Kle,list:qle,progress:Yle,form:Xle,choices:Zle,image:Jle,callout:Rle,code:ese,object:rse,text:_7,markdown:_7};function hs({blocks:e,onAction:t,darkMode:r=!1}){let n=Array.isArray(e)?e.filter(Lf):[];if(n.length===0)return null;let a=Fa(r);return ue.default.createElement("div",{className:"space-y-3",onClick:o=>o.stopPropagation()},n.map((o,i)=>{let l=typeof o.type=="string"?o.type.toLowerCase():"unknown",s=DE(nse,l);return ue.default.createElement("div",{key:i,"data-testid":"genui-block","data-block-type":l},s?ue.default.createElement(s,{block:o,colors:a,darkMode:r,onAction:t}):ue.default.createElement(el,{block:o,colors:a,darkMode:r}))}))}var ase=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,Hv=(e,t)=>e.split(ase).filter(Boolean).map((r,n)=>{let a=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Nr.default.createElement("strong",{key:a},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Nr.default.createElement("em",{key:a},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Nr.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 o=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return o?Nr.default.createElement("a",{key:a,href:o[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},o[1]):r}),D7=e=>/^\s*\|.*\|\s*$/.test(e),ose=e=>/^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(e),I7=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?t.replace(/\\\|/g,"|").trim());function _o({text:e,onUiAction:t,darkMode:r}){if(!e)return null;let n=[],a=String(e).split(` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ele(e,t){if(e){if(typeof e=="string")return J9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?J9(e,t):void 0}}function J9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r(cz(),null);function A1(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var ale=(0,gt.forwardRef)((e,t)=>{var r,n,a=(0,gt.useRef)(null),o=(0,gt.useState)({containerWidth:A1((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:A1((n=e.style)===null||n===void 0?void 0:n.height)}),i=S1(o,2),l=i[0],s=i[1],u=(0,gt.useCallback)((d,f)=>{s(p=>{var m=Math.round(d),g=Math.round(f);return p.containerWidth===m&&p.containerHeight===g?p:{containerWidth:m,containerHeight:g}})},[]),c=(0,gt.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,m=f.height;u(p,m);var g=v=>{var y=v[0];if(y!=null){var b=y.contentRect,x=b.width,S=b.height;u(x,S)}},h=new ResizeObserver(g);h.observe(d),a.current=h}},[t,u]);return(0,gt.useEffect)(()=>()=>{var d=a.current;d?.disconnect()},[u]),dr.createElement(dr.Fragment,null,dr.createElement(au,{width:l.containerWidth,height:l.containerHeight}),dr.createElement("div",ps({ref:c},e)))}),ole=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height,a=(0,gt.useState)({containerWidth:A1(r),containerHeight:A1(n)}),o=S1(a,2),i=o[0],l=o[1],s=(0,gt.useCallback)((c,d)=>{l(f=>{var p=Math.round(c),m=Math.round(d);return f.containerWidth===p&&f.containerHeight===m?f:{containerWidth:p,containerHeight:m}})},[]),u=(0,gt.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 dr.createElement(dr.Fragment,null,dr.createElement(au,{width:i.containerWidth,height:i.containerHeight}),dr.createElement("div",ps({ref:u},e)))}),ile=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ps({ref:t},e)))}),lle=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?dr.createElement(ole,ps({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?dr.createElement(ile,ps({},e,{width:r,height:n,ref:t})):dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ps({ref:t},e)))});function sle(e){return e?ale:lle}var R9=(0,gt.forwardRef)((e,t)=>{var r=e.children,n=e.className,a=e.height,o=e.onClick,i=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,g=e.onTouchStart,h=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0?!0:b,S=(0,gt.useRef)(null),w=Ve(),O=(0,gt.useState)(null),k=S1(O,2),A=k[0],M=k[1],W=(0,gt.useState)(null),L=S1(W,2),H=L[0],D=L[1],Y=Z9(),N=xm(),_=N?.width>0?N.width:v,z=N?.height>0?N.height:a,j=(0,gt.useCallback)(X=>{Y(X),typeof t=="function"&&t(X),M(X),D(X),X!=null&&(S.current=X)},[Y,t,M,D]),P=(0,gt.useCallback)(X=>{w(lE(X)),w(Oa({handler:o,reactEvent:X}))},[w,o]),B=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:u,reactEvent:X}))},[w,u]),R=(0,gt.useCallback)(X=>{w(Qx()),w(Oa({handler:c,reactEvent:X}))},[w,c]),F=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:d,reactEvent:X}))},[w,d]),G=(0,gt.useCallback)(()=>{w(dE())},[w]),ee=(0,gt.useCallback)(()=>{w(fE())},[w]),fe=(0,gt.useCallback)(X=>{w(cE(X.key))},[w]),de=(0,gt.useCallback)(X=>{w(Oa({handler:i,reactEvent:X}))},[w,i]),De=(0,gt.useCallback)(X=>{w(Oa({handler:l,reactEvent:X}))},[w,l]),le=(0,gt.useCallback)(X=>{w(Oa({handler:s,reactEvent:X}))},[w,s]),Te=(0,gt.useCallback)(X=>{w(Oa({handler:f,reactEvent:X}))},[w,f]),K=(0,gt.useCallback)(X=>{w(Oa({handler:g,reactEvent:X}))},[w,g]),I=(0,gt.useCallback)(X=>{x&&w(vE(X)),w(Oa({handler:m,reactEvent:X}))},[w,x,m]),C=(0,gt.useCallback)(X=>{w(Oa({handler:p,reactEvent:X}))},[w,p]),T=sle(y);return dr.createElement(wC.Provider,{value:A},dr.createElement(sA.Provider,{value:H},dr.createElement(T,{width:_??h?.width,height:z??h?.height,className:Ue("recharts-wrapper",n),style:Xie({position:"relative",cursor:"default",width:_,height:z},h),onClick:P,onContextMenu:de,onDoubleClick:De,onFocus:G,onBlur:ee,onKeyDown:fe,onMouseDown:le,onMouseEnter:B,onMouseLeave:R,onMouseMove:F,onMouseUp:Te,onTouchEnd:C,onTouchMove:I,onTouchStart:K,ref:j},dr.createElement(nle,null),r)))});var ule=["width","height","responsive","children","className","style","compact","title","desc"];function cle(e,t){if(e==null)return{};var r,n,a=dle(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,o=e.children,i=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=cle(e,ule),f=tr(d);return s?Ri.createElement(Ri.Fragment,null,Ri.createElement(au,{width:r,height:n}),Ri.createElement(xE,{otherAttributes:f,title:u,desc:c},o)):Ri.createElement(R9,{className:i,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},Ri.createElement(xE,{otherAttributes:f,title:u,desc:c,ref:t},Ri.createElement(gB,null,o)))});function bE(){return bE=Object.assign?Object.assign.bind():function(e){for(var t=1;tn7.createElement(Pf,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:hle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var o7=te(ne()),i7=te(ne());var xle=["axis","item"],SE=(0,i7.forwardRef)((e,t)=>o7.createElement(Pf,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:xle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var m7=te(ne()),v7=te(ne());var c7=te(ne()),ms=te(ne());var l7=te(ne());function s7(e){var t=Ve();return(0,l7.useEffect)(()=>{t(L9(e))},[t,e]),null}var ble=["layout"];function AE(){return AE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=lt(e,Ple);return m7.createElement(d7,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Mle,tooltipPayloadSearcher:es,categoricalChartProps:r,ref:t})});var g7=te(ne()),y7=te(ne());var Dle=["axis"],vs=(0,y7.forwardRef)((e,t)=>g7.createElement(Pf,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Dle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var lo=te(ne()),Df=[{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}],h7="30m",x7="activeagents.timeWindow",b7=(0,lo.createContext)(null),CE=e=>Df.find(t=>t.id===e);function w7({children:e}){let[t,r]=(0,lo.useState)(()=>{try{let o=localStorage.getItem(x7);if(o&&CE(o))return o}catch{}return h7}),n=(0,lo.useCallback)(o=>{if(CE(o)){r(o);try{localStorage.setItem(x7,o)}catch{}}},[]),a=(0,lo.useMemo)(()=>{let o=Df.findIndex(l=>l.id===t),i=Df[o]||CE(h7);return{timeWindow:i,windowIndex:o,windows:Df,setWindow:n,zoomTo:l=>{let s=Df[Math.min(Math.max(l,0),Df.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(i.minutes/1440))}},[t,n]);return lo.default.createElement(b7.Provider,{value:a},e)}function Qo(){let e=(0,lo.useContext)(b7);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var If=te(ne());function Jo({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:a,zoomTo:o}=Qo(),{darkMode:i}=kt(),l=Fa(i),s={color:l.textSecondary};return If.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},If.default.createElement("button",{onClick:()=>o(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"),If.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=>If.default.createElement("option",{key:u.id,value:u.id},u.label))),If.default.createElement("button",{onClick:()=>o(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 jr=te(ne());var Vt=te(ne());var Fv=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},gs=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},N1=e=>{let t=e?.spans||[],r=null;for(let m of t){let g=m.tokens||{},h=(g.input||0)+(g.output||0);h>0&&(!r||h>r.total)&&(r={input:g.input||0,output:g.output||0,thinking:g.thinking||0,cached:g.cached||0,total:h})}if(!r)return null;let n=m=>{for(let g of t){let h=(g.attributes||{})[m];if(h)return h}return null},a=(m,...g)=>{let h=Number(n(m));if(Number.isFinite(h)&&h>0)return h;for(let v of g){let y=n(v);if(y)return gs(y)}return 0},o=a("prompt.input.instructions.tokens","prompt.input.instructions","llm.instructions"),i=a("prompt.input.tools.tokens","prompt.input.tools","llm.tools"),l=a("prompt.input.mcp_tools.tokens","prompt.input.mcp_tools"),s=a("prompt.input.messages.tokens","prompt.input.messages","llm.messages"),u=0;for(let m of t){let g=m.attributes||{},h=g["tool.output.result"]||g["tool.result"],v=g["tool.input.args"]||g["tool.arguments"];h&&(u+=gs(h)),v&&(u+=gs(v))}u=Math.min(u,r.input);let c=["messages","toolResults","instructions","toolSchemas","mcpSchemas"],d={messages:s,toolResults:u,instructions:o,toolSchemas:i,mcpSchemas:l},f=c.reduce((m,g)=>m+d[g],0),p;if(f>0&&r.input>0){let m=r.input/f;p={};for(let h of c)p[h]=Math.round(d[h]*m);let g=r.input-c.reduce((h,v)=>h+p[v],0);if(g!==0){let h=c.reduce((v,y)=>p[y]>p[v]?y:v);p[h]=Math.max(p[h]+g,0)}}else p={messages:r.input,toolResults:0,instructions:0,toolSchemas:0,mcpSchemas:0};return{used:r.total,limit:Fv(e.model),cached:r.cached,thinking:r.thinking,estimated:f>0,segments:[{key:"messages",label:"Messages",tokens:p.messages},{key:"tool_results",label:"Tool results",tokens:p.toolResults},{key:"instructions",label:"Instructions",tokens:p.instructions},{key:"tool_schemas",label:"Tool schemas",tokens:p.toolSchemas},{key:"mcp_schemas",label:"MCP tool schemas",tokens:p.mcpSchemas},{key:"output",label:"Generated output",tokens:r.output}]}};var Ile={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},jf=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 ys({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:a=0,compact:o=!1,defaultOpen:i=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,Vt.useState)(i),f=r.filter(O=>O.tokens>0),p=e??f.reduce((O,k)=>O+k.tokens,0),m=t>0?p/t:0,g=m>=.9?"#dc2626":m>=.75?"#eab308":null,h=u?"rgba(255,255,255,0.4)":"#9ca3af",v=u?"rgba(255,255,255,0.6)":"#6b7280",y=u?"rgba(255,255,255,0.75)":"#4b5563",b=u?"rgba(255,255,255,0.1)":"#f3f4f6",x=`${jf(p)} / ${jf(t)} (${Math.round(m*100)}%)`,S=O=>O.key==="messages"&&g?g:O.color||Ile[O.key]||"#2563eb",w=O=>Vt.default.createElement("div",{style:{display:"flex",height:O,borderRadius:"999px",overflow:"hidden",background:b,flex:1}},f.map(k=>Vt.default.createElement("div",{key:k.key,title:`${k.label} \xB7 ${jf(k.tokens)}`,style:{width:`${Math.min(k.tokens/t*100,100)}%`,background:S(k)}})));return o?Vt.default.createElement("span",{title:`${l}: ${x}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},w("6px"),Vt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:g||h,whiteSpace:"nowrap"}},Math.round(m*100),"%")):Vt.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"}},Vt.default.createElement("div",{onClick:O=>{O.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:v}},l,s&&Vt.default.createElement("span",{style:{color:h,fontWeight:400}}," \xB7 estimated")),Vt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:g||y}},x),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),Vt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},w("9px")),m>=.9&&Vt.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&&Vt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(O=>Vt.default.createElement("div",{key:O.key,style:{display:"flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:O.key==="__free"?b:S(O),border:O.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),Vt.default.createElement("span",{style:{fontSize:"13px",color:y,flex:1}},O.label),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:v,width:"56px",textAlign:"right"}},jf(O.tokens)),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:h,width:"46px",textAlign:"right"}},t>0?`${(O.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||a>0)&&Vt.default.createElement("div",{style:{marginTop:"4px",paddingTop:"6px",borderTop:`1px solid ${u?"rgba(255,255,255,0.08)":"#f3f4f6"}`,display:"flex",gap:"16px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h}},n>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",jf(n)),a>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",jf(a)))))}var We=te(ne());var Se=te(ne());var Nr=te(ne());var ue=te(ne());var S7=["ui","json-ui","genui"],qu="render_ui",Eo=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),EE=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return}};function Yu(e){let t=typeof e=="string"?EE(e):e;if(Array.isArray(t))return t.every(Eo)?t:null;if(Eo(t)){if(Array.isArray(t.blocks))return t.blocks.every(Eo)?t.blocks:null;if(Array.isArray(t.ui))return t.ui.every(Eo)?t.ui:null}return null}function _E(e,t){let r=String(e||"").trim().toLowerCase();if(S7.includes(r))return Yu(t);if(r==="json"){let n=EE(t);return Eo(n)&&Array.isArray(n.ui)?Yu(n):null}return null}function OE(e){if(typeof e!="string")return null;let t=e.trim(),r=t.startsWith("{")&&t.endsWith("}"),n=t.startsWith("[")&&t.endsWith("]");if(!r&&!n)return null;let a=EE(t);if(a==null||typeof a!="object")return null;if(Array.isArray(a))return a.length>0&&a.every(l=>Eo(l)&&typeof l.type=="string")?{blocks:a}:{object:a};let o=Yu(a);return o?{blocks:o}:{object:a}}var jle=e=>Eo(e)?e.function?.name||e.name:void 0,zle=e=>Eo(e)?e.function?.arguments??e.arguments??e.input:void 0;function zf(e,{callId:t}={}){if(!Eo(e))return null;if(e.tool_name===qu&&e.tool_arguments!=null){let a=Yu(e.tool_arguments);if(a)return a}let r=e.tool_calls,n=[];if(Array.isArray(r)){let a=r.some(o=>Eo(o)&&o.id!=null);r.forEach(o=>{if(jle(o)!==qu||t!=null&&a&&o.id!==t)return;let i=Yu(zle(o));i&&n.push(...i)})}else if(Eo(r)&&e.tool_name===qu){let a=Yu(r);a&&n.push(...a)}return n.length>0?n:null}function C1(e){return typeof e=="string"&&/^(https?:\/\/|data:image\/)/i.test(e.trim())}function E1(e){if(typeof e!="string")return!1;let t=e.trim();if(/^data:image\//i.test(t))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}function A7(e){try{return new URL(String(e).trim()).host}catch{return""}}var O7=["#2a78d6","#eb6834","#1baf7a","#eda100","#e87ba4","#008300","#4a3aa7","#e34948"],Lle=["#3987e5","#d95926","#199e70","#c98500","#d55181","#008300","#9085e9","#e66767"],Wv=O7.length,k7=220,Lf=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),it=e=>e==null?"":typeof e=="object"?JSON.stringify(e):String(e),T7=e=>{if(typeof e!="number"||!Number.isFinite(e))return it(e);let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1).replace(/\.0$/,"")}B`:t>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:t>=1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}K`:e.toLocaleString()},DE=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,N7={info:{light:["#eff6ff","#1d4ed8"],dark:["rgba(59,130,246,0.15)","#93c5fd"]},success:{light:["#f0fdf4","#15803d"],dark:["rgba(34,197,94,0.15)","#86efac"]},warning:{light:["#fffbeb","#b45309"],dark:["rgba(245,158,11,0.15)","#fcd34d"]},danger:{light:["#fef2f2","#b91c1c"],dark:["rgba(239,68,68,0.15)","#fca5a5"]}},Ble={positive:{light:"#15803d",dark:"#4ade80"},negative:{light:"#b91c1c",dark:"#f87171"}},TE=e=>({width:"100%",padding:"6px 10px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),IE=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0,whiteSpace:"pre-wrap"}),Bf=e=>({fontSize:"13px",fontWeight:600,color:e.textPrimary,margin:0});function el({block:e,reason:t,colors:r,darkMode:n}){return ue.default.createElement("div",{className:"text-xs",style:{color:r.textMuted}},ue.default.createElement("div",{className:"mb-1"},"Unsupported block",e&&e.type?` \u201C${it(e.type)}\u201D`:"",t?` \u2014 ${t}`:""),ue.default.createElement("pre",{style:{...IE(n),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2)))}function $le({block:e,colors:t,darkMode:r,onAction:n}){let a=C1(e.image_url)&&E1(e.image_url)?e.image_url.trim():null;return ue.default.createElement("div",{className:"overflow-hidden",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg}},a&&ue.default.createElement("img",{src:a,alt:it(e.title),style:{width:"100%",maxHeight:"220px",objectFit:"cover",display:"block"}}),ue.default.createElement("div",{className:"p-3 space-y-1.5"},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),e.body!=null&&ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})),e.footer!=null&&ue.default.createElement("div",{className:"text-xs pt-1",style:{color:t.textMuted,borderTop:`1px solid ${t.cardBorder}`}},it(e.footer))))}function M7({block:e,colors:t,darkMode:r}){let n=e.delta!=null?it(e.delta):null,a=e.tone||(n&&n.trim().startsWith("-")?"negative":n?"positive":"neutral"),o=DE(Ble,a),i=o?o[r?"dark":"light"]:t.textMuted,l=typeof e.value=="number"?T7(e.value):it(e.value);return ue.default.createElement("div",{style:{background:t.innerBg,border:`1px solid ${t.cardBorder}`,borderRadius:"10px",padding:"10px 12px"}},ue.default.createElement("div",{className:"text-xs",style:{color:t.textMuted}},it(e.label)),ue.default.createElement("div",{className:"text-lg font-semibold leading-tight mt-0.5",style:{color:t.textPrimary}},l),n&&ue.default.createElement("div",{className:"text-xs mt-0.5 font-medium",style:{color:i}},n))}function Ule({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.items)?e.items.filter(Lf):[];return n.length===0?ue.default.createElement(el,{block:e,reason:"stats needs an items array",colors:t,darkMode:r}):ue.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"8px"}},n.map((a,o)=>ue.default.createElement(M7,{key:o,block:a,colors:t,darkMode:r})))}var PE=(e,t)=>({padding:"6px 10px",borderBottom:`1px solid ${e.cardBorder}`,color:e.textCell,textAlign:t?"right":"left",fontVariantNumeric:t?"tabular-nums":void 0,verticalAlign:"top"}),Fle=e=>({padding:"6px 10px",borderBottom:`1px solid ${e.borderStrong}`,color:e.textSecondary,fontSize:"11px",fontWeight:600,textAlign:"left",fontFamily:Fe.mono,textTransform:"uppercase",letterSpacing:"0.04em",whiteSpace:"nowrap"});function P7({columns:e,rows:t,colors:r,renderCell:n}){return ue.default.createElement("div",{style:{overflowX:"auto"}},ue.default.createElement("table",{className:"text-sm",style:{width:"100%",borderCollapse:"collapse"}},ue.default.createElement("thead",null,ue.default.createElement("tr",null,e.map((a,o)=>ue.default.createElement("th",{key:o,style:Fle(r)},it(a))))),ue.default.createElement("tbody",null,t.map((a,o)=>ue.default.createElement("tr",{key:o},e.map((i,l)=>{let s=a[l];return ue.default.createElement("td",{key:l,style:PE(r,typeof s=="number")},n?n(s):typeof s=="number"?s.toLocaleString():it(s))}))))))}function Wle({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.columns)?e.columns:null,a=Array.isArray(e.rows)?e.rows:null;if(!n||!a)return ue.default.createElement(el,{block:e,reason:"table needs columns and rows arrays",colors:t,darkMode:r});let o=a.map(i=>Array.isArray(i)?i:Lf(i)?n.map(l=>i[l]):[i]);return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1.5",style:Bf(t)},it(e.title)),ue.default.createElement(P7,{columns:n,rows:o,colors:t}))}var Hle=e=>{let t=e[0];return Object.keys(t).find(r=>typeof t[r]=="string")||Object.keys(t)[0]},Vle=(e,t)=>Object.keys(e[0]).filter(r=>r!==t&&typeof e[0][r]=="number");function Kle({block:e,colors:t,darkMode:r}){let n=String(e.chart||e.kind||"bar").toLowerCase(),a=Array.isArray(e.data)?e.data.filter(Lf):[];if(a.length===0)return ue.default.createElement(el,{block:e,reason:"chart needs a data array of objects",colors:t,darkMode:r});let o=typeof e.x=="string"?e.x:Hle(a),i=Array.isArray(e.series)?e.series.filter(h=>typeof h=="string"):[],l=(i.length>0?i:Vle(a,o)).slice(0,Wv);if(!o||l.length===0)return ue.default.createElement(el,{block:e,reason:"chart needs an x key and at least one series",colors:t,darkMode:r});let s=r?Lle:O7,u=t.cardBg,c={fontSize:10,fill:t.textMuted},d=ue.default.createElement(ts,{contentStyle:{background:u,border:`1px solid ${t.cardBorder}`,borderRadius:"8px",fontSize:"12px"},labelStyle:{color:t.textPrimary,fontWeight:600,marginBottom:"4px"},itemStyle:{color:t.textCell},formatter:h=>typeof h=="number"?h.toLocaleString():it(h)}),f=l.length>1||n==="pie"?ue.default.createElement(S0,{wrapperStyle:{fontSize:"11px",color:t.textSecondary},iconSize:10}):null,p=ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(qi,{stroke:t.cardBorder,vertical:!1}),ue.default.createElement(Zi,{dataKey:o,stroke:t.borderStrong,tick:c,tickLine:!1}),ue.default.createElement(Ji,{stroke:t.borderStrong,tick:c,tickLine:!1,axisLine:!1,tickFormatter:T7,width:44})),m={top:8,right:12,bottom:0,left:0},g;if(n==="line")g=ue.default.createElement(wE,{data:a,margin:m},p,d,f,l.map((h,v)=>ue.default.createElement(t1,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,dot:{r:4,strokeWidth:2,stroke:u,fill:s[v]},activeDot:{r:5,strokeWidth:2,stroke:u},isAnimationActive:!1})));else if(n==="area")g=ue.default.createElement(vs,{data:a,margin:m},p,d,f,l.map((h,v)=>ue.default.createElement(Gi,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,fill:s[v],fillOpacity:.12,dot:{r:3,strokeWidth:2,stroke:u,fill:s[v]},isAnimationActive:!1})));else if(n==="pie"){let h=l[0],v=[...a].sort((x,S)=>(Number(S[h])||0)-(Number(x[h])||0)),y=v.slice(0,Wv),b=v.slice(Wv);b.length>0&&(y[Wv-1]={[o]:"Other",[h]:b.reduce((x,S)=>x+(Number(S[h])||0),Number(y[Wv-1][h])||0)}),g=ue.default.createElement(NE,{margin:m},d,f,ue.default.createElement(Fb,{data:y,dataKey:h,nameKey:o,innerRadius:44,outerRadius:80,paddingAngle:2,stroke:u,strokeWidth:2,isAnimationActive:!1},y.map((x,S)=>ue.default.createElement(Wi,{key:S,fill:s[S]}))))}else g=ue.default.createElement(SE,{data:a,margin:m,barCategoryGap:"25%",barGap:2},p,d,f,l.map((h,v)=>ue.default.createElement(l1,{key:h,dataKey:h,fill:s[v],radius:[4,4,0,0],maxBarSize:24,isAnimationActive:!1})));return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement("div",{style:{width:"100%",height:k7,minWidth:0}},ue.default.createElement(Bl,{width:"100%",height:k7},g)))}function qle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.items)?e.items:null;if(!a)return ue.default.createElement(el,{block:e,reason:"list needs an items array",colors:t,darkMode:r});let o=e.ordered?"ol":"ul";return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement(o,{className:`${e.ordered?"list-decimal":"list-disc"} pl-5 text-sm space-y-0.5`,style:{color:t.textCell}},a.map((i,l)=>ue.default.createElement("li",{key:l},typeof i=="string"?ue.default.createElement(_o,{text:i,darkMode:r,onUiAction:n}):it(i)))))}function Yle({block:e,colors:t}){let r=Number(e.value),n=Number.isFinite(r)?Math.max(0,Math.min(100,r)):0;return ue.default.createElement("div",null,ue.default.createElement("div",{className:"flex items-center justify-between text-xs mb-1"},ue.default.createElement("span",{style:{color:t.textCell}},it(e.label)),ue.default.createElement("span",{className:"font-mono",style:{color:t.textMuted}},Math.round(n),"%")),ue.default.createElement("div",{style:{height:"8px",borderRadius:"999px",background:t.trackBg,overflow:"hidden"}},ue.default.createElement("div",{style:{width:`${n}%`,height:"100%",background:vn,borderRadius:"999px",transition:"width 0.3s ease"}})))}var Gle=["text","textarea","number","select","checkbox"],ME=e=>it(e.name||e.label),C7=e=>it(e.label||e.name),E7=e=>Gle.includes(e.type)?e.type:"text";function Xle({block:e,colors:t,darkMode:r,onAction:n}){let a=(Array.isArray(e.fields)?e.fields:[]).filter(f=>Lf(f)&&(f.name||f.label)),[o,i]=(0,ue.useState)(()=>Object.fromEntries(a.map(f=>[ME(f),E7(f)==="checkbox"?!1:""]))),[l,s]=(0,ue.useState)(!1);if(a.length===0)return ue.default.createElement(el,{block:e,reason:"form needs fields",colors:t,darkMode:r});let u=e.submit!=null?it(e.submit):"Submit",c=(f,p)=>i(m=>({...m,[f]:p}));return ue.default.createElement("form",{onSubmit:f=>{f.preventDefault();let p=a.map(m=>{let g=o[ME(m)];return`${C7(m)}: ${typeof g=="boolean"?g?"yes":"no":it(g)}`}).join("; ");s(!0),n&&n({kind:"form",text:`${e.submit!=null?it(e.submit):"Submitted"}: ${p}`,values:{...o}})},className:"space-y-2.5",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg,padding:"12px"}},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),a.map(f=>{let p=ME(f),m=E7(f),g=C7(f),h=`genui-field-${p.replace(/\W+/g,"-")}`;return m==="checkbox"?ue.default.createElement("label",{key:p,className:"flex items-center gap-2 text-sm",style:{color:t.textCell}},ue.default.createElement("input",{type:"checkbox",checked:!!o[p],onChange:v=>c(p,v.target.checked),style:{accentColor:vn}}),g):ue.default.createElement("div",{key:p},ue.default.createElement("label",{htmlFor:h,className:"block text-xs mb-1",style:{color:t.textSecondary}},g,f.required?" *":""),m==="textarea"?ue.default.createElement("textarea",{id:h,name:p,value:o[p],onChange:v=>c(p,v.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,rows:3,className:"aa-field",style:{...TE(t),resize:"vertical"}}):m==="select"?ue.default.createElement("select",{id:h,name:p,value:o[p],onChange:v=>c(p,v.target.value),required:!!f.required,className:"aa-field",style:TE(t)},ue.default.createElement("option",{value:""},f.placeholder!=null?it(f.placeholder):"Select\u2026"),(Array.isArray(f.options)?f.options:[]).map((v,y)=>ue.default.createElement("option",{key:y,value:it(v)},it(v)))):ue.default.createElement("input",{id:h,name:p,type:m==="number"?"number":"text",value:o[p],onChange:v=>c(p,m==="number"&&v.target.value!==""?Number(v.target.value):v.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,className:"aa-field",style:TE(t)}))}),ue.default.createElement("div",{className:"flex items-center gap-3 pt-1"},ue.default.createElement("button",{type:"submit","data-testid":"genui-form-submit",style:{padding:"6px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,background:vn,color:"#ffffff",border:"1px solid transparent",cursor:"pointer"}},u),l&&ue.default.createElement("span",{className:"text-xs",style:{color:t.textMuted}},"Sent to the agent")))}function Zle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.options)?e.options:null,[o,i]=(0,ue.useState)(null);return!a||a.length===0?ue.default.createElement(el,{block:e,reason:"choices needs options",colors:t,darkMode:r}):ue.default.createElement("div",null,e.prompt!=null&&ue.default.createElement("div",{className:"text-sm mb-1.5",style:{color:t.textCell}},it(e.prompt)),ue.default.createElement("div",{className:"flex flex-wrap gap-2"},a.map((l,s)=>{let u=it(l),c=o===s;return ue.default.createElement("button",{key:s,type:"button","data-testid":"genui-choice",onClick:()=>{i(s),n&&n({kind:"choice",text:u})},style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?vn:t.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":t.textCell}},u)})))}function Qle({url:e,alt:t,colors:r,darkMode:n}){let[a,o]=(0,ue.useState)(!1);if(a)return ue.default.createElement("img",{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}});let i=A7(e);return ue.default.createElement("button",{type:"button",onClick:()=>o(!0),"data-testid":"genui-image-load",className:"text-xs w-full",style:{border:`1px dashed ${r.cardBorder}`,borderRadius:"8px",padding:"14px 12px",color:r.textMuted,background:n?"rgba(255,255,255,0.03)":"#f9fafb"}},"Load image from ",i||"another site")}function Jle({block:e,colors:t,darkMode:r}){if(!C1(e.url))return ue.default.createElement(el,{block:e,reason:"image URL must be http(s) or data:",colors:t,darkMode:r});let n=e.url.trim(),a=e.alt!=null?it(e.alt):"";return ue.default.createElement("figure",{style:{margin:0}},E1(n)?ue.default.createElement("img",{src:n,alt:a,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}}):ue.default.createElement(Qle,{url:n,alt:a,colors:t,darkMode:r}),e.caption!=null&&ue.default.createElement("figcaption",{className:"text-xs mt-1",style:{color:t.textMuted}},it(e.caption)))}function Rle({block:e,colors:t,darkMode:r,onAction:n}){let[a,o]=(DE(N7,e.tone)||N7.info)[r?"dark":"light"];return ue.default.createElement("div",{style:{background:a,borderLeft:`3px solid ${o}`,borderRadius:"8px",padding:"10px 12px"}},e.title!=null&&ue.default.createElement("div",{className:"text-sm font-semibold mb-0.5",style:{color:o}},it(e.title)),ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})))}function ese({block:e,colors:t,darkMode:r}){return ue.default.createElement("div",null,e.language!=null&&ue.default.createElement("div",{className:"text-xs font-mono mb-1",style:{color:t.textMuted}},it(e.language)),ue.default.createElement("pre",{style:IE(r)},it(e.code)))}function _7({block:e,colors:t,darkMode:r,onAction:n}){let a=e.text??e.body??e.content??e.markdown;return ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(a),darkMode:r,onUiAction:n}))}var tse=3;function _1({value:e,colors:t,darkMode:r,depth:n}){if(e==null||typeof e!="object")return typeof e=="boolean"?ue.default.createElement("span",{className:"font-mono"},String(e)):typeof e=="number"?ue.default.createElement("span",{style:{fontVariantNumeric:"tabular-nums"}},e.toLocaleString()):ue.default.createElement("span",null,it(e));if(n>=tse)return ue.default.createElement("pre",{style:{...IE(r),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2));if(Array.isArray(e)){if(e.length===0)return ue.default.createElement("span",{style:{color:t.textMuted}},"\u2014");if(e.every(Lf)){let o=[...new Set(e.flatMap(i=>Object.keys(i)))];return ue.default.createElement(P7,{columns:o,rows:e.map(i=>o.map(l=>i[l])),colors:t,renderCell:i=>ue.default.createElement(_1,{value:i,colors:t,darkMode:r,depth:n+1})})}return e.every(o=>o==null||typeof o!="object")?ue.default.createElement("span",null,e.map(it).join(", ")):ue.default.createElement("ul",{className:"list-disc pl-5 space-y-0.5"},e.map((o,i)=>ue.default.createElement("li",{key:i},ue.default.createElement(_1,{value:o,colors:t,darkMode:r,depth:n+1}))))}let a=Object.entries(e);return a.length===0?ue.default.createElement("span",{style:{color:t.textMuted}},"{}"):ue.default.createElement("table",{className:"text-sm",style:{borderCollapse:"collapse",width:n===0?"100%":"auto"}},ue.default.createElement("tbody",null,a.map(([o,i])=>ue.default.createElement("tr",{key:o},ue.default.createElement("th",{scope:"row",className:"font-mono text-xs",style:{...PE(t,!1),color:t.textSecondary,fontWeight:500,whiteSpace:"nowrap",width:"1%"}},o),ue.default.createElement("td",{style:PE(t,!1)},ue.default.createElement(_1,{value:i,colors:t,darkMode:r,depth:n+1}))))))}function rse({block:e,colors:t,darkMode:r}){let n="value"in e?e.value:e.data;return ue.default.createElement("div",{style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",overflow:"hidden"}},e.title!=null&&ue.default.createElement("div",{className:"px-3 pt-2",style:Bf(t)},it(e.title)),ue.default.createElement("div",{className:"px-1 pb-1",style:{overflowX:"auto"}},ue.default.createElement(_1,{value:n,colors:t,darkMode:r,depth:0})))}var nse={card:$le,stat:M7,stats:Ule,table:Wle,chart:Kle,list:qle,progress:Yle,form:Xle,choices:Zle,image:Jle,callout:Rle,code:ese,object:rse,text:_7,markdown:_7};function hs({blocks:e,onAction:t,darkMode:r=!1}){let n=Array.isArray(e)?e.filter(Lf):[];if(n.length===0)return null;let a=Fa(r);return ue.default.createElement("div",{className:"space-y-3",onClick:o=>o.stopPropagation()},n.map((o,i)=>{let l=typeof o.type=="string"?o.type.toLowerCase():"unknown",s=DE(nse,l);return ue.default.createElement("div",{key:i,"data-testid":"genui-block","data-block-type":l},s?ue.default.createElement(s,{block:o,colors:a,darkMode:r,onAction:t}):ue.default.createElement(el,{block:o,colors:a,darkMode:r}))}))}var ase=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,Hv=(e,t)=>e.split(ase).filter(Boolean).map((r,n)=>{let a=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Nr.default.createElement("strong",{key:a},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Nr.default.createElement("em",{key:a},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Nr.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 o=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return o?Nr.default.createElement("a",{key:a,href:o[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},o[1]):r}),D7=e=>/^\s*\|.*\|\s*$/.test(e),ose=e=>/^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(e),I7=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?t.replace(/\\\|/g,"|").trim());function _o({text:e,onUiAction:t,darkMode:r}){if(!e)return null;let n=[],a=String(e).split(` `),o=0,i=0;for(;oNr.default.createElement("th",{key:p,className:"text-left font-semibold px-2 py-1",style:{borderBottom:"1px solid rgba(127,127,127,0.35)"}},Hv(f,`th${d}-${p}`))))),Nr.default.createElement("tbody",null,c.map((f,p)=>Nr.default.createElement("tr",{key:p},u.map((v,y)=>Nr.default.createElement("td",{key:y,className:"px-2 py-1 align-top",style:{borderBottom:"1px solid rgba(127,127,127,0.15)"}},Hv(f[y]??"",`td${d}-${p}-${y}`)))))))));continue}if(/^\s*([-*]|\d+\.)\s+/.test(l)){let u=[];for(;oNr.default.createElement("li",{key:d},Hv(c,`li${i}-${d}`)))));continue}if(l.trim()===""){n.push(Nr.default.createElement("div",{key:i++,className:"h-2"})),o+=1;continue}n.push(Nr.default.createElement("div",{key:i++},Hv(l,`p${i}`))),o+=1}return Nr.default.createElement("div",{className:"break-words"},n)}var na=te(ne()),ise=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"},lse=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function jE({tool:e,darkMode:t}){let r=lse(e);return na.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&na.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),na.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"}},na.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),na.default.createElement("span",null,"source: ",ise(e))))}function zE({tools:e,darkMode:t}){let[r,n]=(0,na.useState)(null),a=(e||[]).filter(l=>l&&l.name);if(a.length===0)return null;let o=a.find(l=>l.name===r),i=l=>({background:t?"rgba(34,197,94,0.12)":"#f0fdf4",color:t?"#86efac":"#15803d",border:`1px solid ${l?t?"#4ade80":"#22c55e":"transparent"}`,borderRadius:"6px",padding:"2px 8px",fontSize:"11px",cursor:"pointer"});return na.default.createElement("div",{style:{marginTop:"8px"}},na.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},na.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),a.map(l=>na.default.createElement("button",{key:l.name,onClick:s=>{s.stopPropagation(),n(r===l.name?null:l.name)},title:r===l.name?"Hide definition":"Show definition",style:i(r===l.name)},"\u2699 ",l.name))),o&&na.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"}`}},na.default.createElement(jE,{tool:o,darkMode:t})))}var sse=["application/json","application/xml","application/x-yaml","application/csv"],use=/\.(csv|md|txt|json|ya?ml)$/i;function j7(e){let t=String(e?.type||e?.content_type||"").toLowerCase(),r=String(e?.name||e?.filename||"");return t.startsWith("image/")?"image":t==="application/pdf"?"document":t.startsWith("text/")||sse.includes(t)||use.test(r)?"text":"file"}function z7(e){let t=Number(e);return!Number.isFinite(t)||t<0?"":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function L7(e){if(typeof e!="string")return!1;let t=e.trim();if(/^(data:image\/|blob:)/i.test(t))return!0;if(/^\/[\\/]/.test(t))return!1;if(t.startsWith("/"))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}var B7=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,Vv=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}},cse=["text","output","body","content"],$7=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},dse=e=>{let t=$7(e.tool_result)??$7(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=cse.find(o=>typeof t[o]=="string"&&t[o].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(([o])=>o!==r));return{field:r,meta:n,body:t[r],rest:a}},fse=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||Vv(e.content)),W7=280,pse=["tool","system","developer"],Kv=(e,t=W7)=>e.replace(/\s+/g," ").trim().slice(0,t),LE=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)}},H7=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:LE(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:LE(t)}]:[]},V7=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),mse=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((a,o)=>{if(a.role!=="assistant"||V7(a.content))return;let i=H7(a);if(i.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=o+1;u0&&c.tool_call_id&&!l.has(c.tool_call_id))break;s.push(u)}s.length!==0&&(s.forEach((u,c)=>{let d=t[u],f=i.find(p=>p.name&&p.name===d.tool_name)||i[Math.min(c,i.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:a.created_at||d.created_at})}),n.add(o))}),t.map((a,o)=>r.has(o)?{...a,...r.get(o)}:a).filter((a,o)=>!n.has(o))},U7=e=>pse.includes(e.role)&&typeof e.content=="string"&&Kv(e.content).length>=W7,vse=({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),o=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return Se.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"}},Se.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(a,100-n)}%`,borderRadius:"999px",background:o}}))},O1=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}),gr=(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}}},F7={image:"IMG",document:"PDF",text:"TXT",file:"FILE"};function T1({attachments:e,darkMode:t,testId:r,onRemove:n,removeTestId:a}){let o=(e||[]).filter(Boolean);if(o.length===0)return null;let i=Fa(t);return Se.default.createElement("div",{className:"flex flex-wrap gap-2 mt-1.5"},o.map((l,s)=>{let u=String(l.content_type||""),c=(l.kind==="image"||u.startsWith("image/"))&&L7(l.url),d=z7(l.byte_size);return Se.default.createElement("span",{key:l.id??`${l.filename}-${s}`,"data-testid":r,title:[l.filename,u,d].filter(Boolean).join(" \xB7 "),className:"inline-flex items-center gap-2 rounded-lg px-2 py-1 text-xs",style:{background:i.mutedBg,border:`1px solid ${i.cardBorder}`,color:i.textCell,maxWidth:"260px"}},c?Se.default.createElement("img",{src:l.url,alt:l.filename||"",style:{width:"36px",height:"36px",objectFit:"cover",borderRadius:"4px",flexShrink:0}}):Se.default.createElement("span",{className:"font-mono",style:{color:i.textMuted,flexShrink:0}},F7[l.kind]||F7.file),Se.default.createElement("span",{className:"min-w-0"},Se.default.createElement("span",{className:"block truncate"},l.filename||"attachment"),d&&Se.default.createElement("span",{className:"block font-mono",style:{color:i.textMuted}},d)),n&&Se.default.createElement("button",{type:"button","data-testid":a,onClick:f=>{f.stopPropagation(),n(l,s)},title:"Remove","aria-label":`Remove ${l.filename||"attachment"}`,className:"font-mono",style:{color:i.textMuted,background:"none",border:"none",cursor:"pointer",padding:"0 2px"}},"\u2715"))}))}var K7=e=>{let t=new Set;return Array.isArray(e.tool_calls)?e.tool_calls.forEach(r=>r&&r.id!=null&&t.add(r.id)):e.tool_call_id&&t.add(e.tool_call_id),t},gse=(e,t)=>{let r=zf(e);if(r)return r;let n=t.find(a=>a&&a.role==="assistant"&&(e.tool_call_id?K7(a).has(e.tool_call_id):zf(a)));return n?zf(n,{callId:e.tool_call_id}):null},yse=(e,t)=>{let r=K7(e);return t.some(n=>n&&n.role==="tool"&&n.tool_name===qu&&(!n.tool_call_id||r.size===0||r.has(n.tool_call_id)))};function so({messages:e,darkMode:t,tools:r,onUiAction:n,onEditMessage:a,onDeleteMessage:o,testIdPrefix:i}){let[l,s]=(0,Se.useState)({}),[u,c]=(0,Se.useState)(null),[d,f]=(0,Se.useState)(""),[p,v]=(0,Se.useState)(!1),[y,h]=(0,Se.useState)(null),m=A=>s(M=>({...M,[A]:!M[A]})),g={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},x=A=>i?`${i}-${A}`:void 0,b=A=>A.stopPropagation(),S=A=>{c(A.id),f(A.content||""),h(null)},w=()=>{c(null),h(null)},O=async A=>{if(!p){v(!0),h(null);try{await a(A,d),c(null)}catch(M){h(M.message||"Could not save the message")}finally{v(!1)}}},k=mse(e);return Se.default.createElement("div",{className:"space-y-3"},k.map(A=>{let M=gr(A.role,t),W=!!l[A.id],L=u===A.id,H=!!((a||o)&&["user","assistant"].includes(A.role)),D=A.role==="tool"&&A.tool_name===qu?gse(A,k):null,Y=A.role==="assistant"&&!L?OE(A.content):null,N=A.role==="assistant"&&!yse(A,k)?zf(A):null,_=U7(A)&&!W,z=fse(A)||U7(A),j=Vv(A.tool_arguments),P=Vv(A.tool_result)||Vv(A.content),B=A.tool_calls&&(!Array.isArray(A.tool_calls)||A.tool_calls.length>0)?Vv(A.tool_calls):null,R=A.role==="tool"?dse(A):null,F=A.tool_name?(r||[]).find(K=>K&&K.name===A.tool_name):null,G=A.role==="tool"?LE(A.tool_arguments):null,ee=A.role==="tool"&&!!G,fe=gr("assistant",t),de=gr("tool",t),De=A.role==="tool"&&!A.tool_arguments&&k.some(K=>K&&K.role==="assistant"&&(A.tool_call_id&&K.tool_call_id===A.tool_call_id||Array.isArray(K.tool_calls)&&K.tool_calls.some(I=>I.id&&I.id===A.tool_call_id))),le=A.role==="assistant"&&!V7(A.content)?H7(A):[],Te=O1(t);return Se.default.createElement("div",{key:A.id,className:"group","data-testid":i,"data-message-id":i?A.id:void 0,"data-role":i?A.role:void 0},Se.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${z?"cursor-pointer":""}`,onClick:z?()=>m(A.id):void 0,style:W?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},Se.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(ee?[fe,de]:[M]).map(K=>Se.default.createElement("span",{key:K.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:K.background,color:K.color,textAlign:"center"}},K.label))),Se.default.createElement("div",{className:"min-w-0 flex-1"},Se.default.createElement("div",{className:"text-sm break-words",style:{color:g.textPrimary}},L?Se.default.createElement("div",{className:"space-y-2",onClick:b},Se.default.createElement("textarea",{"data-testid":x("editor"),value:d,onChange:K=>f(K.target.value),onKeyDown:K=>{K.key==="Escape"&&w(),K.key==="Enter"&&(K.metaKey||K.ctrlKey)&&O(A)},rows:Math.min(12,Math.max(3,d.split(` -`).length)),autoFocus:!0,className:"aa-field w-full",style:{padding:"8px 10px",borderRadius:"8px",border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,background:t?"rgba(255,255,255,0.06)":"#ffffff",color:g.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"}}),Se.default.createElement("div",{className:"flex items-center gap-2 text-xs"},Se.default.createElement("button",{type:"button","data-testid":x("save"),onClick:()=>O(A),disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"#ef4444",color:"#ffffff",border:"none",cursor:p?"wait":"pointer",fontWeight:500}},p?"Saving\u2026":"Save"),Se.default.createElement("button",{type:"button","data-testid":x("cancel"),onClick:w,disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"transparent",color:g.textSecondary,border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,cursor:"pointer"}},"Cancel"),y&&Se.default.createElement("span",{style:{color:"#dc2626"}},y))):D?Se.default.createElement("div",null,Se.default.createElement("div",{className:"font-mono text-xs mb-1",style:{color:de.color}},"\u2699 ",A.tool_name," \xB7 ",D.length," block",D.length===1?"":"s"),Se.default.createElement(hs,{blocks:D,onAction:n,darkMode:t})):A.role==="tool"?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},G&&!De&&Se.default.createElement("span",{className:"font-mono text-xs break-words"},A.tool_name&&Se.default.createElement("span",{style:{color:de.color}},"\u2699 ",A.tool_name," "),Se.default.createElement("span",{style:{color:ee?fe.color:g.textMuted}},"in:")," ",Kv(G,180),G.length>180?"\u2026":""),R?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:g.textMuted}},"out:"),R.meta&&Se.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:g.textMuted}},R.meta),"\u201C",R.body.replace(/\s+/g," ").trim().slice(0,180),R.body.length>180?"\u2026":"","\u201D"):A.content?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:g.textMuted}},"out:"),"\u201C",Kv(A.content,180),A.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):Se.default.createElement("span",{className:"whitespace-pre-wrap"},A.tool_name?`\u2192 ${A.tool_name}(...)`:"\u2014")):_?Se.default.createElement("span",{style:{color:g.textSecondary}},Kv(A.content),"\u2026"):le.length>0?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},le.map((K,I)=>Se.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},K.name&&Se.default.createElement("span",{style:{color:g.textMuted}},K.name," "),Se.default.createElement("span",{style:{color:g.textMuted}},"in:")," ",K.args?Se.default.createElement(Se.default.Fragment,null,Kv(K.args,180),K.args.length>180?"\u2026":""):"\u2014"))):Y&&Y.blocks?Se.default.createElement(hs,{blocks:Y.blocks,onAction:n,darkMode:t}):Y&&Y.object?Se.default.createElement(hs,{blocks:[{type:"object",value:Y.object}],darkMode:t}):Se.default.createElement(_o,{text:A.content||"\u2014",darkMode:t,onUiAction:n}),N&&!L&&Se.default.createElement("div",{className:"mt-2"},Se.default.createElement(hs,{blocks:N,onAction:n,darkMode:t})),A.role==="user"&&Se.default.createElement(T1,{attachments:A.attachments,darkMode:t,testId:x("attachment")})),Se.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:g.textMuted}},H&&!L&&Se.default.createElement("span",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",onClick:b},a&&Se.default.createElement("button",{type:"button","data-testid":x("edit"),onClick:()=>S(A),className:"hover:underline",style:{color:g.textSecondary,background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Edit"),o&&Se.default.createElement("button",{type:"button","data-testid":x("delete"),onClick:()=>o(A),className:"hover:underline",style:{color:"#dc2626",background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Delete")),A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleTimeString()),A.tool_name&&A.role!=="tool"&&Se.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:M.background,color:M.color}},"\u2699 ",A.tool_name),A.duration_ms!=null&&Se.default.createElement("span",null,B7(A.duration_ms)),(A.tool_calls||[]).length>0&&Se.default.createElement("span",null,A.tool_calls.length," tool call",A.tool_calls.length>1?"s":""),A.content_checksum&&Se.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",A.content_checksum.slice(0,8)))),Se.default.createElement(vse,{message:A,darkMode:t}),z&&Se.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${W?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:g.textMuted}},Se.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),W&&Se.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},Se.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:g.textSecondary}},A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleString()),A.tool_call_id&&Se.default.createElement("span",null,"call: ",A.tool_call_id),A.duration_ms!=null&&Se.default.createElement("span",null,"took ",B7(A.duration_ms)),A.content_checksum&&Se.default.createElement("span",null,"\u{1F512} ",A.content_checksum)),j&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?fe.color:g.textMuted}},"Arguments",ee?" \xB7 from the agent":""),Se.default.createElement("pre",{style:Te},j)),R?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:g.textMuted}},"Result",ee?" \xB7 from the tool":""),Object.keys(R.rest).length>0&&Se.default.createElement("pre",{style:Te},JSON.stringify(R.rest,null,2)),Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:g.textMuted}},R.field," \xB7 ",R.body.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},R.body.slice(0,8e3),R.body.length>8e3?` -\u2026`:"")):P?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:g.textMuted}},A.role==="tool"?"Result":"Content (parsed)"),Se.default.createElement("pre",{style:Te},P)):A.role==="tool"&&A.content?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:g.textMuted}},"Result",ee?" \xB7 from the tool":""," \xB7 ",A.content.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},A.content.slice(0,8e3),A.content.length>8e3?` -\u2026`:"")):null,B&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:g.textMuted}},"Requested tool calls"),Se.default.createElement("pre",{style:Te},B)),F&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:g.textMuted}},"Tool definition"),Se.default.createElement(jE,{tool:F,darkMode:t}))))}))}var st=te(ne());var Cr=te(ne());var Ir=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"}),q7=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function Gu({open:e,darkMode:t,size:r=14,style:n}){return Cr.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:Ir(t).textMuted,...n},"aria-hidden":"true"},Cr.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function M1({darkMode:e,id:t,children:r,style:n,className:a=""}){let o=Ir(e);return Cr.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${a}`,style:{backgroundColor:o.cardBg,borderColor:o.cardBorder,...n}},r)}var Y7=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Ir(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),hse=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 $f({lines:e,darkMode:t,onClick:r,indent:n=0,size:a="12px",style:o,max:i=200}){let[l,s]=Uf(),u=Ir(t),c=(e||[]).filter(d=>d&&d.text);return c.length===0?null:Cr.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:Fe.mono,fontSize:a,color:u.textSecondary,cursor:r?"pointer":"default",...o}},c.map((d,f)=>{let p=`${d.label}-${f}`,v=l(p),y=d.max||i,h=String(d.text).replace(/\s+/g," ").trim(),m=hse(d.text),g=m.json||h.length>60||h!==String(d.text).trim();return Cr.default.createElement("div",{key:p},Cr.default.createElement("div",{onClick:g?x=>{x.stopPropagation(),s(p)}:void 0,title:g?v?"Collapse":"Expand":void 0,style:{cursor:g?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0}},Cr.default.createElement("span",{style:{color:d.color||u.textMuted}},g?v?"\u25BE":"\u25B8":"\xA0"," ",d.label,":")," ",!v&&q7(h,y)),v&&Cr.default.createElement("pre",{onClick:x=>x.stopPropagation(),style:Y7(t,{wrap:!m.json})},m.text))}))}function qv({options:e,value:t,onChange:r,darkMode:n,label:a,style:o}){let i=Ir(n);return Cr.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:o},a&&Cr.default.createElement("span",{className:"text-xs mr-1",style:{color:i.textMuted}},a),e.map(l=>Cr.default.createElement("button",{key:l.id,type:"button",onClick:s=>{s.stopPropagation(),r(l.id)},title:l.hint,className:"px-2 py-0.5 text-xs rounded transition-colors",style:t===l.id?{background:i.controlActiveBg,color:i.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:i.textSecondary}},l.label)))}function G7({label:e,body:t,open:r,onToggle:n,darkMode:a,prose:o=!1,max:i=140}){let l=Ir(a);return Cr.default.createElement("div",null,Cr.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},Cr.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&Cr.default.createElement("span",{style:{color:l.textMuted}},q7(t,i))),r&&Cr.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:Y7(a,{wrap:o})},t))}function Uf(e={}){let[t,r]=(0,Cr.useState)(e),n=(0,Cr.useCallback)(o=>{r(i=>({...i,[o]:!i[o]}))},[]);return[(0,Cr.useCallback)(o=>!!t[o],[t]),n,r]}var BE={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},Z7=[{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"}],Er=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,$E=e=>{switch(e){case"root":return Ut.spans.root;case"prompt":return Ut.spans.prompt;case"generate":return Ut.spans.generate;case"llm":return Ut.spans.llm;case"thinking":return Ut.spans.thinking;case"tool":return Ut.spans.tool;case"response":return Ut.spans.response;default:return"-"}},xse=(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))},bse=(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))}},wse=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},Sse=(e,t)=>{if(!t.duration_ms)return Er(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${Er(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},Ase=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},X7=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,UE=e=>{let t=e.spans||[],r=o=>{for(let i of t){let l=(i.attributes||{})[o];if(l)return l}return null},n=r("llm.prompt");if(!n){let o=r("prompt.input.messages");if(o)try{n=[...JSON.parse(o)].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}},kse=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 o=null,i="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?o=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(o=t["tool.output.result"]||t["tool.result"],i="out",l="tool"),o!=null&&typeof o!="string"&&(o=JSON.stringify(o)),{input:r,output:o,inputLabel:n,inputTone:a,outputLabel:i,outputTone:l}},Nse=(e,t)=>{let r=kse(e),n=UE(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},Cse=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}),o=r("prompt.input.instructions")||r("llm.instructions");o&&a({role:"system",content:String(o)});let i=r("prompt.input.messages");if(i)try{JSON.parse(i).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"]=i}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}},FE=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 Ese({span:e,darkMode:t,tools:r=[]}){let[n,a]=Uf(),o=Ir(t),{messages:i,rest:l}=Cse(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)=>X7(p[0])-X7(v[0])),d=i.length===1&&i[0].role==="tool"?i[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return st.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:o.panelBg,border:`1px solid ${o.cardBorder}`,fontFamily:Fe.mono,fontSize:"12px",color:o.textBody,cursor:"default"}},st.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},st.default.createElement("span",null,"duration: ",Er(e.duration)),st.default.createElement("span",null,"status: ",e.status||"OK"),wse(e)>0&&st.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),st.default.createElement("span",{style:{color:o.textMuted}},"span: ",e.span_id)),d&&st.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},st.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"\u2699 ",d.tool_name),f&&st.default.createElement(st.default.Fragment,null," ",st.default.createElement("span",{style:{color:gr("assistant",t).color}},"in:")," ",st.default.createElement("span",{style:{color:o.textBody}},f))),d.content&&st.default.createElement("div",{style:{fontSize:"12px"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"out:")," ",st.default.createElement("span",{style:{color:o.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),i.length>0&&!d&&st.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},st.default.createElement(so,{messages:i,darkMode:t,tools:s||r})),s&&st.default.createElement(zE,{tools:s,darkMode:t}),c.length>0&&st.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,v])=>{let y=p.match(/args|result|input|output/)?Ase(v):null,h=!y&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof v=="string"?v:null,m=y||h;if(!m)return st.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},st.default.createElement("span",{style:{color:o.textMuted}},p,":")," ",typeof v=="string"?v:JSON.stringify(v));let g=`${e.span_id}:${p}`;return st.default.createElement(G7,{key:p,label:p,body:m,prose:!y,darkMode:t,open:n(g),onToggle:()=>a(g)})})))}function _se({span:e,trace:t,darkMode:r,sort:n,longest:a,expanded:o,onToggle:i,tools:l}){let s=Ir(r),u=Object.keys(e.attributes||{}).length>0,c=o?null:Nse(e,t);return st.default.createElement(st.default.Fragment,null,st.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:o?s.hoverBg:void 0},onClick:u?()=>i():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},st.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},st.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},$E(e.type)),st.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),st.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:Fe.mono,color:s.textMuted}},Sse(e,t)),u&&st.default.createElement(Gu,{open:o,darkMode:r,size:13,style:{marginLeft:"2px"}})),st.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},st.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":BE[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}%`:`${xse(e.duration,a)}%`}})),c&&st.default.createElement($f,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:gr(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:gr(c.outputTone,r).color,max:160}]})),o&&st.default.createElement(Ese,{span:e,darkMode:r,tools:l}))}function WE({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:a=""}){let[o,i]=Uf(),l=Ir(t),s=bse(e?.spans,r),u=n||FE(e);if(s.length===0)return st.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 st.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${a}${d.span_id||f}`;return st.default.createElement(_se,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:o(p),onToggle:()=>i(p)})}))}var Ose=[{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"}],Tse=e=>{let t=0,r=[];(e?.spans||[]).forEach(o=>{(o.nested||0)!==0&&(o.type==="tool"?r.push(o):(o.type==="llm"||o.type==="generate")&&(t=Math.max(t,o.duration||0)))});let n=r.reduce((o,i)=>o+(i.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 Mse({trace:e,darkMode:t}){let r=Ir(t),{generation:n,tools:a,toolTotal:o,total:i,overhead:l}=Tse(e);if(n===0&&o===0||n/i>=.99&&o/i<.01)return null;let s=c=>`${(c/i*100).toFixed(c/i<.01?2:1)}%`,u=(c,d)=>We.default.createElement("div",{style:{width:`${Math.max(c/i*100,.4)}%`,background:d,height:"100%"}});return We.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},We.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),We.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(o,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Fe.mono,color:r.textBody}},We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",Er(n)," (",s(n),")"),We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",Er(o)," (",s(o),")"),l>0&&We.default.createElement("span",null,We.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",Er(l)," (",s(l),")")),a.length>0&&We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Fe.mono,color:r.textSecondary}},a.map((c,d)=>We.default.createElement("span",{key:d},c.name," ",Er(c.duration)," (",s(c.duration||0),")"))))}function Pse({trace:e,darkMode:t}){let[r,n]=(0,We.useState)(null),[a,o]=(0,We.useState)(!1),i=Ir(t);if((0,We.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),o(!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&&o(!0)),()=>{s=!1}},[e?.id]),a)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.bad}},"Couldn't load the conversation for this trace.");if(!r)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"Loading conversation\u2026");let l=r.instructions?[{id:`trace-${e.id}-system`,role:"system",content:r.instructions,created_at:r.created_at},...r.messages||[]]:r.messages||[];return l.length===0?We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"This trace predates content capture \u2014 no conversation to show."):We.default.createElement(so,{messages:l,darkMode:t,tools:FE(e)})}function Yv({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[a,o]=(0,We.useState)("spans"),[i,l]=(0,We.useState)("time"),s=Ir(t),u=(e?.spans||[]).length,c=N1(e),d=e?.tokens||{},f=(0,We.useCallback)(p=>o(n?p:"spans"),[n]);return e?We.default.createElement("div",null,We.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},We.default.createElement("div",{className:"flex items-center gap-1"},n&&We.default.createElement(qv,{options:Ose,value:a,onChange:f,darkMode:t}),We.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),a==="spans"&&u>0&&We.default.createElement(qv,{options:Z7,value:i,onChange:l,darkMode:t,label:"Sort"})),a==="conversation"?We.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},We.default.createElement(Pse,{trace:e,darkMode:t})):We.default.createElement(We.default.Fragment,null,i==="time"?We.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},We.default.createElement("span",null,"0ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),We.default.createElement("span",null,Er(e.duration_ms))):We.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),We.default.createElement(WE,{trace:e,darkMode:t,sort:i,keyPrefix:`${e.id||e.trace_id}:`})),c&&We.default.createElement("div",{className:"mt-3"},We.default.createElement(ys,{...c,label:"Context pressure",darkMode:t})),We.default.createElement(Mse,{trace:e,darkMode:t}),!r&&We.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}},We.default.createElement("span",null,"Tokens:"),d.thinking>0&&We.default.createElement("span",{className:"text-amber-500",style:{fontFamily:Fe.mono}},"T:",d.thinking.toLocaleString()),We.default.createElement("span",{className:"text-blue-500",style:{fontFamily:Fe.mono}},"in:",(d.input||0).toLocaleString()),We.default.createElement("span",{className:"text-green-500",style:{fontFamily:Fe.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&We.default.createElement("span",{style:{fontFamily:Fe.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&We.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"}},We.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var Dse=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}`},Ise=e=>e==null?null:`$${e.toFixed(4)}`;function P1({trace:e,darkMode:t,expanded:r,onToggle:n}){let a=Ir(t),o=UE(e),i=N1(e),l=e.status!=="ERROR";return jr.default.createElement(M1,{darkMode:t,id:`trace-row-${e.id}`},jr.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},jr.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},jr.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:Fe.mono,background:a.controlBg,color:a.textSecondary}},"TRACE"),jr.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:Fe.mono,color:a.textMuted}},e.short_id),jr.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:a.textPrimary}},e.display_name)),jr.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:a.textSecondary}},e.model&&jr.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:Fe.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"},title:"Model that generated this trace"},e.model),i&&jr.default.createElement(ys,{compact:!0,...i,label:"Context",darkMode:t}),jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),Er(e.duration_ms)),jr.default.createElement("span",null,Dse(e.tokens)," tokens"),e.estimated_cost!=null&&jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),Ise(e.estimated_cost)),jr.default.createElement("span",{style:{color:l?a.good:a.bad}},jr.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR"),jr.default.createElement(Gu,{open:r,darkMode:t}))),!r&&jr.default.createElement($f,{darkMode:t,onClick:n,style:{padding:"0 16px 12px"},lines:[{label:"input",text:o.input,color:gr("user",t).color},{label:"output",text:o.output,color:gr("assistant",t).color}]}),r&&jr.default.createElement("div",{className:"border-t p-4",style:{borderColor:a.cardBorder,background:a.innerBg}},jr.default.createElement(Yv,{trace:e,darkMode:t})))}function Ge(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}function HE(e=""){window.history.pushState({},"",Ge(e))}function Xu(e=window.location.pathname){let t=(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"");return t&&(e===t||e.startsWith(`${t}/`))?e.slice(t.length)||"/":e}function Gv(e){if(!e)return;let t=Xu(e);HE(t),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(t)}}))}var Q7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],jse=3e4,zse=e=>{let t={};return e.forEach((r,n)=>{t[r]=Q7[n%Q7.length]}),t},Lse=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 o=t[a];o.count+=1,o.total+=n.duration||0,o.max=Math.max(o.max,n.duration||0),n.error&&(o.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},Bse=(e,t,r,n=60)=>{let a=Date.now(),o=[],i=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=a-(s+1)*i,c=a-s*i,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(v=>v.agent===p).length}),o.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 o};function Zu({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,U.useState)([]),[o,i]=(0,U.useState)([]),[l,s]=(0,U.useState)({}),[u,c]=(0,U.useState)(!0),[d,f]=(0,U.useState)(null),[p,v]=(0,U.useState)(null),y=(0,U.useRef)(new URLSearchParams(window.location.search).get("trace")),[h,m]=(0,U.useState)(null),[g,x]=(0,U.useState)({status:"all",agent:"all",action:"all"}),[b,S]=(0,U.useState)("time"),[w,O]=(0,U.useState)(null),[k,A]=(0,U.useState)("timeline"),[M,W]=(0,U.useState)("popular"),{timeWindow:L}=Qo(),H=(0,U.useCallback)(async()=>{try{let C=e?`&agent=${encodeURIComponent(e)}`:"",T=await fetch(`/api/traces?minutes=${L.minutes}${C}`);if(!T.ok)throw new Error(`Request failed (${T.status})`);let X=await T.json();a(X.traces||[]),i(e?[e]:X.agents||[]),s(X.agent_ids||{}),f(null)}catch(C){f(C.message)}finally{c(!1)}},[L.minutes,e]);(0,U.useEffect)(()=>{H();let C=setInterval(H,jse);return()=>clearInterval(C)},[H]);let D=(0,U.useMemo)(()=>zse(o),[o]);(0,U.useEffect)(()=>{O(null)},[L.id]);let Y=(0,U.useMemo)(()=>Bse(n,o,L.minutes,L.bucketSeconds),[n,o,L]),N=Math.max(0,Math.ceil(Y.length/6)-1),_=(0,U.useMemo)(()=>{let C=n;if(w!==null){let T=Y[w];T&&(C=T.traces||[])}if(g.status!=="all"&&(C=C.filter(T=>g.status==="success"?T.status!=="ERROR":T.status==="ERROR")),g.agent!=="all"&&(C=C.filter(T=>T.agent===g.agent)),g.action!=="all")if(g.action.includes("#")){let[T,X]=g.action.split("#");C=C.filter($=>$.agent===T&&$.action===X)}else C=C.filter(T=>T.action===g.action);return b==="latency"&&(C=[...C].sort((T,X)=>(X.duration_ms||0)-(T.duration_ms||0))),h&&!C.some(T=>T.id===h.id)&&(C=[h,...C]),C},[n,w,Y,g,b,h]);(0,U.useEffect)(()=>{let C=y.current;if(!C)return;let T=$=>{y.current=null,v($.id),setTimeout(()=>{document.getElementById(`trace-row-${$.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},X=n.find($=>$.id===C||$.trace_id===C||$.short_id&&String(C).startsWith($.short_id));if(X){T(X);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(C)}`).then($=>$.ok?$.json():Promise.reject(new Error("not found"))).then(({trace:$})=>{m($),T($)}).catch(()=>{y.current=null})},[n]);let z=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};C.forEach($=>{$.agent&&(T[$.agent]||(T[$.agent]={agent:$.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),T[$.agent].count++,T[$.agent].totalDuration+=$.duration_ms||0,T[$.agent].cost+=$.estimated_cost||0,$.status==="ERROR"&&T[$.agent].errors++,$.tokens&&(T[$.agent].tokens.thinking+=$.tokens.thinking||0,T[$.agent].tokens.input+=$.tokens.input||0,T[$.agent].tokens.output+=$.tokens.output||0),$.action&&(T[$.agent].actions[$.action]=(T[$.agent].actions[$.action]||0)+1))});let X={popular:$=>$.count,longest:$=>$.totalDuration/($.count||1),cost:$=>$.cost,tokens:$=>($.tokens.input||0)+($.tokens.output||0)+($.tokens.thinking||0),errors:$=>$.errors}[M]||($=>$.count);return Object.values(T).sort(($,Ne)=>X(Ne)-X($)||Ne.count-$.count)},[n,Y,w,M]),j=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{if(!X.agent)return;let $=`${X.agent}#${X.action||"unknown"}`;T[$]||(T[$]={key:$,agent:X.agent,action:X.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),T[$].count++,T[$].totalDuration+=X.duration_ms||0,T[$].minDuration=Math.min(T[$].minDuration,X.duration_ms||0),T[$].maxDuration=Math.max(T[$].maxDuration,X.duration_ms||0),X.status==="ERROR"&&T[$].errors++,X.tokens&&(T[$].tokens.thinking+=X.tokens.thinking||0,T[$].tokens.input+=X.tokens.input||0,T[$].tokens.output+=X.tokens.output||0)}),Object.values(T).forEach(X=>{X.minDuration===1/0&&(X.minDuration=0)}),Object.values(T).sort((X,$)=>$.count-X.count)},[n,Y,w]),P=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{(X.spans||[]).forEach($=>{if($.type!=="tool")return;let Ne=$.attributes?.["tool.name"]||$.name?.replace(/^tool\./,"")||"unknown";T[Ne]||(T[Ne]={name:Ne,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),T[Ne].count++,T[Ne].totalDuration+=$.duration||0,T[Ne].maxDuration=Math.max(T[Ne].maxDuration,$.duration||0),$.error&&T[Ne].errors++,X.agent&&T[Ne].agents.add(`${X.agent}#${X.action||"unknown"}`)})}),Object.values(T).map(X=>({...X,agents:[...X.agents],avgDuration:X.count?X.totalDuration/X.count:0})).sort((X,$)=>$.totalDuration-X.totalDuration)},[n,Y,w]),B=(0,U.useMemo)(()=>g.agent==="all"?j.map(C=>C.key):j.filter(C=>C.agent===g.agent).map(C=>C.key),[g.agent,j]),R=(0,U.useMemo)(()=>Lse(_),[_]),F=C=>{if(C&&C.activeTooltipIndex!==void 0){let T=C.activeTooltipIndex;O(w===T?null:T),v(null)}},G=C=>(C?.input||0)+(C?.output||0)+(C?.thinking||0),ee=C=>{let T=C.count?C.errors/C.count:0;return[{label:`Calls ${L.label||""}`.trim(),value:C.count.toLocaleString()},{label:"Errors",value:`${(T*100).toFixed(1)}%`,tone:C.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(C.totalDuration/(C.count||1))}ms`},{label:"Tokens",value:G(C.tokens).toLocaleString()},{label:"Cost",value:fe(C.cost),title:"Estimated from token counts at this model's published rates",tone:C.cost?void 0:"muted"},{label:"Actions",value:(C.agents?.length||0).toLocaleString()}]},fe=C=>C?C<.01?"<$0.01":`$${C.toFixed(2)}`:"\u2014",de=U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},U.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),U.default.createElement("select",{value:M,onChange:C=>W(C.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"}},U.default.createElement("option",{value:"popular"},"Most calls"),U.default.createElement("option",{value:"longest"},"Longest average"),U.default.createElement("option",{value:"cost"},"Highest cost"),U.default.createElement("option",{value:"tokens"},"Most tokens"),U.default.createElement("option",{value:"errors"},"Most errors"))),De=C=>x(T=>({...T,agent:T.agent===C?"all":C})),le=C=>{let T=l[C];if(!T)return De(C);let X=Ge(`/agents/${T}`);window.history.pushState(window.history.state,"",X),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:X}}))},Te=C=>{let T=R[0]?.total||1,X=C?"rgba(0,0,0,0.3)":"white",$=C?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",Ne=C?"white":"#111827",E=C?"rgba(255,255,255,0.5)":"#6b7280",Z={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return U.default.createElement("div",{style:{padding:C?"0 24px 24px 24px":0}},U.default.createElement("div",{style:{background:X,border:$,borderRadius:"12px",padding:"16px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:Ne,marginBottom:"4px"}},"Slowest operations"),U.default.createElement("div",{style:{fontSize:"12px",color:E,marginBottom:"14px"}},"Span durations aggregated across ",_.length," trace",_.length===1?"":"s"," \u2014 ranked by total time"),R.length===0?U.default.createElement("div",{style:{fontSize:"13px",color:E,padding:"12px 0"}},"No spans in the current selection"):U.default.createElement("div",{style:{display:"grid",gap:"10px"}},R.map(ge=>U.default.createElement("div",{key:ge.name,style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("span",{style:{color:E}},$E(ge.type)),U.default.createElement("span",{style:{fontSize:"13px",color:ge.errors>0?"#ef4444":Ne,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},ge.name)),U.default.createElement("div",{style:{flex:1,height:"18px",background:C?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},U.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(ge.total/T*100,.5)}%`,background:Z[ge.type]||"#6366f1"}})),U.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:E,fontFamily:Fe.mono,textAlign:"right"}},ge.count,"\xD7 \xB7 avg ",Er(ge.avg)," \xB7 max ",Er(ge.max)," \xB7 \u03A3 ",Er(ge.total)))))))};if(u)return U.default.createElement("div",{className:"flex items-center justify-center h-64"},U.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let K={requests:Y.reduce((C,T)=>C+T.requests,0),errors:Y.reduce((C,T)=>C+T.errors,0),avgLatency:(()=>{let C=Y.filter(T=>T.requests>0);return C.length===0?0:Math.round(C.reduce((T,X)=>T+X.avgLatency,0)/C.length)})(),throughput:(Y.reduce((C,T)=>C+T.requests,0)/L.minutes).toFixed(1)},I=n.length===0;return r?U.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},U.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},U.default.createElement("div",null,!t&&U.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),U.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),style:{padding:"6px 12px",background:k===C?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},C))),!e&&U.default.createElement("select",{value:g.agent,onChange:C=>x({...g,agent:C.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"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.action,onChange:C=>x({...g,action:C.target.value}),style:{padding:"8px 12px",background:g.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:g.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.status,onChange:C=>x({...g,status:C.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"}},U.default.createElement("option",{value:"all"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:b,onChange:C=>S(C.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"}},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(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&&U.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),U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,style:{display:"flex",alignItems:"center",gap:"6px"}},U.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:T}}),U.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},C.replace("Agent","")))))),U.default.createElement("div",{style:{height:"150px"}},U.default.createElement(Bl,{width:"100%",height:"100%"},U.default.createElement(vs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.8}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.1})))),U.default.createElement(qi,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),U.default.createElement(Zi,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:N}),U.default.createElement(Ji,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(ts,{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:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Gi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-${C})`}))))),U.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},K.requests),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},K.errors),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},K.avgLatency,"ms"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},K.throughput,"/min"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),k==="agents"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},de,U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px",whiteSpace:"nowrap"}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:g.agent===C.agent?"#ef4444":"inherit",font:"inherit"}},g.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},j.map(C=>{let T=g.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{x({...g,action:T?"all":C.key}),A("timeline")},style:{background:T?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:T?"1px solid #ef4444":`1px solid ${D[C.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:D[C.agent]}}),U.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},C.agent),U.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",C.action)),U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px"}},C.count," calls")),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),U.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),U.default.createElement("div",{style:{fontSize:"13px",color:C.errors>0?"#ef4444":"#10b981"}},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},G(C.tokens).toLocaleString()))))}))),k==="spans"&&Te(!0),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):_.map(C=>U.default.createElement(P1,{key:C.id,trace:C,darkMode:!0,expanded:p===C.id,onToggle:()=>v(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},U.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),U.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"))):U.default.createElement("div",{className:"space-y-6"},U.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},U.default.createElement("div",null,U.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),U.default.createElement("p",{className:"text-sm text-gray-500"},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},U.default.createElement(Jo,null),U.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${k===C?"bg-white shadow text-gray-900":"text-gray-600"}`},C))),U.default.createElement("select",{value:g.agent,onChange:C=>x({...g,agent:C.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"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.action,onChange:C=>x({...g,action:C.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${g.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:g.status,onChange:C=>x({...g,status:C.target.value}),className:"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"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:b,onChange:C=>S(C.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(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&&U.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),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},U.default.createElement("div",{className:"flex justify-between items-center mb-3"},U.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),U.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,className:"flex items-center gap-1.5"},U.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:T}}),U.default.createElement("span",{className:"text-xs text-gray-500"},C.replace("Agent","")))))),U.default.createElement("div",{className:"h-36"},U.default.createElement(Bl,{width:"100%",height:"100%"},U.default.createElement(vs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-light-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.6}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.05})))),U.default.createElement(qi,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),U.default.createElement(Zi,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:N}),U.default.createElement(Ji,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(ts,{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:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Gi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-light-${C})`}))))),U.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-gray-900"},K.requests),U.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-red-500"},K.errors),U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-green-600"},K.avgLatency,"ms"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-amber-500"},K.throughput,"/min"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),k==="agents"&&U.default.createElement("div",null,de,U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},className:g.agent===C.agent?"text-red-600":"hover:text-gray-700"},g.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},j.map(C=>{let T=g.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{x({...g,action:T?"all":C.key}),A("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${T?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:D[C.agent],borderLeftWidth:T?"2px":"4px"}},U.default.createElement("div",{className:"flex items-center justify-between mb-3"},U.default.createElement("div",{className:"flex items-center gap-2"},U.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:D[C.agent]}}),U.default.createElement("span",{className:"font-semibold text-gray-900"},C.agent),U.default.createElement("span",{className:"text-gray-500"},"#",C.action)),U.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls")),U.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),U.default.createElement("div",{className:"font-medium"},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),U.default.createElement("div",{className:"text-gray-600"},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),U.default.createElement("div",{className:C.errors>0?"text-red-600":"text-green-600"},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("div",{className:"text-gray-600"},G(C.tokens).toLocaleString()))))})),k==="tools"&&(P.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.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"},U.default.createElement("div",{className:"flex-1"},"Tool"),U.default.createElement("div",{className:"w-20 text-right"},"Calls"),U.default.createElement("div",{className:"w-24 text-right"},"Total time"),U.default.createElement("div",{className:"w-20 text-right"},"Avg"),U.default.createElement("div",{className:"w-20 text-right"},"Slowest")),P.map(C=>{let T=P[0].totalDuration?C.totalDuration/P[0].totalDuration*100:0;return U.default.createElement("div",{key:C.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},U.default.createElement("div",{className:"flex items-center gap-4 text-sm"},U.default.createElement("div",{className:"flex-1 min-w-0"},U.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:C.name},C.name),C.agents.length>0&&U.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:C.agents.join(", ")},C.agents.join(", "))),U.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Fe.mono}},C.count.toLocaleString(),C.errors>0&&U.default.createElement("span",{className:"text-red-600 ml-1",title:`${C.errors} failed`},"(",C.errors,")")),U.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Fe.mono}},Er(C.totalDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.avgDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.maxDuration))),U.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},U.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(T,1)}%`}})))}))),k==="spans"&&Te(!1),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):_.map(C=>U.default.createElement(P1,{key:C.id,trace:C,darkMode:!1,expanded:p===C.id,onToggle:()=>v(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{className:"text-center py-12"},U.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),U.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=te(ne());var D1=te(ne());function VE({trace:e,darkMode:t,height:r=8}){let n=Ir(t);if(!e)return D1.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let a=e.spans||[],o=e.duration_ms||1,i=[...a].sort((l,s)=>(l.nested||0)-(s.nested||0));return D1.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},i.map((l,s)=>D1.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${Er(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/o*100,99)}%`,width:`${Math.max(l.duration/o*100,.8)}%`,background:l.error?"#ef4444":BE[l.type]||"#9ca3af"}})))}var $se=e=>{let t=null;if((e?.generations||[]).forEach(o=>{let i=o.tokens||{},l=(i.input||0)+(i.output||0);l>0&&(!t||l>t.total)&&(t={input:i.input||0,output:i.output||0,cached:i.cached||0,thinking:i.thinking||0,model:o.model,total:l})}),!t)return null;let r=gs(e?.instructions),n=0;(e?.messages||[]).forEach(o=>{o.role==="tool"&&(n+=gs(o.content)+gs(o.tool_arguments))}),n=Math.min(n,t.input);let a=Math.max(t.input-r-n,0);return{used:t.total,limit:Fv(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}]}},J7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Use=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],Fse=[{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"}],Wse=3e4,tl=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),Hse=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 Vse({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:a}){let o=Ir(t),[i,l]=(0,ce.useState)(null),[s,u]=(0,ce.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,ce.useEffect)(()=>{if(!c)return;let v=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(y=>y.ok?y.json():Promise.reject(new Error("not found"))).then(({trace:y})=>v&&l(y)).catch(()=>v&&u(!0)),()=>{v=!1}},[c]);let f=!!i,p=(i?.spans||[]).length;return ce.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:o.hoverBg}:void 0},ce.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},ce.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:o.textSecondary}},ce.default.createElement("span",{title:e.cache_hit?`${tl(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?o.good:o.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&ce.default.createElement("span",{className:"text-amber-500",title:`${tl(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",tl(e.tokens.thinking)),ce.default.createElement("span",null,e.model||"unknown-model"),e.provider&&ce.default.createElement("span",null,e.provider),ce.default.createElement("span",{className:"text-blue-500"},"in:",tl(e.tokens.input)),ce.default.createElement("span",{className:"text-green-500"},"out:",tl(e.tokens.output)),e.finish_reason&&ce.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&ce.default.createElement("span",null,Er(d)),c&&ce.default.createElement("a",{href:Ge(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:o.link},className:"hover:underline",onClick:v=>v.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&ce.default.createElement("span",{style:{color:o.textMuted}},"trace unavailable")),ce.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?ce.default.createElement(VE,{trace:i,darkMode:t}):d>0?ce.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:o.trackBg}},ce.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:o.textMuted}},p," ",p===1?"span":"spans"),ce.default.createElement(Gu,{open:n,darkMode:t,size:12})))),n&&i&&ce.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:o.cardBg,borderColor:o.cardBorder}},ce.default.createElement(Yv,{trace:i,darkMode:t,compact:!0})))}function rl({agentId:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,ce.useState)([]),[o,i]=(0,ce.useState)(!0),[l,s]=(0,ce.useState)(null),[u,c]=(0,ce.useState)(null),[d,f]=(0,ce.useState)({}),{timeWindow:p}=Qo(),v=(0,ce.useCallback)(async()=>{try{let H=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!H.ok)throw new Error(`Request failed (${H.status})`);let D=await H.json();a(D.interactions||[]),s(null)}catch(H){s(H.message)}finally{i(!1)}},[p.minutes,e]);(0,ce.useEffect)(()=>{v();let H=setInterval(v,Wse);return()=>clearInterval(H)},[v]);let[y,h]=(0,ce.useState)("recent"),m=(0,ce.useMemo)(()=>{let H=[...new Set(n.map(D=>D.display_name).filter(Boolean))].sort();return Object.fromEntries(H.map((D,Y)=>[D,J7[Y%J7.length]]))},[n]),g=(0,ce.useMemo)(()=>{let H=n.reduce((Y,N)=>Y+(N.tokens?.total||0),0),D=new Set(n.map(Y=>Y.display_name).filter(Boolean));return{interactions:n.length,tokens:H,agents:D.size,avgTokens:n.length?Math.round(H/n.length):0}},[n]),x=(0,ce.useMemo)(()=>{if(n.length===0)return[];let H=Date.now(),D=p.bucketSeconds*1e3,Y=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),N=Object.keys(m);return Array.from({length:Y},(_,z)=>{let j=H-(Y-1-z)*D,P=j-D,B=n.filter(R=>{let F=new Date(R.last_activity_at).getTime();return F>=P&&F1440?new Date(j).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(j).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(N.map(R=>[R,B.filter(F=>F.display_name===R).length]))}})},[n,m,p]),b=Math.max(0,Math.ceil(x.length/6)-1),S=(0,ce.useCallback)(H=>{let D=[...H];switch(y){case"tokens":return D.sort((Y,N)=>(N.tokens?.total||0)-(Y.tokens?.total||0));case"messages":return D.sort((Y,N)=>(N.message_count||0)-(Y.message_count||0));default:return D.sort((Y,N)=>String(N.last_activity_at).localeCompare(String(Y.last_activity_at)))}},[y]),w=(0,ce.useMemo)(()=>{let H=new Map;n.forEach(Y=>{let N=Y.agent_name||Y.agent?.name||"Unattributed",_=Y.action_name,z=`${N}#${_||""}`;H.has(z)||H.set(z,{key:z,title:_?`${N} ${_.charAt(0).toUpperCase()}${_.slice(1)} Agent Interactions`:`${N} Interactions`,sessions:[],tokens:0,lastActivity:Y.last_activity_at});let j=H.get(z);j.sessions.push(Y),j.tokens+=Y.tokens?.total||0,Y.last_activity_at>j.lastActivity&&(j.lastActivity=Y.last_activity_at)});let D=[...H.values()].map(Y=>({...Y,sessions:S(Y.sessions)}));return y==="tokens"?D.sort((Y,N)=>N.tokens-Y.tokens):y==="messages"?D.sort((Y,N)=>N.sessions.length-Y.sessions.length):D.sort((Y,N)=>String(N.lastActivity).localeCompare(String(Y.lastActivity)))},[n,y,S]),O=async H=>{if(u===H){c(null);return}if(c(H),!d[H])try{let D=await fetch(`/api/interactions/${H}`);if(D.ok){let Y=await D.json();f(N=>({...N,[H]:Y.interaction}))}}catch{}},[k,A]=(0,ce.useState)({}),[M,W]=Uf(),L=Ir(r);return o?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:L.textPrimary}},"Interactions"),ce.default.createElement("p",{className:"text-sm mt-1",style:{color:L.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:L.textMuted}},"Sort"),Use.map(H=>ce.default.createElement("button",{key:H.id,onClick:()=>h(H.id),className:"px-2 py-1 text-xs rounded transition-colors",style:y===H.id?{background:r?"#2a2a2a":"#ffffff",color:L.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:L.textSecondary}},H.label))),ce.default.createElement(Jo,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:L.cardBg,borderColor:L.cardBorder}},ce.default.createElement("div",{className:"flex items-center justify-between mb-3"},ce.default.createElement("h3",{className:"text-sm font-semibold",style:{color:L.textPrimary}},"Interactions over time"),ce.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(m).map(([H,D])=>ce.default.createElement("span",{key:H,className:"flex items-center gap-1.5 text-xs",style:{color:L.textSecondary}},ce.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:D}}),H)))),ce.default.createElement("div",{className:"h-32"},ce.default.createElement(Bl,{width:"100%",height:"100%"},ce.default.createElement(vs,{data:x},ce.default.createElement("defs",null,Object.entries(m).map(([H,D])=>ce.default.createElement("linearGradient",{key:H,id:`ix-gradient-${H.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},ce.default.createElement("stop",{offset:"5%",stopColor:D,stopOpacity:.6}),ce.default.createElement("stop",{offset:"95%",stopColor:D,stopOpacity:.05})))),ce.default.createElement(qi,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),ce.default.createElement(Zi,{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:b}),ce.default.createElement(Ji,{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(ts,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${L.cardBorder}`,borderRadius:"8px"},labelStyle:{color:L.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(m).map(([H,D])=>ce.default.createElement(Gi,{key:H,type:"monotone",dataKey:H,stackId:"1",stroke:D,strokeWidth:2,fill:`url(#ix-gradient-${H.replace(/\W/g,"-")})`}))))),ce.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:L.cardBorder}},[{label:"Interactions",value:g.interactions.toLocaleString()},{label:"Agents",value:g.agents.toLocaleString()},{label:"Total tokens",value:tl(g.tokens)},{label:"Avg / interaction",value:tl(g.avgTokens)}].map(H=>ce.default.createElement("div",{key:H.label},ce.default.createElement("div",{className:"text-lg font-bold",style:{color:L.textPrimary}},H.value),ce.default.createElement("div",{className:"text-xs",style:{color:L.textSecondary}},H.label))))),n.length===0?ce.default.createElement("div",{className:"text-center py-12"},ce.default.createElement("div",{className:"text-lg",style:{color:L.textMuted}},"No interactions in the last ",p.label),ce.default.createElement("p",{className:"text-sm mt-2",style:{color:L.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):ce.default.createElement("div",{className:"space-y-8"},w.map(H=>ce.default.createElement("div",{key:H.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:L.textPrimary}},H.title),ce.default.createElement("span",{className:"text-xs",style:{color:L.textMuted}},H.sessions.length," ",H.sessions.length===1?"interaction":"interactions",H.tokens>0&&` \xB7 ${tl(H.tokens)} tokens`)),H.sessions.map(D=>{let Y=d[D.id],N=u===D.id,_=k[D.id]||"conversation";return ce.default.createElement(M1,{key:D.id,darkMode:r,className:"shadow-sm"},ce.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:()=>O(D.id),style:N?{background:L.hoverBg}:void 0},ce.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},D.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:L.textPrimary}},D.display_name),D.agent&&ce.default.createElement("span",{className:"text-sm truncate",style:{color:L.textSecondary}},D.agent.name),D.service_name&&ce.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:L.textMuted}},D.service_name)),ce.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:L.textSecondary}},ce.default.createElement("span",null,D.message_count>0?`${D.message_count} messages`:`${D.tool_count||0} tool ${D.tool_count===1?"call":"calls"}`),ce.default.createElement("span",null,tl(D.tokens?.total)," tokens"),(D.tokens?.total||0)>0&&ce.default.createElement(ys,{compact:!0,darkMode:r,label:"Context",used:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total,limit:Fv(D.model),segments:[{key:"messages",label:"Context",tokens:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total}]}),ce.default.createElement("span",{style:{color:L.textMuted}},Hse(D.last_activity_at)),ce.default.createElement(Gu,{open:N,darkMode:r}))),!N&&ce.default.createElement($f,{darkMode:r,onClick:()=>O(D.id),style:{padding:"0 16px 12px"},lines:[{label:"input",text:D.preview?.input,color:gr("user",r).color},{label:"output",text:D.preview?.output,color:gr("assistant",r).color}]}),N&&ce.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:L.cardBorder,background:L.innerBg}},Y?ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},ce.default.createElement(qv,{options:Fse,value:_,onChange:z=>A(j=>({...j,[D.id]:z})),darkMode:r}),ce.default.createElement("span",{className:"text-xs",style:{color:L.textSecondary}},Y.messages.length," ",Y.messages.length===1?"message":"messages",Y.generations.length>0&&` \xB7 ${Y.generations.length} ${Y.generations.length===1?"generation":"generations"}`)),_==="conversation"&&ce.default.createElement(ce.default.Fragment,null,Y.messages.length===0&&ce.default.createElement("div",{className:"text-sm",style:{color:L.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(so,{darkMode:r,messages:Y.instructions?[{id:`ctx-${D.id}-system`,role:"system",content:Y.instructions,created_at:D.created_at},...Y.messages]:Y.messages}),(()=>{let z=$se(Y);return z?ce.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:L.cardBorder}},ce.default.createElement(ys,{...z,label:"Context pressure",estimated:!0,darkMode:r})):null})()),_==="spans"&&(Y.generations.length===0?ce.default.createElement("div",{className:"text-sm",style:{color:L.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):ce.default.createElement("div",{className:"space-y-2"},Y.generations.map(z=>ce.default.createElement(Vse,{key:z.id,generation:z,darkMode:r,maxMs:Math.max(...Y.generations.map(j=>(j.duration_seconds||0)*1e3),1),expanded:M(`${D.id}:${z.id}`),onToggle:()=>W(`${D.id}:${z.id}`)}))))):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=te(ne());function e$(e,t){let r=i=>{let l=Object.values(t[i]||{})[0];if(!l)return null;let s=l.scenario||l;return{key:i,prompt:s.prompt,group:s.group??null,notes:s.notes??null,expectations:s.expectations||{},position:s.position}},n=new Set(e.map(i=>i.key)),a=e.map(i=>{let l=r(i.key);if(!l)return i;let s=["prompt","group","notes","expectations"].some(u=>JSON.stringify(i[u]??null)!==JSON.stringify(l[u]??null));return{...i,...l,catalogChanged:s}}),o=Object.keys(t).filter(i=>!n.has(i)).map(i=>({...r(i),id:null,enabled:!1,orphan:!0}));return[...a,...o]}var R7=e=>/^[1-9]\d*$/.test(e||"")?e:null;function I1(e){let t=new URLSearchParams(e),r=R7(t.get("evaluation"));return r?{evaluationId:r,runId:R7(t.get("run"))}:null}async function t$(e,t,r){if(!t||e.some(o=>String(o.id)===String(t)))return e;let n=await r(`/api/evaluations/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`Requested evaluation is unavailable (HTTP ${n.status})`);let a=await n.json();if(!a.evaluation)throw new Error("Requested evaluation is unavailable");return[a.evaluation,...e]}var Pe=te(ne());var Gt=te(ne());var ye="var(--font-mono)",Qu=e=>e>=1?"success":e>=.7?"warning":"error",nl={success:{strong:"var(--color-success)",soft:"var(--color-success-soft)",text:"var(--color-success-text)"},warning:{strong:"var(--color-warning)",soft:"var(--color-warning-soft)",text:"var(--color-warning-text)"},error:{strong:"var(--color-error)",soft:"var(--color-error-soft)",text:"var(--color-error-text)"},info:{strong:"var(--color-info)",soft:"var(--color-info-soft)",text:"var(--color-info-text)"},muted:{strong:"var(--color-text-muted)",soft:"var(--color-muted)",text:"var(--color-text-secondary)"},accent:{strong:"var(--color-accent-ui)",soft:"var(--color-accent-ui-tint)",text:"var(--color-accent-ui)"}},KE={object:"=",sample:"~",pass:Ut.success,fault:Ut.error,info:Ut.info,on:"[x]",off:"[ ]",link:Ut.arrow,chevron:Ut.chevronRight};function Ju({kind:e="pass",open:t=!1,color:r,size:n=12,weight:a=700,style:o,title:i}){return e==="chevron"?Gt.default.createElement("span",{className:"aa-chevron","data-open":t?"true":"false",title:i,style:{fontFamily:ye,fontSize:n,color:r||"var(--color-text-muted)",flexShrink:0,...o}},KE.chevron):Gt.default.createElement("span",{title:i,style:{fontFamily:ye,fontSize:n,fontWeight:a,color:r||(e==="fault"?"var(--color-error)":e==="info"?"var(--color-info)":e==="pass"?"var(--color-success)":"var(--color-text-muted)"),flexShrink:0,...o}},KE[e]||e)}function or({tone:e="muted",size:t=11,children:r,title:n,style:a,testId:o}){let i=nl[e]||nl.muted;return Gt.default.createElement("span",{"data-testid":o,title:n,style:{display:"inline-flex",alignItems:"center",padding:"2px 7px",borderRadius:4,fontFamily:ye,fontSize:t,fontWeight:600,whiteSpace:"nowrap",background:i.soft,color:i.text,...a}},r)}function rt({children:e,size:t=11,color:r="var(--color-text-secondary)",spacing:n="0.06em",style:a,as:o="span"}){return Gt.default.createElement(o,{style:{fontFamily:ye,fontSize:t,fontWeight:600,letterSpacing:n,textTransform:"uppercase",color:r,...a}},e)}function al({selected:e=!1,onClick:t,children:r,square:n=!1,mono:a=!1,title:o,style:i,testId:l}){return Gt.default.createElement("button",{type:"button","data-testid":l,onClick:t,title:o,style:{padding:"4px 10px",borderRadius:n?6:999,cursor:t?"pointer":"default",fontFamily:a?ye:"inherit",fontSize:a?11:12,fontWeight:a?400:500,background:e?"var(--color-accent-ui-tint)":"var(--color-card)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border)"}`,color:e?"var(--color-accent-ui)":a?"var(--color-text-muted)":"var(--color-text-cell)",...i}},r)}function j1({options:e,value:t,onChange:r,style:n}){return Gt.default.createElement("div",{style:{display:"flex",gap:4,...n},role:"group"},e.map(a=>{let o=a.value===t;return Gt.default.createElement("button",{key:a.value,type:"button",onClick:()=>r(a.value),"aria-pressed":o,style:{padding:"6px 12px",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:500,background:"var(--color-card)",border:`1px solid ${o?"var(--color-accent-ui)":"var(--color-border)"}`,color:o?"var(--color-accent-ui)":"var(--color-text-cell)"}},a.label)}))}function zr({variant:e="secondary",size:t="md",children:r,onClick:n,disabled:a=!1,title:o,type:i="button",style:l,testId:s}){let c={padding:t==="sm"?"6px 12px":"8px 14px",borderRadius:8,cursor:a?"not-allowed":"pointer",fontSize:13,fontWeight:500,opacity:a?.5:1,whiteSpace:"nowrap",fontFamily:"inherit"},d={primary:{background:"var(--color-accent-ui)",color:"var(--color-on-accent)",border:"1px solid transparent"},secondary:{background:"transparent",color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)"},danger:{background:"transparent",color:"var(--color-error)",border:"1px solid transparent"},ghost:{background:"transparent",color:"var(--color-text-secondary)",border:"1px solid transparent"}};return Gt.default.createElement("button",{type:i,"data-testid":s,onClick:n,disabled:a,title:o,style:{...c,...d[e]||d.secondary,...l}},r)}function yr({children:e,padding:t=20,style:r,className:n,testId:a,...o}){return Gt.default.createElement("div",{"data-testid":a,className:n,style:{background:"var(--color-card)",border:"1px solid var(--color-border)",borderRadius:12,padding:t,...r},...o},e)}function Xv({label:e,value:t,sub:r,valueColor:n,valueSize:a=32,testId:o}){return Gt.default.createElement(yr,{testId:o},Gt.default.createElement(rt,{size:11,spacing:"0.05em"},e),Gt.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:a,fontWeight:700,lineHeight:1.1,color:n||"var(--color-text-primary)"}},t),r!=null&&Gt.default.createElement("div",{style:{marginTop:8,fontSize:13,color:"var(--color-text-secondary)"}},r))}function qE({title:e,meta:t,children:r,style:n,testId:a,bodyStyle:o}){return Gt.default.createElement("div",{"data-testid":a,style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0,...n}},(e||t)&&Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--color-muted)"}},e&&Gt.default.createElement(rt,null,e),t&&Gt.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t)),Gt.default.createElement("div",{style:o},r))}function r$({passed:e,total:t,label:r,labelWidth:n=128,width:a,height:o=6,color:i,valueWidth:l=38,style:s}){let u=t?e/t:0,c=i||nl[Qu(u)].strong;return Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,...s}},r!=null&&Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)",width:n,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r},r),Gt.default.createElement("span",{style:{flex:a?void 0:1,width:a,height:o,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0}},Gt.default.createElement("span",{style:{display:"block",width:`${Math.round(u*100)}%`,height:"100%",borderRadius:999,background:c}})),Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,width:l,textAlign:"right",color:c}},e,"/",t))}function Ff({children:e,onClick:t,href:r="#",color:n="var(--color-info)",size:a=11,style:o,title:i}){return Gt.default.createElement("a",{href:r,title:i,onClick:l=>{t&&(l.preventDefault(),t(l))},style:{fontFamily:ye,fontSize:a,color:n,textDecoration:"none",...o}},e," ",KE.link)}function aa({children:e,style:t}){return Gt.default.createElement("div",{style:{padding:"20px 12px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)",textAlign:"center",...t}},e)}var hr=e=>{let t=Number(e)||0;return Math.abs(t)>=1e6?`${(t/1e6).toFixed(1)}M`:Math.abs(t)>=1e3?`${(t/1e3).toFixed(1)}K`:`${Math.round(t)}`},YE=e=>e==null?"\u2014":hr(e),Qr=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(t>=1e4?1:2).replace(/\.?0+$/,"")}s`:`${Math.round(t)}ms`},Zv=e=>{if(e==null)return"\u2014";let t=Number(e);return t===0?"$0.00":Math.abs(t)<.01?`$${t.toFixed(4)}`:`$${t.toFixed(2)}`},uo=(e,t=4)=>e==null?"\u2014":`$${Number(e).toFixed(t)}`,n$=(e,t=0)=>`${(Number(e||0)*100).toFixed(t)}%`,Ru=e=>e==null?"\u2014":Number(e).toFixed(2),Wf=(e,t="%",r=0)=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let n=Number(e);return`${n>0?"+":n<0?"-":""}${Math.abs(n).toFixed(r)}${t}`},Hf=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t} min ago`;if(t<1440){let n=Math.floor(t/60);return`${n} hour${n===1?"":"s"} ago`}let r=Math.floor(t/1440);return`${r} day${r===1?"":"s"} ago`},z1=(e,t=null)=>{let r=String(e||""),n=r.lastIndexOf("/");return n>0?{short:r.slice(n+1),provider:r.slice(0,n)}:{short:r,provider:t||""}};var se=te(ne());var xs=e=>[...new Set(e)],Xt=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Qv=e=>String(e||"").replace(/_/g," "),bs=e=>e?.status==="passed",ec=e=>!!e&&e.status!=="pending",ws=e=>!!e&&["pending","running"].includes(e.status),B1=e=>e?.selection||e?.scores?._selection||{},Kse=e=>(B1(e).models||[]).map(t=>typeof t=="string"?t:t?.label).filter(Boolean);function L1(e,t=[],r=null){if(Array.isArray(e?.models)&&e.models.length)return e.models;let n=Object.keys(e?.scores?._models||{});if(n.length)return n;let a=Kse(e);if(a.length)return a;let o=xs(t.map(l=>Rv(e,l)));if(o.length)return o;let i=r?.compare_models||[];return i.length?i:e?["agent's model"]:[]}function Rv(e,t){let n=(B1(e).models||[]).filter(i=>i&&typeof i=="object").find(i=>i.model===t.model&&(i.provider||"")===(t.provider||""));if(n?.label)return n.label;let a=e?.scores?._models||{};if(a[t.model])return t.model;let o=[t.provider,t.model].filter(Boolean).join("/");return a[o]?o:t.model}function XE(e,t){let r=e?.scores?._models?.[t],n=(B1(e).models||[]).find(a=>a&&typeof a=="object"&&a.label===t);return z1(t,r?.provider||n?.provider||"")}function ZE(e,t=[]){let r=B1(e);if(Array.isArray(r.scenario_keys)&&r.scenario_keys.length)return r.scenario_keys;if(!e)return[];if(Array.isArray(r.keys)&&r.keys.length)return r.keys;if(Array.isArray(r.scenario_ids)&&r.scenario_ids.length){let a=r.scenario_ids.map(String);return t.filter(o=>a.includes(String(o.id))).map(o=>o.key)}let n=t.filter(a=>a.enabled!==!1);return r.group?n.filter(a=>a.group===r.group).map(a=>a.key):ws(e)?n.map(a=>a.key):[]}function Jv(e,t=[],r=[]){let n=ZE(e,r);if(n.length)return n.length;let a=Object.values(e?.scores?._models||{});return a.length?Math.max(...a.map(o=>o.scenarios||0)):e?.samples_evaluated&&t.length?Math.round(e.samples_evaluated/t.length):0}function a$(e,t,r=[],n=0){let a=e?.scores?._models?.[t];if(a&&a.scenarios!=null)return{passed:a.passed||0,total:a.scenarios||0};let o=r.filter(i=>Rv(e,i)===t);return{passed:o.filter(bs).length,total:n||o.length}}function QE(e,t=[],r=[],n=[]){if(e?.status==="complete"&&e.samples_evaluated!=null)return{passed:e.samples_passed||0,total:e.samples_evaluated||0};let a=Jv(e,r,n)*Math.max(r.length,1);return{passed:t.filter(bs).length,total:a}}function o$(e,t=[]){let r=[],n={};return(Array.isArray(e)?e:[]).forEach(a=>{let o=typeof a=="string"?a:String(a?.name||"");o&&(n[o]||(n[o]={name:o,count:0,errored:!1},r.push(o)),n[o].count+=1,a&&typeof a=="object"&&a.error&&(n[o].errored=!0))}),r.map(a=>{let o=n[a],i=t.includes(a);return{...o,hit:i,label:`${a}${o.errored?" \u2717":""}${o.count>1?` \xD7${o.count}`:""}`,color:o.errored?"var(--color-error)":i?"var(--color-success-text)":"var(--color-text-muted)",weight:o.errored||i?600:400}})}var qse=(e,t)=>{let r=String(e||"").trim();return r.length>t?`${r.slice(0,t-1)}\u2026`:r},GE=e=>e?.diagnosis?.judge?.instruction_change;function i$(e,t=[]){let r=e?.scores?._recommendations||[];if(Array.isArray(e?.fix_items)){let o=r.length>0||t.some(GE);if(e.fix_items.length>0||!o)return e.fix_items}let n=r.map(o=>Yse(o,t)),a=new Set;return t.forEach(o=>{let i=GE(o);if(!i||a.has(i))return;a.add(i);let l=t.filter(s=>GE(s)===i);n.push({kind:"instruction",fault:"instruction change",count:l.length,scenario_keys:xs(l.map(s=>s.scenario_key)),models:xs(l.map(s=>Rv(e,s))),recommendation:o.diagnosis.judge.recommendation||o.recommendation||"",quote:i,tools_label:null,tools:[],server:null,note:null,action:{label:"Add to instructions",hint:"Agent -> Instructions",path:null}})}),n}function Yse(e,t){let r=e.fault,n=t.filter(u=>u.fault===r),a=(e.suggested_tools||[]).map(u=>typeof u=="string"?u:u?.name).filter(Boolean),o=null,i=[],l=null,s=null;if(r==="expected_tool_not_called"){o="missing tools";let u=xs(n.flatMap(d=>d.diagnosis?.evidence?.unavailable||[]));u.length||(u=xs(n.flatMap(d=>{let f=d.diagnosis?.evidence||{};return(f.expected||[]).filter(p=>!(f.called||[]).includes(p))}))),i=u.map(d=>({name:d,note:null,server:null}));let c=n.filter(d=>d.diagnosis?.summary&&(d.diagnosis?.evidence?.unavailable||[]).length===0);c.length&&c.length`${d.scenario_key} is the exception: ${d.diagnosis.summary} ${d.diagnosis.recommendation||""}`.trim()).join(" "))}else if(r==="tool_error"){o="failing tools";let u={};n.forEach(c=>(c.tool_calls||[]).forEach(d=>{!d||typeof d!="object"||!d.error||!d.name||u[d.name]||(u[d.name]={name:d.name,note:qse(d.detail,60)||null,server:null})})),i=Object.values(u),s={label:"Open failing tools",hint:"Tools ->",path:"/tools"}}else o=a.length?"suggested tools":null,i=xs(a).map(u=>({name:u,note:null,server:null}));return!s&&o==="suggested tools"&&i.length&&(s={label:"Open suggested tools",hint:"Tools ->",path:"/tools"}),{kind:"fault",fault:r,count:e.count||n.length,scenario_keys:e.scenario_keys||xs(n.map(u=>u.scenario_key)),models:e.models||[],recommendation:e.recommendation||"",quote:null,tools_label:o,tools:i,server:null,note:l,action:s}}var un=(e,t="var(--color-text-muted)",r={})=>({fontFamily:ye,fontSize:e,color:t,...r});function l$({calls:e,empty:t,style:r}){return se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"2px 8px",fontFamily:ye,fontSize:11,...r}},e.map(n=>se.default.createElement("span",{key:n.name,style:{color:n.color,fontWeight:n.weight}},n.label)),e.length===0&&se.default.createElement("span",{style:{color:"var(--color-text-muted)"}},t))}var Gse=20,$1=(e=[],t=null)=>Number.isFinite(t)?Math.max(t,e.length):e.length,Xse=(e=[],t=null)=>{let r=$1(e,t),n=e.length=Gse;return`${Xt(r,"run")}${n?` \xB7 latest ${e.length}`:""}`};function s$({runs:e,runCount:t=null,selectedId:r,onSelect:n,agentName:a,selectedResults:o=[],scenarios:i=[]}){let l=$1(e,t),s=c=>l-c,u=e.map((c,d)=>{let f=L1(c,c.id===r?o:[]),p=c.id===r?o:[],v=Jv(c,f,i),y=QE(c,p,f,i),h=c.selection||c.scores?._selection||{},m="first run",g="var(--color-text-muted)";if(c.status==="failed")m="failed",g="var(--color-error)";else if(ws(c))m=c.status==="pending"?"queued":"running";else{let x=e.findIndex((S,w)=>w>d&&S.status==="complete"),b=x>=0?e[x]:null;if(b){let S=L1(b);if(Jv(b,S,i)===v&&S.length===f.length){let O=y.passed-(b.samples_passed||0);m=`${O>0?"+":""}${O} passed vs #${s(x)}`,g=O>0?"var(--color-success)":O<0?"var(--color-error)":"var(--color-text-muted)"}else m="partial run"}}return{run:c,label:`#${s(d)}`,when:Hf(c.completed_at||c.created_at),delta:m,deltaColor:g,note:`${a} \xB7 ${Xt(v,"scenario")} \xD7 ${Xt(f.length,"model")}${h.group?` \xB7 ${h.group}`:""}`,bars:f.map(x=>({label:x,...a$(c,x,p,v)})),selected:c.id===r}});return se.default.createElement(qE,{title:"Runs",meta:Xse(e,t),testId:"suite-runs-panel"},u.length===0&&se.default.createElement(aa,null,"[ ] no runs yet"),u.map(c=>se.default.createElement("div",{key:c.run.id,onClick:()=>n(c.run.id),className:c.selected?void 0:"hover:bg-[var(--color-hover)]","data-selected":c.selected?"true":"false",style:{padding:"10px 12px 10px 10px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:c.selected?"var(--color-muted)":void 0,borderLeft:`2px solid ${c.selected?"var(--color-accent-ui)":"transparent"}`}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},c.label),se.default.createElement("span",{style:{fontSize:11,color:"var(--color-text-muted)"}},c.when),se.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:c.deltaColor}},c.delta)),se.default.createElement("div",{style:{...un(11),marginTop:2,textWrap:"pretty"}},c.note),c.bars.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8}},c.bars.map(d=>se.default.createElement(r$,{key:d.label,label:z1(d.label).short,passed:d.passed,total:d.total}))))))}function u$({run:e,columns:t,results:r=[],scenarioCount:n=0,judgedBy:a,verdict:o}){let i=e?.scores?._models||{};return se.default.createElement(qE,{title:"Models",meta:a?`judged by ${a}`:null,testId:"suite-models-panel"},t.length===0&&se.default.createElement(aa,null,"[ ] no models scored yet"),t.map(l=>{let{short:s,provider:u}=XE(e,l),c=i[l],{passed:d,total:f}=a$(e,l,r,n),p=f?d/f:0,v=nl[Qu(p)].strong,y=Object.entries(c?.faults||{}),h=o?.winner===l;return se.default.createElement("div",{key:l,style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:l},s),u&&se.default.createElement("span",{style:un(11)},u),h&&se.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"},testId:"judges-pick"},"judge's pick"),se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10}},se.default.createElement("span",{style:{width:120,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},se.default.createElement("span",{style:{display:"block",width:`${Math.round(p*100)}%`,height:"100%",borderRadius:999,background:v}})),se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:v}},`${d}/${f}`))),se.default.createElement("div",{style:{display:"flex",gap:14,flexWrap:"wrap",fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)"}},se.default.createElement("span",null,"score ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},c?.avg_score!=null?Number(c.avg_score).toFixed(3):"\u2014")),se.default.createElement("span",null,"latency ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},Qr(c?.avg_duration_ms))),se.default.createElement("span",{style:{whiteSpace:"nowrap"}},se.default.createElement("span",{style:{color:"var(--color-token-in)"}},"in")," ",YE(c?.input_tokens)," \xB7 ",se.default.createElement("span",{style:{color:"var(--color-token-out)"}},"out")," ",YE(c?.output_tokens)),se.default.createElement("span",null,"cost ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},uo(c?.cost)))),se.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap"}},y.map(([m,g])=>se.default.createElement(or,{key:m,tone:"error"},`${Qv(m)} \xD7${g}`)),c&&y.length===0&&se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-success-text)"}},"[+] no faults"),!c&&ws(e)&&se.default.createElement("span",{style:un(11)},"scoring\u2026")))}),o?.rationale&&se.default.createElement("div",{style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),o.rationale))}function c$({items:e,columns:t=[],agentName:r,onNavigate:n,onOpenScenario:a}){let o=i=>{let l=Xt((i.scenario_keys||[]).length,"scenario");if(i.kind==="instruction")return`${(i.scenario_keys||[]).join(", ")} \xB7 judge suggestion`;let s=xs(i.models||[]);if(t.length<=1||s.length===0)return l;let c=s.length>=t.length?t.length===2?"both models":"all models":s.map(d=>z1(d).short).join(", ");return`${l} \xB7 ${c}`};return se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},e.map((i,l)=>{let s=i.kind==="instruction",u=s?"info":"error",c=[],d=new Set;(i.tools||[]).forEach(y=>{let h=typeof y=="string"?y:y?.name;!h||d.has(h)||(d.add(h),c.push({name:h,note:typeof y=="object"&&(y.note||y.server?.name)||null}))});let f=i.server,p=f?.status==="enabled",v=r||"the agent";return se.default.createElement("div",{key:`${i.fault}-${l}`,"data-testid":"scenario-recommendation",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},se.default.createElement(Ju,{kind:s?"info":"fault"}),se.default.createElement(or,{tone:u},`${Qv(i.fault)}${i.count>1?` \xD7${i.count}`:""}`),a&&(i.scenario_keys||[]).length>0?se.default.createElement("button",{type:"button",onClick:()=>a(i.scenario_keys),title:`Show ${(i.scenario_keys||[]).join(", ")} \u2014 the question, the answer and the tools it called`,style:{...un(11),background:"none",border:0,padding:0,cursor:"pointer",color:"var(--color-text-link, var(--color-text-primary))",textDecoration:"underline",textUnderlineOffset:2}},o(i)):se.default.createElement("span",{style:un(11)},o(i))),i.recommendation&&se.default.createElement("p",{style:{margin:0,fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},i.recommendation),i.quote&&se.default.createElement("div",{style:{background:"var(--color-muted)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",fontStyle:"italic"}},"\u201C",i.quote,"\u201D"),c.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},i.tools_label||"tools"),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:6}},c.map(y=>se.default.createElement("span",{key:y.name,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,maxWidth:"100%"}},se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},y.name),y.note&&se.default.createElement("span",{style:{color:"var(--color-text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:y.note},y.note))))),f&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",fontSize:12,color:"var(--color-text-cell)"}},se.default.createElement("span",null,"served by"),se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},f.name||f.key),se.default.createElement(or,{tone:p?"success":"warning",size:10,style:{padding:"1px 6px"}},p?`enabled for ${v}`:`${f.status||"unknown"} \xB7 not enabled for ${v}`)),i.note&&se.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-secondary)",textWrap:"pretty"}},i.note),i.action&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto",paddingTop:2,flexWrap:"wrap"}},i.action.path&&se.default.createElement(zr,{size:"sm",onClick:()=>n?.(i.action.path)},i.action.label),i.action.hint&&se.default.createElement("span",{style:{...un(11),whiteSpace:"nowrap"}},i.action.hint)))}))}var Zse=e=>`minmax(240px, 1.6fr) 150px ${e.map(()=>"minmax(170px, 1fr)").join(" ")}`;function Qse({result:e,expects:t,pending:r}){if(!e)return se.default.createElement("span",{style:{...un(12),fontWeight:600}},r?"\u2026":"\u2014");if(!ec(e))return se.default.createElement("span",{style:{...un(12),fontWeight:600}},"\u2026");let n=bs(e),a=n?"var(--color-success)":"var(--color-error)",o=o$(e.tool_calls,t);return se.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap",fontFamily:ye,fontSize:12}},se.default.createElement("span",{style:{fontWeight:700,color:a}},n?"[+]":"[!]"),se.default.createElement("span",{style:{fontWeight:600,color:a}},Ru(e.score)),e.fault&&se.default.createElement("span",{style:{fontSize:11,color:"var(--color-error-text)"}},Qv(e.fault))),se.default.createElement(l$,{calls:o,empty:"no tools called"}))}function d$({rows:e,columns:t,run:r,resultsByKey:n,runKeys:a,running:o,openKey:i,onToggleRow:l,emptyLabel:s,renderDetail:u}){let c=Zse(t),d=e.some(p=>p.group),f=[];return e.forEach(p=>{let v=p.group||"",y=f.find(h=>h.name===v);y||(y={name:v,rows:[]},f.push(y)),y.rows.push(p)}),se.default.createElement("div",{style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflowX:"auto"}},se.default.createElement("div",{style:{minWidth:Math.max(760,400+180*t.length)}},se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"8px 12px",background:"var(--color-muted)",alignItems:"end"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Scenario"),se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Expects"),t.map(p=>{let{short:v,provider:y}=XE(r,p);return se.default.createElement("span",{key:p,style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},title:p},se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},v),se.default.createElement("span",{style:un(10)},y||"\xA0"))})),f.map(p=>{let v=p.rows.filter(h=>a.has(h.key)||n[h.key]),y=t.map(h=>{let g=v.filter(S=>ec(n[S.key]?.[h])).filter(S=>bs(n[S.key][h])).length,x=v.length,b=x&&g===x?"var(--color-success-text)":g===0?"var(--color-error-text)":"var(--color-text-cell)";return{label:h,text:x?`${g}/${x} passed`:"\u2014",color:b}});return se.default.createElement("div",{key:p.name||"__ungrouped"},(p.name||d)&&se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"7px 12px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",alignItems:"center"}},se.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},p.name||"ungrouped"),se.default.createElement("span",{style:un(11)},Xt(p.rows.length,"scenario")),y.map(h=>se.default.createElement("span",{key:h.label,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:h.color}},h.text))),p.rows.map(h=>{let m=i===h.key,g=h.expectations?.tools||[],x=a.has(h.key)||!!n[h.key],b=h.enabled===!1;return se.default.createElement("div",{key:h.key},se.default.createElement("div",{"data-testid":"scenario-row","data-scenario-key":h.key,onClick:()=>l(h.key),className:m?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:m?"var(--color-muted)":void 0,opacity:b?.5:1}},se.default.createElement("div",{style:{minWidth:0}},se.default.createElement("div",{style:{...un(11),marginBottom:2}},`${h.key}${b?" \xB7 disabled":""}`),se.default.createElement("div",{style:{fontSize:13,lineHeight:"18px",color:"var(--color-text-primary)",textWrap:"pretty"}},h.prompt)),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignContent:"flex-start",minWidth:0}},g.map(S=>se.default.createElement("span",{key:S,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"}},S)),g.length===0&&(h.expectations?.contains||[]).map(S=>se.default.createElement("span",{key:`contains-${S}`,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:"the answer must contain this"},`contains: ${S}`))),t.map(S=>se.default.createElement(Qse,{key:S,result:n[h.key]?.[S],expects:g,pending:o&&x}))),m&&u(h))}))}),e.length===0&&se.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)"}},s||"[+] nothing failed in this group")))}function Jse(e){let t=[];return e.duration_ms!=null&&t.push(Qr(e.duration_ms)),(e.input_tokens!=null||e.output_tokens!=null)&&t.push(`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`),e.cost!=null&&t.push(uo(e.cost)),t.join(" \xB7 ")}function Rse({label:e,run:t,result:r,expects:n,running:a}){let{short:o}=XE(t,e),i=se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:e},o),l=(m,g)=>se.default.createElement("div",{"data-testid":"scenario-result-detail",style:{background:"var(--color-card)",border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},i,g),se.default.createElement("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:10}},m));if(!r||!ec(r))return l(se.default.createElement("span",{style:un(11)},a?"waiting for this replay\u2026":"not part of this run"),se.default.createElement(or,{tone:"muted"},a?"pending":"no result"));let u=bs(r)?"success":"error",c=o$(r.tool_calls,n),d=r.diagnosis||{},f=d.judge||{},p=r.fault||(r.status==="errored"?"run_error":null),v=[d.summary,d.recommendation||r.recommendation].filter(Boolean).join(" ")||r.error_message||"",y=Object.entries(r.scores||{}),h=Jse(r);return l(se.default.createElement(se.default.Fragment,null,se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap",fontFamily:ye,fontSize:11}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"tools"),se.default.createElement(l$,{calls:c,empty:"none called",style:{display:"contents"}})),p&&se.default.createElement("div",{style:{background:"var(--color-error-soft)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-error-text)",textWrap:"pretty"}},se.default.createElement("span",{style:{fontFamily:ye,fontWeight:700}},`[!] ${Qv(p)}`),v?` \u2014 ${v}`:"",f.suggested_tool?.name&&se.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:11}},`suggested tool: ${f.suggested_tool.name}${f.suggested_tool.description?` \u2014 ${f.suggested_tool.description}`:""}`),f.instruction_change&&se.default.createElement("div",{style:{marginTop:4,fontStyle:"italic"}},`instruction change: \u201C${f.instruction_change}\u201D`)),r.output?se.default.createElement("div",{style:{fontFamily:"var(--font-text)",fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",maxHeight:190,overflow:"auto",whiteSpace:"pre-wrap",textWrap:"pretty"}},r.output):se.default.createElement("div",{style:un(11)},"answer not retained for this run"),y.length>0&&se.default.createElement("div",{style:{...un(11),display:"flex",flexWrap:"wrap",gap:"2px 10px"},title:"score per criterion"},y.map(([m,g])=>se.default.createElement("span",{key:m},Qv(m)," ",se.default.createElement("span",{style:{color:"var(--color-text-secondary)"}},g==null?"skipped":Ru(g)))))),se.default.createElement(se.default.Fragment,null,se.default.createElement(or,{tone:u},r.score==null?r.status:`${r.status} \xB7 ${Ru(r.score)}`),h&&se.default.createElement("span",{style:{marginLeft:"auto",...un(11)}},h)))}function f$({scenario:e,run:t,columns:r,resultsByKey:n,running:a,inRun:o=!0,onRerun:i,onToggleEnabled:l,canMutate:s=!0}){let u=e.expectations?.tools||[],c=n[e.key]||{},d=r.some(p=>c[p]),f=o||d;return se.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"12px 12px 14px"},"data-testid":"scenario-drilldown"},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10,flexWrap:"wrap"}},se.default.createElement("span",{style:un(11)},e.key),se.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-cell)"}},"expects"),se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},u.join(" or ")||"\u2014"),s&&se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14}},se.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),l?.(e)},title:e.enabled===!1?"Enable this scenario":"Disable this scenario",style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:ye,fontSize:11,color:e.enabled===!1?"var(--color-text-muted)":"var(--color-text-cell)"}},e.enabled===!1?"[ ] enabled":"[x] enabled"),se.default.createElement(Ff,{onClick:()=>i?.(e),title:"Run only this scenario under the selected models"},"re-run scenario"))),e.notes&&se.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-secondary)",marginBottom:10}},e.notes),e.catalogChanged&&se.default.createElement("div",{style:{fontSize:12,color:"var(--color-text-secondary)",marginBottom:10}},"This run used an earlier version of this question. Re-running uses the current catalog."),t?f?se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12}},r.map(p=>se.default.createElement(Rse,{key:p,label:p,run:t,result:c[p],expects:u,running:a}))):se.default.createElement("div",{style:un(11)},"Not part of this run \u2014 use \u201Cre-run scenario\u201D to replay it."):se.default.createElement("div",{style:un(11)},"No runs yet \u2014 use \u201Cre-run scenario\u201D to replay this one on its own."))}var JE=()=>document.querySelector('meta[name="csrf-token"]')?.content;function eue(e){let t=[],r=null;return e.forEach(n=>{(n.group||"")!==(r||"")&&(r=n.group,r&&t.push(`# ${r}`));let a=[],o=n.expectations||{};o.tools?.length&&a.push(`tools: ${o.tools.join(", ")}`),o.contains?.length&&a.push(`contains: ${o.contains.join(", ")}`),o.not_contains?.length&&a.push(`not_contains: ${o.not_contains.join(", ")}`),n.notes&&a.push(`notes: ${n.notes}`),a.push(`key: ${n.key}`),t.push(`${n.prompt} | ${a.join(" | ")}`)}),t.join(` -`)}var tue=e=>{let{results:t,fix_items:r,...n}=e;return n},rue=e=>{if(!e)return null;let t=[uo(e.cost),`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`];return e.model_time_ms!=null&&t.push(`model time ${Qr(e.model_time_ms)}`),e.runtime_ms!=null&&t.push(`finished in ${Qr(e.runtime_ms)}`),t.join(" \xB7 ")},p$={padding:"6px 10px",borderRadius:8,fontSize:12,fontFamily:ye,background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function RE({evaluation:e,onChanged:t,onDelete:r,deleting:n=!1}){let a=e.id,o=e.agent?.name||"Agent",[i,l]=(0,Pe.useState)(!1),[s,u]=(0,Pe.useState)(null),[c,d]=(0,Pe.useState)([]),[f,p]=(0,Pe.useState)(e.scenario_groups||[]),[v,y]=(0,Pe.useState)(e.latest_run?[e.latest_run]:[]),[h,m]=(0,Pe.useState)(null),[g,x]=(0,Pe.useState)(e.latest_run?.id??null),[b,S]=(0,Pe.useState)({}),[w,O]=(0,Pe.useState)((e.compare_models||[]).join(", ")),[k,A]=(0,Pe.useState)(null),[M,W]=(0,Pe.useState)(!1),[L,H]=(0,Pe.useState)(!1),[D,Y]=(0,Pe.useState)(""),[N,_]=(0,Pe.useState)(null),[z,j]=(0,Pe.useState)(null),[P,B]=(0,Pe.useState)(!1),[R,F]=(0,Pe.useState)(null),[G,ee]=(0,Pe.useState)(0),fe=(0,Pe.useCallback)(async()=>{let xe=await fetch(`/api/evaluations/${a}/scenarios`);if(!xe.ok)return;let ut=await xe.json();d(ut.scenarios||[]),p(ut.groups||[])},[a]),de=(0,Pe.useCallback)(async()=>{try{let xe=await fetch(`/api/evaluations/${a}`);if(!xe.ok)return u(`Could not load this suite (HTTP ${xe.status})`),null;let Zt=(await xe.json()).evaluation||{};return d(Zt.scenarios||[]),p(Zt.scenario_groups||[]),y(Zt.runs||[]),m(Number.isFinite(Zt.run_count)?Zt.run_count:null),u(null),Zt}catch(xe){return u(`Could not load this suite: ${xe.message}`),null}finally{l(!0)}},[a]),De=(0,Pe.useCallback)(async xe=>{if(!xe)return null;let ut=await fetch(`/api/evaluations/${a}/runs/${xe}`);if(!ut.ok)return null;let pr=(await ut.json()).run;return pr?(S(hn=>({...hn,[pr.id]:pr})),y(hn=>hn.map(Ns=>Ns.id===pr.id?{...Ns,...tue(pr)}:Ns)),pr):null},[a]);(0,Pe.useEffect)(()=>{let xe=!1;return(async()=>{let ut=await de();if(xe)return;let Zt=ut?.runs?.[0]?.id??null;x(pr=>pr&&ut?.runs?.some(hn=>hn.id===pr)?pr:Zt),Zt&&De(Zt)})(),()=>{xe=!0}},[de,De]);let le=e.latest_run?.id??null;(0,Pe.useEffect)(()=>{!le||v.some(xe=>xe.id===le)||de()},[le,v,de]);let Te=b[g]||v.find(xe=>xe.id===g)||null,K=v[0]||null,I=ws(Te)?Te.id:ws(K)?K.id:null;(0,Pe.useEffect)(()=>{if(!I)return;let xe=!1,ut=setTimeout(async()=>{let Zt=null;try{Zt=await De(I)}catch{Zt=null}if(!xe){if(Zt&&!ws(Zt)){await de(),t?.();return}ee(pr=>pr+1)}},3e3);return()=>{xe=!0,clearTimeout(ut)}},[I,G,De,de,t]);let C=w.split(",").map(xe=>xe.trim()).filter(Boolean),T=async xe=>{W(!0),A(null);try{let ut=await fetch(`/api/evaluations/${a}/run`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({...xe,models:C})}),Zt=await ut.json().catch(()=>({}));if(!ut.ok)throw new Error((Zt.errors||[Zt.error]).filter(Boolean).join(", ")||"Run failed to start");let pr=Zt.run;y(hn=>[pr,...hn.filter(Ns=>Ns.id!==pr.id)]),m(hn=>hn==null?null:hn+1),S(hn=>({...hn,[pr.id]:{...pr,results:[]}})),x(pr.id),F(null),t?.()}catch(ut){A(ut.message)}finally{W(!1)}},X=xe=>{x(xe),F(null),b[xe]||De(xe)},$=async xe=>{xe.id&&(await fetch(`/api/evaluations/${a}/scenarios/${xe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenario:{enabled:xe.enabled===!1}})}),await fe())},Ne=async()=>{_(null);let xe=await fetch(`/api/evaluations/${a}/scenarios`,{method:"PUT",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenarios_text:D})}),ut=await xe.json().catch(()=>({}));if(!xe.ok){_((ut.errors||[ut.error]).filter(Boolean).join(", ")||"Could not save scenarios");return}d(ut.scenarios||[]),p(ut.groups||[]),H(!1),t?.()},E=Te,Z=(0,Pe.useMemo)(()=>(E?.results||[]).filter(xe=>xe&&xe.scenario_key),[E]),ge=(0,Pe.useMemo)(()=>L1(E,Z,e),[E,Z,e]),Le=(0,Pe.useMemo)(()=>Z.reduce((xe,ut)=>((xe[ut.scenario_key]||={})[Rv(E,ut)]=ut,xe),{}),[Z,E]),nt=(0,Pe.useMemo)(()=>new Set(ZE(E,c)),[E,c]),Bt=ws(E),ft=Jv(E,ge,c),En=QE(E,Z,ge,c),Bn=(0,Pe.useCallback)(xe=>nt.has(xe.key)||!!Le[xe.key],[nt,Le]),oa=(0,Pe.useMemo)(()=>e$(c,Le),[c,Le]),Mo=xe=>ge.some(ut=>{let Zt=Le[xe.key]?.[ut];return ec(Zt)&&!bs(Zt)}),nc=oa.filter(xe=>!z||(xe.group||"")===z).filter(xe=>!P||Mo(xe)),fr=v.findIndex(xe=>xe.id===E?.id),$n=$1(v,h),ri=fr>=0?$n-fr:null,ac=new Set(oa.filter(Bn).map(xe=>xe.group).filter(Boolean)).size,aw=Z.filter(ec).length,Xf=ft*Math.max(ge.length,1),ow=new Set(Z.filter(xe=>ec(xe)&&!bs(xe)).map(xe=>xe.scenario_key)).size,oc=E?.scores?._verdict||null,ni=Object.prototype.hasOwnProperty.call(E?.scores||{},"_judge_label")?E.scores._judge_label||"rules":oc?.judge&&oc.judge!=="pass rate"?oc.judge:e.judge_model||"rules",ic=(0,Pe.useMemo)(()=>E?i$(E,Z):[],[E,Z]),iw=(0,Pe.useCallback)(xe=>{let ut=Array.isArray(xe)?xe[0]:xe;ut&&(j(null),B(!1),F(ut),requestAnimationFrame(()=>{document.querySelector(`[data-scenario-key="${CSS.escape(ut)}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})}))},[]),fg=Object.keys(E?.scores||{}).filter(xe=>!xe.startsWith("_")),lw=(fg.length?fg:(e.criteria||[]).map(xe=>xe.key)).map(xe=>String(xe).replace(/_/g," ")).join(" \xB7 ")||"\u2014",lc=i?c.length:e.scenario_count??0,Zf=i?c.filter(xe=>xe.enabled!==!1&&(!z||(xe.group||"")===z)).length:lc,pg=`Run ${Xt(Zf,"scenario")}${C.length?` \xD7 ${Xt(C.length,"model")}`:""}`,sw=E?[fr>0?`Viewing run #${ri} (latest is #${$n})`:`Run #${ri??"?"} \xB7 ${Hf(E.completed_at||E.created_at)}`,o,`${Xt(ft,"scenario")}${ac?` in ${Xt(ac,"group")}`:""} \xD7 ${Xt(ge.length,"model")}`,E.status==="failed"?"failed":`${En.passed}/${En.total} passed`].join(" \xB7 "):`${o} \xB7 ${Xt(lc,"scenario")}${f.length?` in ${Xt(f.length,"group")}`:""} \xB7 ${s?"not loaded":i?"no runs yet":"loading\u2026"}`,Qf=E&&E.status==="complete"?`/evaluations/${a}/runs/${E.id}/report`:null,uw=[...new Set([...f,...oa.map(xe=>xe.group).filter(Boolean)])],cw=[{label:`All ${oa.length||lc}`,value:null}].concat(uw.map(xe=>({label:i?`${xe} ${oa.filter(ut=>ut.group===xe).length}`:xe,value:xe}))),sc=oa.length===0,dw=P?"[+] nothing failed in this group":"[ ] no scenarios";return Pe.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:16},"data-testid":"scenario-suite-panel"},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Pe.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},sw),Bt&&Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"},"data-testid":"suite-run-progress"},`running \xB7 ${aw} of ${Xf} results in`),Pe.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},Pe.default.createElement(zr,{size:"sm",onClick:()=>{Y(eue(c)),_(null),H(!L)}},L?"Cancel":"Edit scenarios"),Pe.default.createElement("input",{type:"text",value:w,onChange:xe=>O(xe.target.value),placeholder:"models, e.g. gpt-5-mini, ollama/qwen3:8b",style:{...p$,width:250},title:"Comma-separated. Prefix with a provider (ollama/qwen3:8b) when the name alone is ambiguous; blank runs the agent's own model."}),Pe.default.createElement(zr,{variant:"primary",size:"sm",disabled:M||!i||Zf===0,onClick:()=>T(z?{group:z}:{}),testId:"suite-run-button"},M?"Starting\u2026":pg))),(s||k||E?.status==="failed")&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)",background:"var(--color-error-soft)",borderRadius:8,padding:"8px 12px"}},s||k||`Run failed: ${E.error_message||"unknown error"}`),L&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},Pe.default.createElement("textarea",{value:D,onChange:xe=>Y(xe.target.value),rows:Math.min(Math.max(c.length+4,6),24),style:{...p$,width:"100%",boxSizing:"border-box",lineHeight:"18px"}}),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,color:"var(--color-text-muted)",flexWrap:"wrap"}},Pe.default.createElement("span",{style:{flex:1,minWidth:240}},"One message per line. ",Pe.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," starts a group; ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| contains: x"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| not_contains: y")," set expectations. Keep a scenario's ",Pe.default.createElement("code",{style:{fontFamily:ye}},"key")," to keep its history."),Pe.default.createElement(zr,{variant:"primary",size:"sm",onClick:Ne},"Save scenarios")),N&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},N)),Pe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"minmax(280px, 2fr) minmax(0, 3fr)",gap:16,alignItems:"start"}},Pe.default.createElement(s$,{runs:v,runCount:h,selectedId:E?.id??null,onSelect:X,agentName:o,selectedResults:Z,scenarios:c}),Pe.default.createElement(u$,{run:E,columns:E?ge:[],results:Z,scenarioCount:ft,judgedBy:ni,verdict:oc})),E&&E.status!=="failed"&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},Pe.default.createElement(rt,null,"What to fix"),Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},`${Xt(ic.length,"item")} \xB7 ${Xt(Math.max(En.total-En.passed,0),"fault")} across ${Xt(ow,"scenario")}`)),ic.length>0?Pe.default.createElement(c$,{items:ic,columns:ge,agentName:o,onNavigate:Gv,onOpenScenario:iw}):Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px"}},Bt?"[ ] scoring\u2026":"[+] nothing to fix")),Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Pe.default.createElement(rt,{style:{marginRight:4}},"Scenarios"),cw.map(xe=>Pe.default.createElement(al,{key:xe.label,selected:z===xe.value,onClick:()=>j(xe.value)},xe.label)),Pe.default.createElement(al,{square:!0,mono:!0,selected:P,onClick:()=>B(!P),style:{marginLeft:"auto",background:"transparent"},title:"Hide scenarios that passed on every model"},P?"[x] failed only":"[ ] failed only")),sc&&s?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[!] suite not loaded"):sc&&!i?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"loading\u2026"):sc?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"No scenarios yet \u2014 paste some with \u201CEdit scenarios\u201D."):Pe.default.createElement(d$,{rows:nc,columns:E?ge:[],run:E,resultsByKey:Le,runKeys:nt,running:Bt,openKey:R,onToggleRow:xe=>F(R===xe?null:xe),emptyLabel:dw,renderDetail:xe=>Pe.default.createElement(f$,{scenario:xe,run:E,columns:E?ge:[],resultsByKey:Le,running:Bt,inRun:Bn(xe),canMutate:!xe.orphan,onRerun:ut=>T({keys:[ut.key]}),onToggleEnabled:$})})),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",paddingTop:12,borderTop:"1px solid var(--color-border-light)",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Pe.default.createElement("span",{style:{whiteSpace:"nowrap"}},`judge ${ni}`),Pe.default.createElement("span",{style:{minWidth:0,textWrap:"pretty"}},`criteria ${lw}`),E?.usage&&Pe.default.createElement("span",{style:{whiteSpace:"nowrap"},title:"Estimated cost, tokens and model time of this run"},rue(E.usage)),Qf&&Pe.default.createElement(Ff,{href:Ge(Qf),onClick:()=>Gv(Qf),title:"The run rendered as a report page"},"run report"),r&&Pe.default.createElement("button",{type:"button",onClick:r,disabled:n,title:"Delete this suite and its runs",style:{marginLeft:"auto",background:"transparent",border:"none",padding:0,cursor:n?"not-allowed":"pointer",fontFamily:ye,fontSize:11,color:"var(--color-error)",opacity:n?.5:1}},n?"Deleting\u2026":"Delete suite")))}var e_=[{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}}],t_=[{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}}],r_=()=>document.querySelector('meta[name="csrf-token"]')?.content,nue=e=>{if(!e)return null;let t=(e.input_tokens||0)+(e.output_tokens||0),r=e.runtime_ms==null?null:Qr(e.runtime_ms);return`${uo(e.cost)} \xB7 ${hr(t)} tok${r?` \xB7 ${r}`:""}`},g$=e=>e>=.85?"success":e>=.7?"warning":"error",m$=()=>{let e=Xu().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/);if(e)return{evaluationId:e[1],runId:e[2]};let t=I1(window.location.search);return t?.runId?t:null},ol={padding:"8px 12px",borderRadius:8,fontSize:13,fontFamily:"inherit",boxSizing:"border-box",background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"},Ro=(e=11,t="var(--color-text-muted)")=>({fontFamily:ye,fontSize:e,color:t});function v$({label:e,score:t,indent:r=!1,mono:n=!1}){let a=t.skipped?null:g$(t.score);return re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,paddingLeft:r?16:0}},re.default.createElement("div",{style:{width:160,flexShrink:0,fontSize:n?11:13,fontFamily:n?ye:"inherit",color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:e},n?e:e.replace(/_/g," "),t.source==="telemetry"&&re.default.createElement("span",{"data-testid":"score-source-telemetry",style:{...Ro(10),marginLeft:6,textTransform:"uppercase",letterSpacing:"0.05em"},title:`Aggregate over ${t.traces} traces in the last ${t.window_hours}h`},"telemetry")),t.skipped?re.default.createElement("div",{style:{flex:1,fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"},title:t.reason},"skipped \u2014 ",t.reason):re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{flex:1,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},re.default.createElement("div",{style:{height:"100%",width:`${Math.round(t.score*100)}%`,borderRadius:999,background:nl[a].strong}})),re.default.createElement("div",{style:{width:48,textAlign:"right",fontFamily:ye,fontSize:12,fontWeight:600,color:nl[a].strong},title:`min ${t.min} \xB7 max ${t.max} \xB7 ${t.passed}/${t.total} passed`},Ru(t.score))))}function eg({embedded:e=!1,agentId:t=null}){let{darkMode:r}=kt(),[n,a]=(0,re.useState)(()=>e?null:m$()),o=(0,re.useRef)(null),[i,l]=(0,re.useState)(0),[s,u]=(0,re.useState)(null);(0,re.useEffect)(()=>{let E=o.current?.contentDocument?.body;if(!E)return;let Z=()=>u(E.scrollHeight);if(Z(),typeof ResizeObserver>"u")return window.addEventListener("resize",Z),()=>window.removeEventListener("resize",Z);let ge=new ResizeObserver(Z);return ge.observe(E),()=>ge.disconnect()},[i,n]),(0,re.useEffect)(()=>u(null),[n]),(0,re.useEffect)(()=>{if(e)return;let E=()=>a(m$());return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[c,d]=(0,re.useState)([]),[f,p]=(0,re.useState)([]),[v,y]=(0,re.useState)(!0),[h,m]=(0,re.useState)(null),[g,x]=(0,re.useState)(null),[b,S]=(0,re.useState)(()=>e?null:I1(window.location.search)?.evaluationId);(0,re.useEffect)(()=>{if(e)return;let E=()=>{let Z=I1(window.location.search)?.evaluationId;S(Z),Z&&x(new Set([Number(Z)]))};return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[w,O]=(0,re.useState)(!1),[k,A]=(0,re.useState)(null),[M,W]=(0,re.useState)(null),[L,H]=(0,re.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:e_.map(E=>E.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:"",scenariosText:""}),[D,Y]=(0,re.useState)(null),[N,_]=(0,re.useState)(!1),z=(0,re.useCallback)(async()=>{try{let E=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!E.ok)throw new Error(`Request failed (${E.status})`);let ge=(await E.json()).evaluations||[],Le=null;try{ge=await t$(ge,b,fetch)}catch(nt){Le=nt.message}d(ge),x(nt=>{if(nt)return nt;let Bt=b?ge.find(ft=>String(ft.id)===b):ge.find(ft=>ft.scenario_suite)||ge[0];return new Set(Bt?[Bt.id]:[])}),m(Le)}catch(E){m(E.message)}finally{y(!1)}},[t,b]);(0,re.useEffect)(()=>{z(),fetch("/api/agents").then(E=>E.ok?E.json():{agents:[]}).then(E=>p(E.agents||[])).catch(()=>p([]))},[z]);let j=E=>!!g?.has(E),P=E=>x(Z=>{let ge=new Set(Z||[]);return ge.has(E)?ge.delete(E):ge.add(E),ge}),B=()=>{let E=[...e_,...t_].filter(Z=>L.criteria.includes(Z.key)).map(({key:Z,type:ge,config:Le})=>({key:Z,type:ge,config:Le}));return L.containsPattern.trim()&&E.push({key:"contains",type:"contains",config:{pattern:L.containsPattern.trim()}}),L.llmJudgePrompt.trim()&&E.push({key:"quality",type:"llm_judge",config:{prompt:L.llmJudgePrompt.trim()}}),E},R=async E=>{E.preventDefault(),_(!0),Y(null);try{let Z=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":r_()},body:JSON.stringify({evaluation:{agent_id:L.agent_id,name:L.name,sample_size:L.sample_size,judge_kind:L.judgeKind==="judge_defined"?"judge_defined":L.llmJudgePrompt.trim()?"llm":"rules",judge_model:L.judgeModel.trim()||void 0,compare_models:L.compareModels.split(",").map(Le=>Le.trim()).filter(Boolean),criteria:L.judgeKind==="judge_defined"?[]:B(),scenarios_text:L.scenariosText.trim()||void 0}})}),ge=await Z.json().catch(()=>({}));if(!Z.ok)throw new Error((ge.errors||[ge.error]).filter(Boolean).join(", ")||`Failed to create evaluation (HTTP ${Z.status})`);O(!1),H({...L,name:"",scenariosText:""}),await z(),ge.evaluation?.id!=null&&x(Le=>new Set([...Le||[],ge.evaluation.id]))}catch(Z){Y(Z.message)}finally{_(!1)}},F=async E=>{A(E),m(null);try{let Z=await fetch(`/api/evaluations/${E}/run`,{method:"POST",headers:{"X-CSRF-Token":r_()}});Z.ok||m(`Run failed (HTTP ${Z.status})`),await z()}finally{A(null)}},G=async E=>{if(window.confirm(`Delete "${E.name}"? Its runs are deleted with it.`)){W(E.id),m(null);try{let Z=await fetch(`/api/evaluations/${E.id}`,{method:"DELETE",headers:{"X-CSRF-Token":r_()}});Z.ok||Z.status===404?(d(ge=>ge.filter(Le=>Le.id!==E.id)),x(ge=>{let Le=new Set(ge||[]);return Le.delete(E.id),Le})):m(`Delete failed (HTTP ${Z.status})`)}finally{W(null)}}};if(v)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",style:{borderBottomColor:"var(--color-accent-ui)"}}));let ee=t?c.filter(E=>String(E.agent?.id)===String(t)):c,fe=ee.filter(E=>E.scenario_suite),de=ee.filter(E=>!E.scenario_suite),De=fe.map(E=>E.latest_run).filter(E=>E&&E.status==="complete"),le=De.reduce((E,Z)=>E+(Z.samples_evaluated||0),0),Te=De.reduce((E,Z)=>E+(Z.samples_passed||0),0),K=De.reduce((E,Z)=>E+(Z.scores?._recommendations?.length||0),0),I=le?Te/le:null,C=[...new Set(fe.map(E=>E.agent?.name).filter(Boolean))],T=fe.reduce((E,Z)=>Math.max(E,Z.latest_run?.models?.length||(Z.compare_models||[]).length||0),0),X=[];C.length===1?X.push(`@${C[0]} \xB7 ${T>1?`${T} models compared`:"1 model"}`):C.length>1&&X.push(Xt(C.length,"agent")),de.length&&X.push(Xt(de.length,"sampling evaluation"));let $=X.join(" \xB7 ")||"no suites yet",Ne=E=>E&&typeof E=="object"&&!("score"in E)&&!("skipped"in E);if(n){let E=Ge(`/api/evaluations/${n.evaluationId}/runs/${n.runId}/report`),Z=`${E}?theme=${r?"dark":"light"}`;return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{size:"sm",onClick:()=>{HE("/evaluations"),a(null)}},re.default.createElement("span",{style:{fontFamily:ye}},"<-")," Evaluations"),re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Run report"),re.default.createElement("span",{style:Ro(11)},`evaluation ${n.evaluationId} \xB7 run ${n.runId}`)),re.default.createElement("a",{href:E,target:"_blank",rel:"noopener noreferrer",title:"The report is one self-contained page \u2014 save it to export",style:{padding:"6px 12px",borderRadius:8,fontSize:13,fontWeight:500,color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)",textDecoration:"none"}},"Open standalone ",re.default.createElement("span",{style:{fontFamily:ye}},"->"))),re.default.createElement("iframe",{ref:o,src:Z,title:"Evaluation run report",onLoad:()=>l(ge=>ge+1),scrolling:"no",style:{width:"100%",borderRadius:12,border:"1px solid var(--color-border)",background:"var(--color-background)",display:"block",height:s?`${s}px`:"calc(100vh - 180px)"}}))}return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},re.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:16,flexWrap:"wrap"}},!e&&re.default.createElement("div",{style:{flex:1,minWidth:260}},re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Evaluations"),re.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models")),re.default.createElement("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{variant:"primary",onClick:()=>O(!w),testId:"new-evaluation-button"},w?"Cancel":"New Evaluation"))),h&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:13,background:"var(--color-error-soft)",color:"var(--color-error-text)"}},"Failed to load evaluations: ",h),w&&re.default.createElement(yr,{testId:"new-evaluation-form"},re.default.createElement("form",{onSubmit:R,style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Agent"),re.default.createElement("select",{required:!0,disabled:!!t,value:L.agent_id,onChange:E=>H({...L,agent_id:E.target.value}),style:{...ol,width:"100%",opacity:t?.7:1}},!t&&re.default.createElement("option",{value:""},"Select agent\u2026"),f.map(E=>re.default.createElement("option",{key:E.id,value:E.id},E.name)))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Name"),re.default.createElement("input",{required:!0,type:"text",value:L.name,onChange:E=>H({...L,name:E.target.value}),placeholder:"Response Quality",style:{...ol,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Sample size"),re.default.createElement("input",{type:"number",min:"1",max:"100",value:L.sample_size,onChange:E=>H({...L,sample_size:E.target.value}),style:{...ol,width:"100%",fontFamily:ye}}))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"KPI definition"),re.default.createElement("select",{value:L.judgeKind,onChange:E=>H({...L,judgeKind:E.target.value}),style:{...ol,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(rt,{as:"label",style:{display:"block",marginBottom:6}},"Judge model (optional)"),re.default.createElement("input",{type:"text",value:L.judgeModel,onChange:E=>H({...L,judgeModel:E.target.value}),placeholder:"e.g. claude-opus-5",style:{...ol,width:"100%",fontFamily:ye,fontSize:12}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Compare models (optional, comma-separated)"),re.default.createElement("input",{type:"text",value:L.compareModels,onChange:E=>H({...L,compareModels:E.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...ol,width:"100%",fontFamily:ye,fontSize:12}}))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Scenarios (optional) \u2014 paste user messages to replay, one per line"),re.default.createElement("textarea",{value:L.scenariosText,onChange:E=>H({...L,scenariosText:E.target.value}),rows:L.scenariosText?8:3,placeholder:`# Find records +`)));continue}let s=l.match(/^(#{1,4})\s+(.*)$/);if(s){n.push(Nr.default.createElement("div",{key:i++,className:"font-semibold mt-1",style:{fontSize:`${1.25-s[1].length*.05}em`}},Hv(s[2],`h${i}`))),o+=1;continue}if(D7(l)&&o+1Nr.default.createElement("th",{key:p,className:"text-left font-semibold px-2 py-1",style:{borderBottom:"1px solid rgba(127,127,127,0.35)"}},Hv(f,`th${d}-${p}`))))),Nr.default.createElement("tbody",null,c.map((f,p)=>Nr.default.createElement("tr",{key:p},u.map((m,g)=>Nr.default.createElement("td",{key:g,className:"px-2 py-1 align-top",style:{borderBottom:"1px solid rgba(127,127,127,0.15)"}},Hv(f[g]??"",`td${d}-${p}-${g}`)))))))));continue}if(/^\s*([-*]|\d+\.)\s+/.test(l)){let u=[];for(;oNr.default.createElement("li",{key:d},Hv(c,`li${i}-${d}`)))));continue}if(l.trim()===""){n.push(Nr.default.createElement("div",{key:i++,className:"h-2"})),o+=1;continue}n.push(Nr.default.createElement("div",{key:i++},Hv(l,`p${i}`))),o+=1}return Nr.default.createElement("div",{className:"break-words"},n)}var na=te(ne()),ise=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"},lse=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function jE({tool:e,darkMode:t}){let r=lse(e);return na.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&na.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),na.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"}},na.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),na.default.createElement("span",null,"source: ",ise(e))))}function zE({tools:e,darkMode:t}){let[r,n]=(0,na.useState)(null),a=(e||[]).filter(l=>l&&l.name);if(a.length===0)return null;let o=a.find(l=>l.name===r),i=l=>({background:t?"rgba(34,197,94,0.12)":"#f0fdf4",color:t?"#86efac":"#15803d",border:`1px solid ${l?t?"#4ade80":"#22c55e":"transparent"}`,borderRadius:"6px",padding:"2px 8px",fontSize:"11px",cursor:"pointer"});return na.default.createElement("div",{style:{marginTop:"8px"}},na.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},na.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),a.map(l=>na.default.createElement("button",{key:l.name,onClick:s=>{s.stopPropagation(),n(r===l.name?null:l.name)},title:r===l.name?"Hide definition":"Show definition",style:i(r===l.name)},"\u2699 ",l.name))),o&&na.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"}`}},na.default.createElement(jE,{tool:o,darkMode:t})))}var sse=["application/json","application/xml","application/x-yaml","application/csv"],use=/\.(csv|md|txt|json|ya?ml)$/i;function j7(e){let t=String(e?.type||e?.content_type||"").toLowerCase(),r=String(e?.name||e?.filename||"");return t.startsWith("image/")?"image":t==="application/pdf"?"document":t.startsWith("text/")||sse.includes(t)||use.test(r)?"text":"file"}function z7(e){let t=Number(e);return!Number.isFinite(t)||t<0?"":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function L7(e){if(typeof e!="string")return!1;let t=e.trim();if(/^(data:image\/|blob:)/i.test(t))return!0;if(/^\/[\\/]/.test(t))return!1;if(t.startsWith("/"))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}var B7=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,Vv=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}},cse=["text","output","body","content"],$7=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},dse=e=>{let t=$7(e.tool_result)??$7(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=cse.find(o=>typeof t[o]=="string"&&t[o].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(([o])=>o!==r));return{field:r,meta:n,body:t[r],rest:a}},fse=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||Vv(e.content)),W7=280,pse=["tool","system","developer"],Kv=(e,t=W7)=>e.replace(/\s+/g," ").trim().slice(0,t),LE=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)}},H7=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:LE(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:LE(t)}]:[]},V7=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),mse=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((a,o)=>{if(a.role!=="assistant"||V7(a.content))return;let i=H7(a);if(i.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=o+1;u0&&c.tool_call_id&&!l.has(c.tool_call_id))break;s.push(u)}s.length!==0&&(s.forEach((u,c)=>{let d=t[u],f=i.find(p=>p.name&&p.name===d.tool_name)||i[Math.min(c,i.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:a.created_at||d.created_at})}),n.add(o))}),t.map((a,o)=>r.has(o)?{...a,...r.get(o)}:a).filter((a,o)=>!n.has(o))},U7=e=>pse.includes(e.role)&&typeof e.content=="string"&&Kv(e.content).length>=W7,vse=({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),o=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return Se.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"}},Se.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(a,100-n)}%`,borderRadius:"999px",background:o}}))},O1=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}),gr=(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}}},F7={image:"IMG",document:"PDF",text:"TXT",file:"FILE"};function T1({attachments:e,darkMode:t,testId:r,onRemove:n,removeTestId:a}){let o=(e||[]).filter(Boolean);if(o.length===0)return null;let i=Fa(t);return Se.default.createElement("div",{className:"flex flex-wrap gap-2 mt-1.5"},o.map((l,s)=>{let u=String(l.content_type||""),c=(l.kind==="image"||u.startsWith("image/"))&&L7(l.url),d=z7(l.byte_size);return Se.default.createElement("span",{key:l.id??`${l.filename}-${s}`,"data-testid":r,title:[l.filename,u,d].filter(Boolean).join(" \xB7 "),className:"inline-flex items-center gap-2 rounded-lg px-2 py-1 text-xs",style:{background:i.mutedBg,border:`1px solid ${i.cardBorder}`,color:i.textCell,maxWidth:"260px"}},c?Se.default.createElement("img",{src:l.url,alt:l.filename||"",style:{width:"36px",height:"36px",objectFit:"cover",borderRadius:"4px",flexShrink:0}}):Se.default.createElement("span",{className:"font-mono",style:{color:i.textMuted,flexShrink:0}},F7[l.kind]||F7.file),Se.default.createElement("span",{className:"min-w-0"},Se.default.createElement("span",{className:"block truncate"},l.filename||"attachment"),d&&Se.default.createElement("span",{className:"block font-mono",style:{color:i.textMuted}},d)),n&&Se.default.createElement("button",{type:"button","data-testid":a,onClick:f=>{f.stopPropagation(),n(l,s)},title:"Remove","aria-label":`Remove ${l.filename||"attachment"}`,className:"font-mono",style:{color:i.textMuted,background:"none",border:"none",cursor:"pointer",padding:"0 2px"}},"\u2715"))}))}var K7=e=>{let t=new Set;return Array.isArray(e.tool_calls)?e.tool_calls.forEach(r=>r&&r.id!=null&&t.add(r.id)):e.tool_call_id&&t.add(e.tool_call_id),t},gse=(e,t)=>{let r=zf(e);if(r)return r;let n=t.find(a=>a&&a.role==="assistant"&&(e.tool_call_id?K7(a).has(e.tool_call_id):zf(a)));return n?zf(n,{callId:e.tool_call_id}):null},yse=(e,t)=>{let r=K7(e);return t.some(n=>n&&n.role==="tool"&&n.tool_name===qu&&(!n.tool_call_id||r.size===0||r.has(n.tool_call_id)))};function so({messages:e,darkMode:t,tools:r,onUiAction:n,onEditMessage:a,onDeleteMessage:o,testIdPrefix:i}){let[l,s]=(0,Se.useState)({}),[u,c]=(0,Se.useState)(null),[d,f]=(0,Se.useState)(""),[p,m]=(0,Se.useState)(!1),[g,h]=(0,Se.useState)(null),v=A=>s(M=>({...M,[A]:!M[A]})),y={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},b=A=>i?`${i}-${A}`:void 0,x=A=>A.stopPropagation(),S=A=>{c(A.id),f(A.content||""),h(null)},w=()=>{c(null),h(null)},O=async A=>{if(!p){m(!0),h(null);try{await a(A,d),c(null)}catch(M){h(M.message||"Could not save the message")}finally{m(!1)}}},k=mse(e);return Se.default.createElement("div",{className:"space-y-3"},k.map(A=>{let M=gr(A.role,t),W=!!l[A.id],L=u===A.id,H=!!((a||o)&&["user","assistant"].includes(A.role)),D=A.role==="tool"&&A.tool_name===qu?gse(A,k):null,Y=A.role==="assistant"&&!L?OE(A.content):null,N=A.role==="assistant"&&!yse(A,k)?zf(A):null,_=U7(A)&&!W,z=fse(A)||U7(A),j=Vv(A.tool_arguments),P=Vv(A.tool_result)||Vv(A.content),B=A.tool_calls&&(!Array.isArray(A.tool_calls)||A.tool_calls.length>0)?Vv(A.tool_calls):null,R=A.role==="tool"?dse(A):null,F=A.tool_name?(r||[]).find(K=>K&&K.name===A.tool_name):null,G=A.role==="tool"?LE(A.tool_arguments):null,ee=A.role==="tool"&&!!G,fe=gr("assistant",t),de=gr("tool",t),De=A.role==="tool"&&!A.tool_arguments&&k.some(K=>K&&K.role==="assistant"&&(A.tool_call_id&&K.tool_call_id===A.tool_call_id||Array.isArray(K.tool_calls)&&K.tool_calls.some(I=>I.id&&I.id===A.tool_call_id))),le=A.role==="assistant"&&!V7(A.content)?H7(A):[],Te=O1(t);return Se.default.createElement("div",{key:A.id,className:"group","data-testid":i,"data-message-id":i?A.id:void 0,"data-role":i?A.role:void 0},Se.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${z?"cursor-pointer":""}`,onClick:z?()=>v(A.id):void 0,style:W?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},Se.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(ee?[fe,de]:[M]).map(K=>Se.default.createElement("span",{key:K.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:K.background,color:K.color,textAlign:"center"}},K.label))),Se.default.createElement("div",{className:"min-w-0 flex-1"},Se.default.createElement("div",{className:"text-sm break-words",style:{color:y.textPrimary}},L?Se.default.createElement("div",{className:"space-y-2",onClick:x},Se.default.createElement("textarea",{"data-testid":b("editor"),value:d,onChange:K=>f(K.target.value),onKeyDown:K=>{K.key==="Escape"&&w(),K.key==="Enter"&&(K.metaKey||K.ctrlKey)&&O(A)},rows:Math.min(12,Math.max(3,d.split(` +`).length)),autoFocus:!0,className:"aa-field w-full",style:{padding:"8px 10px",borderRadius:"8px",border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,background:t?"rgba(255,255,255,0.06)":"#ffffff",color:y.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"}}),Se.default.createElement("div",{className:"flex items-center gap-2 text-xs"},Se.default.createElement("button",{type:"button","data-testid":b("save"),onClick:()=>O(A),disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"#ef4444",color:"#ffffff",border:"none",cursor:p?"wait":"pointer",fontWeight:500}},p?"Saving\u2026":"Save"),Se.default.createElement("button",{type:"button","data-testid":b("cancel"),onClick:w,disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"transparent",color:y.textSecondary,border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,cursor:"pointer"}},"Cancel"),g&&Se.default.createElement("span",{style:{color:"#dc2626"}},g))):D?Se.default.createElement("div",null,Se.default.createElement("div",{className:"font-mono text-xs mb-1",style:{color:de.color}},"\u2699 ",A.tool_name," \xB7 ",D.length," block",D.length===1?"":"s"),Se.default.createElement(hs,{blocks:D,onAction:n,darkMode:t})):A.role==="tool"?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},G&&!De&&Se.default.createElement("span",{className:"font-mono text-xs break-words"},A.tool_name&&Se.default.createElement("span",{style:{color:de.color}},"\u2699 ",A.tool_name," "),Se.default.createElement("span",{style:{color:ee?fe.color:y.textMuted}},"in:")," ",Kv(G,180),G.length>180?"\u2026":""),R?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:y.textMuted}},"out:"),R.meta&&Se.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:y.textMuted}},R.meta),"\u201C",R.body.replace(/\s+/g," ").trim().slice(0,180),R.body.length>180?"\u2026":"","\u201D"):A.content?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:y.textMuted}},"out:"),"\u201C",Kv(A.content,180),A.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):Se.default.createElement("span",{className:"whitespace-pre-wrap"},A.tool_name?`\u2192 ${A.tool_name}(...)`:"\u2014")):_?Se.default.createElement("span",{style:{color:y.textSecondary}},Kv(A.content),"\u2026"):le.length>0?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},le.map((K,I)=>Se.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},K.name&&Se.default.createElement("span",{style:{color:y.textMuted}},K.name," "),Se.default.createElement("span",{style:{color:y.textMuted}},"in:")," ",K.args?Se.default.createElement(Se.default.Fragment,null,Kv(K.args,180),K.args.length>180?"\u2026":""):"\u2014"))):Y&&Y.blocks?Se.default.createElement(hs,{blocks:Y.blocks,onAction:n,darkMode:t}):Y&&Y.object?Se.default.createElement(hs,{blocks:[{type:"object",value:Y.object}],darkMode:t}):Se.default.createElement(_o,{text:A.content||"\u2014",darkMode:t,onUiAction:n}),N&&!L&&Se.default.createElement("div",{className:"mt-2"},Se.default.createElement(hs,{blocks:N,onAction:n,darkMode:t})),A.role==="user"&&Se.default.createElement(T1,{attachments:A.attachments,darkMode:t,testId:b("attachment")})),Se.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:y.textMuted}},H&&!L&&Se.default.createElement("span",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",onClick:x},a&&Se.default.createElement("button",{type:"button","data-testid":b("edit"),onClick:()=>S(A),className:"hover:underline",style:{color:y.textSecondary,background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Edit"),o&&Se.default.createElement("button",{type:"button","data-testid":b("delete"),onClick:()=>o(A),className:"hover:underline",style:{color:"#dc2626",background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Delete")),A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleTimeString()),A.tool_name&&A.role!=="tool"&&Se.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:M.background,color:M.color}},"\u2699 ",A.tool_name),A.duration_ms!=null&&Se.default.createElement("span",null,B7(A.duration_ms)),(A.tool_calls||[]).length>0&&Se.default.createElement("span",null,A.tool_calls.length," tool call",A.tool_calls.length>1?"s":""),A.content_checksum&&Se.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",A.content_checksum.slice(0,8)))),Se.default.createElement(vse,{message:A,darkMode:t}),z&&Se.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${W?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:y.textMuted}},Se.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),W&&Se.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},Se.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:y.textSecondary}},A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleString()),A.tool_call_id&&Se.default.createElement("span",null,"call: ",A.tool_call_id),A.duration_ms!=null&&Se.default.createElement("span",null,"took ",B7(A.duration_ms)),A.content_checksum&&Se.default.createElement("span",null,"\u{1F512} ",A.content_checksum)),j&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?fe.color:y.textMuted}},"Arguments",ee?" \xB7 from the agent":""),Se.default.createElement("pre",{style:Te},j)),R?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:y.textMuted}},"Result",ee?" \xB7 from the tool":""),Object.keys(R.rest).length>0&&Se.default.createElement("pre",{style:Te},JSON.stringify(R.rest,null,2)),Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:y.textMuted}},R.field," \xB7 ",R.body.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},R.body.slice(0,8e3),R.body.length>8e3?` +\u2026`:"")):P?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},A.role==="tool"?"Result":"Content (parsed)"),Se.default.createElement("pre",{style:Te},P)):A.role==="tool"&&A.content?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:y.textMuted}},"Result",ee?" \xB7 from the tool":""," \xB7 ",A.content.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},A.content.slice(0,8e3),A.content.length>8e3?` +\u2026`:"")):null,B&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Requested tool calls"),Se.default.createElement("pre",{style:Te},B)),F&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Tool definition"),Se.default.createElement(jE,{tool:F,darkMode:t}))))}))}var st=te(ne());var Cr=te(ne());var Ir=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"}),q7=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function Gu({open:e,darkMode:t,size:r=14,style:n}){return Cr.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:Ir(t).textMuted,...n},"aria-hidden":"true"},Cr.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function M1({darkMode:e,id:t,children:r,style:n,className:a=""}){let o=Ir(e);return Cr.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${a}`,style:{backgroundColor:o.cardBg,borderColor:o.cardBorder,...n}},r)}var Y7=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Ir(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),hse=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 $f({lines:e,darkMode:t,onClick:r,indent:n=0,size:a="12px",style:o,max:i=200}){let[l,s]=Uf(),u=Ir(t),c=(e||[]).filter(d=>d&&d.text);return c.length===0?null:Cr.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:Fe.mono,fontSize:a,color:u.textSecondary,cursor:r?"pointer":"default",...o}},c.map((d,f)=>{let p=`${d.label}-${f}`,m=l(p),g=d.max||i,h=String(d.text).replace(/\s+/g," ").trim(),v=hse(d.text),y=v.json||h.length>60||h!==String(d.text).trim();return Cr.default.createElement("div",{key:p},Cr.default.createElement("div",{onClick:y?b=>{b.stopPropagation(),s(p)}:void 0,title:y?m?"Collapse":"Expand":void 0,style:{cursor:y?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0}},Cr.default.createElement("span",{style:{color:d.color||u.textMuted}},y?m?"\u25BE":"\u25B8":"\xA0"," ",d.label,":")," ",!m&&q7(h,g)),m&&Cr.default.createElement("pre",{onClick:b=>b.stopPropagation(),style:Y7(t,{wrap:!v.json})},v.text))}))}function qv({options:e,value:t,onChange:r,darkMode:n,label:a,style:o}){let i=Ir(n);return Cr.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:o},a&&Cr.default.createElement("span",{className:"text-xs mr-1",style:{color:i.textMuted}},a),e.map(l=>Cr.default.createElement("button",{key:l.id,type:"button",onClick:s=>{s.stopPropagation(),r(l.id)},title:l.hint,className:"px-2 py-0.5 text-xs rounded transition-colors",style:t===l.id?{background:i.controlActiveBg,color:i.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:i.textSecondary}},l.label)))}function G7({label:e,body:t,open:r,onToggle:n,darkMode:a,prose:o=!1,max:i=140}){let l=Ir(a);return Cr.default.createElement("div",null,Cr.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},Cr.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&Cr.default.createElement("span",{style:{color:l.textMuted}},q7(t,i))),r&&Cr.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:Y7(a,{wrap:o})},t))}function Uf(e={}){let[t,r]=(0,Cr.useState)(e),n=(0,Cr.useCallback)(o=>{r(i=>({...i,[o]:!i[o]}))},[]);return[(0,Cr.useCallback)(o=>!!t[o],[t]),n,r]}var BE={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},Z7=[{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"}],Er=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,$E=e=>{switch(e){case"root":return Ut.spans.root;case"prompt":return Ut.spans.prompt;case"generate":return Ut.spans.generate;case"llm":return Ut.spans.llm;case"thinking":return Ut.spans.thinking;case"tool":return Ut.spans.tool;case"response":return Ut.spans.response;default:return"-"}},xse=(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))},bse=(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))}},wse=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},Sse=(e,t)=>{if(!t.duration_ms)return Er(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${Er(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},Ase=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},X7=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,UE=e=>{let t=e.spans||[],r=o=>{for(let i of t){let l=(i.attributes||{})[o];if(l)return l}return null},n=r("llm.prompt");if(!n){let o=r("prompt.input.messages");if(o)try{n=[...JSON.parse(o)].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}},kse=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 o=null,i="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?o=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(o=t["tool.output.result"]||t["tool.result"],i="out",l="tool"),o!=null&&typeof o!="string"&&(o=JSON.stringify(o)),{input:r,output:o,inputLabel:n,inputTone:a,outputLabel:i,outputTone:l}},Nse=(e,t)=>{let r=kse(e),n=UE(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},Cse=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}),o=r("prompt.input.instructions")||r("llm.instructions");o&&a({role:"system",content:String(o)});let i=r("prompt.input.messages");if(i)try{JSON.parse(i).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"]=i}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}},FE=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 Ese({span:e,darkMode:t,tools:r=[]}){let[n,a]=Uf(),o=Ir(t),{messages:i,rest:l}=Cse(e),s=null,u=l["prompt.input.tools"];if(u)try{let p=typeof u=="string"?JSON.parse(u):u;Array.isArray(p)&&p.length>0&&(s=p,delete l["prompt.input.tools"])}catch{}let c=Object.entries(l).sort((p,m)=>X7(p[0])-X7(m[0])),d=i.length===1&&i[0].role==="tool"?i[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return st.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:o.panelBg,border:`1px solid ${o.cardBorder}`,fontFamily:Fe.mono,fontSize:"12px",color:o.textBody,cursor:"default"}},st.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},st.default.createElement("span",null,"duration: ",Er(e.duration)),st.default.createElement("span",null,"status: ",e.status||"OK"),wse(e)>0&&st.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),st.default.createElement("span",{style:{color:o.textMuted}},"span: ",e.span_id)),d&&st.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},st.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"\u2699 ",d.tool_name),f&&st.default.createElement(st.default.Fragment,null," ",st.default.createElement("span",{style:{color:gr("assistant",t).color}},"in:")," ",st.default.createElement("span",{style:{color:o.textBody}},f))),d.content&&st.default.createElement("div",{style:{fontSize:"12px"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"out:")," ",st.default.createElement("span",{style:{color:o.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),i.length>0&&!d&&st.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},st.default.createElement(so,{messages:i,darkMode:t,tools:s||r})),s&&st.default.createElement(zE,{tools:s,darkMode:t}),c.length>0&&st.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,m])=>{let g=p.match(/args|result|input|output/)?Ase(m):null,h=!g&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof m=="string"?m:null,v=g||h;if(!v)return st.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},st.default.createElement("span",{style:{color:o.textMuted}},p,":")," ",typeof m=="string"?m:JSON.stringify(m));let y=`${e.span_id}:${p}`;return st.default.createElement(G7,{key:p,label:p,body:v,prose:!g,darkMode:t,open:n(y),onToggle:()=>a(y)})})))}function _se({span:e,trace:t,darkMode:r,sort:n,longest:a,expanded:o,onToggle:i,tools:l}){let s=Ir(r),u=Object.keys(e.attributes||{}).length>0,c=o?null:Nse(e,t);return st.default.createElement(st.default.Fragment,null,st.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:o?s.hoverBg:void 0},onClick:u?()=>i():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},st.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},st.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},$E(e.type)),st.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),st.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:Fe.mono,color:s.textMuted}},Sse(e,t)),u&&st.default.createElement(Gu,{open:o,darkMode:r,size:13,style:{marginLeft:"2px"}})),st.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},st.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":BE[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}%`:`${xse(e.duration,a)}%`}})),c&&st.default.createElement($f,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:gr(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:gr(c.outputTone,r).color,max:160}]})),o&&st.default.createElement(Ese,{span:e,darkMode:r,tools:l}))}function WE({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:a=""}){let[o,i]=Uf(),l=Ir(t),s=bse(e?.spans,r),u=n||FE(e);if(s.length===0)return st.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 st.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${a}${d.span_id||f}`;return st.default.createElement(_se,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:o(p),onToggle:()=>i(p)})}))}var Ose=[{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"}],Tse=e=>{let t=0,r=[];(e?.spans||[]).forEach(o=>{(o.nested||0)!==0&&(o.type==="tool"?r.push(o):(o.type==="llm"||o.type==="generate")&&(t=Math.max(t,o.duration||0)))});let n=r.reduce((o,i)=>o+(i.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 Mse({trace:e,darkMode:t}){let r=Ir(t),{generation:n,tools:a,toolTotal:o,total:i,overhead:l}=Tse(e);if(n===0&&o===0||n/i>=.99&&o/i<.01)return null;let s=c=>`${(c/i*100).toFixed(c/i<.01?2:1)}%`,u=(c,d)=>We.default.createElement("div",{style:{width:`${Math.max(c/i*100,.4)}%`,background:d,height:"100%"}});return We.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},We.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),We.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(o,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Fe.mono,color:r.textBody}},We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",Er(n)," (",s(n),")"),We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",Er(o)," (",s(o),")"),l>0&&We.default.createElement("span",null,We.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",Er(l)," (",s(l),")")),a.length>0&&We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Fe.mono,color:r.textSecondary}},a.map((c,d)=>We.default.createElement("span",{key:d},c.name," ",Er(c.duration)," (",s(c.duration||0),")"))))}function Pse({trace:e,darkMode:t}){let[r,n]=(0,We.useState)(null),[a,o]=(0,We.useState)(!1),i=Ir(t);if((0,We.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),o(!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&&o(!0)),()=>{s=!1}},[e?.id]),a)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.bad}},"Couldn't load the conversation for this trace.");if(!r)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"Loading conversation\u2026");let l=r.instructions?[{id:`trace-${e.id}-system`,role:"system",content:r.instructions,created_at:r.created_at},...r.messages||[]]:r.messages||[];return l.length===0?We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"This trace predates content capture \u2014 no conversation to show."):We.default.createElement(so,{messages:l,darkMode:t,tools:FE(e)})}function Yv({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[a,o]=(0,We.useState)("spans"),[i,l]=(0,We.useState)("time"),s=Ir(t),u=(e?.spans||[]).length,c=N1(e),d=e?.tokens||{},f=(0,We.useCallback)(p=>o(n?p:"spans"),[n]);return e?We.default.createElement("div",null,We.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},We.default.createElement("div",{className:"flex items-center gap-1"},n&&We.default.createElement(qv,{options:Ose,value:a,onChange:f,darkMode:t}),We.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),a==="spans"&&u>0&&We.default.createElement(qv,{options:Z7,value:i,onChange:l,darkMode:t,label:"Sort"})),a==="conversation"?We.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},We.default.createElement(Pse,{trace:e,darkMode:t})):We.default.createElement(We.default.Fragment,null,i==="time"?We.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},We.default.createElement("span",null,"0ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),We.default.createElement("span",null,Er(e.duration_ms))):We.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),We.default.createElement(WE,{trace:e,darkMode:t,sort:i,keyPrefix:`${e.id||e.trace_id}:`})),c&&We.default.createElement("div",{className:"mt-3"},We.default.createElement(ys,{...c,label:"Context pressure",darkMode:t})),We.default.createElement(Mse,{trace:e,darkMode:t}),!r&&We.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}},We.default.createElement("span",null,"Tokens:"),d.thinking>0&&We.default.createElement("span",{className:"text-amber-500",style:{fontFamily:Fe.mono}},"T:",d.thinking.toLocaleString()),We.default.createElement("span",{className:"text-blue-500",style:{fontFamily:Fe.mono}},"in:",(d.input||0).toLocaleString()),We.default.createElement("span",{className:"text-green-500",style:{fontFamily:Fe.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&We.default.createElement("span",{style:{fontFamily:Fe.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&We.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"}},We.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var Dse=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}`},Ise=e=>e==null?null:`$${e.toFixed(4)}`;function P1({trace:e,darkMode:t,expanded:r,onToggle:n}){let a=Ir(t),o=UE(e),i=N1(e),l=e.status!=="ERROR";return jr.default.createElement(M1,{darkMode:t,id:`trace-row-${e.id}`},jr.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},jr.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},jr.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:Fe.mono,background:a.controlBg,color:a.textSecondary}},"TRACE"),jr.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:Fe.mono,color:a.textMuted}},e.short_id),jr.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:a.textPrimary}},e.display_name)),jr.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:a.textSecondary}},e.model&&jr.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:Fe.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"},title:"Model that generated this trace"},e.model),i&&jr.default.createElement(ys,{compact:!0,...i,label:"Context",darkMode:t}),jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),Er(e.duration_ms)),jr.default.createElement("span",null,Dse(e.tokens)," tokens"),e.estimated_cost!=null&&jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),Ise(e.estimated_cost)),jr.default.createElement("span",{style:{color:l?a.good:a.bad}},jr.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR"),jr.default.createElement(Gu,{open:r,darkMode:t}))),!r&&jr.default.createElement($f,{darkMode:t,onClick:n,style:{padding:"0 16px 12px"},lines:[{label:"input",text:o.input,color:gr("user",t).color},{label:"output",text:o.output,color:gr("assistant",t).color}]}),r&&jr.default.createElement("div",{className:"border-t p-4",style:{borderColor:a.cardBorder,background:a.innerBg}},jr.default.createElement(Yv,{trace:e,darkMode:t})))}function Ge(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}function HE(e=""){window.history.pushState({},"",Ge(e))}function Xu(e=window.location.pathname){let t=(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"");return t&&(e===t||e.startsWith(`${t}/`))?e.slice(t.length)||"/":e}function Gv(e){if(!e)return;let t=Xu(e);HE(t),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(t)}}))}var Q7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],jse=3e4,zse=e=>{let t={};return e.forEach((r,n)=>{t[r]=Q7[n%Q7.length]}),t},Lse=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 o=t[a];o.count+=1,o.total+=n.duration||0,o.max=Math.max(o.max,n.duration||0),n.error&&(o.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},Bse=(e,t,r,n=60)=>{let a=Date.now(),o=[],i=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=a-(s+1)*i,c=a-s*i,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(m=>m.agent===p).length}),o.push({time:r>1440?new Date(c).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),timestamp:c,requests:d.length,errors:d.filter(p=>p.status==="ERROR").length,avgLatency:d.length>0?Math.round(d.reduce((p,m)=>p+(m.duration_ms||0),0)/d.length):0,traces:d,...f})}return o};function Zu({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,U.useState)([]),[o,i]=(0,U.useState)([]),[l,s]=(0,U.useState)({}),[u,c]=(0,U.useState)(!0),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(null),g=(0,U.useRef)(new URLSearchParams(window.location.search).get("trace")),[h,v]=(0,U.useState)(null),[y,b]=(0,U.useState)({status:"all",agent:"all",action:"all"}),[x,S]=(0,U.useState)("time"),[w,O]=(0,U.useState)(null),[k,A]=(0,U.useState)("timeline"),[M,W]=(0,U.useState)("popular"),{timeWindow:L}=Qo(),H=(0,U.useCallback)(async()=>{try{let C=e?`&agent=${encodeURIComponent(e)}`:"",T=await fetch(`/api/traces?minutes=${L.minutes}${C}`);if(!T.ok)throw new Error(`Request failed (${T.status})`);let X=await T.json();a(X.traces||[]),i(e?[e]:X.agents||[]),s(X.agent_ids||{}),f(null)}catch(C){f(C.message)}finally{c(!1)}},[L.minutes,e]);(0,U.useEffect)(()=>{H();let C=setInterval(H,jse);return()=>clearInterval(C)},[H]);let D=(0,U.useMemo)(()=>zse(o),[o]);(0,U.useEffect)(()=>{O(null)},[L.id]);let Y=(0,U.useMemo)(()=>Bse(n,o,L.minutes,L.bucketSeconds),[n,o,L]),N=Math.max(0,Math.ceil(Y.length/6)-1),_=(0,U.useMemo)(()=>{let C=n;if(w!==null){let T=Y[w];T&&(C=T.traces||[])}if(y.status!=="all"&&(C=C.filter(T=>y.status==="success"?T.status!=="ERROR":T.status==="ERROR")),y.agent!=="all"&&(C=C.filter(T=>T.agent===y.agent)),y.action!=="all")if(y.action.includes("#")){let[T,X]=y.action.split("#");C=C.filter($=>$.agent===T&&$.action===X)}else C=C.filter(T=>T.action===y.action);return x==="latency"&&(C=[...C].sort((T,X)=>(X.duration_ms||0)-(T.duration_ms||0))),h&&!C.some(T=>T.id===h.id)&&(C=[h,...C]),C},[n,w,Y,y,x,h]);(0,U.useEffect)(()=>{let C=g.current;if(!C)return;let T=$=>{g.current=null,m($.id),setTimeout(()=>{document.getElementById(`trace-row-${$.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},X=n.find($=>$.id===C||$.trace_id===C||$.short_id&&String(C).startsWith($.short_id));if(X){T(X);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(C)}`).then($=>$.ok?$.json():Promise.reject(new Error("not found"))).then(({trace:$})=>{v($),T($)}).catch(()=>{g.current=null})},[n]);let z=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};C.forEach($=>{$.agent&&(T[$.agent]||(T[$.agent]={agent:$.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),T[$.agent].count++,T[$.agent].totalDuration+=$.duration_ms||0,T[$.agent].cost+=$.estimated_cost||0,$.status==="ERROR"&&T[$.agent].errors++,$.tokens&&(T[$.agent].tokens.thinking+=$.tokens.thinking||0,T[$.agent].tokens.input+=$.tokens.input||0,T[$.agent].tokens.output+=$.tokens.output||0),$.action&&(T[$.agent].actions[$.action]=(T[$.agent].actions[$.action]||0)+1))});let X={popular:$=>$.count,longest:$=>$.totalDuration/($.count||1),cost:$=>$.cost,tokens:$=>($.tokens.input||0)+($.tokens.output||0)+($.tokens.thinking||0),errors:$=>$.errors}[M]||($=>$.count);return Object.values(T).sort(($,Ne)=>X(Ne)-X($)||Ne.count-$.count)},[n,Y,w,M]),j=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{if(!X.agent)return;let $=`${X.agent}#${X.action||"unknown"}`;T[$]||(T[$]={key:$,agent:X.agent,action:X.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),T[$].count++,T[$].totalDuration+=X.duration_ms||0,T[$].minDuration=Math.min(T[$].minDuration,X.duration_ms||0),T[$].maxDuration=Math.max(T[$].maxDuration,X.duration_ms||0),X.status==="ERROR"&&T[$].errors++,X.tokens&&(T[$].tokens.thinking+=X.tokens.thinking||0,T[$].tokens.input+=X.tokens.input||0,T[$].tokens.output+=X.tokens.output||0)}),Object.values(T).forEach(X=>{X.minDuration===1/0&&(X.minDuration=0)}),Object.values(T).sort((X,$)=>$.count-X.count)},[n,Y,w]),P=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{(X.spans||[]).forEach($=>{if($.type!=="tool")return;let Ne=$.attributes?.["tool.name"]||$.name?.replace(/^tool\./,"")||"unknown";T[Ne]||(T[Ne]={name:Ne,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),T[Ne].count++,T[Ne].totalDuration+=$.duration||0,T[Ne].maxDuration=Math.max(T[Ne].maxDuration,$.duration||0),$.error&&T[Ne].errors++,X.agent&&T[Ne].agents.add(`${X.agent}#${X.action||"unknown"}`)})}),Object.values(T).map(X=>({...X,agents:[...X.agents],avgDuration:X.count?X.totalDuration/X.count:0})).sort((X,$)=>$.totalDuration-X.totalDuration)},[n,Y,w]),B=(0,U.useMemo)(()=>y.agent==="all"?j.map(C=>C.key):j.filter(C=>C.agent===y.agent).map(C=>C.key),[y.agent,j]),R=(0,U.useMemo)(()=>Lse(_),[_]),F=C=>{if(C&&C.activeTooltipIndex!==void 0){let T=C.activeTooltipIndex;O(w===T?null:T),m(null)}},G=C=>(C?.input||0)+(C?.output||0)+(C?.thinking||0),ee=C=>{let T=C.count?C.errors/C.count:0;return[{label:`Calls ${L.label||""}`.trim(),value:C.count.toLocaleString()},{label:"Errors",value:`${(T*100).toFixed(1)}%`,tone:C.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(C.totalDuration/(C.count||1))}ms`},{label:"Tokens",value:G(C.tokens).toLocaleString()},{label:"Cost",value:fe(C.cost),title:"Estimated from token counts at this model's published rates",tone:C.cost?void 0:"muted"},{label:"Actions",value:(C.agents?.length||0).toLocaleString()}]},fe=C=>C?C<.01?"<$0.01":`$${C.toFixed(2)}`:"\u2014",de=U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},U.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),U.default.createElement("select",{value:M,onChange:C=>W(C.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"}},U.default.createElement("option",{value:"popular"},"Most calls"),U.default.createElement("option",{value:"longest"},"Longest average"),U.default.createElement("option",{value:"cost"},"Highest cost"),U.default.createElement("option",{value:"tokens"},"Most tokens"),U.default.createElement("option",{value:"errors"},"Most errors"))),De=C=>b(T=>({...T,agent:T.agent===C?"all":C})),le=C=>{let T=l[C];if(!T)return De(C);let X=Ge(`/agents/${T}`);window.history.pushState(window.history.state,"",X),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:X}}))},Te=C=>{let T=R[0]?.total||1,X=C?"rgba(0,0,0,0.3)":"white",$=C?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",Ne=C?"white":"#111827",E=C?"rgba(255,255,255,0.5)":"#6b7280",Z={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return U.default.createElement("div",{style:{padding:C?"0 24px 24px 24px":0}},U.default.createElement("div",{style:{background:X,border:$,borderRadius:"12px",padding:"16px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:Ne,marginBottom:"4px"}},"Slowest operations"),U.default.createElement("div",{style:{fontSize:"12px",color:E,marginBottom:"14px"}},"Span durations aggregated across ",_.length," trace",_.length===1?"":"s"," \u2014 ranked by total time"),R.length===0?U.default.createElement("div",{style:{fontSize:"13px",color:E,padding:"12px 0"}},"No spans in the current selection"):U.default.createElement("div",{style:{display:"grid",gap:"10px"}},R.map(ge=>U.default.createElement("div",{key:ge.name,style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("span",{style:{color:E}},$E(ge.type)),U.default.createElement("span",{style:{fontSize:"13px",color:ge.errors>0?"#ef4444":Ne,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},ge.name)),U.default.createElement("div",{style:{flex:1,height:"18px",background:C?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},U.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(ge.total/T*100,.5)}%`,background:Z[ge.type]||"#6366f1"}})),U.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:E,fontFamily:Fe.mono,textAlign:"right"}},ge.count,"\xD7 \xB7 avg ",Er(ge.avg)," \xB7 max ",Er(ge.max)," \xB7 \u03A3 ",Er(ge.total)))))))};if(u)return U.default.createElement("div",{className:"flex items-center justify-center h-64"},U.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let K={requests:Y.reduce((C,T)=>C+T.requests,0),errors:Y.reduce((C,T)=>C+T.errors,0),avgLatency:(()=>{let C=Y.filter(T=>T.requests>0);return C.length===0?0:Math.round(C.reduce((T,X)=>T+X.avgLatency,0)/C.length)})(),throughput:(Y.reduce((C,T)=>C+T.requests,0)/L.minutes).toFixed(1)},I=n.length===0;return r?U.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},U.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},U.default.createElement("div",null,!t&&U.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),U.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),style:{padding:"6px 12px",background:k===C?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},C))),!e&&U.default.createElement("select",{value:y.agent,onChange:C=>b({...y,agent:C.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"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:y.action,onChange:C=>b({...y,action:C.target.value}),style:{padding:"8px 12px",background:y.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:y.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:y.status,onChange:C=>b({...y,status:C.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"}},U.default.createElement("option",{value:"all"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:x,onChange:C=>S(C.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"}},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(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&&U.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),U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,style:{display:"flex",alignItems:"center",gap:"6px"}},U.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:T}}),U.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},C.replace("Agent","")))))),U.default.createElement("div",{style:{height:"150px"}},U.default.createElement(Bl,{width:"100%",height:"100%"},U.default.createElement(vs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.8}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.1})))),U.default.createElement(qi,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),U.default.createElement(Zi,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:N}),U.default.createElement(Ji,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(ts,{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:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Gi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-${C})`}))))),U.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},K.requests),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},K.errors),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},K.avgLatency,"ms"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},K.throughput,"/min"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),k==="agents"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},de,U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px",whiteSpace:"nowrap"}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:y.agent===C.agent?"#ef4444":"inherit",font:"inherit"}},y.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},j.map(C=>{let T=y.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{b({...y,action:T?"all":C.key}),A("timeline")},style:{background:T?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:T?"1px solid #ef4444":`1px solid ${D[C.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:D[C.agent]}}),U.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},C.agent),U.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",C.action)),U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px"}},C.count," calls")),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),U.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),U.default.createElement("div",{style:{fontSize:"13px",color:C.errors>0?"#ef4444":"#10b981"}},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},G(C.tokens).toLocaleString()))))}))),k==="spans"&&Te(!0),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):_.map(C=>U.default.createElement(P1,{key:C.id,trace:C,darkMode:!0,expanded:p===C.id,onToggle:()=>m(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},U.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),U.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"))):U.default.createElement("div",{className:"space-y-6"},U.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},U.default.createElement("div",null,U.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),U.default.createElement("p",{className:"text-sm text-gray-500"},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},U.default.createElement(Jo,null),U.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${k===C?"bg-white shadow text-gray-900":"text-gray-600"}`},C))),U.default.createElement("select",{value:y.agent,onChange:C=>b({...y,agent:C.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"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:y.action,onChange:C=>b({...y,action:C.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${y.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:y.status,onChange:C=>b({...y,status:C.target.value}),className:"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"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:x,onChange:C=>S(C.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(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&&U.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),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},U.default.createElement("div",{className:"flex justify-between items-center mb-3"},U.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),U.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,className:"flex items-center gap-1.5"},U.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:T}}),U.default.createElement("span",{className:"text-xs text-gray-500"},C.replace("Agent","")))))),U.default.createElement("div",{className:"h-36"},U.default.createElement(Bl,{width:"100%",height:"100%"},U.default.createElement(vs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-light-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.6}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.05})))),U.default.createElement(qi,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),U.default.createElement(Zi,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:N}),U.default.createElement(Ji,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(ts,{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:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Gi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-light-${C})`}))))),U.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-gray-900"},K.requests),U.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-red-500"},K.errors),U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-green-600"},K.avgLatency,"ms"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-amber-500"},K.throughput,"/min"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),k==="agents"&&U.default.createElement("div",null,de,U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},className:y.agent===C.agent?"text-red-600":"hover:text-gray-700"},y.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},j.map(C=>{let T=y.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{b({...y,action:T?"all":C.key}),A("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${T?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:D[C.agent],borderLeftWidth:T?"2px":"4px"}},U.default.createElement("div",{className:"flex items-center justify-between mb-3"},U.default.createElement("div",{className:"flex items-center gap-2"},U.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:D[C.agent]}}),U.default.createElement("span",{className:"font-semibold text-gray-900"},C.agent),U.default.createElement("span",{className:"text-gray-500"},"#",C.action)),U.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls")),U.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),U.default.createElement("div",{className:"font-medium"},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),U.default.createElement("div",{className:"text-gray-600"},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),U.default.createElement("div",{className:C.errors>0?"text-red-600":"text-green-600"},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("div",{className:"text-gray-600"},G(C.tokens).toLocaleString()))))})),k==="tools"&&(P.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.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"},U.default.createElement("div",{className:"flex-1"},"Tool"),U.default.createElement("div",{className:"w-20 text-right"},"Calls"),U.default.createElement("div",{className:"w-24 text-right"},"Total time"),U.default.createElement("div",{className:"w-20 text-right"},"Avg"),U.default.createElement("div",{className:"w-20 text-right"},"Slowest")),P.map(C=>{let T=P[0].totalDuration?C.totalDuration/P[0].totalDuration*100:0;return U.default.createElement("div",{key:C.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},U.default.createElement("div",{className:"flex items-center gap-4 text-sm"},U.default.createElement("div",{className:"flex-1 min-w-0"},U.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:C.name},C.name),C.agents.length>0&&U.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:C.agents.join(", ")},C.agents.join(", "))),U.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Fe.mono}},C.count.toLocaleString(),C.errors>0&&U.default.createElement("span",{className:"text-red-600 ml-1",title:`${C.errors} failed`},"(",C.errors,")")),U.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Fe.mono}},Er(C.totalDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.avgDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.maxDuration))),U.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},U.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(T,1)}%`}})))}))),k==="spans"&&Te(!1),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):_.map(C=>U.default.createElement(P1,{key:C.id,trace:C,darkMode:!1,expanded:p===C.id,onToggle:()=>m(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{className:"text-center py-12"},U.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),U.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=te(ne());var D1=te(ne());function VE({trace:e,darkMode:t,height:r=8}){let n=Ir(t);if(!e)return D1.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let a=e.spans||[],o=e.duration_ms||1,i=[...a].sort((l,s)=>(l.nested||0)-(s.nested||0));return D1.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},i.map((l,s)=>D1.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${Er(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/o*100,99)}%`,width:`${Math.max(l.duration/o*100,.8)}%`,background:l.error?"#ef4444":BE[l.type]||"#9ca3af"}})))}var $se=e=>{let t=null;if((e?.generations||[]).forEach(o=>{let i=o.tokens||{},l=(i.input||0)+(i.output||0);l>0&&(!t||l>t.total)&&(t={input:i.input||0,output:i.output||0,cached:i.cached||0,thinking:i.thinking||0,model:o.model,total:l})}),!t)return null;let r=gs(e?.instructions),n=0;(e?.messages||[]).forEach(o=>{o.role==="tool"&&(n+=gs(o.content)+gs(o.tool_arguments))}),n=Math.min(n,t.input);let a=Math.max(t.input-r-n,0);return{used:t.total,limit:Fv(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}]}},J7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Use=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],Fse=[{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"}],Wse=3e4,tl=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),Hse=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 Vse({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:a}){let o=Ir(t),[i,l]=(0,ce.useState)(null),[s,u]=(0,ce.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,ce.useEffect)(()=>{if(!c)return;let m=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(g=>g.ok?g.json():Promise.reject(new Error("not found"))).then(({trace:g})=>m&&l(g)).catch(()=>m&&u(!0)),()=>{m=!1}},[c]);let f=!!i,p=(i?.spans||[]).length;return ce.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:o.hoverBg}:void 0},ce.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},ce.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:o.textSecondary}},ce.default.createElement("span",{title:e.cache_hit?`${tl(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?o.good:o.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&ce.default.createElement("span",{className:"text-amber-500",title:`${tl(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",tl(e.tokens.thinking)),ce.default.createElement("span",null,e.model||"unknown-model"),e.provider&&ce.default.createElement("span",null,e.provider),ce.default.createElement("span",{className:"text-blue-500"},"in:",tl(e.tokens.input)),ce.default.createElement("span",{className:"text-green-500"},"out:",tl(e.tokens.output)),e.finish_reason&&ce.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&ce.default.createElement("span",null,Er(d)),c&&ce.default.createElement("a",{href:Ge(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:o.link},className:"hover:underline",onClick:m=>m.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&ce.default.createElement("span",{style:{color:o.textMuted}},"trace unavailable")),ce.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?ce.default.createElement(VE,{trace:i,darkMode:t}):d>0?ce.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:o.trackBg}},ce.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:o.textMuted}},p," ",p===1?"span":"spans"),ce.default.createElement(Gu,{open:n,darkMode:t,size:12})))),n&&i&&ce.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:o.cardBg,borderColor:o.cardBorder}},ce.default.createElement(Yv,{trace:i,darkMode:t,compact:!0})))}function rl({agentId:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,ce.useState)([]),[o,i]=(0,ce.useState)(!0),[l,s]=(0,ce.useState)(null),[u,c]=(0,ce.useState)(null),[d,f]=(0,ce.useState)({}),{timeWindow:p}=Qo(),m=(0,ce.useCallback)(async()=>{try{let H=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!H.ok)throw new Error(`Request failed (${H.status})`);let D=await H.json();a(D.interactions||[]),s(null)}catch(H){s(H.message)}finally{i(!1)}},[p.minutes,e]);(0,ce.useEffect)(()=>{m();let H=setInterval(m,Wse);return()=>clearInterval(H)},[m]);let[g,h]=(0,ce.useState)("recent"),v=(0,ce.useMemo)(()=>{let H=[...new Set(n.map(D=>D.display_name).filter(Boolean))].sort();return Object.fromEntries(H.map((D,Y)=>[D,J7[Y%J7.length]]))},[n]),y=(0,ce.useMemo)(()=>{let H=n.reduce((Y,N)=>Y+(N.tokens?.total||0),0),D=new Set(n.map(Y=>Y.display_name).filter(Boolean));return{interactions:n.length,tokens:H,agents:D.size,avgTokens:n.length?Math.round(H/n.length):0}},[n]),b=(0,ce.useMemo)(()=>{if(n.length===0)return[];let H=Date.now(),D=p.bucketSeconds*1e3,Y=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),N=Object.keys(v);return Array.from({length:Y},(_,z)=>{let j=H-(Y-1-z)*D,P=j-D,B=n.filter(R=>{let F=new Date(R.last_activity_at).getTime();return F>=P&&F1440?new Date(j).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(j).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(N.map(R=>[R,B.filter(F=>F.display_name===R).length]))}})},[n,v,p]),x=Math.max(0,Math.ceil(b.length/6)-1),S=(0,ce.useCallback)(H=>{let D=[...H];switch(g){case"tokens":return D.sort((Y,N)=>(N.tokens?.total||0)-(Y.tokens?.total||0));case"messages":return D.sort((Y,N)=>(N.message_count||0)-(Y.message_count||0));default:return D.sort((Y,N)=>String(N.last_activity_at).localeCompare(String(Y.last_activity_at)))}},[g]),w=(0,ce.useMemo)(()=>{let H=new Map;n.forEach(Y=>{let N=Y.agent_name||Y.agent?.name||"Unattributed",_=Y.action_name,z=`${N}#${_||""}`;H.has(z)||H.set(z,{key:z,title:_?`${N} ${_.charAt(0).toUpperCase()}${_.slice(1)} Agent Interactions`:`${N} Interactions`,sessions:[],tokens:0,lastActivity:Y.last_activity_at});let j=H.get(z);j.sessions.push(Y),j.tokens+=Y.tokens?.total||0,Y.last_activity_at>j.lastActivity&&(j.lastActivity=Y.last_activity_at)});let D=[...H.values()].map(Y=>({...Y,sessions:S(Y.sessions)}));return g==="tokens"?D.sort((Y,N)=>N.tokens-Y.tokens):g==="messages"?D.sort((Y,N)=>N.sessions.length-Y.sessions.length):D.sort((Y,N)=>String(N.lastActivity).localeCompare(String(Y.lastActivity)))},[n,g,S]),O=async H=>{if(u===H){c(null);return}if(c(H),!d[H])try{let D=await fetch(`/api/interactions/${H}`);if(D.ok){let Y=await D.json();f(N=>({...N,[H]:Y.interaction}))}}catch{}},[k,A]=(0,ce.useState)({}),[M,W]=Uf(),L=Ir(r);return o?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:L.textPrimary}},"Interactions"),ce.default.createElement("p",{className:"text-sm mt-1",style:{color:L.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:L.textMuted}},"Sort"),Use.map(H=>ce.default.createElement("button",{key:H.id,onClick:()=>h(H.id),className:"px-2 py-1 text-xs rounded transition-colors",style:g===H.id?{background:r?"#2a2a2a":"#ffffff",color:L.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:L.textSecondary}},H.label))),ce.default.createElement(Jo,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:L.cardBg,borderColor:L.cardBorder}},ce.default.createElement("div",{className:"flex items-center justify-between mb-3"},ce.default.createElement("h3",{className:"text-sm font-semibold",style:{color:L.textPrimary}},"Interactions over time"),ce.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(v).map(([H,D])=>ce.default.createElement("span",{key:H,className:"flex items-center gap-1.5 text-xs",style:{color:L.textSecondary}},ce.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:D}}),H)))),ce.default.createElement("div",{className:"h-32"},ce.default.createElement(Bl,{width:"100%",height:"100%"},ce.default.createElement(vs,{data:b},ce.default.createElement("defs",null,Object.entries(v).map(([H,D])=>ce.default.createElement("linearGradient",{key:H,id:`ix-gradient-${H.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},ce.default.createElement("stop",{offset:"5%",stopColor:D,stopOpacity:.6}),ce.default.createElement("stop",{offset:"95%",stopColor:D,stopOpacity:.05})))),ce.default.createElement(qi,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),ce.default.createElement(Zi,{dataKey:"time",stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,interval:x}),ce.default.createElement(Ji,{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(ts,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${L.cardBorder}`,borderRadius:"8px"},labelStyle:{color:L.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(v).map(([H,D])=>ce.default.createElement(Gi,{key:H,type:"monotone",dataKey:H,stackId:"1",stroke:D,strokeWidth:2,fill:`url(#ix-gradient-${H.replace(/\W/g,"-")})`}))))),ce.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:L.cardBorder}},[{label:"Interactions",value:y.interactions.toLocaleString()},{label:"Agents",value:y.agents.toLocaleString()},{label:"Total tokens",value:tl(y.tokens)},{label:"Avg / interaction",value:tl(y.avgTokens)}].map(H=>ce.default.createElement("div",{key:H.label},ce.default.createElement("div",{className:"text-lg font-bold",style:{color:L.textPrimary}},H.value),ce.default.createElement("div",{className:"text-xs",style:{color:L.textSecondary}},H.label))))),n.length===0?ce.default.createElement("div",{className:"text-center py-12"},ce.default.createElement("div",{className:"text-lg",style:{color:L.textMuted}},"No interactions in the last ",p.label),ce.default.createElement("p",{className:"text-sm mt-2",style:{color:L.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):ce.default.createElement("div",{className:"space-y-8"},w.map(H=>ce.default.createElement("div",{key:H.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:L.textPrimary}},H.title),ce.default.createElement("span",{className:"text-xs",style:{color:L.textMuted}},H.sessions.length," ",H.sessions.length===1?"interaction":"interactions",H.tokens>0&&` \xB7 ${tl(H.tokens)} tokens`)),H.sessions.map(D=>{let Y=d[D.id],N=u===D.id,_=k[D.id]||"conversation";return ce.default.createElement(M1,{key:D.id,darkMode:r,className:"shadow-sm"},ce.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:()=>O(D.id),style:N?{background:L.hoverBg}:void 0},ce.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},D.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:L.textPrimary}},D.display_name),D.agent&&ce.default.createElement("span",{className:"text-sm truncate",style:{color:L.textSecondary}},D.agent.name),D.service_name&&ce.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:L.textMuted}},D.service_name)),ce.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:L.textSecondary}},ce.default.createElement("span",null,D.message_count>0?`${D.message_count} messages`:`${D.tool_count||0} tool ${D.tool_count===1?"call":"calls"}`),ce.default.createElement("span",null,tl(D.tokens?.total)," tokens"),(D.tokens?.total||0)>0&&ce.default.createElement(ys,{compact:!0,darkMode:r,label:"Context",used:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total,limit:Fv(D.model),segments:[{key:"messages",label:"Context",tokens:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total}]}),ce.default.createElement("span",{style:{color:L.textMuted}},Hse(D.last_activity_at)),ce.default.createElement(Gu,{open:N,darkMode:r}))),!N&&ce.default.createElement($f,{darkMode:r,onClick:()=>O(D.id),style:{padding:"0 16px 12px"},lines:[{label:"input",text:D.preview?.input,color:gr("user",r).color},{label:"output",text:D.preview?.output,color:gr("assistant",r).color}]}),N&&ce.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:L.cardBorder,background:L.innerBg}},Y?ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},ce.default.createElement(qv,{options:Fse,value:_,onChange:z=>A(j=>({...j,[D.id]:z})),darkMode:r}),ce.default.createElement("span",{className:"text-xs",style:{color:L.textSecondary}},Y.messages.length," ",Y.messages.length===1?"message":"messages",Y.generations.length>0&&` \xB7 ${Y.generations.length} ${Y.generations.length===1?"generation":"generations"}`)),_==="conversation"&&ce.default.createElement(ce.default.Fragment,null,Y.messages.length===0&&ce.default.createElement("div",{className:"text-sm",style:{color:L.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(so,{darkMode:r,messages:Y.instructions?[{id:`ctx-${D.id}-system`,role:"system",content:Y.instructions,created_at:D.created_at},...Y.messages]:Y.messages}),(()=>{let z=$se(Y);return z?ce.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:L.cardBorder}},ce.default.createElement(ys,{...z,label:"Context pressure",estimated:!0,darkMode:r})):null})()),_==="spans"&&(Y.generations.length===0?ce.default.createElement("div",{className:"text-sm",style:{color:L.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):ce.default.createElement("div",{className:"space-y-2"},Y.generations.map(z=>ce.default.createElement(Vse,{key:z.id,generation:z,darkMode:r,maxMs:Math.max(...Y.generations.map(j=>(j.duration_seconds||0)*1e3),1),expanded:M(`${D.id}:${z.id}`),onToggle:()=>W(`${D.id}:${z.id}`)}))))):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=te(ne());function e$(e,t){let r=i=>{let l=Object.values(t[i]||{})[0];if(!l)return null;let s=l.scenario||l;return{key:i,prompt:s.prompt,group:s.group??null,notes:s.notes??null,expectations:s.expectations||{},position:s.position}},n=new Set(e.map(i=>i.key)),a=e.map(i=>{let l=r(i.key);if(!l)return i;let s=["prompt","group","notes","expectations"].some(u=>JSON.stringify(i[u]??null)!==JSON.stringify(l[u]??null));return{...i,...l,catalogChanged:s}}),o=Object.keys(t).filter(i=>!n.has(i)).map(i=>({...r(i),id:null,enabled:!1,orphan:!0}));return[...a,...o]}var R7=e=>/^[1-9]\d*$/.test(e||"")?e:null;function I1(e){let t=new URLSearchParams(e),r=R7(t.get("evaluation"));return r?{evaluationId:r,runId:R7(t.get("run"))}:null}async function t$(e,t,r){if(!t||e.some(o=>String(o.id)===String(t)))return e;let n=await r(`/api/evaluations/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`Requested evaluation is unavailable (HTTP ${n.status})`);let a=await n.json();if(!a.evaluation)throw new Error("Requested evaluation is unavailable");return[a.evaluation,...e]}var Pe=te(ne());var Gt=te(ne());var ye="var(--font-mono)",Qu=e=>e>=1?"success":e>=.7?"warning":"error",nl={success:{strong:"var(--color-success)",soft:"var(--color-success-soft)",text:"var(--color-success-text)"},warning:{strong:"var(--color-warning)",soft:"var(--color-warning-soft)",text:"var(--color-warning-text)"},error:{strong:"var(--color-error)",soft:"var(--color-error-soft)",text:"var(--color-error-text)"},info:{strong:"var(--color-info)",soft:"var(--color-info-soft)",text:"var(--color-info-text)"},muted:{strong:"var(--color-text-muted)",soft:"var(--color-muted)",text:"var(--color-text-secondary)"},accent:{strong:"var(--color-accent-ui)",soft:"var(--color-accent-ui-tint)",text:"var(--color-accent-ui)"}},KE={object:"=",sample:"~",pass:Ut.success,fault:Ut.error,info:Ut.info,on:"[x]",off:"[ ]",link:Ut.arrow,chevron:Ut.chevronRight};function Ju({kind:e="pass",open:t=!1,color:r,size:n=12,weight:a=700,style:o,title:i}){return e==="chevron"?Gt.default.createElement("span",{className:"aa-chevron","data-open":t?"true":"false",title:i,style:{fontFamily:ye,fontSize:n,color:r||"var(--color-text-muted)",flexShrink:0,...o}},KE.chevron):Gt.default.createElement("span",{title:i,style:{fontFamily:ye,fontSize:n,fontWeight:a,color:r||(e==="fault"?"var(--color-error)":e==="info"?"var(--color-info)":e==="pass"?"var(--color-success)":"var(--color-text-muted)"),flexShrink:0,...o}},KE[e]||e)}function or({tone:e="muted",size:t=11,children:r,title:n,style:a,testId:o}){let i=nl[e]||nl.muted;return Gt.default.createElement("span",{"data-testid":o,title:n,style:{display:"inline-flex",alignItems:"center",padding:"2px 7px",borderRadius:4,fontFamily:ye,fontSize:t,fontWeight:600,whiteSpace:"nowrap",background:i.soft,color:i.text,...a}},r)}function rt({children:e,size:t=11,color:r="var(--color-text-secondary)",spacing:n="0.06em",style:a,as:o="span"}){return Gt.default.createElement(o,{style:{fontFamily:ye,fontSize:t,fontWeight:600,letterSpacing:n,textTransform:"uppercase",color:r,...a}},e)}function al({selected:e=!1,onClick:t,children:r,square:n=!1,mono:a=!1,title:o,style:i,testId:l}){return Gt.default.createElement("button",{type:"button","data-testid":l,onClick:t,title:o,style:{padding:"4px 10px",borderRadius:n?6:999,cursor:t?"pointer":"default",fontFamily:a?ye:"inherit",fontSize:a?11:12,fontWeight:a?400:500,background:e?"var(--color-accent-ui-tint)":"var(--color-card)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border)"}`,color:e?"var(--color-accent-ui)":a?"var(--color-text-muted)":"var(--color-text-cell)",...i}},r)}function j1({options:e,value:t,onChange:r,style:n}){return Gt.default.createElement("div",{style:{display:"flex",gap:4,...n},role:"group"},e.map(a=>{let o=a.value===t;return Gt.default.createElement("button",{key:a.value,type:"button",onClick:()=>r(a.value),"aria-pressed":o,style:{padding:"6px 12px",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:500,background:"var(--color-card)",border:`1px solid ${o?"var(--color-accent-ui)":"var(--color-border)"}`,color:o?"var(--color-accent-ui)":"var(--color-text-cell)"}},a.label)}))}function zr({variant:e="secondary",size:t="md",children:r,onClick:n,disabled:a=!1,title:o,type:i="button",style:l,testId:s}){let c={padding:t==="sm"?"6px 12px":"8px 14px",borderRadius:8,cursor:a?"not-allowed":"pointer",fontSize:13,fontWeight:500,opacity:a?.5:1,whiteSpace:"nowrap",fontFamily:"inherit"},d={primary:{background:"var(--color-accent-ui)",color:"var(--color-on-accent)",border:"1px solid transparent"},secondary:{background:"transparent",color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)"},danger:{background:"transparent",color:"var(--color-error)",border:"1px solid transparent"},ghost:{background:"transparent",color:"var(--color-text-secondary)",border:"1px solid transparent"}};return Gt.default.createElement("button",{type:i,"data-testid":s,onClick:n,disabled:a,title:o,style:{...c,...d[e]||d.secondary,...l}},r)}function yr({children:e,padding:t=20,style:r,className:n,testId:a,...o}){return Gt.default.createElement("div",{"data-testid":a,className:n,style:{background:"var(--color-card)",border:"1px solid var(--color-border)",borderRadius:12,padding:t,...r},...o},e)}function Xv({label:e,value:t,sub:r,valueColor:n,valueSize:a=32,testId:o}){return Gt.default.createElement(yr,{testId:o},Gt.default.createElement(rt,{size:11,spacing:"0.05em"},e),Gt.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:a,fontWeight:700,lineHeight:1.1,color:n||"var(--color-text-primary)"}},t),r!=null&&Gt.default.createElement("div",{style:{marginTop:8,fontSize:13,color:"var(--color-text-secondary)"}},r))}function qE({title:e,meta:t,children:r,style:n,testId:a,bodyStyle:o}){return Gt.default.createElement("div",{"data-testid":a,style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0,...n}},(e||t)&&Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--color-muted)"}},e&&Gt.default.createElement(rt,null,e),t&&Gt.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t)),Gt.default.createElement("div",{style:o},r))}function r$({passed:e,total:t,label:r,labelWidth:n=128,width:a,height:o=6,color:i,valueWidth:l=38,style:s}){let u=t?e/t:0,c=i||nl[Qu(u)].strong;return Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,...s}},r!=null&&Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)",width:n,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r},r),Gt.default.createElement("span",{style:{flex:a?void 0:1,width:a,height:o,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0}},Gt.default.createElement("span",{style:{display:"block",width:`${Math.round(u*100)}%`,height:"100%",borderRadius:999,background:c}})),Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,width:l,textAlign:"right",color:c}},e,"/",t))}function Ff({children:e,onClick:t,href:r="#",color:n="var(--color-info)",size:a=11,style:o,title:i}){return Gt.default.createElement("a",{href:r,title:i,onClick:l=>{t&&(l.preventDefault(),t(l))},style:{fontFamily:ye,fontSize:a,color:n,textDecoration:"none",...o}},e," ",KE.link)}function aa({children:e,style:t}){return Gt.default.createElement("div",{style:{padding:"20px 12px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)",textAlign:"center",...t}},e)}var hr=e=>{let t=Number(e)||0;return Math.abs(t)>=1e6?`${(t/1e6).toFixed(1)}M`:Math.abs(t)>=1e3?`${(t/1e3).toFixed(1)}K`:`${Math.round(t)}`},YE=e=>e==null?"\u2014":hr(e),Qr=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(t>=1e4?1:2).replace(/\.?0+$/,"")}s`:`${Math.round(t)}ms`},Zv=e=>{if(e==null)return"\u2014";let t=Number(e);return t===0?"$0.00":Math.abs(t)<.01?`$${t.toFixed(4)}`:`$${t.toFixed(2)}`},uo=(e,t=4)=>e==null?"\u2014":`$${Number(e).toFixed(t)}`,n$=(e,t=0)=>`${(Number(e||0)*100).toFixed(t)}%`,Ru=e=>e==null?"\u2014":Number(e).toFixed(2),Wf=(e,t="%",r=0)=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let n=Number(e);return`${n>0?"+":n<0?"-":""}${Math.abs(n).toFixed(r)}${t}`},Hf=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t} min ago`;if(t<1440){let n=Math.floor(t/60);return`${n} hour${n===1?"":"s"} ago`}let r=Math.floor(t/1440);return`${r} day${r===1?"":"s"} ago`},z1=(e,t=null)=>{let r=String(e||""),n=r.lastIndexOf("/");return n>0?{short:r.slice(n+1),provider:r.slice(0,n)}:{short:r,provider:t||""}};var se=te(ne());var xs=e=>[...new Set(e)],Xt=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Qv=e=>String(e||"").replace(/_/g," "),bs=e=>e?.status==="passed",ec=e=>!!e&&e.status!=="pending",ws=e=>!!e&&["pending","running"].includes(e.status),B1=e=>e?.selection||e?.scores?._selection||{},Kse=e=>(B1(e).models||[]).map(t=>typeof t=="string"?t:t?.label).filter(Boolean);function L1(e,t=[],r=null){if(Array.isArray(e?.models)&&e.models.length)return e.models;let n=Object.keys(e?.scores?._models||{});if(n.length)return n;let a=Kse(e);if(a.length)return a;let o=xs(t.map(l=>Rv(e,l)));if(o.length)return o;let i=r?.compare_models||[];return i.length?i:e?["agent's model"]:[]}function Rv(e,t){let n=(B1(e).models||[]).filter(i=>i&&typeof i=="object").find(i=>i.model===t.model&&(i.provider||"")===(t.provider||""));if(n?.label)return n.label;let a=e?.scores?._models||{};if(a[t.model])return t.model;let o=[t.provider,t.model].filter(Boolean).join("/");return a[o]?o:t.model}function XE(e,t){let r=e?.scores?._models?.[t],n=(B1(e).models||[]).find(a=>a&&typeof a=="object"&&a.label===t);return z1(t,r?.provider||n?.provider||"")}function ZE(e,t=[]){let r=B1(e);if(Array.isArray(r.scenario_keys)&&r.scenario_keys.length)return r.scenario_keys;if(!e)return[];if(Array.isArray(r.keys)&&r.keys.length)return r.keys;if(Array.isArray(r.scenario_ids)&&r.scenario_ids.length){let a=r.scenario_ids.map(String);return t.filter(o=>a.includes(String(o.id))).map(o=>o.key)}let n=t.filter(a=>a.enabled!==!1);return r.group?n.filter(a=>a.group===r.group).map(a=>a.key):ws(e)?n.map(a=>a.key):[]}function Jv(e,t=[],r=[]){let n=ZE(e,r);if(n.length)return n.length;let a=Object.values(e?.scores?._models||{});return a.length?Math.max(...a.map(o=>o.scenarios||0)):e?.samples_evaluated&&t.length?Math.round(e.samples_evaluated/t.length):0}function a$(e,t,r=[],n=0){let a=e?.scores?._models?.[t];if(a&&a.scenarios!=null)return{passed:a.passed||0,total:a.scenarios||0};let o=r.filter(i=>Rv(e,i)===t);return{passed:o.filter(bs).length,total:n||o.length}}function QE(e,t=[],r=[],n=[]){if(e?.status==="complete"&&e.samples_evaluated!=null)return{passed:e.samples_passed||0,total:e.samples_evaluated||0};let a=Jv(e,r,n)*Math.max(r.length,1);return{passed:t.filter(bs).length,total:a}}function o$(e,t=[]){let r=[],n={};return(Array.isArray(e)?e:[]).forEach(a=>{let o=typeof a=="string"?a:String(a?.name||"");o&&(n[o]||(n[o]={name:o,count:0,errored:!1},r.push(o)),n[o].count+=1,a&&typeof a=="object"&&a.error&&(n[o].errored=!0))}),r.map(a=>{let o=n[a],i=t.includes(a);return{...o,hit:i,label:`${a}${o.errored?" \u2717":""}${o.count>1?` \xD7${o.count}`:""}`,color:o.errored?"var(--color-error)":i?"var(--color-success-text)":"var(--color-text-muted)",weight:o.errored||i?600:400}})}var qse=(e,t)=>{let r=String(e||"").trim();return r.length>t?`${r.slice(0,t-1)}\u2026`:r},GE=e=>e?.diagnosis?.judge?.instruction_change;function i$(e,t=[]){let r=e?.scores?._recommendations||[];if(Array.isArray(e?.fix_items)){let o=r.length>0||t.some(GE);if(e.fix_items.length>0||!o)return e.fix_items}let n=r.map(o=>Yse(o,t)),a=new Set;return t.forEach(o=>{let i=GE(o);if(!i||a.has(i))return;a.add(i);let l=t.filter(s=>GE(s)===i);n.push({kind:"instruction",fault:"instruction change",count:l.length,scenario_keys:xs(l.map(s=>s.scenario_key)),models:xs(l.map(s=>Rv(e,s))),recommendation:o.diagnosis.judge.recommendation||o.recommendation||"",quote:i,tools_label:null,tools:[],server:null,note:null,action:{label:"Add to instructions",hint:"Agent -> Instructions",path:null}})}),n}function Yse(e,t){let r=e.fault,n=t.filter(u=>u.fault===r),a=(e.suggested_tools||[]).map(u=>typeof u=="string"?u:u?.name).filter(Boolean),o=null,i=[],l=null,s=null;if(r==="expected_tool_not_called"){o="missing tools";let u=xs(n.flatMap(d=>d.diagnosis?.evidence?.unavailable||[]));u.length||(u=xs(n.flatMap(d=>{let f=d.diagnosis?.evidence||{};return(f.expected||[]).filter(p=>!(f.called||[]).includes(p))}))),i=u.map(d=>({name:d,note:null,server:null}));let c=n.filter(d=>d.diagnosis?.summary&&(d.diagnosis?.evidence?.unavailable||[]).length===0);c.length&&c.length`${d.scenario_key} is the exception: ${d.diagnosis.summary} ${d.diagnosis.recommendation||""}`.trim()).join(" "))}else if(r==="tool_error"){o="failing tools";let u={};n.forEach(c=>(c.tool_calls||[]).forEach(d=>{!d||typeof d!="object"||!d.error||!d.name||u[d.name]||(u[d.name]={name:d.name,note:qse(d.detail,60)||null,server:null})})),i=Object.values(u),s={label:"Open failing tools",hint:"Tools ->",path:"/tools"}}else o=a.length?"suggested tools":null,i=xs(a).map(u=>({name:u,note:null,server:null}));return!s&&o==="suggested tools"&&i.length&&(s={label:"Open suggested tools",hint:"Tools ->",path:"/tools"}),{kind:"fault",fault:r,count:e.count||n.length,scenario_keys:e.scenario_keys||xs(n.map(u=>u.scenario_key)),models:e.models||[],recommendation:e.recommendation||"",quote:null,tools_label:o,tools:i,server:null,note:l,action:s}}var un=(e,t="var(--color-text-muted)",r={})=>({fontFamily:ye,fontSize:e,color:t,...r});function l$({calls:e,empty:t,style:r}){return se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"2px 8px",fontFamily:ye,fontSize:11,...r}},e.map(n=>se.default.createElement("span",{key:n.name,style:{color:n.color,fontWeight:n.weight}},n.label)),e.length===0&&se.default.createElement("span",{style:{color:"var(--color-text-muted)"}},t))}var Gse=20,$1=(e=[],t=null)=>Number.isFinite(t)?Math.max(t,e.length):e.length,Xse=(e=[],t=null)=>{let r=$1(e,t),n=e.length=Gse;return`${Xt(r,"run")}${n?` \xB7 latest ${e.length}`:""}`};function s$({runs:e,runCount:t=null,selectedId:r,onSelect:n,agentName:a,selectedResults:o=[],scenarios:i=[]}){let l=$1(e,t),s=c=>l-c,u=e.map((c,d)=>{let f=L1(c,c.id===r?o:[]),p=c.id===r?o:[],m=Jv(c,f,i),g=QE(c,p,f,i),h=c.selection||c.scores?._selection||{},v="first run",y="var(--color-text-muted)";if(c.status==="failed")v="failed",y="var(--color-error)";else if(ws(c))v=c.status==="pending"?"queued":"running";else{let b=e.findIndex((S,w)=>w>d&&S.status==="complete"),x=b>=0?e[b]:null;if(x){let S=L1(x);if(Jv(x,S,i)===m&&S.length===f.length){let O=g.passed-(x.samples_passed||0);v=`${O>0?"+":""}${O} passed vs #${s(b)}`,y=O>0?"var(--color-success)":O<0?"var(--color-error)":"var(--color-text-muted)"}else v="partial run"}}return{run:c,label:`#${s(d)}`,when:Hf(c.completed_at||c.created_at),delta:v,deltaColor:y,note:`${a} \xB7 ${Xt(m,"scenario")} \xD7 ${Xt(f.length,"model")}${h.group?` \xB7 ${h.group}`:""}`,bars:f.map(b=>({label:b,...a$(c,b,p,m)})),selected:c.id===r}});return se.default.createElement(qE,{title:"Runs",meta:Xse(e,t),testId:"suite-runs-panel"},u.length===0&&se.default.createElement(aa,null,"[ ] no runs yet"),u.map(c=>se.default.createElement("div",{key:c.run.id,onClick:()=>n(c.run.id),className:c.selected?void 0:"hover:bg-[var(--color-hover)]","data-selected":c.selected?"true":"false",style:{padding:"10px 12px 10px 10px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:c.selected?"var(--color-muted)":void 0,borderLeft:`2px solid ${c.selected?"var(--color-accent-ui)":"transparent"}`}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},c.label),se.default.createElement("span",{style:{fontSize:11,color:"var(--color-text-muted)"}},c.when),se.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:c.deltaColor}},c.delta)),se.default.createElement("div",{style:{...un(11),marginTop:2,textWrap:"pretty"}},c.note),c.bars.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8}},c.bars.map(d=>se.default.createElement(r$,{key:d.label,label:z1(d.label).short,passed:d.passed,total:d.total}))))))}function u$({run:e,columns:t,results:r=[],scenarioCount:n=0,judgedBy:a,verdict:o}){let i=e?.scores?._models||{};return se.default.createElement(qE,{title:"Models",meta:a?`judged by ${a}`:null,testId:"suite-models-panel"},t.length===0&&se.default.createElement(aa,null,"[ ] no models scored yet"),t.map(l=>{let{short:s,provider:u}=XE(e,l),c=i[l],{passed:d,total:f}=a$(e,l,r,n),p=f?d/f:0,m=nl[Qu(p)].strong,g=Object.entries(c?.faults||{}),h=o?.winner===l;return se.default.createElement("div",{key:l,style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:l},s),u&&se.default.createElement("span",{style:un(11)},u),h&&se.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"},testId:"judges-pick"},"judge's pick"),se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10}},se.default.createElement("span",{style:{width:120,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},se.default.createElement("span",{style:{display:"block",width:`${Math.round(p*100)}%`,height:"100%",borderRadius:999,background:m}})),se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:m}},`${d}/${f}`))),se.default.createElement("div",{style:{display:"flex",gap:14,flexWrap:"wrap",fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)"}},se.default.createElement("span",null,"score ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},c?.avg_score!=null?Number(c.avg_score).toFixed(3):"\u2014")),se.default.createElement("span",null,"latency ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},Qr(c?.avg_duration_ms))),se.default.createElement("span",{style:{whiteSpace:"nowrap"}},se.default.createElement("span",{style:{color:"var(--color-token-in)"}},"in")," ",YE(c?.input_tokens)," \xB7 ",se.default.createElement("span",{style:{color:"var(--color-token-out)"}},"out")," ",YE(c?.output_tokens)),se.default.createElement("span",null,"cost ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},uo(c?.cost)))),se.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap"}},g.map(([v,y])=>se.default.createElement(or,{key:v,tone:"error"},`${Qv(v)} \xD7${y}`)),c&&g.length===0&&se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-success-text)"}},"[+] no faults"),!c&&ws(e)&&se.default.createElement("span",{style:un(11)},"scoring\u2026")))}),o?.rationale&&se.default.createElement("div",{style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),o.rationale))}function c$({items:e,columns:t=[],agentName:r,onNavigate:n,onOpenScenario:a}){let o=i=>{let l=Xt((i.scenario_keys||[]).length,"scenario");if(i.kind==="instruction")return`${(i.scenario_keys||[]).join(", ")} \xB7 judge suggestion`;let s=xs(i.models||[]);if(t.length<=1||s.length===0)return l;let c=s.length>=t.length?t.length===2?"both models":"all models":s.map(d=>z1(d).short).join(", ");return`${l} \xB7 ${c}`};return se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},e.map((i,l)=>{let s=i.kind==="instruction",u=s?"info":"error",c=[],d=new Set;(i.tools||[]).forEach(g=>{let h=typeof g=="string"?g:g?.name;!h||d.has(h)||(d.add(h),c.push({name:h,note:typeof g=="object"&&(g.note||g.server?.name)||null}))});let f=i.server,p=f?.status==="enabled",m=r||"the agent";return se.default.createElement("div",{key:`${i.fault}-${l}`,"data-testid":"scenario-recommendation",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},se.default.createElement(Ju,{kind:s?"info":"fault"}),se.default.createElement(or,{tone:u},`${Qv(i.fault)}${i.count>1?` \xD7${i.count}`:""}`),a&&(i.scenario_keys||[]).length>0?se.default.createElement("button",{type:"button",onClick:()=>a(i.scenario_keys),title:`Show ${(i.scenario_keys||[]).join(", ")} \u2014 the question, the answer and the tools it called`,style:{...un(11),background:"none",border:0,padding:0,cursor:"pointer",color:"var(--color-text-link, var(--color-text-primary))",textDecoration:"underline",textUnderlineOffset:2}},o(i)):se.default.createElement("span",{style:un(11)},o(i))),i.recommendation&&se.default.createElement("p",{style:{margin:0,fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},i.recommendation),i.quote&&se.default.createElement("div",{style:{background:"var(--color-muted)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",fontStyle:"italic"}},"\u201C",i.quote,"\u201D"),c.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},i.tools_label||"tools"),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:6}},c.map(g=>se.default.createElement("span",{key:g.name,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,maxWidth:"100%"}},se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},g.name),g.note&&se.default.createElement("span",{style:{color:"var(--color-text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:g.note},g.note))))),f&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",fontSize:12,color:"var(--color-text-cell)"}},se.default.createElement("span",null,"served by"),se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},f.name||f.key),se.default.createElement(or,{tone:p?"success":"warning",size:10,style:{padding:"1px 6px"}},p?`enabled for ${m}`:`${f.status||"unknown"} \xB7 not enabled for ${m}`)),i.note&&se.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-secondary)",textWrap:"pretty"}},i.note),i.action&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto",paddingTop:2,flexWrap:"wrap"}},i.action.path&&se.default.createElement(zr,{size:"sm",onClick:()=>n?.(i.action.path)},i.action.label),i.action.hint&&se.default.createElement("span",{style:{...un(11),whiteSpace:"nowrap"}},i.action.hint)))}))}var Zse=e=>`minmax(240px, 1.6fr) 150px ${e.map(()=>"minmax(170px, 1fr)").join(" ")}`;function Qse({result:e,expects:t,pending:r}){if(!e)return se.default.createElement("span",{style:{...un(12),fontWeight:600}},r?"\u2026":"\u2014");if(!ec(e))return se.default.createElement("span",{style:{...un(12),fontWeight:600}},"\u2026");let n=bs(e),a=n?"var(--color-success)":"var(--color-error)",o=o$(e.tool_calls,t);return se.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap",fontFamily:ye,fontSize:12}},se.default.createElement("span",{style:{fontWeight:700,color:a}},n?"[+]":"[!]"),se.default.createElement("span",{style:{fontWeight:600,color:a}},Ru(e.score)),e.fault&&se.default.createElement("span",{style:{fontSize:11,color:"var(--color-error-text)"}},Qv(e.fault))),se.default.createElement(l$,{calls:o,empty:"no tools called"}))}function d$({rows:e,columns:t,run:r,resultsByKey:n,runKeys:a,running:o,openKey:i,onToggleRow:l,emptyLabel:s,renderDetail:u}){let c=Zse(t),d=e.some(p=>p.group),f=[];return e.forEach(p=>{let m=p.group||"",g=f.find(h=>h.name===m);g||(g={name:m,rows:[]},f.push(g)),g.rows.push(p)}),se.default.createElement("div",{style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflowX:"auto"}},se.default.createElement("div",{style:{minWidth:Math.max(760,400+180*t.length)}},se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"8px 12px",background:"var(--color-muted)",alignItems:"end"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Scenario"),se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Expects"),t.map(p=>{let{short:m,provider:g}=XE(r,p);return se.default.createElement("span",{key:p,style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},title:p},se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},m),se.default.createElement("span",{style:un(10)},g||"\xA0"))})),f.map(p=>{let m=p.rows.filter(h=>a.has(h.key)||n[h.key]),g=t.map(h=>{let y=m.filter(S=>ec(n[S.key]?.[h])).filter(S=>bs(n[S.key][h])).length,b=m.length,x=b&&y===b?"var(--color-success-text)":y===0?"var(--color-error-text)":"var(--color-text-cell)";return{label:h,text:b?`${y}/${b} passed`:"\u2014",color:x}});return se.default.createElement("div",{key:p.name||"__ungrouped"},(p.name||d)&&se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"7px 12px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",alignItems:"center"}},se.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},p.name||"ungrouped"),se.default.createElement("span",{style:un(11)},Xt(p.rows.length,"scenario")),g.map(h=>se.default.createElement("span",{key:h.label,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:h.color}},h.text))),p.rows.map(h=>{let v=i===h.key,y=h.expectations?.tools||[],b=a.has(h.key)||!!n[h.key],x=h.enabled===!1;return se.default.createElement("div",{key:h.key},se.default.createElement("div",{"data-testid":"scenario-row","data-scenario-key":h.key,onClick:()=>l(h.key),className:v?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:v?"var(--color-muted)":void 0,opacity:x?.5:1}},se.default.createElement("div",{style:{minWidth:0}},se.default.createElement("div",{style:{...un(11),marginBottom:2}},`${h.key}${x?" \xB7 disabled":""}`),se.default.createElement("div",{style:{fontSize:13,lineHeight:"18px",color:"var(--color-text-primary)",textWrap:"pretty"}},h.prompt)),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignContent:"flex-start",minWidth:0}},y.map(S=>se.default.createElement("span",{key:S,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"}},S)),y.length===0&&(h.expectations?.contains||[]).map(S=>se.default.createElement("span",{key:`contains-${S}`,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:"the answer must contain this"},`contains: ${S}`))),t.map(S=>se.default.createElement(Qse,{key:S,result:n[h.key]?.[S],expects:y,pending:o&&b}))),v&&u(h))}))}),e.length===0&&se.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)"}},s||"[+] nothing failed in this group")))}function Jse(e){let t=[];return e.duration_ms!=null&&t.push(Qr(e.duration_ms)),(e.input_tokens!=null||e.output_tokens!=null)&&t.push(`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`),e.cost!=null&&t.push(uo(e.cost)),t.join(" \xB7 ")}function Rse({label:e,run:t,result:r,expects:n,running:a}){let{short:o}=XE(t,e),i=se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:e},o),l=(v,y)=>se.default.createElement("div",{"data-testid":"scenario-result-detail",style:{background:"var(--color-card)",border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},i,y),se.default.createElement("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:10}},v));if(!r||!ec(r))return l(se.default.createElement("span",{style:un(11)},a?"waiting for this replay\u2026":"not part of this run"),se.default.createElement(or,{tone:"muted"},a?"pending":"no result"));let u=bs(r)?"success":"error",c=o$(r.tool_calls,n),d=r.diagnosis||{},f=d.judge||{},p=r.fault||(r.status==="errored"?"run_error":null),m=[d.summary,d.recommendation||r.recommendation].filter(Boolean).join(" ")||r.error_message||"",g=Object.entries(r.scores||{}),h=Jse(r);return l(se.default.createElement(se.default.Fragment,null,se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap",fontFamily:ye,fontSize:11}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"tools"),se.default.createElement(l$,{calls:c,empty:"none called",style:{display:"contents"}})),p&&se.default.createElement("div",{style:{background:"var(--color-error-soft)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-error-text)",textWrap:"pretty"}},se.default.createElement("span",{style:{fontFamily:ye,fontWeight:700}},`[!] ${Qv(p)}`),m?` \u2014 ${m}`:"",f.suggested_tool?.name&&se.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:11}},`suggested tool: ${f.suggested_tool.name}${f.suggested_tool.description?` \u2014 ${f.suggested_tool.description}`:""}`),f.instruction_change&&se.default.createElement("div",{style:{marginTop:4,fontStyle:"italic"}},`instruction change: \u201C${f.instruction_change}\u201D`)),r.output?se.default.createElement("div",{style:{fontFamily:"var(--font-text)",fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",maxHeight:190,overflow:"auto",whiteSpace:"pre-wrap",textWrap:"pretty"}},r.output):se.default.createElement("div",{style:un(11)},"answer not retained for this run"),g.length>0&&se.default.createElement("div",{style:{...un(11),display:"flex",flexWrap:"wrap",gap:"2px 10px"},title:"score per criterion"},g.map(([v,y])=>se.default.createElement("span",{key:v},Qv(v)," ",se.default.createElement("span",{style:{color:"var(--color-text-secondary)"}},y==null?"skipped":Ru(y)))))),se.default.createElement(se.default.Fragment,null,se.default.createElement(or,{tone:u},r.score==null?r.status:`${r.status} \xB7 ${Ru(r.score)}`),h&&se.default.createElement("span",{style:{marginLeft:"auto",...un(11)}},h)))}function f$({scenario:e,run:t,columns:r,resultsByKey:n,running:a,inRun:o=!0,onRerun:i,onToggleEnabled:l,canMutate:s=!0}){let u=e.expectations?.tools||[],c=n[e.key]||{},d=r.some(p=>c[p]),f=o||d;return se.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"12px 12px 14px"},"data-testid":"scenario-drilldown"},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10,flexWrap:"wrap"}},se.default.createElement("span",{style:un(11)},e.key),se.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-cell)"}},"expects"),se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},u.join(" or ")||"\u2014"),s&&se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14}},se.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),l?.(e)},title:e.enabled===!1?"Enable this scenario":"Disable this scenario",style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:ye,fontSize:11,color:e.enabled===!1?"var(--color-text-muted)":"var(--color-text-cell)"}},e.enabled===!1?"[ ] enabled":"[x] enabled"),se.default.createElement(Ff,{onClick:()=>i?.(e),title:"Run only this scenario under the selected models"},"re-run scenario"))),e.notes&&se.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-secondary)",marginBottom:10}},e.notes),e.catalogChanged&&se.default.createElement("div",{style:{fontSize:12,color:"var(--color-text-secondary)",marginBottom:10}},"This run used an earlier version of this question. Re-running uses the current catalog."),t?f?se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12}},r.map(p=>se.default.createElement(Rse,{key:p,label:p,run:t,result:c[p],expects:u,running:a}))):se.default.createElement("div",{style:un(11)},"Not part of this run \u2014 use \u201Cre-run scenario\u201D to replay it."):se.default.createElement("div",{style:un(11)},"No runs yet \u2014 use \u201Cre-run scenario\u201D to replay this one on its own."))}var JE=()=>document.querySelector('meta[name="csrf-token"]')?.content;function eue(e){let t=[],r=null;return e.forEach(n=>{(n.group||"")!==(r||"")&&(r=n.group,r&&t.push(`# ${r}`));let a=[],o=n.expectations||{};o.tools?.length&&a.push(`tools: ${o.tools.join(", ")}`),o.contains?.length&&a.push(`contains: ${o.contains.join(", ")}`),o.not_contains?.length&&a.push(`not_contains: ${o.not_contains.join(", ")}`),n.notes&&a.push(`notes: ${n.notes}`),a.push(`key: ${n.key}`),t.push(`${n.prompt} | ${a.join(" | ")}`)}),t.join(` +`)}var tue=e=>{let{results:t,fix_items:r,...n}=e;return n},rue=e=>{if(!e)return null;let t=[uo(e.cost),`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`];return e.model_time_ms!=null&&t.push(`model time ${Qr(e.model_time_ms)}`),e.runtime_ms!=null&&t.push(`finished in ${Qr(e.runtime_ms)}`),t.join(" \xB7 ")},p$={padding:"6px 10px",borderRadius:8,fontSize:12,fontFamily:ye,background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function RE({evaluation:e,onChanged:t,onDelete:r,deleting:n=!1}){let a=e.id,o=e.agent?.name||"Agent",[i,l]=(0,Pe.useState)(!1),[s,u]=(0,Pe.useState)(null),[c,d]=(0,Pe.useState)([]),[f,p]=(0,Pe.useState)(e.scenario_groups||[]),[m,g]=(0,Pe.useState)(e.latest_run?[e.latest_run]:[]),[h,v]=(0,Pe.useState)(null),[y,b]=(0,Pe.useState)(e.latest_run?.id??null),[x,S]=(0,Pe.useState)({}),[w,O]=(0,Pe.useState)((e.compare_models||[]).join(", ")),[k,A]=(0,Pe.useState)(null),[M,W]=(0,Pe.useState)(!1),[L,H]=(0,Pe.useState)(!1),[D,Y]=(0,Pe.useState)(""),[N,_]=(0,Pe.useState)(null),[z,j]=(0,Pe.useState)(null),[P,B]=(0,Pe.useState)(!1),[R,F]=(0,Pe.useState)(null),[G,ee]=(0,Pe.useState)(0),fe=(0,Pe.useCallback)(async()=>{let xe=await fetch(`/api/evaluations/${a}/scenarios`);if(!xe.ok)return;let ut=await xe.json();d(ut.scenarios||[]),p(ut.groups||[])},[a]),de=(0,Pe.useCallback)(async()=>{try{let xe=await fetch(`/api/evaluations/${a}`);if(!xe.ok)return u(`Could not load this suite (HTTP ${xe.status})`),null;let Zt=(await xe.json()).evaluation||{};return d(Zt.scenarios||[]),p(Zt.scenario_groups||[]),g(Zt.runs||[]),v(Number.isFinite(Zt.run_count)?Zt.run_count:null),u(null),Zt}catch(xe){return u(`Could not load this suite: ${xe.message}`),null}finally{l(!0)}},[a]),De=(0,Pe.useCallback)(async xe=>{if(!xe)return null;let ut=await fetch(`/api/evaluations/${a}/runs/${xe}`);if(!ut.ok)return null;let pr=(await ut.json()).run;return pr?(S(hn=>({...hn,[pr.id]:pr})),g(hn=>hn.map(Ns=>Ns.id===pr.id?{...Ns,...tue(pr)}:Ns)),pr):null},[a]);(0,Pe.useEffect)(()=>{let xe=!1;return(async()=>{let ut=await de();if(xe)return;let Zt=ut?.runs?.[0]?.id??null;b(pr=>pr&&ut?.runs?.some(hn=>hn.id===pr)?pr:Zt),Zt&&De(Zt)})(),()=>{xe=!0}},[de,De]);let le=e.latest_run?.id??null;(0,Pe.useEffect)(()=>{!le||m.some(xe=>xe.id===le)||de()},[le,m,de]);let Te=x[y]||m.find(xe=>xe.id===y)||null,K=m[0]||null,I=ws(Te)?Te.id:ws(K)?K.id:null;(0,Pe.useEffect)(()=>{if(!I)return;let xe=!1,ut=setTimeout(async()=>{let Zt=null;try{Zt=await De(I)}catch{Zt=null}if(!xe){if(Zt&&!ws(Zt)){await de(),t?.();return}ee(pr=>pr+1)}},3e3);return()=>{xe=!0,clearTimeout(ut)}},[I,G,De,de,t]);let C=w.split(",").map(xe=>xe.trim()).filter(Boolean),T=async xe=>{W(!0),A(null);try{let ut=await fetch(`/api/evaluations/${a}/run`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({...xe,models:C})}),Zt=await ut.json().catch(()=>({}));if(!ut.ok)throw new Error((Zt.errors||[Zt.error]).filter(Boolean).join(", ")||"Run failed to start");let pr=Zt.run;g(hn=>[pr,...hn.filter(Ns=>Ns.id!==pr.id)]),v(hn=>hn==null?null:hn+1),S(hn=>({...hn,[pr.id]:{...pr,results:[]}})),b(pr.id),F(null),t?.()}catch(ut){A(ut.message)}finally{W(!1)}},X=xe=>{b(xe),F(null),x[xe]||De(xe)},$=async xe=>{xe.id&&(await fetch(`/api/evaluations/${a}/scenarios/${xe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenario:{enabled:xe.enabled===!1}})}),await fe())},Ne=async()=>{_(null);let xe=await fetch(`/api/evaluations/${a}/scenarios`,{method:"PUT",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenarios_text:D})}),ut=await xe.json().catch(()=>({}));if(!xe.ok){_((ut.errors||[ut.error]).filter(Boolean).join(", ")||"Could not save scenarios");return}d(ut.scenarios||[]),p(ut.groups||[]),H(!1),t?.()},E=Te,Z=(0,Pe.useMemo)(()=>(E?.results||[]).filter(xe=>xe&&xe.scenario_key),[E]),ge=(0,Pe.useMemo)(()=>L1(E,Z,e),[E,Z,e]),Le=(0,Pe.useMemo)(()=>Z.reduce((xe,ut)=>((xe[ut.scenario_key]||={})[Rv(E,ut)]=ut,xe),{}),[Z,E]),nt=(0,Pe.useMemo)(()=>new Set(ZE(E,c)),[E,c]),Bt=ws(E),ft=Jv(E,ge,c),En=QE(E,Z,ge,c),Bn=(0,Pe.useCallback)(xe=>nt.has(xe.key)||!!Le[xe.key],[nt,Le]),oa=(0,Pe.useMemo)(()=>e$(c,Le),[c,Le]),Mo=xe=>ge.some(ut=>{let Zt=Le[xe.key]?.[ut];return ec(Zt)&&!bs(Zt)}),nc=oa.filter(xe=>!z||(xe.group||"")===z).filter(xe=>!P||Mo(xe)),fr=m.findIndex(xe=>xe.id===E?.id),$n=$1(m,h),ri=fr>=0?$n-fr:null,ac=new Set(oa.filter(Bn).map(xe=>xe.group).filter(Boolean)).size,aw=Z.filter(ec).length,Xf=ft*Math.max(ge.length,1),ow=new Set(Z.filter(xe=>ec(xe)&&!bs(xe)).map(xe=>xe.scenario_key)).size,oc=E?.scores?._verdict||null,ni=Object.prototype.hasOwnProperty.call(E?.scores||{},"_judge_label")?E.scores._judge_label||"rules":oc?.judge&&oc.judge!=="pass rate"?oc.judge:e.judge_model||"rules",ic=(0,Pe.useMemo)(()=>E?i$(E,Z):[],[E,Z]),iw=(0,Pe.useCallback)(xe=>{let ut=Array.isArray(xe)?xe[0]:xe;ut&&(j(null),B(!1),F(ut),requestAnimationFrame(()=>{document.querySelector(`[data-scenario-key="${CSS.escape(ut)}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})}))},[]),fg=Object.keys(E?.scores||{}).filter(xe=>!xe.startsWith("_")),lw=(fg.length?fg:(e.criteria||[]).map(xe=>xe.key)).map(xe=>String(xe).replace(/_/g," ")).join(" \xB7 ")||"\u2014",lc=i?c.length:e.scenario_count??0,Zf=i?c.filter(xe=>xe.enabled!==!1&&(!z||(xe.group||"")===z)).length:lc,pg=`Run ${Xt(Zf,"scenario")}${C.length?` \xD7 ${Xt(C.length,"model")}`:""}`,sw=E?[fr>0?`Viewing run #${ri} (latest is #${$n})`:`Run #${ri??"?"} \xB7 ${Hf(E.completed_at||E.created_at)}`,o,`${Xt(ft,"scenario")}${ac?` in ${Xt(ac,"group")}`:""} \xD7 ${Xt(ge.length,"model")}`,E.status==="failed"?"failed":`${En.passed}/${En.total} passed`].join(" \xB7 "):`${o} \xB7 ${Xt(lc,"scenario")}${f.length?` in ${Xt(f.length,"group")}`:""} \xB7 ${s?"not loaded":i?"no runs yet":"loading\u2026"}`,Qf=E&&E.status==="complete"?`/evaluations/${a}/runs/${E.id}/report`:null,uw=[...new Set([...f,...oa.map(xe=>xe.group).filter(Boolean)])],cw=[{label:`All ${oa.length||lc}`,value:null}].concat(uw.map(xe=>({label:i?`${xe} ${oa.filter(ut=>ut.group===xe).length}`:xe,value:xe}))),sc=oa.length===0,dw=P?"[+] nothing failed in this group":"[ ] no scenarios";return Pe.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:16},"data-testid":"scenario-suite-panel"},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Pe.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},sw),Bt&&Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"},"data-testid":"suite-run-progress"},`running \xB7 ${aw} of ${Xf} results in`),Pe.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},Pe.default.createElement(zr,{size:"sm",onClick:()=>{Y(eue(c)),_(null),H(!L)}},L?"Cancel":"Edit scenarios"),Pe.default.createElement("input",{type:"text",value:w,onChange:xe=>O(xe.target.value),placeholder:"models, e.g. gpt-5-mini, ollama/qwen3:8b",style:{...p$,width:250},title:"Comma-separated. Prefix with a provider (ollama/qwen3:8b) when the name alone is ambiguous; blank runs the agent's own model."}),Pe.default.createElement(zr,{variant:"primary",size:"sm",disabled:M||!i||Zf===0,onClick:()=>T(z?{group:z}:{}),testId:"suite-run-button"},M?"Starting\u2026":pg))),(s||k||E?.status==="failed")&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)",background:"var(--color-error-soft)",borderRadius:8,padding:"8px 12px"}},s||k||`Run failed: ${E.error_message||"unknown error"}`),L&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},Pe.default.createElement("textarea",{value:D,onChange:xe=>Y(xe.target.value),rows:Math.min(Math.max(c.length+4,6),24),style:{...p$,width:"100%",boxSizing:"border-box",lineHeight:"18px"}}),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,color:"var(--color-text-muted)",flexWrap:"wrap"}},Pe.default.createElement("span",{style:{flex:1,minWidth:240}},"One message per line. ",Pe.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," starts a group; ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| contains: x"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| not_contains: y")," set expectations. Keep a scenario's ",Pe.default.createElement("code",{style:{fontFamily:ye}},"key")," to keep its history."),Pe.default.createElement(zr,{variant:"primary",size:"sm",onClick:Ne},"Save scenarios")),N&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},N)),Pe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"minmax(280px, 2fr) minmax(0, 3fr)",gap:16,alignItems:"start"}},Pe.default.createElement(s$,{runs:m,runCount:h,selectedId:E?.id??null,onSelect:X,agentName:o,selectedResults:Z,scenarios:c}),Pe.default.createElement(u$,{run:E,columns:E?ge:[],results:Z,scenarioCount:ft,judgedBy:ni,verdict:oc})),E&&E.status!=="failed"&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},Pe.default.createElement(rt,null,"What to fix"),Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},`${Xt(ic.length,"item")} \xB7 ${Xt(Math.max(En.total-En.passed,0),"fault")} across ${Xt(ow,"scenario")}`)),ic.length>0?Pe.default.createElement(c$,{items:ic,columns:ge,agentName:o,onNavigate:Gv,onOpenScenario:iw}):Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px"}},Bt?"[ ] scoring\u2026":"[+] nothing to fix")),Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Pe.default.createElement(rt,{style:{marginRight:4}},"Scenarios"),cw.map(xe=>Pe.default.createElement(al,{key:xe.label,selected:z===xe.value,onClick:()=>j(xe.value)},xe.label)),Pe.default.createElement(al,{square:!0,mono:!0,selected:P,onClick:()=>B(!P),style:{marginLeft:"auto",background:"transparent"},title:"Hide scenarios that passed on every model"},P?"[x] failed only":"[ ] failed only")),sc&&s?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[!] suite not loaded"):sc&&!i?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"loading\u2026"):sc?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"No scenarios yet \u2014 paste some with \u201CEdit scenarios\u201D."):Pe.default.createElement(d$,{rows:nc,columns:E?ge:[],run:E,resultsByKey:Le,runKeys:nt,running:Bt,openKey:R,onToggleRow:xe=>F(R===xe?null:xe),emptyLabel:dw,renderDetail:xe=>Pe.default.createElement(f$,{scenario:xe,run:E,columns:E?ge:[],resultsByKey:Le,running:Bt,inRun:Bn(xe),canMutate:!xe.orphan,onRerun:ut=>T({keys:[ut.key]}),onToggleEnabled:$})})),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",paddingTop:12,borderTop:"1px solid var(--color-border-light)",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Pe.default.createElement("span",{style:{whiteSpace:"nowrap"}},`judge ${ni}`),Pe.default.createElement("span",{style:{minWidth:0,textWrap:"pretty"}},`criteria ${lw}`),E?.usage&&Pe.default.createElement("span",{style:{whiteSpace:"nowrap"},title:"Estimated cost, tokens and model time of this run"},rue(E.usage)),Qf&&Pe.default.createElement(Ff,{href:Ge(Qf),onClick:()=>Gv(Qf),title:"The run rendered as a report page"},"run report"),r&&Pe.default.createElement("button",{type:"button",onClick:r,disabled:n,title:"Delete this suite and its runs",style:{marginLeft:"auto",background:"transparent",border:"none",padding:0,cursor:n?"not-allowed":"pointer",fontFamily:ye,fontSize:11,color:"var(--color-error)",opacity:n?.5:1}},n?"Deleting\u2026":"Delete suite")))}var e_=[{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}}],t_=[{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}}],r_=()=>document.querySelector('meta[name="csrf-token"]')?.content,nue=e=>{if(!e)return null;let t=(e.input_tokens||0)+(e.output_tokens||0),r=e.runtime_ms==null?null:Qr(e.runtime_ms);return`${uo(e.cost)} \xB7 ${hr(t)} tok${r?` \xB7 ${r}`:""}`},g$=e=>e>=.85?"success":e>=.7?"warning":"error",m$=()=>{let e=Xu().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/);if(e)return{evaluationId:e[1],runId:e[2]};let t=I1(window.location.search);return t?.runId?t:null},ol={padding:"8px 12px",borderRadius:8,fontSize:13,fontFamily:"inherit",boxSizing:"border-box",background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"},Ro=(e=11,t="var(--color-text-muted)")=>({fontFamily:ye,fontSize:e,color:t});function v$({label:e,score:t,indent:r=!1,mono:n=!1}){let a=t.skipped?null:g$(t.score);return re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,paddingLeft:r?16:0}},re.default.createElement("div",{style:{width:160,flexShrink:0,fontSize:n?11:13,fontFamily:n?ye:"inherit",color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:e},n?e:e.replace(/_/g," "),t.source==="telemetry"&&re.default.createElement("span",{"data-testid":"score-source-telemetry",style:{...Ro(10),marginLeft:6,textTransform:"uppercase",letterSpacing:"0.05em"},title:`Aggregate over ${t.traces} traces in the last ${t.window_hours}h`},"telemetry")),t.skipped?re.default.createElement("div",{style:{flex:1,fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"},title:t.reason},"skipped \u2014 ",t.reason):re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{flex:1,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},re.default.createElement("div",{style:{height:"100%",width:`${Math.round(t.score*100)}%`,borderRadius:999,background:nl[a].strong}})),re.default.createElement("div",{style:{width:48,textAlign:"right",fontFamily:ye,fontSize:12,fontWeight:600,color:nl[a].strong},title:`min ${t.min} \xB7 max ${t.max} \xB7 ${t.passed}/${t.total} passed`},Ru(t.score))))}function eg({embedded:e=!1,agentId:t=null}){let{darkMode:r}=kt(),[n,a]=(0,re.useState)(()=>e?null:m$()),o=(0,re.useRef)(null),[i,l]=(0,re.useState)(0),[s,u]=(0,re.useState)(null);(0,re.useEffect)(()=>{let E=o.current?.contentDocument?.body;if(!E)return;let Z=()=>u(E.scrollHeight);if(Z(),typeof ResizeObserver>"u")return window.addEventListener("resize",Z),()=>window.removeEventListener("resize",Z);let ge=new ResizeObserver(Z);return ge.observe(E),()=>ge.disconnect()},[i,n]),(0,re.useEffect)(()=>u(null),[n]),(0,re.useEffect)(()=>{if(e)return;let E=()=>a(m$());return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[c,d]=(0,re.useState)([]),[f,p]=(0,re.useState)([]),[m,g]=(0,re.useState)(!0),[h,v]=(0,re.useState)(null),[y,b]=(0,re.useState)(null),[x,S]=(0,re.useState)(()=>e?null:I1(window.location.search)?.evaluationId);(0,re.useEffect)(()=>{if(e)return;let E=()=>{let Z=I1(window.location.search)?.evaluationId;S(Z),Z&&b(new Set([Number(Z)]))};return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[w,O]=(0,re.useState)(!1),[k,A]=(0,re.useState)(null),[M,W]=(0,re.useState)(null),[L,H]=(0,re.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:e_.map(E=>E.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:"",scenariosText:""}),[D,Y]=(0,re.useState)(null),[N,_]=(0,re.useState)(!1),z=(0,re.useCallback)(async()=>{try{let E=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!E.ok)throw new Error(`Request failed (${E.status})`);let ge=(await E.json()).evaluations||[],Le=null;try{ge=await t$(ge,x,fetch)}catch(nt){Le=nt.message}d(ge),b(nt=>{if(nt)return nt;let Bt=x?ge.find(ft=>String(ft.id)===x):ge.find(ft=>ft.scenario_suite)||ge[0];return new Set(Bt?[Bt.id]:[])}),v(Le)}catch(E){v(E.message)}finally{g(!1)}},[t,x]);(0,re.useEffect)(()=>{z(),fetch("/api/agents").then(E=>E.ok?E.json():{agents:[]}).then(E=>p(E.agents||[])).catch(()=>p([]))},[z]);let j=E=>!!y?.has(E),P=E=>b(Z=>{let ge=new Set(Z||[]);return ge.has(E)?ge.delete(E):ge.add(E),ge}),B=()=>{let E=[...e_,...t_].filter(Z=>L.criteria.includes(Z.key)).map(({key:Z,type:ge,config:Le})=>({key:Z,type:ge,config:Le}));return L.containsPattern.trim()&&E.push({key:"contains",type:"contains",config:{pattern:L.containsPattern.trim()}}),L.llmJudgePrompt.trim()&&E.push({key:"quality",type:"llm_judge",config:{prompt:L.llmJudgePrompt.trim()}}),E},R=async E=>{E.preventDefault(),_(!0),Y(null);try{let Z=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":r_()},body:JSON.stringify({evaluation:{agent_id:L.agent_id,name:L.name,sample_size:L.sample_size,judge_kind:L.judgeKind==="judge_defined"?"judge_defined":L.llmJudgePrompt.trim()?"llm":"rules",judge_model:L.judgeModel.trim()||void 0,compare_models:L.compareModels.split(",").map(Le=>Le.trim()).filter(Boolean),criteria:L.judgeKind==="judge_defined"?[]:B(),scenarios_text:L.scenariosText.trim()||void 0}})}),ge=await Z.json().catch(()=>({}));if(!Z.ok)throw new Error((ge.errors||[ge.error]).filter(Boolean).join(", ")||`Failed to create evaluation (HTTP ${Z.status})`);O(!1),H({...L,name:"",scenariosText:""}),await z(),ge.evaluation?.id!=null&&b(Le=>new Set([...Le||[],ge.evaluation.id]))}catch(Z){Y(Z.message)}finally{_(!1)}},F=async E=>{A(E),v(null);try{let Z=await fetch(`/api/evaluations/${E}/run`,{method:"POST",headers:{"X-CSRF-Token":r_()}});Z.ok||v(`Run failed (HTTP ${Z.status})`),await z()}finally{A(null)}},G=async E=>{if(window.confirm(`Delete "${E.name}"? Its runs are deleted with it.`)){W(E.id),v(null);try{let Z=await fetch(`/api/evaluations/${E.id}`,{method:"DELETE",headers:{"X-CSRF-Token":r_()}});Z.ok||Z.status===404?(d(ge=>ge.filter(Le=>Le.id!==E.id)),b(ge=>{let Le=new Set(ge||[]);return Le.delete(E.id),Le})):v(`Delete failed (HTTP ${Z.status})`)}finally{W(null)}}};if(m)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",style:{borderBottomColor:"var(--color-accent-ui)"}}));let ee=t?c.filter(E=>String(E.agent?.id)===String(t)):c,fe=ee.filter(E=>E.scenario_suite),de=ee.filter(E=>!E.scenario_suite),De=fe.map(E=>E.latest_run).filter(E=>E&&E.status==="complete"),le=De.reduce((E,Z)=>E+(Z.samples_evaluated||0),0),Te=De.reduce((E,Z)=>E+(Z.samples_passed||0),0),K=De.reduce((E,Z)=>E+(Z.scores?._recommendations?.length||0),0),I=le?Te/le:null,C=[...new Set(fe.map(E=>E.agent?.name).filter(Boolean))],T=fe.reduce((E,Z)=>Math.max(E,Z.latest_run?.models?.length||(Z.compare_models||[]).length||0),0),X=[];C.length===1?X.push(`@${C[0]} \xB7 ${T>1?`${T} models compared`:"1 model"}`):C.length>1&&X.push(Xt(C.length,"agent")),de.length&&X.push(Xt(de.length,"sampling evaluation"));let $=X.join(" \xB7 ")||"no suites yet",Ne=E=>E&&typeof E=="object"&&!("score"in E)&&!("skipped"in E);if(n){let E=Ge(`/api/evaluations/${n.evaluationId}/runs/${n.runId}/report`),Z=`${E}?theme=${r?"dark":"light"}`;return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{size:"sm",onClick:()=>{HE("/evaluations"),a(null)}},re.default.createElement("span",{style:{fontFamily:ye}},"<-")," Evaluations"),re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Run report"),re.default.createElement("span",{style:Ro(11)},`evaluation ${n.evaluationId} \xB7 run ${n.runId}`)),re.default.createElement("a",{href:E,target:"_blank",rel:"noopener noreferrer",title:"The report is one self-contained page \u2014 save it to export",style:{padding:"6px 12px",borderRadius:8,fontSize:13,fontWeight:500,color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)",textDecoration:"none"}},"Open standalone ",re.default.createElement("span",{style:{fontFamily:ye}},"->"))),re.default.createElement("iframe",{ref:o,src:Z,title:"Evaluation run report",onLoad:()=>l(ge=>ge+1),scrolling:"no",style:{width:"100%",borderRadius:12,border:"1px solid var(--color-border)",background:"var(--color-background)",display:"block",height:s?`${s}px`:"calc(100vh - 180px)"}}))}return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},re.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:16,flexWrap:"wrap"}},!e&&re.default.createElement("div",{style:{flex:1,minWidth:260}},re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Evaluations"),re.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models")),re.default.createElement("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{variant:"primary",onClick:()=>O(!w),testId:"new-evaluation-button"},w?"Cancel":"New Evaluation"))),h&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:13,background:"var(--color-error-soft)",color:"var(--color-error-text)"}},"Failed to load evaluations: ",h),w&&re.default.createElement(yr,{testId:"new-evaluation-form"},re.default.createElement("form",{onSubmit:R,style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Agent"),re.default.createElement("select",{required:!0,disabled:!!t,value:L.agent_id,onChange:E=>H({...L,agent_id:E.target.value}),style:{...ol,width:"100%",opacity:t?.7:1}},!t&&re.default.createElement("option",{value:""},"Select agent\u2026"),f.map(E=>re.default.createElement("option",{key:E.id,value:E.id},E.name)))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Name"),re.default.createElement("input",{required:!0,type:"text",value:L.name,onChange:E=>H({...L,name:E.target.value}),placeholder:"Response Quality",style:{...ol,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Sample size"),re.default.createElement("input",{type:"number",min:"1",max:"100",value:L.sample_size,onChange:E=>H({...L,sample_size:E.target.value}),style:{...ol,width:"100%",fontFamily:ye}}))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"KPI definition"),re.default.createElement("select",{value:L.judgeKind,onChange:E=>H({...L,judgeKind:E.target.value}),style:{...ol,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(rt,{as:"label",style:{display:"block",marginBottom:6}},"Judge model (optional)"),re.default.createElement("input",{type:"text",value:L.judgeModel,onChange:E=>H({...L,judgeModel:E.target.value}),placeholder:"e.g. claude-opus-5",style:{...ol,width:"100%",fontFamily:ye,fontSize:12}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Compare models (optional, comma-separated)"),re.default.createElement("input",{type:"text",value:L.compareModels,onChange:E=>H({...L,compareModels:E.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...ol,width:"100%",fontFamily:ye,fontSize:12}}))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Scenarios (optional) \u2014 paste user messages to replay, one per line"),re.default.createElement("textarea",{value:L.scenariosText,onChange:E=>H({...L,scenariosText:E.target.value}),rows:L.scenariosText?8:3,placeholder:`# Find records Which catalog items are available? | tools: find_records # Change history -Who updated the description for the sample notebook?`,style:{...ol,width:"100%",fontFamily:ye,fontSize:12,lineHeight:"18px"}}),re.default.createElement("p",{style:{margin:"6px 0 0",fontSize:12,color:"var(--color-text-muted)",textWrap:"pretty"}},"With scenarios, each run replays every message through the agent \u2014 once per model in \u201CCompare models\u201D \u2014 and reports which tasks it completes, what faults it hits, and how to fix them. ",re.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," lines group related tasks so they can be run together; ",re.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b")," names the tool a task should call.")),L.judgeKind==="judge_defined"&&re.default.createElement("p",{style:{margin:0,fontSize:12,color:"var(--color-text-secondary)"}},"On the first run the judge reads the agent's instructions and recent interactions, defines 3\u20136 KPIs, then scores samples against them. KPIs persist so later runs (and model cohorts) stay comparable."),L.judgeKind!=="judge_defined"&&re.default.createElement(re.default.Fragment,null,re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Rule-based criteria (sampled generations)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},e_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Telemetry criteria (trace aggregates)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},t_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Must contain (optional pattern)"),re.default.createElement("input",{type:"text",value:L.containsPattern,onChange:E=>H({...L,containsPattern:E.target.value}),placeholder:"e.g. password reset",style:{...ol,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"LLM judge criterion (optional, needs provider credentials)"),re.default.createElement("input",{type:"text",value:L.llmJudgePrompt,onChange:E=>H({...L,llmJudgePrompt:E.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...ol,width:"100%"}})))),D&&re.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},D),re.default.createElement("div",null,re.default.createElement(zr,{variant:"primary",type:"submit",disabled:N},N?L.scenariosText.trim()?"Creating & starting run\u2026":"Creating & running\u2026":"Create & Run")))),re.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(190px, 1fr))",gap:16}},re.default.createElement(Xv,{label:"Suites",value:fe.length,sub:$,testId:"stat-suites"}),re.default.createElement(Xv,{label:"Scenario runs",value:le,sub:"latest run of each suite",testId:"stat-scenario-runs"}),re.default.createElement(Xv,{label:"Pass rate",value:I==null?"\u2014":n$(I),valueColor:I==null?"var(--color-text-muted)":nl[Qu(I)].strong,sub:I==null?"no completed runs yet":`${Te} / ${le} passed`,testId:"stat-pass-rate"}),re.default.createElement(Xv,{label:"Open faults",value:le-Te,sub:`${Xt(K,"fix item")} across ${Xt(De.length,"suite")}`,testId:"stat-open-faults"})),re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ee.map(E=>{let Z=E.latest_run,ge=j(E.id),Le=!!E.scenario_suite,nt=Z?.status==="complete",Bt=Z?.status==="pending"||Z?.status==="running",ft=Z?.models?.length||(E.compare_models||[]).length||1,En=Z?.samples_passed||0,Bn=Z?.samples_evaluated||0,oa=Bn?En/Bn:0,Mo=(E.criteria||[]).some(fr=>t_.some($n=>$n.key===fr.key)),nc=Le?`@${E.agent?.name||"agent"} \xB7 ${Xt(E.scenario_count||0,"scenario")} \xD7 ${Xt(ft,"model")}`:`@${E.agent?.name||"agent"} \xB7 ${Xt(E.sample_size||0,"sample")}${ft>1?` \xD7 ${Xt(ft,"model")}`:""}`;return re.default.createElement(yr,{key:E.id,padding:0,testId:"evaluation-card","data-telemetry":Mo?"true":"false","data-kind":Le?"suite":"sampling","data-open":ge?"true":"false",style:{overflow:"hidden"}},re.default.createElement("div",{onClick:()=>P(E.id),className:"hover:bg-[var(--color-hover)]",style:{display:"flex",alignItems:"center",gap:12,rowGap:8,padding:"12px 16px",cursor:"pointer",flexWrap:"wrap"}},re.default.createElement(Ju,{kind:"chevron",open:ge}),re.default.createElement("span",{style:{width:22,height:22,borderRadius:6,background:"var(--color-muted)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,color:"var(--color-text-secondary)",flexShrink:0},title:Le?"scenario suite":"sampling evaluation"},Le?"=":"~"),re.default.createElement("span",{style:{fontSize:14,fontWeight:600,color:"var(--color-text-primary)"}},E.name),re.default.createElement("span",{style:Ro(11)},nc),re.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14,flexShrink:0}},re.default.createElement("span",{style:Ro(11)},Hf(Z?.completed_at||Z?.created_at||E.created_at)),Z?.status==="failed"&&re.default.createElement("span",{style:Ro(11,"var(--color-error)")},"failed"),Bt&&re.default.createElement("span",{style:Ro(11)},Z.status==="pending"?"queued":"running"),!Z&&re.default.createElement("span",{style:Ro(11)},"no runs"),nt&&Le&&re.default.createElement("span",{style:Ro(11)},Xt(Bn-En,"fault")),nt&&Le&&re.default.createElement(or,{tone:Qu(oa),testId:"suite-pass-badge"},`${En}/${Bn} passed`),nt&&!Le&&Z.average_score!=null&&re.default.createElement(or,{tone:g$(Z.average_score),title:"mean score across criteria"},`score ${Ru(Z.average_score)}`),nt&&!Le&&Bn>0&&re.default.createElement(or,{tone:Qu(oa)},`${En}/${Bn} passed`))),ge&&re.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)"}},Le?re.default.createElement(RE,{evaluation:E,onChanged:z,onDelete:()=>G(E),deleting:M===E.id}):re.default.createElement(re.default.Fragment,null,Z?.status==="failed"?re.default.createElement("div",{style:{padding:16,fontSize:13,color:"var(--color-error-text)"}},Z.error_message):Z?.scores?re.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12}},Z.scores._verdict&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:10,border:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},re.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},Z.scores._verdict.winner),re.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"}},"judge's pick"),re.default.createElement("span",{style:{marginLeft:"auto",...Ro(11)}},`judged by ${Z.scores._verdict.judge}`)),re.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),Z.scores._verdict.rationale)),Z.scores._missing_models&&re.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"}},"No recorded generations for: ",Z.scores._missing_models.join(", ")," \u2014 run the agent under those models first"),Object.entries(Z.scores).filter(([fr])=>!fr.startsWith("_")).map(([fr,$n])=>Ne($n)?re.default.createElement("div",{key:fr,style:{display:"flex",flexDirection:"column",gap:4}},re.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-secondary)"}},fr.replace(/_/g," ")),Object.entries($n).map(([ri,ac])=>re.default.createElement(v$,{key:ri,label:ri,score:ac,indent:!0,mono:!0}))):re.default.createElement(v$,{key:fr,label:fr,score:$n}))):re.default.createElement("div",{style:{padding:16,...Ro(11)}},"[ ] no runs yet"),re.default.createElement("div",{style:{padding:16,background:"var(--color-background)",display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:16,fontSize:13}},re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Judge"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},E.judge_kind==="judge_defined"?`judge-defined KPIs${E.judge_model?` (${E.judge_model})`:""}`:E.judge_kind==="llm"?E.judge_model||"llm judge":"rules")),re.default.createElement("div",{style:{gridColumn:"span 2",minWidth:0}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Criteria"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)",textWrap:"pretty"}},(E.criteria||[]).map(fr=>String(fr.key).replace(/_/g," ")).join(" \xB7 ")||"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Samples"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},nt&&Bn>0?`${En} / ${Bn} passed`:"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Last run"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"},title:"Estimated cost, tokens and wall-clock runtime of the latest run"},nue(Z?.usage)||"\u2014")),re.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",justifyContent:"flex-end",gap:8}},re.default.createElement(zr,{size:"sm",onClick:fr=>{fr.stopPropagation(),F(E.id)},disabled:k===E.id},k===E.id?"Running\u2026":"Run again"),re.default.createElement(zr,{variant:"danger",size:"sm",onClick:fr=>{fr.stopPropagation(),G(E)},disabled:M===E.id,title:"Delete this evaluation and its runs"},M===E.id?"Deleting\u2026":"Delete"))))))})),ee.length===0&&!w&&re.default.createElement(yr,{style:{textAlign:"center",padding:"48px 20px"}},re.default.createElement("div",{style:{fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"No evaluations yet"),re.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Create an evaluation to score recorded outputs, or paste scenarios to test new tasks across models")))}var Ce=te(ne());var aue=e=>new Date(`${e}T00:00:00`),oue=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function n_({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=kt(),a=Fa(n),[o,i]=(0,Ce.useState)(null),[l,s]=(0,Ce.useState)(!0),{timeWindow:u,days:c}=Qo(),[d,f]=(0,Ce.useState)("overview"),p=e.telemetry_agent_class||(()=>{let b=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(S,w)=>w.toUpperCase()).replace(/^./,S=>S.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return b.endsWith("Agent")?b:`${b}Agent`})();(0,Ce.useEffect)(()=>{v()},[e?.id,c]);let v=async()=>{if(e?.id){s(!0);try{let S=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();i(S)}catch(b){console.error("Failed to load analytics:",b)}finally{s(!1)}}},y=b=>b?b<1e3?`${b}ms`:`${(b/1e3).toFixed(2)}s`:"-",h=b=>b?b>=1e6?`${(b/1e6).toFixed(1)}M`:b>=1e3?`${(b/1e3).toFixed(1)}K`:b.toString():"0",m=b=>{switch(b){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&&!o)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 g=o?.runs_by_day?.length>0?Math.max(...o.runs_by_day.map(b=>b.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(Jo,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(Jo,null))),!r&&Ce.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:a.mutedBg}},oue.map(b=>Ce.default.createElement("button",{key:b.id,onClick:()=>f(b.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===b.id?"shadow":""}`,style:d===b.id?{background:a.cardBg,color:a.textPrimary}:{color:a.textSecondary}},b.label))),x==="traces"&&Ce.default.createElement(Zu,{agentClass:p,embedded:!0}),x==="interactions"&&Ce.default.createElement(rl,{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(U1,{title:"Total Runs",value:o?.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(U1,{title:"Success Rate",value:`${o?.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(U1,{title:"Avg Duration",value:y(o?.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(U1,{title:"Total Tokens",value:h(o?.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"),o?.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"},o.runs_by_day.map((b,S)=>Ce.default.createElement("div",{key:b.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:`${b.count/g*150}px`,minHeight:b.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"},b.count," runs")),(S===0||S===o.runs_by_day.length-1||o.runs_by_day.length<=7)&&Ce.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:a.textMuted}},aue(b.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(o?.status_breakdown||{}).length>0?Ce.default.createElement("div",{className:"space-y-3"},Object.entries(o.status_breakdown).map(([b,S])=>{let w=o?.summary?.total_runs||1,O=(S/w*100).toFixed(1);return Ce.default.createElement("div",{key:b},Ce.default.createElement("div",{className:"flex justify-between text-sm mb-1"},Ce.default.createElement("span",{className:"capitalize",style:{color:a.textSecondary}},b),Ce.default.createElement("span",{className:"font-medium",style:{color:a.textPrimary}},S," (",O,"%)")),Ce.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:a.trackBg}},Ce.default.createElement("div",{className:`h-full ${m(b)} rounded-full transition-all`,style:{width:`${O}%`}})))})):Ce.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:a.textMuted}},"No runs yet"))),o?.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"},o.recent_errors.map(b=>Ce.default.createElement("div",{key:b.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"}},b.error||"Unknown error"),Ce.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(b.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}},o?.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}},o?.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}},h(o?.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}},o?.period_days||30," days")))))}var y$={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 U1({title:e,value:t,icon:r,color:n,colors:a,darkMode:o}){let[i,l,s]=y$[n]||y$.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:o?l:s,color:i}},r)))}var ae=te(ne());var iue=["agent_defined","dashboard","mcp"],o_={agent_defined:"Agent-defined",dashboard:"Dashboard",mcp:"MCP"},lue={agent_defined:"the host's schema tools, and what the agent class declares",dashboard:"built into the dashboard",mcp:"offered by the services above"},W1=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720}],i_=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`},l_=(e,t=Date.now())=>{if(!e)return"never";let r=new Date(e).getTime();if(Number.isNaN(r))return"never";let n=Math.floor((t-r)/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;let a=Math.floor(n/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`},a_=e=>{if(typeof e=="string")return e.trim()||null;if(!e||typeof e!="object")return null;let t=e.key||e.name;return t&&String(t).trim()||null};function F1(e,t=[]){let r=new Map;(t||[]).forEach(a=>{let o=a_(a);o&&r.set(o,a)});let n={};return(e.services||[]).forEach(a=>{let o=r.get(a.key),i=o&&typeof o=="object"&&Array.isArray(o.tools)?o.tools.map(l=>String(l&&l.name?l.name:l)):null;n[a.key]={on:r.has(a.key),tools:Object.fromEntries((a.tools||[]).map(l=>[l.name,i===null||i.includes(l.name)]))}}),n}var h$=e=>{let t=String(e||"").trim().toLowerCase();return(...r)=>!t||r.some(n=>String(n||"").toLowerCase().includes(t))};function x$(e,t,{query:r="",filter:n=null}={}){let a=h$(r);return(e.services||[]).filter(o=>n?n==="enabled"?t[o.key]?.on:o.status===n:!0).filter(o=>a(o.name,o.description)||(o.tools||[]).some(i=>a(i.name))).map(o=>{let i=t[o.key]||{on:!1,tools:{}},l=o.tools||[],s=l.map(c=>({...c,on:!!i.tools[c.name]})),u=s.filter(c=>c.on);return{...o,on:i.on,tools:s,offeredCount:l.length,enabledCount:u.length,toolsLabel:`${u.length}/${l.length}`,partial:i.on&&u.length{let a=t[n.key];!a||!a.on||(n.tools||[]).forEach(o=>{a.tools[o.name]&&r.push({...o,key:`${n.key}:${o.name}`,source:"mcp",editable:!1,enabled:!0,server:n.name,serverKey:n.key})})}),r}function b$(e,t,r=[]){let n=new Set((r||[]).map(String));return(e.tools||[]).map(a=>({...a,on:a.editable?n.has(a.key):a.enabled!==!1})).concat(sue(e,t).map(a=>({...a,on:!0})))}function w$(e,t,r,{query:n="",source:a=null,enabledOnly:o=!1}={}){let i=h$(n),l=b$(e,t,r),s=l.filter(u=>!a||u.source===a).filter(u=>!o||u.on).filter(u=>i(u.name,u.description));return iue.map(u=>{let c=l.filter(p=>p.source===u),d=c.some(p=>p.editable),f=c.filter(p=>p.on).length;return{source:u,name:o_[u],meta:`${lue[u]} \xB7 ${c.length} ${c.length===1?"tool":"tools"}`,countLabel:d?`${f}/${c.length} on`:`${c.length} offered`,editable:d,total:c.length,enabledCount:f,keys:c.map(p=>p.key),rows:s.filter(p=>p.source===u)}}).filter(u=>u.total>0)}function S$(e,t,r,{range:n="7d"}={}){let a=b$(e,t,r),o=e.usage_available!==!1,i=e.services||[],l=i.filter(p=>t[p.key]?.on),s=a.filter(p=>p.source!=="mcp"&&p.on),u=a.filter(p=>p.source==="mcp"),c=a.reduce((p,v)=>p+(v.calls||0),0),d=a.reduce((p,v)=>p+(v.errors||0),0),f=a.filter(p=>p.on&&!p.calls).length;return[{key:"tools",label:"Tools enabled",value:String(s.length+u.length),sub:`${s.length} direct \xB7 ${u.length} offered through MCP`},{key:"services",label:"MCP services",value:`${l.length}/${i.length}`,sub:l.length?`on for this agent: ${l.map(p=>p.name).join(", ")}`:"none enabled for this agent"},{key:"calls",label:"Tool calls",value:o?String(c):"\u2014",sub:o?`${d} error${d===1?"":"s"} in the last ${n} \xB7 traced`:"no calls recorded in this window yet"},{key:"unused",label:"Never called",value:o?String(f):"\u2014",sub:"enabled but unused in this window",tone:o&&f>6?"warning":null}]}function A$(e,t,r){let n=F1(e,t.mcpServers),a=F1(e,r.mcpServers),o=0;Object.keys(n).forEach(s=>{n[s].on!==a[s].on&&(o+=1),Object.keys(n[s].tools).forEach(u=>{n[s].tools[u]!==a[s].tools[u]&&(o+=1)})});let i=new Set((t.tools||[]).map(String)),l=new Set((r.tools||[]).map(String));return(e.tools||[]).forEach(s=>{s.editable&&i.has(s.key)!==l.has(s.key)&&(o+=1)}),o}function k$(e,t,r=[]){let n=new Map;(r||[]).forEach(i=>{let l=a_(i);l&&n.set(l,i)});let a=[];(e.services||[]).forEach(i=>{let l=t[i.key];if(!l||!l.on)return;let s=(i.tools||[]).map(p=>p.name),u=s.filter(p=>l.tools[p]),c=n.get(i.key),d=s.length>0&&u.lengthi.key));return(r||[]).forEach(i=>{let l=a_(i);l&&!o.has(l)&&a.push(i)}),a}function s_(e,t=[]){let r=new Set((e.tools||[]).filter(o=>o.editable).map(o=>o.key)),n=(t||[]).map(String).filter(o=>!r.has(o)),a=(e.tools||[]).filter(o=>o.editable&&t.includes(o.key)).map(o=>o.key);return n.concat(a)}var uue={active:"success",configured:"info",available:"warning",idle:"muted"},cue={agent_defined:"success",dashboard:"success",mcp:"info"},N$="44px minmax(0, 1fr) 108px 60px 52px 58px 74px 26px",C$="26px minmax(0, 1fr) 108px 52px 52px 52px 74px",due=[{value:"enabled",label:"Enabled"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],E$={padding:"7px 16px",gap:10,alignItems:"end",background:"var(--color-muted)",fontFamily:ye,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)"},ei={fontFamily:ye,fontSize:11,textAlign:"right",color:"var(--color-text-primary)"},H1={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function fue({on:e,onClick:t,title:r}){return ae.default.createElement("span",{role:"switch","aria-checked":e,tabIndex:0,title:r,onClick:t,onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))},style:{width:34,height:18,borderRadius:999,flexShrink:0,position:"relative",cursor:"pointer",background:e?"var(--color-accent-ui)":"var(--color-muted)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,transition:"background 0.12s ease"}},ae.default.createElement("span",{style:{position:"absolute",top:1,left:e?17:1,width:14,height:14,borderRadius:"50%",background:e?"#ffffff":"var(--color-text-muted)",transition:"left 0.12s ease"}}))}function _$({on:e,dim:t=!1}){return ae.default.createElement("span",{"aria-hidden":"true",style:{width:16,height:16,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,flexShrink:0,border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,background:e?"var(--color-accent-ui)":"transparent",color:e?"var(--color-on-accent)":"transparent",opacity:t?.8:1}},e?"x":"")}function V1({children:e,onClick:t,disabled:r,title:n}){return ae.default.createElement("button",{type:"button",onClick:t,disabled:r,title:n,style:{padding:"3px 9px",borderRadius:6,background:"transparent",fontFamily:ye,fontSize:11,border:"1px solid var(--color-border-strong)",color:"var(--color-text-cell)",cursor:r?"not-allowed":"pointer",opacity:r?.5:1}},e)}function O$({children:e}){return ae.default.createElement("div",{style:{overflowX:"auto"}},ae.default.createElement("div",{style:{minWidth:800}},e))}function u_({agent:e,formData:t,updateField:r,onSave:n,hasChanges:a=!1,isLoading:o}){let[i,l]=(0,ae.useState)(null),[s,u]=(0,ae.useState)(null),[c,d]=(0,ae.useState)("7d"),[f,p]=(0,ae.useState)(""),[v,y]=(0,ae.useState)(null),[h,m]=(0,ae.useState)(null),[g,x]=(0,ae.useState)(!1),[b,S]=(0,ae.useState)(null),[w,O]=(0,ae.useState)({}),k=(W1.find(I=>I.value===c)||W1[1]).hours;(0,ae.useEffect)(()=>{let I=!1;return u(null),fetch(`/api/agents/${e.id}/tool_roster?hours=${k}`).then(C=>{if(!C.ok)throw new Error(`Request failed (${C.status})`);return C.json()}).then(C=>{I||l(C)}).catch(C=>{I||u(C.message)}),()=>{I=!0}},[e.id,k]);let A=(0,ae.useMemo)(()=>({services:[],tools:[]}),[]),M=i||A,W=(0,ae.useMemo)(()=>t.tools||[],[t.tools]),L=(0,ae.useMemo)(()=>t.mcp_servers||[],[t.mcp_servers]),H=(0,ae.useMemo)(()=>F1(M,L),[M,L]),D=(0,ae.useMemo)(()=>x$(M,H,{query:f,filter:v}),[M,H,f,v]),Y=(0,ae.useMemo)(()=>w$(M,H,W,{query:f,source:h,enabledOnly:g}),[M,H,W,f,h,g]),N=(0,ae.useMemo)(()=>S$(M,H,W,{range:c}),[M,H,W,c]),_=(0,ae.useMemo)(()=>A$(M,{tools:W,mcpServers:L},{tools:e.tools||[],mcpServers:e.mcp_servers||[]}),[M,W,L,e]),z=M.usage_available!==!1,j=I=>z?I:"\u2014",P=(0,ae.useCallback)(I=>{r("mcp_servers",k$(M,I,L))},[M,L,r]),B=(0,ae.useCallback)(I=>{let C=H[I.key];P({...H,[I.key]:{...C,on:!C.on}})},[H,P]),R=(0,ae.useCallback)((I,C)=>{let T=H[I.key];T.on&&P({...H,[I.key]:{...T,tools:{...T.tools,[C.name]:!T.tools[C.name]}}})},[H,P]),F=(0,ae.useCallback)((I,C)=>{let T=H[I.key],X=Object.fromEntries((I.tools||[]).map($=>[$.name,C]));P({...H,[I.key]:{on:C||T.on,tools:X}})},[H,P]),G=(0,ae.useCallback)(I=>{if(!I.editable)return;let C=I.on?W.filter(T=>T!==I.key):[...W,I.key];r("tools",s_(M,C))},[M,W,r]),ee=(0,ae.useCallback)((I,C)=>{if(!I.editable)return;let T=C?[...W,...I.keys.filter(X=>!W.includes(X))]:W.filter(X=>!I.keys.includes(X));r("tools",s_(M,T))},[M,W,r]),fe=(0,ae.useCallback)(()=>{r("tools",e.tools||[]),r("mcp_servers",e.mcp_servers||[])},[e,r]),de=(M.services||[]).filter(I=>H[I.key]?.on),De=Y.find(I=>I.source==="mcp"),Te=Y.filter(I=>I.source!=="mcp").reduce((I,C)=>I+C.enabledCount,0)+(De?De.total:0),K=Y.reduce((I,C)=>I+C.total,0);return s?ae.default.createElement(yr,null,ae.default.createElement(rt,null,"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-error-text)"}},"Could not load the roster: ",s)):i?ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},ae.default.createElement("div",{style:{flex:1,minWidth:260}},ae.default.createElement("h2",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"3px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turn a service on to offer its tools, then narrow the roster tool by tool. Call counts come from the traces recorded on every tool call.")),ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border-strong)",background:"var(--color-card)"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},"?"),ae.default.createElement("input",{value:f,onChange:I=>p(I.target.value),placeholder:"Filter tools and services\u2026","aria-label":"Filter tools and services",style:{border:"none",outline:"none",background:"transparent",color:"var(--color-text-primary)",fontSize:13,width:180}})),ae.default.createElement(j1,{options:W1,value:c,onChange:d}))),ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12}},N.map(I=>ae.default.createElement(yr,{key:I.key,padding:"14px 16px",testId:`roster-stat-${I.key}`},ae.default.createElement(rt,{size:11,spacing:"0.05em"},I.label),ae.default.createElement("div",{style:{marginTop:6,fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,color:I.tone==="warning"?"var(--color-warning)":"var(--color-text-primary)"}},I.value),ae.default.createElement("div",{style:{marginTop:5,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},I.sub)))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"mcp-services-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"MCP services"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},de.length," of ",(M.services||[]).length," enabled \xB7 ",De?De.total:0," tools offered"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(al,{selected:!v,onClick:()=>y(null)},"All ",(M.services||[]).length),due.map(I=>ae.default.createElement(al,{key:I.value,selected:v===I.value,onClick:()=>y(v===I.value?null:I.value)},I.label,I.value==="enabled"?` ${de.length}`:"")),ae.default.createElement(Ff,{href:Ge("/mcp"),onClick:()=>Gv("/mcp"),title:"Every MCP service this workspace knows",style:{marginLeft:4}},"manage servers"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:N$,...E$}},ae.default.createElement("span",null,"On"),ae.default.createElement("span",null,"Service"),ae.default.createElement("span",null,"Status"),ae.default.createElement("span",{style:{textAlign:"right"}},"Tools"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen"),ae.default.createElement("span",null)),D.map(I=>{let C=b===I.key;return ae.default.createElement("div",{key:I.key},ae.default.createElement("div",{className:"aa-roster-row","data-on":I.on?"true":"false","data-testid":`service-row-${I.key}`,style:{display:"grid",gridTemplateColumns:N$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)"}},ae.default.createElement(fue,{on:I.on,onClick:()=>B(I),title:`${I.on?"Disable":"Enable"} ${I.name} for this agent`}),ae.default.createElement("div",{onClick:()=>S(C?null:I.key),style:{minWidth:0,cursor:"pointer"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},I.name),I.first_party&&ae.default.createElement(or,{tone:"accent",size:10},"first-party"),!I.known&&ae.default.createElement(or,{size:10,title:"Seen in your traffic but not in the platform catalog"},"undocumented"),I.partial&&ae.default.createElement(or,{tone:"warning",size:10},I.partialLabel)),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...H1}},I.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:uue[I.status]||"muted"},I.status)),ae.default.createElement("span",{style:{...ei,color:I.on?"var(--color-text-primary)":"var(--color-text-muted)"}},I.toolsLabel),ae.default.createElement("span",{style:ei},j(I.calls)),ae.default.createElement("span",{style:{...ei,color:I.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(I.errors)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-muted)"}},j(l_(I.last_seen))),ae.default.createElement("span",{onClick:()=>S(C?null:I.key),style:{cursor:"pointer",textAlign:"center"}},ae.default.createElement(Ju,{kind:"chevron",open:C}))),C&&ae.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"10px 16px 12px"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8}},ae.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Tools offered"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.transport),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8}},ae.default.createElement(V1,{onClick:()=>F(I,!0),title:`Offer every tool ${I.name} serves`},"all"),ae.default.createElement(V1,{onClick:()=>F(I,!1),disabled:!I.on,title:`Offer none of ${I.name}'s tools`},"none"))),I.tools.length===0?ae.default.createElement(aa,{style:{padding:"10px 0"}},"no tools recorded for this service yet"):ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"6px 14px"}},I.tools.map(T=>ae.default.createElement("div",{key:T.name,className:"aa-roster-row",onClick:()=>R(I,T),style:{display:"grid",gridTemplateColumns:"20px minmax(0, 1fr) 46px 52px",gap:10,alignItems:"center",padding:"6px 8px",borderRadius:8,cursor:I.on?"pointer":"default",opacity:I.on?1:.55}},ae.default.createElement(_$,{on:T.on,dim:!I.on}),ae.default.createElement("span",{style:{minWidth:0}},ae.default.createElement("span",{style:{display:"block",fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)",...H1}},T.name),ae.default.createElement("span",{style:{display:"block",fontSize:11,color:"var(--color-text-muted)",...H1}},T.description)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-secondary)"}},j(T.calls)),ae.default.createElement("span",{style:{...ei,color:T.errors?"var(--color-error-text)":"var(--color-text-muted)"}},j(T.errors?`${T.errors} err`:i_(T.avg_duration_ms)))))),!I.on&&ae.default.createElement("div",{style:{marginTop:8,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turning ",I.name," on offers these ",I.tools.length," tools to the agent and starts recording traces and metrics for every call.")))}),D.length===0&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no services match "${f}"`:"no MCP services yet"))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"tools-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"Tools"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Te," enabled of ",K," available"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(al,{selected:!h,onClick:()=>m(null)},"All ",K),Y.map(I=>ae.default.createElement(al,{key:I.source,selected:h===I.source,onClick:()=>m(h===I.source?null:I.source)},I.name," ",I.total)),ae.default.createElement(al,{square:!0,mono:!0,selected:g,onClick:()=>x(!g),style:{marginLeft:4}},g?"[x] enabled only":"[ ] enabled only"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:C$,...E$}},ae.default.createElement("span",null),ae.default.createElement("span",null,"Tool"),ae.default.createElement("span",null,"Source"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Avg"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen")),Y.map(I=>{let C=w[I.source]!==!0;return ae.default.createElement("div",{key:I.source},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 16px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",flexWrap:"wrap"}},ae.default.createElement("span",{onClick:()=>O({...w,[I.source]:C}),style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:10}},ae.default.createElement(Ju,{kind:"chevron",open:C}),ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},I.name)),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.meta),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-cell)"}},I.countLabel),I.editable&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement(V1,{onClick:()=>ee(I,!0)},"all"),ae.default.createElement(V1,{onClick:()=>ee(I,!1)},"none")))),C&&I.rows.map(T=>ae.default.createElement("div",{key:T.key,className:"aa-roster-row","data-on":T.on?"true":"false","data-testid":`tool-row-${T.key}`,onClick:()=>G(T),style:{display:"grid",gridTemplateColumns:C$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)",cursor:T.editable?"pointer":"default",opacity:T.editable?1:.75}},ae.default.createElement(_$,{on:T.on,dim:!T.editable}),ae.default.createElement("div",{style:{minWidth:0}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)"}},T.name),T.source==="mcp"&&ae.default.createElement(or,{size:10},"via ",T.server),T.source==="agent_defined"&&(T.editable?ae.default.createElement(or,{size:10,title:"Generated from the host's schema tools; offered to this agent only while its roster names it"},"from schema"):ae.default.createElement(or,{size:10,title:"Declared by the agent class in code, so the roster reports it rather than selecting it"},"from code")),z&&T.on&&!T.calls&&ae.default.createElement(or,{size:10},"unused")),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...H1}},T.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:cue[T.source]||"muted"},o_[T.source])),ae.default.createElement("span",{style:ei},j(T.calls)),ae.default.createElement("span",{style:{...ei,color:T.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(T.errors)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-secondary)"}},j(i_(T.avg_duration_ms))),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-muted)"}},j(l_(T.last_seen))))))}),Y.every(I=>I.rows.length===0)&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no tools match "${f}"`:"nothing enabled yet"))),ae.default.createElement(yr,{padding:"12px 16px",style:{position:"sticky",bottom:0,zIndex:4,background:"var(--color-surface)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},testId:"roster-action-bar"},ae.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},ae.default.createElement(rt,{size:11,spacing:"0.05em"},Te," tools \xB7 ",de.length," services"),ae.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Every enabled tool is traced: calls, arguments, errors and latency land in Traces and roll up into Metrics.")),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},_>0&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-warning-text)"}},_," change",_===1?"":"s"," pending"),ae.default.createElement(zr,{variant:"secondary",onClick:fe},"Discard")),ae.default.createElement(zr,{variant:a?"primary":"secondary",onClick:n,disabled:o||!a,title:a?"Save this agent":"Nothing to save",style:a?void 0:{background:"var(--color-muted)",color:"var(--color-text-muted)",border:"1px solid transparent",cursor:"default"}},o?"Saving\u2026":"Save Changes")))):ae.default.createElement(yr,null,ae.default.createElement(aa,null,"loading the roster\u2026"))}var pue=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],P$=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],mue=P$.map(e=>e.id),T$={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"]}},vue={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function Ss({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[a,o]=(T$[e]||T$.neutral)[r?"dark":"light"];return ie.default.createElement("span",{style:{background:a,color:o,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Fe.mono:void 0,whiteSpace:"nowrap"}},n)}function Ln({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:a,title:o,testId:i,children:l}){let u={padding:t==="sm"?"5px 10px":"7px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,cursor:n?"not-allowed":"pointer",transition:"background 0.15s ease, border-color 0.15s ease",whiteSpace:"nowrap"},c={primary:{background:n?a.mutedBg:vn,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 ie.default.createElement("button",{type:"button",onClick:r,disabled:n,title:o,"data-testid":i,style:{...u,...c[e]||c.secondary}},l)}function M$({tabs:e,active:t,onChange:r,colors:n}){return ie.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(a=>{let o=t===a.id;return ie.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 ${o?vn:"transparent"}`,color:o?vn:n.textSecondary,fontSize:"13px",fontWeight:o?600:500,cursor:"pointer",whiteSpace:"nowrap"}},a.label)}))}function K1({agent:e,meta:t,onSave:r,onDelete:n,onRun:a,onDuplicate:o,onRunReport:i,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=kt(),d=Fa(c),[f,p]=(0,ie.useState)(u||"config"),[v,y]=(0,ie.useState)({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"}),[h,m]=(0,ie.useState)([]),[g,x]=(0,ie.useState)(!1),[b,S]=(0,ie.useState)(""),[w,O]=(0,ie.useState)(od),k=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let N=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(_,z)=>z.toUpperCase()).replace(/^./,_=>_.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return N.endsWith("Agent")?N:`${N}Agent`})();(0,ie.useEffect)(()=>{let N=!1;return Ky(v.provider).then(_=>{N||_.length===0||O(z=>({...z,[v.provider]:_}))}),()=>{N=!0}},[v.provider]),(0,ie.useEffect)(()=>{let N=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(N)},[v,e]),(0,ie.useEffect)(()=>{f==="versions"?A():f==="code"&&M()},[f]);let A=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/versions`)).json();m(_.versions)}catch(N){console.error("Failed to load versions:",N)}},M=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/export`)).json();S(_.code)}catch(N){console.error("Failed to load code preview:",N)}},W=(N,_)=>{y(z=>({...z,[N]:_}))},L=(N,_)=>{y(z=>{let j=z[N]||[],P=j.includes(_)?j.filter(B=>B!==_):[...j,_];return{...z,[N]:P}})},H=()=>{r(v)},D=mue.includes(f),Y=f==="tools";return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},ie.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Fe.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),ie.default.createElement(mr,{size:44}),ie.default.createElement("div",{style:{flex:1,minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},ie.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},v.name||"Untitled agent"),ie.default.createElement(Ss,{tone:vue[v.status]||"neutral",darkMode:c},v.status),g&&ie.default.createElement(Ss,{tone:"info",darkMode:c},"unsaved")),ie.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},v.description||"No description")),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},o&&ie.default.createElement(Ln,{variant:"secondary",colors:d,onClick:o},"Duplicate"),ie.default.createElement(Ln,{variant:"primary",colors:d,onClick:a},"Run Agent"))),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},ie.default.createElement(M$,{tabs:pue,active:f,onChange:p,colors:d}),ie.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),ie.default.createElement(M$,{tabs:P$,active:f,onChange:p,colors:d})),Y?ie.default.createElement(u_,{agent:e,formData:v,updateField:W,onSave:H,hasChanges:g,isLoading:s}):D?ie.default.createElement("div",null,f==="traces"&&ie.default.createElement(Zu,{agentClass:k,embedded:!0}),f==="metrics"&&ie.default.createElement(n_,{agent:e,embedded:!0}),f==="interactions"&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i&&ie.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},ie.default.createElement("button",{type:"button",onClick:i,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Fe.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),ie.default.createElement(rl,{agentId:e.id,embedded:!0})),f==="evals"&&ie.default.createElement(eg,{embedded:!0,agentId:e.id}),f==="feedback"&&ie.default.createElement(wue,{colors:d})):ie.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&ie.default.createElement(yue,{formData:v,updateField:W,providerModels:w,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&ie.default.createElement(hue,{formData:v,updateField:W,meta:t,toggleArrayItem:L,colors:d}),f==="versions"&&ie.default.createElement(xue,{versions:h,agentId:e.id,onRestore:A,colors:d,darkMode:c}),f==="code"&&ie.default.createElement(bue,{code:b,colors:d})),g&&!Y&&ie.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)"}},ie.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),ie.default.createElement("div",{style:{display:"flex",gap:"8px"}},ie.default.createElement(Ln,{variant:"primary",size:"sm",colors:d,onClick:H,disabled:s},s?"Saving\u2026":"Save Changes"))))}var ti=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),il=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),gue=e=>({fontFamily:Fe.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function yue({formData:e,updateField:t,providerModels:r,colors:n,darkMode:a,onDelete:o}){return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Agent Name"),ie.default.createElement("input",{type:"text",value:e.name,onChange:i=>t("name",i.target.value),className:"aa-field",style:il(n)})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Preset Type"),ie.default.createElement("select",{value:e.preset_type,onChange:i=>t("preset_type",i.target.value),className:"aa-field",style:il(n)},Object.keys(nd).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Description"),ie.default.createElement("textarea",{value:e.description,onChange:i=>t("description",i.target.value),rows:3,className:"aa-field",style:{...il(n),resize:"vertical"}})),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Provider"),ie.default.createElement("select",{value:e.provider,onChange:i=>{t("provider",i.target.value),t("model",r[i.target.value][0])},className:"aa-field",style:il(n)},Object.keys(r).map(i=>ie.default.createElement("option",{key:i,value:i},i.charAt(0).toUpperCase()+i.slice(1))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Model"),ie.default.createElement("select",{value:e.model,onChange:i=>t("model",i.target.value),className:"aa-field",style:{...il(n),fontFamily:Fe.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Temperature"," ",ie.default.createElement("span",{style:{fontFamily:Fe.mono,color:n.textSecondary}},e.model_config.temperature)),ie.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:i=>t("model_config",{...e.model_config,temperature:parseFloat(i.target.value)}),style:{width:"100%",accentColor:vn}})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Status"),ie.default.createElement("select",{value:e.status,onChange:i=>t("status",i.target.value),className:"aa-field",style:il(n)},ie.default.createElement("option",{value:"draft"},"Draft"),ie.default.createElement("option",{value:"active"},"Active"),ie.default.createElement("option",{value:"archived"},"Archived")))),o&&ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},ie.default.createElement("div",null,ie.default.createElement("div",{style:gue(n)},"Danger zone"),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),ie.default.createElement(Ln,{variant:"danger",size:"sm",colors:n,onClick:o},"Delete Agent")))}function hue({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:a}){let o=e.action_prompts||[],i=(u,c)=>{t("action_prompts",o.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...o,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",o.filter((c,d)=>d!==u))};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(a)},"System Instructions"),ie.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:{...il(a),fontFamily:Fe.mono,resize:"vertical"}})),ie.default.createElement("div",null,ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},ie.default.createElement("label",{style:{...ti(a),marginBottom:0}},"Action Prompts"),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:a,onClick:l},"+ Add action")),ie.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 ",ie.default.createElement("span",{style:{fontFamily:Fe.mono}},"#ask")," action uses the system instructions alone."),o.length>0&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},o.map((u,c)=>ie.default.createElement("div",{key:c,style:{border:`1px solid ${a.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",color:a.textMuted}},"#"),ie.default.createElement("input",{type:"text",value:u.name,onChange:d=>i(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...il(a),flex:1,padding:"6px 10px",fontFamily:Fe.mono}}),ie.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:a.textSecondary,whiteSpace:"nowrap"}},ie.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>i(c,{expose_as_tool:d.target.checked}),style:{accentColor:vn}}),"Expose as tool"),ie.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Fe.mono,fontSize:"12px",color:a.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),ie.default.createElement("textarea",{value:u.prompt,onChange:d=>i(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...il(a),fontFamily:Fe.mono,resize:"vertical"}}))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(a)},"Instruction Sets"),ie.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return ie.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?vn:a.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":a.textCell}},u)}))))}function xue({versions:e,agentId:t,onRestore:r,colors:n,darkMode:a}){let o=async i=>{if(confirm("Restore this version? This will create a new version with the restored configuration."))try{await fetch(`/api/agents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version_id:i})}),r()}catch(l){console.error("Failed to restore version:",l)}};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},ie.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(i=>{let l=i.is_latest||i.isLatest;return ie.default.createElement("div",{key:i.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?vn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},ie.default.createElement("div",{style:{minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",i.version_number||i.versionNumber),l&&ie.default.createElement(Ss,{tone:"error",darkMode:a},"current")),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},i.change_summary||i.changeSummary),ie.default.createElement("p",{style:{fontFamily:Fe.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(i.created_at||i.createdAt).toLocaleString())),!l&&ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>o(i.id)},"Restore"))})):ie.default.createElement(D$,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function bue({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},ie.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),ie.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Fe.mono,fontSize:"12px",lineHeight:1.6,margin:0}},ie.default.createElement("code",null,e||"Loading...")))}function wue({colors:e}){return ie.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},ie.default.createElement(D$,{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 D$({colors:e,glyph:t,title:r,hint:n}){return ie.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},ie.default.createElement("div",{style:{fontFamily:Fe.mono,fontSize:"20px",color:e.textMuted}},t),ie.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),ie.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var V=te(ne());async function Vf(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var Sue={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},Aue=(e,t)=>{let r=Sue[e]||{role:e,label:e};return{...gr(r.role,t),label:r.label}},c_={complete:"success",failed:"error",running:"info",pending:"warning",cancelled:"neutral"},kue=["Hello, what can you help me with?","Show me a dashboard of last quarter's sales","List the files in the current directory","Explain how this code works"],Nue=["user","assistant","tool"],Cue=1200,Eue=600*1e3,q1=e=>e?e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`:"-",I$=e=>{if(!e)return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},d_=e=>{let t=new Map;return(e?.logs||[]).filter(r=>r.eid).forEach(r=>{let n=t.get(r.eid)||{eid:r.eid};r.status==="started"?Object.assign(n,r,{input:r.detail,output:n.output}):Object.assign(n,r,{input:n.input,output:r.detail}),t.set(r.eid,n)}),[...t.values()]},As=e=>e?.context_id??e?.output_metadata?.context_id??null,tg=e=>e.json().catch(()=>({})),j$=({open:e,color:t})=>V.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${e?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:t}},V.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}));function _ue({run:e,darkMode:t,colors:r,expanded:n,onToggle:a}){let o=d_(e),i=O1(t);return V.default.createElement("div",{"data-testid":"runner-activity",className:"space-y-2"},o.map(l=>{let s=!!n[l.eid],u=!!(l.input||l.output),c=Aue(l.kind,t);return V.default.createElement("div",{key:l.eid,"data-testid":"runner-activity-event"},V.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${u?"cursor-pointer":""}`,onClick:u?()=>a(l.eid):void 0,title:u?"Click to inspect input/output":void 0,style:s?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:c.background,color:c.color,minWidth:"72px",textAlign:"center"}},c.label),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words",style:{color:r.textPrimary}},l.label,l.output&&!s&&V.default.createElement("span",{style:{color:r.textMuted}}," \u201C",l.output.slice(0,160),l.output.length>160?"\u2026":"","\u201D")),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:r.textMuted}},l.status==="started"?V.default.createElement("span",{className:"animate-pulse",style:{color:"#3b82f6"}},"running\u2026"):V.default.createElement("span",{style:l.status==="error"?{color:"#ef4444"}:void 0},l.status==="error"?"failed":"\u2713",l.duration_ms!=null&&` ${q1(l.duration_ms)}`),l.at&&V.default.createElement("span",null,new Date(l.at).toLocaleTimeString()))),u&&V.default.createElement(j$,{open:s,color:r.textMuted})),s&&V.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:c.color+"55"}},l.input&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},"Input"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},I$(l.input))),l.output&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},l.status==="error"?"Error":"Result"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...l.status==="error"?{background:t?"rgba(239,68,68,0.12)":"#fef2f2",color:t?"#fca5a5":"#b91c1c"}:{}}},I$(l.output)))))}))}function Oue({run:e,darkMode:t,colors:r}){return e?V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap text-xs",style:{color:r.textMuted}},V.default.createElement("span",{"data-testid":"runner-status",style:{display:"inline-flex"}},V.default.createElement(Ss,{tone:c_[e.status]||"neutral",darkMode:t},e.status)),e.output_metadata?.model&&V.default.createElement("span",{className:"font-mono",title:"Model that generated this run"},e.output_metadata.provider,"/",e.output_metadata.model),e.duration_ms?V.default.createElement("span",null,q1(e.duration_ms)):null,e.total_tokens?V.default.createElement("span",null,e.total_tokens," tokens"):null,e.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${e.trace_id}`),className:"font-mono hover:underline",style:{color:r.textSecondary},title:`${e.trace_id} \u2014 open in Traces`},"trace:",e.trace_id.slice(0,8)," \u2192")):null}function f_({agent:e,onBack:t}){let{darkMode:r}=kt(),n=Fa(r),a=e.action_prompts||e.actionPrompts||[],o=["ask",...a.map(oe=>oe.name).filter(Boolean)],[i,l]=(0,V.useState)("ask"),[s,u]=(0,V.useState)(""),[c,d]=(0,V.useState)([]),[f,p]=(0,V.useState)(!1),[v,y]=(0,V.useState)([]),[h,m]=(0,V.useState)(null),[g,x]=(0,V.useState)(null),[b,S]=(0,V.useState)(null),[w,O]=(0,V.useState)([]),[k,A]=(0,V.useState)(!1),[M,W]=(0,V.useState)(null),[L,H]=(0,V.useState)(null),[D,Y]=(0,V.useState)(null),[N,_]=(0,V.useState)(null),[z,j]=(0,V.useState)({}),[P,B]=(0,V.useState)(null),[R,F]=(0,V.useState)(!1),[G,ee]=(0,V.useState)(null),[fe,de]=(0,V.useState)(!1),[De,le]=(0,V.useState)(!1),[Te,K]=(0,V.useState)(null),[I,C]=(0,V.useState)(""),[T,X]=(0,V.useState)(!1),[$,Ne]=(0,V.useState)(null),E=(0,V.useRef)(null),Z=(0,V.useRef)(null),ge=(0,V.useRef)(0),Le=(0,V.useRef)(!0),nt=(0,V.useRef)(null),Bt=(0,V.useRef)([]),ft=(0,V.useRef)(null),En=(0,V.useRef)(null),Bn=(0,V.useRef)(null),oa=(0,V.useRef)(null),Mo=(g?.messages||[]).filter(oe=>Nue.includes(oe.role));(0,V.useEffect)(()=>{nt.current=L},[L]),(0,V.useEffect)(()=>{Bt.current=c},[c]),(0,V.useEffect)(()=>(Le.current=!0,nc(),()=>{Le.current=!1,ge.current+=1,ni(nt.current),ni({attachments:Bt.current}),H(null),d([])}),[e.id]),(0,V.useEffect)(()=>{fr(i)},[e.id,i]),(0,V.useEffect)(()=>{Z.current=h,h?$n(h):(x(null),S(null))},[h]),(0,V.useEffect)(()=>{let oe=En.current;oe&&(oe.scrollTop=oe.scrollHeight)},[Mo.length,L,M?.logs?.length,Te,D]),(0,V.useEffect)(()=>{if(!De)return;let oe=Ie=>{oa.current&&!oa.current.contains(Ie.target)&&le(!1)};return document.addEventListener("mousedown",oe),()=>document.removeEventListener("mousedown",oe)},[De]);let nc=async()=>{try{let Ie=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();O(Ie.runs||[])}catch(oe){console.error("Failed to load runs:",oe)}},fr=async oe=>{try{let Ie=await fetch(`/api/agents/${e.id}/conversations?action_name=${encodeURIComponent(oe)}`);if(!Ie.ok)throw new Error(`HTTP ${Ie.status}`);let at=(await Ie.json()).conversations||[];y(at),m(Hr=>Hr&&(E.current===Hr||at.some(fo=>fo.id===Hr))?Hr:at[0]?.id??null)}catch(Ie){console.error("Failed to load conversations:",Ie),y([])}},$n=async oe=>{try{let Ie=await fetch(`/api/interactions/${oe}`);if(!Ie.ok)throw new Error(Ie.status===404?"Conversation not found":`HTTP ${Ie.status}`);let Ye=await Ie.json();if(Z.current!==oe)return;x(Ye.interaction),S(null)}catch(Ie){if(Z.current!==oe)return;x(null),S(Ie.message)}},ri=async()=>{let oe=await fetch(`/api/agents/${e.id}/conversations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action_name:i})}),Ie=await tg(oe);if(!oe.ok||!Ie.conversation)throw new Error(Ie.error||`Could not start a conversation (HTTP ${oe.status})`);let Ye=Ie.conversation;return y(at=>[Ye,...at.filter(Hr=>Hr.id!==Ye.id)]),E.current=Ye.id,m(Ye.id),Ye.id},ac=()=>Z.current?Promise.resolve(Z.current):ri(),aw=oe=>{E.current=null,l(oe)},Xf=()=>{W(null),_(null),j({})},ow=oe=>{let Ie=oe?Number(oe):null;Ie!==Z.current&&Xf(),E.current=Ie,m(Ie),Y(null)},oc=async()=>{if(!k)try{await ri(),S(null),Y(null),Xf(),ni(nt.current),H(null),K(null)}catch(oe){S(oe.message)}},ni=oe=>{(oe?.attachments||[]).forEach(Ie=>{Ie.url&&Ie.url.startsWith("blob:")&&URL.revokeObjectURL(Ie.url)})},ic=oe=>{let Ie=Array.from(oe||[]).filter(Boolean);Ie.length!==0&&d(Ye=>[...Ye,...Ie.map(at=>({file:at,filename:at.name,content_type:at.type||"application/octet-stream",byte_size:at.size,kind:j7(at),url:at.type&&at.type.startsWith("image/")?URL.createObjectURL(at):null}))])},iw=oe=>{d(Ie=>{let Ye=Ie[oe];return Ye?.url&&URL.revokeObjectURL(Ye.url),Ie.filter((at,Hr)=>Hr!==oe)})},fg=(oe,Ie)=>{A(!1),ni(nt.current),H(null),nc();let Ye=As(oe)??Ie;Ye&&(Ye!==Z.current?(E.current=Ye,m(Ye)):$n(Ye),fr(i))},lw=(oe,Ie)=>{if(!Le.current)return;let Ye=++ge.current,at=Date.now(),Hr=async()=>{if(ge.current===Ye){try{let fo=await fetch(`/api/runs/${oe}`);if(fo.ok){let Un=await fo.json();if(ge.current!==Ye)return;if(W(Un.run),!["pending","running"].includes(Un.run.status)){fg(Un.run,Ie);return}}}catch{}Date.now()-atfo&&{...fo,status:"failed",error_message:"Timed out waiting for the run to finish."}),_("Timed out waiting for the run to finish."))}};Hr()},lc=async({text:oe,files:Ie,fromComposer:Ye=!1})=>{let at=(oe||"").trim();if(!at&&Ie.length===0||k)return;_(null),Y(null),K(null),A(!0),j({}),W({status:"pending",input_prompt:at,output:"",logs:[],started_at:new Date().toISOString()}),ni(nt.current),H({content:at||"(see attached files)",attachments:Ie.map(({file:Un,...Cs})=>Cs)}),Ye&&(u(""),d([]));let Hr=Z.current;if(!Hr)try{Hr=await ri()}catch(Un){_(`${Un.message} \u2014 running without a pinned conversation.`)}let fo=()=>{Ye&&(u(at),d(Ie)),H(null)};try{let Un=new FormData;Un.append("prompt",at),Un.append("action_name",i),Hr&&Un.append("params[context_id]",String(Hr)),Ie.forEach(({file:mg})=>Un.append("attachments[]",mg,mg.name));let Cs=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",body:Un}),cc=await tg(Cs);if(Cs.status===402&&cc.upgrade_required){B(cc.usage),W(mg=>({...mg,status:"failed",error_message:cc.message||"Plan limit reached"})),A(!1),fo();return}if(!Cs.ok)throw new Error(cc.error||"Run failed");lw(cc.run.id,As(cc.run)??Hr)}catch(Un){W(Cs=>({...Cs,status:"failed",error_message:Un.message})),A(!1),fo()}},Zf=()=>lc({text:s,files:c,fromComposer:!0}),pg=oe=>{!oe||!oe.text||lc({text:oe.text,files:[]})},sw=oe=>{oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&(oe.preventDefault(),Zf())},Qf=async(oe,Ie)=>{let Ye=Z.current,at=await fetch(`/api/interactions/${Ye}/messages/${oe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:Ie})}),Hr=await tg(at);if(!at.ok)throw new Error(Hr.error||`Could not save the message (HTTP ${at.status})`);await $n(Ye)},uw=async oe=>{let Ie=Z.current;try{let Ye=await fetch(`/api/interactions/${Ie}/messages/${oe.id}`,{method:"DELETE"});if(!Ye.ok){let at=await tg(Ye);throw new Error(at.error||`Could not delete the message (HTTP ${Ye.status})`)}S(null),await $n(Ie),fr(i)}catch(Ye){S(Ye.message)}},cw=oe=>{le(!1),K(oe),C(""),Ne(null)},sc=async()=>{let oe=I.trim();if(!(!oe||T)){X(!0),Ne(null);try{let Ie=await ac(),Ye=await fetch(`/api/interactions/${Ie}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Te,content:oe})}),at=await tg(Ye);if(!Ye.ok)throw new Error(at.error||`Could not add the message (HTTP ${Ye.status})`);C(""),K(null),await $n(Ie),fr(i)}catch(Ie){Ne(Ie.message)}finally{X(!1)}}},dw=async oe=>{let Ie=oe;if(As(oe)==null)try{let at=await fetch(`/api/runs/${oe.id}`);at.ok&&(Ie=(await at.json()).run)}catch(at){console.error("Failed to load run details:",at)}let Ye=As(Ie);if(Ye){Y(null),Ye!==Z.current&&Xf(),E.current=Ye;let at=Ie.action_name||oe.action_name;at&&o.includes(at)&&at!==i&&l(at),m(Ye)}else Y({...Ie,output:Ie.output??Ie.output_preview,error_message:Ie.error_message??Ie.error});ft.current?.scrollIntoView({behavior:"smooth",block:"start"})},xe=async()=>{F(!0),ee(null);try{await Vf({planSlug:"pro"})}catch(oe){ee(oe.message),F(!1)}},ut=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl,Zt=a.find(oe=>oe.name===i)?.prompt,pr=[e.instructions,i==="ask"?null:Zt].map(oe=>(oe||"").trim()).filter(Boolean).join(` +Who updated the description for the sample notebook?`,style:{...ol,width:"100%",fontFamily:ye,fontSize:12,lineHeight:"18px"}}),re.default.createElement("p",{style:{margin:"6px 0 0",fontSize:12,color:"var(--color-text-muted)",textWrap:"pretty"}},"With scenarios, each run replays every message through the agent \u2014 once per model in \u201CCompare models\u201D \u2014 and reports which tasks it completes, what faults it hits, and how to fix them. ",re.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," lines group related tasks so they can be run together; ",re.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b")," names the tool a task should call.")),L.judgeKind==="judge_defined"&&re.default.createElement("p",{style:{margin:0,fontSize:12,color:"var(--color-text-secondary)"}},"On the first run the judge reads the agent's instructions and recent interactions, defines 3\u20136 KPIs, then scores samples against them. KPIs persist so later runs (and model cohorts) stay comparable."),L.judgeKind!=="judge_defined"&&re.default.createElement(re.default.Fragment,null,re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Rule-based criteria (sampled generations)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},e_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Telemetry criteria (trace aggregates)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},t_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Must contain (optional pattern)"),re.default.createElement("input",{type:"text",value:L.containsPattern,onChange:E=>H({...L,containsPattern:E.target.value}),placeholder:"e.g. password reset",style:{...ol,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"LLM judge criterion (optional, needs provider credentials)"),re.default.createElement("input",{type:"text",value:L.llmJudgePrompt,onChange:E=>H({...L,llmJudgePrompt:E.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...ol,width:"100%"}})))),D&&re.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},D),re.default.createElement("div",null,re.default.createElement(zr,{variant:"primary",type:"submit",disabled:N},N?L.scenariosText.trim()?"Creating & starting run\u2026":"Creating & running\u2026":"Create & Run")))),re.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(190px, 1fr))",gap:16}},re.default.createElement(Xv,{label:"Suites",value:fe.length,sub:$,testId:"stat-suites"}),re.default.createElement(Xv,{label:"Scenario runs",value:le,sub:"latest run of each suite",testId:"stat-scenario-runs"}),re.default.createElement(Xv,{label:"Pass rate",value:I==null?"\u2014":n$(I),valueColor:I==null?"var(--color-text-muted)":nl[Qu(I)].strong,sub:I==null?"no completed runs yet":`${Te} / ${le} passed`,testId:"stat-pass-rate"}),re.default.createElement(Xv,{label:"Open faults",value:le-Te,sub:`${Xt(K,"fix item")} across ${Xt(De.length,"suite")}`,testId:"stat-open-faults"})),re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ee.map(E=>{let Z=E.latest_run,ge=j(E.id),Le=!!E.scenario_suite,nt=Z?.status==="complete",Bt=Z?.status==="pending"||Z?.status==="running",ft=Z?.models?.length||(E.compare_models||[]).length||1,En=Z?.samples_passed||0,Bn=Z?.samples_evaluated||0,oa=Bn?En/Bn:0,Mo=(E.criteria||[]).some(fr=>t_.some($n=>$n.key===fr.key)),nc=Le?`@${E.agent?.name||"agent"} \xB7 ${Xt(E.scenario_count||0,"scenario")} \xD7 ${Xt(ft,"model")}`:`@${E.agent?.name||"agent"} \xB7 ${Xt(E.sample_size||0,"sample")}${ft>1?` \xD7 ${Xt(ft,"model")}`:""}`;return re.default.createElement(yr,{key:E.id,padding:0,testId:"evaluation-card","data-telemetry":Mo?"true":"false","data-kind":Le?"suite":"sampling","data-open":ge?"true":"false",style:{overflow:"hidden"}},re.default.createElement("div",{onClick:()=>P(E.id),className:"hover:bg-[var(--color-hover)]",style:{display:"flex",alignItems:"center",gap:12,rowGap:8,padding:"12px 16px",cursor:"pointer",flexWrap:"wrap"}},re.default.createElement(Ju,{kind:"chevron",open:ge}),re.default.createElement("span",{style:{width:22,height:22,borderRadius:6,background:"var(--color-muted)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,color:"var(--color-text-secondary)",flexShrink:0},title:Le?"scenario suite":"sampling evaluation"},Le?"=":"~"),re.default.createElement("span",{style:{fontSize:14,fontWeight:600,color:"var(--color-text-primary)"}},E.name),re.default.createElement("span",{style:Ro(11)},nc),re.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14,flexShrink:0}},re.default.createElement("span",{style:Ro(11)},Hf(Z?.completed_at||Z?.created_at||E.created_at)),Z?.status==="failed"&&re.default.createElement("span",{style:Ro(11,"var(--color-error)")},"failed"),Bt&&re.default.createElement("span",{style:Ro(11)},Z.status==="pending"?"queued":"running"),!Z&&re.default.createElement("span",{style:Ro(11)},"no runs"),nt&&Le&&re.default.createElement("span",{style:Ro(11)},Xt(Bn-En,"fault")),nt&&Le&&re.default.createElement(or,{tone:Qu(oa),testId:"suite-pass-badge"},`${En}/${Bn} passed`),nt&&!Le&&Z.average_score!=null&&re.default.createElement(or,{tone:g$(Z.average_score),title:"mean score across criteria"},`score ${Ru(Z.average_score)}`),nt&&!Le&&Bn>0&&re.default.createElement(or,{tone:Qu(oa)},`${En}/${Bn} passed`))),ge&&re.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)"}},Le?re.default.createElement(RE,{evaluation:E,onChanged:z,onDelete:()=>G(E),deleting:M===E.id}):re.default.createElement(re.default.Fragment,null,Z?.status==="failed"?re.default.createElement("div",{style:{padding:16,fontSize:13,color:"var(--color-error-text)"}},Z.error_message):Z?.scores?re.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12}},Z.scores._verdict&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:10,border:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},re.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},Z.scores._verdict.winner),re.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"}},"judge's pick"),re.default.createElement("span",{style:{marginLeft:"auto",...Ro(11)}},`judged by ${Z.scores._verdict.judge}`)),re.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),Z.scores._verdict.rationale)),Z.scores._missing_models&&re.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"}},"No recorded generations for: ",Z.scores._missing_models.join(", ")," \u2014 run the agent under those models first"),Object.entries(Z.scores).filter(([fr])=>!fr.startsWith("_")).map(([fr,$n])=>Ne($n)?re.default.createElement("div",{key:fr,style:{display:"flex",flexDirection:"column",gap:4}},re.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-secondary)"}},fr.replace(/_/g," ")),Object.entries($n).map(([ri,ac])=>re.default.createElement(v$,{key:ri,label:ri,score:ac,indent:!0,mono:!0}))):re.default.createElement(v$,{key:fr,label:fr,score:$n}))):re.default.createElement("div",{style:{padding:16,...Ro(11)}},"[ ] no runs yet"),re.default.createElement("div",{style:{padding:16,background:"var(--color-background)",display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:16,fontSize:13}},re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Judge"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},E.judge_kind==="judge_defined"?`judge-defined KPIs${E.judge_model?` (${E.judge_model})`:""}`:E.judge_kind==="llm"?E.judge_model||"llm judge":"rules")),re.default.createElement("div",{style:{gridColumn:"span 2",minWidth:0}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Criteria"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)",textWrap:"pretty"}},(E.criteria||[]).map(fr=>String(fr.key).replace(/_/g," ")).join(" \xB7 ")||"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Samples"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},nt&&Bn>0?`${En} / ${Bn} passed`:"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Last run"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"},title:"Estimated cost, tokens and wall-clock runtime of the latest run"},nue(Z?.usage)||"\u2014")),re.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",justifyContent:"flex-end",gap:8}},re.default.createElement(zr,{size:"sm",onClick:fr=>{fr.stopPropagation(),F(E.id)},disabled:k===E.id},k===E.id?"Running\u2026":"Run again"),re.default.createElement(zr,{variant:"danger",size:"sm",onClick:fr=>{fr.stopPropagation(),G(E)},disabled:M===E.id,title:"Delete this evaluation and its runs"},M===E.id?"Deleting\u2026":"Delete"))))))})),ee.length===0&&!w&&re.default.createElement(yr,{style:{textAlign:"center",padding:"48px 20px"}},re.default.createElement("div",{style:{fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"No evaluations yet"),re.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Create an evaluation to score recorded outputs, or paste scenarios to test new tasks across models")))}var Ce=te(ne());var aue=e=>new Date(`${e}T00:00:00`),oue=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function n_({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=kt(),a=Fa(n),[o,i]=(0,Ce.useState)(null),[l,s]=(0,Ce.useState)(!0),{timeWindow:u,days:c}=Qo(),[d,f]=(0,Ce.useState)("overview"),p=e.telemetry_agent_class||(()=>{let x=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(S,w)=>w.toUpperCase()).replace(/^./,S=>S.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return x.endsWith("Agent")?x:`${x}Agent`})();(0,Ce.useEffect)(()=>{m()},[e?.id,c]);let m=async()=>{if(e?.id){s(!0);try{let S=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();i(S)}catch(x){console.error("Failed to load analytics:",x)}finally{s(!1)}}},g=x=>x?x<1e3?`${x}ms`:`${(x/1e3).toFixed(2)}s`:"-",h=x=>x?x>=1e6?`${(x/1e6).toFixed(1)}M`:x>=1e3?`${(x/1e3).toFixed(1)}K`:x.toString():"0",v=x=>{switch(x){case"complete":return"bg-green-500";case"failed":return"bg-red-500";case"running":return"bg-blue-500";case"pending":return"bg-yellow-500";case"cancelled":return"bg-gray-500";default:return"bg-gray-400"}};if(l&&!o)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 y=o?.runs_by_day?.length>0?Math.max(...o.runs_by_day.map(x=>x.count)):1,b=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(Jo,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(Jo,null))),!r&&Ce.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:a.mutedBg}},oue.map(x=>Ce.default.createElement("button",{key:x.id,onClick:()=>f(x.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===x.id?"shadow":""}`,style:d===x.id?{background:a.cardBg,color:a.textPrimary}:{color:a.textSecondary}},x.label))),b==="traces"&&Ce.default.createElement(Zu,{agentClass:p,embedded:!0}),b==="interactions"&&Ce.default.createElement(rl,{agentId:e.id,embedded:!0}),b==="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(U1,{title:"Total Runs",value:o?.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(U1,{title:"Success Rate",value:`${o?.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(U1,{title:"Avg Duration",value:g(o?.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(U1,{title:"Total Tokens",value:h(o?.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"),o?.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"},o.runs_by_day.map((x,S)=>Ce.default.createElement("div",{key:x.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:`${x.count/y*150}px`,minHeight:x.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"},x.count," runs")),(S===0||S===o.runs_by_day.length-1||o.runs_by_day.length<=7)&&Ce.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:a.textMuted}},aue(x.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(o?.status_breakdown||{}).length>0?Ce.default.createElement("div",{className:"space-y-3"},Object.entries(o.status_breakdown).map(([x,S])=>{let w=o?.summary?.total_runs||1,O=(S/w*100).toFixed(1);return Ce.default.createElement("div",{key:x},Ce.default.createElement("div",{className:"flex justify-between text-sm mb-1"},Ce.default.createElement("span",{className:"capitalize",style:{color:a.textSecondary}},x),Ce.default.createElement("span",{className:"font-medium",style:{color:a.textPrimary}},S," (",O,"%)")),Ce.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:a.trackBg}},Ce.default.createElement("div",{className:`h-full ${v(x)} rounded-full transition-all`,style:{width:`${O}%`}})))})):Ce.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:a.textMuted}},"No runs yet"))),o?.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"},o.recent_errors.map(x=>Ce.default.createElement("div",{key:x.id,className:"flex items-start space-x-3 p-3 rounded-lg",style:{background:n?"rgba(220,38,38,0.12)":"#fef2f2"}},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"}},x.error||"Unknown error"),Ce.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(x.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}},o?.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}},o?.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}},h(o?.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}},o?.period_days||30," days")))))}var y$={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 U1({title:e,value:t,icon:r,color:n,colors:a,darkMode:o}){let[i,l,s]=y$[n]||y$.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:o?l:s,color:i}},r)))}var ae=te(ne());var iue=["agent_defined","dashboard","mcp"],o_={agent_defined:"Agent-defined",dashboard:"Dashboard",mcp:"MCP"},lue={agent_defined:"the host's schema tools, and what the agent class declares",dashboard:"built into the dashboard",mcp:"offered by the services above"},W1=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720}],i_=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`},l_=(e,t=Date.now())=>{if(!e)return"never";let r=new Date(e).getTime();if(Number.isNaN(r))return"never";let n=Math.floor((t-r)/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;let a=Math.floor(n/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`},a_=e=>{if(typeof e=="string")return e.trim()||null;if(!e||typeof e!="object")return null;let t=e.key||e.name;return t&&String(t).trim()||null};function F1(e,t=[]){let r=new Map;(t||[]).forEach(a=>{let o=a_(a);o&&r.set(o,a)});let n={};return(e.services||[]).forEach(a=>{let o=r.get(a.key),i=o&&typeof o=="object"&&Array.isArray(o.tools)?o.tools.map(l=>String(l&&l.name?l.name:l)):null;n[a.key]={on:r.has(a.key),tools:Object.fromEntries((a.tools||[]).map(l=>[l.name,i===null||i.includes(l.name)]))}}),n}var h$=e=>{let t=String(e||"").trim().toLowerCase();return(...r)=>!t||r.some(n=>String(n||"").toLowerCase().includes(t))};function x$(e,t,{query:r="",filter:n=null}={}){let a=h$(r);return(e.services||[]).filter(o=>n?n==="enabled"?t[o.key]?.on:o.status===n:!0).filter(o=>a(o.name,o.description)||(o.tools||[]).some(i=>a(i.name))).map(o=>{let i=t[o.key]||{on:!1,tools:{}},l=o.tools||[],s=l.map(c=>({...c,on:!!i.tools[c.name]})),u=s.filter(c=>c.on);return{...o,on:i.on,tools:s,offeredCount:l.length,enabledCount:u.length,toolsLabel:`${u.length}/${l.length}`,partial:i.on&&u.length{let a=t[n.key];!a||!a.on||(n.tools||[]).forEach(o=>{a.tools[o.name]&&r.push({...o,key:`${n.key}:${o.name}`,source:"mcp",editable:!1,enabled:!0,server:n.name,serverKey:n.key})})}),r}function b$(e,t,r=[]){let n=new Set((r||[]).map(String));return(e.tools||[]).map(a=>({...a,on:a.editable?n.has(a.key):a.enabled!==!1})).concat(sue(e,t).map(a=>({...a,on:!0})))}function w$(e,t,r,{query:n="",source:a=null,enabledOnly:o=!1}={}){let i=h$(n),l=b$(e,t,r),s=l.filter(u=>!a||u.source===a).filter(u=>!o||u.on).filter(u=>i(u.name,u.description));return iue.map(u=>{let c=l.filter(p=>p.source===u),d=c.some(p=>p.editable),f=c.filter(p=>p.on).length;return{source:u,name:o_[u],meta:`${lue[u]} \xB7 ${c.length} ${c.length===1?"tool":"tools"}`,countLabel:d?`${f}/${c.length} on`:`${c.length} offered`,editable:d,total:c.length,enabledCount:f,keys:c.map(p=>p.key),rows:s.filter(p=>p.source===u)}}).filter(u=>u.total>0)}function S$(e,t,r,{range:n="7d"}={}){let a=b$(e,t,r),o=e.usage_available!==!1,i=e.services||[],l=i.filter(p=>t[p.key]?.on),s=a.filter(p=>p.source!=="mcp"&&p.on),u=a.filter(p=>p.source==="mcp"),c=a.reduce((p,m)=>p+(m.calls||0),0),d=a.reduce((p,m)=>p+(m.errors||0),0),f=a.filter(p=>p.on&&!p.calls).length;return[{key:"tools",label:"Tools enabled",value:String(s.length+u.length),sub:`${s.length} direct \xB7 ${u.length} offered through MCP`},{key:"services",label:"MCP services",value:`${l.length}/${i.length}`,sub:l.length?`on for this agent: ${l.map(p=>p.name).join(", ")}`:"none enabled for this agent"},{key:"calls",label:"Tool calls",value:o?String(c):"\u2014",sub:o?`${d} error${d===1?"":"s"} in the last ${n} \xB7 traced`:"no calls recorded in this window yet"},{key:"unused",label:"Never called",value:o?String(f):"\u2014",sub:"enabled but unused in this window",tone:o&&f>6?"warning":null}]}function A$(e,t,r){let n=F1(e,t.mcpServers),a=F1(e,r.mcpServers),o=0;Object.keys(n).forEach(s=>{n[s].on!==a[s].on&&(o+=1),Object.keys(n[s].tools).forEach(u=>{n[s].tools[u]!==a[s].tools[u]&&(o+=1)})});let i=new Set((t.tools||[]).map(String)),l=new Set((r.tools||[]).map(String));return(e.tools||[]).forEach(s=>{s.editable&&i.has(s.key)!==l.has(s.key)&&(o+=1)}),o}function k$(e,t,r=[]){let n=new Map;(r||[]).forEach(i=>{let l=a_(i);l&&n.set(l,i)});let a=[];(e.services||[]).forEach(i=>{let l=t[i.key];if(!l||!l.on)return;let s=(i.tools||[]).map(p=>p.name),u=s.filter(p=>l.tools[p]),c=n.get(i.key),d=s.length>0&&u.lengthi.key));return(r||[]).forEach(i=>{let l=a_(i);l&&!o.has(l)&&a.push(i)}),a}function s_(e,t=[]){let r=new Set((e.tools||[]).filter(o=>o.editable).map(o=>o.key)),n=(t||[]).map(String).filter(o=>!r.has(o)),a=(e.tools||[]).filter(o=>o.editable&&t.includes(o.key)).map(o=>o.key);return n.concat(a)}var uue={active:"success",configured:"info",available:"warning",idle:"muted"},cue={agent_defined:"success",dashboard:"success",mcp:"info"},N$="44px minmax(0, 1fr) 108px 60px 52px 58px 74px 26px",C$="26px minmax(0, 1fr) 108px 52px 52px 52px 74px",due=[{value:"enabled",label:"Enabled"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],E$={padding:"7px 16px",gap:10,alignItems:"end",background:"var(--color-muted)",fontFamily:ye,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)"},ei={fontFamily:ye,fontSize:11,textAlign:"right",color:"var(--color-text-primary)"},H1={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function fue({on:e,onClick:t,title:r}){return ae.default.createElement("span",{role:"switch","aria-checked":e,tabIndex:0,title:r,onClick:t,onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))},style:{width:34,height:18,borderRadius:999,flexShrink:0,position:"relative",cursor:"pointer",background:e?"var(--color-accent-ui)":"var(--color-muted)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,transition:"background 0.12s ease"}},ae.default.createElement("span",{style:{position:"absolute",top:1,left:e?17:1,width:14,height:14,borderRadius:"50%",background:e?"#ffffff":"var(--color-text-muted)",transition:"left 0.12s ease"}}))}function _$({on:e,dim:t=!1}){return ae.default.createElement("span",{"aria-hidden":"true",style:{width:16,height:16,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,flexShrink:0,border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,background:e?"var(--color-accent-ui)":"transparent",color:e?"var(--color-on-accent)":"transparent",opacity:t?.8:1}},e?"x":"")}function V1({children:e,onClick:t,disabled:r,title:n}){return ae.default.createElement("button",{type:"button",onClick:t,disabled:r,title:n,style:{padding:"3px 9px",borderRadius:6,background:"transparent",fontFamily:ye,fontSize:11,border:"1px solid var(--color-border-strong)",color:"var(--color-text-cell)",cursor:r?"not-allowed":"pointer",opacity:r?.5:1}},e)}function O$({children:e}){return ae.default.createElement("div",{style:{overflowX:"auto"}},ae.default.createElement("div",{style:{minWidth:800}},e))}function u_({agent:e,formData:t,updateField:r,onSave:n,hasChanges:a=!1,isLoading:o}){let[i,l]=(0,ae.useState)(null),[s,u]=(0,ae.useState)(null),[c,d]=(0,ae.useState)("7d"),[f,p]=(0,ae.useState)(""),[m,g]=(0,ae.useState)(null),[h,v]=(0,ae.useState)(null),[y,b]=(0,ae.useState)(!1),[x,S]=(0,ae.useState)(null),[w,O]=(0,ae.useState)({}),k=(W1.find(I=>I.value===c)||W1[1]).hours;(0,ae.useEffect)(()=>{let I=!1;return u(null),fetch(`/api/agents/${e.id}/tool_roster?hours=${k}`).then(C=>{if(!C.ok)throw new Error(`Request failed (${C.status})`);return C.json()}).then(C=>{I||l(C)}).catch(C=>{I||u(C.message)}),()=>{I=!0}},[e.id,k]);let A=(0,ae.useMemo)(()=>({services:[],tools:[]}),[]),M=i||A,W=(0,ae.useMemo)(()=>t.tools||[],[t.tools]),L=(0,ae.useMemo)(()=>t.mcp_servers||[],[t.mcp_servers]),H=(0,ae.useMemo)(()=>F1(M,L),[M,L]),D=(0,ae.useMemo)(()=>x$(M,H,{query:f,filter:m}),[M,H,f,m]),Y=(0,ae.useMemo)(()=>w$(M,H,W,{query:f,source:h,enabledOnly:y}),[M,H,W,f,h,y]),N=(0,ae.useMemo)(()=>S$(M,H,W,{range:c}),[M,H,W,c]),_=(0,ae.useMemo)(()=>A$(M,{tools:W,mcpServers:L},{tools:e.tools||[],mcpServers:e.mcp_servers||[]}),[M,W,L,e]),z=M.usage_available!==!1,j=I=>z?I:"\u2014",P=(0,ae.useCallback)(I=>{r("mcp_servers",k$(M,I,L))},[M,L,r]),B=(0,ae.useCallback)(I=>{let C=H[I.key];P({...H,[I.key]:{...C,on:!C.on}})},[H,P]),R=(0,ae.useCallback)((I,C)=>{let T=H[I.key];T.on&&P({...H,[I.key]:{...T,tools:{...T.tools,[C.name]:!T.tools[C.name]}}})},[H,P]),F=(0,ae.useCallback)((I,C)=>{let T=H[I.key],X=Object.fromEntries((I.tools||[]).map($=>[$.name,C]));P({...H,[I.key]:{on:C||T.on,tools:X}})},[H,P]),G=(0,ae.useCallback)(I=>{if(!I.editable)return;let C=I.on?W.filter(T=>T!==I.key):[...W,I.key];r("tools",s_(M,C))},[M,W,r]),ee=(0,ae.useCallback)((I,C)=>{if(!I.editable)return;let T=C?[...W,...I.keys.filter(X=>!W.includes(X))]:W.filter(X=>!I.keys.includes(X));r("tools",s_(M,T))},[M,W,r]),fe=(0,ae.useCallback)(()=>{r("tools",e.tools||[]),r("mcp_servers",e.mcp_servers||[])},[e,r]),de=(M.services||[]).filter(I=>H[I.key]?.on),De=Y.find(I=>I.source==="mcp"),Te=Y.filter(I=>I.source!=="mcp").reduce((I,C)=>I+C.enabledCount,0)+(De?De.total:0),K=Y.reduce((I,C)=>I+C.total,0);return s?ae.default.createElement(yr,null,ae.default.createElement(rt,null,"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-error-text)"}},"Could not load the roster: ",s)):i?ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},ae.default.createElement("div",{style:{flex:1,minWidth:260}},ae.default.createElement("h2",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"3px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turn a service on to offer its tools, then narrow the roster tool by tool. Call counts come from the traces recorded on every tool call.")),ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border-strong)",background:"var(--color-card)"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},"?"),ae.default.createElement("input",{value:f,onChange:I=>p(I.target.value),placeholder:"Filter tools and services\u2026","aria-label":"Filter tools and services",style:{border:"none",outline:"none",background:"transparent",color:"var(--color-text-primary)",fontSize:13,width:180}})),ae.default.createElement(j1,{options:W1,value:c,onChange:d}))),ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12}},N.map(I=>ae.default.createElement(yr,{key:I.key,padding:"14px 16px",testId:`roster-stat-${I.key}`},ae.default.createElement(rt,{size:11,spacing:"0.05em"},I.label),ae.default.createElement("div",{style:{marginTop:6,fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,color:I.tone==="warning"?"var(--color-warning)":"var(--color-text-primary)"}},I.value),ae.default.createElement("div",{style:{marginTop:5,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},I.sub)))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"mcp-services-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"MCP services"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},de.length," of ",(M.services||[]).length," enabled \xB7 ",De?De.total:0," tools offered"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(al,{selected:!m,onClick:()=>g(null)},"All ",(M.services||[]).length),due.map(I=>ae.default.createElement(al,{key:I.value,selected:m===I.value,onClick:()=>g(m===I.value?null:I.value)},I.label,I.value==="enabled"?` ${de.length}`:"")),ae.default.createElement(Ff,{href:Ge("/mcp"),onClick:()=>Gv("/mcp"),title:"Every MCP service this workspace knows",style:{marginLeft:4}},"manage servers"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:N$,...E$}},ae.default.createElement("span",null,"On"),ae.default.createElement("span",null,"Service"),ae.default.createElement("span",null,"Status"),ae.default.createElement("span",{style:{textAlign:"right"}},"Tools"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen"),ae.default.createElement("span",null)),D.map(I=>{let C=x===I.key;return ae.default.createElement("div",{key:I.key},ae.default.createElement("div",{className:"aa-roster-row","data-on":I.on?"true":"false","data-testid":`service-row-${I.key}`,style:{display:"grid",gridTemplateColumns:N$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)"}},ae.default.createElement(fue,{on:I.on,onClick:()=>B(I),title:`${I.on?"Disable":"Enable"} ${I.name} for this agent`}),ae.default.createElement("div",{onClick:()=>S(C?null:I.key),style:{minWidth:0,cursor:"pointer"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},I.name),I.first_party&&ae.default.createElement(or,{tone:"accent",size:10},"first-party"),!I.known&&ae.default.createElement(or,{size:10,title:"Seen in your traffic but not in the platform catalog"},"undocumented"),I.partial&&ae.default.createElement(or,{tone:"warning",size:10},I.partialLabel)),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...H1}},I.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:uue[I.status]||"muted"},I.status)),ae.default.createElement("span",{style:{...ei,color:I.on?"var(--color-text-primary)":"var(--color-text-muted)"}},I.toolsLabel),ae.default.createElement("span",{style:ei},j(I.calls)),ae.default.createElement("span",{style:{...ei,color:I.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(I.errors)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-muted)"}},j(l_(I.last_seen))),ae.default.createElement("span",{onClick:()=>S(C?null:I.key),style:{cursor:"pointer",textAlign:"center"}},ae.default.createElement(Ju,{kind:"chevron",open:C}))),C&&ae.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"10px 16px 12px"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8}},ae.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Tools offered"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.transport),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8}},ae.default.createElement(V1,{onClick:()=>F(I,!0),title:`Offer every tool ${I.name} serves`},"all"),ae.default.createElement(V1,{onClick:()=>F(I,!1),disabled:!I.on,title:`Offer none of ${I.name}'s tools`},"none"))),I.tools.length===0?ae.default.createElement(aa,{style:{padding:"10px 0"}},"no tools recorded for this service yet"):ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"6px 14px"}},I.tools.map(T=>ae.default.createElement("div",{key:T.name,className:"aa-roster-row",onClick:()=>R(I,T),style:{display:"grid",gridTemplateColumns:"20px minmax(0, 1fr) 46px 52px",gap:10,alignItems:"center",padding:"6px 8px",borderRadius:8,cursor:I.on?"pointer":"default",opacity:I.on?1:.55}},ae.default.createElement(_$,{on:T.on,dim:!I.on}),ae.default.createElement("span",{style:{minWidth:0}},ae.default.createElement("span",{style:{display:"block",fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)",...H1}},T.name),ae.default.createElement("span",{style:{display:"block",fontSize:11,color:"var(--color-text-muted)",...H1}},T.description)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-secondary)"}},j(T.calls)),ae.default.createElement("span",{style:{...ei,color:T.errors?"var(--color-error-text)":"var(--color-text-muted)"}},j(T.errors?`${T.errors} err`:i_(T.avg_duration_ms)))))),!I.on&&ae.default.createElement("div",{style:{marginTop:8,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turning ",I.name," on offers these ",I.tools.length," tools to the agent and starts recording traces and metrics for every call.")))}),D.length===0&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no services match "${f}"`:"no MCP services yet"))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"tools-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"Tools"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Te," enabled of ",K," available"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(al,{selected:!h,onClick:()=>v(null)},"All ",K),Y.map(I=>ae.default.createElement(al,{key:I.source,selected:h===I.source,onClick:()=>v(h===I.source?null:I.source)},I.name," ",I.total)),ae.default.createElement(al,{square:!0,mono:!0,selected:y,onClick:()=>b(!y),style:{marginLeft:4}},y?"[x] enabled only":"[ ] enabled only"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:C$,...E$}},ae.default.createElement("span",null),ae.default.createElement("span",null,"Tool"),ae.default.createElement("span",null,"Source"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Avg"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen")),Y.map(I=>{let C=w[I.source]!==!0;return ae.default.createElement("div",{key:I.source},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 16px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",flexWrap:"wrap"}},ae.default.createElement("span",{onClick:()=>O({...w,[I.source]:C}),style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:10}},ae.default.createElement(Ju,{kind:"chevron",open:C}),ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},I.name)),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.meta),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-cell)"}},I.countLabel),I.editable&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement(V1,{onClick:()=>ee(I,!0)},"all"),ae.default.createElement(V1,{onClick:()=>ee(I,!1)},"none")))),C&&I.rows.map(T=>ae.default.createElement("div",{key:T.key,className:"aa-roster-row","data-on":T.on?"true":"false","data-testid":`tool-row-${T.key}`,onClick:()=>G(T),style:{display:"grid",gridTemplateColumns:C$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)",cursor:T.editable?"pointer":"default",opacity:T.editable?1:.75}},ae.default.createElement(_$,{on:T.on,dim:!T.editable}),ae.default.createElement("div",{style:{minWidth:0}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)"}},T.name),T.source==="mcp"&&ae.default.createElement(or,{size:10},"via ",T.server),T.source==="agent_defined"&&(T.editable?ae.default.createElement(or,{size:10,title:"Generated from the host's schema tools; offered to this agent only while its roster names it"},"from schema"):ae.default.createElement(or,{size:10,title:"Declared by the agent class in code, so the roster reports it rather than selecting it"},"from code")),z&&T.on&&!T.calls&&ae.default.createElement(or,{size:10},"unused")),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...H1}},T.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:cue[T.source]||"muted"},o_[T.source])),ae.default.createElement("span",{style:ei},j(T.calls)),ae.default.createElement("span",{style:{...ei,color:T.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(T.errors)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-secondary)"}},j(i_(T.avg_duration_ms))),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-muted)"}},j(l_(T.last_seen))))))}),Y.every(I=>I.rows.length===0)&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no tools match "${f}"`:"nothing enabled yet"))),ae.default.createElement(yr,{padding:"12px 16px",style:{position:"sticky",bottom:0,zIndex:4,background:"var(--color-surface)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},testId:"roster-action-bar"},ae.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},ae.default.createElement(rt,{size:11,spacing:"0.05em"},Te," tools \xB7 ",de.length," services"),ae.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Every enabled tool is traced: calls, arguments, errors and latency land in Traces and roll up into Metrics.")),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},_>0&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-warning-text)"}},_," change",_===1?"":"s"," pending"),ae.default.createElement(zr,{variant:"secondary",onClick:fe},"Discard")),ae.default.createElement(zr,{variant:a?"primary":"secondary",onClick:n,disabled:o||!a,title:a?"Save this agent":"Nothing to save",style:a?void 0:{background:"var(--color-muted)",color:"var(--color-text-muted)",border:"1px solid transparent",cursor:"default"}},o?"Saving\u2026":"Save Changes")))):ae.default.createElement(yr,null,ae.default.createElement(aa,null,"loading the roster\u2026"))}var pue=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],P$=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],mue=P$.map(e=>e.id),T$={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"]}},vue={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function Ss({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[a,o]=(T$[e]||T$.neutral)[r?"dark":"light"];return ie.default.createElement("span",{style:{background:a,color:o,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Fe.mono:void 0,whiteSpace:"nowrap"}},n)}function Ln({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:a,title:o,testId:i,children:l}){let u={padding:t==="sm"?"5px 10px":"7px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,cursor:n?"not-allowed":"pointer",transition:"background 0.15s ease, border-color 0.15s ease",whiteSpace:"nowrap"},c={primary:{background:n?a.mutedBg:vn,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 ie.default.createElement("button",{type:"button",onClick:r,disabled:n,title:o,"data-testid":i,style:{...u,...c[e]||c.secondary}},l)}function M$({tabs:e,active:t,onChange:r,colors:n}){return ie.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(a=>{let o=t===a.id;return ie.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 ${o?vn:"transparent"}`,color:o?vn:n.textSecondary,fontSize:"13px",fontWeight:o?600:500,cursor:"pointer",whiteSpace:"nowrap"}},a.label)}))}function K1({agent:e,meta:t,onSave:r,onDelete:n,onRun:a,onDuplicate:o,onRunReport:i,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=kt(),d=Fa(c),[f,p]=(0,ie.useState)(u||"config"),[m,g]=(0,ie.useState)({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"}),[h,v]=(0,ie.useState)([]),[y,b]=(0,ie.useState)(!1),[x,S]=(0,ie.useState)(""),[w,O]=(0,ie.useState)(od),k=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let N=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(_,z)=>z.toUpperCase()).replace(/^./,_=>_.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return N.endsWith("Agent")?N:`${N}Agent`})();(0,ie.useEffect)(()=>{let N=!1;return Ky(m.provider).then(_=>{N||_.length===0||O(z=>({...z,[m.provider]:_}))}),()=>{N=!0}},[m.provider]),(0,ie.useEffect)(()=>{let N=JSON.stringify(m)!==JSON.stringify({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"});b(N)},[m,e]),(0,ie.useEffect)(()=>{f==="versions"?A():f==="code"&&M()},[f]);let A=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/versions`)).json();v(_.versions)}catch(N){console.error("Failed to load versions:",N)}},M=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/export`)).json();S(_.code)}catch(N){console.error("Failed to load code preview:",N)}},W=(N,_)=>{g(z=>({...z,[N]:_}))},L=(N,_)=>{g(z=>{let j=z[N]||[],P=j.includes(_)?j.filter(B=>B!==_):[...j,_];return{...z,[N]:P}})},H=()=>{r(m)},D=mue.includes(f),Y=f==="tools";return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},ie.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Fe.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),ie.default.createElement(mr,{size:44}),ie.default.createElement("div",{style:{flex:1,minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},ie.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},m.name||"Untitled agent"),ie.default.createElement(Ss,{tone:vue[m.status]||"neutral",darkMode:c},m.status),y&&ie.default.createElement(Ss,{tone:"info",darkMode:c},"unsaved")),ie.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},m.description||"No description")),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},o&&ie.default.createElement(Ln,{variant:"secondary",colors:d,onClick:o},"Duplicate"),ie.default.createElement(Ln,{variant:"primary",colors:d,onClick:a},"Run Agent"))),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},ie.default.createElement(M$,{tabs:pue,active:f,onChange:p,colors:d}),ie.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),ie.default.createElement(M$,{tabs:P$,active:f,onChange:p,colors:d})),Y?ie.default.createElement(u_,{agent:e,formData:m,updateField:W,onSave:H,hasChanges:y,isLoading:s}):D?ie.default.createElement("div",null,f==="traces"&&ie.default.createElement(Zu,{agentClass:k,embedded:!0}),f==="metrics"&&ie.default.createElement(n_,{agent:e,embedded:!0}),f==="interactions"&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i&&ie.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},ie.default.createElement("button",{type:"button",onClick:i,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Fe.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),ie.default.createElement(rl,{agentId:e.id,embedded:!0})),f==="evals"&&ie.default.createElement(eg,{embedded:!0,agentId:e.id}),f==="feedback"&&ie.default.createElement(wue,{colors:d})):ie.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&ie.default.createElement(yue,{formData:m,updateField:W,providerModels:w,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&ie.default.createElement(hue,{formData:m,updateField:W,meta:t,toggleArrayItem:L,colors:d}),f==="versions"&&ie.default.createElement(xue,{versions:h,agentId:e.id,onRestore:A,colors:d,darkMode:c}),f==="code"&&ie.default.createElement(bue,{code:x,colors:d})),y&&!Y&&ie.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)"}},ie.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),ie.default.createElement("div",{style:{display:"flex",gap:"8px"}},ie.default.createElement(Ln,{variant:"primary",size:"sm",colors:d,onClick:H,disabled:s},s?"Saving\u2026":"Save Changes"))))}var ti=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),il=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),gue=e=>({fontFamily:Fe.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function yue({formData:e,updateField:t,providerModels:r,colors:n,darkMode:a,onDelete:o}){return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Agent Name"),ie.default.createElement("input",{type:"text",value:e.name,onChange:i=>t("name",i.target.value),className:"aa-field",style:il(n)})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Preset Type"),ie.default.createElement("select",{value:e.preset_type,onChange:i=>t("preset_type",i.target.value),className:"aa-field",style:il(n)},Object.keys(nd).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Description"),ie.default.createElement("textarea",{value:e.description,onChange:i=>t("description",i.target.value),rows:3,className:"aa-field",style:{...il(n),resize:"vertical"}})),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Provider"),ie.default.createElement("select",{value:e.provider,onChange:i=>{t("provider",i.target.value),t("model",r[i.target.value][0])},className:"aa-field",style:il(n)},Object.keys(r).map(i=>ie.default.createElement("option",{key:i,value:i},i.charAt(0).toUpperCase()+i.slice(1))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Model"),ie.default.createElement("select",{value:e.model,onChange:i=>t("model",i.target.value),className:"aa-field",style:{...il(n),fontFamily:Fe.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Temperature"," ",ie.default.createElement("span",{style:{fontFamily:Fe.mono,color:n.textSecondary}},e.model_config.temperature)),ie.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:i=>t("model_config",{...e.model_config,temperature:parseFloat(i.target.value)}),style:{width:"100%",accentColor:vn}})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Status"),ie.default.createElement("select",{value:e.status,onChange:i=>t("status",i.target.value),className:"aa-field",style:il(n)},ie.default.createElement("option",{value:"draft"},"Draft"),ie.default.createElement("option",{value:"active"},"Active"),ie.default.createElement("option",{value:"archived"},"Archived")))),o&&ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},ie.default.createElement("div",null,ie.default.createElement("div",{style:gue(n)},"Danger zone"),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),ie.default.createElement(Ln,{variant:"danger",size:"sm",colors:n,onClick:o},"Delete Agent")))}function hue({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:a}){let o=e.action_prompts||[],i=(u,c)=>{t("action_prompts",o.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...o,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",o.filter((c,d)=>d!==u))};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(a)},"System Instructions"),ie.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:{...il(a),fontFamily:Fe.mono,resize:"vertical"}})),ie.default.createElement("div",null,ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},ie.default.createElement("label",{style:{...ti(a),marginBottom:0}},"Action Prompts"),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:a,onClick:l},"+ Add action")),ie.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 ",ie.default.createElement("span",{style:{fontFamily:Fe.mono}},"#ask")," action uses the system instructions alone."),o.length>0&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},o.map((u,c)=>ie.default.createElement("div",{key:c,style:{border:`1px solid ${a.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",color:a.textMuted}},"#"),ie.default.createElement("input",{type:"text",value:u.name,onChange:d=>i(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...il(a),flex:1,padding:"6px 10px",fontFamily:Fe.mono}}),ie.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:a.textSecondary,whiteSpace:"nowrap"}},ie.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>i(c,{expose_as_tool:d.target.checked}),style:{accentColor:vn}}),"Expose as tool"),ie.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Fe.mono,fontSize:"12px",color:a.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),ie.default.createElement("textarea",{value:u.prompt,onChange:d=>i(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...il(a),fontFamily:Fe.mono,resize:"vertical"}}))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(a)},"Instruction Sets"),ie.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return ie.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?vn:a.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":a.textCell}},u)}))))}function xue({versions:e,agentId:t,onRestore:r,colors:n,darkMode:a}){let o=async i=>{if(confirm("Restore this version? This will create a new version with the restored configuration."))try{await fetch(`/api/agents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version_id:i})}),r()}catch(l){console.error("Failed to restore version:",l)}};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},ie.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(i=>{let l=i.is_latest||i.isLatest;return ie.default.createElement("div",{key:i.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?vn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},ie.default.createElement("div",{style:{minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",i.version_number||i.versionNumber),l&&ie.default.createElement(Ss,{tone:"error",darkMode:a},"current")),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},i.change_summary||i.changeSummary),ie.default.createElement("p",{style:{fontFamily:Fe.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(i.created_at||i.createdAt).toLocaleString())),!l&&ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>o(i.id)},"Restore"))})):ie.default.createElement(D$,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function bue({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},ie.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),ie.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Fe.mono,fontSize:"12px",lineHeight:1.6,margin:0}},ie.default.createElement("code",null,e||"Loading...")))}function wue({colors:e}){return ie.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},ie.default.createElement(D$,{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 D$({colors:e,glyph:t,title:r,hint:n}){return ie.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},ie.default.createElement("div",{style:{fontFamily:Fe.mono,fontSize:"20px",color:e.textMuted}},t),ie.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),ie.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var V=te(ne());async function Vf(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var Sue={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},Aue=(e,t)=>{let r=Sue[e]||{role:e,label:e};return{...gr(r.role,t),label:r.label}},c_={complete:"success",failed:"error",running:"info",pending:"warning",cancelled:"neutral"},kue=["Hello, what can you help me with?","Show me a dashboard of last quarter's sales","List the files in the current directory","Explain how this code works"],Nue=["user","assistant","tool"],Cue=1200,Eue=600*1e3,q1=e=>e?e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`:"-",I$=e=>{if(!e)return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},d_=e=>{let t=new Map;return(e?.logs||[]).filter(r=>r.eid).forEach(r=>{let n=t.get(r.eid)||{eid:r.eid};r.status==="started"?Object.assign(n,r,{input:r.detail,output:n.output}):Object.assign(n,r,{input:n.input,output:r.detail}),t.set(r.eid,n)}),[...t.values()]},As=e=>e?.context_id??e?.output_metadata?.context_id??null,tg=e=>e.json().catch(()=>({})),j$=({open:e,color:t})=>V.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${e?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:t}},V.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}));function _ue({run:e,darkMode:t,colors:r,expanded:n,onToggle:a}){let o=d_(e),i=O1(t);return V.default.createElement("div",{"data-testid":"runner-activity",className:"space-y-2"},o.map(l=>{let s=!!n[l.eid],u=!!(l.input||l.output),c=Aue(l.kind,t);return V.default.createElement("div",{key:l.eid,"data-testid":"runner-activity-event"},V.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${u?"cursor-pointer":""}`,onClick:u?()=>a(l.eid):void 0,title:u?"Click to inspect input/output":void 0,style:s?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:c.background,color:c.color,minWidth:"72px",textAlign:"center"}},c.label),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words",style:{color:r.textPrimary}},l.label,l.output&&!s&&V.default.createElement("span",{style:{color:r.textMuted}}," \u201C",l.output.slice(0,160),l.output.length>160?"\u2026":"","\u201D")),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:r.textMuted}},l.status==="started"?V.default.createElement("span",{className:"animate-pulse",style:{color:"#3b82f6"}},"running\u2026"):V.default.createElement("span",{style:l.status==="error"?{color:"#ef4444"}:void 0},l.status==="error"?"failed":"\u2713",l.duration_ms!=null&&` ${q1(l.duration_ms)}`),l.at&&V.default.createElement("span",null,new Date(l.at).toLocaleTimeString()))),u&&V.default.createElement(j$,{open:s,color:r.textMuted})),s&&V.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:c.color+"55"}},l.input&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},"Input"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},I$(l.input))),l.output&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},l.status==="error"?"Error":"Result"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...l.status==="error"?{background:t?"rgba(239,68,68,0.12)":"#fef2f2",color:t?"#fca5a5":"#b91c1c"}:{}}},I$(l.output)))))}))}function Oue({run:e,darkMode:t,colors:r}){return e?V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap text-xs",style:{color:r.textMuted}},V.default.createElement("span",{"data-testid":"runner-status",style:{display:"inline-flex"}},V.default.createElement(Ss,{tone:c_[e.status]||"neutral",darkMode:t},e.status)),e.output_metadata?.model&&V.default.createElement("span",{className:"font-mono",title:"Model that generated this run"},e.output_metadata.provider,"/",e.output_metadata.model),e.duration_ms?V.default.createElement("span",null,q1(e.duration_ms)):null,e.total_tokens?V.default.createElement("span",null,e.total_tokens," tokens"):null,e.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${e.trace_id}`),className:"font-mono hover:underline",style:{color:r.textSecondary},title:`${e.trace_id} \u2014 open in Traces`},"trace:",e.trace_id.slice(0,8)," \u2192")):null}function f_({agent:e,onBack:t}){let{darkMode:r}=kt(),n=Fa(r),a=e.action_prompts||e.actionPrompts||[],o=["ask",...a.map(oe=>oe.name).filter(Boolean)],[i,l]=(0,V.useState)("ask"),[s,u]=(0,V.useState)(""),[c,d]=(0,V.useState)([]),[f,p]=(0,V.useState)(!1),[m,g]=(0,V.useState)([]),[h,v]=(0,V.useState)(null),[y,b]=(0,V.useState)(null),[x,S]=(0,V.useState)(null),[w,O]=(0,V.useState)([]),[k,A]=(0,V.useState)(!1),[M,W]=(0,V.useState)(null),[L,H]=(0,V.useState)(null),[D,Y]=(0,V.useState)(null),[N,_]=(0,V.useState)(null),[z,j]=(0,V.useState)({}),[P,B]=(0,V.useState)(null),[R,F]=(0,V.useState)(!1),[G,ee]=(0,V.useState)(null),[fe,de]=(0,V.useState)(!1),[De,le]=(0,V.useState)(!1),[Te,K]=(0,V.useState)(null),[I,C]=(0,V.useState)(""),[T,X]=(0,V.useState)(!1),[$,Ne]=(0,V.useState)(null),E=(0,V.useRef)(null),Z=(0,V.useRef)(null),ge=(0,V.useRef)(0),Le=(0,V.useRef)(!0),nt=(0,V.useRef)(null),Bt=(0,V.useRef)([]),ft=(0,V.useRef)(null),En=(0,V.useRef)(null),Bn=(0,V.useRef)(null),oa=(0,V.useRef)(null),Mo=(y?.messages||[]).filter(oe=>Nue.includes(oe.role));(0,V.useEffect)(()=>{nt.current=L},[L]),(0,V.useEffect)(()=>{Bt.current=c},[c]),(0,V.useEffect)(()=>(Le.current=!0,nc(),()=>{Le.current=!1,ge.current+=1,ni(nt.current),ni({attachments:Bt.current}),H(null),d([])}),[e.id]),(0,V.useEffect)(()=>{fr(i)},[e.id,i]),(0,V.useEffect)(()=>{Z.current=h,h?$n(h):(b(null),S(null))},[h]),(0,V.useEffect)(()=>{let oe=En.current;oe&&(oe.scrollTop=oe.scrollHeight)},[Mo.length,L,M?.logs?.length,Te,D]),(0,V.useEffect)(()=>{if(!De)return;let oe=Ie=>{oa.current&&!oa.current.contains(Ie.target)&&le(!1)};return document.addEventListener("mousedown",oe),()=>document.removeEventListener("mousedown",oe)},[De]);let nc=async()=>{try{let Ie=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();O(Ie.runs||[])}catch(oe){console.error("Failed to load runs:",oe)}},fr=async oe=>{try{let Ie=await fetch(`/api/agents/${e.id}/conversations?action_name=${encodeURIComponent(oe)}`);if(!Ie.ok)throw new Error(`HTTP ${Ie.status}`);let at=(await Ie.json()).conversations||[];g(at),v(Hr=>Hr&&(E.current===Hr||at.some(fo=>fo.id===Hr))?Hr:at[0]?.id??null)}catch(Ie){console.error("Failed to load conversations:",Ie),g([])}},$n=async oe=>{try{let Ie=await fetch(`/api/interactions/${oe}`);if(!Ie.ok)throw new Error(Ie.status===404?"Conversation not found":`HTTP ${Ie.status}`);let Ye=await Ie.json();if(Z.current!==oe)return;b(Ye.interaction),S(null)}catch(Ie){if(Z.current!==oe)return;b(null),S(Ie.message)}},ri=async()=>{let oe=await fetch(`/api/agents/${e.id}/conversations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action_name:i})}),Ie=await tg(oe);if(!oe.ok||!Ie.conversation)throw new Error(Ie.error||`Could not start a conversation (HTTP ${oe.status})`);let Ye=Ie.conversation;return g(at=>[Ye,...at.filter(Hr=>Hr.id!==Ye.id)]),E.current=Ye.id,v(Ye.id),Ye.id},ac=()=>Z.current?Promise.resolve(Z.current):ri(),aw=oe=>{E.current=null,l(oe)},Xf=()=>{W(null),_(null),j({})},ow=oe=>{let Ie=oe?Number(oe):null;Ie!==Z.current&&Xf(),E.current=Ie,v(Ie),Y(null)},oc=async()=>{if(!k)try{await ri(),S(null),Y(null),Xf(),ni(nt.current),H(null),K(null)}catch(oe){S(oe.message)}},ni=oe=>{(oe?.attachments||[]).forEach(Ie=>{Ie.url&&Ie.url.startsWith("blob:")&&URL.revokeObjectURL(Ie.url)})},ic=oe=>{let Ie=Array.from(oe||[]).filter(Boolean);Ie.length!==0&&d(Ye=>[...Ye,...Ie.map(at=>({file:at,filename:at.name,content_type:at.type||"application/octet-stream",byte_size:at.size,kind:j7(at),url:at.type&&at.type.startsWith("image/")?URL.createObjectURL(at):null}))])},iw=oe=>{d(Ie=>{let Ye=Ie[oe];return Ye?.url&&URL.revokeObjectURL(Ye.url),Ie.filter((at,Hr)=>Hr!==oe)})},fg=(oe,Ie)=>{A(!1),ni(nt.current),H(null),nc();let Ye=As(oe)??Ie;Ye&&(Ye!==Z.current?(E.current=Ye,v(Ye)):$n(Ye),fr(i))},lw=(oe,Ie)=>{if(!Le.current)return;let Ye=++ge.current,at=Date.now(),Hr=async()=>{if(ge.current===Ye){try{let fo=await fetch(`/api/runs/${oe}`);if(fo.ok){let Un=await fo.json();if(ge.current!==Ye)return;if(W(Un.run),!["pending","running"].includes(Un.run.status)){fg(Un.run,Ie);return}}}catch{}Date.now()-atfo&&{...fo,status:"failed",error_message:"Timed out waiting for the run to finish."}),_("Timed out waiting for the run to finish."))}};Hr()},lc=async({text:oe,files:Ie,fromComposer:Ye=!1})=>{let at=(oe||"").trim();if(!at&&Ie.length===0||k)return;_(null),Y(null),K(null),A(!0),j({}),W({status:"pending",input_prompt:at,output:"",logs:[],started_at:new Date().toISOString()}),ni(nt.current),H({content:at||"(see attached files)",attachments:Ie.map(({file:Un,...Cs})=>Cs)}),Ye&&(u(""),d([]));let Hr=Z.current;if(!Hr)try{Hr=await ri()}catch(Un){_(`${Un.message} \u2014 running without a pinned conversation.`)}let fo=()=>{Ye&&(u(at),d(Ie)),H(null)};try{let Un=new FormData;Un.append("prompt",at),Un.append("action_name",i),Hr&&Un.append("params[context_id]",String(Hr)),Ie.forEach(({file:mg})=>Un.append("attachments[]",mg,mg.name));let Cs=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",body:Un}),cc=await tg(Cs);if(Cs.status===402&&cc.upgrade_required){B(cc.usage),W(mg=>({...mg,status:"failed",error_message:cc.message||"Plan limit reached"})),A(!1),fo();return}if(!Cs.ok)throw new Error(cc.error||"Run failed");lw(cc.run.id,As(cc.run)??Hr)}catch(Un){W(Cs=>({...Cs,status:"failed",error_message:Un.message})),A(!1),fo()}},Zf=()=>lc({text:s,files:c,fromComposer:!0}),pg=oe=>{!oe||!oe.text||lc({text:oe.text,files:[]})},sw=oe=>{oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&(oe.preventDefault(),Zf())},Qf=async(oe,Ie)=>{let Ye=Z.current,at=await fetch(`/api/interactions/${Ye}/messages/${oe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:Ie})}),Hr=await tg(at);if(!at.ok)throw new Error(Hr.error||`Could not save the message (HTTP ${at.status})`);await $n(Ye)},uw=async oe=>{let Ie=Z.current;try{let Ye=await fetch(`/api/interactions/${Ie}/messages/${oe.id}`,{method:"DELETE"});if(!Ye.ok){let at=await tg(Ye);throw new Error(at.error||`Could not delete the message (HTTP ${Ye.status})`)}S(null),await $n(Ie),fr(i)}catch(Ye){S(Ye.message)}},cw=oe=>{le(!1),K(oe),C(""),Ne(null)},sc=async()=>{let oe=I.trim();if(!(!oe||T)){X(!0),Ne(null);try{let Ie=await ac(),Ye=await fetch(`/api/interactions/${Ie}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Te,content:oe})}),at=await tg(Ye);if(!Ye.ok)throw new Error(at.error||`Could not add the message (HTTP ${Ye.status})`);C(""),K(null),await $n(Ie),fr(i)}catch(Ie){Ne(Ie.message)}finally{X(!1)}}},dw=async oe=>{let Ie=oe;if(As(oe)==null)try{let at=await fetch(`/api/runs/${oe.id}`);at.ok&&(Ie=(await at.json()).run)}catch(at){console.error("Failed to load run details:",at)}let Ye=As(Ie);if(Ye){Y(null),Ye!==Z.current&&Xf(),E.current=Ye;let at=Ie.action_name||oe.action_name;at&&o.includes(at)&&at!==i&&l(at),v(Ye)}else Y({...Ie,output:Ie.output??Ie.output_preview,error_message:Ie.error_message??Ie.error});ft.current?.scrollIntoView({behavior:"smooth",block:"start"})},xe=async()=>{F(!0),ee(null);try{await Vf({planSlug:"pro"})}catch(oe){ee(oe.message),F(!1)}},ut=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl,Zt=a.find(oe=>oe.name===i)?.prompt,pr=[e.instructions,i==="ask"?null:Zt].map(oe=>(oe||"").trim()).filter(Boolean).join(` -`)||g?.instructions||"",hn=v.slice();h&&!hn.some(oe=>oe.id===h)&&hn.unshift({id:h,message_count:Mo.length});let Ns=(s.trim().length>0||c.length>0)&&!k,H_=M&&!k&&M.status==="failed",oU=M&&!k&&M.status==="complete"&&!As(M)&&!h,uc={background:n.cardBg,border:`1px solid ${n.cardBorder}`,borderRadius:"12px"},V_={borderBottom:`1px solid ${n.cardBorder}`},K_={padding:"6px 10px",borderRadius:"8px",border:`1px solid ${n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontSize:"13px",fontFamily:Fe.mono,maxWidth:"260px"},q_={width:"100%",padding:"10px 12px",borderRadius:"8px",border:`1px solid ${f?vn:n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"},fw=gr("system",r),iU=O1(r);return V.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},V.default.createElement("div",{className:"col-span-2 flex flex-col gap-4 min-w-0"},P&&V.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},V.default.createElement("div",null,V.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),V.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."),G&&V.default.createElement("p",{className:"text-sm text-red-600 mt-1"},G)),V.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},ut&&V.default.createElement("a",{href:ut,className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),V.default.createElement("button",{onClick:xe,disabled:R,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},R?"Redirecting\u2026":"Upgrade to Pro"))),V.default.createElement("div",{"data-testid":"runner-toolbar",style:uc,className:"p-4 flex items-center gap-3 flex-wrap"},V.default.createElement(mr,{size:40}),V.default.createElement("div",{className:"min-w-0"},V.default.createElement("div",{className:"font-semibold truncate",style:{color:n.textPrimary}},e.name),V.default.createElement("div",{className:"text-xs font-mono",style:{color:n.textSecondary}},e.provider," / ",e.model)),V.default.createElement("div",{className:"flex items-center gap-2 flex-wrap ml-auto"},V.default.createElement("select",{"data-testid":"runner-action-select",value:i,onChange:oe=>aw(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Agent action to invoke"},o.map(oe=>V.default.createElement("option",{key:oe,value:oe},"#",oe))),V.default.createElement("select",{"data-testid":"runner-conversation-select",value:h??"",onChange:oe=>ow(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Conversation to continue"},V.default.createElement("option",{value:""},"New conversation on first run"),hn.map(oe=>V.default.createElement("option",{key:oe.id,value:oe.id},"Conversation #",oe.id," \xB7 ",oe.message_count??0," message",oe.message_count===1?"":"s"))),V.default.createElement(Ln,{testId:"runner-new-conversation",variant:"secondary",size:"sm",colors:n,onClick:oc,disabled:k,title:"Start an empty conversation for this action"},"+ New conversation"),V.default.createElement(Ln,{testId:"runner-back",variant:"secondary",size:"sm",colors:n,onClick:t},"\u2190 Back to editor"))),V.default.createElement("div",{"data-testid":"runner-context",ref:ft,style:uc,className:"flex flex-col overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3 flex items-center justify-between gap-3 flex-wrap",style:V_},V.default.createElement("div",{className:"flex items-center gap-2 min-w-0"},V.default.createElement("h3",{className:"font-medium",style:{color:n.textPrimary}},"Context"),g&&V.default.createElement("span",{className:"text-xs font-mono",style:{color:n.textMuted}},"#",g.id," \xB7 ",Mo.length," message",Mo.length===1?"":"s")),V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement(Oue,{run:M,darkMode:r,colors:n}),V.default.createElement("div",{className:"relative",ref:oa},V.default.createElement(Ln,{testId:"runner-add-message",variant:"secondary",size:"sm",colors:n,onClick:()=>le(oe=>!oe),disabled:k,title:"Insert a message into the context without running"},"+ Add message"),De&&V.default.createElement("div",{className:"absolute right-0 mt-1 z-10 py-1 rounded-lg shadow-lg",style:{background:n.cardBg,border:`1px solid ${n.borderStrong}`,minWidth:"180px"}},[["user","runner-add-user-message","User message"],["assistant","runner-add-assistant-message","Assistant message"]].map(([oe,Ie,Ye])=>V.default.createElement("button",{key:oe,type:"button","data-testid":Ie,onClick:()=>cw(oe),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-black/5",style:{color:n.textCell,background:"none",border:"none",cursor:"pointer"}},Ye)))))),V.default.createElement("div",{ref:En,className:"p-4 overflow-auto",style:{maxHeight:"60vh"}},V.default.createElement("div",{"data-testid":"runner-system-row",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 cursor-pointer",onClick:()=>de(oe=>!oe),title:fe?"Collapse system instructions":"Show system instructions"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:fw.background,color:fw.color,textAlign:"center"}},fw.label)),V.default.createElement("div",{className:"min-w-0 flex-1"},pr?fe?V.default.createElement("pre",{style:{...iU,whiteSpace:"pre-wrap",maxHeight:"260px",overflowY:"auto"}},pr):V.default.createElement("div",{className:"text-sm truncate",style:{color:n.textSecondary}},pr.split(` -`).find(oe=>oe.trim())||""):V.default.createElement("div",{className:"text-sm",style:{color:n.textMuted}},"No system instructions"),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono",style:{color:n.textMuted}},"read-only \xB7 Edit in the Instructions tab")),V.default.createElement(j$,{open:fe,color:n.textMuted})),b&&V.default.createElement("div",{className:"text-sm mt-3",style:{color:"#dc2626"}},b),Mo.length>0?V.default.createElement("div",{className:"mt-3"},V.default.createElement(so,{messages:Mo,darkMode:r,testIdPrefix:"runner-message",onUiAction:pg,onEditMessage:Qf,onDeleteMessage:uw})):!L&&!D&&!H_&&V.default.createElement("div",{"data-testid":"runner-context-empty",className:"text-sm text-center py-8",style:{color:n.textMuted}},"No messages yet \u2014 say something below to test the agent as a user."),L&&V.default.createElement("div",{"data-testid":"runner-pending-turn",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 mt-3"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr("user",r).background,color:gr("user",r).color,textAlign:"center"}},"User")),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words whitespace-pre-wrap",style:{color:n.textPrimary}},L.content),V.default.createElement(T1,{attachments:L.attachments,darkMode:r}))),M&&(k||d_(M).length>0)&&V.default.createElement("div",{className:"mt-3 space-y-2"},V.default.createElement(_ue,{run:M,darkMode:r,colors:n,expanded:z,onToggle:oe=>j(Ie=>({...Ie,[oe]:!Ie[oe]}))}),k&&V.default.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.textSecondary}},V.default.createElement("span",{className:"animate-pulse"},"\u25CF"),V.default.createElement("span",null,d_(M).length>0?"Working\u2026":"Starting run\u2026"))),N&&V.default.createElement("div",{className:"text-xs mt-3",style:{color:"#d97706"}},N),H_&&M.error_message&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:r?"rgba(239,68,68,0.12)":"#fef2f2",color:r?"#fca5a5":"#b91c1c"}},V.default.createElement("div",{className:"font-semibold mb-1"},"Run failed"),V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0}},M.error_message)),oU&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:n.innerBg,color:n.textPrimary}},V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:n.textMuted}},"Output"),V.default.createElement(_o,{text:M.output||"No output",darkMode:r,onUiAction:pg})),D&&V.default.createElement("div",{"data-testid":"runner-inspected-run",className:"mt-3 rounded-lg p-3",style:{background:n.innerBg,border:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mb-2"},V.default.createElement("div",{className:"flex items-center gap-2 text-xs font-mono",style:{color:n.textMuted}},V.default.createElement("span",{style:{color:n.textPrimary}},"Run #",D.id),V.default.createElement(Ss,{tone:c_[D.status]||"neutral",darkMode:r},D.status),D.output_metadata?.model&&V.default.createElement("span",null,D.output_metadata.provider,"/",D.output_metadata.model),D.duration_ms?V.default.createElement("span",null,q1(D.duration_ms)):null,D.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${D.trace_id}`),className:"hover:underline",style:{color:n.textSecondary}},"trace:",D.trace_id.slice(0,8)," \u2192"),V.default.createElement("span",null,"\xB7 no conversation attached")),V.default.createElement("button",{type:"button",onClick:()=>Y(null),className:"text-xs font-mono",style:{color:n.textMuted,background:"none",border:"none",cursor:"pointer"},title:"Close"},"[x]")),(D.input_prompt||D.input_preview)&&V.default.createElement("div",{className:"text-sm mb-2 whitespace-pre-wrap",style:{color:n.textSecondary}},D.input_prompt||D.input_preview),D.error_message?V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0,color:r?"#fca5a5":"#b91c1c"}},D.error_message):V.default.createElement("div",{className:"text-sm",style:{color:n.textPrimary}},V.default.createElement(_o,{text:D.output||"No output",darkMode:r}))),Te&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3",style:{border:`1px dashed ${n.borderStrong}`}},V.default.createElement("div",{className:"flex items-center gap-2 mb-2"},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr(Te,r).background,color:gr(Te,r).color}},gr(Te,r).label),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Added to the context without running the agent")),V.default.createElement("textarea",{"data-testid":"runner-inline-composer",value:I,onChange:oe=>C(oe.target.value),onKeyDown:oe=>{oe.key==="Escape"&&K(null),oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&sc()},placeholder:Te==="user"?"What the user said\u2026":"What the assistant replied\u2026",rows:3,autoFocus:!0,className:"aa-field",style:{...q_,border:`1px solid ${n.inputBorder}`}}),V.default.createElement("div",{className:"flex items-center gap-2 mt-2 flex-wrap"},V.default.createElement(Ln,{testId:"runner-inline-submit",variant:"primary",size:"sm",colors:n,onClick:sc,disabled:T||!I.trim()},T?"Adding\u2026":`Add ${Te} message`),V.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>K(null),disabled:T},"Cancel"),$&&V.default.createElement("span",{className:"text-xs",style:{color:"#dc2626"}},$))))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("div",{onDragOver:oe=>{oe.preventDefault(),f||p(!0)},onDragLeave:()=>p(!1),onDrop:oe=>{oe.preventDefault(),p(!1),k||ic(oe.dataTransfer?.files)}},V.default.createElement("textarea",{"data-testid":"runner-prompt",value:s,onChange:oe=>u(oe.target.value),onKeyDown:sw,placeholder:"Message the agent as a user\u2026 (\u2318/Ctrl+Enter to run \xB7 drop files here to attach)",rows:3,disabled:k,className:"aa-field",style:q_})),V.default.createElement(T1,{attachments:c,darkMode:r,testId:"runner-attachment-chip",onRemove:(oe,Ie)=>iw(Ie),removeTestId:"runner-attachment-remove"}),V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mt-3"},V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement("input",{ref:Bn,"data-testid":"runner-attach-input",type:"file",multiple:!0,style:{display:"none"},onChange:oe=>{ic(oe.target.files),oe.target.value=""}}),V.default.createElement(Ln,{testId:"runner-attach",variant:"secondary",size:"sm",colors:n,onClick:()=>Bn.current?.click(),disabled:k,title:"Attach images, PDFs, or text files to this message"},"\u{1F4CE} Attach files"),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Press ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"\u2318")," + ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"Enter")," to run")),V.default.createElement(Ln,{testId:"runner-run",variant:"primary",colors:n,onClick:Zf,disabled:!Ns},k?V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{className:"animate-spin inline-block",style:{fontFamily:Fe.mono}},"[~]")," Running\u2026"):V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{style:{fontFamily:Fe.mono}},"[>]")," Run"))))),V.default.createElement("div",{className:"space-y-4 min-w-0"},V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Configuration"),V.default.createElement("dl",{className:"space-y-2 text-sm"},V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Temperature"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.modelConfig?.temperature||e.model_config?.temperature||.7)),V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Tools"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.tools?.length||0)),V.default.createElement("div",{className:"flex justify-between items-center"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Status"),V.default.createElement("dd",null,V.default.createElement(Ss,{tone:e.status==="active"?"success":"neutral",darkMode:r},e.status)))),e.instructions&&V.default.createElement("div",{className:"mt-3 pt-3",style:{borderTop:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"text-xs mb-1.5",style:{color:n.textSecondary}},"System Instructions"),V.default.createElement("p",{className:"text-xs whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed",style:{color:n.textCell}},e.instructions))),V.default.createElement("div",{style:uc,className:"overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3",style:V_},V.default.createElement("h4",{className:"font-medium",style:{color:n.textPrimary}},"Recent Runs")),V.default.createElement("div",{className:"max-h-64 overflow-auto"},w.length>0?V.default.createElement("div",null,w.map(oe=>V.default.createElement("div",{key:oe.id,"data-testid":"runner-recent-run",className:"px-4 py-3 cursor-pointer hover:bg-black/5",style:{borderBottom:`1px solid ${n.cardBorder}`},onClick:()=>dw(oe),title:As(oe)?"Open this run\u2019s conversation":"Show this run\u2019s output"},V.default.createElement("div",{className:"flex items-center justify-between mb-1"},V.default.createElement(Ss,{tone:c_[oe.status]||"neutral",darkMode:r},oe.status),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},q1(oe.duration_ms))),V.default.createElement("p",{className:"text-sm truncate",style:{color:n.textCell}},oe.input_preview||oe.input_prompt?.substring(0,50)),V.default.createElement("p",{className:"text-xs mt-1 flex items-center gap-2 flex-wrap",style:{color:n.textMuted}},oe.model&&V.default.createElement("span",{className:"px-1.5 py-0.5 rounded font-mono",style:{background:n.mutedBg,color:n.textSecondary}},oe.model),As(oe)&&V.default.createElement("span",{className:"font-mono"},"#",As(oe)),V.default.createElement("span",null,new Date(oe.created_at).toLocaleString()))))):V.default.createElement("div",{className:"px-4 py-8 text-center text-sm",style:{color:n.textMuted}},"No runs yet"))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Example Prompts"),V.default.createElement("div",{className:"space-y-2"},kue.map(oe=>V.default.createElement("button",{key:oe,type:"button","data-testid":"runner-example-prompt",onClick:()=>u(oe),className:"w-full text-left px-3 py-2 text-sm rounded-lg transition-colors hover:bg-black/5",style:{color:n.textCell,border:`1px solid ${n.cardBorder}`,background:"transparent",cursor:"pointer"}},oe))))))}var _e=te(ne()),Y1=e=>new Date(`${e}T00:00:00`),Tue=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function p_({onSelectAgent:e}){let[t,r]=(0,_e.useState)(null),[n,a]=(0,_e.useState)(!0),[o,i]=(0,_e.useState)(30);(0,_e.useEffect)(()=>{l()},[o]);let l=async()=>{a(!0);try{let p=await(await fetch(`/api/analytics?days=${o}`)).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 _e.default.createElement("div",{className:"flex items-center justify-center h-64"},_e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let 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 _e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",null,_e.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),_e.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),_e.default.createElement("select",{value:o,onChange:f=>i(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Tue.map(f=>_e.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},_e.default.createElement(rg,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),_e.default.createElement(rg,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),_e.default.createElement(rg,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),_e.default.createElement(rg,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),_e.default.createElement(rg,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${f.count/c*150}px`,minHeight:f.count>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},f.count," runs"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&Y1(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&Y1(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-purple-500 rounded-t transition-all hover:bg-purple-600",style:{height:`${f.tokens/d*150}px`,minHeight:f.tokens>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},s(f.tokens)," tokens"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&Y1(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&Y1(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},_e.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?_e.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>_e.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"},_e.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),_e.default.createElement("div",{className:"flex-1 min-w-0"},_e.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),_e.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),_e.default.createElement("div",{className:"text-right"},_e.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),_e.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):_e.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),_e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?_e.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let v=t?.summary?.total_runs||1,y=(p/v*100).toFixed(1);return _e.default.createElement("div",{key:f},_e.default.createElement("div",{className:"flex justify-between text-sm mb-1"},_e.default.createElement("span",{className:"capitalize text-gray-600"},f),_e.default.createElement("span",{className:"text-gray-900 font-medium"},p)),_e.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},_e.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${y}%`}})))})):_e.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),_e.default.createElement("div",{className:"space-y-4"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),_e.default.createElement("div",{className:"pt-2 border-t border-gray-100"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),_e.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function rg({title:e,value:t,subtitle:r,color:n}){return _e.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`},_e.default.createElement("p",{className:"text-sm text-gray-500"},e),_e.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&_e.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var Q=te(ne());function m_({agent:e,onBack:t}){let{timeWindow:r}=Qo(),[n,a]=(0,Q.useState)([]),[o,i]=(0,Q.useState)([]),[l,s]=(0,Q.useState)(null),[u,c]=(0,Q.useState)(null),[d,f]=(0,Q.useState)([]),[p,v]=(0,Q.useState)("run"),[y,h]=(0,Q.useState)(!1),[m,g]=(0,Q.useState)(!1),x=(0,Q.useRef)(!1),b=(0,Q.useRef)(!1),[S,w]=(0,Q.useState)("recent"),[O,k]=(0,Q.useState)({}),[A,M]=(0,Q.useState)(!0),[W,L]=(0,Q.useState)(1),[H,D]=(0,Q.useState)(!0),[Y,N]=(0,Q.useState)(""),[_,z]=(0,Q.useState)(""),[j,P]=(0,Q.useState)("recent"),B=(0,Q.useRef)(null),R=Ge(`/agents/${e.id}/interactions`);(0,Q.useEffect)(()=>{F()},[e.id,W,Y,_,j,r.minutes]),(0,Q.useEffect)(()=>{L(1)},[r.minutes]),(0,Q.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then($=>$.json()).then($=>i($.interactions||[])).catch(()=>{}).finally(()=>g(!0))},[e.id]),(0,Q.useEffect)(()=>{let $=()=>{let Ne=Xu(),E=Ne.match(/\/interactions\/runs\/(\d+)/),Z=Ne.match(/\/interactions\/sessions\/(\d+)/);if(E)v("run"),c(null),ee(parseInt(E[1],10),{updateUrl:!1});else if(Z)v("all"),c({id:parseInt(Z[1],10)});else if(Ne.endsWith("/interactions/sessions")||Ne.endsWith("/interactions/all"))Ne.endsWith("/all")&&window.history.replaceState({},"",Ne.replace(/\/all$/,"/sessions")),v("all"),c(null);else{x.current=!1,s(null),c(null),f([]);return}x.current=!0};return $(),window.addEventListener("popstate",$),()=>window.removeEventListener("popstate",$)},[e.id]),(0,Q.useEffect)(()=>{x.current||b.current||!y||!m||v(n.length===0&&o.length>0?"all":"run")},[y,m,n.length,o.length]);let F=async()=>{M(!0);try{let $=new URLSearchParams({page:W.toString(),per_page:"20",minutes:String(r.minutes)});Y&&$.append("status",Y),_&&$.append("source",_),j!=="recent"&&$.append("sort",j);let E=await(await fetch(`/api/agents/${e.id}/runs?${$}`)).json();a(W===1?E.runs:Z=>[...Z,...E.runs]),D(E.runs.length===20)}catch($){console.error("Failed to load runs:",$)}finally{M(!1),h(!0)}},G=$=>{window.location.pathname!==$&&window.history.pushState({},"",$)},ee=async($,{updateUrl:Ne=!0}={})=>{try{let Z=await(await fetch(`/api/runs/${$}`)).json();s(Z.run),f(Z.messages||[]),v("run"),c(null),Ne&&G(`${R}/runs/${$}`)}catch(E){console.error("Failed to load run details:",E)}},fe=$=>{if($.source==="reported"){let Ne=$.trace_id||String($.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Ge(`/traces/${Ne}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(`/traces/${Ne}`)}}));return}ee($.record_id||$.id)},de=()=>{s(null),c(null),f([]),v("run"),G(R)},De=$=>{v("all"),$?(c({id:$.id,name:$.display_name}),G(`${R}/sessions/${$.id}`)):(c(null),G(`${R}/sessions`))},le=$=>{b.current=!0,v($),G($==="all"?u?`${R}/sessions/${u.id}`:`${R}/sessions`:l?`${R}/runs/${l.id}`:R)},Te=u?u.name||o.find($=>$.id===u.id)?.display_name||`Session #${u.id}`:null,K=()=>{let $=new Map;n.forEach(Z=>{let ge=`${Z.model||"unknown"}|${Z.instructions_digest||"none"}`;$.has(ge)||$.set(ge,{key:ge,model:Z.model,instructionsDigest:Z.instructions_digest,instructionsVersion:Z.instructions_version,instructionsCodename:Z.instructions_codename,instructionsPreview:Z.instructions_preview,runs:[]}),$.get(ge).runs.push(Z)});let Ne=[...$.values()].map(Z=>({...Z,count:Z.runs.length,completed:Z.runs.filter(ge=>ge.status==="complete").length,failed:Z.runs.filter(ge=>ge.status==="failed").length,totalTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0),avgTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0)/Z.runs.length,avgDuration:Z.runs.reduce((ge,Le)=>ge+(Le.duration_ms||0),0)/Z.runs.length,latest:Z.runs[0],sortedRuns:[...Z.runs].sort((ge,Le)=>(Le.duration_ms||0)-(ge.duration_ms||0))}));Ne.sort((Z,ge)=>S==="longest"?ge.avgDuration-Z.avgDuration:new Date(ge.latest.created_at)-new Date(Z.latest.created_at));let E={runs:n.length,completed:n.filter(Z=>Z.status==="complete").length,tokens:n.reduce((Z,ge)=>Z+(ge.tokens||0),0),avgDuration:n.length?n.reduce((Z,ge)=>Z+(ge.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(Z=>Z.model).filter(Boolean))]};return{cohorts:Ne,totals:E}},I=$=>{switch($){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"}},C=$=>$?$<1e3?`${$}ms`:$<6e4?`${($/1e3).toFixed(1)}s`:`${Math.floor($/6e4)}m ${Math.floor($%6e4/1e3)}s`:"-",T=$=>$==null?"\u2014":$===0?"$0":$<.01?`$${$.toFixed(4)}`:`$${$.toFixed(2)}`,X=$=>{let Ne=new Date($),Z=new Date-Ne,ge=Math.floor(Z/6e4),Le=Math.floor(Z/36e5),nt=Math.floor(Z/864e5);return ge<1?"Just now":ge<60?`${ge}m ago`:Le<24?`${Le}h ago`:nt<7?`${nt}d ago`:Ne.toLocaleDateString()};return Q.default.createElement("div",{className:"flex h-full"},Q.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},Q.default.createElement("div",{className:"p-4 border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},Q.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},Q.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Q.default.createElement("div",null,Q.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),Q.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),Q.default.createElement("div",{className:"mb-2"},Q.default.createElement(Jo,{compact:!0})),Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1 mb-2 text-sm"},[{value:"",label:"All"},{value:"dashboard",label:"Dashboard"},{value:"reported",label:"Reported"}].map($=>Q.default.createElement("button",{key:$.value||"all",onClick:()=>{z($.value),L(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${_===$.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:$.value==="dashboard"?"Executions started from this dashboard":$.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},$.label))),Q.default.createElement("select",{value:Y,onChange:$=>{N($.target.value),L(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},Q.default.createElement("option",{value:""},"All statuses"),Q.default.createElement("option",{value:"complete"},"Completed"),Q.default.createElement("option",{value:"failed"},"Failed"),Q.default.createElement("option",{value:"running"},"Running"),Q.default.createElement("option",{value:"cancelled"},"Cancelled")),Q.default.createElement("select",{value:j,onChange:$=>{P($.target.value),L(1)},className:"w-full mt-2 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",title:"Rank these executions"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest running"),Q.default.createElement("option",{value:"cost"},"Highest cost"),Q.default.createElement("option",{value:"tokens"},"Most tokens"))),Q.default.createElement("div",{className:"flex-1 overflow-auto"},A&&n.length===0?Q.default.createElement("div",{className:"flex items-center justify-center h-32"},Q.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?Q.default.createElement(Q.default.Fragment,null,n.map($=>{let Ne=$.source==="reported";return Q.default.createElement("div",{key:$.id,onClick:()=>fe($),title:Ne?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!Ne&&l?.id===$.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},Q.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},Q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${I($.status)}`},$.status),Q.default.createElement("div",{className:"flex items-center gap-2"},Q.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${Ne?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},Ne?"reported":"dashboard"),Q.default.createElement("span",{className:"text-xs text-gray-400"},X($.created_at||$.occurred_at)))),Q.default.createElement("p",{className:"text-sm text-gray-700 truncate"},$.input_preview||$.input_prompt?.substring(0,60)||(Ne?`${$.action_name||"execution"} \xB7 trace ${String($.trace_id||"").slice(0,8)}`:"No input")),Q.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},$.model&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},$.model),Q.default.createElement("span",{className:j==="longest"?"text-gray-700 font-medium":void 0},C($.duration_ms)),!!$.tokens&&Q.default.createElement("span",{className:j==="tokens"?"text-gray-700 font-medium":void 0},$.tokens," tokens"),$.cost!=null&&Q.default.createElement("span",{className:j==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},T($.cost))))}),H&&Q.default.createElement("button",{onClick:()=>L($=>$+1),disabled:A,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},A?"Loading...":"Load More")):Q.default.createElement("div",{className:"p-8 text-center text-gray-400"},Q.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})),Q.default.createElement("p",null,"No conversations yet")))),Q.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},Q.default.createElement("div",{className:"px-4 py-2 bg-white border-b border-gray-100 flex items-center gap-1.5 text-xs text-gray-500"},Q.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:de,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:()=>De(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),Q.default.createElement("span",{className:"text-gray-900 font-medium"},Te)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),Q.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},Q.default.createElement("button",{onClick:()=>le("run"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="run"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Selected run"),Q.default.createElement("button",{onClick:()=>le("all"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="all"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Sessions")),p==="run"&&l&&Q.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${I(l.status)}`},l.status)),p==="all"?Q.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:$}=K();return Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),Q.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Te} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs)),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs?Math.round($.completed/$.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},C(Math.round($.avgDuration)))),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.tokens.toLocaleString()))))})(),Q.default.createElement(rl,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:De})):l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),Q.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),Q.default.createElement("div",{ref:B,className:"flex-1 overflow-auto p-6"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?Q.default.createElement(so,{messages:d,darkMode:!1}):Q.default.createElement(so,{darkMode:!1,messages:[{id:`run-${l.id}-input`,role:"user",content:l.input_prompt||l.input_preview,created_at:l.created_at},{id:`run-${l.id}-output`,role:"assistant",content:l.error_message||l.output||l.output_preview||"No response",created_at:l.completed_at||l.created_at}]}))),Q.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},Q.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},Q.default.createElement("span",null,"Duration: ",C(l.duration_ms)),l.total_tokens&&Q.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&Q.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&Q.default.createElement("a",{href:Ge(`/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:$,totals:Ne}=K();return $.length===0?Q.default.createElement("div",{className:"flex-1 flex items-center justify-center"},Q.default.createElement("div",{className:"text-center text-gray-400"},Q.default.createElement(mr,{size:100}),Q.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):Q.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),Q.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs)),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs?Math.round(Ne.completed/Ne.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},C(Math.round(Ne.avgDuration)))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.tokens.toLocaleString()))),Ne.models.length>0&&Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},Q.default.createElement("span",{className:"text-gray-500"},"Models used:"),Ne.models.map(E=>Q.default.createElement("span",{key:E,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},E))),o.length>0&&Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),Q.default.createElement("div",{className:"divide-y divide-gray-100"},o.map(E=>Q.default.createElement("div",{key:E.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>De(E),title:"Open this session's interaction stream"},Q.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:E.display_name},Q.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),Q.default.createElement("span",{className:"text-sm text-gray-900 truncate"},E.agent?.name||E.agent_name),E.action_name&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",E.action_name)),Q.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},Q.default.createElement("span",null,E.message_count," messages"),Q.default.createElement("span",null,(E.tokens?.total||0).toLocaleString()," tokens"),Q.default.createElement("span",null,X(E.last_activity_at))))))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),Q.default.createElement("select",{value:S,onChange:E=>w(E.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest interactions"))),Q.default.createElement("div",{className:"divide-y divide-gray-100"},$.map(E=>Q.default.createElement("div",{key:E.key},Q.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>k(Z=>({...Z,[E.key]:!Z[E.key]})),title:"Show this configuration's runs"},Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},E.model||"unknown model"),Q.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:E.instructionsDigest?`sha:${E.instructionsDigest}`:void 0},"instructions"," ",E.instructionsDigest?[E.instructionsVersion,E.instructionsCodename||E.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),E.instructionsPreview&&Q.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},E.instructionsPreview),Q.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},Q.default.createElement("span",null,E.count," run",E.count>1?"s":""),Q.default.createElement("span",{className:E.failed>0?"text-red-500":"text-green-600"},E.count?Math.round(E.completed/E.count*100):0,"% success"),Q.default.createElement("span",null,"avg ",C(Math.round(E.avgDuration))),Q.default.createElement("span",null,"avg ",Math.round(E.avgTokens).toLocaleString()," tokens"),Q.default.createElement("span",null,"last ",X(E.latest.created_at)))),O[E.key]&&Q.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},E.sortedRuns.map(Z=>Q.default.createElement("div",{key:Z.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>ee(Z.id),title:"Open this run's interaction"},Q.default.createElement("p",{className:"text-xs text-gray-700 truncate"},Z.input_preview||"No input"),Q.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},Q.default.createElement("span",{className:Z.status==="failed"?"text-red-500":""},Z.status),Q.default.createElement("span",null,C(Z.duration_ms)),Z.tokens&&Q.default.createElement("span",null,Z.tokens.toLocaleString()," tokens"),Q.default.createElement("span",null,X(Z.created_at)))))))))))})()))}var ze=te(ne());var Mue={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function v_({onUseTemplate:e,onClose:t}){let[r,n]=(0,ze.useState)([]),[a,o]=(0,ze.useState)([]),[i,l]=(0,ze.useState)(""),[s,u]=(0,ze.useState)(null),[c,d]=(0,ze.useState)(!0),[f,p]=(0,ze.useState)(!1),[v,y]=(0,ze.useState)(null);(0,ze.useEffect)(()=>{h()},[i]);let h=async()=>{d(!0);try{let g=new URLSearchParams;i&&g.append("category",i);let b=await(await fetch(`/api/templates?${g}`)).json();n(b.templates),o(b.categories)}catch(g){console.error("Failed to load templates:",g)}finally{d(!1)}},m=async g=>{p(!0),y(null);try{let x=await fetch(`/api/templates/${g.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:g.name})});if(x.ok){let b=await x.json();e(b.agent)}else{let b=`Could not create the agent (HTTP ${x.status})`;try{let S=await x.json(),w=S.errors||S.error;w&&(b=Array.isArray(w)?w.join(", "):String(w))}catch{}y(b)}}catch(x){console.error("Failed to create agent from template:",x),y("Could not create the agent \u2014 check your connection and try again.")}finally{p(!1)}};return ze.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},ze.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},ze.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},ze.default.createElement("div",null,ze.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),ze.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),ze.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},ze.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ze.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),ze.default.createElement("div",{className:"flex-1 flex overflow-hidden"},ze.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},ze.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),ze.default.createElement("div",{className:"space-y-1"},ze.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${i?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),a.map(g=>ze.default.createElement("button",{key:g,onClick:()=>l(g),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${i===g?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},ze.default.createElement("span",null,Mue[g]||"\u{1F4E6}"),ze.default.createElement("span",{className:"capitalize"},g))))),ze.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?ze.default.createElement("div",{className:"flex items-center justify-center h-full"},ze.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?ze.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(g=>ze.default.createElement("div",{key:g.id,onClick:()=>u(g),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===g.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},ze.default.createElement("div",{className:"flex items-start space-x-3"},ze.default.createElement("div",{className:"flex-shrink-0"},ze.default.createElement(mr,{size:60})),ze.default.createElement("div",{className:"flex-1 min-w-0"},ze.default.createElement("div",{className:"flex items-center space-x-2"},ze.default.createElement("span",{className:"text-lg"},g.icon),ze.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},g.name)),ze.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},g.description),ze.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},g.category),g.featured&&ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):ze.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&ze.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},ze.default.createElement("div",{className:"flex justify-center mb-4"},ze.default.createElement(mr,{size:120})),ze.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),ze.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),ze.default.createElement("div",{className:"mt-6 space-y-4"},ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),ze.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(g=>ze.default.createElement("span",{key:g,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},g)))),ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),ze.default.createElement("button",{onClick:()=>m(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"),v&&ze.default.createElement("p",{className:"mt-2 text-sm text-red-600",role:"alert"},v)))))}var je=te(ne());function g_({currentView:e,onNavigate:t,agentCount:r,account:n,user:a,gemVersion:o,assistantEnabled:i=!0}){let{darkMode:l}=kt(),[s,u]=(0,je.useState)(!1),c=(0,je.useRef)(null);(0,je.useEffect)(()=>{function m(g){c.current&&!c.current.contains(g.target)&&u(!1)}return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[]);let d=n?.name||"My Workspace",f=a?.name||a?.email?.split("@")[0]||"User",p=[...i?[{id:"assistant",label:"Ask ActiveAgents",icon:">"}]:[],{id:"list",label:"Agents",icon:Ut.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Ut.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Ut.nav.demo,highlight:!0}],v=[{id:"traces",label:"Traces",icon:Ut.nav.traces},{id:"interactions",label:"Interactions",icon:Ut.nav.interactions},{id:"tools",label:"Tools",icon:Ut.nav.tools},{id:"mcp",label:"MCP Services",icon:Ut.nav.mcp},{id:"metrics",label:"Metrics",icon:Ut.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Ut.nav.evaluations},{id:"replay",label:"Session Replay",icon:Ut.nav.replay}],y=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:m})=>je.default.createElement("button",{onClick:()=>t(m.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${m.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===m.id?l?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===m.id?"#ef4444":l?"#d1d5db":"#374151"},onMouseEnter:g=>{e!==m.id&&(g.currentTarget.style.backgroundColor=l?"#252525":"#f3f4f6")},onMouseLeave:g=>{e!==m.id&&(g.currentTarget.style.backgroundColor="transparent")}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},m.icon),je.default.createElement("span",{className:"font-medium"},m.label)),m.badge!==void 0&&je.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===m.id?"#fee2e2":l?"#2a2a2a":"#f3f4f6",color:e===m.id?"#ef4444":l?"#d1d5db":"#4b5563"}},m.badge));return je.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:l?"#2a2a2a":"#e5e7eb"},ref:c},je.default.createElement("button",{onClick:()=>u(!s),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:s?l?"#252525":"#f3f4f6":"transparent"}},je.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},je.default.createElement(mr,{size:28}),je.default.createElement("span",{className:`font-semibold truncate ${l?"text-white":"text-gray-900"}`},d)),je.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${s?"rotate-180":""}`,style:{color:l?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),s&&je.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement(mr,{size:32}),je.default.createElement("div",{className:"min-w-0"},je.default.createElement("div",{className:`font-medium truncate ${l?"text-white":"text-gray-900"}`},d)))),je.default.createElement("div",{className:"py-1"},je.default.createElement("button",{onClick:()=>{t("settings"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"}),je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),je.default.createElement("span",null,"Settings")),je.default.createElement("button",{onClick:()=>{t("organization"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"})),je.default.createElement("span",null,"Organization"))),je.default.createElement("div",{className:"border-t py-1",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${l?"text-gray-300":"text-gray-700"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"})),je.default.createElement("span",{className:"text-sm"},f))))),je.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},je.default.createElement("div",{className:"space-y-1"},p.map(m=>je.default.createElement(h,{key:m.id,item:m}))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Observability")),je.default.createElement("div",{className:"space-y-1"},v.map(m=>je.default.createElement(h,{key:m.id,item:m})))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Workspace")),je.default.createElement("div",{className:"space-y-1"},y.map(m=>je.default.createElement(h,{key:m.id,item:m}))))),je.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${l?"text-gray-500":"text-gray-400"}`},"Resources"),je.default.createElement("div",{className:"space-y-2"},je.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.docs),je.default.createElement("span",null,"Documentation")),je.default.createElement("a",{href:"https://github.com/activeagents/activeagent",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.github),je.default.createElement("span",null,"GitHub")))),je.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs ${l?"text-gray-500":"text-gray-400"}`},"Active Agent ",o?`v${o}`:"")))}var xt=te(ne());function y_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,xt.useState)(!1),i=(0,xt.useRef)(null);(0,xt.useEffect)(()=>{function d(f){i.current&&!i.current.contains(f.target)&&o(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);let l=window.ACTIVE_AGENT_DASHBOARD?.meta?.signOutPath,s=()=>{if(!l)return;let d=document.querySelector('meta[name="csrf-token"]')?.content,f=document.createElement("form");f.method="POST",f.action=l;let p=document.createElement("input");p.type="hidden",p.name="_method",p.value="delete",f.appendChild(p);let v=document.createElement("input");v.type="hidden",v.name="authenticity_token",v.value=d,f.appendChild(v),document.body.appendChild(f),f.submit()},u=e?.name||e?.email?.split("@")[0]||"User",c=u.charAt(0).toUpperCase();return xt.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-4"}),xt.default.createElement("div",{className:"flex items-center space-x-4"},xt.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?xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.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"})):xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),xt.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},xt.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),xt.default.createElement("span",null,"Connected")),xt.default.createElement("div",{className:"relative",ref:i},xt.default.createElement("button",{onClick:()=>o(!a),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:a?r?"#252525":"#f3f4f6":"transparent"}},xt.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium text-sm"},c))),a&&xt.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"}},xt.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-3"},xt.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium"},c)),xt.default.createElement("div",null,xt.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},u),xt.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),l&&xt.default.createElement("div",{className:"py-1"},xt.default.createElement("button",{onClick:s,className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${r?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},xt.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xt.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"})),xt.default.createElement("span",null,"Sign out")))))))}var Ae=te(ne());var $e=te(ne());var h_=150,Pue=e=>e.reduce((t,r)=>t+(Number(r)||0),0),Due=e=>e.length?Pue(e)/e.length:0,Oo=e=>e.reduce((t,r)=>r!=null&&Number(r)>t?Number(r):t,0),x_=e=>{if(!(e>0))return 1;let t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=2.5?2.5:r<=5?5:10)*t},tc=(e,t)=>[0,25,50,75,100].map(r=>({top:r,label:t(e*(1-r/100))})),Iue=4,Kf=e=>Math.max(Iue,x_(e)),z$=(e,t=2,r=6)=>{let n=e/4;for(let a=t;aMath.abs(n*i-Number((n*i).toFixed(a)))<=n*.1))return a;return r},jue=5.5,zue=12,Lue=(e,t)=>{let r=!!e.flip;if(!(t>0))return r;let n=String(e.label||"").length*jue+zue,a=Number(e.left)/100*t,o=t-a;return r?!(aa):oo},Bue=typeof window>"u"?$e.useEffect:$e.useLayoutEffect,$ue=e=>{let[t,r]=(0,$e.useState)(0);return Bue(()=>{let n=e.current;if(!n)return;let a=()=>r(n.clientWidth);if(a(),typeof ResizeObserver>"u")return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a);let o=new ResizeObserver(a);return o.observe(n),()=>o.disconnect()},[e]),t},rc=(e,t)=>{let r=e.length,n=[];return e.forEach((a,o)=>{if(a==null||Number.isNaN(Number(a)))return;let i=r>1?o/(r-1)*100:50,l=100-Math.min(100,Math.max(0,Number(a)/t*100));n.push(`${i.toFixed(2)},${l.toFixed(2)}`)}),n.join(" ")},G1=(e,t)=>{let r=rc(e,t);return r?`0,100 ${r} 100,100`:""},L$=(e,t=24)=>{let r=e.length;if(!r)return"";let n=r/t,a=Array.from({length:t},(l,s)=>{let u=Math.floor(s*n),c=Math.max(u+1,Math.floor((s+1)*n));return Due(e.slice(u,c).filter(d=>d!=null))}),o=Math.max(...a),i=Math.min(...a);return a.map((l,s)=>`${(s/(t-1)*100).toFixed(1)},${(26-(o===i?.5:(l-i)/(o-i))*24).toFixed(1)}`).join(" ")},ng=(e,t,r)=>{let n=e.length?e[0].data.length:0;return Array.from({length:n},(a,o)=>({title:r(o),segs:e.map(i=>({h:(Number(i.data[o])||0)/t*100,color:i.color}))}))};function B$({label:e,value:t,unit:r,sub:n,delta:a,deltaColor:o,deltaSub:i,spark:l,sparkColor:s}){return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},$e.default.createElement(rt,{size:11,spacing:"0.05em"},e),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:o,whiteSpace:"nowrap"}},a)),$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6}},$e.default.createElement("span",{style:{fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},t),r?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},r):null),$e.default.createElement("div",{title:n,style:{fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},n),$e.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:8,marginTop:2}},$e.default.createElement("svg",{viewBox:"0 0 100 28",preserveAspectRatio:"none","aria-hidden":"true",style:{flex:1,height:28,minWidth:0,display:"block",overflow:"visible"}},$e.default.createElement("polyline",{points:l,fill:"none",stroke:s,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),$e.default.createElement("span",{style:{fontSize:10,color:"var(--color-text-muted)",whiteSpace:"nowrap"}},i)))}function $$({title:e,sub:t,value:r,valueColor:n="var(--color-text-primary)",legend:a=[],ticks:o=[],buckets:i=[],lines:l=[],areas:s=[],markers:u=[],xLabels:c=[],height:d=h_}){let f=(0,$e.useRef)(null),p=$ue(f),v="1px dashed var(--color-text-secondary)";return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{minWidth:0,display:"flex",flexDirection:"column",gap:8}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap"}},$e.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},e),$e.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},t),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:12,fontWeight:600,color:n,whiteSpace:"nowrap"}},r)),$e.default.createElement("div",{style:{display:"flex",gap:12,flexWrap:"wrap"}},a.map(y=>$e.default.createElement("span",{key:y.label,style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:ye,fontSize:10,color:"var(--color-text-secondary)"}},$e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:y.color,flexShrink:0}}),y.label))),$e.default.createElement("div",{ref:f,style:{position:"relative",height:d,margin:"6px 0 0 40px"}},o.map(y=>$e.default.createElement("div",{key:y.top,style:{position:"absolute",left:0,right:0,top:`${y.top}%`,borderTop:"1px solid var(--color-border-light)"}},$e.default.createElement("span",{style:{position:"absolute",right:"calc(100% + 6px)",top:-6,whiteSpace:"nowrap",fontFamily:ye,fontSize:10,lineHeight:"12px",color:"var(--color-text-muted)"}},y.label))),i.length>0&&$e.default.createElement("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"stretch",gap:1}},i.map((y,h)=>$e.default.createElement("div",{key:h,title:y.title,style:{flex:1,minWidth:0,display:"flex",flexDirection:"column-reverse"}},y.segs.map((m,g)=>$e.default.createElement("div",{key:g,style:{height:`${m.h.toFixed(2)}%`,background:m.color,flexShrink:0}}))))),(l.length>0||s.length>0)&&$e.default.createElement("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"}},s.map((y,h)=>$e.default.createElement("polygon",{key:h,points:y.points,fill:y.color,opacity:"0.16"})),l.map((y,h)=>$e.default.createElement("polyline",{key:h,points:y.points,fill:"none",stroke:y.color,strokeWidth:y.width||1.5,strokeLinejoin:"round",strokeLinecap:"round",vectorEffect:"non-scaling-stroke"}))),u.map((y,h)=>{let m=Lue(y,p),g=`${Number(y.left).toFixed(2)}%`;return $e.default.createElement("div",{key:h,style:{position:"absolute",top:0,bottom:0,pointerEvents:"none",...m?{left:0,width:g,borderRight:v}:{left:g,right:0,borderLeft:v}}},$e.default.createElement("span",{style:{position:"absolute",top:-4,[m?"right":"left"]:4,maxWidth:"calc(100% - 8px)",boxSizing:"border-box",overflow:"hidden",textOverflow:"ellipsis",fontFamily:ye,fontSize:9,lineHeight:"12px",color:"var(--color-text-secondary)",whiteSpace:"nowrap",background:"var(--color-card)",padding:"0 4px",borderRadius:3}},y.label))})),$e.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginLeft:40,fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},c.map((y,h)=>$e.default.createElement("span",{key:h},y))))}function qf({label:e,qualifier:t,meta:r,children:n}){return $e.default.createElement(yr,{padding:0,style:{overflow:"hidden"}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,padding:"10px 14px",borderBottom:"1px solid var(--color-border-light)"}},$e.default.createElement(rt,null,e),t?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t):null,r?$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},r):null),n)}function b_({template:e,columns:t}){return $e.default.createElement("div",{style:{display:"grid",gridTemplateColumns:e,gap:8,padding:"6px 14px 4px",fontFamily:ye,fontSize:10,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--color-text-muted)"}},$e.default.createElement("span",null),t.map(r=>$e.default.createElement("span",{key:r,style:{textAlign:"right"}},r)))}function X1({template:e,active:t=!1,onClick:r,title:n,padding:a="8px 14px",children:o}){let i=typeof r=="function";return $e.default.createElement("div",{role:i?"button":void 0,tabIndex:i?0:void 0,"aria-pressed":i?t:void 0,onClick:r,onKeyDown:i?s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),r(s))}:void 0,title:n,className:i?"hover:bg-[var(--color-hover)]":void 0,style:{display:"grid",gridTemplateColumns:e,gap:8,alignItems:"center",padding:a,borderTop:"1px solid var(--color-border-light)",cursor:i?"pointer":"default",background:t?"var(--color-muted)":void 0}},o)}function w_({children:e,padding:t="8px 14px"}){return $e.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:t,borderTop:"1px solid var(--color-border-light)"}},e)}function ag({children:e}){return $e.default.createElement("div",{style:{padding:"12px 14px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},e)}function S_({color:e}){return $e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:e,flexShrink:0}})}function A_({pct:e,color:t}){return $e.default.createElement("div",{style:{marginTop:5,height:3,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},$e.default.createElement("div",{style:{width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function k_({pct:e,color:t,width:r=70}){return $e.default.createElement("span",{style:{width:r,height:4,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0,display:"inline-block"}},$e.default.createElement("span",{style:{display:"block",width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function co({children:e,color:t="var(--color-text-primary)",weight:r=400,width:n,style:a}){return $e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:r,textAlign:"right",color:t,width:n,...a}},e)}var H$=6e4,Uue=1180,Gf={"1h":{n:60,seconds:60,bucket:"1 min",prev:"vs previous hour",title:"last hour"},"24h":{n:96,seconds:900,bucket:"15 min",prev:"vs previous 24h",title:"last 24 hours"},"7d":{n:84,seconds:7200,bucket:"2 h",prev:"vs previous 7 days",title:"last 7 days"}},Fue=Object.keys(Gf).map(e=>({value:e,label:e})),C_="24h",Yf=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-5)","var(--chart-4)"],og=[{type:"429 rate limit",short:"429",color:"var(--color-error)"},{type:"timeout",short:"timeout",color:"var(--color-warning)"},{type:"tool error",short:"tool error",color:"var(--span-tool)"},{type:"provider 5xx",short:"5xx",color:"var(--color-token-out)"},{type:"other",short:"error",color:"var(--color-text-muted)"}],U$=e=>og.find(t=>t.type===e)?.color||"var(--color-text-muted)",Wue=3,Q1="var(--color-text-primary)",Hue={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},Vue=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],N_=e=>String(e).padStart(2,"0"),Xe=e=>e==null||Number.isNaN(Number(e))?0:Number(e),Kue=e=>e.reduce((t,r)=>t+Xe(r),0),F$=e=>`${Xe(e).toFixed(1)}%`,Z1=(e,t)=>`${e} ${t}${e===1?"":"s"}`,que=e=>e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`,Yue=(e,t)=>{let r=Array.isArray(e)?[...e]:[];return t.forEach(n=>{n.name&&!r.some(a=>a.name===n.name)&&r.push(n)}),r},Gue=e=>{let t=String(e.label||"incident"),r=og.find(n=>t.startsWith(n.type));return r&&(t=`${r.short}${t.slice(r.type.length)}`),e.agent&&!t.includes(e.agent)?`${t} \xB7 ${e.agent}`:t},Xue=e=>{let t=Xe(e);return t<60?`${t}s`:t<3600?`${+(t/60).toFixed(1)} min`:`${+(t/3600).toFixed(1)} h`},W$=async e=>{let t=await fetch(`/api/metrics?${e.toString()}`);if(!t.ok)throw new Error(`Request failed (${t.status})`);return t.json()},Zue=(e,t,r=Date.now())=>{let n=Math.max(1,Xe(t))*1e3,a=Math.max(1,Math.round(Xe(e)*6e4/n)),o=Math.floor(r/n)*n;return Array.from({length:a},(i,l)=>({ts:new Date(o-(a-1-l)*n).toISOString()}))},Que=(e,t)=>{let r=e.summary||{},n=Gf[e.range]||Gf[t]||Gf[C_],a=Xe(e.bucket_seconds)||n.seconds,o=Xe(e.window_minutes)||(e.window_hours?Xe(e.window_hours)*60:n.n*n.seconds/60),i=Array.isArray(e.series)?e.series:Zue(o,a),l=Xe(e.totals?.requests??r.total_requests),s=Xe(e.totals?.cost??r.total_cost),u={requests:l,requests_per_minute:o?l/o:0,p50_ms:null,p95_ms:null,p99_ms:null,errors:Xe(r.errors),error_rate:Xe(r.error_rate),tokens_in:Xe(r.tokens_input),tokens_out:Xe(r.tokens_output),tokens:Xe(r.tokens_used),cost:s,cost_per_request:l?s/l:0,tool_calls:0,tool_errors:0,tool_error_rate:0,...e.totals||{}},c={requests_pct:r.requests_change??null,p50_pct:r.latency_change??null,error_rate_pt:null,tokens_pct:null,cost_pct:null,...e.deltas||{}},d=Array.isArray(e.agents)?e.agents:(e.by_agent||[]).map(p=>({name:p.name,requests:Xe(p.requests),share_pct:l?Xe(p.requests)/l*100:0,p95_ms:null,error_rate:p.requests?Xe(p.errors)/Xe(p.requests)*100:0,cost:Xe(p.cost),tokens:Xe(p.tokens)})),f=Array.isArray(e.errors_by_type)&&e.errors_by_type.length?e.errors_by_type:og.map(p=>({type:p.type,count:0}));return{range:e.range||t,bucketSeconds:a,windowMinutes:o,agent:e.agent||null,environment:e.environment||null,totals:u,deltas:c,series:i,agents:d,models:Array.isArray(e.models)?e.models:[],actions:Array.isArray(e.actions)?e.actions:[],tools:Array.isArray(e.tools)?e.tools:[],errorsByType:f,markers:Array.isArray(e.markers)?e.markers:[]}},V$=e=>{let t=Gf[e.range];if(t)return t;let r=Math.max(1,Math.round(e.windowMinutes/60));return{bucket:Xue(e.bucketSeconds),prev:`vs previous ${r}h`,title:`last ${r} hours`}},Jue=e=>{let[t,r]=(0,Ae.useState)(()=>typeof window<"u"&&window.innerWidth{let n=window.matchMedia(`(max-width: ${e-1}px)`),a=()=>r(n.matches);return a(),n.addEventListener("change",a),()=>n.removeEventListener("change",a)},[e]),t};function E_(){let[e,t]=(0,Ae.useState)(C_),[r,n]=(0,Ae.useState)(""),[a,o]=(0,Ae.useState)(null),[i,l]=(0,Ae.useState)(!0),[s,u]=(0,Ae.useState)(null),[c,d]=(0,Ae.useState)(!1),f=(0,Ae.useRef)(0),p=Jue(Uue),v=(0,Ae.useRef)(null),y=(0,Ae.useCallback)(async()=>{let S=++f.current;try{let w=new URLSearchParams({range:e});r&&w.set("agent",r);let[O,k]=await Promise.all([W$(w),r?W$(new URLSearchParams({range:e})).catch(()=>null):null]);if(S!==f.current)return;let A=r?k?.agents:O.agents;Array.isArray(A)&&(v.current=A),o({data:O,ranking:Array.isArray(A)?A:v.current}),u(null)}catch(w){if(S!==f.current)return;u(w.message)}finally{S===f.current&&l(!1)}},[e,r]);(0,Ae.useEffect)(()=>{let S=!1;d(!0),y().finally(()=>{S||d(!1)});let w=setInterval(y,H$);return()=>{S=!0,clearInterval(w)}},[y]);let h=(0,Ae.useMemo)(()=>a?Que(a.data,e):null,[a,e]),m=(0,Ae.useMemo)(()=>h?h.agent?Yue(a.ranking,h.agents):h.agents:[],[h,a]),g=(0,Ae.useMemo)(()=>m.map(S=>S.name).filter(Boolean),[m]),x=(0,Ae.useMemo)(()=>{let S=Object.fromEntries(g.map((O,k)=>[O,Yf[k%Yf.length]])),w=g.length;return(h?h.agents:[]).forEach(O=>{O.name&&!S[O.name]&&(S[O.name]=Yf[w++%Yf.length])}),O=>S[O]||Yf[0]},[g,h]),b=(0,Ae.useMemo)(()=>h?ece(h,x):null,[h,x]);return i?Ae.default.createElement("div",{className:"flex items-center justify-center h-64"},Ae.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):s||!h?Ae.default.createElement("div",null,Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:Q1}},"Metrics"),Ae.default.createElement("div",{style:{marginTop:16,padding:"12px 16px",background:"var(--color-error-soft)",borderRadius:8,color:"var(--color-error-text)",fontSize:14}},"Failed to load metrics",s?`: ${s}`:"")):Ae.default.createElement(Rue,{m:h,view:b,railAgents:m,range:Gf[e]?e:C_,agent:r,agentOptions:r&&!g.includes(r)?[...g,r]:g,colorFor:x,narrow:p,pending:c,onRange:t,onAgent:n})}function Rue({m:e,view:t,railAgents:r=e.agents,range:n,agent:a,agentOptions:o,colorFor:i,narrow:l,pending:s=!1,onRange:u,onAgent:c}){let d=V$(e),f=e.totals.requests===0,p=v=>c(a===v?"":v);return Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:1600,boxSizing:"border-box",color:Q1,fontSize:13}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},Ae.default.createElement("div",{style:{flex:1,minWidth:240}},Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em"}},"Metrics"),Ae.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)"}},"Requests, latency, errors, tokens and cost across every agent \u2014 ",d.title,a?` \xB7 ${a}`:"")),Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ae.default.createElement("select",{value:a,onChange:v=>c(v.target.value),"aria-label":"Filter by agent",style:{padding:"6px 10px",borderRadius:8,fontSize:13,fontFamily:"inherit",border:"1px solid var(--color-border-strong)",background:"var(--color-card)",color:Q1,cursor:"pointer"}},Ae.default.createElement("option",{value:""},"All agents"),o.map(v=>Ae.default.createElement("option",{key:v,value:v},v))),e.environment&&Ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,color:"var(--color-text-cell)",background:"var(--color-card)"}},Ae.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"env"),e.environment),Ae.default.createElement(j1,{options:Fue,value:n,onChange:u}),Ae.default.createElement("span",{title:s?"loading\u2026":`refreshes every ${H$/1e3}s`,style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Ae.default.createElement("span",{style:{width:7,height:7,borderRadius:"50%",background:s?"var(--color-text-muted)":"var(--color-success)"}}),"live \xB7 ",d.bucket," buckets"))),f?Ae.default.createElement(yr,{style:{padding:"40px 24px",textAlign:"center",fontSize:14,color:"var(--color-text-secondary)"}},"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace",Ae.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},a||"all agents"," \xB7 ",d.title)):Ae.default.createElement(Ae.default.Fragment,null,Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:12,opacity:s?.6:1}},t.signals.map(v=>Ae.default.createElement(B$,{key:v.label,...v,deltaSub:d.prev}))),Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:l?"minmax(0, 1fr)":"minmax(0, 2.3fr) minmax(300px, 1fr)",gap:16,alignItems:"start",opacity:s?.6:1}},Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:16,minWidth:0}},t.panels.map(v=>Ae.default.createElement($$,{key:v.title,...v,xLabels:t.xLabels,height:h_}))),Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0}},Ae.default.createElement(qf,{label:"Agents",qualifier:"by requests \xB7 click to filter"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 44px 40px 52px",columns:["req","p95","err","cost"]}),r.length===0&&Ae.default.createElement(ag,null,"no agents in this window"),r.map(v=>Ae.default.createElement(X1,{key:v.name,template:"minmax(0, 1fr) 44px 44px 40px 52px",active:a===v.name,onClick:()=>p(v.name),title:a===v.name?"Show all agents":`Filter to ${v.name}`},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0}},Ae.default.createElement(S_,{color:i(v.name)}),Ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.name)),Ae.default.createElement(A_,{pct:v.share_pct,color:i(v.name)})),Ae.default.createElement(co,null,hr(v.requests)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(v.p95_ms)),Ae.default.createElement(co,{color:Xe(v.error_rate)>=1.5?"var(--color-error-text)":"var(--color-text-secondary)"},F$(v.error_rate)),Ae.default.createElement(co,null,Zv(v.cost))))),Ae.default.createElement(qf,{label:"Models",qualifier:"by tokens"},e.models.length===0&&Ae.default.createElement(ag,null,"no model usage in this window"),e.models.map((v,y)=>Ae.default.createElement(X1,{key:`${v.model}-${v.provider}-${y}`,template:"minmax(0, 1fr) 52px 56px"},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,minWidth:0}},Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.model||"unknown"),v.provider&&Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},v.provider)),Ae.default.createElement(A_,{pct:v.share_pct,color:"var(--color-token-in)"})),Ae.default.createElement(co,null,hr(v.tokens)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Zv(v.cost))))),Ae.default.createElement(qf,{label:"Slowest actions",qualifier:"p95"},e.actions.length===0&&Ae.default.createElement(ag,null,"no actions in this window"),e.actions.map(v=>Ae.default.createElement(w_,{key:v.name},Ae.default.createElement("span",{title:v.name,style:{flex:1,minWidth:0,fontFamily:ye,fontSize:11,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.name),Ae.default.createElement(k_,{pct:t.slowestP95?Xe(v.p95_ms)/t.slowestP95*100:0,color:i(v.agent)}),Ae.default.createElement(co,{weight:600,width:40},Qr(v.p95_ms))))),Ae.default.createElement(qf,{label:"Tools",qualifier:"by calls"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 48px 40px",columns:["calls","avg","err"]}),e.tools.length===0&&Ae.default.createElement(ag,null,"no tool calls in this window"),e.tools.map(v=>Ae.default.createElement(X1,{key:v.name,template:"minmax(0, 1fr) 44px 48px 40px",padding:"7px 14px"},Ae.default.createElement("span",{title:v.name,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--span-tool)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.name),Ae.default.createElement(co,null,hr(v.calls)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(v.avg_ms)),Ae.default.createElement(co,{color:Xe(v.error_rate)>=2?"var(--color-error-text)":"var(--color-text-secondary)"},F$(v.error_rate))))),Ae.default.createElement(qf,{label:"Errors by type",meta:`${Math.round(e.totals.errors)} total`},e.errorsByType.map(v=>Ae.default.createElement(w_,{key:v.type},Ae.default.createElement(S_,{color:U$(v.type)}),Ae.default.createElement("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--color-text-cell)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},v.type),Ae.default.createElement(k_,{pct:t.errorTotal?Xe(v.count)/t.errorTotal*100:0,color:U$(v.type)}),Ae.default.createElement(co,{weight:600,width:32},Math.round(Xe(v.count))))))))))}function ece(e,t){let{series:r,totals:n,deltas:a}=e,o=r.length,i=V$(e),l=r.map(E=>new Date(E.ts)),s=e.windowMinutes>=2880,u=E=>Number.isNaN(E.getTime())?"":s?`${Vue[E.getDay()]} ${N_(E.getHours())}h`:`${N_(E.getHours())}:${N_(E.getMinutes())}`,c=o?[0,1,2,3,4,5,6].map(E=>E===6?"now":u(l[Math.round(E*(o-1)/6)])):[],d=E=>r.map(Z=>Xe(Z[E])),f=d("requests"),p=d("errors"),v=d("tokens_in"),y=d("tokens_out"),h=d("cost"),m=d("tool_calls"),g=d("tool_errors"),x=E=>r.map(Z=>Z[E]==null?null:Xe(Z[E])),b=x("p50_ms"),S=x("p95_ms"),w=x("p99_ms"),O=r.map(E=>E.requests_by_agent||{}),k=e.agents.map(E=>E.name).filter(Boolean);O.forEach(E=>Object.keys(E).forEach(Z=>{k.includes(Z)||k.push(Z)}));let A=k.length?k.map(E=>({label:E,color:t(E),data:O.map(Z=>Xe(Z[E]))})):[{label:"requests",color:Yf[0],data:f}],M=og.map(E=>({label:E.type,color:E.color,data:r.map(Z=>Xe((Z.errors_by_type||{})[E.type]))})),W=(Xe(e.bucketSeconds)||(o>1?(l[1]-l[0])/1e3:0))*1e3,L=(E,Z)=>{if(!E||o<2||!W)return null;let ge=new Date(E.ts).getTime();if(Number.isNaN(ge))return null;let nt=Math.min(o-1,Math.max(0,Math.floor((ge-l[0].getTime())/W)))/(o-1);return{left:nt*100,label:Z,flip:nt>.55}},H=e.markers.filter(E=>E.kind==="deploy").sort((E,Z)=>new Date(E.ts)-new Date(Z.ts)).slice(-Wue).map(E=>L(E,E.label)).filter(Boolean),D=e.markers.find(E=>E.kind==="incident"),Y=D?L(D,Gue(D)):null,N=Y?[Y]:[],_=Kf(Oo(f)*1.1),z=Kf(Oo(p)*1.15),j=Kf(Math.max(Oo(w),Oo(S),Oo(b))*1.05),P=Kf(Math.max(Oo(v),Oo(y))*1.1),B=x_(Oo(h)*1.1),R=z$(B),F=Kf(Oo(m)*1.1),G=Xe(n.requests),ee=Xe(n.requests_per_minute),fe=Xe(n.errors),de=Xe(n.error_rate),De=Xe(n.tokens)||Xe(n.tokens_in)+Xe(n.tokens_out),le=Xe(n.cost),Te=n.cost_per_request!=null?Xe(n.cost_per_request):G?le/G:0,K=Xe(n.tool_calls),I=n.tool_error_rate!=null?Xe(n.tool_error_rate):K?Xe(n.tool_errors)/K*100:0,C=Xe(e.errorsByType.find(E=>E.type===og[0].type)?.count),T=[{title:"Requests",sub:`per ${i.bucket} \xB7 stacked by agent`,value:`${hr(G)} \xB7 ${ee.toFixed(1)}/min`,legend:A.map(E=>({label:E.label,color:E.color})),ticks:tc(_,hr),buckets:ng(A,_,E=>`${u(l[E])} \xB7 ${Math.round(f[E])} req`),markers:H},{title:"Latency",sub:"generation percentiles",value:`p50 ${Qr(n.p50_ms)}`,legend:[{label:`p50 ${Qr(n.p50_ms)}`,color:"var(--color-token-in)"},{label:`p95 ${Qr(n.p95_ms)}`,color:"var(--color-warning)"},{label:`p99 ${Qr(n.p99_ms)}`,color:"var(--color-error)"}],ticks:tc(j,que),lines:[{points:rc(w,j),color:"var(--color-error)",width:1.5},{points:rc(S,j),color:"var(--color-warning)",width:1.5},{points:rc(b,j),color:"var(--color-token-in)",width:2}],areas:[{points:G1(b,j),color:"var(--color-token-in)"}],markers:N},{title:"Errors",sub:`per ${i.bucket} \xB7 by type`,value:`${de.toFixed(2)}% \xB7 ${Z1(Math.round(fe),"error")}`,valueColor:de>1?"var(--color-error)":Q1,legend:M.map(E=>({label:E.label,color:E.color})),ticks:tc(z,E=>String(Math.round(E))),buckets:ng(M,z,E=>`${u(l[E])} \xB7 ${Z1(Math.round(p[E]),"error")}`),markers:N},{title:"Tokens",sub:`per ${i.bucket} \xB7 input / output`,value:`${hr(De)} \xB7 in ${hr(n.tokens_in)} / out ${hr(n.tokens_out)}`,legend:[{label:"input",color:"var(--color-token-in)"},{label:"output",color:"var(--color-token-out)"}],ticks:tc(P,hr),lines:[{points:rc(v,P),color:"var(--color-token-in)",width:1.5},{points:rc(y,P),color:"var(--color-token-out)",width:1.5}],areas:[{points:G1(v,P),color:"var(--color-token-in)"},{points:G1(y,P),color:"var(--color-token-out)"}]},{title:"Cost",sub:`estimated \xB7 per ${i.bucket}`,value:`${Zv(le)} \xB7 ${uo(Te)}/req`,legend:[{label:"spend",color:"var(--color-text-secondary)"}],ticks:tc(B,E=>uo(E,R)),buckets:ng([{color:"var(--color-text-secondary)",data:h}],B,E=>`${u(l[E])} \xB7 ${uo(h[E],R)}`)},{title:"Tool calls",sub:`per ${i.bucket} \xB7 MCP + agent-defined`,value:`${hr(K)} \xB7 ${I.toFixed(1)}% errors`,legend:[{label:"calls",color:"var(--span-tool)"},{label:"errors",color:"var(--color-error)"}],ticks:tc(F,hr),buckets:ng([{color:"var(--span-tool)",data:m.map((E,Z)=>Math.max(0,E-g[Z]))},{color:"var(--color-error)",data:g}],F,E=>`${u(l[E])} \xB7 ${Z1(Math.round(m[E]),"call")}`)}],X=(E,Z,ge)=>{let Le=E==null?null:Xe(E);return Le==null||Le===0?"muted":Z&&Z(Le)?"success":ge&&ge(Le)?"error":"muted"},$=(E,Z,ge,Le,nt,Bt,ft,En)=>({label:E,value:Z,unit:ge,sub:Le,delta:nt,deltaColor:Hue[Bt],spark:L$(ft),sparkColor:En});return{signals:[$("Requests",hr(G),"",`${ee.toFixed(1)} req/min`,Wf(a.requests_pct),X(a.requests_pct,E=>E>0,null),f,"var(--color-token-in)"),$("Latency",Qr(n.p50_ms),"p50",`p95 ${Qr(n.p95_ms)} \xB7 p99 ${Qr(n.p99_ms)}`,Wf(a.p50_pct),X(a.p50_pct,E=>E<0,E=>E>0),b,"var(--color-token-in)"),$("Error rate",de.toFixed(2),"%",`${Z1(Math.round(fe),"error")} \xB7 ${Math.round(C)} rate-limited`,Wf(a.error_rate_pt," pt",1),X(a.error_rate_pt,E=>E<0,E=>E>0),p,"var(--color-error)"),$("Tokens",hr(De),"",`in ${hr(n.tokens_in)} \xB7 out ${hr(n.tokens_out)}`,Wf(a.tokens_pct),"muted",v.map((E,Z)=>E+y[Z]),"var(--color-token-in)"),$("Cost",Zv(le),"",`${uo(Te)} per request`,Wf(a.cost_pct),"muted",h,"var(--color-text-secondary)")],panels:T,xLabels:c,slowestP95:Oo(e.actions.map(E=>E.p95_ms)),errorTotal:Kue(e.errorsByType.map(E=>E.count))}}var ke=te(ne());var tce=6e4,rce=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],K$={mcp:{light:"#7c3aed",dark:"#c4b5fd",bgLight:"#f5f3ff",bgDark:"rgba(124,58,237,0.15)"},builtin:{light:"#2563eb",dark:"#93c5fd",bgLight:"#eff6ff",bgDark:"rgba(37,99,235,0.15)"},agent:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.12)"}},ig=e=>e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),q$=e=>e==null?"\u2014":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`,nce=e=>{if(!e)return"\u2014";let t=new Date(e),r=Math.round((Date.now()-t.getTime())/6e4);if(r<1)return"just now";if(r<60)return`${r}m ago`;let n=Math.round(r/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`};function __({onOpenServer:e}){let{darkMode:t}=kt(),[r,n]=(0,ke.useState)(null),[a,o]=(0,ke.useState)(!0),[i,l]=(0,ke.useState)(null),[s,u]=(0,ke.useState)("all"),[c,d]=(0,ke.useState)(""),[f,p]=(0,ke.useState)(168),[v,y]=(0,ke.useState)(null),h=(0,ke.useCallback)(async()=>{try{let A=new URLSearchParams({hours:String(f)});s!=="all"&&A.set("origin",s),c.trim()&&A.set("q",c.trim());let M=await fetch(`/api/tools?${A}`);if(!M.ok)throw new Error(`Request failed (${M.status})`);n(await M.json()),l(null)}catch(A){l(A.message)}finally{o(!1)}},[s,c,f]);(0,ke.useEffect)(()=>{let A=setTimeout(h,c?250:0);return()=>clearTimeout(A)},[h,c]),(0,ke.useEffect)(()=>{let A=setInterval(h,tce);return()=>clearInterval(A)},[h]);let m={bg:t?"transparent":"#f9fafb",cardBg:t?"rgba(255,255,255,0.05)":"#ffffff",border:t?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:t?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af",textCell:t?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:t?"rgba(239,68,68,0.2)":"#fef2f2",inputBg:t?"rgba(255,255,255,0.06)":"#ffffff"},g=A=>{let M=K$[A]||K$.agent;return{fg:t?M.dark:M.light,bg:t?M.bgDark:M.bgLight}};if(a&&!r)return ke.default.createElement("div",{className:"flex items-center justify-center h-64"},ke.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(i&&!r)return ke.default.createElement("div",{style:{padding:"24px"}},ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:m.textPrimary,margin:0}},"Tools"),ke.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:m.errorBg,borderRadius:"8px",color:m.error,fontSize:"14px"}},"Failed to load tools: ",i));let{tools:x=[],summary:b={},origins:S={},sources:w={}}=r||{},O=!w.telemetry&&!w.generations&&!w.messages&&!w.declared,k=({label:A,value:M,hint:W,tone:L})=>ke.default.createElement("div",{style:{background:m.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${m.border}`}},ke.default.createElement("div",{style:{fontSize:"11px",color:m.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},A),ke.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:L||m.textPrimary}},M),W&&ke.default.createElement("div",{style:{fontSize:"13px",color:m.textSecondary,marginTop:"8px"}},W));return ke.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:m.bg}},ke.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${m.border}`,marginBottom:"16px"}},ke.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},ke.default.createElement("div",null,ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:m.textPrimary,margin:0}},"Tools"),ke.default.createElement("p",{style:{fontSize:"14px",color:m.textSecondary,marginTop:"4px"}},"Detected from telemetry spans, generation request bodies, and agent records \u2014 nothing to register by hand")),ke.default.createElement("div",{style:{display:"flex",gap:"4px"}},rce.map(A=>ke.default.createElement("button",{key:A.value,onClick:()=>p(A.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${f===A.value?"#ef4444":m.border}`,background:f===A.value?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:f===A.value?"#ef4444":m.textSecondary}},A.label))))),ke.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},ke.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},ke.default.createElement(k,{label:"Tools Detected",value:ig(b.total_tools),hint:`${b.active_tools||0} called in this window`}),ke.default.createElement(k,{label:"Tool Calls",value:ig(b.total_calls),hint:`${q$(b.avg_duration_ms)} average`}),ke.default.createElement(k,{label:"Error Rate",value:`${b.error_rate||0}%`,tone:b.error_rate>5?m.error:m.textPrimary,hint:`${b.total_errors||0} failed call${b.total_errors===1?"":"s"}`}),ke.default.createElement(k,{label:"From MCP",value:ig(b.mcp_tools),hint:`across ${b.mcp_servers_active||0} active server${b.mcp_servers_active===1?"":"s"}`}),ke.default.createElement(k,{label:"Never Called",value:ig(b.unused_tools),hint:"offered or configured, unused"})),ke.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap",alignItems:"center"}},Object.entries(S).map(([A,M])=>ke.default.createElement("button",{key:A,onClick:()=>u(A),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${s===A?"#ef4444":m.border}`,background:s===A?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:s===A?"#ef4444":m.textSecondary}},M)),ke.default.createElement("input",{value:c,onChange:A=>d(A.target.value),placeholder:"Filter by name\u2026",style:{marginLeft:"auto",padding:"6px 12px",fontSize:"13px",borderRadius:"6px",minWidth:"200px",border:`1px solid ${m.border}`,background:m.inputBg,color:m.textPrimary}})),ke.default.createElement("div",{style:{background:m.cardBg,borderRadius:"12px",border:`1px solid ${m.border}`,overflow:"hidden"}},x.length===0?ke.default.createElement("div",{style:{textAlign:"center",padding:"48px 24px",color:m.textSecondary,fontSize:"14px"}},O?"No tool activity yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No tools match these filters"):ke.default.createElement("div",{style:{overflowX:"auto"}},ke.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:"760px"}},ke.default.createElement("thead",null,ke.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:m.textSecondary,borderBottom:`1px solid ${m.border}`}},ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Tool"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Source"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Calls"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Errors"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Avg"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Last seen"))),ke.default.createElement("tbody",null,x.map((A,M)=>{let W=g(A.origin),L=v===A.name;return ke.default.createElement(ke.default.Fragment,{key:A.name},ke.default.createElement("tr",{onClick:()=>y(L?null:A.name),style:{borderBottom:M{H.stopPropagation(),A.mcp_server&&e&&e(A.mcp_server)},style:{fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:"none",background:W.bg,color:W.fg,fontFamily:"monospace",cursor:A.mcp_server&&e?"pointer":"default"},title:A.mcp_server?`Open ${A.mcp_server} in MCP Services`:A.source_label},A.source_label)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:m.textCell,fontFamily:"monospace"}},ig(A.calls)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",fontFamily:"monospace",color:A.errors>0?m.error:m.textCell}},A.errors),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:m.textCell,fontFamily:"monospace"}},q$(A.avg_duration_ms)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:m.textMuted,fontSize:"13px"}},nce(A.last_seen))),L&&ke.default.createElement("tr",{style:{borderBottom:Mke.default.createElement("span",{key:A,style:{color:w[A]?m.textSecondary:m.textMuted,opacity:w[A]?1:.5}},w[A]?"\u25CF":"\u25CB"," ",M)))))}function ace({tool:e,colors:t,tone:r,darkMode:n}){let a=({label:o,children:i})=>ke.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},ke.default.createElement("span",{style:{color:t.textMuted,minWidth:"108px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},o),ke.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},i));return ke.default.createElement("div",{style:{display:"grid",gap:"8px",padding:"12px 16px",borderRadius:"8px",background:n?"rgba(0,0,0,0.25)":"#ffffff",border:`1px solid ${t.border}`}},ke.default.createElement(a,{label:"Full name"},ke.default.createElement("code",{style:{fontFamily:"monospace"}},e.name)),e.description&&ke.default.createElement(a,{label:"Description"},e.description),ke.default.createElement(a,{label:"Parameters"},e.parameters?.length>0?ke.default.createElement("code",{style:{fontFamily:"monospace",color:r.fg}},e.parameters.join(", ")):ke.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),ke.default.createElement(a,{label:"Agents"},e.agents?.length>0?e.agents.join(", "):ke.default.createElement("span",{style:{color:t.textMuted}},"\u2014")),e.configured_by?.length>0&&ke.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),ke.default.createElement(a,{label:"Call breakdown"},ke.default.createElement("span",{style:{fontFamily:"monospace"}},e.traced_calls," traced \xB7 ",e.requested," requested \xB7 ",e.results," results")),e.sample_arguments&&ke.default.createElement(a,{label:"Last arguments"},ke.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",color:t.textMuted}},e.sample_arguments)),e.last_error&&ke.default.createElement(a,{label:"Last error"},ke.default.createElement("span",{style:{color:t.error}},e.last_error)),ke.default.createElement(a,{label:"Detected from"},e.detected_from?.join(", ")||"\u2014"))}var Oe=te(ne());var oce=6e4,ice=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],lce=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],Y$={active:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.15)"},configured:{light:"#b45309",dark:"#fcd34d",bgLight:"#fffbeb",bgDark:"rgba(245,158,11,0.15)"},available:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"},idle:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"}},lg=e=>e==null?"0":e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e);function O_({focusServer:e,onOpenTools:t}){let{darkMode:r}=kt(),[n,a]=(0,Oe.useState)(null),[o,i]=(0,Oe.useState)(!0),[l,s]=(0,Oe.useState)(null),[u,c]=(0,Oe.useState)("all"),[d,f]=(0,Oe.useState)(168),[p,v]=(0,Oe.useState)(e||null),[y,h]=(0,Oe.useState)(null),[m,g]=(0,Oe.useState)(null),x=(0,Oe.useCallback)(async()=>{try{let D=await fetch(`/api/mcp_servers?hours=${d}`);if(!D.ok)throw new Error(`Request failed (${D.status})`);a(await D.json()),s(null)}catch(D){s(D.message)}finally{i(!1)}},[d]);(0,Oe.useEffect)(()=>{x();let D=setInterval(x,oce);return()=>clearInterval(D)},[x]),(0,Oe.useEffect)(()=>{e&&v(e)},[e]);let b={bg:r?"transparent":"#f9fafb",cardBg:r?"rgba(255,255,255,0.05)":"#ffffff",border:r?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:r?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",textCell:r?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:r?"rgba(239,68,68,0.2)":"#fef2f2",codeBg:r?"rgba(0,0,0,0.35)":"#f9fafb"},S=D=>{let Y=Y$[D]||Y$.available;return{fg:r?Y.dark:Y.light,bg:r?Y.bgDark:Y.bgLight}},w=async D=>{h(D.key),g(null);try{let Y=await fetch(`/api/mcp_servers/${encodeURIComponent(D.key)}/launch`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""}}),N=await Y.json();if(!Y.ok)throw new Error(N.reason||N.error||`Launch failed (${Y.status})`);g({kind:"ok",text:`${D.name} is starting in a sandbox (${N.sandbox.session_id.slice(0,8)}\u2026)`}),x()}catch(Y){g({kind:"error",text:Y.message})}finally{h(null)}};if(o&&!n)return Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(l&&!n)return Oe.default.createElement("div",{style:{padding:"24px"}},Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:b.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:b.errorBg,borderRadius:"8px",color:b.error,fontSize:"14px"}},"Failed to load MCP services: ",l));let{servers:O=[],summary:k={},sandboxes:A=[],statuses:M={}}=n||{},W=u==="all"?O:O.filter(D=>D.status===u),L=new Set(A.flatMap(D=>D.mcp_servers||[])),H=({label:D,value:Y,hint:N})=>Oe.default.createElement("div",{style:{background:b.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${b.border}`}},Oe.default.createElement("div",{style:{fontSize:"11px",color:b.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},D),Oe.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:b.textPrimary}},Y),N&&Oe.default.createElement("div",{style:{fontSize:"13px",color:b.textSecondary,marginTop:"8px"}},N));return Oe.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:b.bg}},Oe.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${b.border}`,marginBottom:"16px"}},Oe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",null,Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:b.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("p",{style:{fontSize:"14px",color:b.textSecondary,marginTop:"4px"}},"Servers detected from your agents' traffic, plus the defaults you can connect or run in a sandbox")),Oe.default.createElement("div",{style:{display:"flex",gap:"4px"}},ice.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>f(D.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${d===D.value?"#ef4444":b.border}`,background:d===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:d===D.value?"#ef4444":b.textSecondary}},D.label))))),Oe.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Oe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Oe.default.createElement(H,{label:"Active",value:lg(k.active),hint:"called in this window"}),Oe.default.createElement(H,{label:"Configured",value:lg(k.configured),hint:"declared, no traffic yet"}),Oe.default.createElement(H,{label:"Available",value:lg(k.available),hint:"defaults you can connect"}),Oe.default.createElement(H,{label:"Tool Calls",value:lg(k.total_calls),hint:"through MCP servers"})),m&&Oe.default.createElement("div",{style:{marginBottom:"16px",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",background:m.kind==="error"?b.errorBg:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:m.kind==="error"?b.error:r?"#86efac":"#15803d"}},m.text),Oe.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap"}},lce.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>c(D.value),title:M[D.value]||"Every MCP service known to this workspace",style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${u===D.value?"#ef4444":b.border}`,background:u===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:u===D.value?"#ef4444":b.textSecondary}},D.label))),Oe.default.createElement("div",{style:{display:"grid",gap:"12px"}},W.length===0?Oe.default.createElement("div",{style:{background:b.cardBg,borderRadius:"12px",border:`1px solid ${b.border}`,textAlign:"center",padding:"48px 24px",color:b.textSecondary,fontSize:"14px"}},"No MCP services in this state"):W.map(D=>{let Y=S(D.status),N=p===D.key,_=L.has(D.key);return Oe.default.createElement("div",{key:D.key,style:{background:b.cardBg,borderRadius:"12px",border:`1px solid ${N?Y.fg:b.border}`,overflow:"hidden"}},Oe.default.createElement("div",{onClick:()=>v(N?null:D.key),style:{padding:"16px 20px",cursor:"pointer",display:"flex",alignItems:"center",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",{style:{flex:1,minWidth:"220px"}},Oe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontSize:"15px",fontWeight:"600",color:b.textPrimary}},D.name),Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:Y.bg,color:Y.fg,textTransform:"uppercase",letterSpacing:"0.04em"}},D.status),D.first_party&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(239,68,68,0.15)":"#fef2f2",color:"#ef4444"}},"first-party"),!D.known&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:b.borderLight,color:b.textMuted},title:"Seen in your traffic but not in the platform catalog"},"undocumented"),_&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:r?"#86efac":"#15803d"}},"\u25CF sandbox running")),D.description&&Oe.default.createElement("div",{style:{fontSize:"13px",color:b.textSecondary,marginTop:"4px"}},D.description)),Oe.default.createElement("div",{style:{display:"flex",gap:"24px",alignItems:"center"}},Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:b.textPrimary}},lg(D.calls)),Oe.default.createElement("div",{style:{fontSize:"11px",color:b.textMuted}},"calls")),Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:D.errors>0?b.error:b.textPrimary}},D.errors||0),Oe.default.createElement("div",{style:{fontSize:"11px",color:b.textMuted}},"errors")),D.launchable&&Oe.default.createElement("button",{onClick:z=>{z.stopPropagation(),w(D)},disabled:y===D.key,style:{padding:"8px 14px",fontSize:"13px",borderRadius:"6px",border:"none",background:y===D.key?b.borderLight:"#ef4444",color:y===D.key?b.textMuted:"#ffffff",cursor:y===D.key?"wait":"pointer",fontWeight:"500",whiteSpace:"nowrap"},title:`Start ${D.name} in a sandbox session`},y===D.key?"Starting\u2026":_?"Start another":"Start in sandbox"))),N&&Oe.default.createElement(sce,{server:D,colors:b,tone:Y,onOpenTools:t}))})),A.length>0&&Oe.default.createElement("div",{style:{marginTop:"24px",background:b.cardBg,borderRadius:"12px",border:`1px solid ${b.border}`,padding:"20px"}},Oe.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:b.textPrimary,margin:"0 0 12px 0"}},"Running sandboxes"),Oe.default.createElement("div",{style:{display:"grid",gap:"8px"}},A.map(D=>Oe.default.createElement("div",{key:D.session_id,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontSize:"13px",color:b.textCell,flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontFamily:"monospace"}},(D.mcp_servers||[]).join(", ")||D.sandbox_type),Oe.default.createElement("span",{style:{color:b.textMuted}},D.status," \xB7 ",D.runs_count,"/",D.max_runs," runs \xB7 expires ",new Date(D.expires_at).toLocaleTimeString())))))))}function sce({server:e,colors:t,tone:r,onOpenTools:n}){let a=({label:i,children:l})=>Oe.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Oe.default.createElement("span",{style:{color:t.textMuted,minWidth:"120px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},i),Oe.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},l)),o=e.command||e.url;return Oe.default.createElement("div",{style:{padding:"0 20px 20px 20px",display:"grid",gap:"10px"}},Oe.default.createElement("div",{style:{height:"1px",background:t.borderLight,marginBottom:"4px"}}),o&&Oe.default.createElement(a,{label:e.transport==="http"?"Endpoint":"Command"},Oe.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",padding:"4px 8px",borderRadius:"4px",background:t.codeBg,display:"inline-block"}},o)),e.transport&&Oe.default.createElement(a,{label:"Transport"},e.transport),e.categories?.length>0&&Oe.default.createElement(a,{label:"Categories"},e.categories.join(", ")),e.requires_credentials?.length>0&&Oe.default.createElement(a,{label:"Requires"},e.requires_credentials.join(", ")),Oe.default.createElement(a,{label:e.tool_count>0?"Tools used":"Tools offered"},e.tools?.length>0?Oe.default.createElement("span",{style:{display:"flex",gap:"6px",flexWrap:"wrap"}},e.tools.map(i=>Oe.default.createElement("code",{key:i,style:{fontFamily:"monospace",fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r.bg,color:r.fg}},i))):Oe.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),e.agents?.length>0&&Oe.default.createElement(a,{label:"Used by"},e.agents.join(", ")),e.configured_by?.length>0&&Oe.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),e.last_seen&&Oe.default.createElement(a,{label:"Last call"},new Date(e.last_seen).toLocaleString()),Oe.default.createElement("div",{style:{display:"flex",gap:"12px",marginTop:"4px",flexWrap:"wrap"}},e.docs_url&&Oe.default.createElement("a",{href:e.docs_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"#ef4444",textDecoration:"none"}},"Documentation \u2192"),e.calls>0&&n&&Oe.default.createElement("button",{onClick:()=>n(e.key),style:{fontSize:"13px",color:"#ef4444",background:"none",border:"none",padding:0,cursor:"pointer"}},"View its tools \u2192")))}var q=te(ne());var ks=te(ne());var R1={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},xr={log(...e){this.enabled&&(e.push(Date.now()),R1.logger.log("[ActionCable]",...e))}},ug=()=>new Date().getTime(),J1=e=>(ug()-e)/1e3,cg=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=ug(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),xr.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=ug(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),xr.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=ug()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,xr.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=ug(),xr.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)),o=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+o)}reconnectIfStale(){this.connectionIsStale()&&(xr.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${J1(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?xr.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${J1(this.disconnectedAt)} s`):(xr.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return J1(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&J1(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(xr.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};cg.staleThreshold=6;cg.reconnectionBackoffRate=.15;var X$={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:sg,protocols:T_}=X$,uce=T_.slice(0,T_.length-1),G$=[].indexOf,dg=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new cg(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return xr.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...T_,...this.consumer.subprotocols||[]];return xr.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new R1.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(xr.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){xr.log("Failed to reopen WebSocket",t)}finally{xr.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 G$.call(uce,this.getProtocol())>=0}isState(...t){return G$.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in R1.WebSocket)if(R1.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let r=this.events[t].bind(this);this.webSocket[`on${t}`]=r}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};dg.reopenDelay=500;dg.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:a,type:o}=JSON.parse(e.data);switch(this.monitor.recordMessage(),o){case sg.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case sg.disconnect:return xr.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:a});case sg.ping:return null;case sg.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 sg.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(xr.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return xr.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(xr.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){xr.log("WebSocket onerror event")}};var cce=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},M_=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),cce(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)}},P_=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(xr.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):xr.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){xr.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=>{xr.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},D_=class{constructor(t){this.consumer=t,this.guarantor=new P_(this),this.subscriptions=[]}create(t,r){let n=t,a=typeof n=="object"?n:{channel:n},o=new M_(this.consumer,a,r);return this.add(o)}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((o=>typeof o[r]=="function"?o[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){xr.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})}},I_=class{constructor(t){this._url=t,this.subscriptions=new D_(this),this.connection=new dg(this),this.subprotocols=[]}get url(){return dce(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 dce(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 Z$(e=fce("url")||X$.default_mount_path){return new I_(e)}function fce(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var ew=null;function pce(){if(ew===null)try{ew=Z$()}catch{ew=!1}return ew||null}function Q$(e,t,r,n=!0){let a=(0,ks.useRef)(null),o=(0,ks.useRef)(r);return(0,ks.useEffect)(()=>{o.current=r},[r]),(0,ks.useEffect)(()=>{if(!n||!e)return;let l=pce();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),o.current&&o.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,ks.useCallback)((l,s)=>{a.current&&a.current.perform(l,s)},[])}}var tw=[{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"}],mce={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"}]},J$={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function j_({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,q.useState)(e),[a,o]=(0,q.useState)(null),[i,l]=(0,q.useState)(""),[s,u]=(0,q.useState)([]),[c,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(!1),[v,y]=(0,q.useState)(!1),[h,m]=(0,q.useState)(null),[g,x]=(0,q.useState)(null),[b,S]=(0,q.useState)(!1),[w,O]=(0,q.useState)(null),[k,A]=(0,q.useState)(!1),M=(0,q.useRef)(null),[W,L]=(0,q.useState)(["anthropic"]),[H,D]=(0,q.useState)(!1),[Y,N]=(0,q.useState)({}),[_,z]=(0,q.useState)([]),j=(0,q.useCallback)(T=>{switch(console.log("[SandboxRunner] Received ActionCable message:",T),T.type){case"run_started":H?N(X=>({...X,[T.provider]:{status:"running",started_at:T.started_at,provider:T.provider}})):d(X=>({...X,status:"running",provider:T.provider}));break;case"run_complete":H?(N(X=>({...X,[T.provider]:{...T.run,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider)),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))):(d(T.run),p(!1),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))),z(X=>{let $=X.filter(Ne=>Ne!==T.provider);return $.length===0&&p(!1),$});break;case"run_error":H?(N(X=>({...X,[T.provider]:{status:"failed",error:T.error,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider))):(d(X=>({...X,status:"failed",error:T.error})),p(!1)),T.sandbox&&o(T.sandbox);break}},[H]);Q$("SandboxChannel",{session_id:a?.session_id},j,!!a?.session_id),(0,q.useEffect)(()=>{B(),P()},[r]);let P=async()=>{try{let T=await fetch("/api/usage");if(T.ok){let X=await T.json();O(X.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,q.useEffect)(()=>{if(!a?.expires_at)return;let T=setInterval(()=>{let X=new Date,$=new Date(a.expires_at),Ne=Math.max(0,Math.floor(($-X)/1e3));x(Ne),Ne===0&&(o(E=>({...E,status:"expired"})),clearInterval(T))},1e3);return()=>clearInterval(T)},[a?.expires_at]),(0,q.useEffect)(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[c?.result]);let B=async()=>{y(!0),m(null);try{let T=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!T.ok)throw new Error("Failed to create sandbox session");let X=await T.json();o(X.sandbox),u([]),d(null)}catch(T){m(T.message)}finally{y(!1)}},R=async()=>{!i.trim()||f||!a||(H&&W.length>1?await G():await F(W[0]||"anthropic"))},F=async T=>{p(!0),d({status:"running",task:i,provider:T,result:"",started_at:new Date().toISOString()});try{let X=await fetch(`/api/sandboxes/${a.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,provider:T})}),$=await X.json();if(X.status===402&&$.upgrade_required){O($.usage),S(!0),d(Ne=>({...Ne,status:"failed",error:$.message||"Plan limit reached"})),p(!1);return}if(!X.ok)throw new Error($.error||"Task execution failed");$.usage&&O($.usage),De($.run_id)}catch(X){d($=>({...$,status:"failed",error:X.message})),p(!1)}},G=async()=>{p(!0),z([...W]),N({});let T={};W.forEach(X=>{T[X]={status:"running",result:"",started_at:new Date().toISOString()}}),N(T);try{let X=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,providers:W,sandbox_id:a?.session_id,sandbox_type:r})});if(!X.ok){let Ne=await X.json();throw new Error(Ne.error||"Comparison failed")}let $=await X.json();$.sandbox&&o($.sandbox),ee(W,$.sandbox?.session_id||a?.session_id,$.sandbox?.runs_count??a?.runs_count??0)}catch(X){W.forEach($=>{N(Ne=>({...Ne,[$]:{status:"failed",error:X.message}}))}),p(!1),z([])}},ee=(T,X,$)=>{if(!X)return;let Ne=async()=>{try{let E=await fetch(`/api/sandboxes/${X}`);if(!E.ok)throw new Error(`HTTP ${E.status}`);let Z=await E.json();o(Z.sandbox);let ge=Z.sandbox.runs||[];u(ge);let Le=new Set;if(ge.slice($).forEach(nt=>{nt.provider&&(N(Bt=>({...Bt,[nt.provider]:{...nt,provider:nt.provider}})),(nt.status==="completed"||nt.status==="failed")&&Le.add(nt.provider))}),T.every(nt=>Le.has(nt))){p(!1),z([]);return}setTimeout(Ne,1e3)}catch(E){console.error("Comparison polling failed:",E),p(!1),z([])}};setTimeout(Ne,1e3)},fe=async()=>{if(a?.session_id)try{let X=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(X.sandbox),u(X.sandbox.runs||[]),(X.sandbox.runs||[]).forEach(E=>{E.provider&&N(Z=>({...Z,[E.provider]:{...E,provider:E.provider}}))}),W.every(E=>{let Z=Y[E];return Z?.status==="completed"||Z?.status==="failed"})&&(p(!1),z([]))}catch(T){console.error("Polling error:",T)}},de=T=>{L(X=>X.includes(T)?X.length===1?X:X.filter($=>$!==T):[...X,T])},De=async T=>{let X=async()=>{try{let Ne=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(Ne.sandbox);let E=Ne.sandbox.runs||[],Z=E[E.length-1];if(Z&&(d(Z),u(E),Z.status==="completed"||Z.status==="failed")){p(!1);return}setTimeout(X,1e3)}catch{p(!1)}};X()},le=T=>{T.key==="Enter"&&(T.metaKey||T.ctrlKey)&&R()},Te=T=>{if(!T)return"--:--";let X=Math.floor(T/60),$=T%60;return`${X}:${$.toString().padStart(2,"0")}`},K=T=>{switch(T){case"completed":return"text-green-600 bg-green-100";case"failed":return"text-red-600 bg-red-100";case"running":return"text-blue-600 bg-blue-100";case"ready":return"text-emerald-600 bg-emerald-100";case"expired":return"text-orange-600 bg-orange-100";default:return"text-gray-600 bg-gray-100"}},I=a?.status==="ready"&&a?.runs_count{A(!0);try{await Vf({planSlug:"pro",billingInterval:T})}catch(X){console.error("Checkout error:",X),m(X.message||"Failed to initiate checkout. Please try again."),A(!1)}};return q.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},q.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},q.default.createElement("div",{className:"flex items-center justify-between"},q.default.createElement("div",{className:"flex items-center space-x-4"},q.default.createElement(mr,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),q.default.createElement("div",null,q.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),q.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),q.default.createElement("div",{className:"flex items-center space-x-4"},a&&q.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},q.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${K(a.status)}`},a.status),q.default.createElement("span",{className:"text-gray-500"},a.runs_count,"/",a.max_runs," runs"),q.default.createElement("span",{className:`font-mono ${g<60?"text-red-500":"text-gray-500"}`},Te(g))),t&&q.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},q.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),q.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},q.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},q.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("textarea",{value:i,onChange:T=>l(T.target.value),onKeyDown:le,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!I,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-rose-500 focus:border-transparent resize-none disabled:bg-gray-100"}),q.default.createElement("div",{className:"flex items-center justify-between mt-3"},q.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),q.default.createElement("button",{onClick:R,disabled:!i.trim()||!I,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${i.trim()&&I?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{className:"animate-spin"},"\u25E0"),q.default.createElement("span",null,"Running...")):q.default.createElement(q.default.Fragment,null,q.default.createElement("span",null,"\u25B6"),q.default.createElement("span",null,"Run"))))),q.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},q.default.createElement("h3",{className:"font-medium text-gray-900"},H&&Object.keys(Y).length>0?"Comparison Results":"Output"),c&&!H&&q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(c.status)}`},c.status),H&&_.length>0&&q.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",_.length," provider(s)...")),q.default.createElement("div",{ref:M,className:"flex-1 overflow-auto bg-gray-50"},v?q.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},q.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):h?q.default.createElement("div",{className:"text-red-600 p-4"},h):H&&Object.keys(Y).length>0?q.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},W.map(T=>{let X=tw.find(Ne=>Ne.id===T),$=Y[T];return q.default.createElement("div",{key:T,className:"p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-2"},q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("div",{className:`w-3 h-3 rounded-full ${X?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"font-medium text-gray-900"},X?.name||T),q.default.createElement("span",{className:"text-xs text-gray-500"},X?.model)),$&&q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K($.status)}`},$.status),$.tokens&&q.default.createElement("span",{className:"text-xs text-gray-500"},$.tokens," tokens"),$.duration_ms&&q.default.createElement("span",{className:"text-xs text-gray-500"},($.duration_ms/1e3).toFixed(1),"s"))),q.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},$?.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Processing...")):$?.error?q.default.createElement("div",{className:"text-red-600"},$.error):$?.result?q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},$.result):q.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?q.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&q.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},q.default.createElement("div",{className:`w-2 h-2 rounded-full ${tw.find(T=>T.id===c.provider)?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"text-sm text-gray-600"},tw.find(T=>T.id===c.provider)?.name||c.provider)),c.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Executing task...")):c.error?q.default.createElement("div",{className:"text-red-600"},q.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),q.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):q.default.createElement("div",{className:"text-gray-400 text-center py-12"},q.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),q.default.createElement("p",{className:"text-xs"},H?`Compare results across ${W.length} providers`:"Task will execute using the selected provider"))))),q.default.createElement("div",{className:"space-y-4 overflow-auto"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),q.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},q.default.createElement("input",{type:"checkbox",checked:H,onChange:T=>D(T.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),q.default.createElement("div",{className:"space-y-2"},tw.map(T=>q.default.createElement("label",{key:T.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${W.includes(T.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},q.default.createElement("div",{className:"flex items-center space-x-3"},q.default.createElement("input",{type:"checkbox",checked:W.includes(T.id),onChange:()=>de(T.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("div",{className:`w-2 h-2 rounded-full ${T.color}`}),q.default.createElement("span",{className:"text-sm font-medium text-gray-900"},T.name)),q.default.createElement("span",{className:"text-xs text-gray-500"},T.model)))),H&&W.length>1&&q.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},q.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",W.length," providers simultaneously"))),q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),H&&q.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")),q.default.createElement("div",{className:"space-y-2"},mce[r]?.map((T,X)=>q.default.createElement("button",{key:X,onClick:()=>l(T.task),disabled:!I,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},q.default.createElement("div",{className:"font-medium text-sm text-gray-900"},T.name),q.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},T.description))))),q.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},q.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},w?.unlimited?"Unlimited":w?.plan==="free"?"Free Tier":`${w?.plan?.toUpperCase()||"FREE"} Plan`),w&&!w.unlimited&&w.runs_limit!=null&&q.default.createElement("div",{className:"mb-4"},q.default.createElement("div",{className:"flex justify-between text-sm mb-1"},q.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),q.default.createElement("span",{className:`font-medium ${w.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},w.runs_used," / ",w.runs_limit)),q.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},q.default.createElement("div",{className:`h-2 rounded-full transition-all ${w.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(w.runs_used/w.runs_limit*100,100)}%`}})),w.runs_remaining<=1&&q.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},w.runs_remaining===0?"Limit reached!":"Almost at limit!")),q.default.createElement("dl",{className:"space-y-2 text-sm"},q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),q.default.createElement("dd",{className:"text-gray-900"},a?.runs_count||0,"/",a?.max_runs||J$.max_runs)),q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Timeout"),q.default.createElement("dd",{className:"text-gray-900"},J$.timeout_seconds,"s per task"))),w?.plan==="free"&&q.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},q.default.createElement("button",{onClick:()=>S(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),q.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((T,X)=>q.default.createElement("div",{key:T.id||X,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(T)},q.default.createElement("div",{className:"flex items-center justify-between mb-1"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(T.status||"completed")}`},T.status||"completed"),q.default.createElement("span",{className:"text-xs text-gray-400"},T.tokens||0," tokens")),q.default.createElement("p",{className:"text-sm text-gray-600 truncate"},T.task))))),a?.status==="expired"&&q.default.createElement("button",{onClick:B,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),b&&q.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},q.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},q.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},q.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),q.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",w?.runs_used||0," of ",w?.runs_limit||25," trial runs. Choose a plan to continue.")),q.default.createElement("div",{className:"p-6"},q.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),q.default.createElement("span",{className:"text-gray-500"},"/mo"))),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),q.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")),q.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},q.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},q.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),q.default.createElement("div",{className:"text-center mb-4 mt-2"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),q.default.createElement("button",{onClick:()=>C("monthly"),disabled:k,className:"w-full py-2 px-4 bg-rose-500 text-white rounded-lg text-sm font-semibold hover:bg-rose-600 transition-colors disabled:opacity-50"},k?"Loading...":"Upgrade to Pro")),q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),q.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")))),q.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},q.default.createElement("button",{onClick:()=>S(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var Ee=te(ne());var rw={SCREENSHOT:"screenshot",IFRAME:"iframe"},R$={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},z_={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"},vce=` +`)||y?.instructions||"",hn=m.slice();h&&!hn.some(oe=>oe.id===h)&&hn.unshift({id:h,message_count:Mo.length});let Ns=(s.trim().length>0||c.length>0)&&!k,H_=M&&!k&&M.status==="failed",oU=M&&!k&&M.status==="complete"&&!As(M)&&!h,uc={background:n.cardBg,border:`1px solid ${n.cardBorder}`,borderRadius:"12px"},V_={borderBottom:`1px solid ${n.cardBorder}`},K_={padding:"6px 10px",borderRadius:"8px",border:`1px solid ${n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontSize:"13px",fontFamily:Fe.mono,maxWidth:"260px"},q_={width:"100%",padding:"10px 12px",borderRadius:"8px",border:`1px solid ${f?vn:n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"},fw=gr("system",r),iU=O1(r);return V.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},V.default.createElement("div",{className:"col-span-2 flex flex-col gap-4 min-w-0"},P&&V.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},V.default.createElement("div",null,V.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),V.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."),G&&V.default.createElement("p",{className:"text-sm text-red-600 mt-1"},G)),V.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},ut&&V.default.createElement("a",{href:ut,className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),V.default.createElement("button",{onClick:xe,disabled:R,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},R?"Redirecting\u2026":"Upgrade to Pro"))),V.default.createElement("div",{"data-testid":"runner-toolbar",style:uc,className:"p-4 flex items-center gap-3 flex-wrap"},V.default.createElement(mr,{size:40}),V.default.createElement("div",{className:"min-w-0"},V.default.createElement("div",{className:"font-semibold truncate",style:{color:n.textPrimary}},e.name),V.default.createElement("div",{className:"text-xs font-mono",style:{color:n.textSecondary}},e.provider," / ",e.model)),V.default.createElement("div",{className:"flex items-center gap-2 flex-wrap ml-auto"},V.default.createElement("select",{"data-testid":"runner-action-select",value:i,onChange:oe=>aw(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Agent action to invoke"},o.map(oe=>V.default.createElement("option",{key:oe,value:oe},"#",oe))),V.default.createElement("select",{"data-testid":"runner-conversation-select",value:h??"",onChange:oe=>ow(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Conversation to continue"},V.default.createElement("option",{value:""},"New conversation on first run"),hn.map(oe=>V.default.createElement("option",{key:oe.id,value:oe.id},"Conversation #",oe.id," \xB7 ",oe.message_count??0," message",oe.message_count===1?"":"s"))),V.default.createElement(Ln,{testId:"runner-new-conversation",variant:"secondary",size:"sm",colors:n,onClick:oc,disabled:k,title:"Start an empty conversation for this action"},"+ New conversation"),V.default.createElement(Ln,{testId:"runner-back",variant:"secondary",size:"sm",colors:n,onClick:t},"\u2190 Back to editor"))),V.default.createElement("div",{"data-testid":"runner-context",ref:ft,style:uc,className:"flex flex-col overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3 flex items-center justify-between gap-3 flex-wrap",style:V_},V.default.createElement("div",{className:"flex items-center gap-2 min-w-0"},V.default.createElement("h3",{className:"font-medium",style:{color:n.textPrimary}},"Context"),y&&V.default.createElement("span",{className:"text-xs font-mono",style:{color:n.textMuted}},"#",y.id," \xB7 ",Mo.length," message",Mo.length===1?"":"s")),V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement(Oue,{run:M,darkMode:r,colors:n}),V.default.createElement("div",{className:"relative",ref:oa},V.default.createElement(Ln,{testId:"runner-add-message",variant:"secondary",size:"sm",colors:n,onClick:()=>le(oe=>!oe),disabled:k,title:"Insert a message into the context without running"},"+ Add message"),De&&V.default.createElement("div",{className:"absolute right-0 mt-1 z-10 py-1 rounded-lg shadow-lg",style:{background:n.cardBg,border:`1px solid ${n.borderStrong}`,minWidth:"180px"}},[["user","runner-add-user-message","User message"],["assistant","runner-add-assistant-message","Assistant message"]].map(([oe,Ie,Ye])=>V.default.createElement("button",{key:oe,type:"button","data-testid":Ie,onClick:()=>cw(oe),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-black/5",style:{color:n.textCell,background:"none",border:"none",cursor:"pointer"}},Ye)))))),V.default.createElement("div",{ref:En,className:"p-4 overflow-auto",style:{maxHeight:"60vh"}},V.default.createElement("div",{"data-testid":"runner-system-row",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 cursor-pointer",onClick:()=>de(oe=>!oe),title:fe?"Collapse system instructions":"Show system instructions"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:fw.background,color:fw.color,textAlign:"center"}},fw.label)),V.default.createElement("div",{className:"min-w-0 flex-1"},pr?fe?V.default.createElement("pre",{style:{...iU,whiteSpace:"pre-wrap",maxHeight:"260px",overflowY:"auto"}},pr):V.default.createElement("div",{className:"text-sm truncate",style:{color:n.textSecondary}},pr.split(` +`).find(oe=>oe.trim())||""):V.default.createElement("div",{className:"text-sm",style:{color:n.textMuted}},"No system instructions"),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono",style:{color:n.textMuted}},"read-only \xB7 Edit in the Instructions tab")),V.default.createElement(j$,{open:fe,color:n.textMuted})),x&&V.default.createElement("div",{className:"text-sm mt-3",style:{color:"#dc2626"}},x),Mo.length>0?V.default.createElement("div",{className:"mt-3"},V.default.createElement(so,{messages:Mo,darkMode:r,testIdPrefix:"runner-message",onUiAction:pg,onEditMessage:Qf,onDeleteMessage:uw})):!L&&!D&&!H_&&V.default.createElement("div",{"data-testid":"runner-context-empty",className:"text-sm text-center py-8",style:{color:n.textMuted}},"No messages yet \u2014 say something below to test the agent as a user."),L&&V.default.createElement("div",{"data-testid":"runner-pending-turn",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 mt-3"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr("user",r).background,color:gr("user",r).color,textAlign:"center"}},"User")),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words whitespace-pre-wrap",style:{color:n.textPrimary}},L.content),V.default.createElement(T1,{attachments:L.attachments,darkMode:r}))),M&&(k||d_(M).length>0)&&V.default.createElement("div",{className:"mt-3 space-y-2"},V.default.createElement(_ue,{run:M,darkMode:r,colors:n,expanded:z,onToggle:oe=>j(Ie=>({...Ie,[oe]:!Ie[oe]}))}),k&&V.default.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.textSecondary}},V.default.createElement("span",{className:"animate-pulse"},"\u25CF"),V.default.createElement("span",null,d_(M).length>0?"Working\u2026":"Starting run\u2026"))),N&&V.default.createElement("div",{className:"text-xs mt-3",style:{color:"#d97706"}},N),H_&&M.error_message&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:r?"rgba(239,68,68,0.12)":"#fef2f2",color:r?"#fca5a5":"#b91c1c"}},V.default.createElement("div",{className:"font-semibold mb-1"},"Run failed"),V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0}},M.error_message)),oU&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:n.innerBg,color:n.textPrimary}},V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:n.textMuted}},"Output"),V.default.createElement(_o,{text:M.output||"No output",darkMode:r,onUiAction:pg})),D&&V.default.createElement("div",{"data-testid":"runner-inspected-run",className:"mt-3 rounded-lg p-3",style:{background:n.innerBg,border:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mb-2"},V.default.createElement("div",{className:"flex items-center gap-2 text-xs font-mono",style:{color:n.textMuted}},V.default.createElement("span",{style:{color:n.textPrimary}},"Run #",D.id),V.default.createElement(Ss,{tone:c_[D.status]||"neutral",darkMode:r},D.status),D.output_metadata?.model&&V.default.createElement("span",null,D.output_metadata.provider,"/",D.output_metadata.model),D.duration_ms?V.default.createElement("span",null,q1(D.duration_ms)):null,D.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${D.trace_id}`),className:"hover:underline",style:{color:n.textSecondary}},"trace:",D.trace_id.slice(0,8)," \u2192"),V.default.createElement("span",null,"\xB7 no conversation attached")),V.default.createElement("button",{type:"button",onClick:()=>Y(null),className:"text-xs font-mono",style:{color:n.textMuted,background:"none",border:"none",cursor:"pointer"},title:"Close"},"[x]")),(D.input_prompt||D.input_preview)&&V.default.createElement("div",{className:"text-sm mb-2 whitespace-pre-wrap",style:{color:n.textSecondary}},D.input_prompt||D.input_preview),D.error_message?V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0,color:r?"#fca5a5":"#b91c1c"}},D.error_message):V.default.createElement("div",{className:"text-sm",style:{color:n.textPrimary}},V.default.createElement(_o,{text:D.output||"No output",darkMode:r}))),Te&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3",style:{border:`1px dashed ${n.borderStrong}`}},V.default.createElement("div",{className:"flex items-center gap-2 mb-2"},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr(Te,r).background,color:gr(Te,r).color}},gr(Te,r).label),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Added to the context without running the agent")),V.default.createElement("textarea",{"data-testid":"runner-inline-composer",value:I,onChange:oe=>C(oe.target.value),onKeyDown:oe=>{oe.key==="Escape"&&K(null),oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&sc()},placeholder:Te==="user"?"What the user said\u2026":"What the assistant replied\u2026",rows:3,autoFocus:!0,className:"aa-field",style:{...q_,border:`1px solid ${n.inputBorder}`}}),V.default.createElement("div",{className:"flex items-center gap-2 mt-2 flex-wrap"},V.default.createElement(Ln,{testId:"runner-inline-submit",variant:"primary",size:"sm",colors:n,onClick:sc,disabled:T||!I.trim()},T?"Adding\u2026":`Add ${Te} message`),V.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>K(null),disabled:T},"Cancel"),$&&V.default.createElement("span",{className:"text-xs",style:{color:"#dc2626"}},$))))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("div",{onDragOver:oe=>{oe.preventDefault(),f||p(!0)},onDragLeave:()=>p(!1),onDrop:oe=>{oe.preventDefault(),p(!1),k||ic(oe.dataTransfer?.files)}},V.default.createElement("textarea",{"data-testid":"runner-prompt",value:s,onChange:oe=>u(oe.target.value),onKeyDown:sw,placeholder:"Message the agent as a user\u2026 (\u2318/Ctrl+Enter to run \xB7 drop files here to attach)",rows:3,disabled:k,className:"aa-field",style:q_})),V.default.createElement(T1,{attachments:c,darkMode:r,testId:"runner-attachment-chip",onRemove:(oe,Ie)=>iw(Ie),removeTestId:"runner-attachment-remove"}),V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mt-3"},V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement("input",{ref:Bn,"data-testid":"runner-attach-input",type:"file",multiple:!0,style:{display:"none"},onChange:oe=>{ic(oe.target.files),oe.target.value=""}}),V.default.createElement(Ln,{testId:"runner-attach",variant:"secondary",size:"sm",colors:n,onClick:()=>Bn.current?.click(),disabled:k,title:"Attach images, PDFs, or text files to this message"},"\u{1F4CE} Attach files"),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Press ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"\u2318")," + ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"Enter")," to run")),V.default.createElement(Ln,{testId:"runner-run",variant:"primary",colors:n,onClick:Zf,disabled:!Ns},k?V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{className:"animate-spin inline-block",style:{fontFamily:Fe.mono}},"[~]")," Running\u2026"):V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{style:{fontFamily:Fe.mono}},"[>]")," Run"))))),V.default.createElement("div",{className:"space-y-4 min-w-0"},V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Configuration"),V.default.createElement("dl",{className:"space-y-2 text-sm"},V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Temperature"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.modelConfig?.temperature||e.model_config?.temperature||.7)),V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Tools"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.tools?.length||0)),V.default.createElement("div",{className:"flex justify-between items-center"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Status"),V.default.createElement("dd",null,V.default.createElement(Ss,{tone:e.status==="active"?"success":"neutral",darkMode:r},e.status)))),e.instructions&&V.default.createElement("div",{className:"mt-3 pt-3",style:{borderTop:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"text-xs mb-1.5",style:{color:n.textSecondary}},"System Instructions"),V.default.createElement("p",{className:"text-xs whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed",style:{color:n.textCell}},e.instructions))),V.default.createElement("div",{style:uc,className:"overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3",style:V_},V.default.createElement("h4",{className:"font-medium",style:{color:n.textPrimary}},"Recent Runs")),V.default.createElement("div",{className:"max-h-64 overflow-auto"},w.length>0?V.default.createElement("div",null,w.map(oe=>V.default.createElement("div",{key:oe.id,"data-testid":"runner-recent-run",className:"px-4 py-3 cursor-pointer hover:bg-black/5",style:{borderBottom:`1px solid ${n.cardBorder}`},onClick:()=>dw(oe),title:As(oe)?"Open this run\u2019s conversation":"Show this run\u2019s output"},V.default.createElement("div",{className:"flex items-center justify-between mb-1"},V.default.createElement(Ss,{tone:c_[oe.status]||"neutral",darkMode:r},oe.status),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},q1(oe.duration_ms))),V.default.createElement("p",{className:"text-sm truncate",style:{color:n.textCell}},oe.input_preview||oe.input_prompt?.substring(0,50)),V.default.createElement("p",{className:"text-xs mt-1 flex items-center gap-2 flex-wrap",style:{color:n.textMuted}},oe.model&&V.default.createElement("span",{className:"px-1.5 py-0.5 rounded font-mono",style:{background:n.mutedBg,color:n.textSecondary}},oe.model),As(oe)&&V.default.createElement("span",{className:"font-mono"},"#",As(oe)),V.default.createElement("span",null,new Date(oe.created_at).toLocaleString()))))):V.default.createElement("div",{className:"px-4 py-8 text-center text-sm",style:{color:n.textMuted}},"No runs yet"))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Example Prompts"),V.default.createElement("div",{className:"space-y-2"},kue.map(oe=>V.default.createElement("button",{key:oe,type:"button","data-testid":"runner-example-prompt",onClick:()=>u(oe),className:"w-full text-left px-3 py-2 text-sm rounded-lg transition-colors hover:bg-black/5",style:{color:n.textCell,border:`1px solid ${n.cardBorder}`,background:"transparent",cursor:"pointer"}},oe))))))}var _e=te(ne()),Y1=e=>new Date(`${e}T00:00:00`),Tue=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function p_({onSelectAgent:e}){let[t,r]=(0,_e.useState)(null),[n,a]=(0,_e.useState)(!0),[o,i]=(0,_e.useState)(30);(0,_e.useEffect)(()=>{l()},[o]);let l=async()=>{a(!0);try{let p=await(await fetch(`/api/analytics?days=${o}`)).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 _e.default.createElement("div",{className:"flex items-center justify-center h-64"},_e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let 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 _e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",null,_e.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),_e.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),_e.default.createElement("select",{value:o,onChange:f=>i(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Tue.map(f=>_e.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},_e.default.createElement(rg,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),_e.default.createElement(rg,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),_e.default.createElement(rg,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),_e.default.createElement(rg,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),_e.default.createElement(rg,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${f.count/c*150}px`,minHeight:f.count>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},f.count," runs"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&Y1(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&Y1(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-purple-500 rounded-t transition-all hover:bg-purple-600",style:{height:`${f.tokens/d*150}px`,minHeight:f.tokens>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},s(f.tokens)," tokens"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&Y1(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&Y1(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},_e.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?_e.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>_e.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"},_e.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),_e.default.createElement("div",{className:"flex-1 min-w-0"},_e.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),_e.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),_e.default.createElement("div",{className:"text-right"},_e.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),_e.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):_e.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),_e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?_e.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let m=t?.summary?.total_runs||1,g=(p/m*100).toFixed(1);return _e.default.createElement("div",{key:f},_e.default.createElement("div",{className:"flex justify-between text-sm mb-1"},_e.default.createElement("span",{className:"capitalize text-gray-600"},f),_e.default.createElement("span",{className:"text-gray-900 font-medium"},p)),_e.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},_e.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${g}%`}})))})):_e.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),_e.default.createElement("div",{className:"space-y-4"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),_e.default.createElement("div",{className:"pt-2 border-t border-gray-100"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),_e.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function rg({title:e,value:t,subtitle:r,color:n}){return _e.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`},_e.default.createElement("p",{className:"text-sm text-gray-500"},e),_e.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&_e.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var Q=te(ne());function m_({agent:e,onBack:t}){let{timeWindow:r}=Qo(),[n,a]=(0,Q.useState)([]),[o,i]=(0,Q.useState)([]),[l,s]=(0,Q.useState)(null),[u,c]=(0,Q.useState)(null),[d,f]=(0,Q.useState)([]),[p,m]=(0,Q.useState)("run"),[g,h]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=(0,Q.useRef)(!1),x=(0,Q.useRef)(!1),[S,w]=(0,Q.useState)("recent"),[O,k]=(0,Q.useState)({}),[A,M]=(0,Q.useState)(!0),[W,L]=(0,Q.useState)(1),[H,D]=(0,Q.useState)(!0),[Y,N]=(0,Q.useState)(""),[_,z]=(0,Q.useState)(""),[j,P]=(0,Q.useState)("recent"),B=(0,Q.useRef)(null),R=Ge(`/agents/${e.id}/interactions`);(0,Q.useEffect)(()=>{F()},[e.id,W,Y,_,j,r.minutes]),(0,Q.useEffect)(()=>{L(1)},[r.minutes]),(0,Q.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then($=>$.json()).then($=>i($.interactions||[])).catch(()=>{}).finally(()=>y(!0))},[e.id]),(0,Q.useEffect)(()=>{let $=()=>{let Ne=Xu(),E=Ne.match(/\/interactions\/runs\/(\d+)/),Z=Ne.match(/\/interactions\/sessions\/(\d+)/);if(E)m("run"),c(null),ee(parseInt(E[1],10),{updateUrl:!1});else if(Z)m("all"),c({id:parseInt(Z[1],10)});else if(Ne.endsWith("/interactions/sessions")||Ne.endsWith("/interactions/all"))Ne.endsWith("/all")&&window.history.replaceState({},"",Ne.replace(/\/all$/,"/sessions")),m("all"),c(null);else{b.current=!1,s(null),c(null),f([]);return}b.current=!0};return $(),window.addEventListener("popstate",$),()=>window.removeEventListener("popstate",$)},[e.id]),(0,Q.useEffect)(()=>{b.current||x.current||!g||!v||m(n.length===0&&o.length>0?"all":"run")},[g,v,n.length,o.length]);let F=async()=>{M(!0);try{let $=new URLSearchParams({page:W.toString(),per_page:"20",minutes:String(r.minutes)});Y&&$.append("status",Y),_&&$.append("source",_),j!=="recent"&&$.append("sort",j);let E=await(await fetch(`/api/agents/${e.id}/runs?${$}`)).json();a(W===1?E.runs:Z=>[...Z,...E.runs]),D(E.runs.length===20)}catch($){console.error("Failed to load runs:",$)}finally{M(!1),h(!0)}},G=$=>{window.location.pathname!==$&&window.history.pushState({},"",$)},ee=async($,{updateUrl:Ne=!0}={})=>{try{let Z=await(await fetch(`/api/runs/${$}`)).json();s(Z.run),f(Z.messages||[]),m("run"),c(null),Ne&&G(`${R}/runs/${$}`)}catch(E){console.error("Failed to load run details:",E)}},fe=$=>{if($.source==="reported"){let Ne=$.trace_id||String($.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Ge(`/traces/${Ne}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(`/traces/${Ne}`)}}));return}ee($.record_id||$.id)},de=()=>{s(null),c(null),f([]),m("run"),G(R)},De=$=>{m("all"),$?(c({id:$.id,name:$.display_name}),G(`${R}/sessions/${$.id}`)):(c(null),G(`${R}/sessions`))},le=$=>{x.current=!0,m($),G($==="all"?u?`${R}/sessions/${u.id}`:`${R}/sessions`:l?`${R}/runs/${l.id}`:R)},Te=u?u.name||o.find($=>$.id===u.id)?.display_name||`Session #${u.id}`:null,K=()=>{let $=new Map;n.forEach(Z=>{let ge=`${Z.model||"unknown"}|${Z.instructions_digest||"none"}`;$.has(ge)||$.set(ge,{key:ge,model:Z.model,instructionsDigest:Z.instructions_digest,instructionsVersion:Z.instructions_version,instructionsCodename:Z.instructions_codename,instructionsPreview:Z.instructions_preview,runs:[]}),$.get(ge).runs.push(Z)});let Ne=[...$.values()].map(Z=>({...Z,count:Z.runs.length,completed:Z.runs.filter(ge=>ge.status==="complete").length,failed:Z.runs.filter(ge=>ge.status==="failed").length,totalTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0),avgTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0)/Z.runs.length,avgDuration:Z.runs.reduce((ge,Le)=>ge+(Le.duration_ms||0),0)/Z.runs.length,latest:Z.runs[0],sortedRuns:[...Z.runs].sort((ge,Le)=>(Le.duration_ms||0)-(ge.duration_ms||0))}));Ne.sort((Z,ge)=>S==="longest"?ge.avgDuration-Z.avgDuration:new Date(ge.latest.created_at)-new Date(Z.latest.created_at));let E={runs:n.length,completed:n.filter(Z=>Z.status==="complete").length,tokens:n.reduce((Z,ge)=>Z+(ge.tokens||0),0),avgDuration:n.length?n.reduce((Z,ge)=>Z+(ge.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(Z=>Z.model).filter(Boolean))]};return{cohorts:Ne,totals:E}},I=$=>{switch($){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"}},C=$=>$?$<1e3?`${$}ms`:$<6e4?`${($/1e3).toFixed(1)}s`:`${Math.floor($/6e4)}m ${Math.floor($%6e4/1e3)}s`:"-",T=$=>$==null?"\u2014":$===0?"$0":$<.01?`$${$.toFixed(4)}`:`$${$.toFixed(2)}`,X=$=>{let Ne=new Date($),Z=new Date-Ne,ge=Math.floor(Z/6e4),Le=Math.floor(Z/36e5),nt=Math.floor(Z/864e5);return ge<1?"Just now":ge<60?`${ge}m ago`:Le<24?`${Le}h ago`:nt<7?`${nt}d ago`:Ne.toLocaleDateString()};return Q.default.createElement("div",{className:"flex h-full"},Q.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},Q.default.createElement("div",{className:"p-4 border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},Q.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},Q.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Q.default.createElement("div",null,Q.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),Q.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),Q.default.createElement("div",{className:"mb-2"},Q.default.createElement(Jo,{compact:!0})),Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1 mb-2 text-sm"},[{value:"",label:"All"},{value:"dashboard",label:"Dashboard"},{value:"reported",label:"Reported"}].map($=>Q.default.createElement("button",{key:$.value||"all",onClick:()=>{z($.value),L(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${_===$.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:$.value==="dashboard"?"Executions started from this dashboard":$.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},$.label))),Q.default.createElement("select",{value:Y,onChange:$=>{N($.target.value),L(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},Q.default.createElement("option",{value:""},"All statuses"),Q.default.createElement("option",{value:"complete"},"Completed"),Q.default.createElement("option",{value:"failed"},"Failed"),Q.default.createElement("option",{value:"running"},"Running"),Q.default.createElement("option",{value:"cancelled"},"Cancelled")),Q.default.createElement("select",{value:j,onChange:$=>{P($.target.value),L(1)},className:"w-full mt-2 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",title:"Rank these executions"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest running"),Q.default.createElement("option",{value:"cost"},"Highest cost"),Q.default.createElement("option",{value:"tokens"},"Most tokens"))),Q.default.createElement("div",{className:"flex-1 overflow-auto"},A&&n.length===0?Q.default.createElement("div",{className:"flex items-center justify-center h-32"},Q.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?Q.default.createElement(Q.default.Fragment,null,n.map($=>{let Ne=$.source==="reported";return Q.default.createElement("div",{key:$.id,onClick:()=>fe($),title:Ne?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!Ne&&l?.id===$.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},Q.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},Q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${I($.status)}`},$.status),Q.default.createElement("div",{className:"flex items-center gap-2"},Q.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${Ne?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},Ne?"reported":"dashboard"),Q.default.createElement("span",{className:"text-xs text-gray-400"},X($.created_at||$.occurred_at)))),Q.default.createElement("p",{className:"text-sm text-gray-700 truncate"},$.input_preview||$.input_prompt?.substring(0,60)||(Ne?`${$.action_name||"execution"} \xB7 trace ${String($.trace_id||"").slice(0,8)}`:"No input")),Q.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},$.model&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},$.model),Q.default.createElement("span",{className:j==="longest"?"text-gray-700 font-medium":void 0},C($.duration_ms)),!!$.tokens&&Q.default.createElement("span",{className:j==="tokens"?"text-gray-700 font-medium":void 0},$.tokens," tokens"),$.cost!=null&&Q.default.createElement("span",{className:j==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},T($.cost))))}),H&&Q.default.createElement("button",{onClick:()=>L($=>$+1),disabled:A,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},A?"Loading...":"Load More")):Q.default.createElement("div",{className:"p-8 text-center text-gray-400"},Q.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})),Q.default.createElement("p",null,"No conversations yet")))),Q.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},Q.default.createElement("div",{className:"px-4 py-2 bg-white border-b border-gray-100 flex items-center gap-1.5 text-xs text-gray-500"},Q.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:de,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:()=>De(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),Q.default.createElement("span",{className:"text-gray-900 font-medium"},Te)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),Q.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},Q.default.createElement("button",{onClick:()=>le("run"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="run"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Selected run"),Q.default.createElement("button",{onClick:()=>le("all"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="all"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Sessions")),p==="run"&&l&&Q.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${I(l.status)}`},l.status)),p==="all"?Q.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:$}=K();return Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),Q.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Te} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs)),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs?Math.round($.completed/$.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},C(Math.round($.avgDuration)))),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.tokens.toLocaleString()))))})(),Q.default.createElement(rl,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:De})):l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),Q.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),Q.default.createElement("div",{ref:B,className:"flex-1 overflow-auto p-6"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?Q.default.createElement(so,{messages:d,darkMode:!1}):Q.default.createElement(so,{darkMode:!1,messages:[{id:`run-${l.id}-input`,role:"user",content:l.input_prompt||l.input_preview,created_at:l.created_at},{id:`run-${l.id}-output`,role:"assistant",content:l.error_message||l.output||l.output_preview||"No response",created_at:l.completed_at||l.created_at}]}))),Q.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},Q.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},Q.default.createElement("span",null,"Duration: ",C(l.duration_ms)),l.total_tokens&&Q.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&Q.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&Q.default.createElement("a",{href:Ge(`/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:$,totals:Ne}=K();return $.length===0?Q.default.createElement("div",{className:"flex-1 flex items-center justify-center"},Q.default.createElement("div",{className:"text-center text-gray-400"},Q.default.createElement(mr,{size:100}),Q.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):Q.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),Q.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs)),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs?Math.round(Ne.completed/Ne.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},C(Math.round(Ne.avgDuration)))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.tokens.toLocaleString()))),Ne.models.length>0&&Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},Q.default.createElement("span",{className:"text-gray-500"},"Models used:"),Ne.models.map(E=>Q.default.createElement("span",{key:E,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},E))),o.length>0&&Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),Q.default.createElement("div",{className:"divide-y divide-gray-100"},o.map(E=>Q.default.createElement("div",{key:E.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>De(E),title:"Open this session's interaction stream"},Q.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:E.display_name},Q.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),Q.default.createElement("span",{className:"text-sm text-gray-900 truncate"},E.agent?.name||E.agent_name),E.action_name&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",E.action_name)),Q.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},Q.default.createElement("span",null,E.message_count," messages"),Q.default.createElement("span",null,(E.tokens?.total||0).toLocaleString()," tokens"),Q.default.createElement("span",null,X(E.last_activity_at))))))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),Q.default.createElement("select",{value:S,onChange:E=>w(E.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest interactions"))),Q.default.createElement("div",{className:"divide-y divide-gray-100"},$.map(E=>Q.default.createElement("div",{key:E.key},Q.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>k(Z=>({...Z,[E.key]:!Z[E.key]})),title:"Show this configuration's runs"},Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},E.model||"unknown model"),Q.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:E.instructionsDigest?`sha:${E.instructionsDigest}`:void 0},"instructions"," ",E.instructionsDigest?[E.instructionsVersion,E.instructionsCodename||E.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),E.instructionsPreview&&Q.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},E.instructionsPreview),Q.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},Q.default.createElement("span",null,E.count," run",E.count>1?"s":""),Q.default.createElement("span",{className:E.failed>0?"text-red-500":"text-green-600"},E.count?Math.round(E.completed/E.count*100):0,"% success"),Q.default.createElement("span",null,"avg ",C(Math.round(E.avgDuration))),Q.default.createElement("span",null,"avg ",Math.round(E.avgTokens).toLocaleString()," tokens"),Q.default.createElement("span",null,"last ",X(E.latest.created_at)))),O[E.key]&&Q.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},E.sortedRuns.map(Z=>Q.default.createElement("div",{key:Z.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>ee(Z.id),title:"Open this run's interaction"},Q.default.createElement("p",{className:"text-xs text-gray-700 truncate"},Z.input_preview||"No input"),Q.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},Q.default.createElement("span",{className:Z.status==="failed"?"text-red-500":""},Z.status),Q.default.createElement("span",null,C(Z.duration_ms)),Z.tokens&&Q.default.createElement("span",null,Z.tokens.toLocaleString()," tokens"),Q.default.createElement("span",null,X(Z.created_at)))))))))))})()))}var ze=te(ne());var Mue={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function v_({onUseTemplate:e,onClose:t}){let[r,n]=(0,ze.useState)([]),[a,o]=(0,ze.useState)([]),[i,l]=(0,ze.useState)(""),[s,u]=(0,ze.useState)(null),[c,d]=(0,ze.useState)(!0),[f,p]=(0,ze.useState)(!1),[m,g]=(0,ze.useState)(null);(0,ze.useEffect)(()=>{h()},[i]);let h=async()=>{d(!0);try{let y=new URLSearchParams;i&&y.append("category",i);let x=await(await fetch(`/api/templates?${y}`)).json();n(x.templates),o(x.categories)}catch(y){console.error("Failed to load templates:",y)}finally{d(!1)}},v=async y=>{p(!0),g(null);try{let b=await fetch(`/api/templates/${y.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:y.name})});if(b.ok){let x=await b.json();e(x.agent)}else{let x=`Could not create the agent (HTTP ${b.status})`;try{let S=await b.json(),w=S.errors||S.error;w&&(x=Array.isArray(w)?w.join(", "):String(w))}catch{}g(x)}}catch(b){console.error("Failed to create agent from template:",b),g("Could not create the agent \u2014 check your connection and try again.")}finally{p(!1)}};return ze.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},ze.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},ze.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},ze.default.createElement("div",null,ze.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),ze.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),ze.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},ze.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ze.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),ze.default.createElement("div",{className:"flex-1 flex overflow-hidden"},ze.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},ze.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),ze.default.createElement("div",{className:"space-y-1"},ze.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${i?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),a.map(y=>ze.default.createElement("button",{key:y,onClick:()=>l(y),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${i===y?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},ze.default.createElement("span",null,Mue[y]||"\u{1F4E6}"),ze.default.createElement("span",{className:"capitalize"},y))))),ze.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?ze.default.createElement("div",{className:"flex items-center justify-center h-full"},ze.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?ze.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(y=>ze.default.createElement("div",{key:y.id,onClick:()=>u(y),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===y.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},ze.default.createElement("div",{className:"flex items-start space-x-3"},ze.default.createElement("div",{className:"flex-shrink-0"},ze.default.createElement(mr,{size:60})),ze.default.createElement("div",{className:"flex-1 min-w-0"},ze.default.createElement("div",{className:"flex items-center space-x-2"},ze.default.createElement("span",{className:"text-lg"},y.icon),ze.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},y.name)),ze.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},y.description),ze.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},y.category),y.featured&&ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):ze.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&ze.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},ze.default.createElement("div",{className:"flex justify-center mb-4"},ze.default.createElement(mr,{size:120})),ze.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),ze.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),ze.default.createElement("div",{className:"mt-6 space-y-4"},ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),ze.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(y=>ze.default.createElement("span",{key:y,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},y)))),ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),ze.default.createElement("button",{onClick:()=>v(s),disabled:f,className:"w-full mt-6 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50"},f?"Creating...":"Use This Template"),m&&ze.default.createElement("p",{className:"mt-2 text-sm text-red-600",role:"alert"},m)))))}var je=te(ne());function g_({currentView:e,onNavigate:t,agentCount:r,account:n,user:a,gemVersion:o,assistantEnabled:i=!0}){let{darkMode:l}=kt(),[s,u]=(0,je.useState)(!1),c=(0,je.useRef)(null);(0,je.useEffect)(()=>{function v(y){c.current&&!c.current.contains(y.target)&&u(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);let d=n?.name||"My Workspace",f=a?.name||a?.email?.split("@")[0]||"User",p=[...i?[{id:"assistant",label:"Ask ActiveAgents",icon:">"}]:[],{id:"list",label:"Agents",icon:Ut.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Ut.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Ut.nav.demo,highlight:!0}],m=[{id:"traces",label:"Traces",icon:Ut.nav.traces},{id:"interactions",label:"Interactions",icon:Ut.nav.interactions},{id:"tools",label:"Tools",icon:Ut.nav.tools},{id:"mcp",label:"MCP Services",icon:Ut.nav.mcp},{id:"metrics",label:"Metrics",icon:Ut.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Ut.nav.evaluations},{id:"replay",label:"Session Replay",icon:Ut.nav.replay}],g=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:v})=>je.default.createElement("button",{onClick:()=>t(v.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${v.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===v.id?l?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===v.id?"#ef4444":l?"#d1d5db":"#374151"},onMouseEnter:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor=l?"#252525":"#f3f4f6")},onMouseLeave:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor="transparent")}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},v.icon),je.default.createElement("span",{className:"font-medium"},v.label)),v.badge!==void 0&&je.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===v.id?"#fee2e2":l?"#2a2a2a":"#f3f4f6",color:e===v.id?"#ef4444":l?"#d1d5db":"#4b5563"}},v.badge));return je.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:l?"#2a2a2a":"#e5e7eb"},ref:c},je.default.createElement("button",{onClick:()=>u(!s),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:s?l?"#252525":"#f3f4f6":"transparent"}},je.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},je.default.createElement(mr,{size:28}),je.default.createElement("span",{className:`font-semibold truncate ${l?"text-white":"text-gray-900"}`},d)),je.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${s?"rotate-180":""}`,style:{color:l?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),s&&je.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement(mr,{size:32}),je.default.createElement("div",{className:"min-w-0"},je.default.createElement("div",{className:`font-medium truncate ${l?"text-white":"text-gray-900"}`},d)))),je.default.createElement("div",{className:"py-1"},je.default.createElement("button",{onClick:()=>{t("settings"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"}),je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),je.default.createElement("span",null,"Settings")),je.default.createElement("button",{onClick:()=>{t("organization"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"})),je.default.createElement("span",null,"Organization"))),je.default.createElement("div",{className:"border-t py-1",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${l?"text-gray-300":"text-gray-700"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.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"})),je.default.createElement("span",{className:"text-sm"},f))))),je.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},je.default.createElement("div",{className:"space-y-1"},p.map(v=>je.default.createElement(h,{key:v.id,item:v}))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Observability")),je.default.createElement("div",{className:"space-y-1"},m.map(v=>je.default.createElement(h,{key:v.id,item:v})))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Workspace")),je.default.createElement("div",{className:"space-y-1"},g.map(v=>je.default.createElement(h,{key:v.id,item:v}))))),je.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${l?"text-gray-500":"text-gray-400"}`},"Resources"),je.default.createElement("div",{className:"space-y-2"},je.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.docs),je.default.createElement("span",null,"Documentation")),je.default.createElement("a",{href:"https://github.com/activeagents/activeagent",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.github),je.default.createElement("span",null,"GitHub")))),je.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs ${l?"text-gray-500":"text-gray-400"}`},"Active Agent ",o?`v${o}`:"")))}var xt=te(ne());function y_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,xt.useState)(!1),i=(0,xt.useRef)(null);(0,xt.useEffect)(()=>{function d(f){i.current&&!i.current.contains(f.target)&&o(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);let l=window.ACTIVE_AGENT_DASHBOARD?.meta?.signOutPath,s=()=>{if(!l)return;let d=document.querySelector('meta[name="csrf-token"]')?.content,f=document.createElement("form");f.method="POST",f.action=l;let p=document.createElement("input");p.type="hidden",p.name="_method",p.value="delete",f.appendChild(p);let m=document.createElement("input");m.type="hidden",m.name="authenticity_token",m.value=d,f.appendChild(m),document.body.appendChild(f),f.submit()},u=e?.name||e?.email?.split("@")[0]||"User",c=u.charAt(0).toUpperCase();return xt.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-4"}),xt.default.createElement("div",{className:"flex items-center space-x-4"},xt.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?xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.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"})):xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),xt.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},xt.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),xt.default.createElement("span",null,"Connected")),xt.default.createElement("div",{className:"relative",ref:i},xt.default.createElement("button",{onClick:()=>o(!a),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:a?r?"#252525":"#f3f4f6":"transparent"}},xt.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium text-sm"},c))),a&&xt.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"}},xt.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-3"},xt.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium"},c)),xt.default.createElement("div",null,xt.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},u),xt.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),l&&xt.default.createElement("div",{className:"py-1"},xt.default.createElement("button",{onClick:s,className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${r?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},xt.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xt.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"})),xt.default.createElement("span",null,"Sign out")))))))}var Ae=te(ne());var $e=te(ne());var h_=150,Pue=e=>e.reduce((t,r)=>t+(Number(r)||0),0),Due=e=>e.length?Pue(e)/e.length:0,Oo=e=>e.reduce((t,r)=>r!=null&&Number(r)>t?Number(r):t,0),x_=e=>{if(!(e>0))return 1;let t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=2.5?2.5:r<=5?5:10)*t},tc=(e,t)=>[0,25,50,75,100].map(r=>({top:r,label:t(e*(1-r/100))})),Iue=4,Kf=e=>Math.max(Iue,x_(e)),z$=(e,t=2,r=6)=>{let n=e/4;for(let a=t;aMath.abs(n*i-Number((n*i).toFixed(a)))<=n*.1))return a;return r},jue=5.5,zue=12,Lue=(e,t)=>{let r=!!e.flip;if(!(t>0))return r;let n=String(e.label||"").length*jue+zue,a=Number(e.left)/100*t,o=t-a;return r?!(aa):oo},Bue=typeof window>"u"?$e.useEffect:$e.useLayoutEffect,$ue=e=>{let[t,r]=(0,$e.useState)(0);return Bue(()=>{let n=e.current;if(!n)return;let a=()=>r(n.clientWidth);if(a(),typeof ResizeObserver>"u")return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a);let o=new ResizeObserver(a);return o.observe(n),()=>o.disconnect()},[e]),t},rc=(e,t)=>{let r=e.length,n=[];return e.forEach((a,o)=>{if(a==null||Number.isNaN(Number(a)))return;let i=r>1?o/(r-1)*100:50,l=100-Math.min(100,Math.max(0,Number(a)/t*100));n.push(`${i.toFixed(2)},${l.toFixed(2)}`)}),n.join(" ")},G1=(e,t)=>{let r=rc(e,t);return r?`0,100 ${r} 100,100`:""},L$=(e,t=24)=>{let r=e.length;if(!r)return"";let n=r/t,a=Array.from({length:t},(l,s)=>{let u=Math.floor(s*n),c=Math.max(u+1,Math.floor((s+1)*n));return Due(e.slice(u,c).filter(d=>d!=null))}),o=Math.max(...a),i=Math.min(...a);return a.map((l,s)=>`${(s/(t-1)*100).toFixed(1)},${(26-(o===i?.5:(l-i)/(o-i))*24).toFixed(1)}`).join(" ")},ng=(e,t,r)=>{let n=e.length?e[0].data.length:0;return Array.from({length:n},(a,o)=>({title:r(o),segs:e.map(i=>({h:(Number(i.data[o])||0)/t*100,color:i.color}))}))};function B$({label:e,value:t,unit:r,sub:n,delta:a,deltaColor:o,deltaSub:i,spark:l,sparkColor:s}){return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},$e.default.createElement(rt,{size:11,spacing:"0.05em"},e),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:o,whiteSpace:"nowrap"}},a)),$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6}},$e.default.createElement("span",{style:{fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},t),r?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},r):null),$e.default.createElement("div",{title:n,style:{fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},n),$e.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:8,marginTop:2}},$e.default.createElement("svg",{viewBox:"0 0 100 28",preserveAspectRatio:"none","aria-hidden":"true",style:{flex:1,height:28,minWidth:0,display:"block",overflow:"visible"}},$e.default.createElement("polyline",{points:l,fill:"none",stroke:s,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),$e.default.createElement("span",{style:{fontSize:10,color:"var(--color-text-muted)",whiteSpace:"nowrap"}},i)))}function $$({title:e,sub:t,value:r,valueColor:n="var(--color-text-primary)",legend:a=[],ticks:o=[],buckets:i=[],lines:l=[],areas:s=[],markers:u=[],xLabels:c=[],height:d=h_}){let f=(0,$e.useRef)(null),p=$ue(f),m="1px dashed var(--color-text-secondary)";return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{minWidth:0,display:"flex",flexDirection:"column",gap:8}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap"}},$e.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},e),$e.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},t),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:12,fontWeight:600,color:n,whiteSpace:"nowrap"}},r)),$e.default.createElement("div",{style:{display:"flex",gap:12,flexWrap:"wrap"}},a.map(g=>$e.default.createElement("span",{key:g.label,style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:ye,fontSize:10,color:"var(--color-text-secondary)"}},$e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:g.color,flexShrink:0}}),g.label))),$e.default.createElement("div",{ref:f,style:{position:"relative",height:d,margin:"6px 0 0 40px"}},o.map(g=>$e.default.createElement("div",{key:g.top,style:{position:"absolute",left:0,right:0,top:`${g.top}%`,borderTop:"1px solid var(--color-border-light)"}},$e.default.createElement("span",{style:{position:"absolute",right:"calc(100% + 6px)",top:-6,whiteSpace:"nowrap",fontFamily:ye,fontSize:10,lineHeight:"12px",color:"var(--color-text-muted)"}},g.label))),i.length>0&&$e.default.createElement("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"stretch",gap:1}},i.map((g,h)=>$e.default.createElement("div",{key:h,title:g.title,style:{flex:1,minWidth:0,display:"flex",flexDirection:"column-reverse"}},g.segs.map((v,y)=>$e.default.createElement("div",{key:y,style:{height:`${v.h.toFixed(2)}%`,background:v.color,flexShrink:0}}))))),(l.length>0||s.length>0)&&$e.default.createElement("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"}},s.map((g,h)=>$e.default.createElement("polygon",{key:h,points:g.points,fill:g.color,opacity:"0.16"})),l.map((g,h)=>$e.default.createElement("polyline",{key:h,points:g.points,fill:"none",stroke:g.color,strokeWidth:g.width||1.5,strokeLinejoin:"round",strokeLinecap:"round",vectorEffect:"non-scaling-stroke"}))),u.map((g,h)=>{let v=Lue(g,p),y=`${Number(g.left).toFixed(2)}%`;return $e.default.createElement("div",{key:h,style:{position:"absolute",top:0,bottom:0,pointerEvents:"none",...v?{left:0,width:y,borderRight:m}:{left:y,right:0,borderLeft:m}}},$e.default.createElement("span",{style:{position:"absolute",top:-4,[v?"right":"left"]:4,maxWidth:"calc(100% - 8px)",boxSizing:"border-box",overflow:"hidden",textOverflow:"ellipsis",fontFamily:ye,fontSize:9,lineHeight:"12px",color:"var(--color-text-secondary)",whiteSpace:"nowrap",background:"var(--color-card)",padding:"0 4px",borderRadius:3}},g.label))})),$e.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginLeft:40,fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},c.map((g,h)=>$e.default.createElement("span",{key:h},g))))}function qf({label:e,qualifier:t,meta:r,children:n}){return $e.default.createElement(yr,{padding:0,style:{overflow:"hidden"}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,padding:"10px 14px",borderBottom:"1px solid var(--color-border-light)"}},$e.default.createElement(rt,null,e),t?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t):null,r?$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},r):null),n)}function b_({template:e,columns:t}){return $e.default.createElement("div",{style:{display:"grid",gridTemplateColumns:e,gap:8,padding:"6px 14px 4px",fontFamily:ye,fontSize:10,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--color-text-muted)"}},$e.default.createElement("span",null),t.map(r=>$e.default.createElement("span",{key:r,style:{textAlign:"right"}},r)))}function X1({template:e,active:t=!1,onClick:r,title:n,padding:a="8px 14px",children:o}){let i=typeof r=="function";return $e.default.createElement("div",{role:i?"button":void 0,tabIndex:i?0:void 0,"aria-pressed":i?t:void 0,onClick:r,onKeyDown:i?s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),r(s))}:void 0,title:n,className:i?"hover:bg-[var(--color-hover)]":void 0,style:{display:"grid",gridTemplateColumns:e,gap:8,alignItems:"center",padding:a,borderTop:"1px solid var(--color-border-light)",cursor:i?"pointer":"default",background:t?"var(--color-muted)":void 0}},o)}function w_({children:e,padding:t="8px 14px"}){return $e.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:t,borderTop:"1px solid var(--color-border-light)"}},e)}function ag({children:e}){return $e.default.createElement("div",{style:{padding:"12px 14px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},e)}function S_({color:e}){return $e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:e,flexShrink:0}})}function A_({pct:e,color:t}){return $e.default.createElement("div",{style:{marginTop:5,height:3,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},$e.default.createElement("div",{style:{width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function k_({pct:e,color:t,width:r=70}){return $e.default.createElement("span",{style:{width:r,height:4,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0,display:"inline-block"}},$e.default.createElement("span",{style:{display:"block",width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function co({children:e,color:t="var(--color-text-primary)",weight:r=400,width:n,style:a}){return $e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:r,textAlign:"right",color:t,width:n,...a}},e)}var H$=6e4,Uue=1180,Gf={"1h":{n:60,seconds:60,bucket:"1 min",prev:"vs previous hour",title:"last hour"},"24h":{n:96,seconds:900,bucket:"15 min",prev:"vs previous 24h",title:"last 24 hours"},"7d":{n:84,seconds:7200,bucket:"2 h",prev:"vs previous 7 days",title:"last 7 days"}},Fue=Object.keys(Gf).map(e=>({value:e,label:e})),C_="24h",Yf=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-5)","var(--chart-4)"],og=[{type:"429 rate limit",short:"429",color:"var(--color-error)"},{type:"timeout",short:"timeout",color:"var(--color-warning)"},{type:"tool error",short:"tool error",color:"var(--span-tool)"},{type:"provider 5xx",short:"5xx",color:"var(--color-token-out)"},{type:"other",short:"error",color:"var(--color-text-muted)"}],U$=e=>og.find(t=>t.type===e)?.color||"var(--color-text-muted)",Wue=3,Q1="var(--color-text-primary)",Hue={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},Vue=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],N_=e=>String(e).padStart(2,"0"),Xe=e=>e==null||Number.isNaN(Number(e))?0:Number(e),Kue=e=>e.reduce((t,r)=>t+Xe(r),0),F$=e=>`${Xe(e).toFixed(1)}%`,Z1=(e,t)=>`${e} ${t}${e===1?"":"s"}`,que=e=>e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`,Yue=(e,t)=>{let r=Array.isArray(e)?[...e]:[];return t.forEach(n=>{n.name&&!r.some(a=>a.name===n.name)&&r.push(n)}),r},Gue=e=>{let t=String(e.label||"incident"),r=og.find(n=>t.startsWith(n.type));return r&&(t=`${r.short}${t.slice(r.type.length)}`),e.agent&&!t.includes(e.agent)?`${t} \xB7 ${e.agent}`:t},Xue=e=>{let t=Xe(e);return t<60?`${t}s`:t<3600?`${+(t/60).toFixed(1)} min`:`${+(t/3600).toFixed(1)} h`},W$=async e=>{let t=await fetch(`/api/metrics?${e.toString()}`);if(!t.ok)throw new Error(`Request failed (${t.status})`);return t.json()},Zue=(e,t,r=Date.now())=>{let n=Math.max(1,Xe(t))*1e3,a=Math.max(1,Math.round(Xe(e)*6e4/n)),o=Math.floor(r/n)*n;return Array.from({length:a},(i,l)=>({ts:new Date(o-(a-1-l)*n).toISOString()}))},Que=(e,t)=>{let r=e.summary||{},n=Gf[e.range]||Gf[t]||Gf[C_],a=Xe(e.bucket_seconds)||n.seconds,o=Xe(e.window_minutes)||(e.window_hours?Xe(e.window_hours)*60:n.n*n.seconds/60),i=Array.isArray(e.series)?e.series:Zue(o,a),l=Xe(e.totals?.requests??r.total_requests),s=Xe(e.totals?.cost??r.total_cost),u={requests:l,requests_per_minute:o?l/o:0,p50_ms:null,p95_ms:null,p99_ms:null,errors:Xe(r.errors),error_rate:Xe(r.error_rate),tokens_in:Xe(r.tokens_input),tokens_out:Xe(r.tokens_output),tokens:Xe(r.tokens_used),cost:s,cost_per_request:l?s/l:0,tool_calls:0,tool_errors:0,tool_error_rate:0,...e.totals||{}},c={requests_pct:r.requests_change??null,p50_pct:r.latency_change??null,error_rate_pt:null,tokens_pct:null,cost_pct:null,...e.deltas||{}},d=Array.isArray(e.agents)?e.agents:(e.by_agent||[]).map(p=>({name:p.name,requests:Xe(p.requests),share_pct:l?Xe(p.requests)/l*100:0,p95_ms:null,error_rate:p.requests?Xe(p.errors)/Xe(p.requests)*100:0,cost:Xe(p.cost),tokens:Xe(p.tokens)})),f=Array.isArray(e.errors_by_type)&&e.errors_by_type.length?e.errors_by_type:og.map(p=>({type:p.type,count:0}));return{range:e.range||t,bucketSeconds:a,windowMinutes:o,agent:e.agent||null,environment:e.environment||null,totals:u,deltas:c,series:i,agents:d,models:Array.isArray(e.models)?e.models:[],actions:Array.isArray(e.actions)?e.actions:[],tools:Array.isArray(e.tools)?e.tools:[],errorsByType:f,markers:Array.isArray(e.markers)?e.markers:[]}},V$=e=>{let t=Gf[e.range];if(t)return t;let r=Math.max(1,Math.round(e.windowMinutes/60));return{bucket:Xue(e.bucketSeconds),prev:`vs previous ${r}h`,title:`last ${r} hours`}},Jue=e=>{let[t,r]=(0,Ae.useState)(()=>typeof window<"u"&&window.innerWidth{let n=window.matchMedia(`(max-width: ${e-1}px)`),a=()=>r(n.matches);return a(),n.addEventListener("change",a),()=>n.removeEventListener("change",a)},[e]),t};function E_(){let[e,t]=(0,Ae.useState)(C_),[r,n]=(0,Ae.useState)(""),[a,o]=(0,Ae.useState)(null),[i,l]=(0,Ae.useState)(!0),[s,u]=(0,Ae.useState)(null),[c,d]=(0,Ae.useState)(!1),f=(0,Ae.useRef)(0),p=Jue(Uue),m=(0,Ae.useRef)(null),g=(0,Ae.useCallback)(async()=>{let S=++f.current;try{let w=new URLSearchParams({range:e});r&&w.set("agent",r);let[O,k]=await Promise.all([W$(w),r?W$(new URLSearchParams({range:e})).catch(()=>null):null]);if(S!==f.current)return;let A=r?k?.agents:O.agents;Array.isArray(A)&&(m.current=A),o({data:O,ranking:Array.isArray(A)?A:m.current}),u(null)}catch(w){if(S!==f.current)return;u(w.message)}finally{S===f.current&&l(!1)}},[e,r]);(0,Ae.useEffect)(()=>{let S=!1;d(!0),g().finally(()=>{S||d(!1)});let w=setInterval(g,H$);return()=>{S=!0,clearInterval(w)}},[g]);let h=(0,Ae.useMemo)(()=>a?Que(a.data,e):null,[a,e]),v=(0,Ae.useMemo)(()=>h?h.agent?Yue(a.ranking,h.agents):h.agents:[],[h,a]),y=(0,Ae.useMemo)(()=>v.map(S=>S.name).filter(Boolean),[v]),b=(0,Ae.useMemo)(()=>{let S=Object.fromEntries(y.map((O,k)=>[O,Yf[k%Yf.length]])),w=y.length;return(h?h.agents:[]).forEach(O=>{O.name&&!S[O.name]&&(S[O.name]=Yf[w++%Yf.length])}),O=>S[O]||Yf[0]},[y,h]),x=(0,Ae.useMemo)(()=>h?ece(h,b):null,[h,b]);return i?Ae.default.createElement("div",{className:"flex items-center justify-center h-64"},Ae.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):s||!h?Ae.default.createElement("div",null,Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:Q1}},"Metrics"),Ae.default.createElement("div",{style:{marginTop:16,padding:"12px 16px",background:"var(--color-error-soft)",borderRadius:8,color:"var(--color-error-text)",fontSize:14}},"Failed to load metrics",s?`: ${s}`:"")):Ae.default.createElement(Rue,{m:h,view:x,railAgents:v,range:Gf[e]?e:C_,agent:r,agentOptions:r&&!y.includes(r)?[...y,r]:y,colorFor:b,narrow:p,pending:c,onRange:t,onAgent:n})}function Rue({m:e,view:t,railAgents:r=e.agents,range:n,agent:a,agentOptions:o,colorFor:i,narrow:l,pending:s=!1,onRange:u,onAgent:c}){let d=V$(e),f=e.totals.requests===0,p=m=>c(a===m?"":m);return Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:1600,boxSizing:"border-box",color:Q1,fontSize:13}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},Ae.default.createElement("div",{style:{flex:1,minWidth:240}},Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em"}},"Metrics"),Ae.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)"}},"Requests, latency, errors, tokens and cost across every agent \u2014 ",d.title,a?` \xB7 ${a}`:"")),Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ae.default.createElement("select",{value:a,onChange:m=>c(m.target.value),"aria-label":"Filter by agent",style:{padding:"6px 10px",borderRadius:8,fontSize:13,fontFamily:"inherit",border:"1px solid var(--color-border-strong)",background:"var(--color-card)",color:Q1,cursor:"pointer"}},Ae.default.createElement("option",{value:""},"All agents"),o.map(m=>Ae.default.createElement("option",{key:m,value:m},m))),e.environment&&Ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,color:"var(--color-text-cell)",background:"var(--color-card)"}},Ae.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"env"),e.environment),Ae.default.createElement(j1,{options:Fue,value:n,onChange:u}),Ae.default.createElement("span",{title:s?"loading\u2026":`refreshes every ${H$/1e3}s`,style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Ae.default.createElement("span",{style:{width:7,height:7,borderRadius:"50%",background:s?"var(--color-text-muted)":"var(--color-success)"}}),"live \xB7 ",d.bucket," buckets"))),f?Ae.default.createElement(yr,{style:{padding:"40px 24px",textAlign:"center",fontSize:14,color:"var(--color-text-secondary)"}},"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace",Ae.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},a||"all agents"," \xB7 ",d.title)):Ae.default.createElement(Ae.default.Fragment,null,Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:12,opacity:s?.6:1}},t.signals.map(m=>Ae.default.createElement(B$,{key:m.label,...m,deltaSub:d.prev}))),Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:l?"minmax(0, 1fr)":"minmax(0, 2.3fr) minmax(300px, 1fr)",gap:16,alignItems:"start",opacity:s?.6:1}},Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:16,minWidth:0}},t.panels.map(m=>Ae.default.createElement($$,{key:m.title,...m,xLabels:t.xLabels,height:h_}))),Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0}},Ae.default.createElement(qf,{label:"Agents",qualifier:"by requests \xB7 click to filter"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 44px 40px 52px",columns:["req","p95","err","cost"]}),r.length===0&&Ae.default.createElement(ag,null,"no agents in this window"),r.map(m=>Ae.default.createElement(X1,{key:m.name,template:"minmax(0, 1fr) 44px 44px 40px 52px",active:a===m.name,onClick:()=>p(m.name),title:a===m.name?"Show all agents":`Filter to ${m.name}`},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0}},Ae.default.createElement(S_,{color:i(m.name)}),Ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name)),Ae.default.createElement(A_,{pct:m.share_pct,color:i(m.name)})),Ae.default.createElement(co,null,hr(m.requests)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(m.p95_ms)),Ae.default.createElement(co,{color:Xe(m.error_rate)>=1.5?"var(--color-error-text)":"var(--color-text-secondary)"},F$(m.error_rate)),Ae.default.createElement(co,null,Zv(m.cost))))),Ae.default.createElement(qf,{label:"Models",qualifier:"by tokens"},e.models.length===0&&Ae.default.createElement(ag,null,"no model usage in this window"),e.models.map((m,g)=>Ae.default.createElement(X1,{key:`${m.model}-${m.provider}-${g}`,template:"minmax(0, 1fr) 52px 56px"},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,minWidth:0}},Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.model||"unknown"),m.provider&&Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},m.provider)),Ae.default.createElement(A_,{pct:m.share_pct,color:"var(--color-token-in)"})),Ae.default.createElement(co,null,hr(m.tokens)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Zv(m.cost))))),Ae.default.createElement(qf,{label:"Slowest actions",qualifier:"p95"},e.actions.length===0&&Ae.default.createElement(ag,null,"no actions in this window"),e.actions.map(m=>Ae.default.createElement(w_,{key:m.name},Ae.default.createElement("span",{title:m.name,style:{flex:1,minWidth:0,fontFamily:ye,fontSize:11,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ae.default.createElement(k_,{pct:t.slowestP95?Xe(m.p95_ms)/t.slowestP95*100:0,color:i(m.agent)}),Ae.default.createElement(co,{weight:600,width:40},Qr(m.p95_ms))))),Ae.default.createElement(qf,{label:"Tools",qualifier:"by calls"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 48px 40px",columns:["calls","avg","err"]}),e.tools.length===0&&Ae.default.createElement(ag,null,"no tool calls in this window"),e.tools.map(m=>Ae.default.createElement(X1,{key:m.name,template:"minmax(0, 1fr) 44px 48px 40px",padding:"7px 14px"},Ae.default.createElement("span",{title:m.name,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--span-tool)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ae.default.createElement(co,null,hr(m.calls)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(m.avg_ms)),Ae.default.createElement(co,{color:Xe(m.error_rate)>=2?"var(--color-error-text)":"var(--color-text-secondary)"},F$(m.error_rate))))),Ae.default.createElement(qf,{label:"Errors by type",meta:`${Math.round(e.totals.errors)} total`},e.errorsByType.map(m=>Ae.default.createElement(w_,{key:m.type},Ae.default.createElement(S_,{color:U$(m.type)}),Ae.default.createElement("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--color-text-cell)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.type),Ae.default.createElement(k_,{pct:t.errorTotal?Xe(m.count)/t.errorTotal*100:0,color:U$(m.type)}),Ae.default.createElement(co,{weight:600,width:32},Math.round(Xe(m.count))))))))))}function ece(e,t){let{series:r,totals:n,deltas:a}=e,o=r.length,i=V$(e),l=r.map(E=>new Date(E.ts)),s=e.windowMinutes>=2880,u=E=>Number.isNaN(E.getTime())?"":s?`${Vue[E.getDay()]} ${N_(E.getHours())}h`:`${N_(E.getHours())}:${N_(E.getMinutes())}`,c=o?[0,1,2,3,4,5,6].map(E=>E===6?"now":u(l[Math.round(E*(o-1)/6)])):[],d=E=>r.map(Z=>Xe(Z[E])),f=d("requests"),p=d("errors"),m=d("tokens_in"),g=d("tokens_out"),h=d("cost"),v=d("tool_calls"),y=d("tool_errors"),b=E=>r.map(Z=>Z[E]==null?null:Xe(Z[E])),x=b("p50_ms"),S=b("p95_ms"),w=b("p99_ms"),O=r.map(E=>E.requests_by_agent||{}),k=e.agents.map(E=>E.name).filter(Boolean);O.forEach(E=>Object.keys(E).forEach(Z=>{k.includes(Z)||k.push(Z)}));let A=k.length?k.map(E=>({label:E,color:t(E),data:O.map(Z=>Xe(Z[E]))})):[{label:"requests",color:Yf[0],data:f}],M=og.map(E=>({label:E.type,color:E.color,data:r.map(Z=>Xe((Z.errors_by_type||{})[E.type]))})),W=(Xe(e.bucketSeconds)||(o>1?(l[1]-l[0])/1e3:0))*1e3,L=(E,Z)=>{if(!E||o<2||!W)return null;let ge=new Date(E.ts).getTime();if(Number.isNaN(ge))return null;let nt=Math.min(o-1,Math.max(0,Math.floor((ge-l[0].getTime())/W)))/(o-1);return{left:nt*100,label:Z,flip:nt>.55}},H=e.markers.filter(E=>E.kind==="deploy").sort((E,Z)=>new Date(E.ts)-new Date(Z.ts)).slice(-Wue).map(E=>L(E,E.label)).filter(Boolean),D=e.markers.find(E=>E.kind==="incident"),Y=D?L(D,Gue(D)):null,N=Y?[Y]:[],_=Kf(Oo(f)*1.1),z=Kf(Oo(p)*1.15),j=Kf(Math.max(Oo(w),Oo(S),Oo(x))*1.05),P=Kf(Math.max(Oo(m),Oo(g))*1.1),B=x_(Oo(h)*1.1),R=z$(B),F=Kf(Oo(v)*1.1),G=Xe(n.requests),ee=Xe(n.requests_per_minute),fe=Xe(n.errors),de=Xe(n.error_rate),De=Xe(n.tokens)||Xe(n.tokens_in)+Xe(n.tokens_out),le=Xe(n.cost),Te=n.cost_per_request!=null?Xe(n.cost_per_request):G?le/G:0,K=Xe(n.tool_calls),I=n.tool_error_rate!=null?Xe(n.tool_error_rate):K?Xe(n.tool_errors)/K*100:0,C=Xe(e.errorsByType.find(E=>E.type===og[0].type)?.count),T=[{title:"Requests",sub:`per ${i.bucket} \xB7 stacked by agent`,value:`${hr(G)} \xB7 ${ee.toFixed(1)}/min`,legend:A.map(E=>({label:E.label,color:E.color})),ticks:tc(_,hr),buckets:ng(A,_,E=>`${u(l[E])} \xB7 ${Math.round(f[E])} req`),markers:H},{title:"Latency",sub:"generation percentiles",value:`p50 ${Qr(n.p50_ms)}`,legend:[{label:`p50 ${Qr(n.p50_ms)}`,color:"var(--color-token-in)"},{label:`p95 ${Qr(n.p95_ms)}`,color:"var(--color-warning)"},{label:`p99 ${Qr(n.p99_ms)}`,color:"var(--color-error)"}],ticks:tc(j,que),lines:[{points:rc(w,j),color:"var(--color-error)",width:1.5},{points:rc(S,j),color:"var(--color-warning)",width:1.5},{points:rc(x,j),color:"var(--color-token-in)",width:2}],areas:[{points:G1(x,j),color:"var(--color-token-in)"}],markers:N},{title:"Errors",sub:`per ${i.bucket} \xB7 by type`,value:`${de.toFixed(2)}% \xB7 ${Z1(Math.round(fe),"error")}`,valueColor:de>1?"var(--color-error)":Q1,legend:M.map(E=>({label:E.label,color:E.color})),ticks:tc(z,E=>String(Math.round(E))),buckets:ng(M,z,E=>`${u(l[E])} \xB7 ${Z1(Math.round(p[E]),"error")}`),markers:N},{title:"Tokens",sub:`per ${i.bucket} \xB7 input / output`,value:`${hr(De)} \xB7 in ${hr(n.tokens_in)} / out ${hr(n.tokens_out)}`,legend:[{label:"input",color:"var(--color-token-in)"},{label:"output",color:"var(--color-token-out)"}],ticks:tc(P,hr),lines:[{points:rc(m,P),color:"var(--color-token-in)",width:1.5},{points:rc(g,P),color:"var(--color-token-out)",width:1.5}],areas:[{points:G1(m,P),color:"var(--color-token-in)"},{points:G1(g,P),color:"var(--color-token-out)"}]},{title:"Cost",sub:`estimated \xB7 per ${i.bucket}`,value:`${Zv(le)} \xB7 ${uo(Te)}/req`,legend:[{label:"spend",color:"var(--color-text-secondary)"}],ticks:tc(B,E=>uo(E,R)),buckets:ng([{color:"var(--color-text-secondary)",data:h}],B,E=>`${u(l[E])} \xB7 ${uo(h[E],R)}`)},{title:"Tool calls",sub:`per ${i.bucket} \xB7 MCP + agent-defined`,value:`${hr(K)} \xB7 ${I.toFixed(1)}% errors`,legend:[{label:"calls",color:"var(--span-tool)"},{label:"errors",color:"var(--color-error)"}],ticks:tc(F,hr),buckets:ng([{color:"var(--span-tool)",data:v.map((E,Z)=>Math.max(0,E-y[Z]))},{color:"var(--color-error)",data:y}],F,E=>`${u(l[E])} \xB7 ${Z1(Math.round(v[E]),"call")}`)}],X=(E,Z,ge)=>{let Le=E==null?null:Xe(E);return Le==null||Le===0?"muted":Z&&Z(Le)?"success":ge&&ge(Le)?"error":"muted"},$=(E,Z,ge,Le,nt,Bt,ft,En)=>({label:E,value:Z,unit:ge,sub:Le,delta:nt,deltaColor:Hue[Bt],spark:L$(ft),sparkColor:En});return{signals:[$("Requests",hr(G),"",`${ee.toFixed(1)} req/min`,Wf(a.requests_pct),X(a.requests_pct,E=>E>0,null),f,"var(--color-token-in)"),$("Latency",Qr(n.p50_ms),"p50",`p95 ${Qr(n.p95_ms)} \xB7 p99 ${Qr(n.p99_ms)}`,Wf(a.p50_pct),X(a.p50_pct,E=>E<0,E=>E>0),x,"var(--color-token-in)"),$("Error rate",de.toFixed(2),"%",`${Z1(Math.round(fe),"error")} \xB7 ${Math.round(C)} rate-limited`,Wf(a.error_rate_pt," pt",1),X(a.error_rate_pt,E=>E<0,E=>E>0),p,"var(--color-error)"),$("Tokens",hr(De),"",`in ${hr(n.tokens_in)} \xB7 out ${hr(n.tokens_out)}`,Wf(a.tokens_pct),"muted",m.map((E,Z)=>E+g[Z]),"var(--color-token-in)"),$("Cost",Zv(le),"",`${uo(Te)} per request`,Wf(a.cost_pct),"muted",h,"var(--color-text-secondary)")],panels:T,xLabels:c,slowestP95:Oo(e.actions.map(E=>E.p95_ms)),errorTotal:Kue(e.errorsByType.map(E=>E.count))}}var ke=te(ne());var tce=6e4,rce=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],K$={mcp:{light:"#7c3aed",dark:"#c4b5fd",bgLight:"#f5f3ff",bgDark:"rgba(124,58,237,0.15)"},builtin:{light:"#2563eb",dark:"#93c5fd",bgLight:"#eff6ff",bgDark:"rgba(37,99,235,0.15)"},agent:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.12)"}},ig=e=>e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),q$=e=>e==null?"\u2014":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`,nce=e=>{if(!e)return"\u2014";let t=new Date(e),r=Math.round((Date.now()-t.getTime())/6e4);if(r<1)return"just now";if(r<60)return`${r}m ago`;let n=Math.round(r/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`};function __({onOpenServer:e}){let{darkMode:t}=kt(),[r,n]=(0,ke.useState)(null),[a,o]=(0,ke.useState)(!0),[i,l]=(0,ke.useState)(null),[s,u]=(0,ke.useState)("all"),[c,d]=(0,ke.useState)(""),[f,p]=(0,ke.useState)(168),[m,g]=(0,ke.useState)(null),h=(0,ke.useCallback)(async()=>{try{let A=new URLSearchParams({hours:String(f)});s!=="all"&&A.set("origin",s),c.trim()&&A.set("q",c.trim());let M=await fetch(`/api/tools?${A}`);if(!M.ok)throw new Error(`Request failed (${M.status})`);n(await M.json()),l(null)}catch(A){l(A.message)}finally{o(!1)}},[s,c,f]);(0,ke.useEffect)(()=>{let A=setTimeout(h,c?250:0);return()=>clearTimeout(A)},[h,c]),(0,ke.useEffect)(()=>{let A=setInterval(h,tce);return()=>clearInterval(A)},[h]);let v={bg:t?"transparent":"#f9fafb",cardBg:t?"rgba(255,255,255,0.05)":"#ffffff",border:t?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:t?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af",textCell:t?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:t?"rgba(239,68,68,0.2)":"#fef2f2",inputBg:t?"rgba(255,255,255,0.06)":"#ffffff"},y=A=>{let M=K$[A]||K$.agent;return{fg:t?M.dark:M.light,bg:t?M.bgDark:M.bgLight}};if(a&&!r)return ke.default.createElement("div",{className:"flex items-center justify-center h-64"},ke.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(i&&!r)return ke.default.createElement("div",{style:{padding:"24px"}},ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),ke.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:v.errorBg,borderRadius:"8px",color:v.error,fontSize:"14px"}},"Failed to load tools: ",i));let{tools:b=[],summary:x={},origins:S={},sources:w={}}=r||{},O=!w.telemetry&&!w.generations&&!w.messages&&!w.declared,k=({label:A,value:M,hint:W,tone:L})=>ke.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${v.border}`}},ke.default.createElement("div",{style:{fontSize:"11px",color:v.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},A),ke.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:L||v.textPrimary}},M),W&&ke.default.createElement("div",{style:{fontSize:"13px",color:v.textSecondary,marginTop:"8px"}},W));return ke.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:v.bg}},ke.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${v.border}`,marginBottom:"16px"}},ke.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},ke.default.createElement("div",null,ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),ke.default.createElement("p",{style:{fontSize:"14px",color:v.textSecondary,marginTop:"4px"}},"Detected from telemetry spans, generation request bodies, and agent records \u2014 nothing to register by hand")),ke.default.createElement("div",{style:{display:"flex",gap:"4px"}},rce.map(A=>ke.default.createElement("button",{key:A.value,onClick:()=>p(A.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${f===A.value?"#ef4444":v.border}`,background:f===A.value?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:f===A.value?"#ef4444":v.textSecondary}},A.label))))),ke.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},ke.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},ke.default.createElement(k,{label:"Tools Detected",value:ig(x.total_tools),hint:`${x.active_tools||0} called in this window`}),ke.default.createElement(k,{label:"Tool Calls",value:ig(x.total_calls),hint:`${q$(x.avg_duration_ms)} average`}),ke.default.createElement(k,{label:"Error Rate",value:`${x.error_rate||0}%`,tone:x.error_rate>5?v.error:v.textPrimary,hint:`${x.total_errors||0} failed call${x.total_errors===1?"":"s"}`}),ke.default.createElement(k,{label:"From MCP",value:ig(x.mcp_tools),hint:`across ${x.mcp_servers_active||0} active server${x.mcp_servers_active===1?"":"s"}`}),ke.default.createElement(k,{label:"Never Called",value:ig(x.unused_tools),hint:"offered or configured, unused"})),ke.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap",alignItems:"center"}},Object.entries(S).map(([A,M])=>ke.default.createElement("button",{key:A,onClick:()=>u(A),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${s===A?"#ef4444":v.border}`,background:s===A?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:s===A?"#ef4444":v.textSecondary}},M)),ke.default.createElement("input",{value:c,onChange:A=>d(A.target.value),placeholder:"Filter by name\u2026",style:{marginLeft:"auto",padding:"6px 12px",fontSize:"13px",borderRadius:"6px",minWidth:"200px",border:`1px solid ${v.border}`,background:v.inputBg,color:v.textPrimary}})),ke.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",border:`1px solid ${v.border}`,overflow:"hidden"}},b.length===0?ke.default.createElement("div",{style:{textAlign:"center",padding:"48px 24px",color:v.textSecondary,fontSize:"14px"}},O?"No tool activity yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No tools match these filters"):ke.default.createElement("div",{style:{overflowX:"auto"}},ke.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:"760px"}},ke.default.createElement("thead",null,ke.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:v.textSecondary,borderBottom:`1px solid ${v.border}`}},ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Tool"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Source"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Calls"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Errors"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Avg"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Last seen"))),ke.default.createElement("tbody",null,b.map((A,M)=>{let W=y(A.origin),L=m===A.name;return ke.default.createElement(ke.default.Fragment,{key:A.name},ke.default.createElement("tr",{onClick:()=>g(L?null:A.name),style:{borderBottom:M{H.stopPropagation(),A.mcp_server&&e&&e(A.mcp_server)},style:{fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:"none",background:W.bg,color:W.fg,fontFamily:"monospace",cursor:A.mcp_server&&e?"pointer":"default"},title:A.mcp_server?`Open ${A.mcp_server} in MCP Services`:A.source_label},A.source_label)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},ig(A.calls)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",fontFamily:"monospace",color:A.errors>0?v.error:v.textCell}},A.errors),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},q$(A.avg_duration_ms)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textMuted,fontSize:"13px"}},nce(A.last_seen))),L&&ke.default.createElement("tr",{style:{borderBottom:Mke.default.createElement("span",{key:A,style:{color:w[A]?v.textSecondary:v.textMuted,opacity:w[A]?1:.5}},w[A]?"\u25CF":"\u25CB"," ",M)))))}function ace({tool:e,colors:t,tone:r,darkMode:n}){let a=({label:o,children:i})=>ke.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},ke.default.createElement("span",{style:{color:t.textMuted,minWidth:"108px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},o),ke.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},i));return ke.default.createElement("div",{style:{display:"grid",gap:"8px",padding:"12px 16px",borderRadius:"8px",background:n?"rgba(0,0,0,0.25)":"#ffffff",border:`1px solid ${t.border}`}},ke.default.createElement(a,{label:"Full name"},ke.default.createElement("code",{style:{fontFamily:"monospace"}},e.name)),e.description&&ke.default.createElement(a,{label:"Description"},e.description),ke.default.createElement(a,{label:"Parameters"},e.parameters?.length>0?ke.default.createElement("code",{style:{fontFamily:"monospace",color:r.fg}},e.parameters.join(", ")):ke.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),ke.default.createElement(a,{label:"Agents"},e.agents?.length>0?e.agents.join(", "):ke.default.createElement("span",{style:{color:t.textMuted}},"\u2014")),e.configured_by?.length>0&&ke.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),ke.default.createElement(a,{label:"Call breakdown"},ke.default.createElement("span",{style:{fontFamily:"monospace"}},e.traced_calls," traced \xB7 ",e.requested," requested \xB7 ",e.results," results")),e.sample_arguments&&ke.default.createElement(a,{label:"Last arguments"},ke.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",color:t.textMuted}},e.sample_arguments)),e.last_error&&ke.default.createElement(a,{label:"Last error"},ke.default.createElement("span",{style:{color:t.error}},e.last_error)),ke.default.createElement(a,{label:"Detected from"},e.detected_from?.join(", ")||"\u2014"))}var Oe=te(ne());var oce=6e4,ice=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],lce=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],Y$={active:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.15)"},configured:{light:"#b45309",dark:"#fcd34d",bgLight:"#fffbeb",bgDark:"rgba(245,158,11,0.15)"},available:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"},idle:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"}},lg=e=>e==null?"0":e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e);function O_({focusServer:e,onOpenTools:t}){let{darkMode:r}=kt(),[n,a]=(0,Oe.useState)(null),[o,i]=(0,Oe.useState)(!0),[l,s]=(0,Oe.useState)(null),[u,c]=(0,Oe.useState)("all"),[d,f]=(0,Oe.useState)(168),[p,m]=(0,Oe.useState)(e||null),[g,h]=(0,Oe.useState)(null),[v,y]=(0,Oe.useState)(null),b=(0,Oe.useCallback)(async()=>{try{let D=await fetch(`/api/mcp_servers?hours=${d}`);if(!D.ok)throw new Error(`Request failed (${D.status})`);a(await D.json()),s(null)}catch(D){s(D.message)}finally{i(!1)}},[d]);(0,Oe.useEffect)(()=>{b();let D=setInterval(b,oce);return()=>clearInterval(D)},[b]),(0,Oe.useEffect)(()=>{e&&m(e)},[e]);let x={bg:r?"transparent":"#f9fafb",cardBg:r?"rgba(255,255,255,0.05)":"#ffffff",border:r?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:r?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",textCell:r?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:r?"rgba(239,68,68,0.2)":"#fef2f2",codeBg:r?"rgba(0,0,0,0.35)":"#f9fafb"},S=D=>{let Y=Y$[D]||Y$.available;return{fg:r?Y.dark:Y.light,bg:r?Y.bgDark:Y.bgLight}},w=async D=>{h(D.key),y(null);try{let Y=await fetch(`/api/mcp_servers/${encodeURIComponent(D.key)}/launch`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""}}),N=await Y.json();if(!Y.ok)throw new Error(N.reason||N.error||`Launch failed (${Y.status})`);y({kind:"ok",text:`${D.name} is starting in a sandbox (${N.sandbox.session_id.slice(0,8)}\u2026)`}),b()}catch(Y){y({kind:"error",text:Y.message})}finally{h(null)}};if(o&&!n)return Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(l&&!n)return Oe.default.createElement("div",{style:{padding:"24px"}},Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:x.errorBg,borderRadius:"8px",color:x.error,fontSize:"14px"}},"Failed to load MCP services: ",l));let{servers:O=[],summary:k={},sandboxes:A=[],statuses:M={}}=n||{},W=u==="all"?O:O.filter(D=>D.status===u),L=new Set(A.flatMap(D=>D.mcp_servers||[])),H=({label:D,value:Y,hint:N})=>Oe.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${x.border}`}},Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},D),Oe.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:x.textPrimary}},Y),N&&Oe.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"8px"}},N));return Oe.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:x.bg}},Oe.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${x.border}`,marginBottom:"16px"}},Oe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",null,Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("p",{style:{fontSize:"14px",color:x.textSecondary,marginTop:"4px"}},"Servers detected from your agents' traffic, plus the defaults you can connect or run in a sandbox")),Oe.default.createElement("div",{style:{display:"flex",gap:"4px"}},ice.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>f(D.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${d===D.value?"#ef4444":x.border}`,background:d===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:d===D.value?"#ef4444":x.textSecondary}},D.label))))),Oe.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Oe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Oe.default.createElement(H,{label:"Active",value:lg(k.active),hint:"called in this window"}),Oe.default.createElement(H,{label:"Configured",value:lg(k.configured),hint:"declared, no traffic yet"}),Oe.default.createElement(H,{label:"Available",value:lg(k.available),hint:"defaults you can connect"}),Oe.default.createElement(H,{label:"Tool Calls",value:lg(k.total_calls),hint:"through MCP servers"})),v&&Oe.default.createElement("div",{style:{marginBottom:"16px",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",background:v.kind==="error"?x.errorBg:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:v.kind==="error"?x.error:r?"#86efac":"#15803d"}},v.text),Oe.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap"}},lce.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>c(D.value),title:M[D.value]||"Every MCP service known to this workspace",style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${u===D.value?"#ef4444":x.border}`,background:u===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:u===D.value?"#ef4444":x.textSecondary}},D.label))),Oe.default.createElement("div",{style:{display:"grid",gap:"12px"}},W.length===0?Oe.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,textAlign:"center",padding:"48px 24px",color:x.textSecondary,fontSize:"14px"}},"No MCP services in this state"):W.map(D=>{let Y=S(D.status),N=p===D.key,_=L.has(D.key);return Oe.default.createElement("div",{key:D.key,style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${N?Y.fg:x.border}`,overflow:"hidden"}},Oe.default.createElement("div",{onClick:()=>m(N?null:D.key),style:{padding:"16px 20px",cursor:"pointer",display:"flex",alignItems:"center",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",{style:{flex:1,minWidth:"220px"}},Oe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontSize:"15px",fontWeight:"600",color:x.textPrimary}},D.name),Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:Y.bg,color:Y.fg,textTransform:"uppercase",letterSpacing:"0.04em"}},D.status),D.first_party&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(239,68,68,0.15)":"#fef2f2",color:"#ef4444"}},"first-party"),!D.known&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:x.borderLight,color:x.textMuted},title:"Seen in your traffic but not in the platform catalog"},"undocumented"),_&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:r?"#86efac":"#15803d"}},"\u25CF sandbox running")),D.description&&Oe.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"4px"}},D.description)),Oe.default.createElement("div",{style:{display:"flex",gap:"24px",alignItems:"center"}},Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:x.textPrimary}},lg(D.calls)),Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"calls")),Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:D.errors>0?x.error:x.textPrimary}},D.errors||0),Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"errors")),D.launchable&&Oe.default.createElement("button",{onClick:z=>{z.stopPropagation(),w(D)},disabled:g===D.key,style:{padding:"8px 14px",fontSize:"13px",borderRadius:"6px",border:"none",background:g===D.key?x.borderLight:"#ef4444",color:g===D.key?x.textMuted:"#ffffff",cursor:g===D.key?"wait":"pointer",fontWeight:"500",whiteSpace:"nowrap"},title:`Start ${D.name} in a sandbox session`},g===D.key?"Starting\u2026":_?"Start another":"Start in sandbox"))),N&&Oe.default.createElement(sce,{server:D,colors:x,tone:Y,onOpenTools:t}))})),A.length>0&&Oe.default.createElement("div",{style:{marginTop:"24px",background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,padding:"20px"}},Oe.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:x.textPrimary,margin:"0 0 12px 0"}},"Running sandboxes"),Oe.default.createElement("div",{style:{display:"grid",gap:"8px"}},A.map(D=>Oe.default.createElement("div",{key:D.session_id,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontSize:"13px",color:x.textCell,flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontFamily:"monospace"}},(D.mcp_servers||[]).join(", ")||D.sandbox_type),Oe.default.createElement("span",{style:{color:x.textMuted}},D.status," \xB7 ",D.runs_count,"/",D.max_runs," runs \xB7 expires ",new Date(D.expires_at).toLocaleTimeString())))))))}function sce({server:e,colors:t,tone:r,onOpenTools:n}){let a=({label:i,children:l})=>Oe.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Oe.default.createElement("span",{style:{color:t.textMuted,minWidth:"120px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},i),Oe.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},l)),o=e.command||e.url;return Oe.default.createElement("div",{style:{padding:"0 20px 20px 20px",display:"grid",gap:"10px"}},Oe.default.createElement("div",{style:{height:"1px",background:t.borderLight,marginBottom:"4px"}}),o&&Oe.default.createElement(a,{label:e.transport==="http"?"Endpoint":"Command"},Oe.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",padding:"4px 8px",borderRadius:"4px",background:t.codeBg,display:"inline-block"}},o)),e.transport&&Oe.default.createElement(a,{label:"Transport"},e.transport),e.categories?.length>0&&Oe.default.createElement(a,{label:"Categories"},e.categories.join(", ")),e.requires_credentials?.length>0&&Oe.default.createElement(a,{label:"Requires"},e.requires_credentials.join(", ")),Oe.default.createElement(a,{label:e.tool_count>0?"Tools used":"Tools offered"},e.tools?.length>0?Oe.default.createElement("span",{style:{display:"flex",gap:"6px",flexWrap:"wrap"}},e.tools.map(i=>Oe.default.createElement("code",{key:i,style:{fontFamily:"monospace",fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r.bg,color:r.fg}},i))):Oe.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),e.agents?.length>0&&Oe.default.createElement(a,{label:"Used by"},e.agents.join(", ")),e.configured_by?.length>0&&Oe.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),e.last_seen&&Oe.default.createElement(a,{label:"Last call"},new Date(e.last_seen).toLocaleString()),Oe.default.createElement("div",{style:{display:"flex",gap:"12px",marginTop:"4px",flexWrap:"wrap"}},e.docs_url&&Oe.default.createElement("a",{href:e.docs_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"#ef4444",textDecoration:"none"}},"Documentation \u2192"),e.calls>0&&n&&Oe.default.createElement("button",{onClick:()=>n(e.key),style:{fontSize:"13px",color:"#ef4444",background:"none",border:"none",padding:0,cursor:"pointer"}},"View its tools \u2192")))}var q=te(ne());var ks=te(ne());var R1={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},xr={log(...e){this.enabled&&(e.push(Date.now()),R1.logger.log("[ActionCable]",...e))}},ug=()=>new Date().getTime(),J1=e=>(ug()-e)/1e3,cg=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=ug(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),xr.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=ug(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),xr.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=ug()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,xr.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=ug(),xr.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)),o=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+o)}reconnectIfStale(){this.connectionIsStale()&&(xr.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${J1(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?xr.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${J1(this.disconnectedAt)} s`):(xr.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return J1(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&J1(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(xr.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};cg.staleThreshold=6;cg.reconnectionBackoffRate=.15;var X$={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:sg,protocols:T_}=X$,uce=T_.slice(0,T_.length-1),G$=[].indexOf,dg=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new cg(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return xr.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...T_,...this.consumer.subprotocols||[]];return xr.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new R1.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(xr.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){xr.log("Failed to reopen WebSocket",t)}finally{xr.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 G$.call(uce,this.getProtocol())>=0}isState(...t){return G$.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in R1.WebSocket)if(R1.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let r=this.events[t].bind(this);this.webSocket[`on${t}`]=r}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};dg.reopenDelay=500;dg.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:a,type:o}=JSON.parse(e.data);switch(this.monitor.recordMessage(),o){case sg.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case sg.disconnect:return xr.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:a});case sg.ping:return null;case sg.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 sg.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(xr.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return xr.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(xr.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){xr.log("WebSocket onerror event")}};var cce=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},M_=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),cce(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)}},P_=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(xr.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):xr.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){xr.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=>{xr.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},D_=class{constructor(t){this.consumer=t,this.guarantor=new P_(this),this.subscriptions=[]}create(t,r){let n=t,a=typeof n=="object"?n:{channel:n},o=new M_(this.consumer,a,r);return this.add(o)}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((o=>typeof o[r]=="function"?o[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){xr.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})}},I_=class{constructor(t){this._url=t,this.subscriptions=new D_(this),this.connection=new dg(this),this.subprotocols=[]}get url(){return dce(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 dce(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 Z$(e=fce("url")||X$.default_mount_path){return new I_(e)}function fce(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var ew=null;function pce(){if(ew===null)try{ew=Z$()}catch{ew=!1}return ew||null}function Q$(e,t,r,n=!0){let a=(0,ks.useRef)(null),o=(0,ks.useRef)(r);return(0,ks.useEffect)(()=>{o.current=r},[r]),(0,ks.useEffect)(()=>{if(!n||!e)return;let l=pce();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),o.current&&o.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,ks.useCallback)((l,s)=>{a.current&&a.current.perform(l,s)},[])}}var tw=[{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"}],mce={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"}]},J$={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function j_({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,q.useState)(e),[a,o]=(0,q.useState)(null),[i,l]=(0,q.useState)(""),[s,u]=(0,q.useState)([]),[c,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(!1),[m,g]=(0,q.useState)(!1),[h,v]=(0,q.useState)(null),[y,b]=(0,q.useState)(null),[x,S]=(0,q.useState)(!1),[w,O]=(0,q.useState)(null),[k,A]=(0,q.useState)(!1),M=(0,q.useRef)(null),[W,L]=(0,q.useState)(["anthropic"]),[H,D]=(0,q.useState)(!1),[Y,N]=(0,q.useState)({}),[_,z]=(0,q.useState)([]),j=(0,q.useCallback)(T=>{switch(console.log("[SandboxRunner] Received ActionCable message:",T),T.type){case"run_started":H?N(X=>({...X,[T.provider]:{status:"running",started_at:T.started_at,provider:T.provider}})):d(X=>({...X,status:"running",provider:T.provider}));break;case"run_complete":H?(N(X=>({...X,[T.provider]:{...T.run,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider)),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))):(d(T.run),p(!1),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))),z(X=>{let $=X.filter(Ne=>Ne!==T.provider);return $.length===0&&p(!1),$});break;case"run_error":H?(N(X=>({...X,[T.provider]:{status:"failed",error:T.error,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider))):(d(X=>({...X,status:"failed",error:T.error})),p(!1)),T.sandbox&&o(T.sandbox);break}},[H]);Q$("SandboxChannel",{session_id:a?.session_id},j,!!a?.session_id),(0,q.useEffect)(()=>{B(),P()},[r]);let P=async()=>{try{let T=await fetch("/api/usage");if(T.ok){let X=await T.json();O(X.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,q.useEffect)(()=>{if(!a?.expires_at)return;let T=setInterval(()=>{let X=new Date,$=new Date(a.expires_at),Ne=Math.max(0,Math.floor(($-X)/1e3));b(Ne),Ne===0&&(o(E=>({...E,status:"expired"})),clearInterval(T))},1e3);return()=>clearInterval(T)},[a?.expires_at]),(0,q.useEffect)(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[c?.result]);let B=async()=>{g(!0),v(null);try{let T=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!T.ok)throw new Error("Failed to create sandbox session");let X=await T.json();o(X.sandbox),u([]),d(null)}catch(T){v(T.message)}finally{g(!1)}},R=async()=>{!i.trim()||f||!a||(H&&W.length>1?await G():await F(W[0]||"anthropic"))},F=async T=>{p(!0),d({status:"running",task:i,provider:T,result:"",started_at:new Date().toISOString()});try{let X=await fetch(`/api/sandboxes/${a.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,provider:T})}),$=await X.json();if(X.status===402&&$.upgrade_required){O($.usage),S(!0),d(Ne=>({...Ne,status:"failed",error:$.message||"Plan limit reached"})),p(!1);return}if(!X.ok)throw new Error($.error||"Task execution failed");$.usage&&O($.usage),De($.run_id)}catch(X){d($=>({...$,status:"failed",error:X.message})),p(!1)}},G=async()=>{p(!0),z([...W]),N({});let T={};W.forEach(X=>{T[X]={status:"running",result:"",started_at:new Date().toISOString()}}),N(T);try{let X=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,providers:W,sandbox_id:a?.session_id,sandbox_type:r})});if(!X.ok){let Ne=await X.json();throw new Error(Ne.error||"Comparison failed")}let $=await X.json();$.sandbox&&o($.sandbox),ee(W,$.sandbox?.session_id||a?.session_id,$.sandbox?.runs_count??a?.runs_count??0)}catch(X){W.forEach($=>{N(Ne=>({...Ne,[$]:{status:"failed",error:X.message}}))}),p(!1),z([])}},ee=(T,X,$)=>{if(!X)return;let Ne=async()=>{try{let E=await fetch(`/api/sandboxes/${X}`);if(!E.ok)throw new Error(`HTTP ${E.status}`);let Z=await E.json();o(Z.sandbox);let ge=Z.sandbox.runs||[];u(ge);let Le=new Set;if(ge.slice($).forEach(nt=>{nt.provider&&(N(Bt=>({...Bt,[nt.provider]:{...nt,provider:nt.provider}})),(nt.status==="completed"||nt.status==="failed")&&Le.add(nt.provider))}),T.every(nt=>Le.has(nt))){p(!1),z([]);return}setTimeout(Ne,1e3)}catch(E){console.error("Comparison polling failed:",E),p(!1),z([])}};setTimeout(Ne,1e3)},fe=async()=>{if(a?.session_id)try{let X=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(X.sandbox),u(X.sandbox.runs||[]),(X.sandbox.runs||[]).forEach(E=>{E.provider&&N(Z=>({...Z,[E.provider]:{...E,provider:E.provider}}))}),W.every(E=>{let Z=Y[E];return Z?.status==="completed"||Z?.status==="failed"})&&(p(!1),z([]))}catch(T){console.error("Polling error:",T)}},de=T=>{L(X=>X.includes(T)?X.length===1?X:X.filter($=>$!==T):[...X,T])},De=async T=>{let X=async()=>{try{let Ne=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(Ne.sandbox);let E=Ne.sandbox.runs||[],Z=E[E.length-1];if(Z&&(d(Z),u(E),Z.status==="completed"||Z.status==="failed")){p(!1);return}setTimeout(X,1e3)}catch{p(!1)}};X()},le=T=>{T.key==="Enter"&&(T.metaKey||T.ctrlKey)&&R()},Te=T=>{if(!T)return"--:--";let X=Math.floor(T/60),$=T%60;return`${X}:${$.toString().padStart(2,"0")}`},K=T=>{switch(T){case"completed":return"text-green-600 bg-green-100";case"failed":return"text-red-600 bg-red-100";case"running":return"text-blue-600 bg-blue-100";case"ready":return"text-emerald-600 bg-emerald-100";case"expired":return"text-orange-600 bg-orange-100";default:return"text-gray-600 bg-gray-100"}},I=a?.status==="ready"&&a?.runs_count{A(!0);try{await Vf({planSlug:"pro",billingInterval:T})}catch(X){console.error("Checkout error:",X),v(X.message||"Failed to initiate checkout. Please try again."),A(!1)}};return q.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},q.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},q.default.createElement("div",{className:"flex items-center justify-between"},q.default.createElement("div",{className:"flex items-center space-x-4"},q.default.createElement(mr,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),q.default.createElement("div",null,q.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),q.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),q.default.createElement("div",{className:"flex items-center space-x-4"},a&&q.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},q.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${K(a.status)}`},a.status),q.default.createElement("span",{className:"text-gray-500"},a.runs_count,"/",a.max_runs," runs"),q.default.createElement("span",{className:`font-mono ${y<60?"text-red-500":"text-gray-500"}`},Te(y))),t&&q.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},q.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),q.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},q.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},q.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("textarea",{value:i,onChange:T=>l(T.target.value),onKeyDown:le,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!I,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-rose-500 focus:border-transparent resize-none disabled:bg-gray-100"}),q.default.createElement("div",{className:"flex items-center justify-between mt-3"},q.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),q.default.createElement("button",{onClick:R,disabled:!i.trim()||!I,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${i.trim()&&I?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{className:"animate-spin"},"\u25E0"),q.default.createElement("span",null,"Running...")):q.default.createElement(q.default.Fragment,null,q.default.createElement("span",null,"\u25B6"),q.default.createElement("span",null,"Run"))))),q.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},q.default.createElement("h3",{className:"font-medium text-gray-900"},H&&Object.keys(Y).length>0?"Comparison Results":"Output"),c&&!H&&q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(c.status)}`},c.status),H&&_.length>0&&q.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",_.length," provider(s)...")),q.default.createElement("div",{ref:M,className:"flex-1 overflow-auto bg-gray-50"},m?q.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},q.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):h?q.default.createElement("div",{className:"text-red-600 p-4"},h):H&&Object.keys(Y).length>0?q.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},W.map(T=>{let X=tw.find(Ne=>Ne.id===T),$=Y[T];return q.default.createElement("div",{key:T,className:"p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-2"},q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("div",{className:`w-3 h-3 rounded-full ${X?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"font-medium text-gray-900"},X?.name||T),q.default.createElement("span",{className:"text-xs text-gray-500"},X?.model)),$&&q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K($.status)}`},$.status),$.tokens&&q.default.createElement("span",{className:"text-xs text-gray-500"},$.tokens," tokens"),$.duration_ms&&q.default.createElement("span",{className:"text-xs text-gray-500"},($.duration_ms/1e3).toFixed(1),"s"))),q.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},$?.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Processing...")):$?.error?q.default.createElement("div",{className:"text-red-600"},$.error):$?.result?q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},$.result):q.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?q.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&q.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},q.default.createElement("div",{className:`w-2 h-2 rounded-full ${tw.find(T=>T.id===c.provider)?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"text-sm text-gray-600"},tw.find(T=>T.id===c.provider)?.name||c.provider)),c.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Executing task...")):c.error?q.default.createElement("div",{className:"text-red-600"},q.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),q.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):q.default.createElement("div",{className:"text-gray-400 text-center py-12"},q.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),q.default.createElement("p",{className:"text-xs"},H?`Compare results across ${W.length} providers`:"Task will execute using the selected provider"))))),q.default.createElement("div",{className:"space-y-4 overflow-auto"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),q.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},q.default.createElement("input",{type:"checkbox",checked:H,onChange:T=>D(T.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),q.default.createElement("div",{className:"space-y-2"},tw.map(T=>q.default.createElement("label",{key:T.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${W.includes(T.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},q.default.createElement("div",{className:"flex items-center space-x-3"},q.default.createElement("input",{type:"checkbox",checked:W.includes(T.id),onChange:()=>de(T.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("div",{className:`w-2 h-2 rounded-full ${T.color}`}),q.default.createElement("span",{className:"text-sm font-medium text-gray-900"},T.name)),q.default.createElement("span",{className:"text-xs text-gray-500"},T.model)))),H&&W.length>1&&q.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},q.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",W.length," providers simultaneously"))),q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),H&&q.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")),q.default.createElement("div",{className:"space-y-2"},mce[r]?.map((T,X)=>q.default.createElement("button",{key:X,onClick:()=>l(T.task),disabled:!I,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},q.default.createElement("div",{className:"font-medium text-sm text-gray-900"},T.name),q.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},T.description))))),q.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},q.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},w?.unlimited?"Unlimited":w?.plan==="free"?"Free Tier":`${w?.plan?.toUpperCase()||"FREE"} Plan`),w&&!w.unlimited&&w.runs_limit!=null&&q.default.createElement("div",{className:"mb-4"},q.default.createElement("div",{className:"flex justify-between text-sm mb-1"},q.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),q.default.createElement("span",{className:`font-medium ${w.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},w.runs_used," / ",w.runs_limit)),q.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},q.default.createElement("div",{className:`h-2 rounded-full transition-all ${w.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(w.runs_used/w.runs_limit*100,100)}%`}})),w.runs_remaining<=1&&q.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},w.runs_remaining===0?"Limit reached!":"Almost at limit!")),q.default.createElement("dl",{className:"space-y-2 text-sm"},q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),q.default.createElement("dd",{className:"text-gray-900"},a?.runs_count||0,"/",a?.max_runs||J$.max_runs)),q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Timeout"),q.default.createElement("dd",{className:"text-gray-900"},J$.timeout_seconds,"s per task"))),w?.plan==="free"&&q.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},q.default.createElement("button",{onClick:()=>S(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),q.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((T,X)=>q.default.createElement("div",{key:T.id||X,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(T)},q.default.createElement("div",{className:"flex items-center justify-between mb-1"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(T.status||"completed")}`},T.status||"completed"),q.default.createElement("span",{className:"text-xs text-gray-400"},T.tokens||0," tokens")),q.default.createElement("p",{className:"text-sm text-gray-600 truncate"},T.task))))),a?.status==="expired"&&q.default.createElement("button",{onClick:B,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),x&&q.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},q.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},q.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},q.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),q.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",w?.runs_used||0," of ",w?.runs_limit||25," trial runs. Choose a plan to continue.")),q.default.createElement("div",{className:"p-6"},q.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),q.default.createElement("span",{className:"text-gray-500"},"/mo"))),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),q.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")),q.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},q.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},q.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),q.default.createElement("div",{className:"text-center mb-4 mt-2"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),q.default.createElement("button",{onClick:()=>C("monthly"),disabled:k,className:"w-full py-2 px-4 bg-rose-500 text-white rounded-lg text-sm font-semibold hover:bg-rose-600 transition-colors disabled:opacity-50"},k?"Loading...":"Upgrade to Pro")),q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),q.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")))),q.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},q.default.createElement("button",{onClick:()=>S(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var Ee=te(ne());var rw={SCREENSHOT:"screenshot",IFRAME:"iframe"},R$={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},z_={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"},vce=` @keyframes ripple { 0% { transform: translate(-50%, -50%) scale(0.5); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(2); opacity: 0; } @@ -90,10 +90,10 @@ Who updated the description for the sample notebook?`,style:{...ol,width:"100%", 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.2); } } -`;function L_({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=kt(),[a,o]=(0,Ee.useState)([]),[i,l]=(0,Ee.useState)(e),[s,u]=(0,Ee.useState)(null),[c,d]=(0,Ee.useState)([]),[f,p]=(0,Ee.useState)(!0),[v,y]=(0,Ee.useState)(null),[h,m]=(0,Ee.useState)(!1),[g,x]=(0,Ee.useState)(0),[b,S]=(0,Ee.useState)(1),[w,O]=(0,Ee.useState)(null),k=(0,Ee.useRef)(null),A=(0,Ee.useRef)(null),M=(0,Ee.useRef)(null),[W,L]=(0,Ee.useState)(rw.IFRAME),[H,D]=(0,Ee.useState)({x:0,y:0,visible:!1}),[Y,N]=(0,Ee.useState)(null);(0,Ee.useEffect)(()=>{_()},[]),(0,Ee.useEffect)(()=>{i&&B(i)},[i]);let _=async()=>{try{let K=await fetch("/api/session_recordings");if(K.ok){let I=await K.json();o(I.recordings||[]),!i&&I.recordings?.length>0&&l(I.recordings[0].id)}}catch(K){console.error("Failed to load recordings list:",K)}};(0,Ee.useEffect)(()=>{if(!h||c.length===0){A.current&&clearTimeout(A.current);return}let K=c[g],I=c[g+1];if(!I){m(!1);return}let C=(I.timestamp_ms-K.timestamp_ms)/b;return A.current=setTimeout(()=>{x(T=>T+1)},Math.max(C,50)),()=>{A.current&&clearTimeout(A.current)}},[h,g,c,b]),(0,Ee.useEffect)(()=>{let K=c[g];K?.screenshot_url?(O(K.screenshot_url),L(rw.SCREENSHOT)):W===rw.IFRAME&&z(K)},[g,c,W]);let z=(0,Ee.useCallback)(K=>{if(!K||!M.current)return;let I=M.current;try{let C=s?.metadata?.page_url||"/";switch(I.src!==C&&I.src.includes(C),K.action_type){case"navigate":D({x:50,y:50,visible:!0}),N(null);break;case"click":case"focus":D({x:200,y:300,visible:!0}),N(K.selector),j(K.selector);break;case"type":D({x:200,y:300,visible:!0}),N(K.selector),P(K.selector,K.value);break;case"submit":D({x:250,y:400,visible:!0}),N(K.selector);break;case"scroll":D({x:300,y:200,visible:!0}),N(null);break;case"handoff":D({x:0,y:0,visible:!1}),N(null);break;default:D({x:150,y:250,visible:!0}),N(K.selector)}}catch(C){console.log("Could not simulate action in iframe:",C)}},[s]),j=K=>{if(!(!K||!M.current))try{let I=M.current.contentDocument||M.current.contentWindow?.document;if(!I)return;I.querySelectorAll(".session-replay-highlight").forEach(T=>{T.classList.remove("session-replay-highlight"),T.style.outline=""});let C=I.querySelector(K);C&&(C.classList.add("session-replay-highlight"),C.style.outline="3px solid #ef4444",C.style.outlineOffset="2px",C.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},P=(K,I)=>{if(!(!K||!I||!M.current))try{let C=M.current.contentDocument||M.current.contentWindow?.document;if(!C)return;let T=C.querySelector(K);if(T&&(T.tagName==="INPUT"||T.tagName==="TEXTAREA")){let X=0,$=setInterval(()=>{X{if(!K){u(null),d([]),x(0),m(!1),p(!1),y(null);return}p(!0),y(null);try{let I=await fetch(`/api/session_recordings/${K}`);if(!I.ok)throw new Error("Failed to load recording");let C=await I.json();if(u(C.recording),x(0),m(!1),C.recording?.id){let T=await fetch(`/api/session_recordings/${C.recording.id}/actions`);if(T.ok){let X=await T.json();d(X.actions||C.recording.timeline||[])}else d(C.recording.timeline||[])}}catch(I){y(I.message)}finally{p(!1)}},R=()=>{g>=c.length-1&&x(0),m(!h)},F=()=>{m(!1),x(K=>Math.min(K+1,c.length-1))},G=()=>{m(!1),x(K=>Math.max(K-1,0))},ee=K=>{if(!k.current||c.length===0)return;let I=k.current.getBoundingClientRect(),X=(K.clientX-I.left)/I.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),$=c.findIndex((Ne,E)=>{let Z=c[E+1];return!Z||X{if(s?.id)try{let K=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!K.ok)throw new Error("Handoff not available");let I=await K.json();t&&t(I)}catch(K){y(K.message)}},de=K=>{if(!K)return"0:00";let I=Math.floor(K/1e3),C=Math.floor(I/60),T=I%60;return`${C}:${T.toString().padStart(2,"0")}`},De=c[g],le=s?.duration_ms?(De?.timestamp_ms||0)/s.duration_ms*100:0;return f?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):v?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-red-500"},v)):s?Ee.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)"}:{}},Ee.default.createElement("style",{dangerouslySetInnerHTML:{__html:vce}}),Ee.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"}},Ee.default.createElement("div",null,Ee.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},Ee.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&&Ee.default.createElement("select",{value:i||"",onChange:K=>l(Number(K.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(K=>Ee.default.createElement("option",{key:K.id,value:K.id},K.name," (",new Date(K.created_at).toLocaleDateString(),")")))),Ee.default.createElement("p",{className:n?"":"text-sm text-gray-500 mt-1",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}:{}},s.action_count," actions | ",de(s.duration_ms)," duration")),Ee.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&Ee.default.createElement("button",{onClick:fe,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&&Ee.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"}:{}},Ee.default.createElement("span",{style:{fontSize:"20px"}},"x")))),Ee.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},Ee.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"}},W===rw.SCREENSHOT&&w?Ee.default.createElement("img",{src:w,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):Ee.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},Ee.default.createElement("iframe",{ref:M,src:s?.metadata?.page_url||"/",style:{border:"none",transform:"scale(0.75)",transformOrigin:"top left",width:"133.33%",height:"133.33%",pointerEvents:"none"},sandbox:"allow-same-origin allow-scripts"}),H.visible&&Ee.default.createElement("div",{style:{position:"absolute",left:`${H.x}px`,top:`${H.y}px`,width:"24px",height:"24px",pointerEvents:"none",zIndex:100,transition:"all 0.3s ease-out"}},Ee.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},Ee.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),De?.action_type==="click"&&Ee.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"40px",height:"40px",borderRadius:"50%",border:"3px solid #ef4444",animation:"ripple 0.6s ease-out",opacity:0}})),Y&&Ee.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:Fe.mono,zIndex:100}},Y),De&&Ee.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}},Ee.default.createElement("span",{style:{color:z_[De.action_type]||"#94a3b8",fontWeight:"600"}},R$[De.action_type]||"[?]"),Ee.default.createElement("span",null,De.action_type),De.value&&Ee.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",De.value))),Ee.default.createElement("div",{className:n?"":"absolute top-4 left-4 flex items-center gap-2 text-white px-3 py-1 rounded-full text-sm",style:{position:"absolute",top:"16px",left:"16px",display:"flex",alignItems:"center",gap:"8px",background:s?.status==="recording"?"#ef4444":h?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?Ee.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):h?Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),Ee.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":h?"Playing":"Paused"),De?.selector&&Ee.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:Fe.mono}:{}},De.selector)),Ee.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"}:{}},Ee.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},Ee.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((K,I)=>{let C=I===g,T=I{x(I),m(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${C?"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:C?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:C?"3px solid #ef4444":"3px solid transparent",opacity:T?.6:1}:{opacity:T?.6:1}},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("span",{style:{color:X,fontFamily:Fe.mono,fontSize:"12px",fontWeight:"600"}},R$[K.action_type]||"[?]"),Ee.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},K.action_type),Ee.default.createElement("span",{className:n?"":"text-xs text-gray-400 ml-auto",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.4)",marginLeft:"auto"}:{}},de(K.timestamp_ms))),K.value&&Ee.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"}:{}},K.value.length>50?K.value.substring(0,50)+"...":K.value),K.selector&&Ee.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Fe.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},K.selector))})))),Ee.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"}:{}},Ee.default.createElement("div",{ref:k,onClick:ee,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"}:{}},Ee.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${le}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((K,I)=>{let C=s?.duration_ms?K.timestamp_ms/s.duration_ms*100:0,T=z_[K.action_type]||"#94a3b8";return Ee.default.createElement("div",{key:I,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${C}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:I===g?T:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),Ee.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},Ee.default.createElement("div",{className:"flex items-center gap-4"},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("button",{onClick:G,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}:{}},"<<"),Ee.default.createElement("button",{onClick:R,className:n?"":"p-3 rounded-full bg-red-500 text-white hover:bg-red-600",style:n?{padding:"12px 24px",background:"#ef4444",border:"none",borderRadius:"999px",color:"white",cursor:"pointer",fontWeight:"500"}:{}},h?"Pause":"Play"),Ee.default.createElement("button",{onClick:F,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}:{}},">>")),Ee.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Fe.mono}:{}},de(De?.timestamp_ms||0)," / ",de(s?.duration_ms||0))),Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.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(K=>Ee.default.createElement("button",{key:K,onClick:()=>S(K),className:n?"":`px-2 py-1 rounded text-sm ${b===K?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:b===K?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},K,"x")))))):Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var he=te(ne());var nw=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function B_({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:a}=kt(),[o,i]=(0,he.useState)(null),[l,s]=(0,he.useState)(!1),[u,c]=(0,he.useState)(!1),[d,f]=(0,he.useState)(!1),[p,v]=(0,he.useState)(null);(0,he.useEffect)(()=>{fetch("/api/usage").then(S=>S.ok?S.json():null).then(S=>i(S?.usage||null)).catch(()=>i(null))},[]);let y=async()=>{f(!0),v(null);try{await Vf({planSlug:"pro"})}catch(S){v(S.message),f(!1)}},h=()=>{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"}},b=x[g.toLowerCase()]||x.free;return he.default.createElement("div",{className:"p-6 space-y-6"},he.default.createElement("div",null,he.default.createElement("h2",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},"Organization"),he.default.createElement("p",{className:`mt-1 ${a?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Workspace"),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Name"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Owner"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Created"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Current Plan"),he.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},g)),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Team Seats"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},b.seats)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Workspaces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},b.workspaces)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Agents"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},b.agents)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Traces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},b.traces))),g.toLowerCase()!=="enterprise"&&he.default.createElement(he.default.Fragment,null,he.default.createElement("button",{onClick:y,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&&he.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Team Members"),he.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")),he.default.createElement("div",{className:"overflow-hidden"},he.default.createElement("table",{className:"min-w-full"},he.default.createElement("thead",null,he.default.createElement("tr",{className:a?"border-b border-gray-700":"border-b border-gray-200"},he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Member"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Role"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Status"))),he.default.createElement("tbody",null,he.default.createElement("tr",null,he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("div",{className:"flex items-center space-x-3"},he.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},he.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),he.default.createElement("div",null,he.default.createElement("p",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.name||"You"),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},t?.email)))),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"flex items-center text-green-600"},he.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Usage This Month"),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},n),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Agents")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.traces_used),o?.traces_limit>0&&he.default.createElement("span",{className:`text-sm font-normal ${a?"text-gray-500":"text-gray-400"}`}," / ",nw(o.traces_limit))),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Traces")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.runs_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Executions")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.tokens_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Tokens")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:m},he.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${a?"text-white":"text-gray-900"}`},"Telemetry"),he.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"," ",he.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"),":"),he.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 L_({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=kt(),[a,o]=(0,Ee.useState)([]),[i,l]=(0,Ee.useState)(e),[s,u]=(0,Ee.useState)(null),[c,d]=(0,Ee.useState)([]),[f,p]=(0,Ee.useState)(!0),[m,g]=(0,Ee.useState)(null),[h,v]=(0,Ee.useState)(!1),[y,b]=(0,Ee.useState)(0),[x,S]=(0,Ee.useState)(1),[w,O]=(0,Ee.useState)(null),k=(0,Ee.useRef)(null),A=(0,Ee.useRef)(null),M=(0,Ee.useRef)(null),[W,L]=(0,Ee.useState)(rw.IFRAME),[H,D]=(0,Ee.useState)({x:0,y:0,visible:!1}),[Y,N]=(0,Ee.useState)(null);(0,Ee.useEffect)(()=>{_()},[]),(0,Ee.useEffect)(()=>{i&&B(i)},[i]);let _=async()=>{try{let K=await fetch("/api/session_recordings");if(K.ok){let I=await K.json();o(I.recordings||[]),!i&&I.recordings?.length>0&&l(I.recordings[0].id)}}catch(K){console.error("Failed to load recordings list:",K)}};(0,Ee.useEffect)(()=>{if(!h||c.length===0){A.current&&clearTimeout(A.current);return}let K=c[y],I=c[y+1];if(!I){v(!1);return}let C=(I.timestamp_ms-K.timestamp_ms)/x;return A.current=setTimeout(()=>{b(T=>T+1)},Math.max(C,50)),()=>{A.current&&clearTimeout(A.current)}},[h,y,c,x]),(0,Ee.useEffect)(()=>{let K=c[y];K?.screenshot_url?(O(K.screenshot_url),L(rw.SCREENSHOT)):W===rw.IFRAME&&z(K)},[y,c,W]);let z=(0,Ee.useCallback)(K=>{if(!K||!M.current)return;let I=M.current;try{let C=s?.metadata?.page_url||"/";switch(I.src!==C&&I.src.includes(C),K.action_type){case"navigate":D({x:50,y:50,visible:!0}),N(null);break;case"click":case"focus":D({x:200,y:300,visible:!0}),N(K.selector),j(K.selector);break;case"type":D({x:200,y:300,visible:!0}),N(K.selector),P(K.selector,K.value);break;case"submit":D({x:250,y:400,visible:!0}),N(K.selector);break;case"scroll":D({x:300,y:200,visible:!0}),N(null);break;case"handoff":D({x:0,y:0,visible:!1}),N(null);break;default:D({x:150,y:250,visible:!0}),N(K.selector)}}catch(C){console.log("Could not simulate action in iframe:",C)}},[s]),j=K=>{if(!(!K||!M.current))try{let I=M.current.contentDocument||M.current.contentWindow?.document;if(!I)return;I.querySelectorAll(".session-replay-highlight").forEach(T=>{T.classList.remove("session-replay-highlight"),T.style.outline=""});let C=I.querySelector(K);C&&(C.classList.add("session-replay-highlight"),C.style.outline="3px solid #ef4444",C.style.outlineOffset="2px",C.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},P=(K,I)=>{if(!(!K||!I||!M.current))try{let C=M.current.contentDocument||M.current.contentWindow?.document;if(!C)return;let T=C.querySelector(K);if(T&&(T.tagName==="INPUT"||T.tagName==="TEXTAREA")){let X=0,$=setInterval(()=>{X{if(!K){u(null),d([]),b(0),v(!1),p(!1),g(null);return}p(!0),g(null);try{let I=await fetch(`/api/session_recordings/${K}`);if(!I.ok)throw new Error("Failed to load recording");let C=await I.json();if(u(C.recording),b(0),v(!1),C.recording?.id){let T=await fetch(`/api/session_recordings/${C.recording.id}/actions`);if(T.ok){let X=await T.json();d(X.actions||C.recording.timeline||[])}else d(C.recording.timeline||[])}}catch(I){g(I.message)}finally{p(!1)}},R=()=>{y>=c.length-1&&b(0),v(!h)},F=()=>{v(!1),b(K=>Math.min(K+1,c.length-1))},G=()=>{v(!1),b(K=>Math.max(K-1,0))},ee=K=>{if(!k.current||c.length===0)return;let I=k.current.getBoundingClientRect(),X=(K.clientX-I.left)/I.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),$=c.findIndex((Ne,E)=>{let Z=c[E+1];return!Z||X{if(s?.id)try{let K=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!K.ok)throw new Error("Handoff not available");let I=await K.json();t&&t(I)}catch(K){g(K.message)}},de=K=>{if(!K)return"0:00";let I=Math.floor(K/1e3),C=Math.floor(I/60),T=I%60;return`${C}:${T.toString().padStart(2,"0")}`},De=c[y],le=s?.duration_ms?(De?.timestamp_ms||0)/s.duration_ms*100:0;return f?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):m?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-red-500"},m)):s?Ee.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)"}:{}},Ee.default.createElement("style",{dangerouslySetInnerHTML:{__html:vce}}),Ee.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"}},Ee.default.createElement("div",null,Ee.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},Ee.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&&Ee.default.createElement("select",{value:i||"",onChange:K=>l(Number(K.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(K=>Ee.default.createElement("option",{key:K.id,value:K.id},K.name," (",new Date(K.created_at).toLocaleDateString(),")")))),Ee.default.createElement("p",{className:n?"":"text-sm text-gray-500 mt-1",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}:{}},s.action_count," actions | ",de(s.duration_ms)," duration")),Ee.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&Ee.default.createElement("button",{onClick:fe,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&&Ee.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"}:{}},Ee.default.createElement("span",{style:{fontSize:"20px"}},"x")))),Ee.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},Ee.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"}},W===rw.SCREENSHOT&&w?Ee.default.createElement("img",{src:w,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):Ee.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},Ee.default.createElement("iframe",{ref:M,src:s?.metadata?.page_url||"/",style:{border:"none",transform:"scale(0.75)",transformOrigin:"top left",width:"133.33%",height:"133.33%",pointerEvents:"none"},sandbox:"allow-same-origin allow-scripts"}),H.visible&&Ee.default.createElement("div",{style:{position:"absolute",left:`${H.x}px`,top:`${H.y}px`,width:"24px",height:"24px",pointerEvents:"none",zIndex:100,transition:"all 0.3s ease-out"}},Ee.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},Ee.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),De?.action_type==="click"&&Ee.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"40px",height:"40px",borderRadius:"50%",border:"3px solid #ef4444",animation:"ripple 0.6s ease-out",opacity:0}})),Y&&Ee.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:Fe.mono,zIndex:100}},Y),De&&Ee.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}},Ee.default.createElement("span",{style:{color:z_[De.action_type]||"#94a3b8",fontWeight:"600"}},R$[De.action_type]||"[?]"),Ee.default.createElement("span",null,De.action_type),De.value&&Ee.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",De.value))),Ee.default.createElement("div",{className:n?"":"absolute top-4 left-4 flex items-center gap-2 text-white px-3 py-1 rounded-full text-sm",style:{position:"absolute",top:"16px",left:"16px",display:"flex",alignItems:"center",gap:"8px",background:s?.status==="recording"?"#ef4444":h?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?Ee.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):h?Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),Ee.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":h?"Playing":"Paused"),De?.selector&&Ee.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:Fe.mono}:{}},De.selector)),Ee.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"}:{}},Ee.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},Ee.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((K,I)=>{let C=I===y,T=I{b(I),v(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${C?"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:C?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:C?"3px solid #ef4444":"3px solid transparent",opacity:T?.6:1}:{opacity:T?.6:1}},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("span",{style:{color:X,fontFamily:Fe.mono,fontSize:"12px",fontWeight:"600"}},R$[K.action_type]||"[?]"),Ee.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},K.action_type),Ee.default.createElement("span",{className:n?"":"text-xs text-gray-400 ml-auto",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.4)",marginLeft:"auto"}:{}},de(K.timestamp_ms))),K.value&&Ee.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"}:{}},K.value.length>50?K.value.substring(0,50)+"...":K.value),K.selector&&Ee.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Fe.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},K.selector))})))),Ee.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"}:{}},Ee.default.createElement("div",{ref:k,onClick:ee,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"}:{}},Ee.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${le}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((K,I)=>{let C=s?.duration_ms?K.timestamp_ms/s.duration_ms*100:0,T=z_[K.action_type]||"#94a3b8";return Ee.default.createElement("div",{key:I,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${C}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:I===y?T:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),Ee.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},Ee.default.createElement("div",{className:"flex items-center gap-4"},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("button",{onClick:G,disabled:y===0,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y===0?"not-allowed":"pointer",opacity:y===0?.5:1}:{}},"<<"),Ee.default.createElement("button",{onClick:R,className:n?"":"p-3 rounded-full bg-red-500 text-white hover:bg-red-600",style:n?{padding:"12px 24px",background:"#ef4444",border:"none",borderRadius:"999px",color:"white",cursor:"pointer",fontWeight:"500"}:{}},h?"Pause":"Play"),Ee.default.createElement("button",{onClick:F,disabled:y>=c.length-1,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y>=c.length-1?"not-allowed":"pointer",opacity:y>=c.length-1?.5:1}:{}},">>")),Ee.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Fe.mono}:{}},de(De?.timestamp_ms||0)," / ",de(s?.duration_ms||0))),Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.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(K=>Ee.default.createElement("button",{key:K,onClick:()=>S(K),className:n?"":`px-2 py-1 rounded text-sm ${x===K?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:x===K?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},K,"x")))))):Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var he=te(ne());var nw=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function B_({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:a}=kt(),[o,i]=(0,he.useState)(null),[l,s]=(0,he.useState)(!1),[u,c]=(0,he.useState)(!1),[d,f]=(0,he.useState)(!1),[p,m]=(0,he.useState)(null);(0,he.useEffect)(()=>{fetch("/api/usage").then(S=>S.ok?S.json():null).then(S=>i(S?.usage||null)).catch(()=>i(null))},[]);let g=async()=>{f(!0),m(null);try{await Vf({planSlug:"pro"})}catch(S){m(S.message),f(!1)}},h=()=>{e?.telemetry_api_key&&navigator.clipboard.writeText(e.telemetry_api_key).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},v={backgroundColor:a?"#1f1f1f":"#ffffff",borderColor:a?"#2a2a2a":"#e5e7eb"},y=r?.plan_name||"Free",b={free:{seats:1,workspaces:1,agents:3,traces:"250/mo trial"},pro:{seats:5,workspaces:3,agents:"Unlimited",traces:"25,000/mo"},enterprise:{seats:"Unlimited",workspaces:"Unlimited",agents:"Unlimited",traces:"500,000+/mo"}},x=b[y.toLowerCase()]||b.free;return he.default.createElement("div",{className:"p-6 space-y-6"},he.default.createElement("div",null,he.default.createElement("h2",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},"Organization"),he.default.createElement("p",{className:`mt-1 ${a?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Workspace"),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Name"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Owner"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Created"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Current Plan"),he.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},y)),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Team Seats"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.seats)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Workspaces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.workspaces)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Agents"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.agents)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Traces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.traces))),y.toLowerCase()!=="enterprise"&&he.default.createElement(he.default.Fragment,null,he.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&&he.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Team Members"),he.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")),he.default.createElement("div",{className:"overflow-hidden"},he.default.createElement("table",{className:"min-w-full"},he.default.createElement("thead",null,he.default.createElement("tr",{className:a?"border-b border-gray-700":"border-b border-gray-200"},he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Member"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Role"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Status"))),he.default.createElement("tbody",null,he.default.createElement("tr",null,he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("div",{className:"flex items-center space-x-3"},he.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},he.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),he.default.createElement("div",null,he.default.createElement("p",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.name||"You"),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},t?.email)))),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"flex items-center text-green-600"},he.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Usage This Month"),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},n),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Agents")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.traces_used),o?.traces_limit>0&&he.default.createElement("span",{className:`text-sm font-normal ${a?"text-gray-500":"text-gray-400"}`}," / ",nw(o.traces_limit))),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Traces")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.runs_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Executions")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.tokens_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Tokens")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${a?"text-white":"text-gray-900"}`},"Telemetry"),he.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"," ",he.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"),":"),he.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"] %>`),he.default.createElement("div",{className:"flex items-center justify-between gap-3"},he.default.createElement("div",{className:"min-w-0 flex-1"},he.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${a?"text-gray-500":"text-gray-400"}`},"API Key"),he.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")),he.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},he.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"),he.default.createElement("button",{onClick:h,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var me=te(ne());var eU={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 $_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,me.useState)("profile"),[i,l]=(0,me.useState)([]),[s,u]=(0,me.useState)([]),[c,d]=(0,me.useState)(!1),[f,p]=(0,me.useState)(""),[v,y]=(0,me.useState)(!1),[h,m]=(0,me.useState)(null),[g,x]=(0,me.useState)(!1),[b,S]=(0,me.useState)(null),[w,O]=(0,me.useState)(null),[k,A]=(0,me.useState)(""),[M,W]=(0,me.useState)(!1),L=(0,me.useCallback)(async()=>{try{let[P,B]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!P.ok||!B.ok)throw new Error("Failed to load keys");let R=await P.json(),F=await B.json();l(R.api_keys||[]),u(F.provider_keys||[]),S(null)}catch{S("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,me.useEffect)(()=>{a==="api-keys"&&!c&&L()},[a,c,L]);let H=async()=>{if(!(!f.trim()||v)){y(!0),S(null);try{let P=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!P.ok)throw new Error("create failed");let B=await P.json();m(B.api_key),x(!1),p(""),await L()}catch{S("Could not create the API key.")}finally{y(!1)}}},D=async P=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");h&&h.id===P&&m(null),await L()}catch{S("Could not revoke the API key.")}},Y=async P=>{if(!(!k.trim()||M)){W(!0),S(null);try{let B=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:P,credential:k.trim()})});if(!B.ok){let R=await B.json().catch(()=>({}));throw new Error(Array.isArray(R.error)?R.error.join(", "):"save failed")}O(null),A(""),await L()}catch(B){S(`Could not save the ${eU[P]?.label||P} credential${B.message!=="save failed"?`: ${B.message}`:"."}`)}finally{W(!1)}}},N=async P=>{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/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");await L()}catch{S("Could not remove the provider credential.")}},_=async P=>{try{await navigator.clipboard.writeText(P),x(!0),setTimeout(()=>x(!1),2e3)}catch{}},z={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return me.default.createElement("div",{className:"p-6 space-y-6"},me.default.createElement("div",null,me.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),me.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),me.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("nav",{className:"flex space-x-8"},[{id:"profile",label:"Profile"},{id:"api-keys",label:"API Keys"},{id:"notifications",label:"Notifications"},{id:"billing",label:"Billing"}].map(P=>me.default.createElement("button",{key:P.id,onClick:()=>o(P.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${a===P.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},P.label)))),a==="profile"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),me.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[0]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[1]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",{className:"md:col-span-2"},me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),me.default.createElement("input",{type:"email",defaultValue:e?.email||"",disabled:!0,className:`w-full px-3 py-2 border rounded-lg cursor-not-allowed ${r?"bg-gray-900 border-gray-700 text-gray-500":"bg-gray-100 border-gray-300 text-gray-500"}`}))),me.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),me.default.createElement("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${r?"bg-red-500":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),a==="api-keys"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("div",{className:"flex items-center justify-between mb-4"},me.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("input",{type:"text",value:f,onChange:P=>p(P.target.value),onKeyDown:P=>P.key==="Enter"&&H(),placeholder:"Key name (e.g. production)",className:`px-3 py-2 border rounded-lg text-sm ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:H,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"))),me.default.createElement("div",{className:`p-4 rounded-lg mb-4 ${r?"bg-yellow-900/20 border border-yellow-800":"bg-yellow-50 border border-yellow-200"}`},me.default.createElement("p",{className:`text-sm ${r?"text-yellow-300":"text-yellow-800"}`},"\u26A0\uFE0F API keys are secrets. Never share them or commit them to version control.")),b&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 text-sm ${r?"bg-red-900/20 border border-red-800 text-red-300":"bg-red-50 border border-red-200 text-red-700"}`},b),h&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 border ${r?"bg-green-900/20 border-green-800":"bg-green-50 border-green-200"}`},me.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",h.name,"\u201D created. Copy it now \u2014 it won't be shown again."),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("code",{className:`flex-1 px-3 py-2 rounded text-sm font-mono break-all ${r?"bg-gray-900 text-green-300":"bg-white text-green-800 border border-green-200"}`},h.token),me.default.createElement("button",{onClick:()=>_(h.token),className:`px-3 py-2 text-sm rounded ${r?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},g?"Copied!":"Copy"),me.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"))),i.length===0?me.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},me.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&me.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):me.default.createElement("div",{className:"space-y-2"},i.map(P=>me.default.createElement("div",{key:P.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.name),me.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},P.masked_token,me.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(P.created_at).toLocaleDateString(),P.last_used_at?` \xB7 last used ${new Date(P.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),me.default.createElement("button",{onClick:()=>D(P.id),className:`px-3 py-1 text-sm rounded ${r?"bg-red-900/40 text-red-300 hover:bg-red-900/60":"bg-red-50 text-red-600 hover:bg-red-100"}`},"Revoke"))))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),me.default.createElement("p",{className:`text-sm mb-4 ${r?"text-gray-400":"text-gray-500"}`},"Configure your own LLM provider credentials. Agent runs and evaluations on this account use these instead of the platform defaults. Keys are encrypted at rest."),me.default.createElement("div",{className:"space-y-4"},s.map(({provider:P,host_based:B,configured:R,hint:F})=>{let G=eU[P]||{label:P,icon:"\u{1F511}",placeholder:""},ee=w===P;return me.default.createElement("div",{key:P,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",{className:"flex items-center space-x-3"},me.default.createElement("span",{className:"text-xl"},G.icon),me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},G.label),me.default.createElement("p",{className:`text-sm ${R?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},R?B?F:`Configured (${F})`:"Not configured"))),me.default.createElement("div",{className:"flex items-center space-x-2"},R&&!ee&&me.default.createElement("button",{onClick:()=>N(P),className:`px-3 py-1 text-sm rounded ${r?"text-red-300 hover:bg-red-900/40":"text-red-600 hover:bg-red-50"}`},"Remove"),me.default.createElement("button",{onClick:()=>{O(ee?null:P),A("")},className:`px-3 py-1 text-sm rounded ${r?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},ee?"Cancel":R?"Update":"Configure"))),ee&&me.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},me.default.createElement("input",{type:B?"text":"password",value:k,onChange:fe=>A(fe.target.value),onKeyDown:fe=>fe.key==="Enter"&&Y(P),placeholder:B?G.placeholder:`${G.label} API key (${G.placeholder})`,autoFocus:!0,className:`flex-1 px-3 py-2 border rounded-lg text-sm font-mono ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:()=>Y(P),disabled:!k.trim()||M,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},M?"Saving\u2026":"Save")),B&&ee&&me.default.createElement("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`},"URL of your Ollama server's OpenAI-compatible endpoint. For a locally running Ollama use http://localhost:11434/v1 (the hosted platform needs a publicly reachable URL, e.g. a tunnel)."))})))),a==="notifications"&&me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),me.default.createElement("div",{className:"space-y-4"},[{label:"Agent execution alerts",desc:"Get notified when agents fail or complete",enabled:!0},{label:"Weekly usage reports",desc:"Summary of traces, costs, and performance",enabled:!0},{label:"Security alerts",desc:"Important security notifications",enabled:!0},{label:"Product updates",desc:"New features and improvements",enabled:!1}].map((P,B)=>me.default.createElement("div",{key:B,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.label),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},P.desc)),me.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${P.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${P.enabled?"translate-x-6":"translate-x-1"}`})))))),a==="billing"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),me.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),me.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),me.default.createElement("button",{className:`mt-4 px-4 py-2 rounded-lg ${r?"bg-gray-700 text-gray-300":"bg-gray-200 text-gray-700"}`},"Add Payment Method")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}var Me=te(ne());var gce=[{label:"Find demo questions",message:"What demo questions worked in our latest evaluations? Show the evidence and tell me whether they are verified on current main."},{label:"Explain a failed eval",message:"Show my latest evaluation reports and explain which failures need attention."},{label:"Draft an agent",message:"Prepare a read-only support agent that cites available evidence and explains missing information instead of inventing answers."}],U_={width:"100%",background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border-strong)",borderRadius:8,padding:"9px 12px",font:"inherit"},To={color:"var(--color-text-muted)",fontSize:12};function tU(e){let t=e.latest_run?.path||e.path||"";return/^\/evaluations(?:\/\d+\/runs\/\d+\/report)?$/.test(t)?Ge(t):null}function yce({card:e,onAsk:t,busy:r}){let n=tU(e),a=e.type==="demo_candidate",o=e.run_id||e.latest_run?.run_id,i=e.status||e.latest_run?.status;return Me.default.createElement(yr,{padding:16,testId:"assistant-evidence-card",style:{display:"grid",gap:10}},Me.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Me.default.createElement(or,{tone:a?"warning":"info"},a?"Historical pass":"Recorded evaluation"),i&&Me.default.createElement(or,{tone:i==="errored"||i==="failed"?"error":"muted"},i),e.check_strength&&Me.default.createElement("span",{style:To},String(e.check_strength).replaceAll("_"," "))),Me.default.createElement("div",{style:{fontWeight:600,overflowWrap:"anywhere"}},e.recorded_prompt||e.title),Me.default.createElement("div",{style:{...To,fontFamily:ye}},[e.provider,e.model,o&&`run ${o}`].filter(Boolean).join(" \xB7 "),e.completed_at&&` \xB7 ${new Date(e.completed_at).toLocaleString()}`),e.output_excerpt&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-text-secondary)"}},e.output_excerpt),(e.error||e.latest_run?.error)&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-error)"}},e.error||e.latest_run.error),e.fault&&Me.default.createElement("div",{style:To},"Fault: ",e.fault.replaceAll("_"," ")),e.samples_evaluated!=null&&Me.default.createElement("div",{style:To},e.samples_passed||0," / ",e.samples_evaluated," scenarios passed"),e.tool_names?.length>0&&Me.default.createElement("div",{style:To},"Tools recorded: ",e.tool_names.join(", ")),Array.isArray(e.caveats)&&e.caveats.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Evidence limits"),Me.default.createElement("ul",{style:{paddingLeft:18,marginTop:8}},e.caveats.map((s,u)=>Me.default.createElement("li",{key:u},s)))),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"}},n&&Me.default.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--color-accent-ui)"}},n===Ge("/evaluations")?"Open evaluations \u2192":"Open report \u2192"),e.evaluation_id&&o&&Me.default.createElement(zr,{size:"sm",disabled:r,onClick:()=>t(`Read evaluation ${e.evaluation_id}, run ${o}. Explain its results, the strength of its checks, and what needs fixing.`)},"Explain this run")))}function hce({draft:e,onReview:t}){return Me.default.createElement(yr,{padding:18,testId:"assistant-agent-draft",style:{display:"grid",gap:12,borderColor:"var(--color-accent-ui)"}},Me.default.createElement(rt,null,"Agent draft \xB7 not saved"),Me.default.createElement("div",{style:{fontWeight:600,fontSize:18}},e.name),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:13}},e.description),Me.default.createElement("div",{style:{...To,fontFamily:ye}},e.provider," / ",e.model),Me.default.createElement("details",null,Me.default.createElement("summary",{style:{cursor:"pointer",fontSize:13}},"Review instructions and tools"),Me.default.createElement("pre",{style:{whiteSpace:"pre-wrap",fontFamily:"inherit",fontSize:13,maxHeight:280,overflow:"auto"}},e.instructions),Me.default.createElement("p",{style:To},"Tools: ",e.tools?.length?e.tools.join(", "):"None")),Me.default.createElement(zr,{variant:"primary",onClick:()=>t(e),style:{justifySelf:"start"}},"Review in builder \u2192"))}function F_({session:e,onSessionChange:t,onReviewDraft:r,onOpenSettings:n,executionEnabled:a=!0}){let[o,i]=(0,Me.useState)(null),[l,s]=(0,Me.useState)(""),[u,c]=(0,Me.useState)(!1),[d,f]=(0,Me.useState)(null),[p,v]=(0,Me.useState)(!1),y=(0,Me.useRef)(null),h=(0,Me.useRef)(null),m=(0,Me.useRef)(e);m.current=e,(0,Me.useEffect)(()=>{let k=new AbortController;return fetch("/api/dashboard_assistant",{signal:k.signal}).then(async A=>{let M=await A.json();if(!A.ok)throw new Error(M.error||"Could not load assistant configuration.");i(M),m.current.provider||t({...m.current,...M.defaults})}).catch(A=>{A.name!=="AbortError"&&f({message:A.message})}),()=>{k.abort(),y.current?.abort()}},[]);let g=e.messages||[],x=e.provider||o?.defaults?.provider||"",b=e.model||"",S=o?.limits?.message_characters||8e3,w=o?.providers?.find(k=>k.id===x),O=async k=>{let A=k.trim();if(!A||u||!o||!a||!b.trim()||!p)return;let M=g.map(H=>({role:H.role,content:H.content})).slice(-12);for(;M.reduce((H,D)=>H+D.content.length,0)>24e3;)M.shift();let W=[...g,{role:"user",content:A}];t({...e,messages:W}),s(""),f(null),c(!0);let L=new AbortController;y.current=L;try{let H=await fetch("/api/dashboard_assistant",{method:"POST",signal:L.signal,headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""},body:JSON.stringify({message:A,history:M,provider:x,model:b.trim(),allow_provider_processing:!0})}),D=await H.json();if(!H.ok){f({message:typeof D.error=="string"?D.error:"The assistant could not complete this request.",setup:D.setup_required,retry:A}),t({...e,messages:g}),s(A);return}t({...e,messages:[...W,{role:"assistant",content:D.answer,cards:D.cards||[],references:D.references||[],drafts:D.drafts||[],limitations:D.limitations||[]}]})}catch(H){H.name!=="AbortError"&&(f({message:"Connection interrupted. No answer was received; the server may still be finishing the request."}),t({...e,messages:g}),s(A))}finally{c(!1)}};return Me.default.createElement("div",{style:{maxWidth:980,margin:"0 auto",color:"var(--color-text-primary)",display:"grid",gap:22}},Me.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"start"}},Me.default.createElement("div",null,Me.default.createElement(rt,null,"Workspace assistant"),Me.default.createElement("h1",{style:{margin:"8px 0",fontSize:30,fontWeight:600,letterSpacing:"-0.035em"}},"Ask ActiveAgents"),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:14}},"Find evaluation evidence. Understand failures. Build the next agent.")),g.length>0&&Me.default.createElement(zr,{disabled:u,onClick:()=>{t({...e,messages:[]}),f(null),s(""),v(!1)}},"New conversation")),!g.length&&Me.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12}},gce.map(k=>Me.default.createElement("button",{key:k.label,onClick:()=>{s(k.message),h.current?.querySelector("textarea")?.focus()},style:{textAlign:"left",padding:20,background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)",borderRadius:12,cursor:"pointer"}},Me.default.createElement("div",{style:{fontSize:14,fontWeight:600,marginBottom:8}},k.label," \u2197"),Me.default.createElement("div",{style:{fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},k.message)))),Me.default.createElement("div",{role:"log","aria-label":"Assistant conversation","aria-live":"polite",style:{display:"grid",gap:20}},g.map((k,A)=>Me.default.createElement("div",{key:A,style:{display:"grid",gap:12}},Me.default.createElement(rt,{color:k.role==="user"?"var(--color-text-muted)":"var(--color-accent-ui)"},k.role==="user"?"You":"ActiveAgents"),Me.default.createElement("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",lineHeight:1.7,fontSize:14}},k.content),k.cards?.map(M=>Me.default.createElement(yce,{key:M.id,card:M,onAsk:W=>{s(W),h.current?.querySelector("textarea")?.focus()},busy:u})),k.references?.length>0&&Me.default.createElement("div",{"aria-label":"Evidence references",style:{...To,display:"flex",gap:12,flexWrap:"wrap"}},k.references.map(M=>{let W=tU(M);return W&&Me.default.createElement("a",{key:M.id,href:W,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-ui)"}},M.id)})),k.drafts?.map(M=>Me.default.createElement(hce,{key:M.id,draft:M,onReview:r})),k.limitations?.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Scope of this answer"),Me.default.createElement("ul",{style:{paddingLeft:18}},k.limitations.map((M,W)=>Me.default.createElement("li",{key:W},M)))))),u&&Me.default.createElement("div",{role:"status",style:{color:"var(--color-text-secondary)",fontSize:13}},"Working with your workspace evidence\u2026")),d&&Me.default.createElement(yr,{padding:16,role:"alert",style:{borderColor:"var(--color-warning)",display:"grid",gap:12}},Me.default.createElement("div",{style:{fontSize:14}},d.message),d.setup&&Me.default.createElement(zr,{onClick:n,style:{justifySelf:"start"}},"Configure provider \u2192")),Me.default.createElement(yr,{padding:18},Me.default.createElement("form",{ref:h,onSubmit:k=>{k.preventDefault(),O(l)},style:{display:"grid",gap:14}},Me.default.createElement("label",{htmlFor:"assistant-question",style:{fontSize:13,fontWeight:600}},"What would you like to do?"),Me.default.createElement("textarea",{id:"assistant-question",placeholder:"Ask about your evals, or describe an agent to build\u2026",value:l,onChange:k=>s(k.target.value),maxLength:S,rows:3,disabled:u,style:{...U_,resize:"vertical",boxSizing:"border-box"}}),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"end",flexWrap:"wrap"}},Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"1 1 140px"}},"Provider",Me.default.createElement("select",{"aria-label":"Assistant provider",value:x,disabled:u||!o,onChange:k=>{let A=o.providers.find(M=>M.id===k.target.value);v(!1),t({...e,provider:A?.id||"",model:A?.default_model||""})},style:U_},Me.default.createElement("option",{value:""},o?"Choose a provider\u2026":"Loading\u2026"),o?.providers?.map(k=>Me.default.createElement("option",{key:k.id,value:k.id},k.id,k.configured?"":" \xB7 setup needed")))),Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"2 1 200px"}},"Model",Me.default.createElement("input",{"aria-label":"Assistant model",value:b,disabled:u||!o,maxLength:160,onChange:k=>{v(!1),t({...e,model:k.target.value})},style:U_})),Me.default.createElement(zr,{variant:"primary",type:"submit",disabled:u||!o||!l.trim()||!b.trim()||!a||!p},u?"Working\u2026":"Ask ActiveAgents \u2192")),Me.default.createElement("label",{style:{display:"flex",gap:9,alignItems:"start",fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},Me.default.createElement("input",{type:"checkbox",checked:p,disabled:u||!o,onChange:k=>v(k.target.checked),style:{marginTop:4}}),Me.default.createElement("span",null,"Allow ",x||"the selected provider"," / ",b||"model"," to process my messages, recent conversation history, and authorized evaluation report excerpts for this conversation.")),Me.default.createElement("div",{style:{...To,lineHeight:1.5}},a?w&&!w.configured?"This provider needs a credential in Settings before the assistant can respond.":"Uses your configured model provider. Agent drafts are reviewed before saving.":"Agent execution is disabled on this dashboard."," ","Reloading or starting a new conversation clears this conversation view. Your provider's data retention settings still apply."))))}function xce({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:a=null}){let{darkMode:o}=kt(),[i,l]=(0,Ze.useState)(t),[s,u]=(0,Ze.useState)("list"),[c,d]=(0,Ze.useState)(null),[f,p]=(0,Ze.useState)(!1),[v,y]=(0,Ze.useState)(null),[h,m]=(0,Ze.useState)(!1),[g,x]=(0,Ze.useState)("recent"),[b,S]=(0,Ze.useState)({messages:[]}),[w,O]=(0,Ze.useState)(null),k=r.assistantEnabled!==!1,[A,M]=(0,Ze.useState)(null);(0,Ze.useEffect)(()=>{let F=()=>{let G=Xu();if(G==="/assistant"&&k)u("assistant");else if(G.startsWith("/traces"))u("traces");else if(G.startsWith("/metrics"))u("metrics");else if(G.startsWith("/interactions"))u("interactions");else if(G.startsWith("/tools"))u("tools");else if(G.startsWith("/mcp")){let ee=G.match(/^\/mcp\/([^/?#]+)/)?.[1];ee&&M(decodeURIComponent(ee)),u("mcp")}else if(G.startsWith("/evaluations"))u("evaluations");else if(G.startsWith("/analytics"))u("analytics");else if(G.startsWith("/agents/new"))u("builder");else if(G.match(/\/agents\/\d+\/(interactions|history)/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];G.includes("/history")&&window.history.replaceState({},"",G.replace("/history","/interactions")),ee&&W(ee,"history")}else if(G.match(/\/agents\/\d+\/analytics/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"agent-analytics")}else if(G.match(/\/agents\/\d+\/edit/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"editor")}else if(G.match(/\/agents\/\d+\/run/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"runner")}else if(G.match(/\/agents\/\d+\/?$/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"history")}else G.startsWith("/replay")?u("replay"):G.startsWith("/sandbox")||G.startsWith("/demo")?u("sandbox"):G.startsWith("/organization")?u("organization"):G.startsWith("/settings")?u("settings"):u("list")};return F(),window.addEventListener("popstate",F),window.addEventListener("dashboard:navigate",F),()=>{window.removeEventListener("popstate",F),window.removeEventListener("dashboard:navigate",F)}},[]);let W=async(F,G)=>{p(!0);try{let fe=await(await fetch(`/api/agents/${F}`)).json();d(fe.agent),u(G)}catch{D("Failed to load agent","error")}finally{p(!1)}},L=async(F=g)=>{p(!0);try{let ee=await(await fetch(`/api/agents?sort=${F}`)).json();l(ee.agents)}catch{D("Failed to refresh agents","error")}finally{p(!1)}},H=F=>{x(F),L(F)},D=(F,G="info")=>{y({message:F,type:G}),setTimeout(()=>y(null),3e3)},Y=async F=>{p(!0);try{let G=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:F})});if(G.ok){let ee=await G.json();l([ee.agent,...i]),d(ee.agent),u("editor"),D("Agent created successfully!","success"),window.history.pushState({},"",Ge(`/agents/${ee.agent.id}/edit`))}else{let ee=await G.json();D(ee.errors?.join(", ")||"Failed to create agent","error")}}catch{D("Failed to create agent","error")}finally{p(!1)}},N=async(F,G)=>{p(!0);try{let ee=await fetch(`/api/agents/${F}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:G})});if(ee.ok){let fe=await ee.json();l(i.map(de=>de.id===F?fe.agent:de)),d(fe.agent),D("Agent updated!","success")}else{let fe=await ee.json();D(fe.errors?.join(", ")||"Failed to update agent","error")}}catch{D("Failed to update agent","error")}finally{p(!1)}},_=async F=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${F}`,{method:"DELETE"})).ok&&(l(i.filter(ee=>ee.id!==F)),d(null),u("list"),D("Agent deleted","success"),window.history.pushState({},"",Ge()))}catch{D("Failed to delete agent","error")}finally{p(!1)}}},z=async F=>{p(!0);try{let G=await fetch(`/api/agents/${F}/duplicate`,{method:"POST"});if(G.ok){let ee=await G.json();l([ee.agent,...i]),D("Agent duplicated!","success")}}catch{D("Failed to duplicate agent","error")}finally{p(!1)}},j=F=>{l([F,...i]),m(!1),D("Agent created from template!","success"),B("editor",F)},P=["editor","runner","agent-analytics","history"],B=(F,G=null)=>{if(F==="assistant"&&!k)return;F==="builder"&&O(null),G?.id&&P.includes(F)&&G.instructions===void 0?W(G.id,F):(d(G),u(F));let ee=Ge();F==="assistant"?ee=Ge("/assistant"):F==="builder"?ee=Ge("/agents/new"):F==="editor"&&G?ee=Ge(`/agents/${G.id}/edit`):F==="runner"&&G?ee=Ge(`/agents/${G.id}/run`):F==="agent-analytics"&&G?ee=Ge(`/agents/${G.id}/analytics`):F==="history"&&G?ee=Ge(`/agents/${G.id}/interactions`):F==="analytics"?ee=Ge("/analytics"):F==="traces"?ee=Ge("/traces"):F==="metrics"?ee=Ge("/metrics"):F==="interactions"?ee=Ge("/interactions"):F==="tools"?ee=Ge("/tools"):F==="mcp"?ee=Ge("/mcp"):F==="evaluations"?ee=Ge("/evaluations"):F==="replay"?ee=Ge("/replay"):F==="sandbox"?ee=Ge("/sandbox"):F==="organization"?ee=Ge("/organization"):F==="settings"&&(ee=Ge("/settings")),window.history.pushState({},"",ee)},R=()=>{switch(s){case"assistant":return k?Ze.default.createElement(F_,{session:b,onSessionChange:S,executionEnabled:r.executionEnabled!==!1,onOpenSettings:()=>B("settings"),onReviewDraft:F=>{O(F),u("builder"),window.history.pushState({},"",Ge("/agents/new"))}}):null;case"builder":return Ze.default.createElement(tA,{key:w?.id||"new-agent",initialDraft:w,meta:r,onSave:Y,onCancel:()=>B(w?"assistant":"list"),isLoading:f});case"editor":return c?Ze.default.createElement(K1,{key:`editor-${c.id}`,agent:c,meta:r,onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"runner":return c?Ze.default.createElement(f_,{agent:c,onBack:()=>B("editor",c)}):null;case"agent-analytics":return c?Ze.default.createElement(K1,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"history":return c?Ze.default.createElement(m_,{agent:c,onBack:()=>B("editor",c)}):null;case"analytics":return Ze.default.createElement(p_,{onSelectAgent:F=>{W(F.id,"agent-analytics")}});case"traces":return Ze.default.createElement(Zu,null);case"metrics":return Ze.default.createElement(E_,null);case"interactions":return Ze.default.createElement(rl,null);case"tools":return Ze.default.createElement(__,{onOpenServer:F=>{M(F),B("mcp")}});case"mcp":return Ze.default.createElement(O_,{focusServer:A,onOpenTools:()=>{M(null),B("tools")}});case"evaluations":return Ze.default.createElement(eg,null);case"replay":return Ze.default.createElement(L_,{onHandoff:F=>{D("Taking over session...","info"),B("sandbox")},onClose:()=>B("list")});case"sandbox":return Ze.default.createElement(j_,{initialType:"playwright_mcp",onClose:()=>B("list")});case"organization":return Ze.default.createElement(B_,{user:e,account:n,subscription:a,agentCount:i.length});case"settings":return Ze.default.createElement($_,{user:e});default:return Ze.default.createElement(eA,{agents:i,meta:r,onSelect:F=>B("editor",F),onNew:()=>B("builder"),onBrowseTemplates:()=>m(!0),onDuplicate:z,onDelete:_,onRefresh:L,sort:g,onSortChange:H,isLoading:f})}};return Ze.default.createElement("div",{className:`aa-dashboard min-h-screen flex${o?" theme-dark":""}`,style:{backgroundColor:o?"#0f0f0f":"#f9fafb"}},Ze.default.createElement(g_,{currentView:s,onNavigate:B,agentCount:i.length,account:n,user:e,gemVersion:r.activeagentVersion,assistantEnabled:k}),Ze.default.createElement("div",{className:"flex-1 flex flex-col min-w-0"},Ze.default.createElement(y_,{user:e,account:n}),Ze.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},R())),h&&Ze.default.createElement(v_,{onUseTemplate:j,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 ${o?"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 W_(e){return Ze.default.createElement(L3,null,Ze.default.createElement(w7,null,Ze.default.createElement(xce,{...e})))}var bce="active-agent-dashboard";function wce(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 o=new URL(n.url,window.location.origin);return r(new Request(`${t}${o.pathname}${o.search}`,n),a)}return r(n,a)}}function rU(){let e=document.getElementById(bce);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,wce(t.mountPath||"/"),(0,aU.createRoot)(e).render(nU.default.createElement(W_,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",rU):rU(); + api_key: <%= ENV["ACTIVEAGENTS_API_KEY"] %>`),he.default.createElement("div",{className:"flex items-center justify-between gap-3"},he.default.createElement("div",{className:"min-w-0 flex-1"},he.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${a?"text-gray-500":"text-gray-400"}`},"API Key"),he.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")),he.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},he.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"),he.default.createElement("button",{onClick:h,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var me=te(ne());var eU={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 $_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,me.useState)("profile"),[i,l]=(0,me.useState)([]),[s,u]=(0,me.useState)([]),[c,d]=(0,me.useState)(!1),[f,p]=(0,me.useState)(""),[m,g]=(0,me.useState)(!1),[h,v]=(0,me.useState)(null),[y,b]=(0,me.useState)(!1),[x,S]=(0,me.useState)(null),[w,O]=(0,me.useState)(null),[k,A]=(0,me.useState)(""),[M,W]=(0,me.useState)(!1),L=(0,me.useCallback)(async()=>{try{let[P,B]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!P.ok||!B.ok)throw new Error("Failed to load keys");let R=await P.json(),F=await B.json();l(R.api_keys||[]),u(F.provider_keys||[]),S(null)}catch{S("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,me.useEffect)(()=>{a==="api-keys"&&!c&&L()},[a,c,L]);let H=async()=>{if(!(!f.trim()||m)){g(!0),S(null);try{let P=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!P.ok)throw new Error("create failed");let B=await P.json();v(B.api_key),b(!1),p(""),await L()}catch{S("Could not create the API key.")}finally{g(!1)}}},D=async P=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");h&&h.id===P&&v(null),await L()}catch{S("Could not revoke the API key.")}},Y=async P=>{if(!(!k.trim()||M)){W(!0),S(null);try{let B=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:P,credential:k.trim()})});if(!B.ok){let R=await B.json().catch(()=>({}));throw new Error(Array.isArray(R.error)?R.error.join(", "):"save failed")}O(null),A(""),await L()}catch(B){S(`Could not save the ${eU[P]?.label||P} credential${B.message!=="save failed"?`: ${B.message}`:"."}`)}finally{W(!1)}}},N=async P=>{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/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");await L()}catch{S("Could not remove the provider credential.")}},_=async P=>{try{await navigator.clipboard.writeText(P),b(!0),setTimeout(()=>b(!1),2e3)}catch{}},z={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return me.default.createElement("div",{className:"p-6 space-y-6"},me.default.createElement("div",null,me.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),me.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),me.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("nav",{className:"flex space-x-8"},[{id:"profile",label:"Profile"},{id:"api-keys",label:"API Keys"},{id:"notifications",label:"Notifications"},{id:"billing",label:"Billing"}].map(P=>me.default.createElement("button",{key:P.id,onClick:()=>o(P.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${a===P.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},P.label)))),a==="profile"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),me.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[0]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[1]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",{className:"md:col-span-2"},me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),me.default.createElement("input",{type:"email",defaultValue:e?.email||"",disabled:!0,className:`w-full px-3 py-2 border rounded-lg cursor-not-allowed ${r?"bg-gray-900 border-gray-700 text-gray-500":"bg-gray-100 border-gray-300 text-gray-500"}`}))),me.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),me.default.createElement("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${r?"bg-red-500":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),a==="api-keys"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("div",{className:"flex items-center justify-between mb-4"},me.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("input",{type:"text",value:f,onChange:P=>p(P.target.value),onKeyDown:P=>P.key==="Enter"&&H(),placeholder:"Key name (e.g. production)",className:`px-3 py-2 border rounded-lg text-sm ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:H,disabled:!f.trim()||m,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 whitespace-nowrap"},m?"Creating\u2026":"+ Create New Key"))),me.default.createElement("div",{className:`p-4 rounded-lg mb-4 ${r?"bg-yellow-900/20 border border-yellow-800":"bg-yellow-50 border border-yellow-200"}`},me.default.createElement("p",{className:`text-sm ${r?"text-yellow-300":"text-yellow-800"}`},"\u26A0\uFE0F API keys are secrets. Never share them or commit them to version control.")),x&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 text-sm ${r?"bg-red-900/20 border border-red-800 text-red-300":"bg-red-50 border border-red-200 text-red-700"}`},x),h&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 border ${r?"bg-green-900/20 border-green-800":"bg-green-50 border-green-200"}`},me.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",h.name,"\u201D created. Copy it now \u2014 it won't be shown again."),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("code",{className:`flex-1 px-3 py-2 rounded text-sm font-mono break-all ${r?"bg-gray-900 text-green-300":"bg-white text-green-800 border border-green-200"}`},h.token),me.default.createElement("button",{onClick:()=>_(h.token),className:`px-3 py-2 text-sm rounded ${r?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},y?"Copied!":"Copy"),me.default.createElement("button",{onClick:()=>v(null),className:`px-3 py-2 text-sm rounded ${r?"text-gray-400 hover:text-gray-200":"text-gray-500 hover:text-gray-700"}`},"Dismiss"))),i.length===0?me.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},me.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&me.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):me.default.createElement("div",{className:"space-y-2"},i.map(P=>me.default.createElement("div",{key:P.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.name),me.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},P.masked_token,me.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(P.created_at).toLocaleDateString(),P.last_used_at?` \xB7 last used ${new Date(P.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),me.default.createElement("button",{onClick:()=>D(P.id),className:`px-3 py-1 text-sm rounded ${r?"bg-red-900/40 text-red-300 hover:bg-red-900/60":"bg-red-50 text-red-600 hover:bg-red-100"}`},"Revoke"))))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),me.default.createElement("p",{className:`text-sm mb-4 ${r?"text-gray-400":"text-gray-500"}`},"Configure your own LLM provider credentials. Agent runs and evaluations on this account use these instead of the platform defaults. Keys are encrypted at rest."),me.default.createElement("div",{className:"space-y-4"},s.map(({provider:P,host_based:B,configured:R,hint:F})=>{let G=eU[P]||{label:P,icon:"\u{1F511}",placeholder:""},ee=w===P;return me.default.createElement("div",{key:P,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",{className:"flex items-center space-x-3"},me.default.createElement("span",{className:"text-xl"},G.icon),me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},G.label),me.default.createElement("p",{className:`text-sm ${R?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},R?B?F:`Configured (${F})`:"Not configured"))),me.default.createElement("div",{className:"flex items-center space-x-2"},R&&!ee&&me.default.createElement("button",{onClick:()=>N(P),className:`px-3 py-1 text-sm rounded ${r?"text-red-300 hover:bg-red-900/40":"text-red-600 hover:bg-red-50"}`},"Remove"),me.default.createElement("button",{onClick:()=>{O(ee?null:P),A("")},className:`px-3 py-1 text-sm rounded ${r?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},ee?"Cancel":R?"Update":"Configure"))),ee&&me.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},me.default.createElement("input",{type:B?"text":"password",value:k,onChange:fe=>A(fe.target.value),onKeyDown:fe=>fe.key==="Enter"&&Y(P),placeholder:B?G.placeholder:`${G.label} API key (${G.placeholder})`,autoFocus:!0,className:`flex-1 px-3 py-2 border rounded-lg text-sm font-mono ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:()=>Y(P),disabled:!k.trim()||M,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},M?"Saving\u2026":"Save")),B&&ee&&me.default.createElement("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`},"URL of your Ollama server's OpenAI-compatible endpoint. For a locally running Ollama use http://localhost:11434/v1 (the hosted platform needs a publicly reachable URL, e.g. a tunnel)."))})))),a==="notifications"&&me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),me.default.createElement("div",{className:"space-y-4"},[{label:"Agent execution alerts",desc:"Get notified when agents fail or complete",enabled:!0},{label:"Weekly usage reports",desc:"Summary of traces, costs, and performance",enabled:!0},{label:"Security alerts",desc:"Important security notifications",enabled:!0},{label:"Product updates",desc:"New features and improvements",enabled:!1}].map((P,B)=>me.default.createElement("div",{key:B,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.label),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},P.desc)),me.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${P.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${P.enabled?"translate-x-6":"translate-x-1"}`})))))),a==="billing"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),me.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),me.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),me.default.createElement("button",{className:`mt-4 px-4 py-2 rounded-lg ${r?"bg-gray-700 text-gray-300":"bg-gray-200 text-gray-700"}`},"Add Payment Method")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}var Me=te(ne());var gce=[{label:"Find demo questions",message:"What demo questions worked in our latest evaluations? Show the evidence and tell me whether they are verified on current main."},{label:"Explain a failed eval",message:"Show my latest evaluation reports and explain which failures need attention."},{label:"Draft an agent",message:"Prepare a read-only support agent that cites available evidence and explains missing information instead of inventing answers."}],U_={width:"100%",background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border-strong)",borderRadius:8,padding:"9px 12px",font:"inherit"},To={color:"var(--color-text-muted)",fontSize:12};function tU(e){let t=e.latest_run?.path||e.path||"";return/^\/evaluations(?:\/\d+\/runs\/\d+\/report)?$/.test(t)?Ge(t):null}function yce({card:e,onAsk:t,busy:r}){let n=tU(e),a=e.type==="demo_candidate",o=e.run_id||e.latest_run?.run_id,i=e.status||e.latest_run?.status;return Me.default.createElement(yr,{padding:16,testId:"assistant-evidence-card",style:{display:"grid",gap:10}},Me.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Me.default.createElement(or,{tone:a?"warning":"info"},a?"Historical pass":"Recorded evaluation"),i&&Me.default.createElement(or,{tone:i==="errored"||i==="failed"?"error":"muted"},i),e.check_strength&&Me.default.createElement("span",{style:To},String(e.check_strength).replaceAll("_"," "))),Me.default.createElement("div",{style:{fontWeight:600,overflowWrap:"anywhere"}},e.recorded_prompt||e.title),Me.default.createElement("div",{style:{...To,fontFamily:ye}},[e.provider,e.model,o&&`run ${o}`].filter(Boolean).join(" \xB7 "),e.completed_at&&` \xB7 ${new Date(e.completed_at).toLocaleString()}`),e.output_excerpt&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-text-secondary)"}},e.output_excerpt),(e.error||e.latest_run?.error)&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-error)"}},e.error||e.latest_run.error),e.fault&&Me.default.createElement("div",{style:To},"Fault: ",e.fault.replaceAll("_"," ")),e.samples_evaluated!=null&&Me.default.createElement("div",{style:To},e.samples_passed||0," / ",e.samples_evaluated," scenarios passed"),e.tool_names?.length>0&&Me.default.createElement("div",{style:To},"Tools recorded: ",e.tool_names.join(", ")),Array.isArray(e.caveats)&&e.caveats.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Evidence limits"),Me.default.createElement("ul",{style:{paddingLeft:18,marginTop:8}},e.caveats.map((s,u)=>Me.default.createElement("li",{key:u},s)))),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"}},n&&Me.default.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--color-accent-ui)"}},n===Ge("/evaluations")?"Open evaluations \u2192":"Open report \u2192"),e.evaluation_id&&o&&Me.default.createElement(zr,{size:"sm",disabled:r,onClick:()=>t(`Read evaluation ${e.evaluation_id}, run ${o}. Explain its results, the strength of its checks, and what needs fixing.`)},"Explain this run")))}function hce({draft:e,onReview:t}){return Me.default.createElement(yr,{padding:18,testId:"assistant-agent-draft",style:{display:"grid",gap:12,borderColor:"var(--color-accent-ui)"}},Me.default.createElement(rt,null,"Agent draft \xB7 not saved"),Me.default.createElement("div",{style:{fontWeight:600,fontSize:18}},e.name),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:13}},e.description),Me.default.createElement("div",{style:{...To,fontFamily:ye}},e.provider," / ",e.model),Me.default.createElement("details",null,Me.default.createElement("summary",{style:{cursor:"pointer",fontSize:13}},"Review instructions and tools"),Me.default.createElement("pre",{style:{whiteSpace:"pre-wrap",fontFamily:"inherit",fontSize:13,maxHeight:280,overflow:"auto"}},e.instructions),Me.default.createElement("p",{style:To},"Tools: ",e.tools?.length?e.tools.join(", "):"None")),Me.default.createElement(zr,{variant:"primary",onClick:()=>t(e),style:{justifySelf:"start"}},"Review in builder \u2192"))}function F_({session:e,onSessionChange:t,onReviewDraft:r,onOpenSettings:n,executionEnabled:a=!0}){let[o,i]=(0,Me.useState)(null),[l,s]=(0,Me.useState)(""),[u,c]=(0,Me.useState)(!1),[d,f]=(0,Me.useState)(null),[p,m]=(0,Me.useState)(!1),g=(0,Me.useRef)(null),h=(0,Me.useRef)(null),v=(0,Me.useRef)(e);v.current=e,(0,Me.useEffect)(()=>{let k=new AbortController;return fetch("/api/dashboard_assistant",{signal:k.signal}).then(async A=>{let M=await A.json();if(!A.ok)throw new Error(M.error||"Could not load assistant configuration.");i(M),v.current.provider||t({...v.current,...M.defaults})}).catch(A=>{A.name!=="AbortError"&&f({message:A.message})}),()=>{k.abort(),g.current?.abort()}},[]);let y=e.messages||[],b=e.provider||o?.defaults?.provider||"",x=e.model||"",S=o?.limits?.message_characters||8e3,w=o?.providers?.find(k=>k.id===b),O=async k=>{let A=k.trim();if(!A||u||!o||!a||!x.trim()||!p)return;let M=y.map(H=>({role:H.role,content:H.content})).slice(-12);for(;M.reduce((H,D)=>H+D.content.length,0)>24e3;)M.shift();let W=[...y,{role:"user",content:A}];t({...e,messages:W}),s(""),f(null),c(!0);let L=new AbortController;g.current=L;try{let H=await fetch("/api/dashboard_assistant",{method:"POST",signal:L.signal,headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""},body:JSON.stringify({message:A,history:M,provider:b,model:x.trim(),allow_provider_processing:!0})}),D=await H.json();if(!H.ok){f({message:typeof D.error=="string"?D.error:"The assistant could not complete this request.",setup:D.setup_required,retry:A}),t({...e,messages:y}),s(A);return}t({...e,messages:[...W,{role:"assistant",content:D.answer,cards:D.cards||[],references:D.references||[],drafts:D.drafts||[],limitations:D.limitations||[]}]})}catch(H){H.name!=="AbortError"&&(f({message:"Connection interrupted. No answer was received; the server may still be finishing the request."}),t({...e,messages:y}),s(A))}finally{c(!1)}};return Me.default.createElement("div",{style:{maxWidth:980,margin:"0 auto",color:"var(--color-text-primary)",display:"grid",gap:22}},Me.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"start"}},Me.default.createElement("div",null,Me.default.createElement(rt,null,"Workspace assistant"),Me.default.createElement("h1",{style:{margin:"8px 0",fontSize:30,fontWeight:600,letterSpacing:"-0.035em"}},"Ask ActiveAgents"),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:14}},"Find evaluation evidence. Understand failures. Build the next agent.")),y.length>0&&Me.default.createElement(zr,{disabled:u,onClick:()=>{t({...e,messages:[]}),f(null),s(""),m(!1)}},"New conversation")),!y.length&&Me.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12}},gce.map(k=>Me.default.createElement("button",{key:k.label,onClick:()=>{s(k.message),h.current?.querySelector("textarea")?.focus()},style:{textAlign:"left",padding:20,background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)",borderRadius:12,cursor:"pointer"}},Me.default.createElement("div",{style:{fontSize:14,fontWeight:600,marginBottom:8}},k.label," \u2197"),Me.default.createElement("div",{style:{fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},k.message)))),Me.default.createElement("div",{role:"log","aria-label":"Assistant conversation","aria-live":"polite",style:{display:"grid",gap:20}},y.map((k,A)=>Me.default.createElement("div",{key:A,style:{display:"grid",gap:12}},Me.default.createElement(rt,{color:k.role==="user"?"var(--color-text-muted)":"var(--color-accent-ui)"},k.role==="user"?"You":"ActiveAgents"),Me.default.createElement("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",lineHeight:1.7,fontSize:14}},k.content),k.cards?.map(M=>Me.default.createElement(yce,{key:M.id,card:M,onAsk:W=>{s(W),h.current?.querySelector("textarea")?.focus()},busy:u})),k.references?.length>0&&Me.default.createElement("div",{"aria-label":"Evidence references",style:{...To,display:"flex",gap:12,flexWrap:"wrap"}},k.references.map(M=>{let W=tU(M);return W&&Me.default.createElement("a",{key:M.id,href:W,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-ui)"}},M.id)})),k.drafts?.map(M=>Me.default.createElement(hce,{key:M.id,draft:M,onReview:r})),k.limitations?.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Scope of this answer"),Me.default.createElement("ul",{style:{paddingLeft:18}},k.limitations.map((M,W)=>Me.default.createElement("li",{key:W},M)))))),u&&Me.default.createElement("div",{role:"status",style:{color:"var(--color-text-secondary)",fontSize:13}},"Working with your workspace evidence\u2026")),d&&Me.default.createElement(yr,{padding:16,role:"alert",style:{borderColor:"var(--color-warning)",display:"grid",gap:12}},Me.default.createElement("div",{style:{fontSize:14}},d.message),d.setup&&Me.default.createElement(zr,{onClick:n,style:{justifySelf:"start"}},"Configure provider \u2192")),Me.default.createElement(yr,{padding:18},Me.default.createElement("form",{ref:h,onSubmit:k=>{k.preventDefault(),O(l)},style:{display:"grid",gap:14}},Me.default.createElement("label",{htmlFor:"assistant-question",style:{fontSize:13,fontWeight:600}},"What would you like to do?"),Me.default.createElement("textarea",{id:"assistant-question",placeholder:"Ask about your evals, or describe an agent to build\u2026",value:l,onChange:k=>s(k.target.value),maxLength:S,rows:3,disabled:u,style:{...U_,resize:"vertical",boxSizing:"border-box"}}),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"end",flexWrap:"wrap"}},Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"1 1 140px"}},"Provider",Me.default.createElement("select",{"aria-label":"Assistant provider",value:b,disabled:u||!o,onChange:k=>{let A=o.providers.find(M=>M.id===k.target.value);m(!1),t({...e,provider:A?.id||"",model:A?.default_model||""})},style:U_},Me.default.createElement("option",{value:""},o?"Choose a provider\u2026":"Loading\u2026"),o?.providers?.map(k=>Me.default.createElement("option",{key:k.id,value:k.id},k.id,k.configured?"":" \xB7 setup needed")))),Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"2 1 200px"}},"Model",Me.default.createElement("input",{"aria-label":"Assistant model",value:x,disabled:u||!o,maxLength:160,onChange:k=>{m(!1),t({...e,model:k.target.value})},style:U_})),Me.default.createElement(zr,{variant:"primary",type:"submit",disabled:u||!o||!l.trim()||!x.trim()||!a||!p},u?"Working\u2026":"Ask ActiveAgents \u2192")),Me.default.createElement("label",{style:{display:"flex",gap:9,alignItems:"start",fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},Me.default.createElement("input",{type:"checkbox",checked:p,disabled:u||!o,onChange:k=>m(k.target.checked),style:{marginTop:4}}),Me.default.createElement("span",null,"Allow ",b||"the selected provider"," / ",x||"model"," to process my messages, recent conversation history, and authorized evaluation report excerpts for this conversation.")),Me.default.createElement("div",{style:{...To,lineHeight:1.5}},a?w&&!w.configured?"This provider needs a credential in Settings before the assistant can respond.":"Uses your configured model provider. Agent drafts are reviewed before saving.":"Agent execution is disabled on this dashboard."," ","Reloading or starting a new conversation clears this conversation view. Your provider's data retention settings still apply."))))}function xce({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:a=null}){let{darkMode:o}=kt(),[i,l]=(0,Ze.useState)(t),[s,u]=(0,Ze.useState)("list"),[c,d]=(0,Ze.useState)(null),[f,p]=(0,Ze.useState)(!1),[m,g]=(0,Ze.useState)(null),[h,v]=(0,Ze.useState)(!1),[y,b]=(0,Ze.useState)("recent"),[x,S]=(0,Ze.useState)({messages:[]}),[w,O]=(0,Ze.useState)(null),k=r.assistantEnabled!==!1,[A,M]=(0,Ze.useState)(null);(0,Ze.useEffect)(()=>{let F=()=>{let G=Xu();if(G==="/assistant"&&k)u("assistant");else if(G.startsWith("/traces"))u("traces");else if(G.startsWith("/metrics"))u("metrics");else if(G.startsWith("/interactions"))u("interactions");else if(G.startsWith("/tools"))u("tools");else if(G.startsWith("/mcp")){let ee=G.match(/^\/mcp\/([^/?#]+)/)?.[1];ee&&M(decodeURIComponent(ee)),u("mcp")}else if(G.startsWith("/evaluations"))u("evaluations");else if(G.startsWith("/analytics"))u("analytics");else if(G.startsWith("/agents/new"))u("builder");else if(G.match(/\/agents\/\d+\/(interactions|history)/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];G.includes("/history")&&window.history.replaceState({},"",G.replace("/history","/interactions")),ee&&W(ee,"history")}else if(G.match(/\/agents\/\d+\/analytics/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"agent-analytics")}else if(G.match(/\/agents\/\d+\/edit/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"editor")}else if(G.match(/\/agents\/\d+\/run/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"runner")}else if(G.match(/\/agents\/\d+\/?$/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"history")}else G.startsWith("/replay")?u("replay"):G.startsWith("/sandbox")||G.startsWith("/demo")?u("sandbox"):G.startsWith("/organization")?u("organization"):G.startsWith("/settings")?u("settings"):u("list")};return F(),window.addEventListener("popstate",F),window.addEventListener("dashboard:navigate",F),()=>{window.removeEventListener("popstate",F),window.removeEventListener("dashboard:navigate",F)}},[]);let W=async(F,G)=>{p(!0);try{let fe=await(await fetch(`/api/agents/${F}`)).json();d(fe.agent),u(G)}catch{D("Failed to load agent","error")}finally{p(!1)}},L=async(F=y)=>{p(!0);try{let ee=await(await fetch(`/api/agents?sort=${F}`)).json();l(ee.agents)}catch{D("Failed to refresh agents","error")}finally{p(!1)}},H=F=>{b(F),L(F)},D=(F,G="info")=>{g({message:F,type:G}),setTimeout(()=>g(null),3e3)},Y=async F=>{p(!0);try{let G=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:F})});if(G.ok){let ee=await G.json();l([ee.agent,...i]),d(ee.agent),u("editor"),D("Agent created successfully!","success"),window.history.pushState({},"",Ge(`/agents/${ee.agent.id}/edit`))}else{let ee=await G.json();D(ee.errors?.join(", ")||"Failed to create agent","error")}}catch{D("Failed to create agent","error")}finally{p(!1)}},N=async(F,G)=>{p(!0);try{let ee=await fetch(`/api/agents/${F}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:G})});if(ee.ok){let fe=await ee.json();l(i.map(de=>de.id===F?fe.agent:de)),d(fe.agent),D("Agent updated!","success")}else{let fe=await ee.json();D(fe.errors?.join(", ")||"Failed to update agent","error")}}catch{D("Failed to update agent","error")}finally{p(!1)}},_=async F=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${F}`,{method:"DELETE"})).ok&&(l(i.filter(ee=>ee.id!==F)),d(null),u("list"),D("Agent deleted","success"),window.history.pushState({},"",Ge()))}catch{D("Failed to delete agent","error")}finally{p(!1)}}},z=async F=>{p(!0);try{let G=await fetch(`/api/agents/${F}/duplicate`,{method:"POST"});if(G.ok){let ee=await G.json();l([ee.agent,...i]),D("Agent duplicated!","success")}}catch{D("Failed to duplicate agent","error")}finally{p(!1)}},j=F=>{l([F,...i]),v(!1),D("Agent created from template!","success"),B("editor",F)},P=["editor","runner","agent-analytics","history"],B=(F,G=null)=>{if(F==="assistant"&&!k)return;F==="builder"&&O(null),G?.id&&P.includes(F)&&G.instructions===void 0?W(G.id,F):(d(G),u(F));let ee=Ge();F==="assistant"?ee=Ge("/assistant"):F==="builder"?ee=Ge("/agents/new"):F==="editor"&&G?ee=Ge(`/agents/${G.id}/edit`):F==="runner"&&G?ee=Ge(`/agents/${G.id}/run`):F==="agent-analytics"&&G?ee=Ge(`/agents/${G.id}/analytics`):F==="history"&&G?ee=Ge(`/agents/${G.id}/interactions`):F==="analytics"?ee=Ge("/analytics"):F==="traces"?ee=Ge("/traces"):F==="metrics"?ee=Ge("/metrics"):F==="interactions"?ee=Ge("/interactions"):F==="tools"?ee=Ge("/tools"):F==="mcp"?ee=Ge("/mcp"):F==="evaluations"?ee=Ge("/evaluations"):F==="replay"?ee=Ge("/replay"):F==="sandbox"?ee=Ge("/sandbox"):F==="organization"?ee=Ge("/organization"):F==="settings"&&(ee=Ge("/settings")),window.history.pushState({},"",ee)},R=()=>{switch(s){case"assistant":return k?Ze.default.createElement(F_,{session:x,onSessionChange:S,executionEnabled:r.executionEnabled!==!1,onOpenSettings:()=>B("settings"),onReviewDraft:F=>{O(F),u("builder"),window.history.pushState({},"",Ge("/agents/new"))}}):null;case"builder":return Ze.default.createElement(tA,{key:w?.id||"new-agent",initialDraft:w,meta:r,onSave:Y,onCancel:()=>B(w?"assistant":"list"),isLoading:f});case"editor":return c?Ze.default.createElement(K1,{key:`editor-${c.id}`,agent:c,meta:r,onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"runner":return c?Ze.default.createElement(f_,{agent:c,onBack:()=>B("editor",c)}):null;case"agent-analytics":return c?Ze.default.createElement(K1,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"history":return c?Ze.default.createElement(m_,{agent:c,onBack:()=>B("editor",c)}):null;case"analytics":return Ze.default.createElement(p_,{onSelectAgent:F=>{W(F.id,"agent-analytics")}});case"traces":return Ze.default.createElement(Zu,null);case"metrics":return Ze.default.createElement(E_,null);case"interactions":return Ze.default.createElement(rl,null);case"tools":return Ze.default.createElement(__,{onOpenServer:F=>{M(F),B("mcp")}});case"mcp":return Ze.default.createElement(O_,{focusServer:A,onOpenTools:()=>{M(null),B("tools")}});case"evaluations":return Ze.default.createElement(eg,null);case"replay":return Ze.default.createElement(L_,{onHandoff:F=>{D("Taking over session...","info"),B("sandbox")},onClose:()=>B("list")});case"sandbox":return Ze.default.createElement(j_,{initialType:"playwright_mcp",onClose:()=>B("list")});case"organization":return Ze.default.createElement(B_,{user:e,account:n,subscription:a,agentCount:i.length});case"settings":return Ze.default.createElement($_,{user:e});default:return Ze.default.createElement(eA,{agents:i,meta:r,onSelect:F=>B("editor",F),onNew:()=>B("builder"),onBrowseTemplates:()=>v(!0),onDuplicate:z,onDelete:_,onRefresh:L,sort:y,onSortChange:H,isLoading:f})}};return Ze.default.createElement("div",{className:`aa-dashboard min-h-screen flex${o?" theme-dark":""}`,style:{backgroundColor:o?"#0f0f0f":"#f9fafb"}},Ze.default.createElement(g_,{currentView:s,onNavigate:B,agentCount:i.length,account:n,user:e,gemVersion:r.activeagentVersion,assistantEnabled:k}),Ze.default.createElement("div",{className:"flex-1 flex flex-col min-w-0"},Ze.default.createElement(y_,{user:e,account:n}),Ze.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},R())),h&&Ze.default.createElement(v_,{onUseTemplate:j,onClose:()=>v(!1)}),m&&Ze.default.createElement("div",{className:`fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg transition-all transform ${m.type==="error"?"bg-red-500":m.type==="success"?"bg-green-500":"bg-blue-500"} text-white`},m.message),f&&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 ${o?"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 W_(e){return Ze.default.createElement(L3,null,Ze.default.createElement(w7,null,Ze.default.createElement(xce,{...e})))}var bce="active-agent-dashboard";function wce(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 o=new URL(n.url,window.location.origin);return r(new Request(`${t}${o.pathname}${o.search}`,n),a)}return r(n,a)}}function rU(){let e=document.getElementById(bce);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,wce(t.mountPath||"/"),(0,aU.createRoot)(e).render(nU.default.createElement(W_,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",rU):rU(); /*! Bundled license information: react/cjs/react.production.js: diff --git a/actionagent/app/services/action_agent/agent_execution_service.rb b/actionagent/app/services/action_agent/agent_execution_service.rb index 58d6a8fb..6fc8a47a 100644 --- a/actionagent/app/services/action_agent/agent_execution_service.rb +++ b/actionagent/app/services/action_agent/agent_execution_service.rb @@ -178,6 +178,9 @@ def record_prompt_span(root_span) # one understates it by whatever the clip dropped, which for a twelve-tool # agent is most of the schema. record_tool_schema_attributes(span) + full_transcript_json = prompt_turn[:transcript].map do |message| + { role: message[:role], content: message[:content].to_s } + end.to_json transcript = prompt_turn[:transcript].map do |message| { role: message[:role], content: message[:content].to_s.byteslice(0, 4000).to_s.scrub } end @@ -190,6 +193,13 @@ def record_prompt_span(root_span) end span.set_attribute("prompt.input.messages", serialized) span.set_attribute("messages.count", transcript.size) + # The stored attribute is the tail of the history that fit, so its size is + # not the transcript's. The meter apportions the provider's prompt_tokens + # across the segments it can size, and a transcript missing from that set + # is not merely imprecise: the segments that remain are scaled up to cover + # it, so a long conversation reads as an enormous system prompt. Measured + # over the full turn, before either the per-message clip or the trim. + span.set_attribute("prompt.input.messages.tokens", estimated_tokens(full_transcript_json)) span.finish rescue StandardError => e Rails.logger.warn("[AgentExecutionService] prompt span failed: #{e.message}") diff --git a/actionagent/frontend/test/traceContext.test.mjs b/actionagent/frontend/test/traceContext.test.mjs index b0304c8b..1c36e4f3 100644 --- a/actionagent/frontend/test/traceContext.test.mjs +++ b/actionagent/frontend/test/traceContext.test.mjs @@ -101,7 +101,8 @@ test('attributes MCP schemas separately from the toolbox schemas', () => { test('the input segments always sum to the reported prompt tokens', () => { // Three segments that scale to thirds would each round to 333 and lose a - // token; messages carries the remainder so the bar still fills. + // token; the largest segment carries the rounding drift so the bar still + // fills. const context = traceContext( trace({ attributes: { @@ -154,3 +155,75 @@ test('holds the peak generation against the model window', () => { assert.equal(context.thinking, 20); assert.equal(segment(context, 'output'), 100); }); + +// The transcript has to be one of the apportioned segments. It is the only +// piece whose stored attribute is a trimmed tail rather than a clipped head, so +// it was the one left sized by the remainder — and a remainder cannot survive +// scaling the other segments to fill the total. + +test('keeps a recorded transcript size instead of inflating the other segments', () => { + // The ordinary dashboard trace: a long conversation, a small system prompt, + // one small tool. Leaving the transcript out of the apportioning scaled the + // rest up to cover it, so this read as 13k of "Instructions" and no history. + const context = traceContext( + trace({ + input: 20000, + output: 300, + attributes: { + 'prompt.input.instructions.tokens': 500, + 'prompt.input.tools.tokens': 250, + 'prompt.input.messages.tokens': 19250, + }, + }) + ); + + assert.equal(segment(context, 'messages'), 19250); + assert.equal(segment(context, 'instructions'), 500); + assert.equal(segment(context, 'tool_schemas'), 250); +}); + +test('estimates the transcript from the stored preview when no size was recorded', () => { + const context = traceContext( + trace({ + input: 1000, + attributes: { + 'prompt.input.instructions': 'x'.repeat(400), + 'prompt.input.messages': JSON.stringify([ { role: 'user', content: 'y'.repeat(1200) } ]), + }, + }) + ); + + // The preview estimates ~308 tokens against 100 for the instructions, so the + // history takes the larger share rather than none of it. + assert.ok(segment(context, 'messages') > segment(context, 'instructions')); + assert.equal(segment(context, 'messages') + segment(context, 'instructions'), 1000); +}); + +test('leaves the prompt whole in messages when nothing is sizable', () => { + // No attributes to divide by: spreading the total over segments with no + // evidence behind them would be inventing the breakdown. + const context = traceContext(trace({ input: 900, output: 100 })); + + assert.equal(segment(context, 'messages'), 900); + assert.equal(segment(context, 'instructions'), 0); + assert.equal(context.estimated, false); +}); + +test('the segments still sum to prompt tokens with the transcript in the mix', () => { + const context = traceContext( + trace({ + input: 1000, + attributes: { + 'prompt.input.messages.tokens': 100, + 'prompt.input.tools.tokens': 100, + 'prompt.input.instructions.tokens': 100, + }, + }) + ); + + const input = context.segments + .filter((s) => s.key !== 'output') + .reduce((sum, s) => sum + s.tokens, 0); + + assert.equal(input, 1000); +}); diff --git a/actionagent/frontend/utils/traceContext.mjs b/actionagent/frontend/utils/traceContext.mjs index 2a8eab69..3be72e85 100644 --- a/actionagent/frontend/utils/traceContext.mjs +++ b/actionagent/frontend/utils/traceContext.mjs @@ -74,6 +74,13 @@ export const traceContext = (trace) => { const instructions = sized('prompt.input.instructions.tokens', 'prompt.input.instructions', 'llm.instructions'); const toolSchemas = sized('prompt.input.tools.tokens', 'prompt.input.tools', 'llm.tools'); const mcpSchemas = sized('prompt.input.mcp_tools.tokens', 'prompt.input.mcp_tools'); + // The transcript is a segment like the others, not the leftover. The stored + // `prompt.input.messages` preview is only the tail of the history that fit + // the attribute budget, so a recorded size is what makes a long conversation + // readable here; estimating from the preview understates whatever the trim + // dropped, which is still better than leaving the transcript out of the + // apportioning altogether. + const messages = sized('prompt.input.messages.tokens', 'prompt.input.messages', 'llm.messages'); let toolResults = 0; for (const span of spans) { const attrs = span.attributes || {}; @@ -84,31 +91,41 @@ export const traceContext = (trace) => { } toolResults = Math.min(toolResults, peak.input); - // The segments are ~4 chars/token approximations of individual pieces, while - // `peak.input` is the provider's own prompt_tokens for all of them together. - // Charging the difference to "Messages" — subtracting the segments from the - // total — makes that one segment absorb the whole approximation error, so a - // trace with dense JSON tool schemas reads as a large message history that - // was never sent. Scaling the segments to fit the real total spreads the + // The segments are approximations of individual pieces, while `peak.input` is + // the provider's own prompt_tokens for all of them together. Charging the + // difference to one segment makes it absorb the whole approximation error, so + // a trace with dense JSON tool schemas read as a large message history that + // was never sent. Scaling every segment to fit the real total spreads the // error over the pieces it came from instead. // - // The segments still cannot exceed the total, so the remainder is floored at - // zero, and it is the segment that carries whatever the others did not claim. - const estimatedInput = instructions + toolSchemas + mcpSchemas + toolResults; - const scale = estimatedInput > 0 && peak.input > 0 ? peak.input / estimatedInput : 1; - const scaled = (value) => Math.round(value * scale); + // Every piece we can size has to be in this set. Scaling a subset to fill + // prompt_tokens silently reassigns the missing piece's share to the ones that + // remain — with the transcript left out, a 500-token system prompt on a + // 20k-token chat rendered as 13k of "Instructions" and nothing for the + // history that actually filled the window. + const keys = ['messages', 'toolResults', 'instructions', 'toolSchemas', 'mcpSchemas']; + const raw = { messages, toolResults, instructions, toolSchemas, mcpSchemas }; + const estimatedInput = keys.reduce((sum, key) => sum + raw[key], 0); - const inputSegments = { - instructions: scaled(instructions), - toolSchemas: scaled(toolSchemas), - mcpSchemas: scaled(mcpSchemas), - toolResults: scaled(toolResults), - }; - const attributed = inputSegments.instructions + inputSegments.toolSchemas + - inputSegments.mcpSchemas + inputSegments.toolResults; - // Whatever prompt_tokens holds beyond the parts we can attribute is the - // message transcript plus the provider's own framing overhead. - const messages = Math.max(peak.input - attributed, 0); + let inputSegments; + if (estimatedInput > 0 && peak.input > 0) { + const scale = peak.input / estimatedInput; + inputSegments = {}; + for (const key of keys) inputSegments[key] = Math.round(raw[key] * scale); + // Rounding leaves the parts a token or two off the total the provider + // reported; give the drift to the largest segment so the bar fills exactly + // and no segment can go negative. + const drift = peak.input - keys.reduce((sum, key) => sum + inputSegments[key], 0); + if (drift !== 0) { + const largest = keys.reduce((a, b) => (inputSegments[b] > inputSegments[a] ? b : a)); + inputSegments[largest] = Math.max(inputSegments[largest] + drift, 0); + } + } else { + // Nothing was sizable: the prompt is transcript and provider framing we + // cannot divide, so it stays whole rather than being spread over segments + // that have no evidence behind them. + inputSegments = { messages: peak.input, toolResults: 0, instructions: 0, toolSchemas: 0, mcpSchemas: 0 }; + } return { used: peak.total, @@ -120,7 +137,7 @@ export const traceContext = (trace) => { // itself estimated whenever any segment was sized here. estimated: estimatedInput > 0, segments: [ - { key: 'messages', label: 'Messages', tokens: messages }, + { key: 'messages', label: 'Messages', tokens: inputSegments.messages }, { key: 'tool_results', label: 'Tool results', tokens: inputSegments.toolResults }, { key: 'instructions', label: 'Instructions', tokens: inputSegments.instructions }, { key: 'tool_schemas', label: 'Tool schemas', tokens: inputSegments.toolSchemas }, diff --git a/actionagent/test/runner_workbench_test.rb b/actionagent/test/runner_workbench_test.rb index 366103b3..46f3d443 100644 --- a/actionagent/test/runner_workbench_test.rb +++ b/actionagent/test/runner_workbench_test.rb @@ -254,6 +254,32 @@ def service_for(run) assert_not_includes span.attributes["prompt.input.messages"], "base64" end + # The stored transcript is the tail of the history that fit the attribute + # budget, so its size is not the transcript's. The meter apportions the + # provider's prompt_tokens across the segments it can size, and a transcript + # left out of that set does not merely go unlabelled — the other segments are + # scaled up to cover its share, so a long conversation reads as an enormous + # system prompt. The size is therefore measured before the trim. + test "the prompt span sizes the whole transcript, not the stored tail" do + context = create_context + 12.times { |i| context.add_user_message("turn #{i} #{"m" * 1000}") } + run = @agent.agent_runs.create!(input_prompt: "and now?", status: :pending, input_params: { context_id: context.id }) + root = ActiveAgent::Telemetry::Span.new("SalesCopilotAgent.prompt", trace_id: run.trace_id, span_type: :root) + + service_for(run).record_prompt_span(root) + + span = root.children.first + stored = span.attributes["prompt.input.messages"] + recorded = span.attributes["prompt.input.messages.tokens"] + + # The trim ran, so the preview holds fewer turns than the conversation. + assert_operator stored.bytesize, :<=, ActionAgent::AgentExecutionService::PROMPT_SPAN_MESSAGE_LIMIT + assert_operator JSON.parse(stored).size, :<, 13 + # The recorded size covers the turns the preview dropped. + assert_operator recorded, :>, (stored.length / 4.0).round + assert_operator recorded, :>=, 12 * 1000 / 4 + end + # A mock run offers the model no tools, so the span records none — the same # source the run itself reads, rather than a second look at the agent's # declared tools. From 482169aefa5e91e1cfb42cd4967adaff885d1b0d Mon Sep 17 00:00:00 2001 From: Justin Bowen Date: Thu, 17 Sep 2026 19:44:04 -0700 Subject: [PATCH 4/8] feat(evals): correlate evaluation traces with the result that caused them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `Runner` already accepted an `around_evaluation:` wrapper and already owned a `run_id` in its `metadata:`, and a telemetry backend already offers a per-block agent scope that can report the trace it opened. Nothing joined them, so every host that wanted a report row to link to the conversation behind it wrote the same correlation plumbing itself. `ActiveAgent::Evals::Correlation` is that join. A run mints a `run_id`, each evaluation a `result_id`, and both ride every trace opened inside them as `eval.`-prefixed attributes. The trace ids travel the other way onto `result.replay.metadata`: `trace_id` for the replay, `judge_trace_ids` for the judge calls that graded it. The verdict, being a judge call outside any evaluation, lands on the run metadata a Report carries rather than on whichever result was evaluated last. The tracer is injected, so the module takes on no telemetry dependency and `require "active_agent/evals"` still loads on its own — covered by a test that drives a correlated run out of process. Hand the object to `Runner.new(around_evaluation:)` directly; a plain lambda there is unchanged. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 13 ++ docs/framework/evaluations.md | 46 ++++ lib/active_agent/evals.rb | 4 +- lib/active_agent/evals/correlation.rb | 178 +++++++++++++++ test/evals/correlation_test.rb | 216 ++++++++++++++++++ test/evals/standalone_load_test.rb | 16 ++ .../support/standalone_correlation_script.rb | 32 +++ 7 files changed, 504 insertions(+), 1 deletion(-) create mode 100644 lib/active_agent/evals/correlation.rb create mode 100644 test/evals/correlation_test.rb create mode 100644 test/evals/standalone_load_test.rb create mode 100644 test/evals/support/standalone_correlation_script.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index dd90dc4a..e9903ac3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `Evaluation#replace_scenarios!` takes `on_removed:` — `:destroy` (the default, unchanged) or `:disable`, which keeps a scenario the suite no longer names as `enabled: false` so earlier runs' results still resolve. +- **An evaluation's traces link back to the result that caused them.** + `ActiveAgent::Evals::Correlation` joins two APIs the module already had but + never connected: `Runner`'s `around_evaluation:` hook and its `metadata:` + run identity, and a telemetry backend's per-block agent scope. A run mints a + `run_id`, each evaluation a `result_id`, and both ride every trace opened + inside them as `eval.`-prefixed attributes; the trace ids travel the other + way onto `result.replay.metadata` — `trace_id` for the replay, + `judge_trace_ids` for the judge calls that graded it, with a run-level + verdict landing on the run metadata the Report carries rather than on + whichever result was evaluated last. The tracer is injected, so the module + takes on no telemetry dependency and `require "active_agent/evals"` still + loads on its own. Hand the object to `Runner.new(around_evaluation:)` + directly; a plain lambda there keeps working unchanged. ## [1.6.2] - 2026-09-16 diff --git a/docs/framework/evaluations.md b/docs/framework/evaluations.md index 24d1f37c..ed894840 100644 --- a/docs/framework/evaluations.md +++ b/docs/framework/evaluations.md @@ -121,6 +121,52 @@ after the wrapper finishes; wrapper errors propagate. Direct `Runner#evaluate` calls bypass the wrapper so a host doing its own scheduling can establish context itself. +### Correlating traces with results + +`Correlation` is that wrapper, written once against a telemetry backend +instead of per host. It mints a `run_id` per run and a `result_id` per +evaluation, puts both on every trace opened inside them as `eval.`-prefixed +attributes, and records the trace ids back onto the result: +`replay.metadata["trace_id"]` for the replay and `["judge_trace_ids"]` for the +judge calls that graded it. A judge call made outside an evaluation — the +run-level verdict — lands on the run metadata instead, which is the hash the +Report carries, so the verdict is reachable from the report rather than +attributed to the last result evaluated. + +```ruby +correlation = ActiveAgent::Evals::Correlation.new( + agent_name: "SupportAgent", + judge_name: "SupportAgentJudge", + tracer: ->(name, action:, attributes:, on_trace:, &block) { + MyTelemetry.with_agent(name, action: action, attributes: attributes, + on_trace: on_trace, synchronous: true, &block) + } +) + +report = correlation.with_run("suite" => "support") do |metadata| + Runner.new( + scenarios: scenarios, models: models, metadata: metadata, + around_evaluation: correlation, + replay: ->(scenario, spec) { correlation.replay { agent.run(scenario.prompt) } }, + judge: Judge.new(label: "judge-model") { |instructions:, prompt:| + correlation.judge("score") { chat.with_instructions(instructions).ask(prompt).content } + } + ).call +end +``` + +Pass the yielded metadata to `Runner.new(metadata:)`: it is the caller's own +hash, mutated in place, so a run reopened around a later verdict accumulates +onto the metadata the Report already carries. + +The tracer is injected, so the evaluation module takes on no telemetry +dependency and still loads on its own. Without one, the correlation mints ids +and merges metadata while the blocks run untraced, which keeps a suite +runnable where no telemetry is configured. `trace_keys:` chooses which +correlation keys become attributes — the default is `run_id`, `result_id`, +`suite`, `scenario_key`, `model_label`, `model` and `provider`, and anything +else in the run metadata stays on the report but off the traces. + ## Faults | Fault | Meaning | diff --git a/lib/active_agent/evals.rb b/lib/active_agent/evals.rb index 0e299b9f..8f3c1318 100644 --- a/lib/active_agent/evals.rb +++ b/lib/active_agent/evals.rb @@ -25,6 +25,7 @@ require_relative "evals/report_html" require_relative "evals/report" require_relative "evals/runner" +require_relative "evals/correlation" require_relative "evals/publisher" # Scenario evaluations for agents that answer with tools. @@ -40,7 +41,8 @@ # fell short and what would fix it (Diagnosis, refined by an optional Judge), # and rolling everything up per model (Report). Runner ties them together # around one callable you supply: given a scenario and a model, run the -# agent and return a Replay. +# agent and return a Replay. Correlation is optional plumbing on top: it +# links the traces a run emits back to the result that caused them. # # scenarios = ActiveAgent::Evals::ScenarioParser.scenarios(pasted_text) # models = ActiveAgent::Evals::ModelSpec.parse_all(%w[gpt-5-mini qwen3:8b], default_provider: "openai") diff --git a/lib/active_agent/evals/correlation.rb b/lib/active_agent/evals/correlation.rb new file mode 100644 index 00000000..29538699 --- /dev/null +++ b/lib/active_agent/evals/correlation.rb @@ -0,0 +1,178 @@ +# frozen_string_literal: true + +require "securerandom" +require "active_support/isolated_execution_state" + +module ActiveAgent + module Evals + # Used to tie the traces an evaluation produces back to the run and the + # result that caused them, so a report row links to the exact conversation + # behind it. + # + # A run mints a `run_id`, each evaluation mints a `result_id`, and both ride + # every trace opened inside them as `eval.`-prefixed attributes. The trace + # ids travel the other way: a replay's trace id lands on + # `result.replay.metadata["trace_id"]`, and every judge call made while + # scoring that result appends to its `"judge_trace_ids"`. The verdict — a + # judge call made outside any evaluation — appends to the run metadata + # instead, which is the same Hash a Report carries as its `metadata`. + # + # A tracer is `(name, action:, attributes:, on_trace:) { ... }`: it opens a + # trace named for the agent, and calls `on_trace` with something answering + # to `#trace_id` once the trace is known. + # + # correlation = ActiveAgent::Evals::Correlation.new( + # agent_name: "SupportAgent", + # judge_name: "SupportAgentJudge", + # tracer: ->(name, action:, attributes:, on_trace:, &block) { + # MyTelemetry.with_agent(name, action: action, attributes: attributes, + # on_trace: on_trace, synchronous: true, &block) + # } + # ) + # + # correlation.with_run("suite" => "support") do |metadata| + # Runner.new( + # scenarios: scenarios, models: models, metadata: metadata, + # replay: ->(scenario, spec) { correlation.replay { agent.run(scenario.prompt) } }, + # judge: Judge.new(label: "judge-model") { |instructions:, prompt:| + # correlation.judge("score") { chat.with_instructions(instructions).ask(prompt).content } + # }, + # around_evaluation: correlation + # ).call + # end + # + # Without a tracer the correlation still mints ids and merges metadata. The + # blocks run untraced. + class Correlation + STATE_KEY = :active_agent_evals_correlation + + # DEFAULT_TRACE_KEYS names the correlation metadata that rides a trace as + # `eval.`-prefixed attributes. Anything else a caller puts in the run + # metadata (a tenant, a role) stays on the report but off the traces. + DEFAULT_TRACE_KEYS = %w[run_id result_id suite scenario_key model_label model provider].freeze + + attr_reader :agent_name, :judge_name, :trace_keys + + # @param agent_name [String] the trace name for the agent under evaluation + # @param judge_name [String] the trace name for judge traffic, kept distinct + # so grading calls do not read as the agent's own traffic + # @param tracer [#call, nil] `(name, action:, attributes:, on_trace:) { ... }`; + # nil runs every block untraced + # @param replay_action [String] the action name recorded for a replay trace + # @param trace_keys [Array] which correlation keys become attributes + def initialize(agent_name:, judge_name: "#{agent_name}Judge", tracer: nil, replay_action: "eval", + trace_keys: DEFAULT_TRACE_KEYS) + @agent_name = agent_name + @judge_name = judge_name + @tracer = tracer + @replay_action = replay_action + @trace_keys = trace_keys.map(&:to_s) + end + + # Opens a run. Mints `run_id` unless `metadata` carries one, and yields the + # metadata hash the traces will be correlated against — pass that same hash + # to `Runner.new(metadata:)` so the Report carries the run's identity and + # collects the verdict's trace id. + # + # The hash yielded is the caller's own, mutated in place, so a run + # reopened around a later verdict accumulates onto the metadata a Report + # already carries. + # + # @param metadata [Hash] opaque run metadata. A non-Hash is coerced with + # `#to_h`, and non-String keys are stringified. + # @yieldparam metadata [Hash] + def with_run(metadata = {}) + run = metadata.is_a?(Hash) ? metadata : metadata.to_h + run.transform_keys!(&:to_s) unless run.keys.all?(String) + run["run_id"] ||= SecureRandom.uuid + with_context({ run: run, result: nil }) { yield run } + end + + # Wraps one evaluation, in the shape `Runner.new(around_evaluation:)` calls: + # `(scenario, spec) { ... } → Result`. Mints a `result_id`, merges the + # correlation onto the Result's replay metadata, and returns the Result. + def around_evaluation(scenario, spec) + result_metadata = { + "run_id" => run_metadata["run_id"], + "result_id" => SecureRandom.uuid, + "scenario_key" => scenario.key, + "model_label" => spec.label, + "model" => spec.model, + "provider" => spec.provider + }.compact + + with_context(run: run_metadata, result: result_metadata) do + yield.tap { |result| result.replay.metadata.merge!(result_metadata) } + end + end + + # Delegates to `around_evaluation`, so the object satisfies + # `Runner.new(around_evaluation:)` directly. + def call(scenario, spec, &) + around_evaluation(scenario, spec, &) + end + + # Traces one replay of the agent under evaluation. The trace id lands on + # the current result's metadata, so a report row links to the conversation. + def replay(action = @replay_action, &) + trace(@agent_name, action, judge: false, &) + end + + # Traces one judge call. Appends to the current result's `judge_trace_ids`, + # or the run's when no evaluation is open (the verdict). + def judge(action = "score", &) + trace(@judge_name, action, judge: true, &) + end + + # The correlation metadata in scope, or nil outside a run. A result's + # values win over the run's. + def current + context = ActiveSupport::IsolatedExecutionState[STATE_KEY] + return nil unless context + + context.fetch(:run, {}).merge(context[:result] || {}) + end + + private + + def run_metadata + context = ActiveSupport::IsolatedExecutionState[STATE_KEY] + context&.fetch(:run, nil) || {} + end + + def with_context(context) + previous = ActiveSupport::IsolatedExecutionState[STATE_KEY] + ActiveSupport::IsolatedExecutionState[STATE_KEY] = context + yield + ensure + ActiveSupport::IsolatedExecutionState[STATE_KEY] = previous + end + + def trace(name, action, judge:, &block) + return block.call unless @tracer + + context = ActiveSupport::IsolatedExecutionState[STATE_KEY] || {} + correlation = context.fetch(:run, {}).merge(context[:result] || {}) + attributes = correlation.slice(*@trace_keys).transform_keys { |key| "eval.#{key}" } + # A replay belongs to the evaluation that opened it and nowhere else, so + # it records no trace id when called outside one. A judge call outside an + # evaluation is the verdict, which belongs to the run. + target = judge ? (context[:result] || context[:run]) : context[:result] + + @tracer.call(name, action: action, attributes: attributes, on_trace: recorder(target, judge: judge), &block) + end + + def recorder(target, judge:) + lambda do |trace| + next unless target + + if judge + (target["judge_trace_ids"] ||= []) << trace.trace_id + else + target["trace_id"] = trace.trace_id + end + end + end + end + end +end diff --git a/test/evals/correlation_test.rb b/test/evals/correlation_test.rb new file mode 100644 index 00000000..69a5c9f6 --- /dev/null +++ b/test/evals/correlation_test.rb @@ -0,0 +1,216 @@ +# frozen_string_literal: true + +require "test_helper" +require_relative "evals_test_support" + +class EvalsCorrelationTest < ActiveSupport::TestCase + include EvalsTestSupport + + # Stands in for a telemetry adapter, recording every trace it was asked to open. + class RecordingTracer + Trace = Struct.new(:trace_id) + + attr_reader :traces + + def initialize + @traces = [] + @sequence = 0 + end + + def to_proc + method(:call).to_proc + end + + def call(name, action:, attributes:, on_trace:, &block) + @sequence += 1 + trace_id = "trace-#{@sequence}" + @traces << { name: name, action: action, attributes: attributes, trace_id: trace_id } + on_trace&.call(Trace.new(trace_id)) + block.call + end + end + + def setup + @tracer = RecordingTracer.new + @correlation = ActiveAgent::Evals::Correlation.new(agent_name: "SupportAgent", judge_name: "SupportJudge", + tracer: @tracer.to_proc) + end + + def test_a_run_mints_identities_that_reach_every_result_and_its_replay_trace + report = run_evaluation(scenarios: [ scenario("lookup_1"), scenario("lookup_2") ]) + + result_ids = report.results.map { |result| result.replay.metadata.fetch("result_id") } + assert_equal 2, result_ids.uniq.size, "each evaluation should mint its own result identity" + report.results.each do |result| + metadata = result.replay.metadata + assert_equal "run-1", metadata["run_id"], "the run identity should reach every result" + assert_equal result.scenario.key, metadata["scenario_key"] + assert_equal result.spec.label, metadata["model_label"] + replay_trace = @tracer.traces.find { |trace| trace[:trace_id] == metadata.fetch("trace_id") } + assert replay_trace, "the replay's trace id should land on the result's replay metadata" + assert_equal "SupportAgent", replay_trace[:name] + end + end + + def test_correlation_rides_a_trace_as_eval_prefixed_attributes + run_evaluation(scenarios: [ scenario("lookup_1") ]) + + replay_trace = @tracer.traces.find { |trace| trace[:name] == "SupportAgent" } + assert_equal({ + "eval.run_id" => "run-1", + "eval.suite" => "support", + "eval.result_id" => replay_trace[:attributes].fetch("eval.result_id"), + "eval.scenario_key" => "lookup_1", + "eval.model_label" => "test-model", + "eval.model" => "test-model", + "eval.provider" => "openai" + }, replay_trace[:attributes]) + end + + def test_opaque_run_metadata_stays_off_the_traces + @correlation.with_run("suite" => "support", "tenant" => "acme") do |metadata| + @correlation.replay { nil } + assert_equal "acme", metadata["tenant"], "the caller's own metadata should stay on the run" + end + + refute_includes @tracer.traces.first[:attributes].keys, "eval.tenant" + end + + def test_judge_traffic_routes_to_the_result_and_the_verdict_to_the_run + metadata = nil + report = run_evaluation(scenarios: [ scenario("lookup_1") ], judge: judge_calling("score")) { |run| metadata = run } + @correlation.with_run(metadata) { @correlation.judge("verdict") { nil } } + + result_metadata = report.results.first.replay.metadata + judge_ids = result_metadata.fetch("judge_trace_ids") + assert_equal 1, judge_ids.size, "the result should collect exactly the one judge call made inside it" + judge_trace = @tracer.traces.find { |trace| trace[:trace_id] == judge_ids.first } + assert_equal "SupportJudge", judge_trace[:name], "a judge call should be traced under the judge name" + assert_equal result_metadata.fetch("result_id"), judge_trace[:attributes]["eval.result_id"] + + verdict_id = metadata.fetch("judge_trace_ids").last + verdict_trace = @tracer.traces.find { |trace| trace[:trace_id] == verdict_id } + assert_equal "verdict", verdict_trace[:action] + refute_includes verdict_trace[:attributes].keys, "eval.result_id", + "a verdict should not be attributed to the last result evaluated" + refute_includes judge_ids, verdict_id + end + + def test_extra_trace_keys_carry_a_callers_own_correlation_onto_its_traces + keys = ActiveAgent::Evals::Correlation::DEFAULT_TRACE_KEYS + %w[tenant] + correlation = ActiveAgent::Evals::Correlation.new(agent_name: "SupportAgent", tracer: @tracer.to_proc, + trace_keys: keys) + correlation.with_run("run_id" => "run-1", "tenant" => "acme") { correlation.replay { nil } } + + assert_equal "acme", @tracer.traces.first[:attributes].fetch("eval.tenant") + end + + def test_a_reopened_run_accumulates_onto_the_metadata_a_report_already_carries + report = nil + metadata = { "run_id" => "run-1" } + @correlation.with_run(metadata) do |run| + report = ActiveAgent::Evals::Runner.new( + scenarios: [ scenario("lookup_1") ], models: [ spec("test-model") ], metadata: run, + around_evaluation: @correlation, replay: ->(*) { replay(answer: "Order ABC-123 shipped on Monday.") } + ).call + end + @correlation.with_run(metadata) { @correlation.judge("verdict") { nil } } + + assert_same metadata, report.metadata, "the run metadata should be the caller's own hash" + assert_equal [ "trace-1" ], report.metadata.fetch("judge_trace_ids"), + "a verdict traced after the run should reach the report" + end + + def test_a_replay_trace_id_never_lands_on_the_run + @correlation.with_run("run_id" => "run-1") do |metadata| + @correlation.replay { nil } + assert_nil metadata["trace_id"], "a replay outside an evaluation should record no trace id on the run" + end + end + + def test_a_raising_replay_restores_the_enclosing_context + outer = nil + @correlation.with_run("run_id" => "outer") do |run| + outer = @correlation.current + assert_raises(IOError) do + @correlation.around_evaluation(scenario("lookup_1"), spec("test-model")) do + @correlation.replay { raise IOError, "synthetic failure" } + end + end + assert_equal outer, @correlation.current, "the evaluation context should be restored after a failure" + assert_equal "outer", run.fetch("run_id") + end + + assert_nil @correlation.current, "the run context should be restored after the run" + end + + def test_a_raising_run_restores_an_enclosing_run + @correlation.with_run("run_id" => "outer") do + assert_raises(IOError) do + @correlation.with_run("run_id" => "inner") { raise IOError, "synthetic failure" } + end + + assert_equal "outer", @correlation.current.fetch("run_id") + end + + assert_nil @correlation.current + end + + def test_a_run_mints_its_own_identity_when_the_caller_supplies_none + first = @correlation.with_run { |metadata| metadata.fetch("run_id") } + second = @correlation.with_run { |metadata| metadata.fetch("run_id") } + + refute_equal first, second + assert_match(/\A[0-9a-f-]{36}\z/, first) + end + + def test_without_a_tracer_identities_still_reach_the_results + correlation = ActiveAgent::Evals::Correlation.new(agent_name: "SupportAgent") + report = correlation.with_run("run_id" => "run-1") do |metadata| + ActiveAgent::Evals::Runner.new( + scenarios: [ scenario("lookup_1") ], models: [ spec("test-model") ], metadata: metadata, + around_evaluation: correlation, + replay: ->(*) { correlation.replay { replay(answer: "Order ABC-123 shipped on Monday.") } } + ).call + end + + metadata = report.results.first.replay.metadata + assert_equal "run-1", metadata.fetch("run_id") + refute_includes metadata.keys, "trace_id", "an untraced run records no trace id" + end + + def test_a_plain_around_evaluation_lambda_adds_no_correlation + seen = [] + wrapper = lambda do |scenario, spec, &evaluate| + seen << [ scenario.key, spec.label ] + evaluate.call + end + report = ActiveAgent::Evals::Runner.new( + scenarios: [ scenario("lookup_1") ], models: [ spec("test-model") ], around_evaluation: wrapper, + replay: ->(*) { replay(answer: "Order ABC-123 shipped on Monday.") } + ).call + + assert_equal [ [ "lookup_1", "test-model" ] ], seen + assert_equal 1, report.results.size + assert_empty report.results.first.replay.metadata, "a plain wrapper should add no correlation of its own" + end + + private + + def judge_calling(action) + fake_judge do |_instructions, _prompt| + @correlation.judge(action) { '{"score": 0.9}' } + end + end + + def run_evaluation(scenarios:, judge: nil) + @correlation.with_run("run_id" => "run-1", "suite" => "support") do |metadata| + yield metadata if block_given? + ActiveAgent::Evals::Runner.new( + scenarios: scenarios, models: [ spec("test-model") ], judge: judge, metadata: metadata, + around_evaluation: @correlation, + replay: ->(*) { @correlation.replay { replay(answer: "Order ABC-123 shipped on Monday.") } } + ).call + end + end +end diff --git a/test/evals/standalone_load_test.rb b/test/evals/standalone_load_test.rb new file mode 100644 index 00000000..8457e0c5 --- /dev/null +++ b/test/evals/standalone_load_test.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +require "test_helper" + +# The dummy app's test process has the whole framework loaded, so this check +# runs out of process. +class EvalsStandaloneLoadTest < ActiveSupport::TestCase + SCRIPT = File.expand_path("support/standalone_correlation_script.rb", __dir__) + LIB = File.expand_path("../../lib", __dir__) + + def test_the_evaluation_module_and_a_correlated_run_load_without_the_framework + output = IO.popen([ RbConfig.ruby, "-I#{LIB}", SCRIPT ], err: %i[child out], &:read) + + assert_equal "ok", output.strip, output + end +end diff --git a/test/evals/support/standalone_correlation_script.rb b/test/evals/support/standalone_correlation_script.rb new file mode 100644 index 00000000..1b4549aa --- /dev/null +++ b/test/evals/support/standalone_correlation_script.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +# Drives a correlated run end to end with only the evaluation module loaded. +require "active_agent/evals" + +raise "the framework should not be loaded" if defined?(ActiveAgent::Base) + +traces = [] +tracer = lambda do |name, action:, attributes:, on_trace:, &block| + trace_id = "trace-#{traces.size + 1}" + traces << { name: name, action: action, attributes: attributes } + on_trace&.call(Struct.new(:trace_id).new(trace_id)) + block.call +end + +correlation = ActiveAgent::Evals::Correlation.new(agent_name: "SupportAgent", tracer: tracer) +scenario = ActiveAgent::Evals::Scenario.from_hash({ "key" => "lookup_1", "prompt" => "Where is order ABC-123?" }) +model = ActiveAgent::Evals::ModelSpec.parse("test-model", default_provider: "openai") + +report = correlation.with_run("suite" => "support") do |metadata| + ActiveAgent::Evals::Runner.new( + scenarios: [ scenario ], models: [ model ], metadata: metadata, around_evaluation: correlation, + replay: ->(*) { correlation.replay { ActiveAgent::Evals::Replay.new(answer: "Order ABC-123 shipped on Monday.") } } + ).call +end + +metadata = report.results.first.replay.metadata +raise "expected a result id, got #{metadata.inspect}" unless metadata["result_id"] +raise "expected the replay trace id, got #{metadata.inspect}" unless metadata["trace_id"] == "trace-1" +raise "expected the eval attributes, got #{traces.inspect}" unless traces.first[:attributes]["eval.suite"] == "support" + +puts "ok" From 6b1c3ab140b8a9676c663d76453cade05b7ec31e Mon Sep 17 00:00:00 2001 From: Justin Bowen Date: Thu, 17 Sep 2026 20:26:47 -0700 Subject: [PATCH 5/8] docs(evals): metering, provider validation and on_removed for host adapters The adapter guide told hosts they own usage accounting, which stopped being true when the engine began metering each adapted result. A host following it now double-counts every replay. It also predates provider validation, so it left adapters re-checking what the runner already rejects. Documents replace_scenarios!'s on_removed: option alongside them, since a host syncing a suite from its own catalog is the caller that needs :disable. Co-Authored-By: Claude Opus 5 (1M context) --- docs/framework/evaluations.md | 43 +++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/docs/framework/evaluations.md b/docs/framework/evaluations.md index 24d1f37c..a1b222d0 100644 --- a/docs/framework/evaluations.md +++ b/docs/framework/evaluations.md @@ -246,6 +246,26 @@ document, group display names, or environment flags. Re-import the source document to change that selection. Invalid YAML or a selection containing no scenarios returns an import error without creating a sampled evaluation. +### Refreshing a suite + +`Evaluation#replace_scenarios!` writes a catalog's questions onto a +persisted evaluation. A scenario whose key survives keeps its record, so +results from earlier runs still resolve through it. + +What happens to a scenario the new attributes no longer name is the +`on_removed:` option: + +```ruby +evaluation.replace_scenarios!(attributes) # :destroy (default) +evaluation.replace_scenarios!(attributes, on_removed: :disable) # keep, enabled: false +``` + +`:destroy` drops the row. `:disable` keeps it with `enabled: false`, which +takes it out of future runs — the runner selects only enabled scenarios — +while leaving the results that scored it readable. Choose `:disable` for a +suite synced from an evolving catalog, where a question can come back or an +old report still needs its rows. + ## Running a host application's agent from the mounted dashboard The engine normally replays scenarios with `ActionAgent::Agent#test_execute`. @@ -277,13 +297,22 @@ or duplicate results fail the run instead of leaving a completed report with missing rows. Exceptions also mark the run failed and retain results already written. -The host owns provider execution, usage accounting, tool definitions, and -judge configuration. Use the supplied owner rather than a global current -user in background jobs; honor `evaluation.judge_kind`, -`evaluation.judge_model`, and the evaluation's tenant/role configuration. -The adapter path does not build the engine's judge or execute its agent. -It still passes through dashboard authentication, execution enablement, -and quota checks. +The host owns provider execution, tool definitions, and judge +configuration. Use the supplied owner rather than a global current user in +background jobs; honor `evaluation.judge_kind`, `evaluation.judge_model`, +and the evaluation's tenant/role configuration. The adapter path does not +build the engine's judge or execute its agent. It still passes through +dashboard authentication, execution enablement, and quota checks. + +**Usage accounting is the engine's.** Each result the adapter reports is +metered as one `:execution` against the supplied owner — the same unit the +default replay path records, one per scenario × model. An adapter should +not call `ActionAgent.record_usage` itself, or every replay is counted +twice. + +Models reach the adapter already validated: a spec naming a provider the +agent cannot serve fails the run with `ArgumentError` before the adapter is +called, so an adapter does not need to re-check `models.map(&:provider)`. An observed agent can run a persisted evaluation only when its resolver returns an adapter. Direct agent execution remains read-only. A host From 2400ef0f68acfe26731a1b070efede8632affef9 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 18 Sep 2026 16:44:54 +0000 Subject: [PATCH 6/8] feat(evals): tell a judge block which call it is serving MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `Judge` calls its host-supplied block with only `instructions:` and `prompt:`, but it serves three different calls — scoring an answer, recommending a fix for a failed scenario, and writing the run's verdict. A host that wants to trace them apart, budget them apart, or grade with a cheaper model than it writes the verdict with has no way to tell which one it is in. The only signal was the instructions string, so hosts matched against the gem's own constants: when ActiveAgent::Evals::Judge::RECOMMEND_INSTRUCTIONS then 'recommend' That couples a host to prose the gem is free to reword, and rewording it does not break anything loudly — every such host falls through to its `else` branch and mislabels traces, which is worse than an error. A block that accepts `kind:` now receives `:score`, `:recommend` or `:verdict`. The block signature is public API, so the keyword reaches only a block that names it or collects `**`. A block taking exactly `instructions:` and `prompt:` would raise ArgumentError on a third keyword — and `ask` rescues StandardError, so that would not even surface as an error: it would count as a judge failure and quietly degrade the run to rule scoring. The existing judge suite, whose `fake_judge` helper takes two keywords, covers that path. Closes #462 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01J9cRpVTtxA8QZBTmnYSC7V --- CHANGELOG.md | 9 ++++ lib/active_agent/evals/judge.rb | 50 +++++++++++++++--- test/evals/judge_call_kind_test.rb | 84 ++++++++++++++++++++++++++++++ 3 files changed, 137 insertions(+), 6 deletions(-) create mode 100644 test/evals/judge_call_kind_test.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 73dc3701..849c25e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,15 @@ Releases `activeagent` and `actionagent` 1.6.3 from one tag. - `Evaluation#replace_scenarios!` takes `on_removed:` — `:destroy` (the default, unchanged) or `:disable`, which keeps a scenario the suite no longer names as `enabled: false` so earlier runs' results still resolve. +- A `Judge` block that accepts `kind:` is told which of the judge's three calls + it is serving — `:score`, `:recommend` or `:verdict` — so a host can trace, + budget or model them separately. Previously the only signal was the + `instructions` string, so hosts matched against the gem's own + `RECOMMEND_INSTRUCTIONS` / `VERDICT_INSTRUCTIONS` constants; rewording one + then sent every such host quietly down its `else` branch, mislabelling traces + rather than failing. The keyword reaches only a block that names it or + collects `**`, so judges taking `instructions:` and `prompt:` are unaffected. + (#462) ### Fixed diff --git a/lib/active_agent/evals/judge.rb b/lib/active_agent/evals/judge.rb index ed058c34..91aa9d5c 100644 --- a/lib/active_agent/evals/judge.rb +++ b/lib/active_agent/evals/judge.rb @@ -10,6 +10,21 @@ module Evals # RubyLLM.chat(model: "claude-opus-5").with_instructions(instructions).ask(prompt).content # end # + # A judge serves three different calls, and a block that accepts `kind:` is + # told which one it is serving — `:score`, `:recommend` or `:verdict` — so a + # host can trace them apart, budget them apart, or score with a cheaper model + # than it writes the verdict with: + # + # Judge.new(label: "claude-opus-5") do |instructions:, prompt:, kind:| + # model = kind == :score ? "claude-haiku-4-5" : "claude-opus-5" + # RubyLLM.chat(model: model).with_instructions(instructions).ask(prompt).content + # end + # + # The keyword is passed only to a block that names it (or collects `**`), so + # a two-keyword block written before this is unaffected. Without it the only + # signal is the `instructions` string, which means matching on the gem's own + # prose — and a reworded constant then mislabels silently instead of failing. + # # Every method returns nil when the judge fails or answers unusably, so an # evaluation degrades to rule scoring rather than aborting. class Judge @@ -23,6 +38,8 @@ class Judge # @param label [String] how reports name the judge (usually its model) # @yieldparam instructions [String] the system prompt # @yieldparam prompt [String] the user prompt + # @yieldparam kind [Symbol] which call this is — `:score`, `:recommend` or + # `:verdict`. Passed only to a block that accepts it. # @yieldreturn [String] the completion text # How much of a scenario's notes the judge reads. Where a suite's notes # are its grading rubric, a "Must not…" clause tends to come last, and a @@ -41,7 +58,7 @@ def score_criterion(criterion:, prompt:, answer:) return nil if answer.blank? guidance = criterion.dig("config", "prompt").presence || criterion["key"].to_s.humanize - parse_score(ask(SCORE_INSTRUCTIONS, <<~PROMPT)) + parse_score(ask(SCORE_INSTRUCTIONS, <<~PROMPT, :score)) Criterion: #{guidance} The user asked: @@ -64,7 +81,7 @@ def score_criterion(criterion:, prompt:, answer:) def score_task(scenario:, answer:) return nil if answer.blank? - parse_score(ask(SCORE_INSTRUCTIONS, <<~PROMPT)) + parse_score(ask(SCORE_INSTRUCTIONS, <<~PROMPT, :score)) A user asked an assistant: --- #{scenario.prompt} @@ -90,7 +107,7 @@ def recommend(scenario:, replay:, diagnosis:, available_tools: {}, instructions: "- #{call['name']}#{' (errored)' if call['error']}: #{call['arguments'].to_json.truncate(200)}" end.join("\n") - parsed = parse_object(ask(RECOMMEND_INSTRUCTIONS, <<~PROMPT)) + parsed = parse_object(ask(RECOMMEND_INSTRUCTIONS, <<~PROMPT, :recommend)) An AI agent failed one evaluation scenario. Recommend the fix. Agent instructions: @@ -146,7 +163,7 @@ def verdict(summaries, instructions: nil) "#{", faults: #{faults}" if faults.present?}" end - parsed = parse_object(ask(VERDICT_INSTRUCTIONS, <<~PROMPT)) + parsed = parse_object(ask(VERDICT_INSTRUCTIONS, <<~PROMPT, :verdict)) An AI agent ran the same scenarios under several models. Its goals: --- #{instructions.to_s.truncate(1_000).presence || '(no instructions configured)'} @@ -180,13 +197,34 @@ def suggested_tool(tool) end end - def ask(instructions, prompt) - @generate.call(instructions: instructions, prompt: prompt).to_s + def ask(instructions, prompt, kind) + @generate.call(**ask_arguments(instructions, prompt, kind)).to_s rescue StandardError => e warn_failure(e) nil end + # The block signature is public API, and every judge written before `kind:` + # existed takes exactly `instructions:` and `prompt:` — passing a third + # keyword to one of those raises ArgumentError, which `ask` would swallow + # as a judge failure, degrading the run to rule scoring. So the kind goes + # only to a block that asked for it. + def ask_arguments(instructions, prompt, kind) + arguments = { instructions: instructions, prompt: prompt } + arguments[:kind] = kind if generate_accepts_kind? + arguments + end + + # True for a block naming `kind:` or collecting `**`. Memoized because the + # answer cannot change for a given judge and `ask` runs per scored result. + def generate_accepts_kind? + return @generate_accepts_kind if defined?(@generate_accepts_kind) + + @generate_accepts_kind = @generate.parameters.any? do |type, name| + type == :keyrest || (name == :kind && (type == :key || type == :keyreq)) + end + end + def warn_failure(error) message = "[ActiveAgent::Evals] judge #{label} failed: #{error.class}: #{error.message}" if defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger diff --git a/test/evals/judge_call_kind_test.rb b/test/evals/judge_call_kind_test.rb new file mode 100644 index 00000000..d2d6a438 --- /dev/null +++ b/test/evals/judge_call_kind_test.rb @@ -0,0 +1,84 @@ +# frozen_string_literal: true + +require "test_helper" +require_relative "evals_test_support" + +# A judge serves three calls — scoring an answer, recommending a fix, and +# writing the run's verdict — and a host routinely needs to tell them apart, to +# trace them separately or to grade with a cheaper model than it writes the +# verdict with. Before `kind:` the only signal was the `instructions` string, so +# hosts matched on the gem's own constants and a reworded constant mislabelled +# them silently rather than failing. +class EvalsJudgeCallKindTest < ActiveSupport::TestCase + include EvalsTestSupport + + # A judge whose block accepts the kind, recording what it was told. + def judging_judge(reply, kinds) + ActiveAgent::Evals::Judge.new(label: "judge") do |instructions:, prompt:, kind:| + _ = instructions, prompt + kinds << kind + reply + end + end + + def diagnosis + ActiveAgent::Evals::Diagnosis::Result.new(fault: "low_quality", summary: "s", recommendation: "r", evidence: {}) + end + + def test_scoring_calls_are_named_score + kinds = [] + judge = judging_judge('{"score": 0.5}', kinds) + + judge.score_task(scenario: scenario, answer: "Alice did.") + judge.score_criterion(criterion: { "key" => "tone" }, prompt: "p", answer: "a") + + assert_equal [ :score, :score ], kinds + end + + def test_a_recommendation_is_named_recommend + kinds = [] + judge = judging_judge('{"recommendation": "say more"}', kinds) + + judge.recommend(scenario: scenario, replay: replay, diagnosis: diagnosis) + + assert_equal [ :recommend ], kinds + end + + def test_the_verdict_is_named_verdict + kinds = [] + judge = judging_judge('{"winner": "gpt-5.5", "rationale": "cheapest"}', kinds) + + judge.verdict({ "gpt-5.5" => { "pass_rate" => 90 } }) + + assert_equal [ :verdict ], kinds + end + + # The block signature is public API. A judge written before `kind:` existed + # takes exactly two keywords, and passing a third raises ArgumentError — which + # `ask` catches and reports as a judge failure, silently degrading the run to + # rule scoring. So the keyword must not reach such a block at all. + def test_a_block_that_does_not_accept_the_kind_never_receives_it + seen = [] + judge = ActiveAgent::Evals::Judge.new(label: "judge") do |instructions:, prompt:| + _ = instructions, prompt + seen << :called + '{"score": 0.5}' + end + + assert_equal 0.5, judge.score_task(scenario: scenario, answer: "Alice did.") + assert_equal [ :called ], seen, "the legacy two-keyword block was not called" + end + + def test_a_block_collecting_keywords_receives_the_kind + seen = {} + judge = ActiveAgent::Evals::Judge.new(label: "judge") do |**options| + seen = options + '{"score": 0.5}' + end + + judge.score_task(scenario: scenario, answer: "Alice did.") + + assert_equal :score, seen[:kind] + assert seen.key?(:instructions) && seen.key?(:prompt) + end +end From d3f3b02eb499ae30d2133420e43d7a1d38826db1 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 18 Sep 2026 16:47:02 +0000 Subject: [PATCH 7/8] feat(dashboard): give Agent a generations association MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ActionAgent::Agent` declared five associations but not the one a host most often wants. Generations hang off `AgentContext` polymorphically, so reading them meant knowing that shape and writing the join by hand: AgentGeneration.joins(:agent_context) .where(AgentContext.table_name => { contextable: agent }) The engine already wrote exactly that, in `EvaluationRunnerService#sample_generations` — but as a private method on a service, so a host could not reuse it and copied the join instead, coupling itself to an implementation detail of how contexts are modelled. A change to that shape would then break host code silently rather than at the engine boundary. `agent.generations` is now that one definition, and `sample_generations` uses it. It stays a scope, so `agent.generations.count` answers the "has this agent actually run?" question the dashboard's own views had no cheap way to ask. Deliberately no `dependent:` on `agent_contexts`. The issue suggested `dependent: :destroy` and the sibling associations use it, but destroying an agent has never taken its conversations with it, and quietly starting to delete recorded history in a patch release is not something an association added for reading should do. A test pins the current behaviour; changing it is a separate call. Closes #464 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01J9cRpVTtxA8QZBTmnYSC7V --- CHANGELOG.md | 6 +++ actionagent/app/models/action_agent/agent.rb | 8 +++ .../action_agent/evaluation_runner_service.rb | 4 +- .../agent_generations_association_test.rb | 49 +++++++++++++++++++ 4 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 actionagent/test/agent_generations_association_test.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 73dc3701..bff05879 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,12 @@ Releases `activeagent` and `actionagent` 1.6.3 from one tag. - `Evaluation#replace_scenarios!` takes `on_removed:` — `:destroy` (the default, unchanged) or `:disable`, which keeps a scenario the suite no longer names as `enabled: false` so earlier runs' results still resolve. +- `Agent#generations` reads the generations recorded against an agent, with + `Agent#agent_contexts` beside it. Generations hang off `AgentContext` + polymorphically, so reaching them meant hand-writing that join — the engine + did it itself in a private service method a host could not reuse, which now + uses the association instead. Destroying an agent still leaves its contexts + alone, as it always has. (#464) ### Fixed diff --git a/actionagent/app/models/action_agent/agent.rb b/actionagent/app/models/action_agent/agent.rb index b049be63..51da1451 100644 --- a/actionagent/app/models/action_agent/agent.rb +++ b/actionagent/app/models/action_agent/agent.rb @@ -11,6 +11,14 @@ class ObservedAgentError < StandardError; end has_many :agent_runs, dependent: :destroy has_many :evaluations, dependent: :destroy has_many :agent_memories, as: :memorable, dependent: :destroy + # Generations hang off AgentContext polymorphically, which is an + # implementation detail of how contexts are modelled — so without these a + # host that wants an agent's recorded history writes that join itself and is + # coupled to the shape. Deliberately no `dependent:` on the contexts: the + # association is added to read them, and destroying an agent has never taken + # its conversations with it. Making it do so is a separate call. + has_many :agent_contexts, as: :contextable + has_many :generations, through: :agent_contexts # Polymorphic rows (agent_memories, agent_contexts) store this string. # A host app that grew these tables under its own Agent constant keeps diff --git a/actionagent/app/services/action_agent/evaluation_runner_service.rb b/actionagent/app/services/action_agent/evaluation_runner_service.rb index c3b03767..d1496e6f 100644 --- a/actionagent/app/services/action_agent/evaluation_runner_service.rb +++ b/actionagent/app/services/action_agent/evaluation_runner_service.rb @@ -149,9 +149,7 @@ def passed_count(per_sample_scores) end def sample_generations(model: nil) - scope = AgentGeneration - .joins(:agent_context) - .where(AgentContext.table_name => { contextable: @evaluation.agent }) + scope = @evaluation.agent.generations scope = scope.where(model: model) if model scope.order(created_at: :desc).limit(@evaluation.sample_size).to_a end diff --git a/actionagent/test/agent_generations_association_test.rb b/actionagent/test/agent_generations_association_test.rb new file mode 100644 index 00000000..04b3a546 --- /dev/null +++ b/actionagent/test/agent_generations_association_test.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +require "test_helper" + +# Generations hang off AgentContext polymorphically, so reading an agent's +# recorded history meant writing that join by hand — the engine's own +# EvaluationRunnerService did, in a private method a host cannot reuse. The +# association makes it one definition and keeps the shape behind the engine +# boundary. +class ActionAgentAgentGenerationsAssociationTest < ActiveSupport::TestCase + def setup + @agent = ActionAgent::Agent.create!(name: "Support", provider: "mock", model: "mock") + @other = ActionAgent::Agent.create!(name: "Other", provider: "mock", model: "mock") + end + + def generation_for(agent, model:, content: "hi") + context = ActionAgent::AgentContext.create!(contextable: agent, agent_name: "SupportAgent", action_name: "respond") + ActionAgent::AgentGeneration.create!(agent_context: context, model: model, content: content) + end + + test "an agent reads the generations recorded against it" do + mine = generation_for(@agent, model: "gpt-5.5") + theirs = generation_for(@other, model: "gpt-5.5") + + assert_equal [ mine.id ], @agent.generations.pluck(:id) + assert_equal [ theirs.id ], @other.generations.pluck(:id) + end + + test "generations is a scope, so it counts and filters without loading" do + generation_for(@agent, model: "gpt-5.5") + generation_for(@agent, model: "claude-opus-5") + + assert_equal 2, @agent.generations.count + assert_equal 1, @agent.generations.where(model: "gpt-5.5").count + # The dashboard's "has this agent actually run?" question. + assert_equal 0, @other.generations.count + end + + # The association exists to read generations. Destroying an agent has never + # taken its contexts with it, and this must not quietly start doing so. + test "destroying an agent leaves its contexts alone, as before" do + generation_for(@agent, model: "gpt-5.5") + context_count = ActionAgent::AgentContext.count + + @agent.destroy! + + assert_equal context_count, ActionAgent::AgentContext.count + end +end From 89389efa4566c04db14a059ca815c85e6ea34541 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 18 Sep 2026 17:13:04 +0000 Subject: [PATCH 8/8] docs(changelog): settle the 1.6.3 summary and date MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The section carried only the boilerplate line while work was still landing. Six Added and three Fixed entries now sit under it, so it gets the summary 1.6.2 and 1.6.1 have: what the release is about, and what an upgrader has to do. Dated for the tag rather than the day the branch was cut. Notes the two things an adapter must now remove — its own record_usage call, which double-counts since the engine meters adapted replays, and its own provider allow-list check, which the runner's validation makes dead code. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01J9cRpVTtxA8QZBTmnYSC7V --- CHANGELOG.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfe9dfdb..36b74a25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [1.6.3] - 2026-09-17 +## [1.6.3] - 2026-09-18 Releases `activeagent` and `actionagent` 1.6.3 from one tag. +A release about telling the truth on the screens that report what happened. +The context meter now divides the provider's own `prompt_tokens` among its +segments instead of subtracting estimates from it, and sizes each piece — +tool schemas, MCP schemas, instructions and the transcript — before the span +clips it for storage; previously a trace with dense tool schemas showed a +large message history that was never sent. An adapted replay is metered as +one execution like any other, so a host that supplies its own runtime is no +longer silently uncounted, and a spec naming a provider the agent cannot +serve now fails before the replay rather than reaching it. + +Three seams hosts were reaching around become API. `ActiveAgent::Evals::Correlation` +joins `Runner`'s `around_evaluation:` hook to a telemetry backend's trace +scope, so a report row links back to the conversation behind it. A `Judge` +block that accepts `kind:` is told whether it is scoring, recommending or +writing the verdict, instead of matching on the gem's own instruction prose. +`Agent#generations` replaces the polymorphic join hosts were copying out of a +private service method. + +Upgrading: no migration, and nothing that already worked changes. The judge +keyword reaches only a block that asks for it, so existing judges are +untouched; `Evaluation#replace_scenarios!` keeps `:destroy` as its default. +Adapters should drop any `ActionAgent.record_usage` call of their own, which +now double-counts, and any provider allow-list check of their own, which is +now dead code. + ### Added - The prompt span records how large the tool schemas actually are, as