cctally 1.112.0 → 1.114.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/README.md +4 -5
- package/bin/_cctally_cache.py +1683 -485
- package/bin/_cctally_core.py +223 -1
- package/bin/_cctally_dashboard.py +96 -18
- package/bin/_cctally_dashboard_perf.py +128 -9
- package/bin/_cctally_dashboard_sources.py +267 -204
- package/bin/_cctally_db.py +861 -18
- package/bin/_cctally_diagnosis_sources.py +22 -4
- package/bin/_cctally_doctor.py +136 -18
- package/bin/_cctally_five_hour.py +2 -2
- package/bin/_cctally_forecast.py +27 -6
- package/bin/_cctally_journal.py +67 -5
- package/bin/_cctally_milestone_history.py +82 -9
- package/bin/_cctally_percent_breakdown.py +3 -2
- package/bin/_cctally_quota.py +201 -33
- package/bin/_cctally_record.py +14 -0
- package/bin/_cctally_rederive.py +23 -9
- package/bin/_cctally_source_analytics.py +60 -15
- package/bin/_cctally_statusline.py +17 -0
- package/bin/_cctally_store.py +80 -5
- package/bin/_cctally_tui.py +4 -3
- package/bin/_cctally_weekrefs.py +128 -21
- package/bin/_lib_cache_report.py +35 -6
- package/bin/_lib_codex_conversation.py +32 -0
- package/bin/_lib_codex_conversation_query.py +164 -30
- package/bin/_lib_conversation_query.py +95 -56
- package/bin/_lib_conversation_retention.py +1605 -640
- package/bin/_lib_cost_provenance.py +53 -2
- package/bin/_lib_doctor.py +263 -69
- package/bin/_lib_fmt.py +11 -0
- package/bin/_lib_merge_gate.py +469 -51
- package/bin/_lib_perf.py +27 -1
- package/bin/_lib_pricing.py +209 -8
- package/bin/_lib_pricing_check.py +20 -4
- package/bin/_lib_reclaim_planner.py +792 -0
- package/bin/_lib_rederive.py +225 -77
- package/bin/_lib_snapshot_cache.py +21 -0
- package/bin/_lib_sqlite_close.py +81 -0
- package/bin/_lib_subscription_weeks.py +100 -17
- package/bin/_lib_tick_stats.py +217 -17
- package/bin/_lib_wal_checkpoint.py +1077 -0
- package/bin/_lib_write_budget.py +483 -0
- package/bin/_lib_write_io.py +703 -0
- package/bin/cctally +8 -0
- package/dashboard/static/assets/{ConversationsView-CEZ-BUyi.js → ConversationsView-Bc8LCOAZ.js} +1 -1
- package/dashboard/static/assets/{DoctorModal-CE1oH_Zy.js → DoctorModal-D--qVBwe.js} +1 -1
- package/dashboard/static/assets/ModalRoot-DLPgyAM_.js +1 -0
- package/dashboard/static/assets/{ProjectsDrillPanel-B3DZoCeD.js → ProjectsDrillPanel-z53a4v4M.js} +1 -1
- package/dashboard/static/assets/{SourceDetailModal-CHp9EgLP.js → SourceDetailModal-Bw0T8W-W.js} +1 -1
- package/dashboard/static/assets/{UpdateModal-5iKST6jo.js → UpdateModal-D5AKx4Yw.js} +1 -1
- package/dashboard/static/assets/index-BKITk1CT.css +1 -0
- package/dashboard/static/assets/{index-Cm0VTxJC.js → index-BXDOzSng.js} +3 -3
- package/dashboard/static/assets/{outlineNavigation-DkXGL8J6.js → outlineNavigation-JObY7cUY.js} +1 -1
- package/dashboard/static/dashboard.html +2 -2
- package/package.json +6 -1
- package/dashboard/static/assets/ModalRoot-D5Y8IFUG.js +0 -1
- package/dashboard/static/assets/index-Dt4tqf43.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ConversationsView-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ConversationsView-Bc8LCOAZ.js","assets/useKeymap-CW7Up0Ay.js","assets/outlineNavigation-JObY7cUY.js","assets/ModalRoot-DLPgyAM_.js","assets/ProjectsDrillPanel-z53a4v4M.js","assets/SourceDetailModal-Bw0T8W-W.js","assets/UpdateModal-D5AKx4Yw.js","assets/DoctorModal-D--qVBwe.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{$ as e,A as t,At as n,B as r,C as i,Ct as a,D as o,Dt as s,E as c,Et as l,F as u,Ft as d,G as f,H as p,I as m,It as h,J as g,K as _,L as v,M as y,Mt as b,N as x,Nt as S,O as C,Ot as w,Pt as T,Q as ee,R as E,Rt as D,S as O,St as k,T as te,Tt as A,U as j,V as M,W as ne,X as re,Y as ie,Z as N,_ as ae,_t as P,a as oe,b as F,bt as se,c as I,d as ce,dt as L,et as le,f as R,ft as ue,gt as z,h as de,i as fe,it as B,j as pe,k as me,l as he,m as ge,mt as V,n as _e,o as ve,p as ye,q as be,r as xe,s as Se,st as Ce,t as we,tt as Te,u as Ee,v as De,vt as Oe,w as ke,wt as Ae,x as je,xt as Me,y as Ne,z as H}from"./useKeymap-CW7Up0Ay.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Pe=h((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m)if(n(c)!==null)m=!0,A(x);else{var t=n(l);t!==null&&j(b,t.startTime-e)}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&j(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,ee=-1;function E(){return!(e.unstable_now()-ee<T)}function D(){if(C!==null){var t=e.unstable_now();ee=t;var n=!0;try{n=C(!0,t)}finally{n?O():(S=!1,C=null)}}else S=!1}var O;if(typeof v==`function`)O=function(){v(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,te=k.port2;k.port1.onmessage=D,O=function(){te.postMessage(null)}}else O=function(){g(D,0)};function A(e){C=e,S||(S=!0,O())}function j(t,n){w=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,A(x))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):T=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,j(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,A(x))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Fe=h(((e,t)=>{t.exports=Pe()})),Ie=h((e=>{var t=d(),n=Fe();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var i=new Set,a={};function o(e,t){s(e,t),s(e+`Capture`,t)}function s(e,t){for(a[e]=t,e=0;e<t.length;e++)i.add(t[e])}var c=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),l=Object.prototype.hasOwnProperty,u=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},p={};function m(e){return l.call(p,e)?!0:l.call(f,e)?!1:u.test(e)?p[e]=!0:(f[e]=!0,!1)}function h(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function g(e,t,n,r){if(t==null||h(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function _(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var v={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){v[e]=new _(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];v[t]=new _(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){v[e]=new _(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){v[e]=new _(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){v[e]=new _(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){v[e]=new _(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){v[e]=new _(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){v[e]=new _(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){v[e]=new _(e,5,!1,e.toLowerCase(),null,!1,!1)});var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(y,b);v[t]=new _(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(y,b);v[t]=new _(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(y,b);v[t]=new _(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){v[e]=new _(e,1,!1,e.toLowerCase(),null,!1,!1)}),v.xlinkHref=new _(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){v[e]=new _(e,1,!1,e.toLowerCase(),null,!0,!0)});function x(e,t,n,r){var i=v.hasOwnProperty(t)?v[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(g(t,n,i,r)&&(n=null),r||i===null?m(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var S=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,C=Symbol.for(`react.element`),w=Symbol.for(`react.portal`),T=Symbol.for(`react.fragment`),ee=Symbol.for(`react.strict_mode`),E=Symbol.for(`react.profiler`),D=Symbol.for(`react.provider`),O=Symbol.for(`react.context`),k=Symbol.for(`react.forward_ref`),te=Symbol.for(`react.suspense`),A=Symbol.for(`react.suspense_list`),j=Symbol.for(`react.memo`),M=Symbol.for(`react.lazy`),ne=Symbol.for(`react.offscreen`),re=Symbol.iterator;function ie(e){return typeof e!=`object`||!e?null:(e=re&&e[re]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Object.assign,ae;function P(e){if(ae===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ae=t&&t[1]||``}return`
|
|
3
3
|
`+ae+e}var oe=!1;function F(e,t){if(!e||oe)return``;oe=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&typeof t.stack==`string`){for(var i=t.stack.split(`
|
|
4
4
|
`),a=r.stack.split(`
|
|
@@ -6,8 +6,8 @@ import{$ as e,A as t,At as n,B as r,C as i,Ct as a,D as o,Dt as s,E as c,Et as l
|
|
|
6
6
|
`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(`<anonymous>`)&&(c=c.replace(`<anonymous>`,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{oe=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?P(e):``}function se(e){switch(e.tag){case 5:return P(e.type);case 16:return P(`Lazy`);case 13:return P(`Suspense`);case 19:return P(`SuspenseList`);case 0:case 2:case 15:return e=F(e.type,!1),e;case 11:return e=F(e.type.render,!1),e;case 1:return e=F(e.type,!0),e;default:return``}}function I(e){if(e==null)return null;if(typeof e==`function`)return e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case T:return`Fragment`;case w:return`Portal`;case E:return`Profiler`;case ee:return`StrictMode`;case te:return`Suspense`;case A:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case O:return(e.displayName||`Context`)+`.Consumer`;case D:return(e._context.displayName||`Context`)+`.Provider`;case k:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case j:return t=e.displayName||null,t===null?I(e.type)||`Memo`:t;case M:t=e._payload,e=e._init;try{return I(e(t))}catch{}}return null}function ce(e){var t=e.type;switch(e.tag){case 24:return`Cache`;case 9:return(t.displayName||`Context`)+`.Consumer`;case 10:return(t._context.displayName||`Context`)+`.Provider`;case 18:return`DehydratedFragment`;case 11:return e=t.render,e=e.displayName||e.name||``,t.displayName||(e===``?`ForwardRef`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return I(t);case 8:return t===ee?`StrictMode`:`Mode`;case 22:return`Offscreen`;case 12:return`Profiler`;case 21:return`Scope`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 25:return`TracingMarker`;case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==`function`)return t.displayName||t.name||null;if(typeof t==`string`)return t}return null}function L(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function le(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function R(e){var t=le(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ue(e){e._valueTracker||=R(e)}function z(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=le(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function de(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function fe(e,t){var n=t.checked;return N({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function B(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=L(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function pe(e,t){t=t.checked,t!=null&&x(e,`checked`,t,!1)}function me(e,t){pe(e,t);var n=L(t.value),r=t.type;if(n!=null)r===`number`?(n===0&&e.value===``||e.value!=n)&&(e.value=``+n):e.value!==``+n&&(e.value=``+n);else if(r===`submit`||r===`reset`){e.removeAttribute(`value`);return}t.hasOwnProperty(`value`)?ge(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&ge(e,t.type,L(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function he(e,t,n){if(t.hasOwnProperty(`value`)||t.hasOwnProperty(`defaultValue`)){var r=t.type;if(!(r!==`submit`&&r!==`reset`||t.value!==void 0&&t.value!==null))return;t=``+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==``&&(e.name=``),e.defaultChecked=!!e._wrapperState.initialChecked,n!==``&&(e.name=n)}function ge(e,t,n){(t!==`number`||de(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var V=Array.isArray;function _e(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+L(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function ve(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(r(91));return N({},t,{value:void 0,defaultValue:void 0,children:``+e._wrapperState.initialValue})}function ye(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(r(92));if(V(n)){if(1<n.length)throw Error(r(93));n=n[0]}t=n}t??=``,n=t}e._wrapperState={initialValue:L(n)}}function be(e,t){var n=L(t.value),r=L(t.defaultValue);n!=null&&(n=``+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=``+r)}function xe(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==``&&t!==null&&(e.value=t)}function Se(e){switch(e){case`svg`:return`http://www.w3.org/2000/svg`;case`math`:return`http://www.w3.org/1998/Math/MathML`;default:return`http://www.w3.org/1999/xhtml`}}function Ce(e,t){return e==null||e===`http://www.w3.org/1999/xhtml`?Se(t):e===`http://www.w3.org/2000/svg`&&t===`foreignObject`?`http://www.w3.org/1999/xhtml`:e}var we,Te=function(e){return typeof MSApp<`u`&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!==`http://www.w3.org/2000/svg`||`innerHTML`in e)e.innerHTML=t;else{for(we||=document.createElement(`div`),we.innerHTML=`<svg>`+t.valueOf().toString()+`</svg>`,t=we.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ee(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var De={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Oe=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(De).forEach(function(e){Oe.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),De[t]=De[e]})});function ke(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||De.hasOwnProperty(e)&&De[e]?(``+t).trim():t+`px`}function Ae(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=ke(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var je=N({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Me(e,t){if(t){if(je[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(r(62))}}function Ne(e,t){if(e.indexOf(`-`)===-1)return typeof t.is==`string`;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var H=null;function Pe(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ie=null,Le=null,Re=null;function U(e){if(e=Fi(e)){if(typeof Ie!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=Li(t),Ie(e.stateNode,e.type,t))}}function W(e){Le?Re?Re.push(e):Re=[e]:Le=e}function ze(){if(Le){var e=Le,t=Re;if(Re=Le=null,U(e),t)for(e=0;e<t.length;e++)U(t[e])}}function Be(e,t){return e(t)}function Ve(){}var He=!1;function Ue(e,t,n){if(He)return e(t,n);He=!0;try{return Be(e,t,n)}finally{He=!1,(Le!==null||Re!==null)&&(Ve(),ze())}}function We(e,t){var n=e.stateNode;if(n===null)return null;var i=Li(n);if(i===null)return null;n=i[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(i=!i.disabled)||(e=e.type,i=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!i;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(r(231,t,typeof n));return n}var Ge=!1;if(c)try{var Ke={};Object.defineProperty(Ke,"passive",{get:function(){Ge=!0}}),window.addEventListener(`test`,Ke,Ke),window.removeEventListener(`test`,Ke,Ke)}catch{Ge=!1}function qe(e,t,n,r,i,a,o,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var Je=!1,Ye=null,Xe=!1,Ze=null,Qe={onError:function(e){Je=!0,Ye=e}};function $e(e,t,n,r,i,a,o,s,c){Je=!1,Ye=null,qe.apply(Qe,arguments)}function et(e,t,n,i,a,o,s,c,l){if($e.apply(this,arguments),Je){if(Je){var u=Ye;Je=!1,Ye=null}else throw Error(r(198));Xe||(Xe=!0,Ze=u)}}function tt(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function nt(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function rt(e){if(tt(e)!==e)throw Error(r(188))}function it(e){var t=e.alternate;if(!t){if(t=tt(e),t===null)throw Error(r(188));return t===e?e:null}for(var n=e,i=t;;){var a=n.return;if(a===null)break;var o=a.alternate;if(o===null){if(i=a.return,i!==null){n=i;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return rt(a),e;if(o===i)return rt(a),t;o=o.sibling}throw Error(r(188))}if(n.return!==i.return)n=a,i=o;else{for(var s=!1,c=a.child;c;){if(c===n){s=!0,n=a,i=o;break}if(c===i){s=!0,i=a,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,i=a;break}if(c===i){s=!0,i=o,n=a;break}c=c.sibling}if(!s)throw Error(r(189))}}if(n.alternate!==i)throw Error(r(190))}if(n.tag!==3)throw Error(r(188));return n.stateNode.current===n?e:t}function at(e){return e=it(e),e===null?null:G(e)}function G(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=G(e);if(t!==null)return t;e=e.sibling}return null}var ot=n.unstable_scheduleCallback,st=n.unstable_cancelCallback,ct=n.unstable_shouldYield,lt=n.unstable_requestPaint,ut=n.unstable_now,dt=n.unstable_getCurrentPriorityLevel,ft=n.unstable_ImmediatePriority,pt=n.unstable_UserBlockingPriority,mt=n.unstable_NormalPriority,ht=n.unstable_LowPriority,gt=n.unstable_IdlePriority,_t=null,vt=null;function yt(e){if(vt&&typeof vt.onCommitFiberRoot==`function`)try{vt.onCommitFiberRoot(_t,e,void 0,(e.current.flags&128)==128)}catch{}}var bt=Math.clz32?Math.clz32:Ct,xt=Math.log,St=Math.LN2;function Ct(e){return e>>>=0,e===0?32:31-(xt(e)/St|0)|0}var wt=64,Tt=4194304;function Et(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Dt(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=Et(a))):r=Et(s)}else o=n&~i,o===0?a!==0&&(r=Et(a)):r=Et(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-bt(t),i=1<<n,r|=e[n],t&=~i;return r}function Ot(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function kt(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-bt(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Ot(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}}function At(e){return e=e.pendingLanes&-1073741825,e===0?e&1073741824?1073741824:0:e}function jt(){var e=wt;return wt<<=1,!(wt&4194240)&&(wt=64),e}function Mt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Nt(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-bt(t),e[t]=n}function Pt(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-bt(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function Ft(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-bt(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var K=0;function It(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Lt,Rt,zt,Bt,Vt,Ht=!1,Ut=[],Wt=null,Gt=null,Kt=null,qt=new Map,Jt=new Map,Yt=[],Xt=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit`.split(` `);function Zt(e,t){switch(e){case`focusin`:case`focusout`:Wt=null;break;case`dragenter`:case`dragleave`:Gt=null;break;case`mouseover`:case`mouseout`:Kt=null;break;case`pointerover`:case`pointerout`:qt.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Jt.delete(t.pointerId)}}function Qt(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Fi(t),t!==null&&Rt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function $t(e,t,n,r,i){switch(t){case`focusin`:return Wt=Qt(Wt,e,t,n,r,i),!0;case`dragenter`:return Gt=Qt(Gt,e,t,n,r,i),!0;case`mouseover`:return Kt=Qt(Kt,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return qt.set(a,Qt(qt.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Jt.set(a,Qt(Jt.get(a)||null,e,t,n,r,i)),!0}return!1}function en(e){var t=Pi(e.target);if(t!==null){var n=tt(t);if(n!==null){if(t=n.tag,t===13){if(t=nt(n),t!==null){e.blockedOn=t,Vt(e.priority,function(){zt(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function tn(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=pn(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);H=r,n.target.dispatchEvent(r),H=null}else return t=Fi(n),t!==null&&Rt(t),e.blockedOn=n,!1;t.shift()}return!0}function nn(e,t,n){tn(e)&&n.delete(t)}function rn(){Ht=!1,Wt!==null&&tn(Wt)&&(Wt=null),Gt!==null&&tn(Gt)&&(Gt=null),Kt!==null&&tn(Kt)&&(Kt=null),qt.forEach(nn),Jt.forEach(nn)}function an(e,t){e.blockedOn===t&&(e.blockedOn=null,Ht||(Ht=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,rn)))}function on(e){function t(t){return an(t,e)}if(0<Ut.length){an(Ut[0],e);for(var n=1;n<Ut.length;n++){var r=Ut[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Wt!==null&&an(Wt,e),Gt!==null&&an(Gt,e),Kt!==null&&an(Kt,e),qt.forEach(t),Jt.forEach(t),n=0;n<Yt.length;n++)r=Yt[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<Yt.length&&(n=Yt[0],n.blockedOn===null);)en(n),n.blockedOn===null&&Yt.shift()}var sn=S.ReactCurrentBatchConfig,cn=!0;function ln(e,t,n,r){var i=K,a=sn.transition;sn.transition=null;try{K=1,dn(e,t,n,r)}finally{K=i,sn.transition=a}}function un(e,t,n,r){var i=K,a=sn.transition;sn.transition=null;try{K=4,dn(e,t,n,r)}finally{K=i,sn.transition=a}}function dn(e,t,n,r){if(cn){var i=pn(e,t,n,r);if(i===null)oi(e,t,r,fn,n),Zt(e,r);else if($t(i,e,t,n,r))r.stopPropagation();else if(Zt(e,r),t&4&&-1<Xt.indexOf(e)){for(;i!==null;){var a=Fi(i);if(a!==null&&Lt(a),a=pn(e,t,n,r),a===null&&oi(e,t,r,fn,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else oi(e,t,r,null,n)}}var fn=null;function pn(e,t,n,r){if(fn=null,e=Pe(r),e=Pi(e),e!==null)if(t=tt(e),t===null)e=null;else if(n=t.tag,n===13){if(e=nt(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return fn=e,null}function mn(e){switch(e){case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 1;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`toggle`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 4;case`message`:switch(dt()){case ft:return 1;case pt:return 4;case mt:case ht:return 16;case gt:return 536870912;default:return 16}default:return 16}}var hn=null,gn=null,_n=null;function vn(){if(_n)return _n;var e,t=gn,n=t.length,r,i=`value`in hn?hn.value:hn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return _n=i.slice(e,1<r?1-r:void 0)}function yn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function bn(){return!0}function xn(){return!1}function Sn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?bn:xn,this.isPropagationStopped=xn,this}return N(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=bn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=bn)},persist:function(){},isPersistent:bn}),t}var Cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},wn=Sn(Cn),Tn=N({},Cn,{view:0,detail:0}),En=Sn(Tn),Dn,On,kn,An=N({},Tn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Vn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==kn&&(kn&&e.type===`mousemove`?(Dn=e.screenX-kn.screenX,On=e.screenY-kn.screenY):On=Dn=0,kn=e),Dn)},movementY:function(e){return`movementY`in e?e.movementY:On}}),jn=Sn(An),Mn=Sn(N({},An,{dataTransfer:0})),Nn=Sn(N({},Tn,{relatedTarget:0})),Pn=Sn(N({},Cn,{animationName:0,elapsedTime:0,pseudoElement:0})),Fn=Sn(N({},Cn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),In=Sn(N({},Cn,{data:0})),Ln={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Rn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},zn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Bn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=zn[e])?!!t[e]:!1}function Vn(){return Bn}var Hn=Sn(N({},Tn,{key:function(e){if(e.key){var t=Ln[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=yn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Rn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Vn,charCode:function(e){return e.type===`keypress`?yn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?yn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Un=Sn(N({},An,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Wn=Sn(N({},Tn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Vn})),Gn=Sn(N({},Cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Kn=Sn(N({},An,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),qn=[9,13,27,32],Jn=c&&`CompositionEvent`in window,Yn=null;c&&`documentMode`in document&&(Yn=document.documentMode);var Xn=c&&`TextEvent`in window&&!Yn,Zn=c&&(!Jn||Yn&&8<Yn&&11>=Yn),Qn=` `,$n=!1;function er(e,t){switch(e){case`keyup`:return qn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function tr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var nr=!1;function rr(e,t){switch(e){case`compositionend`:return tr(t);case`keypress`:return t.which===32?($n=!0,Qn):null;case`textInput`:return e=t.data,e===Qn&&$n?null:e;default:return null}}function ir(e,t){if(nr)return e===`compositionend`||!Jn&&er(e,t)?(e=vn(),_n=gn=hn=null,nr=!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.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return Zn&&t.locale!==`ko`?null:t.data;default:return null}}var ar={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function or(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!ar[e.type]:t===`textarea`}function sr(e,t,n,r){W(r),t=ci(t,`onChange`),0<t.length&&(n=new wn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var cr=null,lr=null;function ur(e){ti(e,0)}function dr(e){if(z(Ii(e)))return e}function fr(e,t){if(e===`change`)return t}var pr=!1;if(c){var mr;if(c){var hr=`oninput`in document;if(!hr){var gr=document.createElement(`div`);gr.setAttribute(`oninput`,`return;`),hr=typeof gr.oninput==`function`}mr=hr}else mr=!1;pr=mr&&(!document.documentMode||9<document.documentMode)}function _r(){cr&&(cr.detachEvent(`onpropertychange`,vr),lr=cr=null)}function vr(e){if(e.propertyName===`value`&&dr(lr)){var t=[];sr(t,lr,e,Pe(e)),Ue(ur,t)}}function yr(e,t,n){e===`focusin`?(_r(),cr=t,lr=n,cr.attachEvent(`onpropertychange`,vr)):e===`focusout`&&_r()}function br(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return dr(lr)}function xr(e,t){if(e===`click`)return dr(t)}function Sr(e,t){if(e===`input`||e===`change`)return dr(t)}function Cr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var wr=typeof Object.is==`function`?Object.is:Cr;function Tr(e,t){if(wr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!l.call(t,i)||!wr(e[i],t[i]))return!1}return!0}function Er(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Dr(e,t){var n=Er(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Er(n)}}function Or(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Or(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function kr(){for(var e=window,t=de();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=de(e.document)}return t}function Ar(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`)}function jr(e){var t=kr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Or(n.ownerDocument.documentElement,n)){if(r!==null&&Ar(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),`selectionStart`in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Dr(n,a);var o=Dr(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==`function`&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Mr=c&&`documentMode`in document&&11>=document.documentMode,Nr=null,Pr=null,Fr=null,Ir=!1;function Lr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ir||Nr==null||Nr!==de(r)||(r=Nr,`selectionStart`in r&&Ar(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Fr&&Tr(Fr,r)||(Fr=r,r=ci(Pr,`onSelect`),0<r.length&&(t=new wn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Nr)))}function Rr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var zr={animationend:Rr(`Animation`,`AnimationEnd`),animationiteration:Rr(`Animation`,`AnimationIteration`),animationstart:Rr(`Animation`,`AnimationStart`),transitionend:Rr(`Transition`,`TransitionEnd`)},Br={},Vr={};c&&(Vr=document.createElement(`div`).style,`AnimationEvent`in window||(delete zr.animationend.animation,delete zr.animationiteration.animation,delete zr.animationstart.animation),`TransitionEvent`in window||delete zr.transitionend.transition);function Hr(e){if(Br[e])return Br[e];if(!zr[e])return e;var t=zr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Vr)return Br[e]=t[n];return e}var Ur=Hr(`animationend`),Wr=Hr(`animationiteration`),Gr=Hr(`animationstart`),Kr=Hr(`transitionend`),qr=new Map,Jr=`abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);function Yr(e,t){qr.set(e,t),o(t,[e])}for(var Xr=0;Xr<Jr.length;Xr++){var Zr=Jr[Xr];Yr(Zr.toLowerCase(),`on`+(Zr[0].toUpperCase()+Zr.slice(1)))}Yr(Ur,`onAnimationEnd`),Yr(Wr,`onAnimationIteration`),Yr(Gr,`onAnimationStart`),Yr(`dblclick`,`onDoubleClick`),Yr(`focusin`,`onFocus`),Yr(`focusout`,`onBlur`),Yr(Kr,`onTransitionEnd`),s(`onMouseEnter`,[`mouseout`,`mouseover`]),s(`onMouseLeave`,[`mouseout`,`mouseover`]),s(`onPointerEnter`,[`pointerout`,`pointerover`]),s(`onPointerLeave`,[`pointerout`,`pointerover`]),o(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),o(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),o(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),o(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var Qr=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),$r=new Set(`cancel close invalid load scroll toggle`.split(` `).concat(Qr));function ei(e,t,n){var r=e.type||`unknown-event`;e.currentTarget=n,et(r,t,void 0,e),e.currentTarget=null}function ti(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;ei(i,s,l),a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;ei(i,s,l),a=c}}}if(Xe)throw e=Ze,Xe=!1,Ze=null,e}function q(e,t){var n=t[ji];n===void 0&&(n=t[ji]=new Set);var r=e+`__bubble`;n.has(r)||(ai(t,e,2,!1),n.add(r))}function ni(e,t,n){var r=0;t&&(r|=4),ai(n,e,r,t)}var ri=`_reactListening`+Math.random().toString(36).slice(2);function ii(e){if(!e[ri]){e[ri]=!0,i.forEach(function(t){t!==`selectionchange`&&($r.has(t)||ni(t,!1,e),ni(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ri]||(t[ri]=!0,ni(`selectionchange`,!1,t))}}function ai(e,t,n,r){switch(mn(t)){case 1:var i=ln;break;case 4:i=un;break;default:i=dn}n=i.bind(null,t,n,e),i=void 0,!Ge||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function oi(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===i||c.nodeType===8&&c.parentNode===i))return;o=o.return}for(;s!==null;){if(o=Pi(s),o===null)return;if(c=o.tag,c===5||c===6){r=a=o;continue a}s=s.parentNode}}r=r.return}Ue(function(){var r=a,i=Pe(n),o=[];a:{var s=qr.get(e);if(s!==void 0){var c=wn,l=e;switch(e){case`keypress`:if(yn(n)===0)break a;case`keydown`:case`keyup`:c=Hn;break;case`focusin`:l=`focus`,c=Nn;break;case`focusout`:l=`blur`,c=Nn;break;case`beforeblur`:case`afterblur`:c=Nn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:c=jn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=Mn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=Wn;break;case Ur:case Wr:case Gr:c=Pn;break;case Kr:c=Gn;break;case`scroll`:c=En;break;case`wheel`:c=Kn;break;case`copy`:case`cut`:case`paste`:c=Fn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=Un}var u=(t&4)!=0,d=!u&&e===`scroll`,f=u?s===null?null:s+`Capture`:s;u=[];for(var p=r,m;p!==null;){m=p;var h=m.stateNode;if(m.tag===5&&h!==null&&(m=h,f!==null&&(h=We(p,f),h!=null&&u.push(si(p,h,m)))),d)break;p=p.return}0<u.length&&(s=new c(s,l,null,n,i),o.push({event:s,listeners:u}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,s&&n!==H&&(l=n.relatedTarget||n.fromElement)&&(Pi(l)||l[Ai]))break a;if((c||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?Pi(l):null,l!==null&&(d=tt(l),l!==d||l.tag!==5&&l.tag!==6)&&(l=null)):(c=null,l=r),c!==l)){if(u=jn,h=`onMouseLeave`,f=`onMouseEnter`,p=`mouse`,(e===`pointerout`||e===`pointerover`)&&(u=Un,h=`onPointerLeave`,f=`onPointerEnter`,p=`pointer`),d=c==null?s:Ii(c),m=l==null?s:Ii(l),s=new u(h,p+`leave`,c,n,i),s.target=d,s.relatedTarget=m,h=null,Pi(i)===r&&(u=new u(f,p+`enter`,l,n,i),u.target=m,u.relatedTarget=d,h=u),d=h,c&&l)b:{for(u=c,f=l,p=0,m=u;m;m=li(m))p++;for(m=0,h=f;h;h=li(h))m++;for(;0<p-m;)u=li(u),p--;for(;0<m-p;)f=li(f),m--;for(;p--;){if(u===f||f!==null&&u===f.alternate)break b;u=li(u),f=li(f)}u=null}else u=null;c!==null&&ui(o,s,c,u,!1),l!==null&&d!==null&&ui(o,d,l,u,!0)}}a:{if(s=r?Ii(r):window,c=s.nodeName&&s.nodeName.toLowerCase(),c===`select`||c===`input`&&s.type===`file`)var g=fr;else if(or(s))if(pr)g=Sr;else{g=br;var _=yr}else (c=s.nodeName)&&c.toLowerCase()===`input`&&(s.type===`checkbox`||s.type===`radio`)&&(g=xr);if(g&&=g(e,r)){sr(o,g,n,i);break a}_&&_(e,s,r),e===`focusout`&&(_=s._wrapperState)&&_.controlled&&s.type===`number`&&ge(s,`number`,s.value)}switch(_=r?Ii(r):window,e){case`focusin`:(or(_)||_.contentEditable===`true`)&&(Nr=_,Pr=r,Fr=null);break;case`focusout`:Fr=Pr=Nr=null;break;case`mousedown`:Ir=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Ir=!1,Lr(o,n,i);break;case`selectionchange`:if(Mr)break;case`keydown`:case`keyup`:Lr(o,n,i)}var v;if(Jn)b:{switch(e){case`compositionstart`:var y=`onCompositionStart`;break b;case`compositionend`:y=`onCompositionEnd`;break b;case`compositionupdate`:y=`onCompositionUpdate`;break b}y=void 0}else nr?er(e,n)&&(y=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(y=`onCompositionStart`);y&&(Zn&&n.locale!==`ko`&&(nr||y!==`onCompositionStart`?y===`onCompositionEnd`&&nr&&(v=vn()):(hn=i,gn=`value`in hn?hn.value:hn.textContent,nr=!0)),_=ci(r,y),0<_.length&&(y=new In(y,e,null,n,i),o.push({event:y,listeners:_}),v?y.data=v:(v=tr(n),v!==null&&(y.data=v)))),(v=Xn?rr(e,n):ir(e,n))&&(r=ci(r,`onBeforeInput`),0<r.length&&(i=new In(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:i,listeners:r}),i.data=v))}ti(o,t)})}function si(e,t,n){return{instance:e,listener:t,currentTarget:n}}function ci(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=We(e,n),a!=null&&r.unshift(si(e,a,i)),a=We(e,t),a!=null&&r.push(si(e,a,i))),e=e.return}return r}function li(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function ui(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(c!==null&&c===r)break;s.tag===5&&l!==null&&(s=l,i?(c=We(n,a),c!=null&&o.unshift(si(n,c,s))):i||(c=We(n,a),c!=null&&o.push(si(n,c,s)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var di=/\r\n?/g,fi=/\u0000|\uFFFD/g;function pi(e){return(typeof e==`string`?e:``+e).replace(di,`
|
|
7
7
|
`).replace(fi,``)}function mi(e,t,n){if(t=pi(t),pi(e)!==t&&n)throw Error(r(425))}function hi(){}var gi=null,_i=null;function vi(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var yi=typeof setTimeout==`function`?setTimeout:void 0,bi=typeof clearTimeout==`function`?clearTimeout:void 0,xi=typeof Promise==`function`?Promise:void 0,Si=typeof queueMicrotask==`function`?queueMicrotask:xi===void 0?yi:function(e){return xi.resolve(null).then(e).catch(Ci)};function Ci(e){setTimeout(function(){throw e})}function wi(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`){if(r===0){e.removeChild(i),on(t);return}r--}else n!==`$`&&n!==`$?`&&n!==`$!`||r++;n=i}while(n);on(t)}function Ti(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`)break;if(t===`/$`)return null}}return e}function Ei(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`){if(t===0)return e;t--}else n===`/$`&&t++}e=e.previousSibling}return null}var Di=Math.random().toString(36).slice(2),Oi=`__reactFiber$`+Di,ki=`__reactProps$`+Di,Ai=`__reactContainer$`+Di,ji=`__reactEvents$`+Di,Mi=`__reactListeners$`+Di,Ni=`__reactHandles$`+Di;function Pi(e){var t=e[Oi];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ai]||n[Oi]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Ei(e);e!==null;){if(n=e[Oi])return n;e=Ei(e)}return t}e=n,n=e.parentNode}return null}function Fi(e){return e=e[Oi]||e[Ai],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Ii(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(r(33))}function Li(e){return e[ki]||null}var Ri=[],zi=-1;function Bi(e){return{current:e}}function J(e){0>zi||(e.current=Ri[zi],Ri[zi]=null,zi--)}function Y(e,t){zi++,Ri[zi]=e.current,e.current=t}var Vi={},Hi=Bi(Vi),Ui=Bi(!1),Wi=Vi;function Gi(e,t){var n=e.type.contextTypes;if(!n)return Vi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ki(e){return e=e.childContextTypes,e!=null}function qi(){J(Ui),J(Hi)}function Ji(e,t,n){if(Hi.current!==Vi)throw Error(r(168));Y(Hi,t),Y(Ui,n)}function Yi(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=`function`)return n;for(var a in i=i.getChildContext(),i)if(!(a in t))throw Error(r(108,ce(e)||`Unknown`,a));return N({},n,i)}function Xi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vi,Wi=Hi.current,Y(Hi,e),Y(Ui,Ui.current),!0}function Zi(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=Yi(e,t,Wi),i.__reactInternalMemoizedMergedChildContext=e,J(Ui),J(Hi),Y(Hi,e)):J(Ui),Y(Ui,n)}var Qi=null,$i=!1,ea=!1;function ta(e){Qi===null?Qi=[e]:Qi.push(e)}function na(e){$i=!0,ta(e)}function ra(){if(!ea&&Qi!==null){ea=!0;var e=0,t=K;try{var n=Qi;for(K=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Qi=null,$i=!1}catch(t){throw Qi!==null&&(Qi=Qi.slice(e+1)),ot(ft,ra),t}finally{K=t,ea=!1}}return null}var ia=[],aa=0,oa=null,sa=0,ca=[],la=0,ua=null,da=1,fa=``;function pa(e,t){ia[aa++]=sa,ia[aa++]=oa,oa=e,sa=t}function ma(e,t,n){ca[la++]=da,ca[la++]=fa,ca[la++]=ua,ua=e;var r=da;e=fa;var i=32-bt(r)-1;r&=~(1<<i),n+=1;var a=32-bt(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,da=1<<32-bt(t)+i|n<<i|r,fa=a+e}else da=1<<a|n<<i|r,fa=e}function ha(e){e.return!==null&&(pa(e,1),ma(e,1,0))}function ga(e){for(;e===oa;)oa=ia[--aa],ia[aa]=null,sa=ia[--aa],ia[aa]=null;for(;e===ua;)ua=ca[--la],ca[la]=null,fa=ca[--la],ca[la]=null,da=ca[--la],ca[la]=null}var _a=null,va=null,X=!1,ya=null;function ba(e,t){var n=ql(5,null,null,0);n.elementType=`DELETED`,n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function xa(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t===null?!1:(e.stateNode=t,_a=e,va=Ti(t.firstChild),!0);case 6:return t=e.pendingProps===``||t.nodeType!==3?null:t,t===null?!1:(e.stateNode=t,_a=e,va=null,!0);case 13:return t=t.nodeType===8?t:null,t===null?!1:(n=ua===null?null:{id:da,overflow:fa},e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=ql(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,_a=e,va=null,!0);default:return!1}}function Sa(e){return(e.mode&1)!=0&&(e.flags&128)==0}function Ca(e){if(X){var t=va;if(t){var n=t;if(!xa(e,t)){if(Sa(e))throw Error(r(418));t=Ti(n.nextSibling);var i=_a;t&&xa(e,t)?ba(i,n):(e.flags=e.flags&-4097|2,X=!1,_a=e)}}else{if(Sa(e))throw Error(r(418));e.flags=e.flags&-4097|2,X=!1,_a=e}}}function wa(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;_a=e}function Ta(e){if(e!==_a)return!1;if(!X)return wa(e),X=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!==`head`&&t!==`body`&&!vi(e.type,e.memoizedProps)),t&&=va){if(Sa(e))throw Ea(),Error(r(418));for(;t;)ba(e,t),t=Ti(t.nextSibling)}if(wa(e),e.tag===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(r(317));a:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`){if(t===0){va=Ti(e.nextSibling);break a}t--}else n!==`$`&&n!==`$!`&&n!==`$?`||t++}e=e.nextSibling}va=null}}else va=_a?Ti(e.stateNode.nextSibling):null;return!0}function Ea(){for(var e=va;e;)e=Ti(e.nextSibling)}function Da(){va=_a=null,X=!1}function Oa(e){ya===null?ya=[e]:ya.push(e)}var ka=S.ReactCurrentBatchConfig;function Aa(e,t,n){if(e=n.ref,e!==null&&typeof e!=`function`&&typeof e!=`object`){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(r(309));var i=n.stateNode}if(!i)throw Error(r(147,e));var a=i,o=``+e;return t!==null&&t.ref!==null&&typeof t.ref==`function`&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;e===null?delete t[o]:t[o]=e},t._stringRef=o,t)}if(typeof e!=`string`)throw Error(r(284));if(!n._owner)throw Error(r(290,e))}return e}function ja(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e))}function Ma(e){var t=e._init;return t(e._payload)}function Na(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function i(e,t){for(e=new Map;t!==null;)t.key===null?e.set(t.index,t):e.set(t.key,t),t=t.sibling;return e}function a(e,t){return e=Xl(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=2,n):(r=r.index,r<n?(t.flags|=2,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=2),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=eu(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===T?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===M&&Ma(i)===t.type)?(r=a(t,n.props),r.ref=Aa(e,t,n),r.return=e,r):(r=Zl(n.type,n.key,n.props,null,e.mode,r),r.ref=Aa(e,t,n),r.return=e,r)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=tu(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=Ql(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`)return t=eu(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case C:return n=Zl(t.type,t.key,t.props,null,e.mode,n),n.ref=Aa(e,null,t),n.return=e,n;case w:return t=tu(t,e.mode,n),t.return=e,t;case M:var r=t._init;return f(e,r(t._payload),n)}if(V(t)||ie(t))return t=Ql(t,e.mode,n,null),t.return=e,t;ja(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case C:return n.key===i?l(e,t,n,r):null;case w:return n.key===i?u(e,t,n,r):null;case M:return i=n._init,p(e,t,i(n._payload),r)}if(V(n)||ie(n))return i===null?d(e,t,n,r,null):null;ja(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case C:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case w:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case M:var a=r._init;return m(e,t,n,a(r._payload),i)}if(V(r)||ie(r))return e=e.get(n)||null,d(t,e,r,i,null);ja(t,r)}return null}function h(r,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(r,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(r,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(r,d),X&&pa(r,h),l;if(d===null){for(;h<s.length;h++)d=f(r,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return X&&pa(r,h),l}for(d=i(r,d);h<s.length;h++)g=m(d,r,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(r,e)}),X&&pa(r,h),l}function g(a,s,c,l){var u=ie(c);if(typeof u!=`function`)throw Error(r(150));if(c=u.call(c),c==null)throw Error(r(151));for(var d=u=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),X&&pa(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return X&&pa(a,g),u}for(h=i(a,h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),X&&pa(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===T&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case C:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===T){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===M&&Ma(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=Aa(e,l,i),r.return=e,e=r;break a}n(e,l);break}else t(e,l);l=l.sibling}i.type===T?(r=Ql(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=Zl(i.type,i.key,i.props,null,e.mode,o),o.ref=Aa(e,r,i),o.return=e,e=o)}return s(e);case w:a:{for(l=i.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}else{n(e,r);break}else t(e,r);r=r.sibling}r=tu(i,e.mode,o),r.return=e,e=r}return s(e);case M:return l=i._init,_(e,r,l(i._payload),o)}if(V(i))return h(e,r,i,o);if(ie(i))return g(e,r,i,o);ja(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=eu(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var Pa=Na(!0),Fa=Na(!1),Ia=Bi(null),La=null,Ra=null,za=null;function Ba(){za=Ra=La=null}function Va(e){var t=Ia.current;J(Ia),e._currentValue=t}function Ha(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Ua(e,t){La=e,za=Ra=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ns=!0),e.firstContext=null)}function Wa(e){var t=e._currentValue;if(za!==e)if(e={context:e,memoizedValue:t,next:null},Ra===null){if(La===null)throw Error(r(308));Ra=e,La.dependencies={lanes:0,firstContext:e}}else Ra=Ra.next=e;return t}var Ga=null;function Ka(e){Ga===null?Ga=[e]:Ga.push(e)}function qa(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Ka(t)):(n.next=i.next,i.next=n),t.interleaved=n,Ja(e,r)}function Ja(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Ya=!1;function Xa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Za(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function $a(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Q&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Ja(e,n)}return i=r.interleaved,i===null?(t.next=t,Ka(r)):(t.next=i.next,i.next=t),r.interleaved=t,Ja(e,n)}function eo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ft(e,n)}}function to(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function no(e,t,n,r){var i=e.updateQueue;Ya=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=N({},d,f);break a;case 2:Ya=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Yc|=o,e.lanes=o,e.memoizedState=d}}function ro(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var i=e[t],a=i.callback;if(a!==null){if(i.callback=null,i=n,typeof a!=`function`)throw Error(r(191,a));a.call(i)}}}var io={},ao=Bi(io),oo=Bi(io),so=Bi(io);function co(e){if(e===io)throw Error(r(174));return e}function lo(e,t){switch(Y(so,t),Y(oo,e),Y(ao,io),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Ce(null,``);break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Ce(t,e)}J(ao),Y(ao,t)}function uo(){J(ao),J(oo),J(so)}function fo(e){co(so.current);var t=co(ao.current),n=Ce(t,e.type);t!==n&&(Y(oo,e),Y(ao,n))}function po(e){oo.current===e&&(J(ao),J(oo))}var mo=Bi(0);function ho(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data===`$?`||n.data===`$!`))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var go=[];function _o(){for(var e=0;e<go.length;e++)go[e]._workInProgressVersionPrimary=null;go.length=0}var vo=S.ReactCurrentDispatcher,yo=S.ReactCurrentBatchConfig,bo=0,xo=null,So=null,Co=null,wo=!1,To=!1,Eo=0,Do=0;function Oo(){throw Error(r(321))}function ko(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!wr(e[n],t[n]))return!1;return!0}function Ao(e,t,n,i,a,o){if(bo=o,xo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,vo.current=e===null||e.memoizedState===null?ps:ms,e=n(i,a),To){o=0;do{if(To=!1,Eo=0,25<=o)throw Error(r(301));o+=1,Co=So=null,t.updateQueue=null,vo.current=hs,e=n(i,a)}while(To)}if(vo.current=fs,t=So!==null&&So.next!==null,bo=0,Co=So=xo=null,wo=!1,t)throw Error(r(300));return e}function jo(){var e=Eo!==0;return Eo=0,e}function Mo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Co===null?xo.memoizedState=Co=e:Co=Co.next=e,Co}function No(){if(So===null){var e=xo.alternate;e=e===null?null:e.memoizedState}else e=So.next;var t=Co===null?xo.memoizedState:Co.next;if(t!==null)Co=t,So=e;else{if(e===null)throw Error(r(310));So=e,e={memoizedState:So.memoizedState,baseState:So.baseState,baseQueue:So.baseQueue,queue:So.queue,next:null},Co===null?xo.memoizedState=Co=e:Co=Co.next=e}return Co}function Po(e,t){return typeof t==`function`?t(e):t}function Fo(e){var t=No(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=So,a=i.baseQueue,o=n.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}i.baseQueue=a=o,n.pending=null}if(a!==null){o=a.next,i=i.baseState;var c=s=null,l=null,u=o;do{var d=u.lane;if((bo&d)===d)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),i=u.hasEagerState?u.eagerState:e(i,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(c=l=f,s=i):l=l.next=f,xo.lanes|=d,Yc|=d}u=u.next}while(u!==null&&u!==o);l===null?s=i:l.next=c,wr(i,t.memoizedState)||(Ns=!0),t.memoizedState=i,t.baseState=s,t.baseQueue=l,n.lastRenderedState=i}if(e=n.interleaved,e!==null){a=e;do o=a.lane,xo.lanes|=o,Yc|=o,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Io(e){var t=No(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);wr(o,t.memoizedState)||(Ns=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,i]}function Lo(){}function Ro(e,t){var n=xo,i=No(),a=t(),o=!wr(i.memoizedState,a);if(o&&(i.memoizedState=a,Ns=!0),i=i.queue,Xo(Vo.bind(null,n,i,e),[e]),i.getSnapshot!==t||o||Co!==null&&Co.memoizedState.tag&1){if(n.flags|=2048,Go(9,Bo.bind(null,n,i,a,t),void 0,null),Hc===null)throw Error(r(349));bo&30||zo(n,t,a)}return a}function zo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=xo.updateQueue,t===null?(t={lastEffect:null,stores:null},xo.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Bo(e,t,n,r){t.value=n,t.getSnapshot=r,Ho(t)&&Uo(e)}function Vo(e,t,n){return n(function(){Ho(t)&&Uo(e)})}function Ho(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!wr(e,n)}catch{return!0}}function Uo(e){var t=Ja(e,1);t!==null&&hl(t,e,1,-1)}function Wo(e){var t=Mo();return typeof e==`function`&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Po,lastRenderedState:e},t.queue=e,e=e.dispatch=cs.bind(null,xo,e),[t.memoizedState,e]}function Go(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=xo.updateQueue,t===null?(t={lastEffect:null,stores:null},xo.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function Ko(){return No().memoizedState}function qo(e,t,n,r){var i=Mo();xo.flags|=e,i.memoizedState=Go(1|t,n,void 0,r===void 0?null:r)}function Jo(e,t,n,r){var i=No();r=r===void 0?null:r;var a=void 0;if(So!==null){var o=So.memoizedState;if(a=o.destroy,r!==null&&ko(r,o.deps)){i.memoizedState=Go(t,n,a,r);return}}xo.flags|=e,i.memoizedState=Go(1|t,n,a,r)}function Yo(e,t){return qo(8390656,8,e,t)}function Xo(e,t){return Jo(2048,8,e,t)}function Zo(e,t){return Jo(4,2,e,t)}function Qo(e,t){return Jo(4,4,e,t)}function $o(e,t){if(typeof t==`function`)return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function es(e,t,n){return n=n==null?null:n.concat([e]),Jo(4,4,$o.bind(null,t,e),n)}function ts(){}function ns(e,t){var n=No();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ko(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function rs(e,t){var n=No();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ko(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function is(e,t,n){return bo&21?(wr(n,t)||(n=jt(),xo.lanes|=n,Yc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ns=!0),e.memoizedState=n)}function as(e,t){var n=K;K=n!==0&&4>n?n:4,e(!0);var r=yo.transition;yo.transition={};try{e(!1),t()}finally{K=n,yo.transition=r}}function os(){return No().memoizedState}function ss(e,t,n){var r=ml(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},ls(e))us(t,n);else if(n=qa(e,t,n,r),n!==null){var i=pl();hl(n,e,r,i),ds(n,t,r)}}function cs(e,t,n){var r=ml(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(ls(e))us(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,wr(s,o)){var c=t.interleaved;c===null?(i.next=i,Ka(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=qa(e,t,i,r),n!==null&&(i=pl(),hl(n,e,r,i),ds(n,t,r))}}function ls(e){var t=e.alternate;return e===xo||t!==null&&t===xo}function us(e,t){To=wo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ds(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ft(e,n)}}var fs={readContext:Wa,useCallback:Oo,useContext:Oo,useEffect:Oo,useImperativeHandle:Oo,useInsertionEffect:Oo,useLayoutEffect:Oo,useMemo:Oo,useReducer:Oo,useRef:Oo,useState:Oo,useDebugValue:Oo,useDeferredValue:Oo,useTransition:Oo,useMutableSource:Oo,useSyncExternalStore:Oo,useId:Oo,unstable_isNewReconciler:!1},ps={readContext:Wa,useCallback:function(e,t){return Mo().memoizedState=[e,t===void 0?null:t],e},useContext:Wa,useEffect:Yo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),qo(4194308,4,$o.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qo(4194308,4,e,t)},useInsertionEffect:function(e,t){return qo(4,2,e,t)},useMemo:function(e,t){var n=Mo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Mo();return t=n===void 0?t:n(t),r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ss.bind(null,xo,e),[r.memoizedState,e]},useRef:function(e){var t=Mo();return e={current:e},t.memoizedState=e},useState:Wo,useDebugValue:ts,useDeferredValue:function(e){return Mo().memoizedState=e},useTransition:function(){var e=Wo(!1),t=e[0];return e=as.bind(null,e[1]),Mo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=xo,a=Mo();if(X){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Hc===null)throw Error(r(349));bo&30||zo(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Yo(Vo.bind(null,i,o,e),[e]),i.flags|=2048,Go(9,Bo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=Mo(),t=Hc.identifierPrefix;if(X){var n=fa,r=da;n=(r&~(1<<32-bt(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=Eo++,0<n&&(t+=`H`+n.toString(32)),t+=`:`}else n=Do++,t=`:`+t+`r`+n.toString(32)+`:`;return e.memoizedState=t},unstable_isNewReconciler:!1},ms={readContext:Wa,useCallback:ns,useContext:Wa,useEffect:Xo,useImperativeHandle:es,useInsertionEffect:Zo,useLayoutEffect:Qo,useMemo:rs,useReducer:Fo,useRef:Ko,useState:function(){return Fo(Po)},useDebugValue:ts,useDeferredValue:function(e){return is(No(),So.memoizedState,e)},useTransition:function(){return[Fo(Po)[0],No().memoizedState]},useMutableSource:Lo,useSyncExternalStore:Ro,useId:os,unstable_isNewReconciler:!1},hs={readContext:Wa,useCallback:ns,useContext:Wa,useEffect:Xo,useImperativeHandle:es,useInsertionEffect:Zo,useLayoutEffect:Qo,useMemo:rs,useReducer:Io,useRef:Ko,useState:function(){return Io(Po)},useDebugValue:ts,useDeferredValue:function(e){var t=No();return So===null?t.memoizedState=e:is(t,So.memoizedState,e)},useTransition:function(){return[Io(Po)[0],No().memoizedState]},useMutableSource:Lo,useSyncExternalStore:Ro,useId:os,unstable_isNewReconciler:!1};function gs(e,t){if(e&&e.defaultProps){for(var n in t=N({},t),e=e.defaultProps,e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function _s(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:N({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var vs={isMounted:function(e){return(e=e._reactInternals)?tt(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pl(),i=ml(e),a=Qa(r,i);a.payload=t,n!=null&&(a.callback=n),t=$a(e,a,i),t!==null&&(hl(t,e,i,r),eo(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pl(),i=ml(e),a=Qa(r,i);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=$a(e,a,i),t!==null&&(hl(t,e,i,r),eo(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pl(),r=ml(e),i=Qa(n,r);i.tag=2,t!=null&&(i.callback=t),t=$a(e,i,r),t!==null&&(hl(t,e,r,n),eo(t,e,r))}};function ys(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Tr(n,r)||!Tr(i,a):!0}function bs(e,t,n){var r=!1,i=Vi,a=t.contextType;return typeof a==`object`&&a?a=Wa(a):(i=Ki(t)?Wi:Hi.current,r=t.contextTypes,a=(r=r!=null)?Gi(e,i):Vi),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=vs,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function xs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&vs.enqueueReplaceState(t,t.state,null)}function Ss(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},Xa(e);var a=t.contextType;typeof a==`object`&&a?i.context=Wa(a):(a=Ki(t)?Wi:Hi.current,i.context=Gi(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a==`function`&&(_s(e,t,a,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps==`function`||typeof i.getSnapshotBeforeUpdate==`function`||typeof i.UNSAFE_componentWillMount!=`function`&&typeof i.componentWillMount!=`function`||(t=i.state,typeof i.componentWillMount==`function`&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount==`function`&&i.UNSAFE_componentWillMount(),t!==i.state&&vs.enqueueReplaceState(i,i.state,null),no(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount==`function`&&(e.flags|=4194308)}function Cs(e,t){try{var n=``,r=t;do n+=se(r),r=r.return;while(r);var i=n}catch(e){i=`
|
|
8
8
|
Error generating stack: `+e.message+`
|
|
9
|
-
`+e.stack}return{value:e,source:t,stack:i,digest:null}}function ws(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Ts(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var Es=typeof WeakMap==`function`?WeakMap:Map;function Ds(e,t,n){n=Qa(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){rl||(rl=!0,il=r),Ts(e,t)},n}function Os(e,t,n){n=Qa(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r==`function`){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Ts(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch==`function`&&(n.callback=function(){Ts(e,t),typeof r!=`function`&&(al===null?al=new Set([this]):al.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:n===null?``:n})}),n}function ks(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Es;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=Bl.bind(null,e,t,n),t.then(e,e))}function As(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t===null?!0:t.dehydrated!==null),t)return e;e=e.return}while(e!==null);return null}function js(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Qa(-1,1),t.tag=2,$a(n,t,1))),n.lanes|=1),e)}var Ms=S.ReactCurrentOwner,Ns=!1;function Ps(e,t,n,r){t.child=e===null?Fa(t,null,n,r):Pa(t,e.child,n,r)}function Fs(e,t,n,r,i){n=n.render;var a=t.ref;return Ua(t,i),r=Ao(e,t,n,r,a,i),n=jo(),e!==null&&!Ns?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,tc(e,t,i)):(X&&n&&ha(t),t.flags|=1,Ps(e,t,r,i),t.child)}function Is(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Jl(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Ls(e,t,a,r,i)):(e=Zl(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,(e.lanes&i)===0){var o=a.memoizedProps;if(n=n.compare,n=n===null?Tr:n,n(o,r)&&e.ref===t.ref)return tc(e,t,i)}return t.flags|=1,e=Xl(a,r),e.ref=t.ref,e.return=t,t.child=e}function Ls(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Tr(a,r)&&e.ref===t.ref)if(Ns=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Ns=!0);else return t.lanes=e.lanes,tc(e,t,i)}return Bs(e,t,n,r,i)}function Rs(e,t,n){var r=t.pendingProps,i=r.children,a=e===null?null:e.memoizedState;if(r.mode===`hidden`)if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Y(Kc,Gc),Gc|=n;else{if(!(n&1073741824))return e=a===null?n:a.baseLanes|n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Y(Kc,Gc),Gc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a===null?n:a.baseLanes,Y(Kc,Gc),Gc|=r}else a===null?r=n:(r=a.baseLanes|n,t.memoizedState=null),Y(Kc,Gc),Gc|=r;return Ps(e,t,i,n),t.child}function zs(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Bs(e,t,n,r,i){var a=Ki(n)?Wi:Hi.current;return a=Gi(t,a),Ua(t,i),n=Ao(e,t,n,r,a,i),r=jo(),e!==null&&!Ns?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,tc(e,t,i)):(X&&r&&ha(t),t.flags|=1,Ps(e,t,n,i),t.child)}function Vs(e,t,n,r,i){if(Ki(n)){var a=!0;Xi(t)}else a=!1;if(Ua(t,i),t.stateNode===null)ec(e,t),bs(t,n,r),Ss(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var c=o.context,l=n.contextType;typeof l==`object`&&l?l=Wa(l):(l=Ki(n)?Wi:Hi.current,l=Gi(t,l));var u=n.getDerivedStateFromProps,d=typeof u==`function`||typeof o.getSnapshotBeforeUpdate==`function`;d||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==r||c!==l)&&xs(t,o,r,l),Ya=!1;var f=t.memoizedState;o.state=f,no(t,r,o,i),c=t.memoizedState,s!==r||f!==c||Ui.current||Ya?(typeof u==`function`&&(_s(t,n,u,r),c=t.memoizedState),(s=Ya||ys(t,n,s,r,f,c,l))?(d||typeof o.UNSAFE_componentWillMount!=`function`&&typeof o.componentWillMount!=`function`||(typeof o.componentWillMount==`function`&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount==`function`&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount==`function`&&(t.flags|=4194308)):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=l,r=s):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Za(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:gs(t.type,s),o.props=l,d=t.pendingProps,f=o.context,c=n.contextType,typeof c==`object`&&c?c=Wa(c):(c=Ki(n)?Wi:Hi.current,c=Gi(t,c));var p=n.getDerivedStateFromProps;(u=typeof p==`function`||typeof o.getSnapshotBeforeUpdate==`function`)||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==d||f!==c)&&xs(t,o,r,c),Ya=!1,f=t.memoizedState,o.state=f,no(t,r,o,i);var m=t.memoizedState;s!==d||f!==m||Ui.current||Ya?(typeof p==`function`&&(_s(t,n,p,r),m=t.memoizedState),(l=Ya||ys(t,n,l,r,f,m,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!=`function`&&typeof o.componentWillUpdate!=`function`||(typeof o.componentWillUpdate==`function`&&o.componentWillUpdate(r,m,c),typeof o.UNSAFE_componentWillUpdate==`function`&&o.UNSAFE_componentWillUpdate(r,m,c)),typeof o.componentDidUpdate==`function`&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=c,r=l):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Hs(e,t,n,r,a,i)}function Hs(e,t,n,r,i,a){zs(e,t);var o=(t.flags&128)!=0;if(!r&&!o)return i&&Zi(t,n,!1),tc(e,t,a);r=t.stateNode,Ms.current=t;var s=o&&typeof n.getDerivedStateFromError!=`function`?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Pa(t,e.child,null,a),t.child=Pa(t,null,s,a)):Ps(e,t,s,a),t.memoizedState=r.state,i&&Zi(t,n,!0),t.child}function Us(e){var t=e.stateNode;t.pendingContext?Ji(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Ji(e,t.context,!1),lo(e,t.containerInfo)}function Ws(e,t,n,r,i){return Da(),Oa(i),t.flags|=256,Ps(e,t,n,r),t.child}var Gs={dehydrated:null,treeContext:null,retryLane:0};function Ks(e){return{baseLanes:e,cachePool:null,transitions:null}}function qs(e,t,n){var r=t.pendingProps,i=mo.current,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!=0),s?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Y(mo,i&1),e===null)return Ca(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data===`$!`?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:`hidden`,children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=$l(o,r,0,null),e=Ql(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Ks(n),t.memoizedState=Gs,e):Js(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return Xs(e,t,o,r,s,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,s=i.sibling;var c={mode:`hidden`,children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=Xl(i,c),r.subtreeFlags=i.subtreeFlags&14680064),s===null?(a=Ql(a,o,n,null),a.flags|=2):a=Xl(s,a),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?Ks(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Gs,r}return a=e.child,e=a.sibling,r=Xl(a,{mode:`visible`,children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Js(e,t){return t=$l({mode:`visible`,children:t},e.mode,0,null),t.return=e,e.child=t}function Ys(e,t,n,r){return r!==null&&Oa(r),Pa(t,e.child,null,n),e=Js(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Xs(e,t,n,i,a,o,s){if(n)return t.flags&256?(t.flags&=-257,i=ws(Error(r(422))),Ys(e,t,s,i)):t.memoizedState===null?(o=i.fallback,a=t.mode,i=$l({mode:`visible`,children:i.children},a,0,null),o=Ql(o,a,s,null),o.flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,t.mode&1&&Pa(t,e.child,null,s),t.child.memoizedState=Ks(s),t.memoizedState=Gs,o):(t.child=e.child,t.flags|=128,null);if(!(t.mode&1))return Ys(e,t,s,null);if(a.data===`$!`){if(i=a.nextSibling&&a.nextSibling.dataset,i)var c=i.dgst;return i=c,o=Error(r(419)),i=ws(o,i,void 0),Ys(e,t,s,i)}if(c=(s&e.childLanes)!==0,Ns||c){if(i=Hc,i!==null){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=(a&(i.suspendedLanes|s))===0?a:0,a!==0&&a!==o.retryLane&&(o.retryLane=a,Ja(e,a),hl(i,e,a,-1))}return kl(),i=ws(Error(r(421))),Ys(e,t,s,i)}return a.data===`$?`?(t.flags|=128,t.child=e.child,t=Hl.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,va=Ti(a.nextSibling),_a=t,X=!0,ya=null,e!==null&&(ca[la++]=da,ca[la++]=fa,ca[la++]=ua,da=e.id,fa=e.overflow,ua=t),t=Js(t,i.children),t.flags|=4096,t)}function Zs(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ha(e.return,t,n)}function Qs(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function $s(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Ps(e,t,r.children,n),r=mo.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Zs(e,n,t);else if(e.tag===19)Zs(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Y(mo,r),!(t.mode&1))t.memoizedState=null;else switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&ho(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Qs(t,!1,i,n,a);break;case`backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ho(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Qs(t,!0,n,null,a);break;case`together`:Qs(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ec(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function tc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Yc|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=Xl(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Xl(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function nc(e,t,n){switch(t.tag){case 3:Us(t),Da();break;case 5:fo(t);break;case 1:Ki(t.type)&&Xi(t);break;case 4:lo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Y(Ia,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Y(mo,mo.current&1),e=tc(e,t,n),e===null?null:e.sibling):qs(e,t,n):(Y(mo,mo.current&1),t.flags|=128,null);Y(mo,mo.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return $s(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Y(mo,mo.current),r)break;return null;case 22:case 23:return t.lanes=0,Rs(e,t,n)}return tc(e,t,n)}var rc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},ic=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,co(ao.current);var o=null;switch(n){case`input`:i=fe(e,i),r=fe(e,r),o=[];break;case`select`:i=N({},i,{value:void 0}),r=N({},r,{value:void 0}),o=[];break;case`textarea`:i=ve(e,i),r=ve(e,r),o=[];break;default:typeof i.onClick!=`function`&&typeof r.onClick==`function`&&(e.onclick=hi)}Me(n,r);var s;for(u in n=null,i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u===`style`){var c=i[u];for(s in c)c.hasOwnProperty(s)&&(n||={},n[s]=``)}else u!==`dangerouslySetInnerHTML`&&u!==`children`&&u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&u!==`autoFocus`&&(a.hasOwnProperty(u)?o||=[]:(o||=[]).push(u,null));for(u in r){var l=r[u];if(c=i?.[u],r.hasOwnProperty(u)&&l!==c&&(l!=null||c!=null))if(u===`style`)if(c){for(s in c)!c.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||={},n[s]=``);for(s in l)l.hasOwnProperty(s)&&c[s]!==l[s]&&(n||={},n[s]=l[s])}else n||(o||=[],o.push(u,n)),n=l;else u===`dangerouslySetInnerHTML`?(l=l?l.__html:void 0,c=c?c.__html:void 0,l!=null&&c!==l&&(o||=[]).push(u,l)):u===`children`?typeof l!=`string`&&typeof l!=`number`||(o||=[]).push(u,``+l):u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&(a.hasOwnProperty(u)?(l!=null&&u===`onScroll`&&q(`scroll`,e),o||c===l||(o=[])):(o||=[]).push(u,l))}n&&(o||=[]).push(`style`,n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},ac=function(e,t,n,r){n!==r&&(t.flags|=4)};function oc(e,t){if(!X)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function sc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function cc(e,t,n){var i=t.pendingProps;switch(ga(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return sc(t),null;case 1:return Ki(t.type)&&qi(),sc(t),null;case 3:return i=t.stateNode,uo(),J(Ui),J(Hi),_o(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Ta(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ya!==null&&(yl(ya),ya=null))),sc(t),null;case 5:po(t);var o=co(so.current);if(n=t.type,e!==null&&t.stateNode!=null)ic(e,t,n,i,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(r(166));return sc(t),null}if(e=co(ao.current),Ta(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[Oi]=t,i[ki]=s,e=(t.mode&1)!=0,n){case`dialog`:q(`cancel`,i),q(`close`,i);break;case`iframe`:case`object`:case`embed`:q(`load`,i);break;case`video`:case`audio`:for(o=0;o<Qr.length;o++)q(Qr[o],i);break;case`source`:q(`error`,i);break;case`img`:case`image`:case`link`:q(`error`,i),q(`load`,i);break;case`details`:q(`toggle`,i);break;case`input`:B(i,s),q(`invalid`,i);break;case`select`:i._wrapperState={wasMultiple:!!s.multiple},q(`invalid`,i);break;case`textarea`:ye(i,s),q(`invalid`,i)}for(var c in Me(n,s),o=null,s)if(s.hasOwnProperty(c)){var l=s[c];c===`children`?typeof l==`string`?i.textContent!==l&&(!0!==s.suppressHydrationWarning&&mi(i.textContent,l,e),o=[`children`,l]):typeof l==`number`&&i.textContent!==``+l&&(!0!==s.suppressHydrationWarning&&mi(i.textContent,l,e),o=[`children`,``+l]):a.hasOwnProperty(c)&&l!=null&&c===`onScroll`&&q(`scroll`,i)}switch(n){case`input`:ue(i),he(i,s,!0);break;case`textarea`:ue(i),xe(i);break;case`select`:case`option`:break;default:typeof s.onClick==`function`&&(i.onclick=hi)}i=o,t.updateQueue=i,i!==null&&(t.flags|=4)}else{c=o.nodeType===9?o:o.ownerDocument,e===`http://www.w3.org/1999/xhtml`&&(e=Se(n)),e===`http://www.w3.org/1999/xhtml`?n===`script`?(e=c.createElement(`div`),e.innerHTML=`<script><\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[Oi]=t,e[ki]=i,rc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Ne(n,i),n){case`dialog`:q(`cancel`,e),q(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:q(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;o<Qr.length;o++)q(Qr[o],e);o=i;break;case`source`:q(`error`,e),o=i;break;case`img`:case`image`:case`link`:q(`error`,e),q(`load`,e),o=i;break;case`details`:q(`toggle`,e),o=i;break;case`input`:B(e,i),o=fe(e,i),q(`invalid`,e);break;case`option`:o=i;break;case`select`:e._wrapperState={wasMultiple:!!i.multiple},o=N({},i,{value:void 0}),q(`invalid`,e);break;case`textarea`:ye(e,i),o=ve(e,i),q(`invalid`,e);break;default:o=i}for(s in Me(n,o),l=o,l)if(l.hasOwnProperty(s)){var u=l[s];s===`style`?Ae(e,u):s===`dangerouslySetInnerHTML`?(u=u?u.__html:void 0,u!=null&&Te(e,u)):s===`children`?typeof u==`string`?(n!==`textarea`||u!==``)&&Ee(e,u):typeof u==`number`&&Ee(e,``+u):s!==`suppressContentEditableWarning`&&s!==`suppressHydrationWarning`&&s!==`autoFocus`&&(a.hasOwnProperty(s)?u!=null&&s===`onScroll`&&q(`scroll`,e):u!=null&&x(e,s,u,c))}switch(n){case`input`:ue(e),he(e,i,!1);break;case`textarea`:ue(e),xe(e);break;case`option`:i.value!=null&&e.setAttribute(`value`,``+L(i.value));break;case`select`:e.multiple=!!i.multiple,s=i.value,s==null?i.defaultValue!=null&&_e(e,!!i.multiple,i.defaultValue,!0):_e(e,!!i.multiple,s,!1);break;default:typeof o.onClick==`function`&&(e.onclick=hi)}switch(n){case`button`:case`input`:case`select`:case`textarea`:i=!!i.autoFocus;break a;case`img`:i=!0;break a;default:i=!1}}i&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return sc(t),null;case 6:if(e&&t.stateNode!=null)ac(e,t,e.memoizedProps,i);else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(n=co(so.current),co(ao.current),Ta(t)){if(i=t.stateNode,n=t.memoizedProps,i[Oi]=t,(s=i.nodeValue!==n)&&(e=_a,e!==null))switch(e.tag){case 3:mi(i.nodeValue,n,(e.mode&1)!=0);break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&mi(i.nodeValue,n,(e.mode&1)!=0)}s&&(t.flags|=4)}else i=(n.nodeType===9?n:n.ownerDocument).createTextNode(i),i[Oi]=t,t.stateNode=i}return sc(t),null;case 13:if(J(mo),i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(X&&va!==null&&t.mode&1&&!(t.flags&128))Ea(),Da(),t.flags|=98560,s=!1;else if(s=Ta(t),i!==null&&i.dehydrated!==null){if(e===null){if(!s)throw Error(r(318));if(s=t.memoizedState,s=s===null?null:s.dehydrated,!s)throw Error(r(317));s[Oi]=t}else Da(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;sc(t),s=!1}else ya!==null&&(yl(ya),ya=null),s=!0;if(!s)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(i=i!==null,i!==(e!==null&&e.memoizedState!==null)&&i&&(t.child.flags|=8192,t.mode&1&&(e===null||mo.current&1?qc===0&&(qc=3):kl())),t.updateQueue!==null&&(t.flags|=4),sc(t),null);case 4:return uo(),e===null&&ii(t.stateNode.containerInfo),sc(t),null;case 10:return Va(t.type._context),sc(t),null;case 17:return Ki(t.type)&&qi(),sc(t),null;case 19:if(J(mo),s=t.memoizedState,s===null)return sc(t),null;if(i=(t.flags&128)!=0,c=s.rendering,c===null)if(i)oc(s,!1);else{if(qc!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(c=ho(e),c!==null){for(t.flags|=128,oc(s,!1),i=c.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),t.subtreeFlags=0,i=n,n=t.child;n!==null;)s=n,e=i,s.flags&=14680066,c=s.alternate,c===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Y(mo,mo.current&1|2),t.child}e=e.sibling}s.tail!==null&&ut()>tl&&(t.flags|=128,i=!0,oc(s,!1),t.lanes=4194304)}else{if(!i)if(e=ho(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),oc(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!X)return sc(t),null}else 2*ut()-s.renderingStartTime>tl&&n!==1073741824&&(t.flags|=128,i=!0,oc(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(sc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=ut(),t.sibling=null,n=mo.current,Y(mo,i?n&1|2:n&1),t);case 22:case 23:return Tl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Gc&1073741824&&(sc(t),t.subtreeFlags&6&&(t.flags|=8192)):sc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function lc(e,t){switch(ga(t),t.tag){case 1:return Ki(t.type)&&qi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return uo(),J(Ui),J(Hi),_o(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return po(t),null;case 13:if(J(mo),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Da()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return J(mo),null;case 4:return uo(),null;case 10:return Va(t.type._context),null;case 22:case 23:return Tl(),null;case 24:return null;default:return null}}var uc=!1,dc=!1,fc=typeof WeakSet==`function`?WeakSet:Set,Z=null;function pc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){zl(e,t,n)}else n.current=null}function mc(e,t,n){try{n()}catch(n){zl(e,t,n)}}var hc=!1;function gc(e,t){if(gi=cn,e=kr(),Ar(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(_i={focusedElem:e,selectionRange:n},cn=!1,Z=t;Z!==null;)if(t=Z,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Z=e;else for(;Z!==null;){t=Z;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:gs(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){zl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Z=e;break}Z=t.return}return h=hc,hc=!1,h}function _c(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&mc(t,n,a)}i=i.next}while(i!==r)}}function vc(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function yc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==`function`?t(e):t.current=e}}function bc(e){var t=e.alternate;t!==null&&(e.alternate=null,bc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Oi],delete t[ki],delete t[ji],delete t[Mi],delete t[Ni])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function xc(e){return e.tag===5||e.tag===3||e.tag===4}function Sc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||xc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Cc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=hi));else if(r!==4&&(e=e.child,e!==null))for(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}function wc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(wc(e,t,n),e=e.sibling;e!==null;)wc(e,t,n),e=e.sibling}var Tc=null,Ec=!1;function Dc(e,t,n){for(n=n.child;n!==null;)Oc(e,t,n),n=n.sibling}function Oc(e,t,n){if(vt&&typeof vt.onCommitFiberUnmount==`function`)try{vt.onCommitFiberUnmount(_t,n)}catch{}switch(n.tag){case 5:dc||pc(n,t);case 6:var r=Tc,i=Ec;Tc=null,Dc(e,t,n),Tc=r,Ec=i,Tc!==null&&(Ec?(e=Tc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tc.removeChild(n.stateNode));break;case 18:Tc!==null&&(Ec?(e=Tc,n=n.stateNode,e.nodeType===8?wi(e.parentNode,n):e.nodeType===1&&wi(e,n),on(e)):wi(Tc,n.stateNode));break;case 4:r=Tc,i=Ec,Tc=n.stateNode.containerInfo,Ec=!0,Dc(e,t,n),Tc=r,Ec=i;break;case 0:case 11:case 14:case 15:if(!dc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&mc(n,t,o),i=i.next}while(i!==r)}Dc(e,t,n);break;case 1:if(!dc&&(pc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){zl(n,t,e)}Dc(e,t,n);break;case 21:Dc(e,t,n);break;case 22:n.mode&1?(dc=(r=dc)||n.memoizedState!==null,Dc(e,t,n),dc=r):Dc(e,t,n);break;default:Dc(e,t,n)}}function kc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new fc),t.forEach(function(t){var r=Ul.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Ac(e,t){var n=t.deletions;if(n!==null)for(var i=0;i<n.length;i++){var a=n[i];try{var o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 5:Tc=c.stateNode,Ec=!1;break a;case 3:Tc=c.stateNode.containerInfo,Ec=!0;break a;case 4:Tc=c.stateNode.containerInfo,Ec=!0;break a}c=c.return}if(Tc===null)throw Error(r(160));Oc(o,s,a),Tc=null,Ec=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(e){zl(a,t,e)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)jc(t,e),t=t.sibling}function jc(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ac(t,e),Mc(e),i&4){try{_c(3,e,e.return),vc(3,e)}catch(t){zl(e,e.return,t)}try{_c(5,e,e.return)}catch(t){zl(e,e.return,t)}}break;case 1:Ac(t,e),Mc(e),i&512&&n!==null&&pc(n,n.return);break;case 5:if(Ac(t,e),Mc(e),i&512&&n!==null&&pc(n,n.return),e.flags&32){var a=e.stateNode;try{Ee(a,``)}catch(t){zl(e,e.return,t)}}if(i&4&&(a=e.stateNode,a!=null)){var o=e.memoizedProps,s=n===null?o:n.memoizedProps,c=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{c===`input`&&o.type===`radio`&&o.name!=null&&pe(a,o),Ne(c,s);var u=Ne(c,o);for(s=0;s<l.length;s+=2){var d=l[s],f=l[s+1];d===`style`?Ae(a,f):d===`dangerouslySetInnerHTML`?Te(a,f):d===`children`?Ee(a,f):x(a,d,f,u)}switch(c){case`input`:me(a,o);break;case`textarea`:be(a,o);break;case`select`:var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var m=o.value;m==null?p!==!!o.multiple&&(o.defaultValue==null?_e(a,!!o.multiple,o.multiple?[]:``,!1):_e(a,!!o.multiple,o.defaultValue,!0)):_e(a,!!o.multiple,m,!1)}a[ki]=o}catch(t){zl(e,e.return,t)}}break;case 6:if(Ac(t,e),Mc(e),i&4){if(e.stateNode===null)throw Error(r(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(t){zl(e,e.return,t)}}break;case 3:if(Ac(t,e),Mc(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{on(t.containerInfo)}catch(t){zl(e,e.return,t)}break;case 4:Ac(t,e),Mc(e);break;case 13:Ac(t,e),Mc(e),a=e.child,a.flags&8192&&(o=a.memoizedState!==null,a.stateNode.isHidden=o,!o||a.alternate!==null&&a.alternate.memoizedState!==null||(el=ut())),i&4&&kc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(dc=(u=dc)||d,Ac(t,e),dc=u):Ac(t,e),Mc(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(Z=e,d=e.child;d!==null;){for(f=Z=d;Z!==null;){switch(p=Z,m=p.child,p.tag){case 0:case 11:case 14:case 15:_c(4,p,p.return);break;case 1:pc(p,p.return);var h=p.stateNode;if(typeof h.componentWillUnmount==`function`){i=p,n=p.return;try{t=i,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(e){zl(i,n,e)}}break;case 5:pc(p,p.return);break;case 22:if(p.memoizedState!==null){Ic(f);continue}}m===null?Ic(f):(m.return=p,Z=m)}d=d.sibling}a:for(d=null,f=e;;){if(f.tag===5){if(d===null){d=f;try{a=f.stateNode,u?(o=a.style,typeof o.setProperty==`function`?o.setProperty(`display`,`none`,`important`):o.display=`none`):(c=f.stateNode,l=f.memoizedProps.style,s=l!=null&&l.hasOwnProperty(`display`)?l.display:null,c.style.display=ke(`display`,s))}catch(t){zl(e,e.return,t)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?``:f.memoizedProps}catch(t){zl(e,e.return,t)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break a;for(;f.sibling===null;){if(f.return===null||f.return===e)break a;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:Ac(t,e),Mc(e),i&4&&kc(e);break;case 21:break;default:Ac(t,e),Mc(e)}}function Mc(e){var t=e.flags;if(t&2){try{a:{for(var n=e.return;n!==null;){if(xc(n)){var i=n;break a}n=n.return}throw Error(r(160))}switch(i.tag){case 5:var a=i.stateNode;i.flags&32&&(Ee(a,``),i.flags&=-33),wc(e,Sc(e),a);break;case 3:case 4:var o=i.stateNode.containerInfo;Cc(e,Sc(e),o);break;default:throw Error(r(161))}}catch(t){zl(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Nc(e,t,n){Z=e,Pc(e,t,n)}function Pc(e,t,n){for(var r=(e.mode&1)!=0;Z!==null;){var i=Z,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||uc;if(!o){var s=i.alternate,c=s!==null&&s.memoizedState!==null||dc;s=uc;var l=dc;if(uc=o,(dc=c)&&!l)for(Z=i;Z!==null;)o=Z,c=o.child,o.tag===22&&o.memoizedState!==null||c===null?Lc(i):(c.return=o,Z=c);for(;a!==null;)Z=a,Pc(a,t,n),a=a.sibling;Z=i,uc=s,dc=l}Fc(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,Z=a):Fc(e,t,n)}}function Fc(e){for(;Z!==null;){var t=Z;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:dc||vc(5,t);break;case 1:var i=t.stateNode;if(t.flags&4&&!dc)if(n===null)i.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:gs(t.type,n.memoizedProps);i.componentDidUpdate(a,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&ro(t,o,i);break;case 3:var s=t.updateQueue;if(s!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}ro(t,s,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var l=t.memoizedProps;switch(t.type){case`button`:case`input`:case`select`:case`textarea`:l.autoFocus&&n.focus();break;case`img`:l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var f=d.dehydrated;f!==null&&on(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}dc||t.flags&512&&yc(t)}catch(e){zl(t,t.return,e)}}if(t===e){Z=null;break}if(n=t.sibling,n!==null){n.return=t.return,Z=n;break}Z=t.return}}function Ic(e){for(;Z!==null;){var t=Z;if(t===e){Z=null;break}var n=t.sibling;if(n!==null){n.return=t.return,Z=n;break}Z=t.return}}function Lc(e){for(;Z!==null;){var t=Z;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{vc(4,t)}catch(e){zl(t,n,e)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==`function`){var i=t.return;try{r.componentDidMount()}catch(e){zl(t,i,e)}}var a=t.return;try{yc(t)}catch(e){zl(t,a,e)}break;case 5:var o=t.return;try{yc(t)}catch(e){zl(t,o,e)}}}catch(e){zl(t,t.return,e)}if(t===e){Z=null;break}var s=t.sibling;if(s!==null){s.return=t.return,Z=s;break}Z=t.return}}var Rc=Math.ceil,zc=S.ReactCurrentDispatcher,Bc=S.ReactCurrentOwner,Vc=S.ReactCurrentBatchConfig,Q=0,Hc=null,Uc=null,Wc=0,Gc=0,Kc=Bi(0),qc=0,Jc=null,Yc=0,Xc=0,Zc=0,Qc=null,$c=null,el=0,tl=1/0,nl=null,rl=!1,il=null,al=null,ol=!1,sl=null,cl=0,ll=0,ul=null,dl=-1,fl=0;function pl(){return Q&6?ut():dl===-1?dl=ut():dl}function ml(e){return e.mode&1?Q&2&&Wc!==0?Wc&-Wc:ka.transition===null?(e=K,e===0?(e=window.event,e=e===void 0?16:mn(e.type),e):e):(fl===0&&(fl=jt()),fl):1}function hl(e,t,n,i){if(50<ll)throw ll=0,ul=null,Error(r(185));Nt(e,n,i),(!(Q&2)||e!==Hc)&&(e===Hc&&(!(Q&2)&&(Xc|=n),qc===4&&xl(e,Wc)),gl(e,i),n===1&&Q===0&&!(t.mode&1)&&(tl=ut()+500,$i&&ra()))}function gl(e,t){var n=e.callbackNode;kt(e,t);var r=Dt(e,e===Hc?Wc:0);if(r===0)n!==null&&st(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&st(n),t===1)e.tag===0?na(Sl.bind(null,e)):ta(Sl.bind(null,e)),Si(function(){!(Q&6)&&ra()}),n=null;else{switch(It(r)){case 1:n=ft;break;case 4:n=pt;break;case 16:n=mt;break;case 536870912:n=gt;break;default:n=mt}n=Gl(n,_l.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function _l(e,t){if(dl=-1,fl=0,Q&6)throw Error(r(327));var n=e.callbackNode;if(Ll()&&e.callbackNode!==n)return null;var i=Dt(e,e===Hc?Wc:0);if(i===0)return null;if(i&30||(i&e.expiredLanes)!==0||t)t=Al(e,i);else{t=i;var a=Q;Q|=2;var o=Ol();(Hc!==e||Wc!==t)&&(nl=null,tl=ut()+500,El(e,t));do try{Ml();break}catch(t){Dl(e,t)}while(1);Ba(),zc.current=o,Q=a,Uc===null?(Hc=null,Wc=0,t=qc):t=0}if(t!==0){if(t===2&&(a=At(e),a!==0&&(i=a,t=vl(e,a))),t===1)throw n=Jc,El(e,0),xl(e,i),gl(e,ut()),n;if(t===6)xl(e,i);else{if(a=e.current.alternate,!(i&30)&&!bl(a)&&(t=Al(e,i),t===2&&(o=At(e),o!==0&&(i=o,t=vl(e,o))),t===1))throw n=Jc,El(e,0),xl(e,i),gl(e,ut()),n;switch(e.finishedWork=a,e.finishedLanes=i,t){case 0:case 1:throw Error(r(345));case 2:Fl(e,$c,nl);break;case 3:if(xl(e,i),(i&130023424)===i&&(t=el+500-ut(),10<t)){if(Dt(e,0)!==0)break;if(a=e.suspendedLanes,(a&i)!==i){pl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=yi(Fl.bind(null,e,$c,nl),t);break}Fl(e,$c,nl);break;case 4:if(xl(e,i),(i&4194240)===i)break;for(t=e.eventTimes,a=-1;0<i;){var s=31-bt(i);o=1<<s,s=t[s],s>a&&(a=s),i&=~o}if(i=a,i=ut()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Rc(i/1960))-i,10<i){e.timeoutHandle=yi(Fl.bind(null,e,$c,nl),i);break}Fl(e,$c,nl);break;case 5:Fl(e,$c,nl);break;default:throw Error(r(329))}}}return gl(e,ut()),e.callbackNode===n?_l.bind(null,e):null}function vl(e,t){var n=Qc;return e.current.memoizedState.isDehydrated&&(El(e,t).flags|=256),e=Al(e,t),e!==2&&(t=$c,$c=n,t!==null&&yl(t)),e}function yl(e){$c===null?$c=e:$c.push.apply($c,e)}function bl(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!wr(a(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function xl(e,t){for(t&=~Zc,t&=~Xc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-bt(t),r=1<<n;e[n]=-1,t&=~r}}function Sl(e){if(Q&6)throw Error(r(327));Ll();var t=Dt(e,0);if(!(t&1))return gl(e,ut()),null;var n=Al(e,t);if(e.tag!==0&&n===2){var i=At(e);i!==0&&(t=i,n=vl(e,i))}if(n===1)throw n=Jc,El(e,0),xl(e,t),gl(e,ut()),n;if(n===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Fl(e,$c,nl),gl(e,ut()),null}function Cl(e,t){var n=Q;Q|=1;try{return e(t)}finally{Q=n,Q===0&&(tl=ut()+500,$i&&ra())}}function wl(e){sl!==null&&sl.tag===0&&!(Q&6)&&Ll();var t=Q;Q|=1;var n=Vc.transition,r=K;try{if(Vc.transition=null,K=1,e)return e()}finally{K=r,Vc.transition=n,Q=t,!(Q&6)&&ra()}}function Tl(){Gc=Kc.current,J(Kc)}function El(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,bi(n)),Uc!==null)for(n=Uc.return;n!==null;){var r=n;switch(ga(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&qi();break;case 3:uo(),J(Ui),J(Hi),_o();break;case 5:po(r);break;case 4:uo();break;case 13:J(mo);break;case 19:J(mo);break;case 10:Va(r.type._context);break;case 22:case 23:Tl()}n=n.return}if(Hc=e,Uc=e=Xl(e.current,null),Wc=Gc=t,qc=0,Jc=null,Zc=Xc=Yc=0,$c=Qc=null,Ga!==null){for(t=0;t<Ga.length;t++)if(n=Ga[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,a=n.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}n.pending=r}Ga=null}return e}function Dl(e,t){do{var n=Uc;try{if(Ba(),vo.current=fs,wo){for(var i=xo.memoizedState;i!==null;){var a=i.queue;a!==null&&(a.pending=null),i=i.next}wo=!1}if(bo=0,Co=So=xo=null,To=!1,Eo=0,Bc.current=null,n===null||n.return===null){qc=1,Jc=t,Uc=null;break}a:{var o=e,s=n.return,c=n,l=t;if(t=Wc,c.flags|=32768,typeof l==`object`&&l&&typeof l.then==`function`){var u=l,d=c,f=d.tag;if(!(d.mode&1)&&(f===0||f===11||f===15)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=As(s);if(m!==null){m.flags&=-257,js(m,s,c,o,t),m.mode&1&&ks(o,u,t),t=m,l=u;var h=t.updateQueue;if(h===null){var g=new Set;g.add(l),t.updateQueue=g}else h.add(l);break a}else{if(!(t&1)){ks(o,u,t),kl();break a}l=Error(r(426))}}else if(X&&c.mode&1){var _=As(s);if(_!==null){!(_.flags&65536)&&(_.flags|=256),js(_,s,c,o,t),Oa(Cs(l,c));break a}}o=l=Cs(l,c),qc!==4&&(qc=2),Qc===null?Qc=[o]:Qc.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var v=Ds(o,l,t);to(o,v);break a;case 1:c=l;var y=o.type,b=o.stateNode;if(!(o.flags&128)&&(typeof y.getDerivedStateFromError==`function`||b!==null&&typeof b.componentDidCatch==`function`&&(al===null||!al.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t;var x=Os(o,c,t);to(o,x);break a}}o=o.return}while(o!==null)}Pl(n)}catch(e){t=e,Uc===n&&n!==null&&(Uc=n=n.return);continue}break}while(1)}function Ol(){var e=zc.current;return zc.current=fs,e===null?fs:e}function kl(){(qc===0||qc===3||qc===2)&&(qc=4),Hc===null||!(Yc&268435455)&&!(Xc&268435455)||xl(Hc,Wc)}function Al(e,t){var n=Q;Q|=2;var i=Ol();(Hc!==e||Wc!==t)&&(nl=null,El(e,t));do try{jl();break}catch(t){Dl(e,t)}while(1);if(Ba(),Q=n,zc.current=i,Uc!==null)throw Error(r(261));return Hc=null,Wc=0,qc}function jl(){for(;Uc!==null;)Nl(Uc)}function Ml(){for(;Uc!==null&&!ct();)Nl(Uc)}function Nl(e){var t=Wl(e.alternate,e,Gc);e.memoizedProps=e.pendingProps,t===null?Pl(e):Uc=t,Bc.current=null}function Pl(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=lc(n,t),n!==null){n.flags&=32767,Uc=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{qc=6,Uc=null;return}}else if(n=cc(n,t,Gc),n!==null){Uc=n;return}if(t=t.sibling,t!==null){Uc=t;return}Uc=t=e}while(t!==null);qc===0&&(qc=5)}function Fl(e,t,n){var r=K,i=Vc.transition;try{Vc.transition=null,K=1,Il(e,t,n,r)}finally{Vc.transition=i,K=r}return null}function Il(e,t,n,i){do Ll();while(sl!==null);if(Q&6)throw Error(r(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(Pt(e,o),e===Hc&&(Uc=Hc=null,Wc=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||ol||(ol=!0,Gl(mt,function(){return Ll(),null})),o=(n.flags&15990)!=0,n.subtreeFlags&15990||o){o=Vc.transition,Vc.transition=null;var s=K;K=1;var c=Q;Q|=4,Bc.current=null,gc(e,n),jc(n,e),jr(_i),cn=!!gi,_i=gi=null,e.current=n,Nc(n,e,a),lt(),Q=c,K=s,Vc.transition=o}else e.current=n;if(ol&&(ol=!1,sl=e,cl=a),o=e.pendingLanes,o===0&&(al=null),yt(n.stateNode,i),gl(e,ut()),t!==null)for(i=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],i(a.value,{componentStack:a.stack,digest:a.digest});if(rl)throw rl=!1,e=il,il=null,e;return cl&1&&e.tag!==0&&Ll(),o=e.pendingLanes,o&1?e===ul?ll++:(ll=0,ul=e):ll=0,ra(),null}function Ll(){if(sl!==null){var e=It(cl),t=Vc.transition,n=K;try{if(Vc.transition=null,K=16>e?16:e,sl===null)var i=!1;else{if(e=sl,sl=null,cl=0,Q&6)throw Error(r(331));var a=Q;for(Q|=4,Z=e.current;Z!==null;){var o=Z,s=o.child;if(Z.flags&16){var c=o.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(Z=u;Z!==null;){var d=Z;switch(d.tag){case 0:case 11:case 15:_c(8,d,o)}var f=d.child;if(f!==null)f.return=d,Z=f;else for(;Z!==null;){d=Z;var p=d.sibling,m=d.return;if(bc(d),d===u){Z=null;break}if(p!==null){p.return=m,Z=p;break}Z=m}}}var h=o.alternate;if(h!==null){var g=h.child;if(g!==null){h.child=null;do{var _=g.sibling;g.sibling=null,g=_}while(g!==null)}}Z=o}}if(o.subtreeFlags&2064&&s!==null)s.return=o,Z=s;else b:for(;Z!==null;){if(o=Z,o.flags&2048)switch(o.tag){case 0:case 11:case 15:_c(9,o,o.return)}var v=o.sibling;if(v!==null){v.return=o.return,Z=v;break b}Z=o.return}}var y=e.current;for(Z=y;Z!==null;){s=Z;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,Z=b;else b:for(s=y;Z!==null;){if(c=Z,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:vc(9,c)}}catch(e){zl(c,c.return,e)}if(c===s){Z=null;break b}var x=c.sibling;if(x!==null){x.return=c.return,Z=x;break b}Z=c.return}}if(Q=a,ra(),vt&&typeof vt.onPostCommitFiberRoot==`function`)try{vt.onPostCommitFiberRoot(_t,e)}catch{}i=!0}return i}finally{K=n,Vc.transition=t}}return!1}function Rl(e,t,n){t=Cs(n,t),t=Ds(e,t,1),e=$a(e,t,1),t=pl(),e!==null&&(Nt(e,1,t),gl(e,t))}function zl(e,t,n){if(e.tag===3)Rl(e,e,n);else for(;t!==null;){if(t.tag===3){Rl(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(al===null||!al.has(r))){e=Cs(n,e),e=Os(t,e,1),t=$a(t,e,1),e=pl(),t!==null&&(Nt(t,1,e),gl(t,e));break}}t=t.return}}function Bl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=pl(),e.pingedLanes|=e.suspendedLanes&n,Hc===e&&(Wc&n)===n&&(qc===4||qc===3&&(Wc&130023424)===Wc&&500>ut()-el?El(e,0):Zc|=n),gl(e,t)}function Vl(e,t){t===0&&(e.mode&1?(t=Tt,Tt<<=1,!(Tt&130023424)&&(Tt=4194304)):t=1);var n=pl();e=Ja(e,t),e!==null&&(Nt(e,t,n),gl(e,n))}function Hl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Vl(e,n)}function Ul(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Vl(e,n)}var Wl=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ui.current)Ns=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ns=!1,nc(e,t,n);Ns=!!(e.flags&131072)}else Ns=!1,X&&t.flags&1048576&&ma(t,sa,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;ec(e,t),e=t.pendingProps;var a=Gi(t,Hi.current);Ua(t,n),a=Ao(null,t,i,e,a,n);var o=jo();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ki(i)?(o=!0,Xi(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Xa(t),a.updater=vs,t.stateNode=a,a._reactInternals=t,Ss(t,i,e,n),t=Hs(null,t,i,!0,o,n)):(t.tag=0,X&&o&&ha(t),Ps(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch(ec(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=Yl(i),e=gs(i,e),a){case 0:t=Bs(null,t,i,e,n);break a;case 1:t=Vs(null,t,i,e,n);break a;case 11:t=Fs(null,t,i,e,n);break a;case 14:t=Is(null,t,i,gs(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Bs(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Vs(e,t,i,a,n);case 3:a:{if(Us(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,Za(e,t),no(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated)if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Cs(Error(r(423)),t),t=Ws(e,t,i,n,a);break a}else if(i!==a){a=Cs(Error(r(424)),t),t=Ws(e,t,i,n,a);break a}else for(va=Ti(t.stateNode.containerInfo.firstChild),_a=t,X=!0,ya=null,n=Fa(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Da(),i===a){t=tc(e,t,n);break a}Ps(e,t,i,n)}t=t.child}return t;case 5:return fo(t),e===null&&Ca(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,vi(i,a)?s=null:o!==null&&vi(i,o)&&(t.flags|=32),zs(e,t),Ps(e,t,s,n),t.child;case 6:return e===null&&Ca(t),null;case 13:return qs(e,t,n);case 4:return lo(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Pa(t,null,i,n):Ps(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Fs(e,t,i,a,n);case 7:return Ps(e,t,t.pendingProps,n),t.child;case 8:return Ps(e,t,t.pendingProps.children,n),t.child;case 12:return Ps(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,Y(Ia,i._currentValue),i._currentValue=s,o!==null)if(wr(o.value,s)){if(o.children===a.children&&!Ui.current){t=tc(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=Qa(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ha(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Ha(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Ps(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ua(t,n),a=Wa(a),i=i(a),t.flags|=1,Ps(e,t,i,n),t.child;case 14:return i=t.type,a=gs(i,t.pendingProps),a=gs(i.type,a),Is(e,t,i,a,n);case 15:return Ls(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),ec(e,t),t.tag=1,Ki(i)?(e=!0,Xi(t)):e=!1,Ua(t,n),bs(t,i,a),Ss(t,i,a,n),Hs(null,t,i,!0,e,n);case 19:return $s(e,t,n);case 22:return Rs(e,t,n)}throw Error(r(156,t.tag))};function Gl(e,t){return ot(e,t)}function Kl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ql(e,t,n,r){return new Kl(e,t,n,r)}function Jl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Yl(e){if(typeof e==`function`)return+!!Jl(e);if(e!=null){if(e=e.$$typeof,e===k)return 11;if(e===j)return 14}return 2}function Xl(e,t){var n=e.alternate;return n===null?(n=ql(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Zl(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)Jl(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case T:return Ql(n.children,a,o,t);case ee:s=8,a|=8;break;case E:return e=ql(12,n,t,a|2),e.elementType=E,e.lanes=o,e;case te:return e=ql(13,n,t,a),e.elementType=te,e.lanes=o,e;case A:return e=ql(19,n,t,a),e.elementType=A,e.lanes=o,e;case ne:return $l(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case D:s=10;break a;case O:s=9;break a;case k:s=11;break a;case j:s=14;break a;case M:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=ql(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function Ql(e,t,n,r){return e=ql(7,e,r,t),e.lanes=n,e}function $l(e,t,n,r){return e=ql(22,e,r,t),e.elementType=ne,e.lanes=n,e.stateNode={isHidden:!1},e}function eu(e,t,n){return e=ql(6,e,null,t),e.lanes=n,e}function tu(e,t,n){return t=ql(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function nu(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Mt(0),this.expirationTimes=Mt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Mt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ru(e,t,n,r,i,a,o,s,c){return e=new nu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=ql(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Xa(a),e}function iu(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:w,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}function au(e){if(!e)return Vi;e=e._reactInternals;a:{if(tt(e)!==e||e.tag!==1)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break a;case 1:if(Ki(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break a}}t=t.return}while(t!==null);throw Error(r(171))}if(e.tag===1){var n=e.type;if(Ki(n))return Yi(e,n,t)}return t}function ou(e,t,n,r,i,a,o,s,c){return e=ru(n,r,!0,e,i,a,o,s,c),e.context=au(null),n=e.current,r=pl(),i=ml(n),a=Qa(r,i),a.callback=t??null,$a(n,a,i),e.current.lanes=i,Nt(e,i,r),gl(e,r),e}function su(e,t,n,r){var i=t.current,a=pl(),o=ml(i);return n=au(n),t.context===null?t.context=n:t.pendingContext=n,t=Qa(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=$a(i,t,o),e!==null&&(hl(e,i,o,a),eo(e,i,o)),o}function cu(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function lu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function uu(e,t){lu(e,t),(e=e.alternate)&&lu(e,t)}function du(){return null}var fu=typeof reportError==`function`?reportError:function(e){console.error(e)};function pu(e){this._internalRoot=e}mu.prototype.render=pu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));su(e,t,null,null)},mu.prototype.unmount=pu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;wl(function(){su(null,e,null,null)}),t[Ai]=null}};function mu(e){this._internalRoot=e}mu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Bt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Yt.length&&t!==0&&t<Yt[n].priority;n++);Yt.splice(n,0,e),n===0&&en(e)}};function hu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function gu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==` react-mount-point-unstable `))}function _u(){}function vu(e,t,n,r,i){if(i){if(typeof r==`function`){var a=r;r=function(){var e=cu(o);a.call(e)}}var o=ou(t,r,e,0,null,!1,!1,``,_u);return e._reactRootContainer=o,e[Ai]=o.current,ii(e.nodeType===8?e.parentNode:e),wl(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r==`function`){var s=r;r=function(){var e=cu(c);s.call(e)}}var c=ru(e,0,!1,null,null,!1,!1,``,_u);return e._reactRootContainer=c,e[Ai]=c.current,ii(e.nodeType===8?e.parentNode:e),wl(function(){su(t,c,n,r)}),c}function yu(e,t,n,r,i){var a=n._reactRootContainer;if(a){var o=a;if(typeof i==`function`){var s=i;i=function(){var e=cu(o);s.call(e)}}su(t,o,e,i)}else o=vu(n,t,e,i,r);return cu(o)}Lt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Et(t.pendingLanes);n!==0&&(Ft(t,n|1),gl(t,ut()),!(Q&6)&&(tl=ut()+500,ra()))}break;case 13:wl(function(){var t=Ja(e,1);t!==null&&hl(t,e,1,pl())}),uu(e,1)}},Rt=function(e){if(e.tag===13){var t=Ja(e,134217728);t!==null&&hl(t,e,134217728,pl()),uu(e,134217728)}},zt=function(e){if(e.tag===13){var t=ml(e),n=Ja(e,t);n!==null&&hl(n,e,t,pl()),uu(e,t)}},Bt=function(){return K},Vt=function(e,t){var n=K;try{return K=e,t()}finally{K=n}},Ie=function(e,t,n){switch(t){case`input`:if(me(e,n),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name=`+JSON.stringify(``+t)+`][type="radio"]`),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var a=Li(i);if(!a)throw Error(r(90));z(i),me(i,a)}}}break;case`textarea`:be(e,n);break;case`select`:t=n.value,t!=null&&_e(e,!!n.multiple,t,!1)}},Be=Cl,Ve=wl;var bu={usingClientEntryPoint:!1,Events:[Fi,Ii,Li,W,ze,Cl]},xu={findFiberByHostInstance:Pi,bundleType:0,version:`18.3.1`,rendererPackageName:`react-dom`},Su={bundleType:xu.bundleType,version:xu.version,rendererPackageName:xu.rendererPackageName,rendererConfig:xu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:S.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=at(e),e===null?null:e.stateNode},findFiberByHostInstance:xu.findFiberByHostInstance||du,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:`18.3.1-next-f1338f8080-20240426`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Cu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Cu.isDisabled&&Cu.supportsFiber)try{_t=Cu.inject(Su),vt=Cu}catch{}}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=bu,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!hu(t))throw Error(r(200));return iu(e,t,null,n)},e.createRoot=function(e,t){if(!hu(e))throw Error(r(299));var n=!1,i=``,a=fu;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=ru(e,1,!1,null,null,n,!1,i,a),e[Ai]=t.current,ii(e.nodeType===8?e.parentNode:e),new pu(t)},e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(r(188)):(e=Object.keys(e).join(`,`),Error(r(268,e)));return e=at(t),e=e===null?null:e.stateNode,e},e.flushSync=function(e){return wl(e)},e.hydrate=function(e,t,n){if(!gu(t))throw Error(r(200));return yu(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){if(!hu(e))throw Error(r(405));var i=n!=null&&n.hydratedSources||null,a=!1,o=``,s=fu;if(n!=null&&(!0===n.unstable_strictMode&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=ou(t,null,e,1,n??null,a,!1,o,s),e[Ai]=t.current,ii(e),i)for(e=0;e<i.length;e++)n=i[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new mu(t)},e.render=function(e,t,n){if(!gu(t))throw Error(r(200));return yu(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(!gu(e))throw Error(r(40));return e._reactRootContainer?(wl(function(){yu(null,null,e,!1,function(){e._reactRootContainer=null,e[Ai]=null})}),!0):!1},e.unstable_batchedUpdates=Cl,e.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!gu(n))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return yu(e,t,n,!1,i)},e.version=`18.3.1-next-f1338f8080-20240426`})),Le=h(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Ie()})),Re=h((e=>{var t=Le();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot}))(),U=D(d(),1),W=oe(),ze=320;function Be(){return R().basket}function Ve(){let e=(0,U.useSyncExternalStore)(F,Be).items.length,[t,n]=(0,U.useState)(!1),r=(0,U.useRef)(e);if((0,U.useEffect)(()=>{if(e>r.current){n(!0);let t=setTimeout(()=>n(!1),ze);return r.current=e,()=>clearTimeout(t)}r.current=e},[e]),e===0)return null;let i=e===1?`section`:`sections`;return(0,W.jsxs)(`button`,{type:`button`,className:`basket-chip${t?` basket-chip-pulse`:``}`,"aria-label":`Open basket (${e} ${i}). Click to compose.`,title:`Basket — ${e} ${i}. Click to compose.`,onClick:()=>I(p()),children:[(0,W.jsxs)(`svg`,{className:`basket-chip-icon`,width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,focusable:`false`,children:[(0,W.jsx)(`rect`,{x:`2.75`,y:`2`,width:`8.5`,height:`10.5`,rx:`1`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`}),(0,W.jsx)(`rect`,{x:`4.5`,y:`0.75`,width:`5`,height:`2.5`,rx:`0.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]}),(0,W.jsx)(`span`,{className:`basket-chip-count`,children:e})]})}var He={ok:`OK`,warn:`WARN`,fail:`FAIL`};function Ue(){let e=(0,U.useSyncExternalStore)(F,()=>R().doctor);if(!e)return null;let{severity:t,counts:n,generated_at:r}=e,i;i=n.fail>0?`${n.fail} fail`:t===`warn`&&n.warn>0?`${n.warn} warn`:`OK`;let a=`Doctor diagnostic: ${He[t]} — ${n.ok} OK, ${n.warn} warn, ${n.fail} fail`,o=`Doctor · ${He[t]} (click for report)`;try{let e=new Date(r).toLocaleTimeString();o=`Doctor · ${He[t]} · checked ${e} (click for report)`}catch{}return(0,W.jsxs)(`button`,{type:`button`,className:`doctor-chip doctor-chip--${t}`,title:o,"aria-label":a,onClick:()=>I({type:`OPEN_DOCTOR_MODAL`}),children:[(0,W.jsx)(`span`,{className:`doctor-chip-label`,children:`Doctor`}),(0,W.jsx)(`span`,{className:`doctor-chip-status`,children:i})]})}function We(){return(0,U.useSyncExternalStore)(F,()=>R().snapshot)}var Ge=`/api/update/status`,Ke=`/api/update`,qe=`/api/update/dismiss`;function Je(e,t=null){return e===`brew`?`brew update --quiet && brew upgrade cctally`:e===`npm`?`npm install -g cctally@${t??`latest`}`:null}function Ye(e){return!e||!e.includes(`-`)?null:`You're on prerelease ${e}; this banner suggests stable.\nTo track prereleases, manage manually: npm install -g cctally@next`}function Xe(e,t,n){let r=n===`beta`?`beta`:`stable`;if(!e||typeof e!=`object`)return null;let i=e;if(typeof i._error==`string`)return{current_version:null,latest_version:null,available:!1,method:`unknown`,update_command:null,release_notes_url:null,check_status:`unavailable`,checked_at_utc:null,prerelease_note:null,configured_channel:r};let a=typeof i.current_version==`string`?i.current_version:null,o=typeof i.latest_version==`string`?i.latest_version:null,s=i.install,c=s&&typeof s==`object`?s:{},l=typeof c.method==`string`?c.method:`unknown`,u=l===`brew`||l===`npm`?l:`unknown`,d=typeof i.check_status==`string`?i.check_status:null,f=d&&[`ok`,`rate_limited`,`fetch_failed`,`parse_failed`,`unavailable`].includes(d)?d:null,p=typeof i.checked_at_utc==`string`?i.checked_at_utc:null,m=typeof i.latest_version_url==`string`?i.latest_version_url:null;return{current_version:a,latest_version:o,available:Qe(a,o,t),method:u,update_command:u===`npm`&&r===`beta`&&o?Je(`npm`,o):Je(u,null),release_notes_url:m,check_status:f,checked_at_utc:p,prerelease_note:Ye(a),configured_channel:r}}function Ze(e){if(!e||typeof e!=`object`)return{skipped_versions:[],remind_after:null};let t=e,n=Array.isArray(t.skipped_versions)?t.skipped_versions.filter(e=>typeof e==`string`):[],r=null;if(t.remind_after&&typeof t.remind_after==`object`){let e=t.remind_after;typeof e.version==`string`&&typeof e.until_utc==`string`&&(r={version:e.version,until_utc:e.until_utc})}return{skipped_versions:n,remind_after:r}}function Qe(e,t,n){if(!e||!t||!$e(t,e)||n.skipped_versions.includes(t))return!1;let r=n.remind_after;if(r&&r.version&&r.until_utc)try{if(!$e(t,r.version)){let e=Date.parse(r.until_utc);if(Number.isFinite(e)&&Date.now()<e)return!1}}catch{}return!0}function $e(e,t){let n=e=>{let[t,n=``]=e.split(`-`,2),r=t.split(`.`).map(e=>parseInt(e,10));for(;r.length<3;)r.push(0);return[r[0]||0,r[1]||0,r[2]||0,n]},[r,i,a,o]=n(e),[s,c,l,u]=n(t);return r===s?i===c?a===l?!o&&u?!0:o&&!u?!1:o>u:a>l:i>c:r>s}async function et(){try{let e=await fetch(Ge);if(!e.ok)return;let t=await e.json(),n=Ze(t?.suppress),r=Xe(t?.state,n,t?.configured_channel);I({type:`SET_UPDATE_STATE`,state:r,suppress:n}),R().update.status===`success`&&r?.current_version&&r.current_version===r.latest_version&&(I({type:`CLOSE_UPDATE_MODAL`}),I({type:`RESET_UPDATE_RUN`}))}catch{}}async function tt(){I({type:`RESET_UPDATE_RUN`}),I({type:`SET_UPDATE_STATUS`,status:`running`,errorMessage:null}),I({type:`SET_UPDATE_RUN_ID`,runId:null,startedAt:Date.now()});try{let e=await fetch(Ke,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`}),t=await e.json().catch(()=>({}));if(e.status===202&&typeof t.run_id==`string`){I({type:`SET_UPDATE_RUN_ID`,runId:t.run_id});return}if(e.status===409&&typeof t.run_id_in_progress==`string`){I({type:`SET_UPDATE_RUN_ID`,runId:t.run_id_in_progress});return}I({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:typeof t.error==`string`?t.error:`failed to start update (HTTP ${e.status})`})}catch(e){I({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`network error: `+e.message})}}async function nt(e){if(e){try{if((await fetch(qe,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`skip`,version:e})})).ok){let t=R().update;t.state&&I({type:`SET_UPDATE_STATE`,state:{...t.state,available:!1},suppress:{...t.suppress,skipped_versions:t.suppress.skipped_versions.includes(e)?t.suppress.skipped_versions:[...t.suppress.skipped_versions,e]}}),I({type:`CLOSE_UPDATE_MODAL`})}}catch{}await et()}}async function rt(e){try{if((await fetch(qe,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`remind`,days:e})})).ok){let e=R().update;e.state&&I({type:`SET_UPDATE_STATE`,state:{...e.state,available:!1},suppress:e.suppress}),I({type:`CLOSE_UPDATE_MODAL`})}}catch{}await et()}var it={refreshState:et,start:tt,skip:nt,remind:rt,open:()=>I({type:`OPEN_UPDATE_MODAL`}),close:()=>I({type:`CLOSE_UPDATE_MODAL`})};function at(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function G(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function ot(e){if(!at(e)||e.envelope_version!==2||typeof e.generated_at!=`string`||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/.test(e.generated_at)||!Number.isFinite(Date.parse(e.generated_at)))return!1;let t=e=>e==null||at(e);return at(e.header)&&t(e.current_week)&&t(e.forecast)&&t(e.trend)&&at(e.weekly)&&Array.isArray(e.weekly.rows)&&at(e.monthly)&&Array.isArray(e.monthly.rows)&&at(e.blocks)&&Array.isArray(e.blocks.rows)&&at(e.daily)&&Array.isArray(e.daily.rows)&&at(e.sessions)&&Array.isArray(e.sessions.rows)&&t(e.projects)&&at(e.display)&&Array.isArray(e.alerts)&&at(e.alerts_settings)}function st(e){return!at(e)||e.version!==1||!G(e.generation)?!1:e.type===`ready`||e.type===`stream_error`?!0:e.type===`snapshot`&&G(e.deliveryGeneration)&&ot(e.snapshot)}var ct=1e3;function lt(e){let t=null,n=!1,r=0,i=()=>{if(n||t!=null)return;r+=1;let i=r;try{let a=new EventSource(`/api/events`);t=a,a.addEventListener(`update`,o=>{if(!(n||t!==a||r!==i))try{let t=JSON.parse(o.data);if(!ot(t))throw Error(`invalid dashboard envelope`);e.onSnapshot(T(t))}catch{console.error(`Dashboard stream frame was rejected.`),e.onError()}}),a.onerror=()=>{!n&&t===a&&r===i&&e.onError()},e.onReady()}catch{t=null,e.onError()}},a=()=>{r+=1,t?.close(),t=null};function o(e){e.persisted?a():c()}function s(e){e.persisted&&i()}function c(){n||(n=!0,typeof window<`u`&&(window.removeEventListener(`pagehide`,o),window.removeEventListener(`pageshow`,s)),r+=1,t?.close(),t=null)}return i(),typeof window<`u`&&(window.addEventListener(`pagehide`,o),window.addEventListener(`pageshow`,s)),{suspend:a,resume:i,close:c}}function ut(e){if(typeof SharedWorker>`u`)return lt(e);let t=null,n=null,r=null,i=!1,a=!0,o=1,s=!1,c=!1,l=null,u=()=>{l!=null&&clearTimeout(l),l=null},d=e=>({version:1,type:e,generation:o}),f=()=>{if(u(),n!=null){try{n.postMessage(d(`unsubscribe`))}catch{}n.onmessage=null,n.onmessageerror=null;try{n.close()}catch{}}t!=null&&(t.onerror=null),n=null,t=null},p=()=>{if(!(i||r!=null)){if(c){e.onError();return}o+=1,f(),r=lt(e)}},m=()=>{u(),l=setTimeout(()=>{l=null,!(i||r!=null||s)&&(c?e.onError():p())},ct)},h=()=>{console.error(`Dashboard SharedWorker message was rejected.`),c?e.onError():p()};try{t=new SharedWorker(new URL(`/static/assets/dashboardStream.shared-worker-DbG6Ef0T.js`,``+import.meta.url),{type:`module`,name:`cctally-dashboard-stream-v1`}),n=t.port,n.onmessage=t=>{if(i||r!=null)return;if(!st(t.data)){h();return}let n=t.data;if(n.generation===o){if(n.type===`ready`){s=!0,u(),e.onReady();return}if(n.type===`stream_error`){c?e.onError():p();return}if(!s){h();return}e.onSnapshot(n.snapshot)&&(c=!0)}},n.onmessageerror=p,t.onerror=p,n.start(),n.postMessage(d(`subscribe`)),m()}catch(t){console.warn(`SharedWorker dashboard stream unavailable; using a direct stream.`,t),f(),r=lt(e)}function g(){i||!a||(a=!1,r?.suspend(),n!=null&&(o+=1,s=!1,u(),n.postMessage(d(`suspend`))))}function _(){if(!(i||a)){if(a=!0,r!=null){r.resume();return}n!=null&&(o+=1,s=!1,n.postMessage(d(`resume`)),m())}}function v(e){e.persisted?g():b()}function y(e){e.persisted&&_()}function b(){i||(i=!0,typeof window<`u`&&(window.removeEventListener(`pagehide`,v),window.removeEventListener(`pageshow`,y)),r?.close(),o+=1,f())}return typeof window<`u`&&(window.addEventListener(`pagehide`,v),window.addEventListener(`pageshow`,y)),{suspend:g,resume:_,close:b}}var dt=null,ft=`disconnected`,pt=!1,mt=null,ht=0,gt=!1,_t=new Set,vt=!0,yt=3e4,bt=null,xt=null,St=1e4,Ct=`The dashboard’s update stream is open but has sent no data. Reload the page, and close other dashboard tabs if you have several open.`,wt=null;function Tt(){return ft}function Et(){return ft===`disconnected`}function Dt(){return pt}function Ot(){return mt}function kt(){At(),wt=setTimeout(()=>{wt=null,!(R().snapshot!=null||pt)&&(pt=!0,mt=Ct,Mt())},St)}function At(){wt!=null&&(clearTimeout(wt),wt=null)}function jt(e){return _t.add(e),()=>{_t.delete(e)}}function Mt(){_t.forEach(e=>{try{e()}catch(e){console.error(`status subscriber error:`,e)}})}function Nt(e){ft!==e&&(ft=e,Mt())}function Pt(e={}){dt&&=(dt.close(),null),Nt(`disconnected`),pt=!1,mt=null,gt=!1,ht+=1,vt=!0,Mt(),ge(),It(e),!(typeof document<`u`&&document.visibilityState===`hidden`)&&Rt(e)}function Ft(){dt&&(dt.suspend(),Nt(`suspended`),At(),vt=!0)}function K(e){if(!(typeof document>`u`)){if(document.visibilityState===`hidden`){if(bt!=null)return;bt=setTimeout(()=>{bt=null,Ft()},yt);return}bt!=null&&(clearTimeout(bt),bt=null),ft===`suspended`&&dt!=null?(Nt(`resuming`),dt.resume()):dt??Rt(e)}}function It(e){typeof document>`u`||(Lt(),xt=()=>K(e),document.addEventListener(`visibilitychange`,xt))}function Lt(){bt!=null&&(clearTimeout(bt),bt=null),xt!=null&&typeof document<`u`&&document.removeEventListener(`visibilitychange`,xt),xt=null}function Rt(e){let t=ht,n=!1;dt=ut({onReady:()=>{t===ht&&kt()},onSnapshot:r=>{if(t!==ht||!O(r))return!1;n=!1,At(),pt&&(pt=!1,mt=null,Mt()),Bt(r),Vt(r),Ht(r),Ut(r);let i=!1;return gt||(gt=!0,e.onConnect?.(),i=!0),ft!==`connected`&&(Nt(`connected`),i||e.onConnect?.()),!0},onError:()=>{t===ht&&(R().snapshot==null&&!pt&&(pt=!0,Mt()),ft!==`disconnected`&&(Nt(`disconnected`),vt=!0),n||(n=!0,vt=!0,e.onDisconnect?.()))}})}var zt={enabled:!1,weekly_thresholds:[90,95],five_hour_thresholds:[90,95],budget_thresholds:[],budget_enabled:!1,weekly_usd:null,projected_weekly_enabled:!1,projected_budget_enabled:!1,project_alerts_enabled:!1,codex_budget_configured:!1,codex_budget_alerts_enabled:!1,codex_projected_enabled:!1};function Bt(e){I({type:`INGEST_SOURCE_ALERTS`,rows:A(e),rateChanges:e.meter_rate_changes??[],alertsSettings:e.alerts_settings??zt,isFirstTick:vt}),vt=!1}function Vt(e){if(!e.update)return;let t=Ze(e.update.suppress);I({type:`SET_UPDATE_STATE`,state:Xe(e.update.state,t,e.update.configured_channel),suppress:t})}function Ht(e){e.doctor&&I({type:`SET_DOCTOR_AGGREGATE`,doctor:e.doctor})}function Ut(e){I({type:`INGEST_DASHBOARD_PREFS`,prefs:e.dashboard_prefs??{}})}function Wt(){return{state:(0,U.useSyncExternalStore)(jt,()=>Tt()),disconnected:(0,U.useSyncExternalStore)(jt,()=>Et()),bootstrapError:(0,U.useSyncExternalStore)(jt,()=>Dt()),bootstrapMessage:(0,U.useSyncExternalStore)(jt,()=>Ot())}}var Gt={"":0,fresh:1,aging:2,stale:3};function Kt(e,t){return Gt[e]>=Gt[t]?e:t}function qt(e){return Number.isFinite(e)&&e>0?Math.floor(e):0}function Jt(e){let t=qt(e);if(t<60)return`${t}s`;if(t<3600)return`${Math.floor(t/60)}m`;if(t<86400){let e=Math.floor(t/3600),n=Math.floor(t%3600/60);return n===0?`${e}h`:`${e}h ${n}m`}let n=Math.floor(t/86400),r=Math.floor(t%86400/3600);return r===0?`${n}d`:`${n}d ${r}h`}function Yt(e){return`${Jt(e)} ago`}function Xt(e){let t=qt(e),n=t<300?`fresh`:t<1800?`aging`:`stale`;return{text:Yt(t),bucket:n}}function Zt(e){return e?` sync-chip--${e}`:``}function Qt({id:e=`sync-chip`}={}){let t=We(),{disconnected:n,state:r}=Wt(),i=(0,U.useSyncExternalStore)(F,()=>R().snapshotObservedAtMs),a=(0,U.useSyncExternalStore)(F,()=>R().syncErrorFloorUntil),o=(0,U.useSyncExternalStore)(F,()=>R().syncBusy),s=(0,U.useSyncExternalStore)(F,()=>R().syncSuccessFlashUntil),c=(0,U.useSyncExternalStore)(F,()=>R().syncBusyNoticeUntil),l=(0,U.useSyncExternalStore)(F,()=>R().outstandingSyncId),[u,d]=(0,U.useState)(`sync paused`),[f,p]=(0,U.useState)(``),[m,h]=(0,U.useState)(``),g=(0,U.useRef)(0),[,_]=(0,U.useState)(0),[,v]=(0,U.useState)(0),[,y]=(0,U.useState)(0),b=Date.now(),x=b<a,S=b<s,C=b<c,w=l!=null,T=N(t),ee=l!=null&&T.requested_id>=l&&T.started_id>=l,E=T.rebuilding,D=he(t?.sync_age_s??null,i,b),O=Kt(m,!n&&t&&!t.last_sync_error&&D!=null?Xt(D).bucket:``);if((0,U.useEffect)(()=>{if(!(x||S)){if(n){d(`disconnected`),p(`var(--accent-red)`),h(``);return}if(t){if(t.last_sync_error){h(``);return}if(t.sync_age_s==null){d(`sync paused`),p(``),h(``),g.current=0;return}p(``),g.current=he(t.sync_age_s,i,Date.now())??0;{let e=Xt(g.current);d(`synced ${e.text}`),h(e.bucket)}}}},[t,n,x,i,S]),(0,U.useEffect)(()=>{let e=window.setInterval(()=>{if(n||Date.now()<R().syncErrorFloorUntil||!t||t.sync_age_s==null||t.last_sync_error)return;g.current=he(t.sync_age_s,i,Date.now())??g.current;let e=Xt(g.current);d(`synced ${e.text}`),h(e.bucket)},1e3);return()=>window.clearInterval(e)},[t,n,i]),(0,U.useEffect)(()=>{if(!x)return;let e=a-Date.now();if(e<=0)return;let t=window.setTimeout(()=>_(e=>e+1),e);return()=>window.clearTimeout(t)},[a,x]),(0,U.useEffect)(()=>{if(!S)return;let e=s-Date.now();if(e<=0)return;let t=window.setTimeout(()=>v(e=>e+1),e);return()=>window.clearTimeout(t)},[s,S]),(0,U.useEffect)(()=>{if(!C)return;let e=c-Date.now();if(e<=0)return;let t=window.setTimeout(()=>y(e=>e+1),e);return()=>window.clearTimeout(t)},[c,C]),o)return(0,W.jsx)(`span`,{className:`sync-chip mute syncing`+Zt(O),id:e,"aria-busy":`true`,"aria-live":`polite`,children:`syncing…`});if(w&&!n)return(0,W.jsx)(`span`,{className:`sync-chip mute syncing`+Zt(O),id:e,"aria-busy":`true`,"aria-live":`polite`,children:ee?`syncing…`:`queued…`});if(x)return(0,W.jsx)(`span`,{className:`sync-chip mute sync-error`,id:e,"aria-live":`polite`,style:{color:`var(--accent-red)`},children:`⚠ sync request failed`});if(S)return(0,W.jsx)(`span`,{className:`sync-chip mute sync-success`,id:e,"aria-live":`polite`,children:`✓ updated`});if(C)return(0,W.jsx)(`span`,{className:`sync-chip mute sync-busy-notice`,id:e,"aria-live":`polite`,"aria-label":`Refresh busy. Another rebuild is still running. Try again.`,title:`Another rebuild is still running. Try again.`,children:`refresh busy`});if(r===`suspended`)return(0,W.jsx)(`span`,{className:`sync-chip mute`,id:e,"aria-live":`polite`,children:`Updates paused while hidden`});if(r===`resuming`)return(0,W.jsx)(`span`,{className:`sync-chip mute`,id:e,"aria-live":`polite`,children:`Resuming updates…`});if(!n&&t?.last_sync_error){let n=t.sync_failure??null,r=n?[n.detail,n.action].filter(Boolean).join(` `):void 0;return(0,W.jsx)(`span`,{className:`sync-chip mute sync-error`,id:e,"aria-live":`polite`,"aria-label":r,title:r,style:{color:`var(--accent-red)`},children:n?.label??`⚠ server sync error`})}if(E&&!n)return(0,W.jsx)(`span`,{className:`sync-chip mute syncing`+Zt(O),id:e,"aria-busy":`true`,children:`syncing…`});let k=n?`disconnected`:t==null||t.sync_age_s==null?`sync paused`:u,te=k===`disconnected`||k===`sync paused`;return(0,W.jsx)(`span`,{className:`sync-chip mute`+Zt(O)+(n?` sync-error`:``),id:e,"aria-live":te?`polite`:void 0,style:{color:f},children:k})}var $t=[{value:`claude`,label:`Claude`},{value:`codex`,label:`Codex`},{value:`all`,label:`All`}];function en(){let e=(0,U.useSyncExternalStore)(F,()=>R().activeSource),t=(0,U.useSyncExternalStore)(F,()=>R().view),n=We(),r=(0,U.useRef)([]),[i,a]=(0,U.useState)(``);if(t!==`dashboard`)return null;let o=e=>n?.sources?.[e]?.availability,s=e=>{let t=$t[e];I({type:`SET_ACTIVE_SOURCE`,source:t.value}),r.current[e]?.focus(),a(`${t.label} source selected`)},c=(e,t)=>{let n;switch(e.key){case`ArrowRight`:case`ArrowDown`:n=(t+1)%$t.length;break;case`ArrowLeft`:case`ArrowUp`:n=(t-1+$t.length)%$t.length;break;case`Home`:n=0;break;case`End`:n=$t.length-1;break;default:return}e.preventDefault(),s(n)};return(0,W.jsxs)(`div`,{className:`source-switcher`,role:`radiogroup`,"aria-label":`Data source`,children:[$t.map((t,n)=>{let i=t.value===e,a=o(t.value);return(0,W.jsx)(`button`,{ref:e=>{r.current[n]=e},type:`button`,role:`radio`,"aria-checked":i,"aria-label":a!=null&&a!==`ok`?`${t.label} (${a})`:t.label,tabIndex:i?0:-1,className:`source-seg${i?` is-active`:``}`,"data-source":t.value,onClick:()=>s(n),onKeyDown:e=>c(e,n),children:t.label},t.value)}),(0,W.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"data-testid":`source-switcher-live`,children:i})]})}var tn={claude:`hero and alerts only`,codex:`filters every panel`},nn={claude:`Claude accounts`,codex:`Codex accounts`};function rn(e){let t=[{key:`all`,label:`All accounts`,hint:null,dimmed:!1}];for(let n of e)t.push({key:n.accountKey,label:n.label,hint:n.weeklyPercent==null?null:`${Math.round(n.weeklyPercent)}%`,dimmed:n.unattributed===!0});return t}function an({provider:e,selection:t,labelled:n}){let r=We(),i=(0,U.useSyncExternalStore)(F,()=>R().accountFocus),a=(0,U.useRef)([]),[o,s]=(0,U.useState)(``),c=(0,U.useRef)(null),l=v(r?.sources?.[e]??null),d=l==null?null:u(r,t,e,i),f=l==null?null:d??`all`,p=f==null?null:f===`all`?`All accounts`:l?.find(e=>e.accountKey===f)?.label??`All accounts`;if((0,U.useEffect)(()=>{if(f==null){c.current=null;return}if(c.current==null){c.current=f;return}c.current!==f&&(c.current=f,s(f===`all`?`All accounts selected`:`${p} account selected`))},[f,p]),l==null)return null;let m=rn(l),h=`account-focus-${e}-label`,g=n=>{let r=m[n];I({type:`SET_ACCOUNT_FOCUS`,source:e,slot:pe(t),account:r.key}),a.current[n]?.focus()},_=(e,t)=>{let n;switch(e.key){case`ArrowRight`:case`ArrowDown`:n=(t+1)%m.length;break;case`ArrowLeft`:case`ArrowUp`:n=(t-1+m.length)%m.length;break;case`Home`:n=0;break;case`End`:n=m.length-1;break;default:return}e.preventDefault(),g(n)};return(0,W.jsxs)(`div`,{className:`account-chip-row`,role:`radiogroup`,...n?{"aria-labelledby":h}:{"aria-label":`Account focus`},"data-testid":`account-chip-row`,"data-provider":e,children:[n&&(0,W.jsxs)(`span`,{className:`account-chip-rowlabel`,id:h,children:[(0,W.jsx)(`span`,{className:`account-chip-rowprovider`,children:nn[e]}),` `,(0,W.jsx)(`span`,{className:`account-chip-rowqualifier`,"data-testid":`account-chip-qualifier-${e}`,children:tn[e]})]}),m.map((e,t)=>{let n=e.key===f;return(0,W.jsxs)(`button`,{ref:e=>{a.current[t]=e},type:`button`,role:`radio`,"aria-checked":n,"aria-label":e.hint==null?e.label:`${e.label}, ${e.hint} weekly`,tabIndex:n?0:-1,className:`account-chip${n?` is-active`:``}${e.dimmed?` is-dimmed`:``}`,"data-account":e.key,onClick:()=>g(t),onKeyDown:e=>_(e,t),children:[(0,W.jsx)(`span`,{className:`account-chip-label`,children:e.label}),e.hint!=null&&(0,W.jsx)(`span`,{className:`account-chip-hint`,children:e.hint})]},e.key)}),(0,W.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"data-testid":`account-chip-live`,children:o})]})}function on(){let e=We(),n=(0,U.useSyncExternalStore)(F,()=>R().activeSource);if((0,U.useSyncExternalStore)(F,()=>R().view)!==`dashboard`)return null;let r=t(e,n);return r.length===0?null:n===`all`?(0,W.jsx)(`div`,{className:`account-chip-rows`,"data-testid":`account-chip-rows`,children:r.map(e=>(0,W.jsx)(an,{provider:e,selection:`all`,labelled:!0},e))}):(0,W.jsx)(an,{provider:r[0],selection:n,labelled:!1})}var sn=new Set([`hero`,`daily`,`weekly`,`monthly`,`sessions`,`projects`,`quota`,`budget`,`forensics`,`alerts`]);function cn(e){return e!=null&&e.length>0?e[0]:null}function ln(e){let t=e.domain;return t==null||t===`ingest`||t===`read_model`||!sn.has(t)}function un(e){return e==null?null:e.find(ln)??cn(e)}function dn(e,t){return e==null?null:e.find(ln)??e.find(e=>e.domain===t)??null}function fn(e){return typeof e==`object`&&e?e:void 0}function pn(e,t){let n=e.domain_freshness?.[t];return n===`fresh`||n===`stale`?n:e.freshness}var mn=[`claude`,`codex`];function hn(e){let t=e?.data??null,n=t?.combined??null;if(n==null){let n=t?.combined_unavailable;return{value:null,legs:null,contributors:[],qualifications:[],unavailable:n==null?gn(e):{code:n.code,message:n.message}}}let r=n.legs;return{value:{costUsd:n.cost_usd,totalTokens:n.total_tokens},legs:r,contributors:mn.filter(e=>r?.[e]?.state===`current`),qualifications:n.qualifications??[],unavailable:null}}function gn(e){if(e==null)return null;let t=dn(e.warnings,`hero`);return t==null?null:{code:t.code,message:t.message}}function _n(e){return e.length===2?`COMBINED · CURRENT CYCLES`:e.length===1?e[0]===`claude`?`CLAUDE · CURRENT CYCLE`:`CODEX · CURRENT CYCLE`:`CURRENT CYCLES · NO DATA`}function vn(e,t){let n=e.entry;if(n==null)return t===`claude`&&e.env!=null&&!e.hydrating?{mode:`render`,noSuccessYet:!1}:{mode:e.hydrating?`skeleton`:`hidden`,noSuccessYet:!1};if(o(n))return{mode:`skeleton`,noSuccessYet:!1};let r=n.capabilities?.sessions?.status,i=n.last_success_at==null,a=dn(n.warnings,`sessions`);return r===`deferred`||r===`not_applicable`?{mode:`hidden`,noSuccessYet:!1}:n.availability===`unavailable`||r===`unavailable`?{mode:`degraded`,warning:a,noSuccessYet:i}:fn(n.data)?.sessions===void 0?{mode:`hidden`,noSuccessYet:!1}:n.availability===`partial`&&(pn(n,`sessions`)===`stale`||a!=null)?{mode:`degraded`,warning:a,noSuccessYet:i}:r!==`supported`&&r!==`derived`?{mode:`degraded`,warning:null,noSuccessYet:i}:{mode:`render`,noSuccessYet:!1}}function yn(e){if(e.selection!==`all`)return vn(e,e.selection);let t=[`claude`,`codex`].map(t=>vn(C(e.env,t),t));return t.some(e=>e.mode===`render`||e.mode===`degraded`)?{mode:`render`,noSuccessYet:!1}:{mode:t.some(e=>e.mode===`skeleton`)?`skeleton`:`hidden`,noSuccessYet:!1}}function bn(){let e=(0,U.useSyncExternalStore)(F,()=>R().activeSource),t=(0,U.useSyncExternalStore)(F,()=>R().view),n=We();if(t!==`dashboard`)return null;let r=C(n,e),i=r.entry;if(r.hydrating||i==null)return null;let a=i.last_success_at==null,o=i.availability===`partial`||i.availability===`unavailable`,s=un(i.warnings),c=i.freshness===`stale`,l=e===`all`?hn(i).unavailable:null,u,d;u=a?`no successful snapshot yet`:o&&s?Sn(s.domain,s.code):l==null?o?`degraded`:c?`stale`:`fresh`:`Combined withheld`,d=(o&&s?s.message:null)??l?.message??s?.message??u;let f=Cn(u);return(0,W.jsxs)(`span`,{className:`source-status-chip`+(o?` is-degraded`:``)+(c&&!o?` is-stale`:``),"data-testid":`source-status-chip`,"data-source":e,title:d,"aria-label":`${e} source status: ${d}`,children:[(0,W.jsx)(`span`,{className:`source-status-label source-status-label--full`,"aria-hidden":`true`,children:u}),(0,W.jsx)(`span`,{className:`source-status-label source-status-label--compact`,"aria-hidden":`true`,children:f})]})}var xn={hero:`Hero unavailable`,daily:`Daily unavailable`,weekly:`Weekly unavailable`,monthly:`Monthly unavailable`,sessions:`Sessions unavailable`,projects:`Projects unavailable`,quota:`Quota unavailable`,budget:`Budget unavailable`,forensics:`Forensics unavailable`,alerts:`Alerts unavailable`,accounts:`Accounts unavailable`};function Sn(e,t){return e===`projects`&&t===`codex_metadata_incomplete`?`Projects partial`:e==null?`Source degraded`:xn[e]??`Source degraded`}function Cn(e){return e===`no successful snapshot yet`?`No snapshot`:e===`Source degraded`||e===`degraded`?`Degraded`:e===`Projects partial`||e.endsWith(` unavailable`)?e:e===`Combined withheld`?`Withheld`:e}function wn(){let e=(0,U.useSyncExternalStore)(F,()=>R().update).state;if(!e||!e.available||!e.latest_version)return null;let t=e.current_version??`?`,n=e.latest_version,r=e.configured_channel===`beta`;return(0,W.jsxs)(`button`,{type:`button`,className:`badge-update`,title:`Update available · ${t} → ${n}${r?` (beta)`:``} · click to view`,"aria-label":`Update available${r?` (beta channel)`:``}, current version ${t}, latest ${n}`,onClick:()=>it.open(),children:[(0,W.jsx)(`span`,{className:`badge-update-arrow`,"aria-hidden":`true`,children:`↑`}),(0,W.jsxs)(`span`,{className:`badge-update-version`,children:[`v`,n]}),r&&(0,W.jsx)(`span`,{className:`badge-update-channel`,children:`beta`})]})}function Tn(e){return e?.transcriptsEnabled===!0}function En(){let e=(0,U.useSyncExternalStore)(F,()=>R().view);return Tn(We())?(0,W.jsxs)(`div`,{className:`view-switcher`,role:`group`,"aria-label":`Workspace`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-pressed":e===`dashboard`,className:`view-seg${e===`dashboard`?` is-active`:``}`,onClick:()=>I({type:`SET_VIEW`,view:`dashboard`}),children:`Dashboard`}),(0,W.jsx)(`button`,{type:`button`,"aria-pressed":e===`conversations`,className:`view-seg${e===`conversations`?` is-active`:``}`,onClick:()=>I({type:`SET_VIEW`,view:`conversations`}),children:`Conversations`})]}):null}async function Dn(){if(R().syncBusy)return;let e=Date.now();I({type:`SET_SYNC_BUSY`,busy:!0});let t=!1;try{let e=await fetch(`/api/sync`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(e.status===202){let t=await e.json().catch(()=>({}));typeof t.request_id==`number`&&Number.isFinite(t.request_id)&&t.request_id>0&&typeof t.server_epoch==`string`&&t.server_epoch!==``&&I({type:`REGISTER_SYNC_REQUEST`,id:t.request_id,epoch:t.server_epoch});return}if(e.ok){if(e.status===200){let t=ee((await e.json().catch(()=>({}))).warnings),n=t.filter(re);if(n.length>0){console.error(`/api/sync warnings:`,n.join(`, `)),I({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+g});return}if(t.some(e=>_.has(e))){I({type:`SET_SYNC_BUSY_NOTICE`,untilMs:Date.now()+be});return}}t=!0;return}console.error(`/api/sync failed: ${e.status}`),I({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+g})}catch(e){console.error(`/api/sync failed:`,e),I({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+g})}finally{let n=Date.now()-e;n<300&&await new Promise(e=>setTimeout(e,300-n)),t&&I({type:`SET_SYNC_SUCCESS_FLASH`,untilMs:Date.now()+ie}),I({type:`SET_SYNC_BUSY`,busy:!1})}}function On(e){document.dispatchEvent(new KeyboardEvent(`keydown`,{key:e}))}function kn(e,t,n,r){if(e===`all`)return null;if(e===`codex`){let e=C(t,`codex`).entry?.data;if(e?.hero==null||e?.quota==null)return null;let n=te(e.hero,e.quota);if(n.length===0)return null;let r=n[0];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`topbar-condensed-pct`,children:B.pct1(r.current.current_percent)}),(0,W.jsx)(`span`,{className:`topbar-condensed-sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`topbar-condensed-reset`,children:r.label})]})}return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`topbar-condensed-pct`,children:B.pct1(n?.used_pct)}),(0,W.jsx)(`span`,{className:`topbar-condensed-sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsxs)(`span`,{className:`topbar-condensed-reset`,children:[`resets `,B.ddhh(r?.reset_in_sec)]})]})}function An(){let e=(0,U.useSyncExternalStore)(F,()=>R().update).state?.current_version??null,t=(0,U.useSyncExternalStore)(F,()=>R().view),n=(0,U.useSyncExternalStore)(F,()=>R().heroScrolled),r=(0,U.useSyncExternalStore)(F,()=>R().activeSource),i=We(),a=i?.header,o=kn(r,i,a,i?.current_week??null),s=t===`dashboard`&&n&&o!=null;return(0,W.jsxs)(`header`,{className:`topbar${s?` is-scrolled`:``}`,"data-view":t,children:[(0,W.jsx)(`h1`,{className:`sr-only`,children:`cctally dashboard`}),(0,W.jsxs)(`div`,{className:`stat topbar-brand`,children:[(0,W.jsx)(`span`,{className:`brand-name`,children:`cctally`}),e?(0,W.jsxs)(`span`,{className:`brand-version`,children:[`v`,e]}):null,(0,W.jsx)(wn,{}),i?.channel===`preview`?(0,W.jsx)(`span`,{className:`preview-badge`,title:`Preview channel — running against a real data snapshot, not your live prod dashboard`,children:`PREVIEW`}):null]}),(0,W.jsx)(En,{}),(0,W.jsx)(en,{}),(0,W.jsx)(on,{}),t===`dashboard`?(0,W.jsx)(`button`,{type:`button`,className:`topbar-explain`,onClick:()=>On(`e`),children:`Explain`}):null,s&&(0,W.jsx)(`div`,{className:`topbar-condensed`,"data-testid":`topbar-condensed`,"data-source":r,children:o}),(0,W.jsxs)(`div`,{className:`topbar-actions`,children:[(0,W.jsx)(bn,{}),(0,W.jsx)(Ue,{}),(0,W.jsx)(Ve,{}),(0,W.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-settings`,"aria-label":`Open settings`,onClick:()=>On(`s`),children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#settings`})})}),(0,W.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-help`,"aria-label":`Open help`,onClick:()=>On(`?`),children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#help-circle`})})}),(0,W.jsxs)(`button`,{type:`button`,className:`topbar-sync`,onClick:()=>Dn(),title:`Sync now (r)`,"aria-label":`Sync now`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#refresh`})}),(0,W.jsx)(Qt,{})]})]})]})}function jn(e){return(0,U.useSyncExternalStore)(F,()=>ce(void 0,e))}function Mn(e){return e===`all`?`codex`:e}function Nn(e,t){let n=(0,U.useSyncExternalStore)(F,()=>R().snapshot),r=(0,U.useSyncExternalStore)(F,()=>R().activeSource),i=e??r,a=t??(i===`all`?null:i);return me(n,i,(0,U.useSyncExternalStore)(F,()=>a==null?`all`:E(R().accountFocus,i,a)),a)}var Pn=`(max-width: 640px)`,Fn=`(min-width: 1101px)`,In=`(min-width: 900px)`,Ln=`(min-width: 1200px)`,Rn=`(max-width: 880px)`;function zn(){let[e,t]=(0,U.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Pn).matches);return(0,U.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(Pn),n=e=>{t(e.matches)};return e.addEventListener(`change`,n),t(e.matches),()=>{e.removeEventListener(`change`,n)}},[]),e}var Bn={tz:`local`,resolvedTz:`Etc/UTC`,offsetLabel:`UTC`,offsetSeconds:0,pinned:!1};function Vn(){let e=We();return e?.display?{tz:e.display.tz,resolvedTz:e.display.resolved_tz,offsetLabel:e.display.offset_label,offsetSeconds:e.display.offset_seconds,pinned:e.display.pinned??!1}:Bn}var Hn={capped:{label:`OVER`,cls:`over`,warn:!0,accent:`accent-red`,glyph:`⛔`},cap:{label:`WARN`,cls:`warn`,warn:!0,accent:`accent-amber`,glyph:`⚠`},ok:{label:`OK`,cls:`good`,warn:!1,accent:`accent-green`,glyph:`✓`}};function Un(e){return e==null?null:Hn[e]??null}var Wn=900,Gn=3600;function Kn(e){return e==null||e<=Wn?`fresh`:e<=Gn?`aging`:`stale`}var qn=`button, a, input, select, textarea, [role="button"], [data-card-region-ignore]`;function Jn(e){let t=e;return!!(t&&typeof t.closest==`function`&&t.closest(qn))}function Yn(e){return t=>{Jn(t.target)||e()}}var Xn={unit:`cycle`,plural:`cycles`,column:`Cycle`,detail:`Cycle`,relativePrefix:`C`};function Zn(e){return Xn}function Qn(e,t){return`${e} ${e===1?t.unit:t.plural}`}function $n(e,t,n){return(t===0?`Now`:`${n.relativePrefix}\u2212${t}`)+(e?` \u00b7 ${e}`:``)}var er=[`#5b8def`,`#e0913b`,`#3fa66a`,`#b569d6`,`#d15b7f`,`#3fb6b0`];function tr(e,t){if(e==null)return null;let n=Date.parse(e);if(Number.isNaN(n))return null;let r=Math.max(0,Math.round((n-t)/1e3));return r===0?`resets now`:`resets in ${Jt(r)}`}function nr(e){return e==null?`—`:`${Math.round(e)}%`}function rr({card:e,color:t,focused:n}){let r=e.unattributed===!0,i=Date.now(),a=r?null:tr(e.resetsAt,i);return(0,W.jsxs)(`div`,{className:`account-hero-card${r?` is-dimmed`:``}${n?` is-focused`:``}`,"data-testid":`account-hero-card`,"data-account":e.accountKey,style:{"--account-color":t},children:[(0,W.jsxs)(`div`,{className:`account-hero-card-head`,children:[(0,W.jsx)(`span`,{className:`account-hero-card-label`,children:e.label}),e.plan!=null&&(0,W.jsx)(`span`,{className:`account-hero-card-plan`,children:e.plan}),e.cycleFreshness===`stale`&&(0,W.jsx)(`span`,{className:`chip chip-stale account-hero-card-freshness`,"data-testid":`account-cycle-stale`,title:`Quota evidence for ${e.label} is stale`,"aria-label":`Quota evidence for ${e.label} is stale`,children:`stale`}),e.active&&(0,W.jsx)(`span`,{className:`account-hero-card-active`,title:`Active account`,children:`●`})]}),!r&&(0,W.jsxs)(`div`,{className:`account-hero-card-bars`,children:[(0,W.jsxs)(`div`,{className:`account-hero-bar`,"data-metric":`weekly`,children:[(0,W.jsx)(`span`,{className:`account-hero-bar-label`,children:`Weekly`}),(0,W.jsx)(`div`,{className:`account-hero-bar-track`,children:(0,W.jsx)(`div`,{className:`account-hero-bar-fill`,style:{width:`${Math.min(100,e.weeklyPercent??0)}%`}})}),(0,W.jsx)(`span`,{className:`account-hero-bar-value`,children:nr(e.weeklyPercent)})]}),(0,W.jsxs)(`div`,{className:`account-hero-bar`,"data-metric":`five-hour`,children:[(0,W.jsx)(`span`,{className:`account-hero-bar-label`,children:`5h`}),(0,W.jsx)(`div`,{className:`account-hero-bar-track`,children:(0,W.jsx)(`div`,{className:`account-hero-bar-fill`,style:{width:`${Math.min(100,e.fiveHourPercent??0)}%`}})}),(0,W.jsx)(`span`,{className:`account-hero-bar-value`,children:nr(e.fiveHourPercent)})]})]}),(0,W.jsxs)(`div`,{className:`account-hero-card-foot`,children:[(0,W.jsxs)(`span`,{className:`account-hero-card-spend`,children:[`$`,e.spendUsd.toFixed(2)]}),a!=null&&(0,W.jsx)(`span`,{className:`account-hero-card-reset`,children:a}),e.spendWindow!=null&&(0,W.jsx)(`span`,{className:`account-hero-card-window`,"data-testid":`account-card-window`,children:Ce(e.spendWindow)}),r&&(0,W.jsx)(`span`,{className:`account-hero-card-note`,children:`totals only`})]})]})}function ir(){let e=We(),t=Nn(),n=(0,U.useSyncExternalStore)(F,()=>R().activeSource),r=(0,U.useSyncExternalStore)(F,()=>R().accountFocus),i=(0,U.useRef)(null),[a,o]=(0,U.useState)(!1),s=n===`all`,c=(s?[`claude`,`codex`]:[n]).flatMap(t=>{let n=v(e?.sources?.[t]??null);return n==null?[]:[{source:t,accounts:n}]});if((0,U.useEffect)(()=>{let e=i.current;if(e==null)return;let t=()=>{let t=e.scrollWidth-e.clientWidth;o(t>1&&e.scrollLeft<t-1)};t(),e.addEventListener(`scroll`,t,{passive:!0}),window.addEventListener(`resize`,t);let n=typeof ResizeObserver>`u`?null:new ResizeObserver(t);return n?.observe(e),()=>{e.removeEventListener(`scroll`,t),window.removeEventListener(`resize`,t),n?.disconnect()}},[n,s,c.flatMap(t=>{let i=u(e,n,t.source,r);return(s||i==null?t.accounts:t.accounts.filter(e=>e.accountKey===i)).map(e=>`${t.source}:${e.accountKey}`)}).join(`|`)]),c.length===0)return null;let l=c[0].source,d=!s&&t.isEmpty&&t.card!=null?`No ${l===`codex`?`Codex`:`Claude`} activity recorded for ${t.card.label}.`:null;return(0,W.jsxs)(`div`,{ref:i,className:`account-hero-cards`,"data-testid":`account-hero-cards`,"data-scroll-cue":a?`visible`:`hidden`,children:[c.map(t=>{let i=u(e,n,t.source,r),a=s||i==null?t.accounts:t.accounts.filter(e=>e.accountKey===i);return(0,W.jsxs)(`div`,{className:`account-hero-provider-group`,"data-source":t.source,children:[s&&(0,W.jsxs)(`p`,{className:`account-hero-caption`,"data-testid":`account-hero-caption`,children:[t.source===`claude`?`Claude`:`Codex`,` accounts — each has its own quota cycle.`]}),(0,W.jsx)(`div`,{className:`account-hero-card-row`,children:a.map(e=>{let n=t.accounts.findIndex(t=>t.accountKey===e.accountKey);return(0,W.jsx)(rr,{card:e,color:er[(n<0?0:n)%er.length],focused:i===e.accountKey},e.accountKey)})})]},t.source)}),d!=null&&(0,W.jsx)(`p`,{className:`account-hero-empty`,"data-testid":`account-hero-empty`,role:`status`,children:d}),(0,W.jsx)(`span`,{className:`account-hero-scroll-cue`,"data-testid":`account-hero-scroll-cue`,"aria-hidden":!a,children:`Swipe for more →`})]})}var ar=`Codex quota evidence is stale — this spend is current, but the forecast is paused until Codex reports again.`,or=`The quota projection is reconciling. This is the last figure that was coherent.`,sr=`current-week-hero-trigger`,cr=`last coherent figure`,lr=`Spent this week`;function ur(e){let t=e?.find(e=>e.spendWindow!=null)?.spendWindow;return t==null?null:`Includes accounts with no live cycle, counted over the ${Ce(t)}.`}function dr(e){let t=e?.find(e=>e.spendWindow!=null)?.spendWindow;return t==null?null:`Incl. no-cycle accounts · ${Ce(t)}`}function fr(e){if(!e||e.files<=0)return null;let t=e.files===1?`session`:`sessions`;return`Codex history is still loading (${e.files} ${t} left) — totals will rise as it finishes.`}function pr(e){if(!e||e.files<=0)return null;let t=e.files===1?`session`:`sessions`;return`+${e.files} ${t} still loading`}function mr(e){return!e||e.files<=0?null:`+${e.files} more`}function hr(...e){let t=e.filter(e=>!!e);return t.length?t.join(` `):null}var gr={all:`Combined usage summary`,claude:`Claude cycle usage summary`,codex:`Codex cycle usage summary`};function _r({amount:e,dimWhenBlank:t=!1}){let n=B.usd0(e);return(0,W.jsx)(`div`,{className:e==null&&t?`hs-big is-blank`:`hs-big`,style:{"--hs-chars":n.length},children:n})}function vr(){return(0,W.jsx)(`div`,{className:`hs-big is-blank hs-pending`,"data-testid":`hero-spend-pending`,style:{"--hs-chars":7},title:`No coherent reading yet. The figure appears once the quota projection resolves.`,children:`Pending`})}function yr(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=e?.header,r=(e?.current_week??null)?.freshness??null,i=Un(n?.forecast_verdict??null),a=Kn(r?.age_seconds),o=Vn(),s={tz:o.resolvedTz,offsetLabel:o.offsetLabel},c=(0,U.useRef)(null),l=zn();(0,U.useEffect)(()=>{if(!l)return;let e=c.current;if(!e||typeof IntersectionObserver>`u`)return;let t=new IntersectionObserver(e=>{let t=e[0];t&&I({type:`SET_HERO_SCROLLED`,scrolled:!t.isIntersecting})},{threshold:0,rootMargin:`-64px 0px 0px 0px`});return t.observe(e),()=>{t.disconnect(),I({type:`SET_HERO_SCROLLED`,scrolled:!1})}},[l]);let u=()=>I({type:`OPEN_MODAL`,kind:`current-week`}),d=(0,W.jsx)(br,{source:t,env:e,ctx:s,verdict:i,heroLabel:a});return(0,W.jsxs)(`section`,{ref:c,id:sr,className:`hero-strip`,role:`region`,tabIndex:0,"aria-label":gr[t],"data-hero-strip":``,"data-source":t,onClick:Yn(u),onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},children:[(0,W.jsx)(`h2`,{className:`sr-only`,children:gr[t]}),d,(0,W.jsx)(ir,{})]})}function br({source:e,env:t,ctx:n,verdict:r,heroLabel:i}){let a=t?.header,o=t?.current_week??null,s=Nn(e,`claude`),c=Nn(e,`codex`),l=Sr(t);if(e===`claude`){let e=C(t,`claude`).entry,c=v(e),u=s.requestedKey==null?null:c?.find(e=>e.accountKey===s.requestedKey)??null,d=c!=null&&u==null,f=c?.every(e=>e.spendWindow!=null)??!1,p=Cr(u?.resetsAt,l),m=c?.reduce((e,t)=>e+t.spendUsd,0)??null;return(0,W.jsx)(Or,{weekLabel:c==null?a?.week_label:null,usedPct:u==null?d?null:a?.used_pct:u.weeklyPercent,fiveHourPct:u==null?d?null:a?.five_hour_pct:u.fiveHourPercent,resetInSec:u==null?d?null:o?.reset_in_sec:p,spentUsd:u==null?d?m:o?.spent_usd:u.spendUsd,dollarPerPct:c==null?a?.dollar_per_pct:null,forecastPct:c==null?a?.forecast_pct:null,vsLastWeekDelta:c==null&&a?.dollar_per_pct!=null?a?.vs_last_week_delta:null,freshness:c==null?o?.freshness??null:null,ctx:n,verdict:c==null?r:null,heroLabel:i,period:`cycle`,spentLabel:d?f?`SPENT · ACCOUNT CYCLES`:`SPENT · ACCOUNT TOTAL`:u==null?void 0:u.spendWindow==null?`SPENT · ACCOUNT`:`SPENT · ACCOUNT CYCLE`,spentLabelSpoken:d?f?`Spent across latest account cycles`:`Sum of available account costs`:u==null?void 0:u.spendWindow==null?`Spent for selected account`:`Spent over latest account cycle`,showFiveHour:!d&&(u?.fiveHourPercent!=null||c==null),perAccountNote:d?`per account`:null,withheldUsedPct:u!=null&&u.weeklyPercent==null})}let u=C(t,`codex`).entry,d=u?.data,f=d?.hero.cycle,p=v(u)!=null,m=e===`codex`&&c.scopesSupported&&c.accountKey==null||e===`all`&&p&&c.accountKey==null?null:c.accountKey==null?d?.quota??null:c.scope?.quota??null,h=d?.hero&&m?te(d.hero,m):[],g=[...h].sort((e,t)=>{let n=e.current.resets_at===f?.resets_at;if(n!==(t.current.resets_at===f?.resets_at))return n?-1:1;let r=e.windowMinutes===10080;return r===(t.windowMinutes===10080)?t.current.current_percent-e.current.current_percent||Date.parse(t.current.captured_at)-Date.parse(e.current.captured_at):r?-1:1})[0],_=h.find(e=>e.windowMinutes===300),y=d?.hero?.update_state??null,b=y===`updating`,x=y===`pending`,S=d?.hero?.cost_usd==null,w=d?.hero?.cycle_freshness===`stale`,T=fr(d?.ingest_backlog),ee=pr(d?.ingest_backlog),E=mr(d?.ingest_backlog),D=dn(u?.warnings,`hero`),O=m?.histories.find(e=>e.key===g?.key)?.forecast,k=Cr(g?.current.resets_at,l),A=g?Date.parse(g.current.captured_at):NaN,j=Number.isFinite(A)?Math.max(0,(Date.now()-A)/1e3):null,M=Kn(j),ne=g?.current.current_percent??null,re=d?.hero.cost_usd??null,ie=re!=null&&ne!=null&&ne>0?re/ne:null,N=d?.hero.cycle?.start_at?Date.parse(d.hero.cycle.start_at):NaN,ae=d?.periods.weekly.rows.filter(e=>{let t=e.end_at?Date.parse(e.end_at):NaN;return e.dollar_per_pct!=null&&Number.isFinite(N)&&Number.isFinite(t)&&t<=N}).sort((e,t)=>Date.parse(t.end_at??``)-Date.parse(e.end_at??``))[0]?.dollar_per_pct??null,P=ie!=null&&ae!=null?ie-ae:null,oe=O?.status===`ok`?O.projected_percent:null,F=oe==null?null:Un(oe>=100?`capped`:oe>=90?`cap`:`ok`),se=g&&j!=null?{...g.current,label:M,age_seconds:j}:null,I=f?B.dateShort(f.start_at,n):null,ce=f?B.dateShort(f.resets_at,n):null,L=I&&ce?`${I}–${ce}`:I??ce;if(e===`codex`){let e=c.scopesSupported&&c.accountKey==null,t=e?ur(v(u)):null,r=e?dr(v(u)):null,i=e?null:c.card?.spendWindow??null;return(0,W.jsx)(Or,{weekLabel:e?null:L,usedPct:e?null:ne,fiveHourPct:e?null:_?.current.current_percent,resetInSec:e?null:k,spentUsd:re,dollarPerPct:e?null:ie,forecastPct:e?null:oe,vsLastWeekDelta:e?null:P,freshness:e?null:se,ctx:n,verdict:e?null:F,heroLabel:M,showFiveHour:!e&&_!=null,unavailableReason:!e&&S?D?.message??`Cycle accounting unavailable`:null,spendState:x?`pending`:b?`updating`:null,spentNote:hr(b?or:null,e||!w?null:ar,t,T),spentNoteLabel:hr(b?cr:null,t,ee),spentNoteCompactLabel:r==null&&E==null?null:hr(b?cr:null,r??t,E??ee),spentLabel:i==null?void 0:`SPENT · ${Ce(i).toUpperCase()}`,spentLabelSpoken:i==null?void 0:`Spent over the ${Ce(i)}`,perAccountNote:e?`per account`:null})}let le=C(t,`all`).entry,R=hn(le??null),ue=R.value!=null,z=ue?null:R.unavailable,de=R.legs?.claude??null,fe=R.legs?.codex??null,pe=de?.scope===`account_cycles`||fe?.scope===`account_cycles`,me=ue?pe?`COMBINED · ACCOUNT CYCLES`:_n(R.contributors):`COMBINED · CURRENT CYCLES`,he=ue&&R.contributors.length>0?R.value:null,ge=p&&c.accountKey==null,V=c.accountKey==null?null:c.card?.spendUsd??null,_e=C(t,`claude`).entry,ve=v(_e),ye=s.requestedKey==null?null:ve?.find(e=>e.accountKey===s.requestedKey)??null,be=ve!=null&&ye==null,xe=ye?.spendUsd??null,Se=ye==null?be?null:a?.used_pct??null:ye.weeklyPercent,we=ve!=null&&Se==null,Te=ye==null?de?.state===`current`?wr(de.period,l):o?.reset_in_sec??null:Cr(ye.resetsAt,l),Ee=c.accountKey==null&&fe?.state===`current`?wr(fe.period,l):k;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`hero-zone hero-usage`,"data-testid":`shared-hero-usage`,children:[(0,W.jsxs)(`div`,{className:`hu-block`,"data-provider-block":`claude`,children:[(0,W.jsxs)(`div`,{className:`hu-label`,children:[`CLAUDE · WEEK`,be?(0,W.jsx)(`span`,{className:`hu-week`,children:` · per account`}):null]}),(0,W.jsx)(`div`,{className:we?`hu-num is-blank`:`hu-num`,children:B.pct1(Se)}),(0,W.jsx)(Tr,{provider:`claude`,perAccount:be,resetInSec:Te})]}),(0,W.jsxs)(`div`,{className:`hu-block`,"data-provider-block":`codex`,children:[(0,W.jsxs)(`div`,{className:`hu-label`,children:[`CODEX · 7-DAY CYCLE`,ge?(0,W.jsx)(`span`,{className:`hu-week`,children:` · per account`}):null]}),(0,W.jsx)(`div`,{className:ge?`hu-num is-blank`:`hu-num`,children:ge?`—`:B.pct1(g?.current.current_percent)}),(0,W.jsx)(Tr,{provider:`codex`,perAccount:ge,resetInSec:Ee})]})]}),(0,W.jsxs)(`div`,{className:`hero-zone hero-spent`,"data-testid":`shared-hero-spent`,title:z?.message,children:[(0,W.jsx)(`div`,{className:`hs-label`,"data-testid":`hero-combined-heading`,children:me}),(0,W.jsx)(_r,{amount:he?.costUsd,dimWhenBlank:!0}),(0,W.jsx)(`div`,{className:`hs-sub`,children:z==null?he==null?ue?(0,W.jsx)(`span`,{"data-testid":`hero-combined-no-data`,children:`no accounting in either current cycle`}):null:he.totalTokens==null?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{children:B.tokens(he.totalTokens)}),` total tokens`]}):(0,W.jsx)(`span`,{className:`panel-degraded-chip`,"data-testid":`shared-hero-warning`,title:z.message,"aria-label":`Combined total withheld: ${z.message}`,children:`Combined withheld`})}),z==null?null:(0,W.jsx)(`div`,{className:`hs-sub hero-combined-reason`,"data-testid":`hero-combined-reason`,children:z.message}),R.qualifications.length>0?(0,W.jsx)(`div`,{className:`hs-sub hero-combined-qualifications`,children:R.qualifications.map(e=>(0,W.jsx)(`span`,{className:`chip hero-combined-qualification`,"data-testid":`hero-combined-qualification`,"data-code":e.code,title:e.message,"aria-label":e.message,children:Dr(e)},e.code+(e.provider??``)))}):null]}),(0,W.jsxs)(`div`,{className:`hero-zone hero-support`,"data-testid":`shared-hero-support`,children:[(0,W.jsxs)(`div`,{className:`sup-row`,children:[(0,W.jsxs)(`span`,{className:`sup-l`,children:[`Claude · `,de?.scope===`account_cycles`?`account cycles`:`week to date`]}),(0,W.jsx)(`span`,{className:`sup-v`,"data-testid":`hero-leg-claude`,children:(0,W.jsx)(Er,{leg:de,perAccount:be,provider:`claude`,focusedCostUsd:xe})})]}),(0,W.jsxs)(`div`,{className:`sup-row`,children:[(0,W.jsxs)(`span`,{className:`sup-l`,children:[`Codex · `,fe?.scope===`account_cycles`?`account cycles`:`cycle to date`]}),(0,W.jsx)(`span`,{className:`sup-v`,"data-testid":`hero-leg-codex`,children:(0,W.jsx)(Er,{leg:fe,perAccount:ge,provider:`codex`,focusedCostUsd:V})})]})]})]})}var xr={claude:`Claude`,codex:`Codex`};function Sr(e){let t=Date.parse(e?.generated_at??``);return Number.isFinite(t)?t:Date.now()}function Cr(e,t){if(e==null)return null;let n=Date.parse(e);return Number.isFinite(n)?Math.max(0,(n-t)/1e3):null}function wr(e,t){if(e==null)return null;let n=Cr(e.end_at,t);return n!=null&&n>0?n:null}function Tr({provider:e,perAccount:t,resetInSec:n}){let r=xr[e];return t?(0,W.jsxs)(`div`,{className:`hu-reset hu-reset--per-account`,"data-testid":`hero-${e}-reset`,title:`Each ${r} account has its own quota cycle — independent resets are never blended.`,children:[r,` reset `,(0,W.jsx)(`span`,{children:`per account`})]}):n==null?null:(0,W.jsxs)(`div`,{className:`hu-reset`,"data-testid":`hero-${e}-reset`,children:[r,` resets in `,(0,W.jsx)(`span`,{children:B.ddhh(n)})]})}function Er({leg:e,perAccount:t,provider:n,focusedCostUsd:r=null}){if(r!=null)return(0,W.jsx)(W.Fragment,{children:B.usd2(r)});if(e?.scope===`account_cycles`){let t=e.accounts?.length??0;return(0,W.jsxs)(W.Fragment,{children:[B.usd2(e.cost_usd),` · `,t,` `,t===1?`account`:`accounts`]})}return t?(0,W.jsx)(`span`,{className:`hero-per-account-value`,"data-testid":`hero-per-account-value`,title:`Each ${xr[n]} account has its own cycle — independent spend is shown per account below.`,children:`per account`}):e==null||e.state===`empty`?(0,W.jsx)(`span`,{className:`hero-leg-no-data`,children:`no data`}):(0,W.jsx)(W.Fragment,{children:B.usd2(e.cost_usd)})}function Dr(e){return e.code===`codex_ingest_backlog`?`Codex still loading`:e.code===`provider_empty`?`${e.provider?xr[e.provider]:`A provider`} no data`:`Qualified`}function Or({weekLabel:e,usedPct:t,fiveHourPct:n,resetInSec:r,spentUsd:i,dollarPerPct:a,forecastPct:o,vsLastWeekDelta:s,ctx:c,verdict:l,heroLabel:u,freshness:d,showFiveHour:f,unavailableReason:p=null,spendState:m=null,spentNote:h=null,spentNoteLabel:g=null,spentNoteCompactLabel:_=null,period:v=`week`,spentLabel:y,spentLabelSpoken:b,perAccountNote:x=null,withheldUsedPct:S=!1}){let C=v===`cycle`?Zn(`claude`).unit:`week`,w=C.toUpperCase(),T=v===`cycle`?`comparable cycle`:`last week`,ee=y??`SPENT THIS ${w}`,E=b??(v===`cycle`?`Spent this ${C}`:lr),D=`$/1% vs ${T}`,O=v===`cycle`?`versus nearest comparable cycle`:`versus ${T}`,k=x==null?null:(0,W.jsx)(`span`,{className:`hero-per-account-value`,"data-testid":`hero-per-account-value`,title:`Each account has its own quota cycle — independent percentages are never blended.`,children:x});return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`hero-zone hero-usage`,children:[(0,W.jsxs)(`div`,{className:`hu-block`,children:[(0,W.jsxs)(`div`,{className:`hu-label`,children:[w,` USAGE`,e?(0,W.jsxs)(`span`,{className:`hu-week`,children:[` · `,e]}):null]}),(0,W.jsx)(`div`,{className:`hu-num${t==null&&(x!=null||S)?` is-blank`:``}`,children:B.pct1(t)})]}),f&&(0,W.jsxs)(`div`,{className:`hu-block`,"data-testid":`hero-five-hour`,children:[(0,W.jsx)(`div`,{className:`hu-label`,children:`5-HOUR`}),(0,W.jsx)(`div`,{className:`hu-num hu-num--sm`,children:B.pct0(n)})]}),x==null?(0,W.jsxs)(`div`,{className:`hu-reset`,children:[`resets in `,(0,W.jsx)(`span`,{children:B.ddhh(r)})]}):(0,W.jsxs)(`div`,{className:`hu-reset hu-reset--per-account`,"data-testid":`hero-per-account-note`,title:`Each account has its own quota cycle — independent percentages are never blended.`,children:[`usage + reset `,(0,W.jsx)(`span`,{children:x})]})]}),(0,W.jsxs)(`div`,{className:`hero-zone hero-spent`,title:p??h??void 0,role:`group`,"aria-label":(()=>{let e=p??h;return e?`${E}. ${e}`:E===lr?void 0:E})(),children:[(0,W.jsx)(`div`,{className:`hs-label`,children:ee}),m===`pending`?(0,W.jsx)(vr,{}):(0,W.jsx)(_r,{amount:i}),m===`updating`&&(0,W.jsx)(`div`,{className:`chip chip-aging hs-updating`,"data-testid":`hero-spend-updating`,title:`The quota projection is reconciling. This is the last figure that was coherent.`,children:`updating`}),(0,W.jsx)(`div`,{className:`hs-sub`,children:k==null?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{children:B.usd2(a)}),` / 1% used`]}):(0,W.jsxs)(W.Fragment,{children:[`$ / 1% used `,k]})}),p==null&&g!=null?(0,W.jsxs)(`div`,{className:`hs-sub`,"data-testid":`hero-spent-note`,"aria-hidden":`true`,children:[(0,W.jsx)(`span`,{className:_==null?`hero-spent-note-text`:`hero-spent-note-text hero-ingest-backlog-label-full`,children:g}),_==null?null:(0,W.jsx)(`span`,{className:`hero-ingest-backlog-label-compact`,children:_})]}):null]}),(0,W.jsxs)(`div`,{className:`hero-zone hero-support`,children:[(0,W.jsxs)(`div`,{className:`sup-row`,children:[(0,W.jsx)(`span`,{className:`sup-l`,children:`Forecast @ reset`}),(0,W.jsx)(`span`,{className:`sup-v${l?` is-${l.cls}`:``}`,children:k??B.pct0(o)})]}),(()=>{let e=s;if(e==null)return(0,W.jsxs)(`div`,{className:`sup-row`,"data-metric":`vs-last-week`,children:[(0,W.jsx)(`span`,{className:`sup-l`,children:D}),(0,W.jsx)(`span`,{className:`sup-v`,children:k??`—`})]});let t=Math.abs(e)<.02,n=e<0,r=t?`minus`:n?`trending-down`:`trending-up`,i=t?`var(--text-dim)`:n?`var(--accent-green)`:`var(--accent-red)`,a=t?`flat`:n?`down`:`up`,o=B.usd2(Math.abs(e));return(0,W.jsxs)(`div`,{className:`sup-row`,"data-metric":`vs-last-week`,"aria-label":t?`$/1% flat ${O}`:`$/1% ${a} ${o} ${O}`,children:[(0,W.jsx)(`span`,{className:`sup-l`,children:D}),(0,W.jsxs)(`span`,{className:`sup-v`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,style:{color:i},children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${r}`})}),(0,W.jsx)(`span`,{children:t?`flat`:o})]})]})})(),d&&(0,W.jsxs)(`div`,{className:`sup-row`,children:[(0,W.jsx)(`span`,{className:`sup-l`,children:`Snapshot`}),(0,W.jsxs)(`span`,{className:`sup-v sup-fresh chip-${u}`,"data-freshness":u,title:`Captured ${B.datetimeShort(d.captured_at,c)}`+(u===`stale`?` · stale`:``),children:[u===`stale`?`⚠ stale · `:``,Yt(d.age_seconds)]})]})]})]})}function kr(){let e=(R().snapshot?.sessions?.rows??[])[0]?.session_id;e&&I({type:`OPEN_MODAL`,kind:`session`,sessionId:e})}function Ar(){let e=R().snapshot?.blocks?.rows??[];e.length!==0&&I({type:`OPEN_MODAL`,kind:`block`,blockStartAt:(e.find(e=>e.is_active)??e[0]).start_at})}function jr(e){let{searchMatches:t,searchIndex:n}=R();if(t.length===0)return;let r=t.length;I({type:`SET_SEARCH_MATCHES`,matches:t,index:((n<0?0:n)+e+r)%r})}var Mr=`Can't close this tab — use your browser to close it.`;function Nr(){try{window.close()}catch{}window.setTimeout(()=>{window.closed||I({type:`SHOW_STATUS_TOAST`,text:Mr})},100)}function Pr(){return(0,W.jsxs)(`footer`,{className:`footer`,children:[(0,W.jsxs)(`span`,{className:`kb`,children:[(0,W.jsx)(`kbd`,{children:`↑/↓`}),` scroll`]}),(0,W.jsxs)(`span`,{className:`kb`,children:[(0,W.jsx)(`kbd`,{className:`accent-green`,children:`tab`}),` next panel`]}),(0,W.jsxs)(`button`,{className:`kb-btn`,id:`footer-r`,type:`button`,onClick:()=>Dn(),children:[(0,W.jsx)(`kbd`,{className:`accent-purple`,children:`r`}),` refresh`]}),(0,W.jsxs)(`button`,{className:`kb-btn`,id:`footer-s`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`s`})),children:[(0,W.jsx)(`kbd`,{children:`s`}),` settings`]}),(0,W.jsxs)(`button`,{className:`kb-btn`,id:`footer-help`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`?`})),children:[(0,W.jsx)(`kbd`,{className:`accent-amber`,children:`?`}),` help`]}),(0,W.jsxs)(`button`,{className:`kb-btn`,id:`footer-q`,type:`button`,onClick:()=>Nr(),children:[(0,W.jsx)(`kbd`,{children:`q`}),` quit`]})]})}var Fr=[],Ir=null,Lr=0;typeof document<`u`&&document.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-panel-kind]`);Ir={trigger:t.closest(`button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), summary, [role="button"][tabindex]:not([tabindex="-1"])`)??n?.querySelector(`.panel-expand:not([disabled])`)??t.closest(`[data-hero-strip][tabindex]`)??null,panelKind:n?.getAttribute(`data-panel-kind`)??null};let r=++Lr;setTimeout(()=>{r===Lr&&(Ir=null)},0)},!0);function Rr(e){return e?Array.from(document.querySelectorAll(`[data-panel-kind]`)).find(t=>t.getAttribute(`data-panel-kind`)===e)?.querySelector(`.panel-expand:not([disabled])`)??null:null}function zr(e){return!!e&&document.contains(e)&&!e.hasAttribute(`disabled`)&&!Vr(e)}var Br=[`a[href]`,`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`summary`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function Vr(e){if(e.hasAttribute(`hidden`)||e.getAttribute(`aria-hidden`)===`true`||e.closest(`[hidden],[aria-hidden="true"],[inert]`))return!0;let t=typeof window<`u`&&typeof window.getComputedStyle==`function`?window.getComputedStyle(e):null;return!!(t&&(t.display===`none`||t.visibility===`hidden`))}function Hr(e){return Array.from(e.querySelectorAll(Br)).filter(e=>!e.hasAttribute(`disabled`)&&!Vr(e))}function Ur(e,{active:t,trapEnabled:n=!0,triggerId:r,initialFocus:i=`first`}){let a=(0,U.useRef)({});(0,U.useEffect)(()=>{if(!t)return;let n=Ir;Ir=null;let a=(r?document.getElementById(r):null)??n?.trigger??document.activeElement,o=a?.id||null,s=n?.panelKind??a?.closest(`[data-panel-kind]`)?.getAttribute(`data-panel-kind`)??null,c=e.current;return c&&(i===`container`?c.focus():i===`heading`?(c.querySelector(`[data-modal-heading], #modal-title, h2`)??Hr(c)[0]??c).focus():(Hr(c)[0]??c).focus()),()=>{let e=[r?document.getElementById(r):null,a,o?document.getElementById(o):null,Rr(s)].find(zr);if(e)e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[t,r,i]),(0,U.useEffect)(()=>{if(!t||!n)return;let e={token:a.current};return Fr.push(e),()=>{let t=Fr.indexOf(e);t!==-1&&Fr.splice(t,1)}},[t,n,e]),(0,U.useEffect)(()=>{if(!t||!n)return;function r(t){if(t.key!==`Tab`)return;let n=e.current;if(!n||Fr[Fr.length-1]?.token!==a.current)return;let r=Hr(n);if(r.length===0){t.preventDefault(),n.focus();return}let i=r[0],o=r[r.length-1],s=document.activeElement;if(!s||!n.contains(s)){t.preventDefault(),(t.shiftKey?o:i).focus();return}(s?r.indexOf(s):-1)===-1?(t.preventDefault(),(t.shiftKey?o:i).focus()):t.shiftKey&&s===i?(t.preventDefault(),o.focus()):!t.shiftKey&&s===o&&(t.preventDefault(),i.focus())}return document.addEventListener(`keydown`,r,!0),()=>document.removeEventListener(`keydown`,r,!0)},[t,n])}var Wr=0,Gr=``,Kr=``;function qr(e){(0,U.useEffect)(()=>{if(e){if(Wr===0){let e=document.documentElement;Gr=e.style.overflow,Kr=document.body.style.overflow,e.style.overflow=`hidden`,document.body.style.overflow=`hidden`}return Wr+=1,()=>{--Wr,Wr===0&&(document.documentElement.style.overflow=Gr,document.body.style.overflow=Kr)}}},[e])}function Jr(){return(0,W.jsx)(`span`,{className:`panel-grip`,"aria-hidden":`true`,"data-card-region-ignore":!0,children:`⋮⋮`})}var Yr={claude:new Set([`current-week`,`trend`,`weekly`,`daily`,`monthly`,`blocks`,`forecast`,`sessions`,`projects`]),codex:new Set([`current-week`,`trend`,`weekly`,`daily`,`monthly`,`blocks`,`forecast`,`sessions`,`projects`]),all:new Set([`current-week`,`trend`,`weekly`,`daily`,`monthly`,`blocks`,`forecast`,`sessions`,`projects`])};function Xr(e,t){return Yr[e].has(t)}var Zr={claude:`Claude`,codex:`Codex`,all:`All`};function Qr({panel:e,panelLabel:t,onClick:n,triggerId:r,dataTestId:i}){return Xr((0,U.useSyncExternalStore)(F,()=>R().activeSource),e)?(0,W.jsx)(`button`,{type:`button`,className:`share-icon`,"data-share-panel":e,"aria-label":`Share ${t} report`,onClick:e=>{e.stopPropagation(),n()},title:`Share (Shift+S)`,...r?{id:r}:{},...i?{"data-testid":i}:{},children:(0,W.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,children:[(0,W.jsx)(`path`,{d:`M3 7h6m0 0L6.5 4.5M9 7L6.5 9.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,W.jsx)(`rect`,{x:`0.75`,y:`0.75`,width:`12.5`,height:`12.5`,rx:`1.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]})}):null}function $r({label:e,onOpen:t,disabled:n=!1}){let r=e=>{e.stopPropagation(),!n&&t()},i=`${e}: nothing to open yet`;return(0,W.jsx)(`button`,{type:`button`,className:`panel-expand`,"aria-label":n?i:`Open ${e}`,title:n?i:`Expand`,onClick:r,disabled:n,children:(0,W.jsx)(`span`,{"aria-hidden":`true`,children:`⤢`})})}function ei(e){let t=e.trim();return t.replace(/^claude-/i,``).replace(/-\d{8}$/,``)||t}var ti=137.50776405003785,q=[.48,.56],ni=[.14,.18],ri=96,ii=`#f8fafc`,ai=`#090b10`;function oi(e){return e?.trim()?e.trim().toLowerCase().replace(/\[[^\]]+\]$/,``).replace(/-\d{8}$/,``):``}function si(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function ci(e){return Math.min(1,Math.max(0,e))}function li(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function ui(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function di(e){return Math.round(ci(e)*255).toString(16).padStart(2,`0`)}function fi(e,t,n){let r=n*Math.PI/180,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o**3,u=s**3,d=c**3,f=li(4.0767416621*l-3.3077115913*u+.2309699292*d),p=li(-1.2684380046*l+2.6097574011*u-.3413193965*d),m=li(-.0041960863*l-.7034186147*u+1.707614701*d);return`#${di(f)}${di(p)}${di(m)}`}function pi(e){if(!/^#[0-9a-f]{6}$/i.test(e))throw Error(`Expected a six-digit hex color, got ${e}`);return[1,3,5].map(t=>Number.parseInt(e.slice(t,t+2),16)/255)}function mi(e){let[t,n,r]=pi(e).map(ui),i=Math.cbrt(.4122214708*t+.5363325363*n+.0514459929*r),a=Math.cbrt(.2119034982*t+.6806995451*n+.1073969566*r),o=Math.cbrt(.0883024619*t+.2817188376*n+.6299787005*r);return{l:.2104542553*i+.793617785*a-.0040720468*o,a:1.9779984951*i-2.428592205*a+.4505937099*o,b:.0259040371*i+.7827717662*a-.808675766*o}}function hi(e,t){let n=mi(e),r=mi(t);return Math.hypot(n.l-r.l,n.a-r.a,n.b-r.b)}function gi(e){let[t,n,r]=pi(e).map(ui);return .2126*t+.7152*n+.0722*r}function _i(e,t){let n=gi(e),r=gi(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function vi(e){let t=si(e)%360,n=[],r=new Set;for(let e=0;e<ri;e+=1){let i=(t+e*ti)%360,a=q[e%q.length],o=ni[Math.floor(e/q.length)%ni.length],s=fi(a,o,i);r.has(s)||(r.add(s),n.push(s))}return n}function yi(e){return _i(e,ii)>=_i(e,ai)?ii:ai}function bi(){let e=new Map;return{styleFor(t){let n=oi(t);if(!n)return;let r=e.get(n);if(r)return r;let i=[...e.values()].map(e=>e.backgroundColor),a=vi(n),o=a[0],s=-1;if(i.length>0)for(let e of a){let t=Math.min(...i.map(t=>hi(e,t)));t>s&&(o=e,s=t)}let c={backgroundColor:o,color:yi(o)};return e.set(n,c),c}}}function xi(e){return e?e.includes(`opus`)?`opus`:e.includes(`sonnet`)?`sonnet`:e.includes(`haiku`)?`haiku`:e.includes(`fable`)?`fable`:`other`:`other`}var Si=bi();function Ci(e){return Si.styleFor(e)}function wi(e,t=2){let n=new Set,r=[];for(let t of e){let e=oi(t);if(!e||n.has(e))continue;n.add(e);let i=xi(t),a=ei(t).replace(/\[[^\]]+\]$/,``),o=a.length>12?`${a.slice(0,12)}…`:a;r.push({cls:i,label:o,full:a,model:t})}return{chips:r.slice(0,t),extra:Math.max(0,r.length-t)}}var Ti={weekly:12,monthly:8},Ei=30;function Di(e){return e===`claude`?`Claude`:`Codex`}function Oi(e,t){return e?.sources?.[t]??null}function ki(e,t,n,r,i,a){let o=Oi(e,t),s=o?.warnings.find(e=>e.domain==null||r.includes(e.domain)||e.domain===`ingest`||e.domain===`read_model`),c=r.find(e=>{let t=o?.capabilities[e]?.status;return t===`unavailable`||t===`deferred`}),l=o==null?void 0:i.find(e=>pn(o,e)===`stale`);if(n==null){let e=o?.availability===`empty`?`empty`:`unavailable`;return{source:t,label:Di(t),status:e,reason:s?.message??(c?o?.capabilities[c]?.semantics:null)??a,value:null}}return s!=null||l!=null||c!=null?{source:t,label:Di(t),status:`degraded`,reason:s?.message??(l==null?o?.capabilities[c]?.semantics??a:o?.domain_freshness==null?`${Di(t)} data is stale.`:`${Di(t)} ${l} data is stale.`),value:n}:{source:t,label:Di(t),status:`available`,reason:null,value:n}}function Ai(e){return e===`all`?[`claude`,`codex`]:[e]}var ji={state:`withheld`,code:`rows_absent`};function Mi(e){return e.provider==null?{state:`withheld`,code:e.code}:{state:`withheld`,code:e.code,provider:e.provider}}function Ni(e,t){let n=e?.sources?.all?.data?.aggregates,r=n?.[t];return n==null||r==null||typeof r.state!=`string`?{withheld:ji}:r.state===`withheld`?{withheld:Mi(r)}:{available:r.qualifications??[]}}function Pi(e){return e?.sources?.all?.data?.aggregates?.range??null}function Fi(e,t){if(t===`claude`)return{selection:t,claude:e?.sources?.claude?.data??null,codex:null,hydrating:e==null||!!e.hydrating,warnings:e?.sources?.claude?.warnings??[]};if(t===`codex`){let n=e?.sources?.codex;return{selection:t,claude:null,codex:n?.data??null,hydrating:e==null||n?.data==null&&n?.last_success_at==null&&(n?.warnings.length??0)===0,warnings:n?.warnings??[]}}let n=e?.sources?.all,r=n?.data??null;return{selection:t,claude:r?.providers?.claude??e?.sources?.claude?.data??null,codex:r?.providers?.codex??e?.sources?.codex?.data??null,hydrating:e==null||r==null&&n?.last_success_at==null&&(n?.warnings.length??0)===0,warnings:n?.warnings??[]}}function Ii(e,t){return e>0?[{model:t,display:t===`claude`?`Claude`:`Codex`,chip:t===`claude`?`opus`:`other`,cost_usd:e,cost_pct:100}]:[]}function Li(e,t,n=!1){return(t??[]).flatMap(t=>{let r=t.modelName?.trim(),i=t.cost;return!r||i==null||!Number.isFinite(i)?[]:[{model:r,display:n?r.replace(/^gpt-/i,``):r,chip:xi(r),cost_usd:i,cost_pct:e>0?i/e*100:0}]})}function Ri(e,t,n){let r=Li(e.cost_usd,e.model_breakdowns,!0),i=r.length>0?r:Ii(e.cost_usd,`codex`),a=[...new Set((e.account_keys??[]).flatMap(e=>{let t=n.get(e);return t==null?[]:[t]}))];return{source:`codex`,label:e.label,cost_usd:e.cost_usd,total_tokens:e.total_tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens+e.reasoning_output_tokens,cache_creation_tokens:0,cache_read_tokens:e.cached_input_tokens,used_pct:e.used_pct??null,dollar_per_pct:e.dollar_per_pct??null,delta_cost_pct:null,is_current:t===0,models:i,week_start_at:e.start_at,week_end_at:e.end_at,codex_tokens:{input_tokens:e.input_tokens,cached_input_tokens:e.cached_input_tokens,output_tokens:e.output_tokens,reasoning_output_tokens:e.reasoning_output_tokens,total_tokens:e.total_tokens},...a.length>0?{account_labels:a}:{}}}function zi(e,t,n){let r=Fi(e,t),i=new Map((r.codex?.accounts??[]).map(e=>[e.accountKey,e.label])),a=(t===`claude`?e?.[n]?.rows??[]:r.claude?.periods?.[n]?.rows??[]).map(e=>({...e,source:`claude`})),o=[...r.codex?.periods?.[n]?.rows??[]].sort((e,t)=>t.label.localeCompare(e.label)).map((e,t)=>Ri(e,t,i)).map((e,t,n)=>({...e,delta_cost_pct:n[t+1]?.cost_usd?(e.cost_usd-n[t+1].cost_usd)/n[t+1].cost_usd:null}));if(t===`all`){let e=Ti[n];return[...a.slice(0,e),...o.slice(0,e)]}return(t===`codex`?o:a).slice(0,Ti[n])}function Bi(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)?e:/^\d{2}-\d{2}$/.test(e)?`${new Date().getFullYear()}-${e}`:e}function J(e){let t=e.map(e=>e.cost_usd).filter(e=>e>0).sort((e,t)=>e-t);return e.map(e=>{let n=t.length===0||e.cost_usd<=0?0:Math.min(5,Math.max(1,Math.ceil((t.indexOf(e.cost_usd)+1)/t.length*5)));return{...e,intensity_bucket:n}})}function Y(e){let t=Bi(e.label),n=Li(e.cost_usd,e.model_breakdowns,!0);return{source:`codex`,date:t,label:/^\d{4}-\d{2}-\d{2}$/.test(t)?t.slice(5):e.label,cost_usd:e.cost_usd,is_today:!1,intensity_bucket:0,models:n.length>0?n:Ii(e.cost_usd,`codex`),input_tokens:e.input_tokens,output_tokens:e.output_tokens+e.reasoning_output_tokens,cache_creation_tokens:0,cache_read_tokens:e.cached_input_tokens,total_tokens:e.total_tokens,cache_hit_pct:e.input_tokens>0?e.cached_input_tokens/e.input_tokens*100:null,codex_tokens:{input_tokens:e.input_tokens,cached_input_tokens:e.cached_input_tokens,output_tokens:e.output_tokens,reasoning_output_tokens:e.reasoning_output_tokens,total_tokens:e.total_tokens}}}function Vi(e,t=e.source){return{source:t,date:e.date,label:e.label,cost_usd:0,is_today:e.is_today,intensity_bucket:0,models:[],input_tokens:0,output_tokens:0,cache_creation_tokens:0,cache_read_tokens:0,total_tokens:0,cache_hit_pct:null,codex_tokens:t===`codex`?{input_tokens:0,cached_input_tokens:0,output_tokens:0,reasoning_output_tokens:0,total_tokens:0}:void 0}}function Hi(e,t,n){if(t.length===0)return e;let r=new Map(e.map(e=>[e.date,e])),i=new Set(t.map(e=>e.date)),a=t.map(e=>{let t=r.get(e.date);return t==null?Vi(e,n):{...t,label:e.label,is_today:e.is_today}}),o=e.filter(e=>!i.has(e.date));return[...a,...o].sort((e,t)=>t.date.localeCompare(e.date))}function Ui(e,t){let n=Fi(e,t),r=[...n.codex?.periods?.daily?.rows??[]].sort((e,t)=>t.label.localeCompare(e.label)).map(Y);if(t===`claude`)return{state:`available`,range:null,qualifications:[],rows:(e?.daily?.rows??[]).slice(0,Ei)};if(t===`codex`)return{state:`available`,range:null,qualifications:[],rows:J(Hi(r,e?.daily?.rows??[],`codex`)).slice(0,Ei)};let i=Ni(e,`daily`);if(`withheld`in i)return i.withheld;let a=n.claude?.periods.daily_aggregate?.rows,o=n.codex?.periods?.daily?.rows;if(a==null||o==null)return ji;let s=a,c=new Map;for(let e of[...a,...r].filter(Wi)){let t=c.get(e.date);if(!t){c.set(e.date,{...e,models:[...e.models]});continue}let n=t.cost_usd+e.cost_usd;c.set(e.date,{...t,source:`all`,cost_usd:n,input_tokens:t.input_tokens+e.input_tokens,output_tokens:t.output_tokens+e.output_tokens,cache_creation_tokens:t.cache_creation_tokens+e.cache_creation_tokens,cache_read_tokens:t.cache_read_tokens+e.cache_read_tokens,total_tokens:t.total_tokens+e.total_tokens,cache_hit_pct:null,codex_tokens:void 0,models:[]})}let l=[...c.values()].sort((e,t)=>t.date.localeCompare(e.date));return{state:`available`,range:Pi(e),qualifications:i.available,rows:J(Hi(l,s)).slice(0,Ei)}}function Wi(e){return e.cost_usd!==0||e.total_tokens!==0||e.models.length!==0}function Gi(e,t){if(t==null||t===``)return{claude:null,codex:null};let n=Fi(e,`all`),r=(n.claude?.periods.daily_aggregate?.rows??[]).find(e=>e.date===t)??null,i=(n.codex?.periods.daily.rows??[]).map(Y).find(e=>e.date===t)??null;return{claude:r!=null&&Wi(r)?{...r,source:`claude`}:null,codex:i!=null&&Wi(i)?i:null}}function Ki(e,t){let n=e.slice().reverse();return n.map((e,r)=>({source:t,label:e.label,used_pct:e.used_pct,dollar_per_pct:e.dollar_per_pct,delta:e.dollar_per_pct!=null&&n[r-1]?.dollar_per_pct!=null?e.dollar_per_pct-n[r-1].dollar_per_pct:null,is_current:e.is_current,cost_usd:e.cost_usd,...e.account_labels?{account_labels:e.account_labels}:{}}))}function qi(e,t,n){return{source:e,label:Di(e),rows:t.map(t=>({...t,source:e})),historyRows:n.map(t=>({...t,source:e}))}}function Ji(e,t){if(t===`claude`){let n=e?.trend?.weeks??[];return{rows:n,sections:[qi(`claude`,n,e?.trend?.history??n)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}if(t===`all`){let n=e?.trend?.weeks??Ki(zi(e,`claude`,`weekly`),`claude`),r=e?.trend?.history??n,i=Ki(zi(e,`codex`,`weekly`),`codex`);return{rows:[],sections:[qi(`claude`,n,r),qi(`codex`,i,i)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}let n=Ki(zi(e,`codex`,`weekly`),`codex`);return{rows:n,sections:[qi(`codex`,n,n)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}function Yi(e){return new Set((e?.summary.active??[]).map(e=>e.key))}function Xi(e,t){if(t===`claude`){let t=e?.forecast??e?.sources?.claude?.data?.hero.forecast??null;return{projected:t?.week_avg_projection_pct??null,recent:t?.recent_24h_projection_pct??null,primaryLabel:`Projected @ reset`,recentLabel:`Recent-24h`,foot:[{label:`Budget ≤100%`,value:t?.budget_100_per_day_usd==null?`—`:`$${t.budget_100_per_day_usd.toFixed(2)}/day`},{label:`Budget ≤90%`,value:t?.budget_90_per_day_usd==null?`—`:`$${t.budget_90_per_day_usd.toFixed(2)}/day`}],verdict:t?.verdict??null}}let n=Fi(e,t).codex,r=(n?.quota.histories??[]).filter(e=>!e.model_scoped),i=r.find(e=>e.window_minutes===10080)??r[0],a=i?.forecast,o=i!=null&&Yi(n?.quota).has(i.key),s=o&&a?.status===`ok`?a.projected_percent:null;return{projected:s,recent:o?a?.current_percent??null:null,primaryLabel:`Projected @ reset`,recentLabel:i?.label??`Current quota`,foot:[{label:`Confidence`,value:o&&a?.confidence||`unavailable`}],verdict:s==null?null:s>=100?`capped`:s>=90?`cap`:`ok`}}function Zi(e){let t=e?.sources?.codex?.data??null,n=t?.accounts;if(n==null||n.length===0)return null;let r=(t?.quota.histories??[]).filter(e=>!e.model_scoped),i=t?.account_scopes;return n.map(e=>{let t=r.filter(t=>t.account_key===e.accountKey),n=t.find(e=>e.window_minutes===10080)??t[0],a=n?.forecast,o=n!=null&&Yi(i?.[e.accountKey]?.quota).has(n.key),s=o&&a?.status===`ok`?a.projected_percent:null;return{accountKey:e.accountKey,label:e.label,unattributed:e.unattributed===!0,projected:s,current:o?a?.current_percent??n?.current_percent??null:null,confidence:o?a?.confidence??null:null,status:o?a?.status??null:null,verdict:s==null?null:s>=100?`capped`:s>=90?`cap`:`ok`}})}function Qi(e){if(e==null)return{state:`not_configured`,disposition:`provider_budget_unset`};let t=e.status;if(t!=null)return{state:`configured`,status:t};let n=e.status_unavailable;if(n!=null)return{state:`unavailable`,reason:n.code,unavailable:n};let r=e.not_configured;return r==null?{state:`not_configured`,disposition:`provider_budget_unset`}:{state:`not_configured`,disposition:r.disposition,...r.account_key==null?{}:{accountKey:r.account_key},...r.configured_accounts==null?{}:{configuredAccounts:r.configured_accounts}}}function $i(e,t){let n=Fi(e,t);return{selection:t,sections:Ai(t).map(t=>{let r=t===`claude`?n.claude:n.codex;return ki(e,t,r==null?null:Qi(r.budget),[`budget`],[],`${Di(t)} budget is unavailable.`)})}}function ea(e,t){return{selection:t,sections:Ai(t).map(t=>{let n=Xi(e,t),r=((t===`codex`?Fi(e,t).codex:null)?.quota.histories??[]).filter(e=>!e.model_scoped),i=r.find(e=>e.window_minutes===10080)?.forecast??r[0]?.forecast,a=ki(e,t,(t===`claude`?(e?.forecast??e?.sources?.claude?.data?.hero.forecast)!=null:r.some(e=>e.forecast!=null))?n:null,t===`claude`?[`hero`,`quota`,`budget`]:[`quota`,`budget`],t===`claude`?[`hero`,`quota`]:[`quota`],`${Di(t)} forecast is unavailable.`);if(t===`codex`&&a.value!=null&&i?.status!==`ok`){let e=i?.status===`stale`?`Codex forecast is stale.`:i?.status===`insufficient-history`?`Codex forecast needs more history.`:`Codex forecast is unavailable.`;return{...a,status:`degraded`,reason:e}}return a})}}function ta(e){return e.codex?.projects.rows.map(e=>({key:e.key,source:`codex`,label:e.label,cost:e.cost_usd,pct:null,sessionsCount:e.session_count,firstSeenAt:e.first_seen,lastSeenAt:e.last_seen,drillable:!0}))??[]}function na(e){let t=e.reduce((e,t)=>e+t.cost,0);return e.slice().sort((e,t)=>t.cost-e.cost).map(e=>({...e,pct:t>0?e.cost/t*100:null}))}function ra(e,t){let n=Fi(e,t);if(t===`claude`)return e?.projects==null?{state:`unavailable`}:{state:`available`,range:null,qualifications:[],rows:(e.projects.current_week.rows??[]).map(e=>({key:e.key,source:`claude`,label:e.key,cost:e.cost_usd??0,pct:e.attributed_pct??null,sessionsCount:e.sessions_count??0,firstSeenAt:null,lastSeenAt:null,drillable:!0}))};if(t===`codex`)return n.codex?.projects==null?{state:`unavailable`}:{state:`available`,range:Pi(e),qualifications:[],rows:na(ta(n))};let r=Ni(e,`projects`);if(`withheld`in r)return r.withheld;let i=n.claude?.projects.aggregate?.rows,a=n.codex?.projects;if(i==null||a==null)return ji;let o=i.map(e=>({key:e.key,source:`claude`,label:e.label,cost:e.cost_usd,pct:null,sessionsCount:e.sessions_count,firstSeenAt:null,lastSeenAt:null,drillable:e.drillable===!0}));return{state:`available`,range:Pi(e),qualifications:r.available,rows:na([...o,...ta(n)])}}function ia(e){return{key:e.key,source:`codex`,accountKey:e.account_key??null,start_at:e.start_at,end_at:e.end_at,anchor:`recorded`,is_active:e.is_active,cost_usd:e.cost_usd,models:Li(e.cost_usd,e.model_breakdowns),label:e.label,value:e.cost_usd,valueLabel:`$${e.cost_usd.toFixed(2)}`}}function aa(e,t){let n=Fi(e,t),r=((t===`claude`?e?.blocks?.rows:n.claude?.quota.blocks)??[]).map((e,t)=>({...e,key:`key`in e&&typeof e.key==`string`?e.key:`claude:${e.start_at}:${t}`,source:`claude`,facts_source:e.facts_source??`computed`,value:e.cost_usd,valueLabel:`$${e.cost_usd.toFixed(2)}`})),i=(n.codex?.quota.blocks??[]).filter(e=>e.window_minutes===300).map(ia);return t===`claude`?r:t===`codex`?i:[...r,...i].sort((e,t)=>{let n=Date.parse(e.start_at),r=Date.parse(t.start_at),i=(Number.isNaN(r)?0:r)-(Number.isNaN(n)?0:n);return i===0?e.source===t.source?e.key<t.key?-1:+(e.key>t.key):e.source<t.source?-1:1:i})}function oa(e){return[`claude`,`codex`].map(t=>{let n=e.filter(e=>e.source===t);return{source:t,label:Di(t),count:n.length,cost:n.reduce((e,t)=>e+t.value,0)}})}function sa(e){let t=null,n=null,r=1/0,i=-1/0;for(let a of e){let e=Date.parse(a.start_at),o=Date.parse(a.end_at);!Number.isNaN(e)&&e<r&&(r=e,t=a.start_at),!Number.isNaN(o)&&o>i&&(i=o,n=a.end_at)}return t==null||n==null?null:{startAt:t,endAt:n}}function ca(e,t){return{selection:t,sections:Ai(t).map(t=>{let n=ki(e,t,t===`claude`?e?.cache_report??null:Fi(e,t).codex?.cache_report??null,[`forensics`],[`sessions`],`${Di(t)} cache report is unavailable.`);return n.value?.is_empty&&n.status===`available`?{...n,status:`empty`,value:null,reason:`No ${Di(t)} cache activity is available for this window.`}:n})}}function la({source:e}){return(0,W.jsx)(`span`,{className:`source-chip source-chip--${e}`,"data-source":e,children:e===`claude`?`Claude`:`Codex`})}function ua({gate:e}){let t=e.noSuccessYet?`no successful snapshot yet`:e.warning?.message??`degraded`,n=e.noSuccessYet?`no snapshot`:`partial`;return(0,W.jsx)(`span`,{className:`panel-degraded-chip`,role:`status`,title:t,"aria-label":`Degraded: ${t}`,children:n})}var da=10080*60*1e3,fa=10080*60*1e3,pa=300*60*1e3;function ma(e,t){return{available:!1,withheldReason:e,provider:null,accountKey:null,accountScope:null,costBasis:null,...t,windowStartMs:null,windowEndMs:null,windowGranularity:`instant`}}function ha(e,t,n,r=`instant`){return{available:!0,withheldReason:null,provider:null,accountKey:null,accountScope:null,costBasis:null,...n,windowStartMs:e,windowEndMs:t,windowGranularity:r}}function ga(e){if(typeof e!=`string`||e.trim()===``)return null;let t=e.trim(),n=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?$/.test(t),r=Date.parse(n?`${t}Z`:t);return Number.isFinite(r)?r:null}function _a(e){if(typeof e!=`string`||!/^\d{4}-\d{2}-\d{2}$/.test(e.trim()))return null;let t=Date.parse(`${e.trim()}T00:00:00Z`);return Number.isFinite(t)?t:null}function va(e){return typeof e!=`number`||!Number.isFinite(e)?null:Math.trunc(e)*1e3}function X(e){let t=new Date(e),n=t.getUTCFullYear()+ +(t.getUTCMonth()===11),r=(t.getUTCMonth()+1)%12;for(let e=t.getUTCDate();e>1;--e){let i=Date.UTC(n,r,e,t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds());if(new Date(i).getUTCMonth()===r)return i}return Date.UTC(n,r,1,t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds())}function ya(e,t){return t==null?null:e===`subscription-week`?t+da:e===`calendar-week`?t+fa:e===`calendar-month`?X(t):null}function ba(e){if(e==null)return null;let t=String(e).trim();return t===``?null:t}function xa(e){return e===`*`?`vendor_wide`:`account`}function Sa(e,t){let n=ga(e.week_start_at),r=`instant`;n??(n=_a(e.week_start_date),r=`day`);let i={provider:`claude`,accountKey:t,accountScope:xa(t),costBasis:`cumulative_cost_usd`};return n==null?ma(`the weekly alert retains no week start, so its window cannot be derived`,i):ha(n,n+da,i,r)}function Ca(e,t){let n={provider:`claude`,accountKey:t,accountScope:xa(t),costBasis:`block_cost_usd`},r=ga(e.block_start_at);if(r!=null)return ha(r,r+pa,n);let i=va(e.five_hour_window_key);return i==null?ma(`the five-hour alert retains no block start, so its window cannot be derived`,n):ha(i-pa,i,n)}function wa(e,t,n,r){let i=e.period??r??void 0,a=ga(e.period_start_at)??ga(e.week_start_at),o={provider:n,accountKey:t,accountScope:xa(t),costBasis:`spent_usd`};if(a==null)return ma(`the budget alert retains no period start, so its window cannot be derived`,o);let s=ya(i,a);return s==null?ma(`the budget alert names no derivable period (got ${JSON.stringify(i??null)})`,o):ha(a,s,o)}function Ta(e,t){let n=e.period??`subscription-week`,r=ga(e.week_start_at)??ga(e.period_start_at),i={provider:`claude`,accountKey:t,accountScope:`vendor_wide`,costBasis:`spent_usd`};if(r==null)return ma(`the project-budget alert retains no window start, so its window cannot be derived`,i);let a=ya(n,r);return a==null?ma(`the project-budget alert names no derivable period (got ${JSON.stringify(n)})`,i):ha(r,a,i)}function Ea(e,t){let n=e.metric,r={provider:n===`codex_budget_usd`?`codex`:`claude`,accountKey:t,accountScope:xa(t),costBasis:n===`weekly_pct`?null:`projected_value`},i=ga(e.week_start_at)??ga(e.period_start_at);if(i==null)return ma(`the projected alert retains no period start, so its window cannot be derived`,r);let a=ya(e.period??(n===`weekly_pct`?`subscription-week`:void 0),i);return a==null?ma(`the projected alert retains no period for metric ${JSON.stringify(n??null)}, so its window length is unknown`,r):ha(i,a,r)}var Da={weekly:Sa,five_hour:Ca,budget:(e,t)=>wa(e,t,`claude`,`subscription-week`),codex_budget:(e,t)=>wa(e,t,`codex`,null),project_budget:Ta,projected:Ea};function Oa(e,t,n){let r=t??{},i=Da[e];return i==null?ma(`unknown alert axis: ${JSON.stringify(e)}`,{}):i(r,ba(n))}function ka(e){return Oa(e.axis,e.context,e.accountKey)}function Aa(e,t){if(!e.available||e.windowStartMs==null||e.windowEndMs==null)return!1;let n=t.getTime();return n>=e.windowStartMs&&n<e.windowEndMs}function ja(e){let t=ga(e?.generated_at);return t==null?new Date:new Date(t)}var Ma=`The window this alert describes has closed. The dashboard can only show the live one, so it is not opened here.`,Na=`This alert recorded no five-hour block start, so the dashboard cannot tell which block to open.`,Pa=`This alert is stamped vendor-wide across accounts, so it cannot be narrowed to one account’s projects.`,Fa=`The dashboard publishes no calendar-week view, so this budget period cannot be opened.`,Ia=`The live week on this dashboard is not the week this alert describes, so it is not opened here.`,La=`This alert retains no project identity, so its project cannot be opened.`,Ra=`Explain this window`;function za(e){return{available:!1,withheldReason:e,target:null,explainTarget:null}}function Ba(e){return{available:!0,withheldReason:null,explainTarget:null,target:{...e,accountKey:null,windowStartAt:null,windowEndAt:null,alertFiredAt:null}}}function Va(e,t){return!e.available||e.windowStartMs==null||e.windowEndMs==null?null:{source:t,modal:`explain`,label:Ra,accountKey:null,windowStartAt:null,windowEndAt:null,alertFiredAt:null}}function Ha(e){return ga(e?.current_week?.reset_at_utc??null)}function Ua(e,t,n,r){let i=Ha(t);return i!=null&&e.windowEndMs!=null&&Math.abs(i-e.windowEndMs)>6e4?za(Ia):Ba({source:n,modal:`current-week`,label:r})}function Wa(e,t,n,r){let i=n.context.period??(r===`claude`?`subscription-week`:void 0);return i===`subscription-week`?Ua(e,t,r,r===`codex`?`Open this cycle`:`Open this week`):i===`calendar-month`?Ba({source:r,modal:`monthly`,label:`Open this month`}):za(Fa)}function Ga(e,t,n){let r=ka(e);return Ka(Ya(e,t,n,r),e,r)}function Ka(e,t,n){let r=e=>e==null?null:{...e,accountKey:n.accountKey===`*`?null:n.accountKey,windowStartAt:qa(n.windowStartMs),windowEndAt:qa(n.windowEndMs),alertFiredAt:Ja(t)};return{...e,target:r(e.target),explainTarget:e.available?null:r(Va(n,Xa(t,n)))}}function qa(e){return e==null?null:new Date(e).toISOString()}function Ja(e){let t=e.alerted_at;return typeof t==`string`&&t.trim()!==``?t:null}function Ya(e,t,n,r){if(!r.available)return za(r.withheldReason??`The window this alert describes has closed. The dashboard can only show the live one, so it is not opened here.`);if(e.axis===`five_hour`){let t=e.context.block_start_at;return typeof t!=`string`||t.trim()===``?za(Na):Ba({source:`claude`,modal:`block`,blockStartAt:t,label:`Open this block`})}if(!Aa(r,n))return za(Ma);if(e.axis===`weekly`)return Ua(r,t,`claude`,`Open this week`);if(e.axis===`budget`)return Wa(r,t,e,`claude`);if(e.axis===`codex_budget`)return Wa(r,t,e,`codex`);if(e.axis===`projected`)return Ba({source:r.provider??`claude`,modal:`forecast`,label:`Open the forecast`});if(e.accountKey===`*`)return za(Pa);let i=e.context.project_key;return typeof i!=`string`||i.trim()===``?za(La):Ba({source:`claude`,modal:`projects`,projectKey:i,label:`Open this project`})}function Xa(e,t){return e.axis===`codex_budget`?`codex`:t.provider??`claude`}function Za(e,t){return t===e.source?null:e.source}function Qa(e){let t=Za(e,R().activeSource);t!=null&&I({type:`SET_ACTIVE_SOURCE`,source:t}),I({type:`OPEN_MODAL`,kind:e.modal,...e.blockStartAt==null?{}:{blockStartAt:e.blockStartAt},...e.projectKey==null?{}:{projectKey:e.projectKey},accountKey:e.accountKey,windowStartAt:e.windowStartAt,windowEndAt:e.windowEndAt,alertFiredAt:e.alertFiredAt})}var $a={claude:`cctally budget set <amount>`,codex:`cctally budget set <amount> --vendor codex`},eo=`No budget set.`,to=`No provider-wide budget set.`,no=`No budget set for this account.`,ro={ok:`good`,warn:`warn`,over:`over`};function io({source:e,disposition:t,accountKey:n,configuredAccounts:r}){if(t===`account_budgets_only`)return(0,W.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:to}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,children:`Per-account budgets are configured — see the account cards.`})]});if(t===`account_budget_unset`&&n!=null){let t={...r??{},[n]:30},i=`cctally config set budget.codex.accounts '${JSON.stringify(t)}'`;return(0,W.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:no}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,children:`Edit the per-account budget map for this key:`}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,children:(0,W.jsx)(`code`,{className:`budget-empty-cmd`,children:i})})]})}return t===`provider_budget_unset`?(0,W.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:eo}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,children:(0,W.jsx)(`code`,{className:`budget-empty-cmd`,children:$a[e]})})]}):(0,W.jsx)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:`No budget status to show.`})})}function ao({source:e,presentation:t,detailed:n}){let{reason:r,unavailable:i}=t,a=r===`period_unresolved`?`Budget period not resolved yet, so no status is published.`:r===`budget_compute_failed`?`Budget status could not be computed.`:`Budget status is unavailable.`,o=i.budget_usd,s=i.period;return(0,W.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-unavailable-${e}`,children:[o!=null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`budget-figures`,children:[(0,W.jsx)(`span`,{className:`budget-target is-lone`,"data-testid":`budget-target-${e}`,children:n?B.usd2(o):B.usd0(o)}),(0,W.jsx)(`span`,{className:`budget-of`,children:`configured`}),s!=null&&(0,W.jsx)(`span`,{className:`budget-period-chip`,"data-testid":`budget-period-${e}`,children:s})]}),(0,W.jsx)(`div`,{className:`budget-window-unresolved`,"data-testid":`budget-window-${e}`,children:`window unresolved`})]}),(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:a}),i.message!==``&&(0,W.jsx)(`p`,{className:`budget-empty-hint`,"data-testid":`budget-message-${e}`,children:i.message}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,"data-testid":`budget-reason-${e}`,children:r})]})}function oo({source:e,status:t,env:n}){if(t.verdict!==`warn`&&t.verdict!==`over`)return null;let r=Ga({id:``,axis:e===`codex`?`codex_budget`:`budget`,threshold:0,crossed_at:``,alerted_at:``,context:{period:t.period,period_start_at:t.window_start_at}},n,ja(n));if(!r.available||r.target==null){let t=r.explainTarget;return(0,W.jsxs)(`span`,{className:`alert-row-unresolved`,children:[(0,W.jsx)(`span`,{className:`alert-row-withheld`,"data-testid":`budget-withheld-${e}`,children:r.withheldReason}),t==null?null:(0,W.jsx)(`button`,{type:`button`,className:`alert-row-explain`,"data-testid":`budget-explain-window-${e}`,onClick:e=>{e.stopPropagation(),Qa(t)},children:t.label})]})}let i=r.target;return(0,W.jsx)(`button`,{type:`button`,className:`alert-row-open budget-explain`,"data-testid":`budget-explain-${e}`,onClick:e=>{e.stopPropagation(),Qa(i)},children:i.label})}function so({source:e,presentation:t,detailed:n,ctx:r,env:i}){let a=t.status,o=ro[a.verdict]??`good`,s=Math.min(100,Math.max(0,a.consumption_pct));return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`budget-figures`,children:[(0,W.jsx)(`span`,{className:`budget-spend`,"data-testid":`budget-spend-${e}`,children:n?B.usd2(a.spent_usd):B.usd0(a.spent_usd)}),(0,W.jsx)(`span`,{className:`budget-of`,children:`of`}),(0,W.jsx)(`span`,{className:`budget-target`,"data-testid":`budget-target-${e}`,children:n?B.usd2(a.budget_usd):B.usd0(a.budget_usd)}),(0,W.jsx)(`span`,{className:`budget-period-chip`,"data-testid":`budget-period-${e}`,children:a.period})]}),(0,W.jsx)(`div`,{className:`budget-bar is-${o}`,role:`presentation`,children:(0,W.jsx)(`div`,{className:`budget-bar-fill`,style:{width:`${s}%`}})}),(0,W.jsxs)(`div`,{className:`budget-verdict-line`,children:[(0,W.jsx)(`span`,{className:`budget-consumption`,"data-testid":`budget-consumption-${e}`,children:n?B.pct1(a.consumption_pct):B.pct0(a.consumption_pct)}),(0,W.jsx)(`span`,{className:`budget-verdict-chip is-${o}`,"data-testid":`budget-verdict-${e}`,children:a.verdict}),a.low_confidence&&(0,W.jsx)(`span`,{className:`budget-lowconf`,"data-testid":`budget-lowconf-${e}`,children:`low confidence`}),(0,W.jsx)(oo,{source:e,status:a,env:i})]}),(0,W.jsxs)(`div`,{className:`fc-budget-foot budget-foot`,children:[(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Budget pace`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-pace-${e}`,children:B.usd2PerDay(a.pace.daily_usd)})]}),n&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Remaining`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:B.usd2Accounting(a.remaining_usd)})]}),(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Projection`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-projection-${e}`,children:a.pace.projected_low_usd==null||a.pace.projected_high_usd==null?`—`:`${B.usd2(a.pace.projected_low_usd)} – ${B.usd2(a.pace.projected_high_usd)}`})]}),(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Recent-24h`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:B.usd2(a.recent_24h_usd)})]}),(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Alert thresholds`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-thresholds-${e}`,children:a.alert_thresholds.length===0?`—`:a.alert_thresholds.map(e=>`${e}%`).join(` · `)})]}),(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Period`}),(0,W.jsxs)(`span`,{className:`fc-foot-v`,"data-testid":`budget-window-${e}`,children:[B.datetimeShort(a.window_start_at,r),` → `,B.datetimeShort(a.window_end_at,r)]})]})]})]})]})}function co({section:e,surface:t,ctx:n,env:r=null}){let i=`budget-${t}-${e.source}-heading`,a=e.value;return(0,W.jsxs)(`div`,{className:`source-provider-section provider-summary-card budget-provider-summary`,"data-budget-section":e.source,"data-surface":t,role:`region`,"aria-labelledby":i,children:[(0,W.jsxs)(`div`,{className:`source-provider-head`,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:i,children:[e.label,` budget`]}),(0,W.jsx)(la,{source:e.source}),(0,W.jsx)(`strong`,{className:`budget-block-title`,children:`Budget`}),e.status!==`available`&&a==null&&(0,W.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),a==null?(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}):a.state===`configured`?(0,W.jsx)(so,{source:e.source,presentation:a,detailed:t===`modal`,ctx:n,env:r}):a.state===`not_configured`?(0,W.jsx)(io,{source:e.source,disposition:a.disposition,accountKey:a.accountKey,configuredAccounts:a.configuredAccounts}):(0,W.jsx)(ao,{source:e.source,presentation:a,detailed:t===`modal`}),a!=null&&e.reason!=null&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason})]})}function lo({env:e,selection:t,surface:n}){let r=Vn(),i={tz:r.resolvedTz,offsetLabel:r.offsetLabel};return(0,W.jsx)(W.Fragment,{children:$i(e,t).sections.map(t=>(0,W.jsx)(co,{section:t,surface:n,ctx:i,env:e},t.source))})}function uo(e){let t=(e??``).trim();return t?t.replace(/-/g,` `):``}function fo(e,t){return e?.short?e.short:uo(t)}function po(e,t){return e?.long?e.long:uo(t)}function mo(e,t){return e?.short?e.short:uo(t)}function ho(e,t){return e?.long?e.long:uo(t)}function go(e,t){if(e==null||t==null||!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0)return null;let n=(t-e)/e*100,r=n<0?`less`:`more`;return`each meter point now covers ${Math.abs(n).toFixed(0)}% ${r} usage`}function _o(e){let t=e?.forecast?.quota??null;return t==null||t.basis==null?null:t.basis===`withheld`?{label:`Basis`,value:fo(t.code_presentation,t.code)||`withheld`}:{label:`Basis`,value:mo(t.basis_presentation,t.basis)}}function vo(){return(0,W.jsx)(`span`,{className:`hero-per-account-value`,"data-testid":`forecast-per-account`,title:`Each Codex account has its own quota cycle — independent forecasts are never blended.`,children:`per account`})}function yo({section:e,perAccount:t,env:n}){let r=e.value==null,i=e.value??Xi(n,e.source),a=t||r?null:Un(i.verdict),o=a?.cls??`good`,s=t?i.foot.filter(e=>e.label!==`Confidence`):i.foot;return(0,W.jsxs)(`div`,{className:`source-provider-section provider-summary-card forecast-provider-summary`,"data-provider-section":e.source,role:`region`,"aria-labelledby":`forecast-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head`,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`forecast-panel-${e.source}-heading`,children:[e.label,` forecast`]}),(0,W.jsx)(la,{source:e.source}),e.status!==`available`&&!t&&!r&&(0,W.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),(0,W.jsxs)(`div`,{className:`provider-summary-kpis`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`provider-summary-label`,children:i.primaryLabel}),(0,W.jsx)(`strong`,{className:`provider-summary-value is-${o}`,children:t?(0,W.jsx)(vo,{}):o===`over`&&i.projected!=null?`≥100%`:B.pct1(i.projected)})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`provider-summary-label`,children:t?`Current quota`:i.recentLabel}),(0,W.jsx)(`strong`,{className:`provider-summary-value`,children:t?(0,W.jsx)(vo,{}):B.pct1(i.recent)})]})]}),a&&(0,W.jsxs)(`span`,{className:`fc-verdict-chip is-${o}`,children:[(0,W.jsx)(`span`,{className:`fc-verdict-glyph`,"aria-hidden":`true`,children:a.glyph}),` `,a.label]}),e.reason&&!t&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}),s.length>0&&(0,W.jsx)(`div`,{className:`fc-budget-foot`,children:s.map(e=>(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:e.label}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:e.value})]},e.label))})]})}function bo(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=Nn(t,Mn(t)),r=ea(e,t),i=t===`all`?v(e?.sources?.codex??null)!=null&&n.accountKey==null:n.scopesSupported&&n.accountKey==null;if(t===`all`)return(0,W.jsxs)(`section`,{className:`panel accent-purple fc-tile`,id:`panel-forecast`,role:`region`,"aria-label":`Forecast panel · Claude and Codex`,"data-panel-kind":`forecast`,"data-source":`all`,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`forecast`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,W.jsxs)(`h2`,{children:[`Forecast `,(0,W.jsx)(`span`,{className:`sub`,children:`by provider`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>I(j(`forecast`,`forecast-panel`))}),(0,W.jsx)($r,{label:`Forecast`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`forecast`})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`panel-body source-all-sections provider-composition provider-composition--panel`,children:[r.sections.map(t=>(0,W.jsx)(yo,{section:t,env:e,perAccount:t.source===`codex`&&i},t.source)),(0,W.jsx)(lo,{env:e,selection:`all`,surface:`panel`})]})]});let a=Xi(e,t),o=r.sections[0]??null,s=o==null||o.value==null,c=t===`codex`&&i,l=c?null:Un(a.verdict),u=l?.cls??`good`,d=!!l?.warn,f=u===`over`&&a.projected!=null?`≥100%`:B.pct1(a.projected),p=_o(e),m=e?.forecast?.quota?.rate_change??null,h=m?.active===!0;return(0,W.jsxs)(`section`,{className:`panel accent-purple fc-tile fc-esc-${u}${d?` fc-accent-edge`:``}`,id:`panel-forecast`,role:`region`,"aria-label":`Forecast panel`,"data-panel-kind":`forecast`,"data-source":t,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`forecast`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,W.jsx)(`h2`,{children:`Forecast`}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>I(j(`forecast`,`forecast-panel`))}),(0,W.jsx)($r,{label:`Forecast`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`forecast`})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`panel-body fc-body`,children:[(0,W.jsxs)(`div`,{className:`fc-hero`,children:[(0,W.jsx)(`div`,{className:`fc-eyebrow`,children:a.primaryLabel}),(0,W.jsx)(`div`,{className:`fc-num is-${u}${c?` is-blank`:``}`,children:c?(0,W.jsx)(vo,{}):f}),(l||o!=null&&o.status!==`available`&&!c&&!s||h)&&(0,W.jsxs)(`div`,{className:`fc-chiprow`,children:[l&&(0,W.jsxs)(`span`,{className:`fc-verdict-chip is-${u}`,children:[(0,W.jsx)(`span`,{className:`fc-verdict-glyph`,"aria-hidden":`true`,children:l.glyph}),` `,l.label]}),o!=null&&o.status!==`available`&&!c&&!s&&(0,W.jsx)(`span`,{className:`provider-section-status`,children:o.status}),h&&(0,W.jsx)(`span`,{className:`fc-rate-chip severity-${m?.severity??`warn`}`,"data-testid":`fc-rate-change-chip`,title:`The provider changed how much work one meter point buys. Open this panel for the detail.`,children:`Δ rate`})]})]}),o?.reason&&!c&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:o.reason}),(0,W.jsx)(`div`,{className:`fc-pace is-${u}`,role:`presentation`,children:(0,W.jsx)(`div`,{className:`fc-pace-fill`,style:{width:`${c?0:Math.min(100,Math.max(0,a.projected??0))}%`}})}),(0,W.jsxs)(`div`,{className:`fc-scroll`,children:[(0,W.jsxs)(`div`,{className:`fc-budget-foot`,children:[(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:c?`Current quota`:a.recentLabel}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:c?(0,W.jsx)(vo,{}):B.pct1(a.recent)})]}),(c?a.foot.filter(e=>e.label!==`Confidence`):a.foot).map(e=>(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:e.label}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:e.value})]},e.label)),p&&!c&&(0,W.jsxs)(`div`,{className:`fc-foot-line`,"data-testid":`fc-basis-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:p.label}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:p.value})]})]}),(0,W.jsx)(`div`,{className:`fc-budget-block`,children:(0,W.jsx)(lo,{env:e,selection:t,surface:`panel`})})]})]})]})}var xo=`No $/1% for this week — the rate was not measured.`;function So({data:e}){let t=e.map(e=>e.dollar_per_pct==null),n=e.map(e=>e.spark_height??0),r=n.filter((e,n)=>!t[n]),i=Math.max(1,...r);return(0,W.jsx)(W.Fragment,{children:n.map((r,a)=>{let o=a===n.length-1;if(t[a])return(0,W.jsx)(`div`,{className:`bar is-withheld`,title:xo},e[a].label+`|`+a);let s={height:`${Math.max(6,r/i*100)}%`};return o&&(s.background=`color-mix(in srgb, var(--accent-purple) 70%, white 30%)`),(0,W.jsx)(`div`,{className:`bar`,style:s},e[a].label+`|`+a)})})}function Co(e,t){return!e||!t?`↕`:t===`asc`?`▲`:`▼`}function wo(e,t){return!e||!t?`none`:t===`asc`?`ascending`:`descending`}function To({columns:e,override:t,onChange:n,accentVar:r,grid:i}){let a=e=>n(f(t,e)),o=e=>t=>{t.stopPropagation(),a(e)},s=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),a(e))};return(0,W.jsx)(`thead`,{role:i?`rowgroup`:void 0,children:(0,W.jsx)(`tr`,{role:i?`row`:void 0,children:e.map(e=>{if(e.sortable===!1)return(0,W.jsx)(`th`,{className:[`th-static`,e.className??``,e.numeric?`num`:``].filter(Boolean).join(` `),role:i?`columnheader`:void 0,"data-col":e.id,title:e.title,children:e.label},e.id);let n=t?.column===e.id,a=n?t.direction:null,c=[`th-sortable`,e.className??``,e.numeric?`num`:``,n?`is-sorted`:``].filter(Boolean).join(` `),l=r&&n?{"--th-accent":`var(${r})`}:void 0;return(0,W.jsx)(`th`,{className:c,role:`columnheader`,"aria-sort":wo(n,a),tabIndex:0,"data-col":e.id,title:e.title,style:l,onClick:o(e),onKeyDown:s(e),children:(0,W.jsxs)(`button`,{type:`button`,className:`th-sort-btn`,tabIndex:-1,children:[(0,W.jsx)(`span`,{className:`th-label`,children:e.label}),(0,W.jsx)(`span`,{className:`th-caret`+(n?``:` th-caret--rest`),"aria-hidden":`true`,children:Co(n,a)})]})},e.id)})})})}function Eo({lines:e=3,label:t=`Loading`}){return(0,W.jsxs)(`div`,{className:`panel-skeleton`,children:[(0,W.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:`${t}…`}),Array.from({length:e}).map((t,n)=>(0,W.jsx)(`div`,{className:`skel skel-line${n===e-1?` short`:``}`,"aria-hidden":`true`},n))]})}var Do=[{id:`week`,label:`Week`,defaultDirection:`desc`,compare:(e,t)=>e._chronoIdx-t._chronoIdx,className:`c-week`},{id:`cost_usd`,label:`Cost`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.cost_usd??null,compare:(e,t)=>(e.cost_usd??0)-(t.cost_usd??0),className:`c-cost`},{id:`used_pct`,label:`Used%`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.used_pct??0)-(t.used_pct??0),className:`c-used`},{id:`dollar_per_pct`,label:`$/1%`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.dollar_per_pct??0)-(t.dollar_per_pct??0),className:`c-dollar`},{id:`delta`,label:`Δ (vs prior)`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.delta??0)-(t.delta??0),className:`c-delta`}],Oo=Do.map(e=>e.id===`week`?{...e,label:`Cycle`}:e);function ko(e){return e===`week`?Do:Oo}function Ao({labels:e}){return!e||e.length===0?null:(0,W.jsx)(`span`,{className:`period-account-chips`,"aria-label":`Accounts: ${e.join(`, `)}`,children:e.map(e=>(0,W.jsx)(`span`,{className:`period-account-chip`,title:`Weekly cycle owned by ${e}`,children:e},e))})}var jo={week:ko(`week`).filter(e=>e.id!==`cost_usd`),cycle:ko(`cycle`).filter(e=>e.id!==`cost_usd`)};function Mo(e,t){if(e.length===0)return`$/1% trend: no data`;let n=e[e.length-1],r=e.length>1?e[e.length-2]:null,i=n.dollar_per_pct==null?`n/a`:B.usd2(n.dollar_per_pct),a=``;if(r&&n.dollar_per_pct!=null&&r.dollar_per_pct!=null){let e=n.dollar_per_pct-r.dollar_per_pct;a=Math.abs(e)<.005?`, flat vs prior ${t.unit}`:e>0?`, up vs prior ${t.unit}`:`, down vs prior ${t.unit}`}let o=e.length===1?t.unit:t.plural;return`$/1% trend over ${e.length} ${o}; latest ${i}${a}`}function No({section:e,trendOverride:t,composed:n}){let r=e.rows.map(e=>({...e,spark_height:e.dollar_per_pct})),i=Zn(e.source),a=r.map((e,t)=>({...e,_chronoIdx:t})),o=jo[i.unit],s=t?ne(a,o,t):a,c=Mo(r,i),l=n?`trend-spark-${e.source}`:`trend-spark`;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`trend-chart`,children:[(0,W.jsx)(`div`,{className:`trend-spark-title`,children:`$/1% trend:`}),(0,W.jsx)(`div`,{className:`trend-spark`,id:l,role:`img`,"aria-label":`${e.label} ${c}`,style:{gridTemplateColumns:`repeat(${Math.max(1,r.length)}, 1fr)`},children:(0,W.jsx)(So,{data:r})}),(0,W.jsxs)(`div`,{className:`trend-spark-legend`,"data-card-region-ignore":!0,children:[(0,W.jsx)(`span`,{children:`older`}),(0,W.jsx)(`span`,{className:`line`}),(0,W.jsx)(`span`,{children:`▶ newer`})]})]}),(0,W.jsx)(`div`,{className:`trend-table-wrap`,children:(0,W.jsxs)(`table`,{className:`trend-table`,children:[(0,W.jsx)(To,{columns:o,override:t,onChange:e=>I({type:`SET_TABLE_SORT`,table:`trend`,override:e}),accentVar:`--accent-amber`}),(0,W.jsx)(`tbody`,{id:n?`trend-rows-${e.source}`:`trend-rows`,children:s.map(t=>(0,W.jsxs)(`tr`,{className:t.is_current?`current`:void 0,children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(Ao,{labels:t.account_labels}),e.source===`codex`?$n(t.label,r.length-1-t._chronoIdx,i):t.label]}),(0,W.jsx)(`td`,{className:`num`,children:B.pct0(t.used_pct)}),(0,W.jsx)(`td`,{className:`num`+(t.is_current?``:` dollar`),children:B.usd2(t.dollar_per_pct)}),(0,W.jsx)(`td`,{className:`num `+B.deltaCls(t.delta,t.is_current),children:B.delta(t.delta)})]},`${e.source}:${t.week_start_at??t.label}`))})]})})]})}function Po(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=Ji(e,t),r=(0,U.useSyncExternalStore)(F,()=>R().prefs.trendSortOverride),i=n.sections.reduce((e,t)=>e+t.rows.length,0),a=Fi(e,t).hydrating&&i===0,o=n.sections[0],s=Zn(o?.source??`claude`),c=t===`all`?`(Claude ${n.sections[0]?.rows.length??0}c · Codex ${n.sections[1]?.rows.length??0}c)`:`(${Qn(o?.rows.length??0,s)})`;return(0,W.jsxs)(`section`,{className:`panel accent-amber`,id:`panel-trend`,role:`region`,"aria-label":`$/1% Trend panel`,"data-panel-kind":`trend`,"data-source":t,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`trend`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,W.jsx)(`h2`,{children:n.title}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`trend`,panelLabel:`Trend`,triggerId:`trend-panel`,onClick:()=>I(j(`trend`,`trend-panel`))}),(0,W.jsx)($r,{label:`Trend`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`trend`})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-range-note`,children:(0,W.jsx)(`span`,{className:`sub`,children:a?`(loading)`:c})}),(0,W.jsx)(`div`,{className:`panel-body`,children:e?.hydrating&&i===0?(0,W.jsx)(Eo,{}):t===`all`?(0,W.jsx)(`div`,{className:`source-all-sections provider-composition trend-provider-composition`,children:n.sections.map(e=>(0,W.jsxs)(`section`,{className:`provider-summary-card source-provider-section trend-provider-section`,"data-provider-section":e.source,"aria-labelledby":`trend-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,"data-card-region-ignore":!0,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`trend-panel-${e.source}-heading`,children:[e.label,` $ per 1% trend`]}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.label}),(0,W.jsx)(`span`,{className:`provider-summary-label`,children:Qn(e.rows.length,Zn(e.source))})]}),(0,W.jsx)(No,{section:e,trendOverride:r,composed:!0})]},e.source))}):o?(0,W.jsx)(No,{section:o,trendOverride:r,composed:!1}):null})]})}function Fo(e){let t=ve.findIndex(t=>t.key===e);return ve[(t===-1?0:t+1)%ve.length].key}function Io(){let e=(0,U.useSyncExternalStore)(F,()=>R().filterText),t=(0,U.useSyncExternalStore)(F,()=>R().searchText),n=(0,U.useSyncExternalStore)(F,()=>R().searchMatches),r=(0,U.useSyncExternalStore)(F,()=>R().searchIndex),i=(0,U.useSyncExternalStore)(F,()=>R().sessionsSort),a=(0,U.useSyncExternalStore)(F,()=>R().prefs.sessionsSortOverride),o=(0,U.useSyncExternalStore)(F,()=>R().activeSource)===`claude`,s=o?`filter project|model…`:`filter session|model…`,c=zn(),[l,u]=(0,U.useState)(!1),[d,f]=(0,U.useState)(!1),p=(0,U.useRef)(null),m=(0,U.useRef)(null),h=d||c,g=d||t.length>0,_=()=>u(!0),v=e=>{e?.clear&&I({type:`SET_FILTER`,text:``}),u(!1),I({type:`SET_INPUT_MODE`,mode:null})},y=()=>f(!0),b=e=>{e?.clear&&I({type:`SET_SEARCH`,text:``}),f(!1),I({type:`SET_INPUT_MODE`,mode:null})};(0,U.useEffect)(()=>{l&&(p.current?.focus(),p.current?.select(),I({type:`SET_INPUT_MODE`,mode:`filter`}))},[l]),(0,U.useEffect)(()=>{d&&(m.current?.focus(),m.current?.select(),I({type:`SET_INPUT_MODE`,mode:`search`}))},[d]),we([{key:`f`,scope:`sessions`,action:_,when:()=>!R().openModal&&!l&&R().chromeOverlayOpen===0},{key:`/`,scope:`sessions`,action:y,when:()=>!R().openModal&&!d&&R().chromeOverlayOpen===0}]);let x=n.length,S=x>0?`${r+1} / ${x}`:`0 / 0`,C=e=>{x!==0&&I({type:`SET_SEARCH_MATCHES`,matches:n,index:((r+e)%x+x)%x})};return(0,W.jsxs)(`div`,{className:`sessions-ctrls`,id:`sessions-ctrls`,children:[l?(0,W.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`filter-input`,placeholder:s,ref:p,value:e,onChange:e=>I({type:`SET_FILTER`,text:e.target.value}),onKeyDown:e=>{e.key===`Enter`?v():e.key===`Escape`&&v({clear:!0})},onBlur:()=>v()}):e?(0,W.jsxs)(`button`,{className:`ctrl-btn as-chip`,id:`filter-btn`,type:`button`,"aria-label":`Filter: ${e}. Press Esc to clear.`,onClick:e=>{if(e.target.classList.contains(`chip-x`)){I({type:`SET_FILTER`,text:``});return}_()},children:[(0,W.jsxs)(`span`,{className:`chip`,children:[`filter: `,e]}),(0,W.jsx)(`span`,{className:`chip-x`,title:`Clear`,children:`×`})]}):(0,W.jsx)(`button`,{className:`ctrl-btn`,id:`filter-btn`,type:`button`,title:`Filter (f)`,onClick:_,children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#funnel`})})}),h?(0,W.jsxs)(`div`,{className:`search-container`,id:`search-container`,children:[(0,W.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`search-input`,placeholder:`search…`,ref:m,value:t,onChange:e=>I({type:`SET_SEARCH`,text:e.target.value}),onFocus:()=>{d||f(!0)},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),C(1)):e.key===`Escape`&&b({clear:!0})},onBlur:()=>b()}),g&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`match-count`,id:`search-count`,children:S}),(0,W.jsx)(`button`,{className:`ctrl-btn`,id:`search-prev`,type:`button`,title:`Prev (N)`,onMouseDown:e=>e.preventDefault(),onClick:()=>C(-1),children:`↑`}),(0,W.jsx)(`button`,{className:`ctrl-btn`,id:`search-next`,type:`button`,title:`Next (n)`,onMouseDown:e=>e.preventDefault(),onClick:()=>C(1),children:`↓`})]})]}):(0,W.jsx)(`button`,{className:`ctrl-btn`,id:`search-btn`,type:`button`,title:`Search (/)`,onClick:y,children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#magnifier`})})}),o&&(0,W.jsxs)(`button`,{className:`ctrl-btn`,id:`sort-pill`,type:`button`,title:`Cycle sort`,onClick:()=>{R().prefs.sessionsSortOverride&&I({type:`SET_TABLE_SORT`,table:`sessions`,override:null}),I({type:`SET_SORT`,key:Fo(i)})},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#sort-updown`})}),(0,W.jsxs)(`span`,{className:`label`,children:[`sort: `,a?`${a.column} ${a.direction}`:i]})]})]})}function Lo({text:e,query:t}){let n=t.trim().toLowerCase();if(!n)return(0,W.jsx)(W.Fragment,{children:e});let r=e.toLowerCase(),i=[],a=0,o=0;for(;;){let t=r.indexOf(n,a);if(t===-1){a<e.length&&i.push((0,W.jsx)(U.Fragment,{children:e.slice(a)},o++));break}t>a&&i.push((0,W.jsx)(U.Fragment,{children:e.slice(a,t)},o++)),i.push((0,W.jsx)(`mark`,{children:e.slice(t,t+n.length)},o++)),a=t+n.length}return(0,W.jsx)(W.Fragment,{children:i})}function Ro(e,t){let{onRow:n,cellIdx:r,cellCount:i}=t;switch(e){case`ArrowDown`:return{kind:`row`,to:`next`};case`ArrowUp`:return{kind:`row`,to:`prev`};case`Home`:return{kind:`row`,to:`first`};case`End`:return{kind:`row`,to:`last`};case`ArrowRight`:return n?i>0?{kind:`cell`,to:0}:null:r<i-1?{kind:`cell`,to:r+1}:null;case`ArrowLeft`:return n?null:r>0?{kind:`cell`,to:r-1}:{kind:`rowFocus`};case`Enter`:case` `:return n?{kind:`activateRow`}:null;default:return null}}function zo(e){return e==null?`cost-none`:e<.25?`cost-xs`:e<1?`cost-low`:e<3?`cost-mid`:`cost-high`}function Bo(e,t){if(!(t>0)||!Number.isFinite(e))return 0;let n=e/t;return n<0?0:n>1?1:n}var Vo=`.sess-open-conv, .source-detail-open, .model-chip, .project-cell-link`;function Ho(){let e=(0,U.useSyncExternalStore)(F,()=>R().activeSource),t=jn(),n=Vn(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel};(0,U.useSyncExternalStore)(F,()=>R().filterText),(0,U.useSyncExternalStore)(F,()=>R().sessionsSort),(0,U.useSyncExternalStore)(F,()=>R().prefs.sessionsPerPage);let a=(0,U.useSyncExternalStore)(F,()=>R().sourceSessionsSort),o=(0,U.useSyncExternalStore)(F,()=>R().prefs.sessionsSortOverride),s=(0,U.useSyncExternalStore)(F,()=>R().searchMatches),c=(0,U.useSyncExternalStore)(F,()=>R().searchIndex),l=(0,U.useSyncExternalStore)(F,()=>R().searchText),u=(0,U.useSyncExternalStore)(F,()=>R().prefs.sessionsCollapsed),d=Nn(e,Mn(e)),f=d.accountKey!=null,p=d.requestedKey!=null&&!d.scopesSupported,h=zn(),g=e===`all`,_=C(t,e),v=yn(_),y=Ee(),b=ke(_),x=new Set(b.flatMap(e=>e.models)),S=x.size<=1,w=x.size===1?[...x][0]:null,T=i({includeSource:g,oneModel:S}),ee=e===`claude`?o:a,E=Tn(t),D=e===`claude`?t?.sessions?.total??y.length:e===`codex`?(_.entry?.data)?.sessions?.total_sessions??y.length:b.length,O=e===`claude`||g?`No sessions yet.`:`No Codex sessions yet.`,k=e===`claude`?`claude-sessions-table`:g?`source-sessions-table`:`codex-sessions-table`,[te,A]=(0,U.useState)(null),M=c>=0?s[c]:-1,ne=te?y.findIndex(e=>e.key===te):-1,re=y.length===0?-1:ne>=0?ne:M>=0?M:0,ie=new Set(s),N=M,ae=t=>{t.key&&(e===`claude`&&t.source===`claude`?I({type:`OPEN_MODAL`,kind:`session`,sessionId:t.key}):I({type:`OPEN_SOURCE_DETAIL`,source:t.source,resource:`session`,key:t.key}))},P=(0,U.useCallback)(t=>{if(t.shiftKey||t.ctrlKey||t.metaKey||t.altKey)return;let n=t.target,r=n.closest(`tr.source-session-row`);if(!r)return;let i=t.currentTarget,a=n===r,o=Array.from(r.querySelectorAll(Vo)),s=o.filter(e=>e.offsetParent!==null),c=s.length>0?s:o,l=a?-1:c.indexOf(n),u=Ro(t.key,{onRow:a,cellIdx:l,cellCount:c.length});if(!u)return;if(t.preventDefault(),t.stopPropagation(),u.kind===`cell`){c[u.to]?.focus();return}if(u.kind===`rowFocus`){r.focus();return}if(u.kind===`activateRow`){let t=r.dataset.detailSource,n=r.dataset.detailKey;(t===`claude`||t===`codex`)&&n&&I(e===`claude`&&t===`claude`?{type:`OPEN_MODAL`,kind:`session`,sessionId:n}:{type:`OPEN_SOURCE_DETAIL`,source:t,resource:`session`,key:n});return}let d=i.children.length;if(d===0)return;let f=Number(r.dataset.rowIndex),p=u.to===`next`?Math.min(f+1,d-1):u.to===`prev`?Math.max(f-1,0):u.to===`first`?0:d-1,m=i.children[p];m&&(m.focus(),m.scrollIntoView({block:`nearest`}),A(m.dataset.rowKey??null))},[e]),oe=v.mode===`skeleton`||e===`claude`&&!!t?.hydrating&&y.length===0;return(0,W.jsxs)(`section`,{className:`panel accent-orange`+(u?` sessions-collapsed`:``),id:`panel-sessions`,role:`region`,"aria-label":`Recent Sessions panel`,"data-panel-kind":`sessions`,"data-source":e,children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`panel-title-wrap`,style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,W.jsxs)(`h2`,{children:[`Recent Sessions `,(0,W.jsx)(`span`,{className:`sub`,children:oe?`(loading)`:e===`claude`?`(${D} total)`:`(${y.length} shown)`})]}),w&&(0,W.jsxs)(`span`,{className:`sess-model-caption`,title:`All sessions use ${w}`,children:[(0,W.jsx)(`span`,{className:`ms-dot ${xi(w)}`,style:Ci(w),"aria-hidden":`true`}),`all · `,w]}),v.mode===`degraded`&&(0,W.jsx)(ua,{gate:v}),f&&(0,W.jsxs)(`span`,{className:`sessions-account-note`,"data-testid":`sessions-account-note`,title:g?`Showing only ${d.card?.label??`this account`}'s Codex sessions. Claude sessions are not filtered by account.`:`Showing only ${d.card?.label??`this account`}'s sessions.`,children:[g?`Codex: `:``,m(d.card?.label??`focused account`),` only`]}),p&&(0,W.jsx)(`span`,{className:`sessions-unfiltered-note`,"data-testid":`sessions-unfiltered-note`,title:Mn(e)===`codex`?`Codex sessions are not filtered by account (this source published no account scopes).`:`Claude sessions are not filtered by account (conversations are account-agnostic).`,children:`all accounts (unfiltered)`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[!h&&(0,W.jsx)(Io,{}),(0,W.jsx)(Qr,{panel:`sessions`,panelLabel:`Sessions`,triggerId:`sessions-panel`,onClick:()=>I(j(`sessions`,`sessions-panel`))}),(0,W.jsx)($r,{label:`Sessions`,disabled:y.length===0,onOpen:()=>{let e=y[0];e&&ae(e)}}),(0,W.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!u,"aria-controls":`panel-sessions-body`,"aria-label":u?`Expand Recent Sessions`:`Collapse Recent Sessions`,title:u?`Expand (c)`:`Collapse (c)`,onClick:e=>{e.stopPropagation(),I({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!u}})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${u?`chevron-down`:`chevron-up`}`})})}),(0,W.jsx)(Jr,{})]})]}),g&&(0,W.jsx)(`div`,{className:`panel-range-note`,children:`both providers, interleaved`}),h&&(0,W.jsx)(Io,{}),(0,W.jsx)(`div`,{className:`panel-body panel-body--scroll`,id:`panel-sessions-body`,children:oe?(0,W.jsx)(Eo,{lines:4}):y.length===0?(0,W.jsx)(`div`,{className:`panel-empty`,"data-testid":`source-sessions-empty`,children:O}):(0,W.jsxs)(`table`,{className:`sess-table source-sess-table`,role:`grid`,"data-testid":k,children:[(0,W.jsx)(To,{columns:T,override:ee,grid:!0,onChange:t=>I(e===`claude`?{type:`SET_TABLE_SORT`,table:`sessions`,override:t}:{type:`SET_SOURCE_SESSIONS_SORT`,override:t})}),(0,W.jsx)(`tbody`,{id:`sess-rows`,role:`rowgroup`,onKeyDown:P,children:y.map((t,n)=>{let i=ie.has(n),a=n===N,o=t.title||`—`,s=t.recencyUtc?B.startedShort(t.recencyUtc,r,{noSuffix:!0}):`—`;return(0,W.jsxs)(`tr`,{className:`source-session-row session-row`+(i?` search-match`:``)+(a?` search-match-current`:``),role:`row`,tabIndex:n===re?0:-1,"aria-current":a?`true`:void 0,"data-row-index":n,"data-row-key":t.key,"data-session-id":e===`claude`?t.key:void 0,"data-detail-source":t.source,"data-detail-key":t.key,onClick:()=>ae(t),children:[(0,W.jsxs)(`td`,{className:`started recency`,role:`gridcell`,children:[E&&t.source===`claude`&&t.key&&(0,W.jsx)(`button`,{type:`button`,className:`sess-open-conv`,tabIndex:-1,title:`Open conversation`,"aria-label":`Open conversation`,onClick:e=>{e.stopPropagation(),I({type:`OPEN_CONVERSATION`,conversationRef:z(t.key)})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#file-text`})})}),(0,W.jsx)(Lo,{text:s,query:l}),(0,W.jsxs)(`span`,{className:`dur-fold`,children:[` · `,(0,W.jsx)(Lo,{text:t.durationMin==null?`—`:`${t.durationMin}m`,query:l})]})]}),(0,W.jsx)(`td`,{className:`dur`,role:`gridcell`,children:(0,W.jsx)(Lo,{text:t.durationMin==null?`—`:`${t.durationMin}m`,query:l})}),!S&&(0,W.jsx)(`td`,{className:`model model-chip-cell models`,role:`gridcell`,onClick:e=>e.stopPropagation(),children:t.models.length===0?(0,W.jsx)(`span`,{className:`src-model-empty`,"aria-hidden":`true`,children:`—`}):t.models.map(e=>(0,W.jsx)(`button`,{type:`button`,tabIndex:-1,className:`chip model-chip ${xi(e)}`,style:Ci(e),"aria-label":`Filter by ${e}`,onClick:()=>I({type:`SET_FILTER`,text:e}),children:(0,W.jsx)(Lo,{text:e,query:l})},e))}),(0,W.jsx)(`td`,{className:`session`,role:`gridcell`,title:t.title||void 0,children:t.key?(0,W.jsxs)(`button`,{type:`button`,className:`source-detail-open sess-open-title`,tabIndex:-1,"aria-label":e===`claude`?t.title?`Open session details: ${t.title}`:`Open session details, started ${s}`:`Open ${t.source} session details: ${o}`,onClick:e=>{e.stopPropagation(),ae(t)},children:[g&&(0,W.jsx)(la,{source:t.source}),t.title?(0,W.jsx)(Lo,{text:t.title,query:l}):(0,W.jsx)(`span`,{className:`sess-title-empty`,"aria-hidden":`true`,children:`—`})]}):t.title?(0,W.jsx)(Lo,{text:t.title,query:l}):(0,W.jsx)(`span`,{className:`sess-title-empty`,"aria-hidden":`true`,children:`—`})}),(0,W.jsx)(`td`,{className:`project`,role:`gridcell`,children:t.projectKey&&t.projectKey!==`(unknown)`?(0,W.jsx)(`button`,{type:`button`,className:`project-cell-link`,tabIndex:-1,title:t.project,"aria-label":e===`claude`?`Open Projects modal for ${t.projectKey}`:`Open ${t.source} project details: ${t.project}`,onClick:n=>{n.stopPropagation(),I(e===`claude`?{type:`OPEN_MODAL`,kind:`projects`,projectKey:t.projectKey??void 0}:{type:`OPEN_SOURCE_DETAIL`,source:t.source,resource:`project`,key:t.projectKey})},children:(0,W.jsx)(Lo,{text:t.project,query:l})}):(0,W.jsx)(`span`,{title:`Project still resolving`,children:(0,W.jsx)(Lo,{text:t.project,query:l})})}),(0,W.jsx)(`td`,{className:`num cache`,role:`gridcell`,children:t.cacheHitPct==null?`—`:B.pct0(t.cacheHitPct)}),(0,W.jsx)(`td`,{className:`num cost ${zo(t.costUsd)}`,role:`gridcell`,children:(0,W.jsx)(Lo,{text:B.usd2(t.costUsd),query:l})})]},t.key)})})]})})]})}function Uo(){return(0,W.jsx)(Ho,{})}function Wo(e,t){if(e==null||t==null)return null;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)||Number.isNaN(r)||r<=n?null:{startAt:new Date(n).toISOString(),endAt:new Date(r-1).toISOString()}}function Go(e,t,n={}){if(e==null)return null;let r=Ko(e,n.clampEndTo),i=qo(e.startAt,t),a=qo(r,t),o=i!=null&&a!=null&&i!==a?B.dateShortWithYear:B.dateShort,s=o(e.startAt,t),c=o(r,t);return s==null||c==null?null:s===c?s:`${s} – ${c}`}function Ko(e,t){if(t==null)return e.endAt;let n=typeof t==`number`?t:Date.parse(t),r=Date.parse(e.endAt),i=Date.parse(e.startAt);return Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)||n>=r?e.endAt:new Date(Math.max(n,i)).toISOString()}function qo(e,t){let n=B.dateShortWithYear(e,t);return n==null?null:n.slice(-4)}function Jo(e){return e===`codex`?`Codex`:e===`claude`?`Claude`:`A provider`}function Yo(e,t){switch(e.code){case`range_unresolved`:return`The shared range could not be resolved, so the combined ${t} is withheld.`;case`provider_unavailable`:return`${Jo(e.provider)} data is unavailable, so the combined ${t} is withheld.`;case`provider_incoherent`:return`${Jo(e.provider)} data is out of date, so the combined ${t} is withheld.`;case`claude_fold_failed`:return`Claude's totals for the shared range could not be computed, so the combined ${t} is withheld.`;case`retained_range_mismatch`:return`The two providers describe different ranges, so the combined ${t} is withheld.`;case`rows_absent`:return`This page is talking to a server that does not publish the combined ${t}. Reload to pick up the current one.`;default:return`The combined ${t} is withheld (${e.code}).`}}function Xo(e){switch(e){case`trailing_4wk_median_drifted`:return`One or more prior weeks were dropped from this median because their model mix sits outside the calibration’s support, so the rate is measured over a reduced population.`;case`trailing_4wk_median_unverified`:return`The comparability test could not read the entry store, so the prior weeks in this median were not checked against the current metering rate.`;default:return null}}function Zo(e){switch(e){case null:case void 0:case``:return null;case`unsupported-model-mix`:return`The calibration was withheld because the models in use sit outside the mix it was fitted over, so there is no fitted budget behind this change.`;default:return`The calibration was withheld (${e}), so there is no fitted budget behind this change.`}}function Qo(e){switch(e){case`no_usage_observed`:return`No quota usage has been observed in this window, so there is no rate to measure.`;case null:case void 0:case``:return`The $ / 1% rate is unavailable for this window.`;default:return`The $ / 1% rate is unavailable for this window (${e}).`}}var $o=(e,t)=>e<t?-1:+(e>t),es=[{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>$o(e.displayKey??e.key,t.displayKey??t.key),className:`project`},{id:`sessions`,label:`Sessions`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>e.sessionsCount-t.sessionsCount},{id:`first_seen`,label:`First seen`,defaultDirection:`asc`,nullKey:e=>e.firstSeenAt,compare:(e,t)=>$o(e.firstSeenAt,t.firstSeenAt),className:`started`},{id:`last_seen`,label:`Last seen`,defaultDirection:`desc`,nullKey:e=>e.lastSeenAt,compare:(e,t)=>$o(e.lastSeenAt,t.lastSeenAt),className:`started`},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>e.windowCost-t.windowCost},{id:`used_pct`,label:`Used pp (sum)`,title:`Sum of each billing cycle's attributed usage-% over the selected window (percentage-points; can exceed 100 across multiple cycles).`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.windowPct,compare:(e,t)=>e.windowPct-t.windowPct},{id:`share_of_window`,label:`Cost share`,title:`This project's share of total project spend in the selected window.`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.shareOfWindow,compare:(e,t)=>e.shareOfWindow-t.shareOfWindow}],ts=`Each selected window is a set of billing-cycle buckets, and a week that received a credit contributes one bucket per cycle. Reset shifts can leave gaps; the table and drill both use those same buckets. Used pp (sum) adds each bucket’s attributed usage percentage — a sum of percentage points, not a share of any one cycle. Cost share is each project’s share of total project spend in that same window.`,ns=`Claude accounts are folded into one ranking here. Each account has its own weekly quota, so those percentages are never added across accounts.`,rs=5,is=`Project metadata could not be read for this build; it will retry on the next refresh.`;function as(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=ra(e,t),r=n.state===`available`?n.rows:[],i=n.state===`unavailable`,a=e?.sources?.codex?.metadata_health?.state===`transient_read_failure`&&(t===`codex`||t===`all`),o=n.state===`withheld`?n:null,s=Vn(),c=n.state===`available`?n.range:null,l=Go(c==null?null:{startAt:c.start_at,endAt:c.end_at},{tz:s.resolvedTz,offsetLabel:s.offsetLabel},{clampEndTo:e?.generated_at}),u=t===`claude`?`share of quota`:`share of cost`,d=Fi(e,t).hydrating,f=dn(Fi(e,t).warnings,`projects`),p=d&&r.length===0,m=(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#folder`})}),(0,W.jsxs)(`h2`,{children:[`Projects`,` `,(0,W.jsx)(`span`,{className:`sub`,children:p?`(loading)`:o?`(withheld)`:i?`(unavailable)`:t===`claude`?`(${r.length} this week)`:`(${r.length} projects)`})]}),f&&(0,W.jsx)(ua,{gate:{mode:`degraded`,warning:f,noSuccessYet:!1}})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`projects`,panelLabel:`Projects`,triggerId:`projects-panel`,onClick:()=>I(j(`projects`,`projects-panel`))}),(0,W.jsx)($r,{label:`Projects`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`projects`})}),(0,W.jsx)(Jr,{})]})]});if(i||o)return(0,W.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,"data-source":t,role:`region`,"aria-label":`Projects panel`,children:[m,(0,W.jsx)(`div`,{className:`panel-body projects-body`,children:d?(0,W.jsx)(Eo,{}):o?(0,W.jsx)(`div`,{className:`panel-empty panel-withheld`,"data-withheld-code":o.code,children:Yo(o,`ranking`)}):(0,W.jsx)(`div`,{className:`panel-empty`,children:`Projects data unavailable — restart the dashboard.`})})]});let h=r.slice(0,rs),g=r.slice(rs),_=g.reduce((e,t)=>e+t.cost,0),v=g.reduce((e,t)=>e+(t.pct??0),0),y=h[0]?.cost||1,b=[l,t===`all`?`by provider`:null].filter(e=>e!=null),S=t===`claude`||b.length===0?null:(0,W.jsx)(`div`,{className:`panel-range-note`,children:b.join(` · `)}),C=t!==`codex`&&x(e,`claude`)?(0,W.jsx)(`div`,{className:`panel-range-note projects-merged-note`,children:ns}):null,w=()=>{I({type:`OPEN_MODAL`,kind:`projects`})},T=(e,n)=>{I(e===`claude`&&t===`claude`?{type:`OPEN_MODAL`,kind:`projects`,projectKey:n}:{type:`OPEN_SOURCE_DETAIL`,source:e,resource:`project`,key:n})},ee=(e,t)=>n=>{n.stopPropagation(),T(e,t)},E=e=>{let n=`${B.usd2(e.cost)}, ${e.pct==null?`no ${u}`:`${B.pct0(e.pct)} ${u}`}`;return t===`claude`?`Open Projects modal for ${e.key}: ${n}`:`Open ${e.source} project details: ${e.label}: ${n}`};return(0,W.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,"data-source":t,role:`region`,"aria-label":`Projects panel`,onClick:Yn(w),children:[m,S,C,(0,W.jsx)(`div`,{className:`panel-body projects-body`,children:r.length===0?d?(0,W.jsx)(Eo,{}):(0,W.jsx)(`div`,{className:`panel-empty`,"data-codex-metadata-transient":a?`true`:void 0,children:a?is:t===`claude`?`No project activity yet this week.`:l==null?`No project activity in this window.`:`No project activity in ${l}.`}):(0,W.jsxs)(W.Fragment,{children:[a?(0,W.jsx)(`div`,{className:`panel-range-note projects-metadata-note`,"data-codex-metadata-transient":`true`,children:is}):null,(0,W.jsxs)(`div`,{className:`projects-legend`,"data-card-region-ignore":!0,children:[`% = `,u]}),h.map(e=>{let n={"--w":`${e.cost/y*100}%`},r=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`name`,children:t===`all`?`${e.source===`claude`?`Claude`:`Codex`} · ${e.label}`:e.label}),(0,W.jsx)(`div`,{className:`lb-bar`,style:n,"aria-hidden":`true`}),(0,W.jsx)(`span`,{className:`cost`,children:B.usd2(e.cost)}),(0,W.jsxs)(`span`,{className:`pct`,children:[(0,W.jsx)(`span`,{className:`pct-value`,children:e.pct==null?`—`:B.pct0(e.pct)}),(0,W.jsx)(`span`,{className:`sr-only`,children:e.pct==null?` no ${u}`:` ${u}`})]})]});return e.drillable?(0,W.jsx)(`div`,{className:`projects-row`,"data-project-key":e.key,"data-drillable":`true`,role:`button`,tabIndex:0,"aria-label":E(e),onClick:ee(e.source,e.key),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),T(e.source,e.key))},title:e.label,children:r},e.key):(0,W.jsxs)(`div`,{className:`projects-row is-static`,"data-project-key":e.key,"data-drillable":`false`,"data-card-region-ignore":!0,title:`${e.label} — no detail view is available for this project in this range`,children:[r,(0,W.jsx)(`span`,{className:`projects-row-nodrill`,"data-nodrill-reason":!0,children:`no detail view for this range`})]},e.key)}),g.length>0&&(0,W.jsxs)(`div`,{className:`projects-row tail`,"aria-label":`${g.length} more projects`,"data-card-region-ignore":!0,children:[(0,W.jsxs)(`span`,{className:`name muted`,children:[`+`,g.length,` more`]}),(0,W.jsx)(`div`,{className:`lb-bar muted`,style:{"--w":`${_/y*100}%`},"aria-hidden":`true`}),(0,W.jsx)(`span`,{className:`cost muted`,children:B.usd2(_)}),(0,W.jsx)(`span`,{className:`pct muted`,children:v===0?`—`:B.pct0(v)})]})]})})]})}function os(e){let t=e.slice(0,2).map(e=>({model:e.model,display:e.display,pct:e.cost_pct,chip:e.chip}));return{items:t,more:Math.max(0,e.length-t.length)}}function ss({models:e}){let{items:t,more:n}=os(e);return t.length===0?null:(0,W.jsxs)(`div`,{className:`model-legend`,role:`presentation`,"data-card-region-ignore":!0,children:[t.map(e=>(0,W.jsxs)(`span`,{className:`ms-leg`,children:[(0,W.jsx)(`span`,{className:`ms-dot ${e.chip}`,style:Ci(e.model),"aria-hidden":`true`}),e.display,` `,Math.round(e.pct),`%`]},e.model)),n>0&&(0,W.jsxs)(`span`,{className:`ms-leg ms-more`,children:[`+`,n]})]})}function cs({tz:e}){return(0,W.jsxs)(`span`,{className:`instant-zone`,children:[`[`,e,`]`]})}function ls(e){e.source===`claude`?I({type:`OPEN_MODAL`,kind:`block`,blockStartAt:e.start_at}):I({type:`OPEN_SOURCE_DETAIL`,source:e.source,resource:`block`,key:e.key,accountKey:e.accountKey??null})}function us({r:e,maxCost:t,isFirstMount:n,showSource:r,accountLabel:i,zone:a}){let o=t>0?e.value/t*100:0,s=()=>ls(e),c=e.facts_source===`retained`,l=c?` — retained totals from block close`:``;return(0,W.jsxs)(`div`,{className:c?`blocks-row blocks-row--retained`:`blocks-row`,role:`button`,tabIndex:0,"aria-label":i==null?`Open detail for block starting ${e.label} [${a}]${l}`:`Open detail for ${i} block starting ${e.label} [${a}]${l}`,onClick:s,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),s())},children:[(0,W.jsxs)(`div`,{className:`meta`,children:[(0,W.jsxs)(`span`,{className:`label`,children:[r&&(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),i!=null&&(0,W.jsx)(`span`,{className:`blocks-account-chip`,"data-testid":`block-account-chip`,title:`5-hour window owned by ${i}`,children:i}),c&&(0,W.jsx)(`span`,{className:`blocks-facts-chip`,"data-testid":`block-facts-chip`,title:`Totals retained at block close`,"aria-label":`Totals retained at block close`,children:`Retained`}),e.anchor===`heuristic`&&(0,W.jsx)(`span`,{className:`anchor-marker`,"aria-label":`approximate start`,children:`~`}),(0,W.jsxs)(`span`,{className:`blocks-time`,children:[e.label,` `,(0,W.jsx)(cs,{tz:a})]}),e.is_active&&(0,W.jsx)(`span`,{className:`pill-active`,children:`Active`})]}),(0,W.jsx)(`span`,{className:`cost`,children:e.valueLabel})]}),(0,W.jsx)(`div`,{className:`gauge-track`,children:(0,W.jsx)(`div`,{className:`gauge-fill`,style:{width:n?`0%`:`${o}%`},children:e.models.map(e=>(0,W.jsx)(`span`,{className:`seg-${e.chip}`,style:{...Ci(e.model),width:`${e.cost_pct}%`},title:`${e.display} ${B.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})}),(0,W.jsx)(ss,{models:e.models})]})}function ds(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=(0,U.useSyncExternalStore)(F,()=>R().prefs.blocksCollapsed),r=aa(e,t),i=r,a=C(e,`codex`).entry,o=a?.data,s=o?.quota.histories.some(e=>e.window_minutes===300&&!e.model_scoped)??!1,c=Nn(t,Mn(t)),l=(t===`all`?v(a)!=null&&c.accountKey==null:c.scopesSupported&&c.accountKey==null)?new Map((o?.accounts??[]).map(e=>[e.accountKey,e.label])):null,u=e=>e.source===`codex`&&e.accountKey!=null&&l!=null?l.get(e.accountKey)??null:null,d=t===`codex`?`${s?`5h`:`optional 5h`} · current cycle`:t===`all`?`5h · current provider cycles`:`5h · current week`,f=r.length>0?Math.max(...r.map(e=>e.value),0):0,p=r.reduce((e,t)=>e+t.value,0),m=i.some(e=>e.anchor===`heuristic`),h=Vn(),g=t===`all`?oa(r):null,_=t===`all`?Go(sa(r),{tz:h.resolvedTz,offsetLabel:h.offsetLabel},{clampEndTo:e?.generated_at}):null,y=(0,U.useRef)(new Set),[,b]=(0,U.useState)(0);return(0,U.useLayoutEffect)(()=>{let e=i.filter(e=>!y.current.has(e.start_at));if(e.length===0)return;e.forEach(e=>y.current.add(e.start_at));let t=requestAnimationFrame(()=>b(e=>e+1));return()=>cancelAnimationFrame(t)},[i]),(0,W.jsxs)(`section`,{className:`panel accent-blue`+(n?` blocks-collapsed`:``),id:`panel-blocks`,role:`region`,"aria-label":`Blocks panel`,"data-panel-kind":`blocks`,"data-source":t,children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#layers`})}),(0,W.jsx)(`h2`,{children:`Blocks`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`blocks`,panelLabel:`5-hour blocks`,triggerId:`blocks-panel`,onClick:()=>I(j(`blocks`,`blocks-panel`))}),(0,W.jsx)($r,{label:`Blocks`,onOpen:()=>{let e=r.find(e=>e.is_active)??r[0];e&&ls(e)},disabled:r.length===0}),(0,W.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!n,"aria-controls":`panel-blocks-body`,"aria-label":n?`Expand Blocks`:`Collapse Blocks`,title:n?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),I({type:`SAVE_PREFS`,patch:{blocksCollapsed:!n}})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${n?`chevron-down`:`chevron-up`}`})})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-range-note`,children:d}),(0,W.jsx)(`div`,{className:`panel-body`,id:`panel-blocks-body`,children:i.length===0?Fi(e,t).hydrating?(0,W.jsx)(Eo,{}):(0,W.jsx)(`div`,{className:`panel-empty`,children:t===`codex`?s?`No 5-hour activity blocks in the current Codex cycle.`:`No native 5-hour window is currently reported; the 7-day Codex cycle remains available.`:t===`all`?s?`No 5-hour activity blocks in the current provider cycles.`:`No Claude 5-hour activity blocks; Codex is not currently reporting an optional 5-hour window.`:`No activity blocks this week yet.`}):i.map(e=>(0,W.jsx)(us,{r:e,maxCost:f,isFirstMount:!y.current.has(e.start_at),showSource:t===`all`,accountLabel:u(e),zone:h.resolvedTz},e.key))}),r.length>0&&(0,W.jsxs)(`div`,{className:`panel-foot`,children:[(0,W.jsxs)(`span`,{children:[r.length,` blocks`,(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`total`,children:B.usd2(p)}),m&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`legend-anchor`,children:`~ = approximate start`})]})]}),g&&(0,W.jsxs)(`span`,{className:`blocks-foot-attribution`,children:[_&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`span`,{className:`blocks-foot-span`,children:[`windows shown span `,_]}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),g.map((e,t)=>(0,W.jsxs)(`span`,{className:`blocks-foot-leg`,children:[t>0&&(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,e.count,` `,e.count===1?`block`:`blocks`,` `,B.usd2(e.cost)]},e.source))]})]})]})}function fs(){let[e,t]=(0,U.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(In).matches);return(0,U.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(In),n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}var ps=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function ms(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function hs(e){let t=e.split(`-`).map(Number);return`${ps[t[1]-1]} ${t[2]}`}function gs(e,t){let n=e.split(`-`).map(Number),r=t.split(`-`).map(Number),i=n[1],a=n[2],o=r[1],s=r[2];return i===o?`${ps[i-1]} ${a} - ${s}`:`${ps[i-1]} ${a} - ${ps[o-1]} ${s}`}function _s(e,t){return e<=0?`—`:t?`$${Math.ceil(e)}`:B.usd2(e)}function vs({r:e,staggerIndex:t,compact:n}){let r=e.date.slice(8,10),i=_s(e.cost_usd,n),a=[`${e.label} · ${e.cost_usd>0?B.usd2(e.cost_usd):`—`}`,...e.models.map(e=>`${e.display} ${e.cost_pct.toFixed(0)}%`)].join(` · `);return(0,W.jsxs)(`button`,{type:`button`,"data-cell-date":e.date,className:`daily-cell h${e.intensity_bucket}${e.is_today?` is-today`:``} first-mount`,title:a,style:{"--daily-stagger":`${t*30}ms`},onClick:()=>I({type:`OPEN_MODAL`,kind:`daily`,dailyDate:e.date}),children:[(0,W.jsx)(`span`,{className:`d`,children:r}),(0,W.jsx)(`span`,{className:`c`,style:{"--c-len":i.length},children:i})]})}function ys(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=zn(),r=fs(),i=n||r,a=(0,U.useSyncExternalStore)(F,()=>R().prefs.dailyCollapsed),o=Ui(e,t),s=o.state===`available`?o.rows:[],c=o.state===`withheld`?o:null,l=ms([...s].reverse(),7),u=t===`claude`?e?.daily?.total_cost_usd??0:s.reduce((e,t)=>e+t.cost_usd,0),d=t===`claude`?e?.daily?.peak??null:s.reduce((e,t)=>t.cost_usd<=0?e:e==null||t.cost_usd>e.cost_usd?t:e,null),f=Fi(e,t).hydrating&&s.length===0,p=dn(Fi(e,t).warnings,`daily`);return(0,W.jsxs)(`section`,{className:`panel accent-indigo`+(a?` daily-collapsed`:``),id:`panel-daily`,role:`region`,"aria-label":`Daily heatmap panel`,"data-panel-kind":`daily`,"data-source":t,children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#grid`})}),(0,W.jsxs)(`h2`,{children:[`Daily`,` `,(0,W.jsx)(`span`,{className:`sub`,children:`heatmap`})]}),p&&(0,W.jsx)(ua,{gate:{mode:`degraded`,warning:p,noSuccessYet:!1}})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`daily`,panelLabel:`Daily`,triggerId:`daily-panel`,onClick:()=>I(j(`daily`,`daily-panel`))}),(0,W.jsx)($r,{label:`Daily`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`daily`})}),(0,W.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!a,"aria-controls":`panel-daily-body`,"aria-label":a?`Expand Daily`:`Collapse Daily`,title:a?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),I({type:`SAVE_PREFS`,patch:{dailyCollapsed:!a}})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${a?`chevron-down`:`chevron-up`}`})})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-range-note`,children:f?`loading`:c?`withheld`:`30 days${t===`all`?` · both providers`:``}`}),(0,W.jsx)(`div`,{className:`panel-body`,id:`panel-daily-body`,children:f?(0,W.jsx)(Eo,{}):c?(0,W.jsx)(`div`,{className:`panel-empty panel-withheld`,"data-withheld-code":c.code,children:Yo(c,`history`)}):s.length===0?(0,W.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`daily-legend`,"aria-label":`Color intensity legend`,children:[(0,W.jsx)(`span`,{children:`Less`}),(0,W.jsxs)(`span`,{className:`scale`,children:[(0,W.jsx)(`span`,{className:`h0`}),(0,W.jsx)(`span`,{className:`h1`}),(0,W.jsx)(`span`,{className:`h2`}),(0,W.jsx)(`span`,{className:`h3`}),(0,W.jsx)(`span`,{className:`h4`}),(0,W.jsx)(`span`,{className:`h5`})]}),(0,W.jsx)(`span`,{children:`More`})]}),(0,W.jsx)(`div`,{className:`daily-cal-grid`,children:l.map((e,t)=>(0,W.jsxs)(U.Fragment,{children:[(0,W.jsxs)(`div`,{className:`daily-week-label`,children:[(0,W.jsxs)(`span`,{className:`wk`,children:[`W`,t+1]}),(0,W.jsx)(`span`,{className:`rng`,children:gs(e[0].date,e[e.length-1].date)})]}),e.map((e,n)=>(0,W.jsx)(vs,{r:e,staggerIndex:t*7+n,compact:i},e.date)),e.length<7&&(0,W.jsx)(`div`,{className:`daily-month-continues`,style:{gridColumn:`span ${7-e.length}`},"aria-hidden":`true`,children:`Month continues`})]},t))}),(0,W.jsxs)(`div`,{className:`daily-foot`,children:[(0,W.jsxs)(`div`,{className:`daily-foot-col`,"data-total-cell":!0,children:[(0,W.jsx)(`svg`,{className:`daily-foot-icon icon-total`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),(0,W.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,W.jsxs)(`span`,{className:`lbl`,children:[`Total (`,s.length,` days)`]}),(0,W.jsx)(`span`,{className:`val`,children:B.usd2(u)})]})]}),d&&(0,W.jsxs)(`button`,{type:`button`,className:`daily-foot-col daily-foot-peak`,"data-peak-trigger":!0,title:`Click to open Daily modal at peak day`,onClick:()=>I({type:`OPEN_MODAL`,kind:`daily`,dailyDate:d.date}),children:[(0,W.jsx)(`svg`,{className:`daily-foot-icon icon-peak`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,W.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,W.jsx)(`span`,{className:`lbl`,children:`Peak day`}),(0,W.jsxs)(`span`,{className:`val`,children:[(0,W.jsx)(`span`,{className:`d`,children:hs(d.date)}),(0,W.jsx)(`span`,{className:`a`,children:B.usd2(d.cost_usd)})]})]})]})]})]})})]})}function bs(e,t){if(t===`day`)return e.date;let n=e,r=t===`week`?n.week_start_at??n.label:n.label;return n.source==null?r:`${n.source}:${r}`}function xs(e,t,n){if(t==null)return null;let r=e.findIndex(e=>e.key===t);if(r<0)return null;let i=n===`older`?r+1:r-1;return i<0||i>=e.length?null:e[i].key}var Ss=`(prefers-reduced-motion: reduce)`;function Cs(){return(0,U.useSyncExternalStore)(e=>{if(typeof window>`u`||!window.matchMedia)return()=>{};let t=window.matchMedia(Ss);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)},()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Ss).matches,()=>!1)}var ws=(0,U.createContext)(`bento`);function Ts(e,t){return t===`stack`?{visible:e.slice(0,3),hiddenCount:Math.max(0,e.length-3)}:{visible:e,hiddenCount:0}}function Es(e){return[`claude`,`codex`].map(t=>({source:t,label:t===`claude`?`Claude`:`Codex`,cost:e.filter(e=>e.source===t).reduce((e,t)=>e+t.cost_usd,0)}))}function Ds(e){let t=null,n=null,r=``,i=``;for(let a of e){let e=a.week_start_at==null?NaN:Date.parse(a.week_start_at),o=a.week_end_at==null?NaN:Date.parse(a.week_end_at);!Number.isNaN(e)&&(t==null||e<t)&&(t=e,r=a.week_start_at),!Number.isNaN(o)&&(n==null||o>n)&&(n=o,i=a.week_end_at)}return t==null||n==null?null:{startAt:r,endAt:i}}function Os(e){let t=e.map(e=>e.label).filter(e=>typeof e==`string`&&e!==``).sort();if(t.length===0)return null;let n=t[0],r=t[t.length-1];return n===r?n:`${n} – ${r}`}function ks({r:e,isFirstMount:t,reduced:n}){let r=t&&!n,i=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`;return(0,W.jsxs)(`div`,{className:`period`,children:[(0,W.jsxs)(`div`,{className:`meta`,children:[(0,W.jsxs)(`span`,{className:`label`,children:[(0,W.jsx)(Ao,{labels:e.account_labels}),e.label,e.is_current&&(0,W.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,W.jsxs)(`span`,{className:`right`,children:[(0,W.jsx)(`span`,{className:`cost`,children:B.usd2(e.cost_usd)}),(0,W.jsx)(`span`,{className:`delta ${i}`,children:B.deltaPct(e.delta_cost_pct)})]})]}),(0,W.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,W.jsx)(`span`,{className:e.chip,style:{...Ci(e.model),width:r?`0%`:`${e.cost_pct}%`},title:`${e.display} ${B.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))}),(0,W.jsx)(ss,{models:e.models})]})}function As(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=zi(e,t,`weekly`),r=(0,U.useContext)(ws),i=t===`all`?[`claude`,`codex`].map(e=>{let t=n.filter(t=>t.source===e);return{source:e,rows:t,...Ts(t,r)}}):null,a=Ts(n,r),o=i?.flatMap(e=>e.visible)??a.visible,s=i?.reduce((e,t)=>e+t.hiddenCount,0)??a.hiddenCount,c=n.reduce((e,t)=>e+t.cost_usd,0),l=t===`all`?`provider periods`:`cycles`,u=`${n.length} ${l}`,d=Fi(e,t).hydrating,f=Cs(),p=Vn(),m=t===`all`?Es(n):null,h=t===`all`?Go(Ds(n),{tz:p.resolvedTz,offsetLabel:p.offsetLabel},{clampEndTo:e?.generated_at}):null,g=(0,U.useRef)(new Set),[,_]=(0,U.useState)(0);return(0,U.useLayoutEffect)(()=>{let e=o.filter(e=>!g.current.has(bs(e,`week`)));if(e.length===0)return;e.forEach(e=>g.current.add(bs(e,`week`)));let t=requestAnimationFrame(()=>_(e=>e+1));return()=>cancelAnimationFrame(t)},[o]),(0,W.jsxs)(`section`,{className:`panel accent-cyan`,id:`panel-weekly`,role:`region`,"aria-label":`Weekly usage panel`,"data-panel-kind":`weekly`,"data-source":t,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`weekly`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,W.jsxs)(`h2`,{children:[`Weekly`,` `,(0,W.jsx)(`span`,{className:`sub`,children:`(model split)`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`weekly`,panelLabel:`Weekly`,triggerId:`weekly-panel`,onClick:()=>I(j(`weekly`,`weekly-panel`))}),(0,W.jsx)($r,{label:`Weekly`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`weekly`})}),(0,W.jsx)(Jr,{})]})]}),t===`all`&&(0,W.jsx)(`div`,{className:`panel-range-note`,children:`by provider`}),(0,W.jsx)(`div`,{className:`panel-body`,children:n.length===0?d?(0,W.jsx)(Eo,{}):(0,W.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):i?(0,W.jsx)(`div`,{className:`source-all-sections provider-composition provider-composition--panel`,children:i.map(e=>(0,W.jsxs)(`section`,{className:`provider-summary-card source-provider-section weekly-provider-section`,"data-provider-section":e.source,"aria-labelledby":`weekly-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,"data-card-region-ignore":!0,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`weekly-panel-${e.source}-heading`,children:[e.source===`claude`?`Claude`:`Codex`,` weekly quota history`]}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),(0,W.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` cycles`]})]}),e.visible.length===0?(0,W.jsx)(`div`,{className:`panel-source-empty`,children:`No quota history yet.`}):e.visible.map(e=>(0,W.jsx)(ks,{r:e,isFirstMount:!g.current.has(bs(e,`week`)),reduced:f},bs(e,`week`)))]},e.source))}):o.map(e=>(0,W.jsx)(ks,{r:e,isFirstMount:!g.current.has(bs(e,`week`)),reduced:f},bs(e,`week`)))}),n.length>0&&(0,W.jsxs)(`div`,{className:`panel-foot period-foot`,children:[s>0?(0,W.jsxs)(`span`,{children:[(0,W.jsxs)(`button`,{type:`button`,className:`period-foot-more`,"aria-label":`Show all ${n.length} ${l}`,onClick:e=>{e.stopPropagation(),I({type:`OPEN_MODAL`,kind:`weekly`})},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[`+`,s,` more`]}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`total`,children:B.usd2(c)})]}):(0,W.jsxs)(`span`,{children:[u,` total`,(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsxs)(`span`,{className:`total`,children:[B.usd2(c),t===`all`?` combined cost`:``]})]}),m&&(0,W.jsxs)(`span`,{className:`period-foot-attribution`,children:[h&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`period-foot-span`,children:h}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),m.map((e,t)=>(0,W.jsxs)(`span`,{className:`period-foot-leg`,children:[t>0&&(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,B.usd2(e.cost)]},e.source))]})]})]})}function js({r:e,isFirstMount:t,reduced:n}){let r=t&&!n,i=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`;return(0,W.jsxs)(`div`,{className:`period`,children:[(0,W.jsxs)(`div`,{className:`meta`,children:[(0,W.jsxs)(`span`,{className:`label`,children:[e.label,e.is_current&&(0,W.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,W.jsxs)(`span`,{className:`right`,children:[(0,W.jsx)(`span`,{className:`cost`,children:B.usd2(e.cost_usd)}),(0,W.jsx)(`span`,{className:`delta ${i}`,children:B.deltaPct(e.delta_cost_pct)})]})]}),(0,W.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,W.jsx)(`span`,{className:e.chip,style:{...Ci(e.model),width:r?`0%`:`${e.cost_pct}%`},title:`${e.display} ${B.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))}),(0,W.jsx)(ss,{models:e.models})]})}function Ms(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=zi(e,t,`monthly`),r=(0,U.useContext)(ws),i=t===`all`?[`claude`,`codex`].map(e=>{let t=n.filter(t=>t.source===e);return{source:e,rows:t,...Ts(t,r)}}):null,a=Ts(n,r),o=i?.flatMap(e=>e.visible)??a.visible,s=i?.reduce((e,t)=>e+t.hiddenCount,0)??a.hiddenCount,c=n.reduce((e,t)=>e+t.cost_usd,0),l=Fi(e,t).hydrating,u=Cs(),d=t===`all`?Es(n):null,f=t===`all`?Os(n):null,p=t===`all`?`${n.length} provider ${n.length===1?`month`:`months`}`:`${n.length}mo`,m=(0,U.useRef)(new Set),[,h]=(0,U.useState)(0);return(0,U.useLayoutEffect)(()=>{let e=o.filter(e=>!m.current.has(bs(e,`month`)));if(e.length===0)return;e.forEach(e=>m.current.add(bs(e,`month`)));let t=requestAnimationFrame(()=>h(e=>e+1));return()=>cancelAnimationFrame(t)},[o]),(0,W.jsxs)(`section`,{className:`panel accent-pink`,id:`panel-monthly`,role:`region`,"aria-label":`Monthly usage panel`,"data-panel-kind":`monthly`,"data-source":t,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`monthly`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,W.jsxs)(`h2`,{children:[`Monthly`,` `,(0,W.jsx)(`span`,{className:`sub`,children:`(model split)`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`monthly`,panelLabel:`Monthly`,triggerId:`monthly-panel`,onClick:()=>I(j(`monthly`,`monthly-panel`))}),(0,W.jsx)($r,{label:`Monthly`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`monthly`})}),(0,W.jsx)(Jr,{})]})]}),t===`all`&&(0,W.jsx)(`div`,{className:`panel-range-note`,children:`by provider`}),(0,W.jsx)(`div`,{className:`panel-body`,children:n.length===0?l?(0,W.jsx)(Eo,{}):(0,W.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):i?(0,W.jsx)(`div`,{className:`source-all-sections provider-composition provider-composition--panel`,children:i.map(e=>(0,W.jsxs)(`section`,{className:`provider-summary-card source-provider-section monthly-provider-section`,"data-provider-section":e.source,"aria-labelledby":`monthly-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,"data-card-region-ignore":!0,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`monthly-panel-${e.source}-heading`,children:[e.source===`claude`?`Claude`:`Codex`,` monthly history`]}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),(0,W.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` `,e.rows.length===1?`month`:`months`]})]}),e.visible.length===0?(0,W.jsx)(`div`,{className:`panel-source-empty`,children:`No monthly history yet.`}):e.visible.map(e=>(0,W.jsx)(js,{r:e,isFirstMount:!m.current.has(bs(e,`month`)),reduced:u},bs(e,`month`)))]},e.source))}):o.map(e=>(0,W.jsx)(js,{r:e,isFirstMount:!m.current.has(bs(e,`month`)),reduced:u},bs(e,`month`)))}),n.length>0&&(0,W.jsxs)(`div`,{className:`panel-foot period-foot`,children:[s>0?(0,W.jsxs)(`span`,{children:[(0,W.jsxs)(`button`,{type:`button`,className:`period-foot-more`,"aria-label":`Show all ${n.length} months`,onClick:e=>{e.stopPropagation(),I({type:`OPEN_MODAL`,kind:`monthly`})},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[`+`,s,` more`]}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`total`,children:B.usd2(c)})]}):(0,W.jsxs)(`span`,{children:[p,` total`,(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsxs)(`span`,{className:`total`,children:[B.usd2(c),t===`all`?` combined cost`:``]})]}),d&&(0,W.jsxs)(`span`,{className:`period-foot-attribution`,children:[f&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`period-foot-span`,children:f}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),d.map((e,t)=>(0,W.jsxs)(`span`,{className:`period-foot-leg`,children:[t>0&&(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,B.usd2(e.cost)]},e.source))]})]})]})}function Ns({usedPct:e,thresholds:t,compact:n=!1,source:r=`claude`}){let i=t.map(e=>`${e}%`).join(` / `),a=Math.min(...t),o=Math.max(...t),s=e==null?0:Math.max(0,Math.min(e,100)),c=r===`codex`?`No Codex alerts yet`:r===`all`?`No alerts yet across Claude and Codex`:e!=null&&e<a?`You're at ${Math.round(e)}% — well under the line`:`No alerts yet`,l=r===`codex`?`Codex quota alerts fire when native usage crosses ${i}.`:r===`all`?`Provider-native alerts appear at their configured ${i} thresholds.`:`Alerts fire when weekly usage crosses ${i}.`;return(0,W.jsxs)(`div`,{className:`ra-gauge`+(n?` ra-gauge--compact`:``),children:[(0,W.jsxs)(`div`,{className:`ra-gauge-head`,children:[(0,W.jsx)(`span`,{className:`ra-gauge-check`,"aria-hidden":`true`,children:`✓`}),c]}),(0,W.jsx)(`div`,{className:`ra-gauge-hero`,children:e==null?`—`:`${Math.round(e)}%`}),(0,W.jsxs)(`div`,{className:`ra-gauge-bar`,children:[(0,W.jsx)(`div`,{className:`ra-gauge-fill`,style:{width:`${s}%`}}),t.map((e,t)=>(0,W.jsx)(`span`,{className:`ra-gauge-tick `+(e===a?`tick-amber`:e===o?`tick-red`:`tick-mid`),"data-th":String(e),style:{left:`${e}%`}},`${e}-${t}`))]}),(0,W.jsx)(`div`,{className:`ra-gauge-copy`,children:l})]})}function Ps(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=(0,U.useSyncExternalStore)(F,()=>R().alerts),r=(0,U.useSyncExternalStore)(F,()=>R().prefs.alertsCollapsed),i=e?.sources!=null,o=C(e??null,t),c=Nn(t,Mn(t)),d=c.accountKey!=null,f=s(o,n.map(e=>({...e,source:`claude`,key:e.id})),i),p=(0,U.useSyncExternalStore)(F,()=>R().accountFocus),h={claude:u(e,t,`claude`,p),codex:u(e,t,`codex`,p)},g=f.some(e=>a(e)!=null),_=[`claude`,`codex`].filter(e=>h[e]!=null),v=_.length>0&&(g||d),y=_.length>0&&!g&&!d,b=l(f,h),x=_.map(t=>(e?.sources?.[t]?.data?.accounts??[]).find(e=>e.accountKey===h[t])??null).filter(e=>e!=null),S=c.card??x[0]??null,T=_.length===1?_[0]:null,ee=t===`all`&&T!=null,E=T===`codex`?`Codex`:`Claude`,D=T===`codex`?`Claude`:`Codex`,O=_.length>1?`focused accounts`:`${ee?`${E}: `:``}${m(S?.label??`focused account`)}`,k=(0,U.useSyncExternalStore)(F,()=>R().alertsConfig),te=e?.sources?.codex?.data?.quota.summary,A=k.weekly_thresholds?.length?k.weekly_thresholds:[90,95],j=e?.sources?.codex?.data?.alerts.actual_thresholds?.length?e.sources.codex.data.alerts.actual_thresholds:[90,95],M=t===`claude`?e?.header?.used_pct??null:t===`codex`?c.scopesSupported&&c.accountKey==null?null:te?.latest_percent??null:null,ne=t===`claude`?A:t===`codex`?j:[...new Set([...A,...j])].sort((e,t)=>e-t),re=Vn(),ie={tz:re.resolvedTz,offsetLabel:re.offsetLabel},N=b.slice(0,10),ae=b.length,P=()=>{cc.alerts.openAction()};return(0,W.jsxs)(`section`,{className:`panel accent-amber`+(r?` alerts-collapsed`:``),id:`panel-alerts`,role:`region`,"aria-label":`Recent alerts panel`,"data-panel-kind":`alerts`,onClick:Yn(P),children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#bell`})}),(0,W.jsxs)(`h2`,{children:[`Recent alerts `,(0,W.jsx)(`span`,{className:`sub`,children:`(last 10)`})]}),v&&(0,W.jsxs)(`span`,{className:`alerts-account-note`,"data-testid":`alerts-account-note`,title:_.length>1?`Showing only the focused accounts’ alerts, plus vendor-wide crossings.`:ee?`Showing only ${S?.label??`this account`}'s ${E} alerts, plus vendor-wide crossings. ${D} alerts are not filtered by account.`:`Showing only ${S?.label??`this account`}'s alerts, plus vendor-wide crossings.`,children:[O,` only`]}),y&&(0,W.jsx)(`span`,{className:`alerts-unfiltered-note`,"data-testid":`alerts-unfiltered-note`,title:T==null?`These alerts are not filtered by account (showing all accounts).`:`${E} alerts are not filtered by account (showing all accounts).`,children:`all accounts (unfiltered)`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Recent alerts`,onOpen:P}),(0,W.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!r,"aria-controls":`panel-alerts-body`,"aria-label":r?`Expand Recent alerts`:`Collapse Recent alerts`,title:r?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),I({type:`SAVE_PREFS`,patch:{alertsCollapsed:!r}})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${r?`chevron-down`:`chevron-up`}`})})}),(0,W.jsx)(Jr,{})]})]}),t===`all`&&(0,W.jsx)(`div`,{className:`panel-range-note`,children:`Both providers, newest first`}),(0,W.jsx)(`div`,{className:`panel-body`,id:`panel-alerts-body`,children:N.length===0?(0,W.jsx)(Ns,{source:t,usedPct:M,thresholds:ne,compact:!0}):(0,W.jsx)(`ul`,{className:`alerts-list`,children:N.map(e=>{let n=Ae(e),r=a(e),i=B.startedShortOrNull(n.whenIso,ie),o=B.relativeOrAbsolute(n.whenIso??``,ie);return(0,W.jsxs)(`li`,{className:`alert-row`,children:[(0,W.jsxs)(`span`,{className:`alert-threshold severity-${n.severity} ${n.severity}`,children:[n.threshold,`%`]}),(0,W.jsx)(`span`,{className:`chip ${n.chipClass}`,children:n.chipLabel}),t===`all`&&(0,W.jsx)(`span`,{className:`source-chip source-chip--${n.source}`,children:n.sourceLabel}),r!=null&&(0,W.jsx)(`span`,{className:`alert-account-chip`,"data-testid":r.key===`*`?`alert-vendor-wide`:`alert-account-chip`,title:r.key===`*`?`A vendor-wide crossing — not attributable to one account.`:r.label,children:r.label}),(0,W.jsxs)(`span`,{className:`alert-when`,title:i??void 0,children:[o,o===`—`?null:(0,W.jsxs)(W.Fragment,{children:[` `,(0,W.jsx)(cs,{tz:ie.tz})]})]})]},w(e))})})}),ae>0&&(0,W.jsxs)(`div`,{className:`panel-foot alerts-foot`,children:[N.length,` of `,ae,` shown`]})]})}function Fs(e){let t=e.length,n=e.filter(e=>e.observed!==!1).length,r=`${t} ${t===1?`day`:`days`}`;return n===t?r:`${r}, ${n} measured`}function Is(e,t=`claude`){return t===`codex`?e.cached_input_percent??null:e.cache_hit_percent??null}function Ls(e,t=`claude`){let n=Is(e,t);return n===null?null:`${B.pctFloor(n)}%`}function Rs(e,t){return e.not_applicable?.[t]??null}var zs=Object.freeze({percentLabel:`Cache hit`,percentLabelInline:`cache hit`,percentColumnHeader:`Cache %`,timelineHeading:`Cache hit %`,sparklineLabel:`Cache hit % timeline`,netBarsHeading:`Net $ per day · saved (green) − wasted (red)`,netBarsCaption:`positive bars = caching helped`,counterfactualLead:`Without caching, you'd have paid`,efficiencyLabel:`cache efficiency`,reasonLabel:e=>e,thresholdLegend:e=>`${e}pp drop, net < 0`}),Bs=Object.freeze({percentLabel:`Cached input`,percentLabelInline:`cached input`,percentColumnHeader:`Reuse %`,timelineHeading:`Cached input %`,sparklineLabel:`Cached input % timeline`,netBarsHeading:`Net $ per day · reuse savings (green)`,netBarsCaption:`bars = input reuse savings`,counterfactualLead:`Without input reuse, you'd have paid`,efficiencyLabel:`reuse efficiency`,reasonLabel:e=>e===`cache_drop`?`reuse drop`:e,thresholdLegend:e=>`${e}pp reuse drop`});function Vs(e){return e===`codex`?Bs:zs}function Hs(e,t,n,r={}){let i=r.minSpan??12,a=r.pad??1;if(e.length===0)return{lo:0,hi:100};let o=[...e];t!=null&&Number.isFinite(t)&&o.push(t-n,t+n);let s=Math.min(...o)-a,c=Math.max(...o)+a;if(c-s<i){let e=(s+c)/2;s=e-i/2,c=e+i/2}return s=Math.max(0,s),c=Math.min(100,c),c-s<i&&(c>=100?s=Math.max(0,100-i):c=Math.min(100,s+i)),{lo:s,hi:c}}var Us={mini:{chartWidth:272,padX:0,gap:1},large:{chartWidth:800,padX:28,gap:4}};function Ws(e,t,n){if(!Number.isInteger(n)||n<1)throw RangeError(`cache report chart count must be a positive integer`);if(!Number.isInteger(t)||t<0||t>=n)throw RangeError(`cache report chart index must address an existing slot`);let{chartWidth:r,padX:i,gap:a}=Us[e],o=(r-2*i-a*(n-1))/n,s=i+t*(o+a);return{chartWidth:r,left:s,center:s+o/2,right:s+o,width:o}}var Gs={mini:{width:272,height:32,padTop:4,padBot:4},large:{width:800,height:90,padTop:6,padBot:6}},Ks=1;function qs({days:e,baseline_median_percent:t,today_marker_color:n,size:r,source:i}){let a=i??`claude`,o=Vs(a),s=Gs[r],c=r===`large`,l=[...e].reverse(),u=l.map((e,t)=>({d:e,i:t,pct:Is(e,a)})).filter(({d:e,pct:t})=>e.observed!==!1&&t!==null),d=c?Hs(u.map(({pct:e})=>e),t,5):{lo:0,hi:100},f=c?{width:`100%`}:{width:`100%`,height:s.height,preserveAspectRatio:`none`};if(l.length===0){let e=(0,W.jsx)(`svg`,{className:`cr-spark`,...f,viewBox:`0 0 ${s.width} ${s.height}`,"aria-label":`no data`});return c?(0,W.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,W.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:[Math.round(d.hi),`%`]}),e,(0,W.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:[Math.round(d.lo),`%`]})]}):e}let p=e=>{let t=d.hi-d.lo||1,n=(Math.max(d.lo,Math.min(d.hi,e))-d.lo)/t;return s.padTop+(1-n)*(s.height-s.padTop-s.padBot)},m=e=>Ws(r,e,l.length).center,h=u.map(({i:e,pct:t})=>`${m(e).toFixed(1)},${p(t).toFixed(1)}`).join(` `),g=l.length-1,_=l[g],v=Is(_,a),y=_.observed!==!1,b=y&&v!==null,x=m(g),S=x,C=(0,W.jsxs)(`svg`,{className:`cr-spark`,...f,viewBox:`0 0 ${s.width} ${s.height}`,"aria-label":`${o.sparklineLabel}, ${Fs(l)}`,children:[c&&[{k:`hi`,pct:d.hi,bound:!0},{k:`mid`,pct:(d.lo+d.hi)/2,bound:!1},{k:`lo`,pct:d.lo,bound:!0}].map(({k:e,pct:t,bound:n})=>(0,W.jsx)(`line`,{x1:0,x2:s.width,y1:p(t),y2:p(t),stroke:n?`rgba(255,255,255,0.45)`:`rgba(255,255,255,0.18)`,strokeWidth:n?1:.5,strokeDasharray:n?void 0:`4,3`,opacity:1,"data-testid":`cr-spark-gridline-${e}`},`grid-${e}`)),t!==null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`rect`,{x:0,y:p(t+5),width:s.width,height:p(t-5)-p(t+5),fill:`var(--accent-cyan)`,opacity:.1}),(0,W.jsx)(`line`,{x1:0,x2:s.width,y1:p(t),y2:p(t),stroke:`var(--accent-cyan)`,strokeWidth:.5,strokeDasharray:`3,3`,opacity:.6})]}),(0,W.jsx)(`polyline`,{points:h,fill:`none`,stroke:`var(--accent-cyan)`,strokeWidth:c?2:1.5}),b?(0,W.jsx)(`circle`,{cx:x,cy:p(v),r:c?5:3.5,fill:n,"data-testid":`cr-spark-today-marker`}):(0,W.jsx)(`line`,{x1:S,x2:S,y1:s.padTop,y2:s.height-s.padBot,stroke:`var(--text-dim)`,strokeWidth:Ks,strokeDasharray:`3,3`,"data-testid":`cr-spark-today-unobserved`,children:(0,W.jsx)(`title`,{children:y?`No cache percentage published for today`:`No activity today`})})]});return c?(0,W.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,W.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:[Math.round(d.hi),`%`]}),C,(0,W.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:[Math.round(d.lo),`%`]})]}):C}var Js={mini:{width:272,height:28,padX:0,padTop:2,padBot:2,barGap:1},large:{width:800,height:110,padX:28,padTop:28,padBot:28,barGap:4}};function Ys({days:e,size:t,source:n}){let r=Vs(n??`claude`),i=Js[t],a=t===`large`,o=[...e].reverse(),s=e=>e.wasted_usd??0;if(o.length===0)return a?(0,W.jsxs)(`div`,{className:`crm-section`,children:[(0,W.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[`Net $ per day`,(0,W.jsx)(`span`,{className:`meta`,children:`no data`})]}),(0,W.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,W.jsx)(`div`,{style:{color:`var(--text-dim)`,fontSize:11,padding:`8px 4px`},children:`No daily activity to render.`})})]}):(0,W.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${i.width} ${i.height}`,preserveAspectRatio:`none`,"aria-label":`no data`});if(a){let e=Math.max(1e-9,...o.map(e=>Math.max(e.saved_usd+s(e),Math.abs(e.net_usd)))),n=(i.height-i.padTop-i.padBot)/2/e,a=i.padTop+(i.height-i.padTop-i.padBot)/2,c=e=>Ws(t,e,o.length);return(0,W.jsxs)(`div`,{className:`crm-section`,children:[(0,W.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[r.netBarsHeading,(0,W.jsx)(`span`,{className:`meta`,children:r.netBarsCaption})]}),(0,W.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,W.jsxs)(`svg`,{viewBox:`0 0 ${i.width} ${i.height}`,width:`100%`,height:i.height,"aria-label":`Per-day net dollar chart, ${Fs(o)}`,children:[(0,W.jsx)(`line`,{x1:i.padX,x2:i.width-i.padX,y1:a,y2:a,stroke:`var(--border-soft)`,strokeWidth:1}),o.map((e,t)=>({d:e,i:t})).filter(({d:e})=>e.observed!==!1).map(({d:e,i:t})=>{let{left:r,width:i}=c(t);if(e.net_usd>=0){let t=e.saved_usd*n,o=s(e)*n;return(0,W.jsxs)(`g`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`pos`,children:[(0,W.jsx)(`rect`,{x:r,y:a-t,width:i,height:t,fill:`var(--accent-green)`,rx:2}),o>0&&(0,W.jsx)(`rect`,{x:r,y:a-t-o,width:i,height:o,fill:`var(--accent-red)`,opacity:.75,rx:2})]},e.date)}let o=Math.abs(e.net_usd)*n;return(0,W.jsx)(`rect`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`neg`,x:r,y:a,width:i,height:o,fill:`var(--accent-amber)`,rx:2},e.date)}),o.map((e,t)=>{let n=c(t).center,r=t===o.length-1?`Today`:B.calDate(e.date);return(0,W.jsx)(`text`,{x:n,y:i.height-6,fill:`var(--text-dim)`,fontSize:9,textAnchor:`middle`,children:r},`l-${e.date}`)})]})})]})}let c=i.height-i.padTop-i.padBot,l=Math.max(1e-9,...o.map(e=>Math.abs(e.net_usd))),u=e=>Ws(t,e,o.length);return(0,W.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${i.width} ${i.height}`,preserveAspectRatio:`none`,"aria-label":`Net dollar bars, ${Fs(o)}`,children:o.map((e,t)=>({d:e,i:t})).filter(({d:e})=>e.observed!==!1).map(({d:e,i:t})=>{let{left:n,width:r}=u(t),a=Math.max(1,Math.abs(e.net_usd)/l*c),o=i.height-i.padBot-a,s=e.net_usd>=0?`var(--accent-green)`:`var(--accent-amber)`;return(0,W.jsx)(`rect`,{"data-testid":`crm-netbar-mini`,"data-date":e.date,"data-sign":e.net_usd>=0?`pos`:`neg`,x:n,y:o,width:r,height:a,fill:s,rx:1},e.date)})})}var Xs=[`net_negative`,`cache_drop`];function Zs(e,t=Xs){let n=e.anomaly_unevaluated??[],r=e.observed!==!1,i;return i=e.anomaly_triggered?`anomalous`:n.length===0?`clean`:n.length>=t.length?`unevaluated`:`partial`,{state:i,triggered:e.anomaly_triggered,unevaluated:n,observed:r}}function Qs(e){return e===`anomalous`?`⚠`:e===`clean`?`✓`:`·`}function $s(e){return e===`anomalous`?`flag-warn`:e===`clean`?`flag-ok`:`flag-none`}function ec(e,t,n=!0,r=e=>e){return e===`anomalous`?`anomaly`:e===`clean`?`evaluated, no anomaly`:n?`not evaluated — ${t.map(r).join(` and `)} could not be evaluated for this day`:`no activity — nothing measured to evaluate`}function tc(e){return e.anomaly_predicates??Xs}function nc(e){let t=e.today.baseline_daily_row_count<5,n=e.today.anomaly_triggered&&!t,r=Zs(e.today,tc(e));return{insufficient:t,chromeAmber:n,todayObserved:r.observed,today:r}}var rc=`var(--accent-teal)`,ic=`var(--accent-amber)`,ac=`var(--accent-green)`;function oc({section:e}){let t=e.value,n=Vs(e.source),r=t?.days.reduce((e,t)=>e+t.net_usd,0)??0,i=t==null?null:nc(t);return(0,W.jsxs)(`div`,{className:`source-provider-section provider-summary-card cache-provider-summary`,"data-provider-section":e.source,role:`region`,"aria-labelledby":`cache-report-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head`,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`cache-report-panel-${e.source}-heading`,children:[e.label,` cache report`]}),(0,W.jsx)(la,{source:e.source}),e.status!==`available`&&(0,W.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),t==null?(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`provider-summary-kpis`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`provider-summary-label`,children:n.percentLabel}),(0,W.jsx)(`strong`,{className:`provider-summary-value`,children:i.todayObserved?Ls(t.today,e.source)??`—`:`—`})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`span`,{className:`provider-summary-label`,children:[t.window_days,`d net`]}),(0,W.jsx)(`strong`,{className:r<0?`provider-summary-value warn`:`provider-summary-value ok`,children:B.usdSigned(r)})]})]}),(0,W.jsxs)(`div`,{className:`provider-summary-foot`,children:[(0,W.jsx)(`span`,{children:i.insufficient?`~ Building baseline · ${t.today.baseline_daily_row_count}/5`:i.chromeAmber?`⚠ anomaly`:i.todayObserved?`✓ healthy`:`· no activity today`}),(0,W.jsxs)(`span`,{children:[t.window_days,`d native report`]})]}),e.reason&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason})]})]})}function sc(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=zn(),r=Nn(t,Mn(t)),i=n?` cache-report-collapsed`:``,a=()=>{I({type:`OPEN_MODAL`,kind:`cache-report`})},o=ca(e,t);if(t===`all`)return(0,W.jsxs)(`section`,{className:`panel accent-teal${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":`all`,role:`region`,"aria-label":`Cache Report · Claude and Codex`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsxs)(`h2`,{style:{color:rc},children:[`Cache Report `,(0,W.jsx)(`span`,{className:`sub`,children:`by provider`})]})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-body source-all-sections provider-composition provider-composition--panel`,children:o.sections.map(e=>(0,W.jsx)(oc,{section:e},e.source))})]});let s=o.sections[0],c=s?.value??null,l=Fi(e,t).hydrating,u=s&&s.status!==`available`?(0,W.jsx)(`span`,{className:`provider-section-status`,children:s.status}):null,d=s?.reason??null,f=c==null&&r.source===t&&r.accountKey!==null&&r.isEmpty,p=s?.status===`empty`||c?.is_empty===!0||f,m=Vs(t);if(!c&&l&&!p)return(0,W.jsxs)(`section`,{className:`panel accent-teal${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsxs)(`h2`,{style:{color:rc},children:[`Cache Report `,(0,W.jsx)(`span`,{className:`sub`,children:`(loading)`})]})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-body`,children:(0,W.jsx)(Eo,{lines:2})})]});if(p){let e=s?.status===`empty`||f,n=e?null:u,r=e?null:d;return(0,W.jsxs)(`section`,{className:`panel accent-teal${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report · empty`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsx)(`h2`,{style:{color:rc},children:`Cache Report`}),n]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`cr-status-row`,children:[(0,W.jsx)(`span`,{className:`cr-glyph empty`,"aria-hidden":`true`,children:`−`}),(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`div`,{className:`cr-headline`,children:[`No `,s?.label??`Claude`,` activity yet`]}),(0,W.jsx)(`div`,{className:`cr-subline`,children:`Run a session to start tracking`}),r&&(0,W.jsx)(`div`,{className:`cr-subline`,children:r})]})]})]})}if(!c)return(0,W.jsxs)(`section`,{className:`panel accent-amber${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report · failed`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsx)(`h2`,{style:{color:ic},children:`Cache Report`}),u]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`cr-status-row`,children:[(0,W.jsx)(`span`,{className:`cr-glyph fail`,"aria-hidden":`true`,children:`!`}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`cr-headline`,children:`Cache Report unavailable`}),(0,W.jsx)(`div`,{className:`cr-subline`,children:`The snapshot could not be built. Retrying on the next sync.`}),d&&(0,W.jsx)(`div`,{className:`cr-subline`,children:d})]})]})]});let h=nc(c),g=c.today.anomaly_triggered,{insufficient:_}=h,v=h.todayObserved,y=h.chromeAmber,b=y?`accent-amber`:`accent-teal`,x=y?ic:rc,S=y?ic:ac,C,w,T=null;if(_){C={icon:`~`,cls:`thin`};let e=c.today.baseline_daily_row_count;w=(0,W.jsxs)(W.Fragment,{children:[`Building baseline · `,e,`/`,5,` days`]}),T=v?(0,W.jsxs)(W.Fragment,{children:[`Today: `,m.percentLabelInline,` `,Ls(c.today,t)??`—`,` · net`,` `,B.usdSigned(c.today.net_usd)]}):(0,W.jsx)(W.Fragment,{children:`No activity today`})}else if(g){if(C={icon:`⚠`,cls:`warn`},c.today.anomaly_reasons.includes(`cache_drop`)&&c.today.delta_pp!==null){let e=B.pctFloor(Math.abs(c.today.delta_pp));w=(0,W.jsxs)(W.Fragment,{children:[`Today: `,m.percentLabelInline,` `,(0,W.jsxs)(`span`,{className:`delta-bad`,children:[`↓ `,e,`pp`]})]})}else w=(0,W.jsxs)(W.Fragment,{children:[`Today: net`,` `,(0,W.jsx)(`span`,{className:`delta-bad`,children:B.usdSigned(c.today.net_usd)})]});T=(0,W.jsxs)(W.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:B.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,W.jsx)(`span`,{className:`warn`,children:B.usdSigned(c.today.net_usd)})]})}else v?(C={icon:`✓`,cls:`ok`},w=(0,W.jsxs)(W.Fragment,{children:[`Today: `,m.percentLabelInline,` `,(0,W.jsx)(`span`,{className:`delta-good`,children:Ls(c.today,t)??`—`})]}),T=(0,W.jsxs)(W.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:B.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,W.jsx)(`span`,{className:`ok`,children:B.usdSigned(c.today.net_usd)})]})):(C={icon:`·`,cls:`thin`},w=(0,W.jsx)(W.Fragment,{children:`No activity today`}),T=(0,W.jsxs)(W.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:B.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net —`]}));let ee=c.days.reduce((e,t)=>e+t.net_usd,0),E=ee>=0?`ok`:`warn`,D=_?(0,W.jsxs)(W.Fragment,{children:[`Watchdog activates at `,5,` days of history`]}):(0,W.jsxs)(W.Fragment,{children:[c.window_days,`d net:`,` `,(0,W.jsx)(`span`,{className:E,children:B.usdSigned(ee)})]});return(0,W.jsxs)(`section`,{className:`panel ${b}${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsxs)(`h2`,{style:{color:x},children:[`Cache Report`,y&&(0,W.jsx)(`span`,{className:`sub`,children:`⚠ Today`})]}),u]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`cr-status-row`,children:[(0,W.jsx)(`span`,{className:`cr-glyph ${C.cls}`,children:C.icon}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`cr-headline`,children:w}),(0,W.jsx)(`div`,{className:`cr-subline`,children:T})]})]}),!_&&c.days.length>0&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(qs,{days:c.days,baseline_median_percent:c.today.baseline_median_percent,today_marker_color:S,size:`mini`,source:t}),(0,W.jsx)(`div`,{className:`cr-netbars-mini-wrap`,children:(0,W.jsx)(Ys,{days:c.days,size:`mini`,source:t})})]}),(0,W.jsx)(`div`,{className:`cr-subline second`,children:D}),d&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:d})]})}var cc={forecast:{id:`forecast`,label:`Forecast`,Component:bo,openAction:()=>I({type:`OPEN_MODAL`,kind:`forecast`})},trend:{id:`trend`,label:`Trend`,Component:Po,openAction:()=>I({type:`OPEN_MODAL`,kind:`trend`})},sessions:{id:`sessions`,label:`Sessions`,Component:Uo,openAction:kr},projects:{id:`projects`,label:`Projects`,Component:as,openAction:()=>I({type:`OPEN_MODAL`,kind:`projects`})},blocks:{id:`blocks`,label:`Blocks`,Component:ds,openAction:Ar},daily:{id:`daily`,label:`Daily`,Component:ys,openAction:()=>I({type:`OPEN_MODAL`,kind:`daily`})},weekly:{id:`weekly`,label:`Weekly`,Component:As,openAction:()=>I({type:`OPEN_MODAL`,kind:`weekly`})},monthly:{id:`monthly`,label:`Monthly`,Component:Ms,openAction:()=>I({type:`OPEN_MODAL`,kind:`monthly`})},alerts:{id:`alerts`,label:`Recent alerts`,Component:Ps,openAction:()=>I({type:`OPEN_MODAL`,kind:`alerts`})},"cache-report":{id:`cache-report`,label:`Cache Report`,Component:sc,openAction:()=>I({type:`OPEN_MODAL`,kind:`cache-report`})}};function lc({onClose:e,label:t=`Close`,className:n=`modal-close`,disabled:r}){return(0,W.jsx)(`button`,{type:`button`,className:n,"aria-label":t,onClick:e,disabled:r,children:`×`})}function uc({title:e,titleId:t,className:n=`modal-header`,headerExtras:r,onClose:i,closeLabel:a,closeClassName:o,closeDisabled:s}){return(0,W.jsxs)(`header`,{className:n,children:[(0,W.jsx)(`h2`,{id:t,tabIndex:-1,children:e}),r,i?(0,W.jsx)(lc,{onClose:i,label:a,className:o,disabled:s}):null]})}var dc=[{keys:[`r`],desc:`force refresh`},{keys:[`v`],desc:`cycle source (Claude / Codex / All)`},{keys:[`a`],desc:`cycle account (multi-account sources)`},{keys:[`s`],desc:`open Settings`},{keys:[`d`],desc:`open Doctor`},{keys:[`e`],desc:`explain where this window’s cost went`},{keys:[`S`],desc:`share the focused panel (focus a panel first)`},{keys:[`B`],desc:`open the report composer`},{keys:[`f`],desc:`filter Sessions`},{keys:[`/`],desc:`search Sessions`},{keys:[`c`],desc:`collapse / expand the Sessions panel`},{keys:[`n`,`N`],desc:`next / previous search match`},{keys:[`q`],desc:`quit (close the tab)`},{keys:[`?`],desc:`toggle this help`},{keys:[`Esc`],desc:`close`}];function fc({panelOrder:e}){return(0,W.jsx)(`table`,{children:(0,W.jsxs)(`tbody`,{children:[e.map((e,t)=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:t<9?(0,W.jsx)(`kbd`,{children:String(t+1)}):t===9?(0,W.jsx)(`kbd`,{children:`0`}):(0,W.jsx)(`span`,{"aria-hidden":`true`,children:`—`})}),(0,W.jsxs)(`td`,{children:[`Open `,cc[e]?.label??e,` modal`]})]},e)),dc.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:e.keys.map(e=>(0,W.jsx)(`kbd`,{children:e},e)).reduce((e,t)=>[e,` / `,t])}),(0,W.jsx)(`td`,{children:e.desc})]},e.desc)),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:`Hold + drag a card`}),(0,W.jsx)(`td`,{children:`rearrange the dashboard`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`Shift`}),`+`,(0,W.jsx)(`kbd`,{children:`↑`}),`/`,(0,W.jsx)(`kbd`,{children:`↓`})]}),(0,W.jsx)(`td`,{children:`swap focused card with neighbor`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`↑`}),`/`,(0,W.jsx)(`kbd`,{children:`↓`})]}),(0,W.jsx)(`td`,{children:`Select period (Daily / Weekly / Monthly modal)`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:`Click the hero, or focus it and press Enter or Space`}),(0,W.jsx)(`td`,{children:`Open the Current Usage modal`})]})]})})}function Z(){return(0,W.jsx)(`table`,{className:`help-conversations`,children:(0,W.jsxs)(`tbody`,{children:[(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:2,children:(0,W.jsx)(`strong`,{children:`Conversations`})})}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`j`}),` / `,(0,W.jsx)(`kbd`,{children:`k`})]}),(0,W.jsx)(`td`,{children:`move turns`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`[`}),` / `,(0,W.jsx)(`kbd`,{children:`]`})]}),(0,W.jsx)(`td`,{children:`collapse / expand all`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`g`})}),(0,W.jsx)(`td`,{children:`jump to top`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`e`}),` / `,(0,W.jsx)(`kbd`,{children:`E`})]}),(0,W.jsx)(`td`,{children:`next / prev error`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`u`}),` / `,(0,W.jsx)(`kbd`,{children:`U`})]}),(0,W.jsx)(`td`,{children:`next / prev prompt`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`b`}),` / `,(0,W.jsx)(`kbd`,{children:`B`})]}),(0,W.jsx)(`td`,{children:`next / prev subagent`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`p`}),` / `,(0,W.jsx)(`kbd`,{children:`P`})]}),(0,W.jsx)(`td`,{children:`next / prev plan / question`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`c`}),` / `,(0,W.jsx)(`kbd`,{children:`C`})]}),(0,W.jsx)(`td`,{children:`next / prev cache rebuild`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`m`}),` / `,(0,W.jsx)(`kbd`,{children:`M`})]}),(0,W.jsx)(`td`,{children:`next / prev compaction`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`h`}),` / `,(0,W.jsx)(`kbd`,{children:`H`})]}),(0,W.jsx)(`td`,{children:`next / prev reasoning heading`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`a`})}),(0,W.jsx)(`td`,{children:`jump to last prompt`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`L`})}),(0,W.jsx)(`td`,{children:`jump to last error`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`o`})}),(0,W.jsx)(`td`,{children:`toggle outline`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`v`})}),(0,W.jsx)(`td`,{children:`cycle focus mode`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`/`})}),(0,W.jsx)(`td`,{children:`find in conversation`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`f`})}),(0,W.jsx)(`td`,{children:`focus the conversation-list search`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`Esc`})}),(0,W.jsx)(`td`,{children:`close`})]})]})})}function pc(){return(0,W.jsxs)(`ul`,{className:`help-gesture-list`,children:[(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Tap the chevron`}),` — expand or collapse a panel`]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Long-press a panel`}),` — drag to rearrange the dashboard`]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Tap ✕ or the dim backdrop`}),` — close a sheet (or `,(0,W.jsx)(`kbd`,{children:`Esc`}),` on tablets)`]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Tap a model chip`}),` — filter Sessions by that model`]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Tap the sync chip`}),` — force a fresh refresh`]})]})}function mc(){let[e,t]=(0,U.useState)(!1),n=zn(),r=(0,U.useSyncExternalStore)(F,()=>R().prefs.panelOrder),i=(0,U.useSyncExternalStore)(F,()=>R().activeSource),a=We(),o=(0,U.useSyncExternalStore)(F,()=>R().view),s=(0,U.useMemo)(()=>C(a,i),[a,i]),l=(0,U.useMemo)(()=>c(r,s),[r,s]);we([{key:`?`,scope:`global`,view:`any`,action:()=>t(e=>!e)},{key:`Escape`,scope:`overlay`,layer:1e3,action:()=>t(!1),when:()=>e}]);let u=(0,U.useRef)(null);return Ur(u,{active:e}),qr(e),(0,U.useEffect)(()=>{if(e)return I({type:`INCREMENT_CHROME_OVERLAY`}),()=>I({type:`DECREMENT_CHROME_OVERLAY`})},[e]),e?(0,W.jsx)(`div`,{id:`help-overlay`,onClick:()=>t(!1),children:(0,W.jsxs)(`div`,{ref:u,className:`help-card`,onClick:e=>e.stopPropagation(),children:[(0,W.jsx)(uc,{title:n?`Help`:`Keybindings`,className:`help-header`,onClose:()=>t(!1)}),n?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(pc,{}),(0,W.jsxs)(`details`,{className:`help-keyboard-disclosure`,children:[(0,W.jsx)(`summary`,{children:`Keyboard shortcuts ▾`}),(0,W.jsx)(fc,{panelOrder:l}),o===`conversations`&&(0,W.jsx)(Z,{})]})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(fc,{panelOrder:l}),o===`conversations`&&(0,W.jsx)(Z,{})]}),(0,W.jsxs)(`p`,{className:`meta`,children:[`cctally · `,(0,W.jsx)(`span`,{id:`help-server-url`,children:window.location.origin})]})]})}):null}var hc=[`display`,`sessions`,`alerts`,`viewer`,`access`,`restore`,`cli`],gc={display:`Display & time`,sessions:`Recent Sessions`,alerts:`Alerts`,viewer:`Conversation viewer`,access:`Access & updates`,restore:`Restore defaults`,cli:`Managed from the CLI`};function _c(e){return{kind:`server`,scope:`machine`,scopeWord:`this machine`,path:e.path,id:e.id,label:e.label,section:e.section,read:e.read,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e})}}function vc(e){return e===`local`?`local`:e===`utc`?`utc`:`custom`}function yc(e){return e.mode===`local`?`local`:e.mode===`utc`?`utc`:e.custom.trim()}function bc(e){if(!e)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}).format(new Date),!0}catch{return!1}}var xc=`Enter a whole number between 10 and 1000.`;function Sc(e){let t=e.trim();if(!/^\d+$/.test(t))return{ok:!1,message:xc};let n=Number.parseInt(t,10);return!Number.isFinite(n)||n<10||n>1e3?{ok:!1,message:xc}:{ok:!0,value:n}}var Cc=`Enter an amount greater than 0, or leave blank for no budget.`;function wc(e){let t=e.trim();if(t===``)return{ok:!0,value:null};if(!/^\d*\.?\d+$/.test(t))return{ok:!1,message:Cc};let n=Number(t);return!Number.isFinite(n)||n<=0?{ok:!1,message:Cc}:{ok:!0,value:n}}var Tc={kind:`server`,id:`display.tz`,label:`Display timezone`,path:`display.tz`,section:`display`,scope:`machine`,scopeWord:`this machine`,read:e=>e.tz,toDraft:e=>({mode:vc(e),custom:vc(e)===`custom`?e:``}),equivalent:(e,t)=>{let n=yc(e);return e.mode===`custom`&&!bc(n)?!1:n===t},parse:e=>{let t=yc(e);return e.mode===`custom`&&!bc(t)?{ok:!1,message:t?`"${t}" is not an IANA zone name. Try a Region/City name such as America/New_York.`:`Type an IANA zone name, such as America/New_York.`}:{ok:!0,value:t}},suppressed:e=>e.tzPinned},Ec={kind:`server`,id:`alerts.notifier`,label:`Alert notifier`,path:`alerts.notifier`,section:`alerts`,scope:`machine`,scopeWord:`this machine`,read:e=>e.alerts.notifier??`auto`,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e})},Dc={kind:`server`,id:`update.channel`,label:`Update channel`,path:`update.channel`,section:`access`,scope:`machine`,scopeWord:`this machine`,read:e=>e.channel,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e})},Oc={kind:`server`,id:`budget.weekly_usd`,label:`Weekly budget`,path:`budget.weekly_usd`,section:`alerts`,scope:`machine`,scopeWord:`this machine`,read:e=>e.alerts.weekly_usd,toDraft:e=>e===null?``:String(e),equivalent:(e,t)=>{let n=wc(e);return n.ok&&n.value===t},parse:wc},kc={kind:`browser`,id:`prefs.sortDefault`,label:`Sort default`,path:null,section:`sessions`,scope:`browser`,scopeWord:`this browser`,read:e=>e.sortDefault,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e}),commit:e=>[{type:`SAVE_PREFS`,patch:{sortDefault:e}},{type:`SET_SORT`,key:e},{type:`SET_TABLE_SORT`,table:`sessions`,override:null}]},Ac={kind:`browser`,id:`prefs.sessionsPerPage`,label:`Sessions per page`,path:null,section:`sessions`,scope:`browser`,scopeWord:`this browser`,read:e=>e.sessionsPerPage,toDraft:e=>String(e),equivalent:(e,t)=>{let n=Sc(e);return n.ok&&n.value===t},parse:Sc,commit:e=>[{type:`SAVE_PREFS`,patch:{sessionsPerPage:e}}]},jc=[Tc,Ec,_c({id:`alerts.enabled`,label:`Enable threshold alerts`,path:`alerts.enabled`,section:`alerts`,read:e=>e.alerts.enabled}),_c({id:`alerts.projected_enabled`,label:`Projected weekly-% pace alerts`,path:`alerts.projected_enabled`,section:`alerts`,read:e=>e.alerts.projected_weekly_enabled??!1}),_c({id:`alerts.rate_change_enabled`,label:`Metering-rate-change notifications`,path:`alerts.rate_change_enabled`,section:`alerts`,read:e=>e.alerts.rate_change_enabled??!1}),Oc,_c({id:`budget.projected_enabled`,label:`Projected budget-$ pace alerts`,path:`budget.projected_enabled`,section:`alerts`,read:e=>e.alerts.projected_budget_enabled??!1}),_c({id:`budget.project_alerts_enabled`,label:`Per-project budget alerts`,path:`budget.project_alerts_enabled`,section:`alerts`,read:e=>e.alerts.project_alerts_enabled??!1}),_c({id:`budget.codex.alerts_enabled`,label:`Codex budget alerts`,path:`budget.codex.alerts_enabled`,section:`alerts`,read:e=>e.alerts.codex_budget_alerts_enabled??!1}),_c({id:`budget.codex.projected_enabled`,label:`Codex projected-pace alerts`,path:`budget.codex.projected_enabled`,section:`alerts`,read:e=>e.alerts.codex_projected_enabled??!1}),_c({id:`dashboard.cache_failure_markers`,label:`Show cache-failure markers`,path:`dashboard.cache_failure_markers`,section:`viewer`,read:e=>e.markersEnabled}),_c({id:`dashboard.live_tail`,label:`Live-tail new turns`,path:`dashboard.live_tail`,section:`viewer`,read:e=>e.liveTail}),_c({id:`dashboard.lan_auth`,label:`Require LAN access token`,path:`dashboard.lan_auth`,section:`access`,read:e=>e.lanAuth}),Dc,kc,Ac,{kind:`browser`,id:`prefs.filterText`,label:`Remembered filter term`,path:null,section:`sessions`,scope:`browser`,scopeWord:`this browser`,read:e=>e.filterText,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e}),commit:e=>[{type:`SET_FILTER`,text:e}]},{kind:`stagedAction`,id:`restore.tableSort`,label:`Table column sorting`,path:null,section:`restore`,scope:`browser`,scopeWord:`this browser`,commit:()=>[{type:`SET_TABLE_SORT`,table:`sessions`,override:null},{type:`CLEAR_TABLE_SORTS`}]},{kind:`stagedAction`,id:`restore.cardOrder`,label:`Card order`,path:null,section:`restore`,scope:`browser`,scopeWord:`this browser`,commit:()=>[{type:`RESET_PANEL_ORDER`}]}],Mc=new Map(jc.map(e=>[e.id,e]));function Nc(e){return Mc.get(e)}var Pc={display:`display`,alerts:`alerts`,budget:`alerts`,"budget.codex":`alerts`,dashboard:`viewer`,update:`access`,"update.check":`access`,"update.check.enabled":`access`,"update.check.ttl_hours":`access`,cache_report:null},Fc=new Map(jc.filter(e=>e.kind===`server`).map(e=>[e.path,e.id]));function Ic(e){let t=Fc.get(e);if(t!==void 0)return{kind:`leaf`,id:t};if(Object.hasOwn(Pc,e)){let t=Pc[e];if(t!==null)return{kind:`group`,section:t}}return{kind:`form`}}function Lc(e){return e.filter(e=>Fc.has(e))}var Rc=[{key:`display.tz`,label:`Display timezone`,section:`display`,disposition:`editable`,fieldId:`display.tz`,command:`cctally config set display.tz America/New_York`,reason:``,defaultText:`local`},{key:`alerts.enabled`,label:`Enable threshold alerts`,section:`alerts`,disposition:`editable`,fieldId:`alerts.enabled`,command:`cctally config set alerts.enabled true`,reason:``,defaultText:`false`},{key:`alerts.projected_enabled`,label:`Projected weekly-% pace alerts`,section:`alerts`,disposition:`editable`,fieldId:`alerts.projected_enabled`,command:`cctally config set alerts.projected_enabled true`,reason:``,defaultText:`false`},{key:`alerts.rate_change_enabled`,label:`Metering-rate-change notifications`,section:`alerts`,disposition:`editable`,fieldId:`alerts.rate_change_enabled`,command:`cctally config set alerts.rate_change_enabled true`,reason:``,defaultText:`false`},{key:`alerts.notifier`,label:`Alert notifier`,section:`alerts`,disposition:`editable`,fieldId:`alerts.notifier`,command:`cctally config set alerts.notifier osascript`,reason:``,defaultText:`auto`},{key:`alerts.command_template`,label:`Custom notifier command`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set alerts.command_template '["notify-send","{title}","{body}"]'`,reason:`It runs a local command and routinely holds secrets, so it never reaches a browser — only the boolean "a command is configured" does.`,defaultText:`null`},{key:`alerts.quota`,label:`Codex quota alert rules`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set alerts.quota '{"enabled": true, "actual_thresholds": [90, 95], "projected_thresholds": [], "rules": []}'`,reason:`A whole rules object, written as one value rather than field by field.`,defaultText:`{"enabled": false, "actual_thresholds": [90, 95], "projected_thresholds": [], "rules": []}`},{key:`budget.weekly_usd`,label:`Weekly budget`,section:`alerts`,disposition:`editable`,fieldId:`budget.weekly_usd`,command:`cctally budget set 200`,reason:``,defaultText:`null`},{key:`budget.alerts_enabled`,label:`Budget alerts master switch`,section:`alerts`,disposition:`disclosed`,command:`cctally config set budget.alerts_enabled true`,reason:`Budget alerts fire only when an amount is set AND this master is on. There is no editor for it here yet, so this row is how you can tell which of the two is stopping them.`,defaultText:`true`},{key:`budget.alert_thresholds`,label:`Budget alert thresholds`,section:`alerts`,disposition:`readOnly`,command:`cctally config set budget.alert_thresholds 90,100`,reason:`Shown above as a summary; its editor is parked in issue #19.`,defaultText:`90,100`},{key:`budget.projected_enabled`,label:`Projected budget-$ pace alerts`,section:`alerts`,disposition:`editable`,fieldId:`budget.projected_enabled`,command:`cctally config set budget.projected_enabled true`,reason:``,defaultText:`false`},{key:`budget.project_alerts_enabled`,label:`Per-project budget alerts`,section:`alerts`,disposition:`editable`,fieldId:`budget.project_alerts_enabled`,command:`cctally config set budget.project_alerts_enabled true`,reason:``,defaultText:`false`},{key:`budget.period`,label:`Claude budget period`,section:`alerts`,disposition:`cliOnly`,acceptedThenDiscarded:!0,command:`cctally config set budget.period calendar-month`,reason:`The dashboard accepts this leaf and runs the same forward-only reconcile the CLI does, but never stores it.`,defaultText:`subscription-week`},{key:`budget.projects`,label:`Per-project budgets`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set budget.projects '{"/Users/you/repos/cctally-dev": 50}'`,reason:`A map of canonical git-root paths to amounts, written as one object.`,defaultText:`{}`},{key:`budget.accounts`,label:`Per-account Claude budgets`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set budget.accounts '{"work": 200}'`,reason:`Account references are resolved to immutable account keys at write time, which a browser cannot do.`,defaultText:`{}`},{key:`budget.codex`,label:`Codex budget block`,section:`alerts`,disposition:`cliOnly`,command:`cctally budget set 200 --vendor codex`,reason:`The whole Codex budget object. Amounts are never invented from a browser.`,defaultText:`null`},{key:`budget.codex.amount_usd`,label:`Codex budget amount`,section:`alerts`,disposition:`cliOnly`,acceptedThenDiscarded:!0,command:`cctally budget set 200 --vendor codex`,reason:`Accepted by the dashboard and dropped: amounts stay CLI-only.`,defaultText:`null`},{key:`budget.codex.period`,label:`Codex budget period`,section:`alerts`,disposition:`cliOnly`,acceptedThenDiscarded:!0,command:`cctally config set budget.codex.period calendar-month`,reason:`Accepted by the dashboard and dropped, like every CLI-only Codex leaf.`,defaultText:`calendar-month`},{key:`budget.codex.alert_thresholds`,label:`Codex budget alert thresholds`,section:`alerts`,disposition:`cliOnly`,acceptedThenDiscarded:!0,command:`cctally config set budget.codex.alert_thresholds 90,100`,reason:`Accepted by the dashboard and dropped, like every CLI-only Codex leaf.`,defaultText:`90,100`},{key:`budget.codex.alerts_enabled`,label:`Codex budget alerts`,section:`alerts`,disposition:`editable`,fieldId:`budget.codex.alerts_enabled`,command:`cctally config set budget.codex.alerts_enabled true`,reason:``,defaultText:`false`},{key:`budget.codex.projected_enabled`,label:`Codex projected-pace alerts`,section:`alerts`,disposition:`editable`,fieldId:`budget.codex.projected_enabled`,command:`cctally config set budget.codex.projected_enabled true`,reason:``,defaultText:`false`},{key:`budget.codex.accounts`,label:`Per-account Codex budgets`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set budget.codex.accounts '{"work": 150}'`,reason:`Account references are resolved to immutable account keys at write time, which a browser cannot do.`,defaultText:`{}`},{key:`dashboard.cache_failure_markers`,label:`Show cache-failure markers`,section:`viewer`,disposition:`editable`,fieldId:`dashboard.cache_failure_markers`,command:`cctally config set dashboard.cache_failure_markers false`,reason:``,defaultText:`true`},{key:`dashboard.live_tail`,label:`Live-tail new turns`,section:`viewer`,disposition:`editable`,fieldId:`dashboard.live_tail`,command:`cctally config set dashboard.live_tail false`,reason:``,defaultText:`true`},{key:`conversation.retention_days`,label:`Transcript retention`,section:`viewer`,disposition:`cliOnly`,command:`cctally config set conversation.retention_days 90`,reason:`It governs deletion from cache.db, so it is set deliberately from the CLI rather than from a browser.`,defaultText:`90`},{key:`dashboard.lan_auth`,label:`Require LAN access token`,section:`access`,disposition:`editable`,fieldId:`dashboard.lan_auth`,command:`cctally config set dashboard.lan_auth false`,reason:``,defaultText:`true`},{key:`dashboard.bind`,label:`Dashboard bind address`,section:`access`,disposition:`cliOnly`,command:`cctally config set dashboard.bind lan`,reason:`It applies only at server startup, so changing it from the running dashboard could not take effect.`,defaultText:`loopback`},{key:`dashboard.expose_transcripts`,label:`Expose transcripts beyond loopback`,section:`access`,disposition:`cliOnly`,command:`cctally config set dashboard.expose_transcripts true`,reason:`A privacy gate read at bind time. It is deliberately not live-mutable from the surface it would expose.`,defaultText:`false`},{key:`update.channel`,label:`Update channel`,section:`access`,disposition:`editable`,fieldId:`update.channel`,command:`cctally config set update.channel beta`,reason:``,defaultText:`stable`},{key:`update.check.enabled`,label:`Background update check`,section:`access`,disposition:`disclosed`,command:`cctally config set update.check.enabled false`,reason:`The endpoint can write it, but no editor is rendered here; the CLI is the way to change it.`,defaultText:`true`},{key:`update.check.ttl_hours`,label:`Update-check interval`,section:`access`,disposition:`disclosed`,command:`cctally config set update.check.ttl_hours 24`,reason:`The endpoint can write it, but no editor is rendered here; the CLI is the way to change it.`,defaultText:`24`},{key:`telemetry.enabled`,label:`Anonymous install-count telemetry`,section:`access`,disposition:`cliOnly`,command:`cctally telemetry off`,reason:`Deliberately not dashboard-mirrored, so opting out is a decision you make at the CLI.`,defaultText:`true`},{key:`statusline.cctally_extensions`,label:`Status-line cctally segment`,section:`cli`,disposition:`cliOnly`,command:`cctally config set statusline.cctally_extensions false`,reason:`It shapes the Claude Code status line, which this dashboard does not render.`,defaultText:`true`},{key:`statusline.cost_source`,label:`Status-line cost source`,section:`cli`,disposition:`cliOnly`,command:`cctally config set statusline.cost_source cctally`,reason:`It shapes the Claude Code status line, which this dashboard does not render.`,defaultText:`auto`},{key:`statusline.usage_only`,label:`Status-line usage-only mode`,section:`cli`,disposition:`cliOnly`,command:`cctally config set statusline.usage_only true`,reason:`It shapes the Claude Code status line, which this dashboard does not render.`,defaultText:`false`},{key:`statusline.visual_burn_rate`,label:`Status-line burn-rate indicator`,section:`cli`,disposition:`cliOnly`,command:`cctally config set statusline.visual_burn_rate emoji`,reason:`It shapes the Claude Code status line, which this dashboard does not render.`,defaultText:`off`},{key:`storage.artifact_retention`,label:`Recovery-artifact retention policy`,section:`cli`,disposition:`cliOnly`,command:`cctally config set storage.artifact_retention '{"max_age_days": 30, "max_count_per_family": 20, "max_total_mib": 4096, "min_free_mib": 10240, "max_shape_examples": 8}'`,reason:`A destructive retention policy written as one whole object; cctally never falls back to a policy you did not write.`,defaultText:`{"max_age_days": 30, "max_count_per_family": 20, "max_total_mib": 4096, "min_free_mib": 10240, "max_shape_examples": 8}`},{key:`codex.hook.ingest_budget_seconds`,label:`Codex hook ingest budget`,section:`cli`,disposition:`cliOnly`,command:`cctally config set codex.hook.ingest_budget_seconds 5`,reason:`A hook-path deadline read outside any browser session; it never applies to this dashboard.`,defaultText:`5`}];new Map(Rc.map(e=>[e.key,e]));function zc({sections:e,activeId:t,onJump:n}){return(0,W.jsx)(`nav`,{className:`settings-rail`,"aria-label":`Settings sections`,children:(0,W.jsx)(`ul`,{children:e.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsxs)(`button`,{type:`button`,className:`settings-rail-link${e.id===t?` is-active`:``}`,"aria-current":e.id===t?`location`:void 0,onClick:()=>n(e.id),onFocus:e=>e.currentTarget.scrollIntoView?.({block:`nearest`,inline:`nearest`}),children:[e.title,e.dirty&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:` ●`}),(0,W.jsx)(`span`,{className:`sr-only`,children:` (has unsaved changes)`})]})]})},e.id))})})}function Bc(e,t,n){let[r,i]=(0,U.useState)(t[0]??null),a=t.join(`|`),o=(0,U.useRef)(t);o.current=t;let s=(0,U.useCallback)(()=>{let t=e.current;if(!t)return;let r=o.current;if(r.length===0){i(null);return}let a=t.getBoundingClientRect().top+n;if(t.scrollHeight-t.scrollTop-t.clientHeight<=1){i(r[r.length-1]);return}let s=r[0];for(let e of r){let n=t.querySelector(`[data-settings-section="${e}"]`);n&&n.getBoundingClientRect().top<=a&&(s=e)}i(s)},[e,n]);return(0,U.useEffect)(()=>{let t=e.current;if(!t)return;s(),t.addEventListener(`scroll`,s,{passive:!0});let r=null;if(typeof IntersectionObserver<`u`){r=new IntersectionObserver(()=>s(),{root:t,rootMargin:`-${n}px 0px 0px 0px`,threshold:0});for(let e of o.current){let n=t.querySelector(`[data-settings-section="${e}"]`);n&&r.observe(n)}}return()=>{t.removeEventListener(`scroll`,s),r?.disconnect()}},[s,a,n]),r}function Vc(){return jc.filter(e=>e.kind===`server`||e.kind===`browser`)}function Q(e){let t={},n={};for(let r of Vc()){let i=r.read(e);n[r.id]=i,t[r.id]=r.toDraft(i)}let r={};for(let e of jc)e.kind===`stagedAction`&&(r[e.id]=!1);return{draft:t,server:n,staged:r,sources:e}}function Hc(e,t){let n={...e.draft},r={...e.server};for(let e of Vc()){let i=r[e.id],a=e.read(t);e.equivalent(n[e.id],i)&&(n[e.id]=e.toDraft(a)),r[e.id]=a}return{...e,draft:n,server:r,sources:t}}function Uc(e,t,n){return{...e,draft:{...e.draft,[t]:n}}}function Wc(e,t){return{...e,staged:{...e.staged,[t]:!e.staged[t]}}}function Gc(e,t){let n=Nc(t);return n?n.kind===`stagedAction`?e.staged[t]===!0:!n.equivalent(e.draft[t],e.server[t]):!1}function Kc(e){return jc.filter(t=>Gc(e,t.id)).map(e=>e.id)}function qc(e){return Kc(e).length}function Jc(e,t){return jc.some(n=>n.section===t&&Gc(e,n.id))}function Yc(e){let t={};for(let n of Vc()){let r=n.parse(e.draft[n.id]);r.ok||(t[n.id]=r.message)}return t}function Xc(e,t,n){let r=t.split(`.`),i=e;for(let e of r.slice(0,-1)){let t=i[e];(typeof t!=`object`||!t)&&(i[e]={}),i=i[e]}i[r[r.length-1]]=n}function Zc(e){let t={};for(let n of jc){if(n.kind!==`server`)continue;let r=n;if(!Gc(e,r.id)||r.suppressed?.(e.sources))continue;let i=r.parse(e.draft[r.id]);i.ok&&Xc(t,r.path,i.value)}return t}function Qc(e){let t=[];for(let n of jc)if(Gc(e,n.id))if(n.kind===`browser`){let r=n,i=r.parse(e.draft[r.id]);if(!i.ok)continue;t.push(...r.commit(i.value))}else n.kind===`stagedAction`&&t.push(...n.commit());return t}function $c(e,t){let[n,r]=(0,U.useState)(()=>Q(e)),i=(0,U.useRef)(!1),a=(0,U.useRef)(e);a.current=e,(0,U.useEffect)(()=>{t&&!i.current?r(Q(a.current)):t&&r(e=>Hc(e,a.current)),i.current=t},[t,e.tz,e.tzPinned,e.alerts,e.markersEnabled,e.liveTail,e.lanAuth,e.channel,e.sortDefault,e.sessionsPerPage,e.filterText]);let o={...n,sources:e},s=(0,U.useCallback)((e,t)=>{r(n=>Uc(n,e,t))},[]),c=(0,U.useCallback)(e=>{r(t=>Wc(t,e))},[]),l=(0,U.useCallback)(()=>{r(Q(a.current))},[]),u=Yc(o);return{state:o,drafts:o.draft,dirtyIds:Kc(o),dirtyCount:qc(o),issues:u,valid:Object.keys(u).length===0,sectionDirty:e=>Jc(o,e),isDirty:e=>Gc(o,e),draftOf:e=>o.draft[e],staged:e=>o.staged[e]===!0,setDraft:s,toggleStaged:c,open:l,buildBody:()=>Zc(o),localActions:()=>Qc(o)}}var el={weekly_pct:`Weekly %`,budget_usd:`Budget $`,codex_budget_usd:`Codex $`};function tl(e){try{return`${e} (${new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``})`}catch{return e}}var nl={"display.tz":`timezone zone clock IANA local utc offset`,"alerts.notifier":`osascript notify-send popup dispatch backend`,"alerts.enabled":`threshold master weekly 5h`,"alerts.projected_enabled":`pace projection weekly percent`,"alerts.rate_change_enabled":`metering rate change provider quota units per point`,"budget.weekly_usd":`amount equivalent dollars spend cap`,"budget.projected_enabled":`pace projection budget dollars`,"budget.project_alerts_enabled":`per-project git root`,"budget.codex.alerts_enabled":`openai codex spend`,"budget.codex.projected_enabled":`openai codex pace projection`,"dashboard.cache_failure_markers":`conversation viewer cache rebuild marker`,"dashboard.live_tail":`conversation viewer follow new turns`,"dashboard.lan_auth":`token network security bind`,"update.channel":`stable beta release`,"prefs.sortDefault":`recent sessions order column`,"prefs.sessionsPerPage":`recent sessions paging rows`,"prefs.filterText":`recent sessions remembered search`,"restore.tableSort":`reset column click sorting`,"restore.cardOrder":`reset panel arrangement layout`},rl=[{key:`action.test`,section:`alerts`,index:`Send test alert synthetic dispatch pipeline toast log this machine`},{key:`restore.viewPrefs`,section:`restore`,index:`Restore view preferences sort default sessions per page remembered filter this browser`}];function il(e){return[e.label,e.key,e.reason,e.command,`this machine`].join(` `)}function al(e){return e.focus(),e.ownerDocument.activeElement===e}function ol(e,t){if(!e)return!1;if(t.kind===`leaf`){let n=e.querySelector(`[data-settings-field="${t.id}"]`);return n?al(n):!1}if(t.kind===`group`){let n=e.querySelector(`[data-settings-section="${t.section}"]`);if(n&&al(n))return!0;for(let n of jc){if(n.section!==t.section)continue;let r=e.querySelector(`[data-settings-field="${n.id}"]:not(:disabled)`);if(r&&al(r))return!0}return!1}return!1}function sl(){let[e,t]=(0,U.useState)(!1),r=(0,U.useSyncExternalStore)(F,()=>R().prefs),i=(0,U.useSyncExternalStore)(F,()=>R().filterText),a=Vn(),o=Cs(),s=(0,U.useSyncExternalStore)(F,()=>R().alertsConfig),c=(0,U.useSyncExternalStore)(F,()=>Ne(R())),l=(0,U.useSyncExternalStore)(F,()=>De(R())),u=(0,U.useSyncExternalStore)(F,()=>ae(R())),d=(0,U.useSyncExternalStore)(F,()=>de(R())),f=(0,U.useSyncExternalStore)(F,()=>R().update.state?.method??`unknown`),p=$c({tz:a.tz,tzPinned:a.pinned,alerts:s,markersEnabled:c,liveTail:l,lanAuth:u,channel:d,sortDefault:r.sortDefault,sessionsPerPage:r.sessionsPerPage,filterText:i},e),[m,h]=(0,U.useState)(!1),[g,_]=(0,U.useState)([]),[v,y]=(0,U.useState)(0),[b,x]=(0,U.useState)(!1),[S,C]=(0,U.useState)(!1),[w,T]=(0,U.useState)(null),[ee,E]=(0,U.useState)(!1),[D,O]=(0,U.useState)(`weekly`),[k,te]=(0,U.useState)(`weekly_pct`),[A,j]=(0,U.useState)(!1),[M,ne]=(0,U.useState)(``),[re,ie]=(0,U.useState)(``),[N,P]=(0,U.useState)(null),[oe,se]=(0,U.useState)(0),ce=(0,U.useRef)(!1);(0,U.useEffect)(()=>{e&&!ce.current&&(T(null),E(!1),O(`weekly`),x(!1),j(!1),_([]),ne(``),ie(``)),ce.current=e},[e]),(0,U.useEffect)(()=>{let e=window.setTimeout(()=>ie(M),300);return()=>window.clearTimeout(e)},[M]),(0,U.useEffect)(()=>{if(!m){y(0);return}let e=setInterval(()=>y(e=>e+1),1e3);return()=>clearInterval(e)},[m]),we([{key:`s`,scope:`global`,view:`any`,action:()=>t(!0),when:()=>!R().openModal},{key:`Escape`,scope:`modal`,action:()=>Ge(),when:()=>e},{key:`0`,scope:`modal`,action:()=>{},when:()=>e},{key:`1`,scope:`modal`,action:()=>{},when:()=>e},{key:`2`,scope:`modal`,action:()=>{},when:()=>e},{key:`3`,scope:`modal`,action:()=>{},when:()=>e},{key:`4`,scope:`modal`,action:()=>{},when:()=>e},{key:`5`,scope:`modal`,action:()=>{},when:()=>e},{key:`6`,scope:`modal`,action:()=>{},when:()=>e},{key:`7`,scope:`modal`,action:()=>{},when:()=>e},{key:`8`,scope:`modal`,action:()=>{},when:()=>e},{key:`9`,scope:`modal`,action:()=>{},when:()=>e}]);let L=(0,U.useRef)(null);Ur(L,{active:e});let ue=(0,U.useRef)(null),z=(0,U.useRef)(null),fe=(0,U.useRef)(null),B=(0,U.useRef)(null),pe=(0,U.useRef)(null);(0,U.useEffect)(()=>{A&&ue.current?.focus()},[A]),(0,U.useEffect)(()=>{let e=L.current;if(!e)return;for(let t of Array.from(e.children))t instanceof HTMLElement&&(t.classList.contains(`settings-confirm`)||(t.inert=A));let t=e.querySelector(`.modal-body`);t&&(t.inert=A)},[A]),(0,U.useEffect)(()=>{let e=pe.current;if(!e||typeof ResizeObserver>`u`)return;let t=()=>se(e.getBoundingClientRect().height);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]);let me=[...jc.map(e=>({key:e.id,section:e.section,index:[e.label,e.id,e.scopeWord,nl[e.id]??``].join(` `)})),...Rc.filter(e=>e.disposition!==`editable`).map(e=>({key:`manifest:${e.key}`,section:e.section,index:il(e)})),...rl],he=M.trim().toLowerCase(),ge=new Set(me.filter(e=>he===``||e.index.toLowerCase().includes(he)).map(e=>e.key)),V=e=>me.some(t=>t.section===e&&ge.has(t.key)),_e=hc.filter(V),ye=Bc(fe,_e,oe+24);if((0,U.useEffect)(()=>{N&&(ol(L.current,N)||z.current?.focus(),P(null))},[N]),qr(e),(0,U.useEffect)(()=>{if(e)return I({type:`INCREMENT_CHROME_OVERLAY`}),()=>I({type:`DECREMENT_CHROME_OVERLAY`})},[e]),!e)return null;let be=p.draftOf(`display.tz`),xe=be.mode!==`custom`||bc(be.custom.trim()),Ce=e=>p.setDraft(`display.tz`,{...be,...e}),Te=p.draftOf(`alerts.notifier`),Ee=s.command_configured??!1,Oe=p.dirtyCount,ke=e=>g.find(t=>t.target.kind===`leaf`&&t.target.id===e)?.message,Ae=(e,t)=>{p.setDraft(e,t),_(t=>t.filter(t=>t.key!==e))},je=e=>{let t=p.issues[e];_(n=>{let r=n.filter(t=>t.key!==e);if(!t)return r;let i=Nc(e);return[...r,{key:e,message:`${i?.label??e}: ${t}`,target:{kind:`leaf`,id:e}}]})},Me=e=>{let t=L.current,n=document.activeElement;t&&n&&n!==B.current&&t.contains(n)&&B.current?.focus(),ne(e)},H=e=>ge.has(e),Pe=e=>{if(!ol(L.current,e)){if(e.kind===`leaf`&&!ge.has(e.id)){Me(``),P(e);return}if(e.kind===`group`&&!V(e.section)){Me(``),P(e);return}z.current?.focus()}},Fe=e=>{let t=fe.current,n=t?.querySelector(`[data-settings-section="${e}"]`);if(!t||!n)return;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),a=Math.max(0,t.scrollHeight-t.clientHeight),s=t.scrollTop+i.top-r.top-16,c=Math.max(0,Math.min(s,a));typeof t.scrollTo==`function`?t.scrollTo({top:c,behavior:o?`auto`:`smooth`}):t.scrollTop=c,n.focus({preventScroll:!0})},Ie=Oe===0||m,Le=()=>{m||(j(!1),x(!1),t(!1))},Re=async()=>{let e=p.issues,t=jc.filter(t=>e[t.id]!==void 0);if(t.length>0){_(t.map(t=>({key:t.id,message:`${t.label}: ${e[t.id]}`,target:{kind:`leaf`,id:t.id}}))),Pe({kind:`leaf`,id:t[0].id});return}_([]);let n=p.buildBody();if(Object.keys(n).length>0){h(!0);try{let e=await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}),t=await e.json().catch(()=>({}));if(!e.ok){let n=Ic(t.field??`$`),r=t.error??`HTTP ${e.status}`;_([{key:t.field??`$`,message:r,target:n}]),h(!1),Pe(n);return}let r=Lc(t.ignored_fields??[]);if(r.length>0){_(r.map(e=>{let t=Ic(e);return{key:e,message:`The server did not persist ${e}. This dashboard expected to be able to write it, so the two disagree about the settings contract. Set it from the CLI and report the mismatch.`,target:t}})),h(!1),Pe(Ic(r[0]));return}t.dashboard&&I({type:`INGEST_DASHBOARD_PREFS`,prefs:t.dashboard})}catch(e){_([{key:`$`,message:e instanceof Error?e.message:`unknown error`,target:{kind:`form`}}]),h(!1),Pe({kind:`form`});return}h(!1)}for(let e of p.localActions())I(e);if(p.isDirty(`dashboard.lan_auth`)){x(!0);return}Le()},ze=()=>{let e=Se();Ae(`prefs.sortDefault`,e.sortDefault),Ae(`prefs.sessionsPerPage`,String(e.sessionsPerPage)),Ae(`prefs.filterText`,``)},Be=Se(),Ve=p.draftOf(`prefs.sessionsPerPage`),He=p.draftOf(`prefs.sortDefault`)===Be.sortDefault&&Ve.trim()===String(Be.sessionsPerPage)&&p.draftOf(`prefs.filterText`)===``,Ue=!!r.trendSortOverride||!!r.sessionsSortOverride||!!r.projectsSortOverride||!!r.historySortOverrides.week||!!r.historySortOverrides.month,We=r.panelOrder.length===le.length&&r.panelOrder.every((e,t)=>e===le[t]),Ge=()=>{if(!m){if(A){j(!1);return}if(Oe>0){j(!0);return}Le()}},Ke=e=>e?(0,W.jsxs)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:[` `,`●`]}):null,qe=(...e)=>e.some(e=>p.isDirty(e)),Je=p.isDirty(`display.tz`),Ye=p.isDirty(`alerts.notifier`),Xe=qe(`alerts.enabled`,`alerts.projected_enabled`,`alerts.rate_change_enabled`,`budget.weekly_usd`,`budget.projected_enabled`,`budget.project_alerts_enabled`),Ze=qe(`budget.codex.alerts_enabled`,`budget.codex.projected_enabled`),Qe=qe(`dashboard.cache_failure_markers`,`dashboard.live_tail`),$e=p.isDirty(`dashboard.lan_auth`),et=p.isDirty(`update.channel`),tt=p.isDirty(`prefs.sortDefault`),nt=p.isDirty(`prefs.sessionsPerPage`),rt=p.isDirty(`prefs.filterText`),it=qe(`restore.tableSort`,`restore.cardOrder`),at=m?v>=3?`Still saving and refreshing… ${v}s elapsed. A large history can make this take a while; the dashboard is not stuck.`:``:Oe===0?``:`${Oe} unsaved change${Oe===1?``:`s`}.`,G=e=>e===`browser`?(0,W.jsx)(`span`,{className:`settings-scope`,children:` (this browser)`}):(0,W.jsx)(`span`,{className:`sr-only`,children:` Scope: this machine.`}),ot=e=>(0,W.jsx)(`code`,{className:`settings-key`,children:e}),st=e=>(0,W.jsxs)(`div`,{className:`settings-disclosure`,children:[(0,W.jsxs)(`p`,{className:`settings-disclosure-label`,children:[e.label,` `,ot(e.key),G(`machine`)]}),(0,W.jsxs)(`p`,{className:`settings-hint`,children:[e.reason,e.acceptedThenDiscarded?` The dashboard accepts this key on a save and deliberately does not store it.`:``]}),(0,W.jsxs)(`p`,{className:`settings-hint`,children:[`Default: `,(0,W.jsx)(`code`,{children:e.defaultText})]}),(0,W.jsxs)(`p`,{className:`settings-command`,children:[`Run: `,(0,W.jsx)(`code`,{children:e.command})]})]},e.key),ct=e=>Rc.filter(t=>t.section===e&&t.disposition!==`editable`&&H(`manifest:${t.key}`)).map(st),lt=(e,t)=>(0,W.jsxs)(`h3`,{className:`settings-section-title`,id:`settings-h-${e}`,"data-settings-section":e,tabIndex:-1,children:[gc[e],t&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:` ●`}),(0,W.jsx)(`span`,{className:`sr-only`,children:` (has unsaved changes)`})]})]}),ut=_e.map(e=>({id:e,title:gc[e],dirty:p.sectionDirty(e)})),dt=p.dirtyIds.filter(e=>!ge.has(e)),ft=me.length,pt=e=>{let t=e.trim().toLowerCase(),n=me.filter(e=>t===``||e.index.toLowerCase().includes(t)).length;return t===``?`${ft} settings`:`${n} of ${ft} settings match “${e.trim()}”`},mt=pt(M),ht=pt(re);return(0,W.jsxs)(`div`,{id:`settings-root`,children:[(0,W.jsx)(`div`,{className:`modal-backdrop`,onClick:Ge}),(0,W.jsxs)(`div`,{ref:L,className:`modal-card accent-orange settings-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,tabIndex:-1,children:[(0,W.jsx)(uc,{title:`Settings`,titleId:`settings-title`,onClose:Le,closeDisabled:m}),(0,W.jsxs)(`div`,{className:`settings-chrome`,children:[(0,W.jsxs)(`div`,{className:`settings-search`,role:`search`,children:[(0,W.jsx)(`label`,{htmlFor:`settings-filter`,children:`Find a setting`}),(0,W.jsx)(`input`,{ref:B,id:`settings-filter`,type:`search`,value:M,"aria-controls":`settings-scroller`,"aria-describedby":`settings-filter-count`,placeholder:`name, key path, or “browser”`,onChange:e=>Me(e.target.value)})]}),(0,W.jsx)(`p`,{className:`settings-filter-count`,id:`settings-filter-count`,children:mt}),(0,W.jsx)(`p`,{className:`settings-filter-announcement sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:ht}),dt.length>0&&(0,W.jsxs)(`p`,{className:`settings-hidden-dirty`,children:[dt.length===1?`1 unsaved change is hidden by this filter.`:`${dt.length} unsaved changes are hidden by this filter.`,` `,(0,W.jsx)(`button`,{type:`button`,className:`settings-link-btn`,onClick:()=>Me(``),children:`Show all settings`})]})]}),(0,W.jsxs)(`div`,{className:`settings-main`,children:[(0,W.jsx)(zc,{sections:ut,activeId:ye,onJump:Fe}),(0,W.jsxs)(`div`,{className:`modal-body`,id:`settings-scroller`,ref:fe,children:[_e.length===0&&(0,W.jsxs)(`p`,{className:`settings-empty`,children:[`No setting matches “`,M.trim(),`”. Try a shorter word, a dotted key path such as `,(0,W.jsx)(`code`,{children:`budget.weekly_usd`}),`, or`,` `,(0,W.jsx)(`button`,{type:`button`,className:`settings-link-btn`,onClick:()=>Me(``),children:`show all settings`}),`.`]}),V(`display`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-display`,children:[lt(`display`,p.sectionDirty(`display`)),H(`display.tz`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Je?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Display timezone `,ot(`display.tz`),G(`machine`),Ke(Je)]}),a.pinned&&(0,W.jsx)(`small`,{children:`Pinned by --tz flag — restart the server without --tz to change here.`}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`local`,checked:be.mode===`local`,onChange:()=>Ce({mode:`local`}),disabled:a.pinned}),` `,`Local (`,a.resolvedTz,`)`]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`utc`,checked:be.mode===`utc`,onChange:()=>Ce({mode:`utc`}),disabled:a.pinned}),` `,`UTC`]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`custom`,checked:be.mode===`custom`,onChange:()=>Ce({mode:`custom`}),disabled:a.pinned}),` `,`Custom`]}),(0,W.jsx)(`label`,{htmlFor:`settings-tz-custom`,children:`Custom zone`}),(0,W.jsx)(`input`,{id:`settings-tz-custom`,type:`text`,"data-settings-field":`display.tz`,value:be.custom,onChange:e=>Ce({custom:e.target.value}),onBlur:()=>je(`display.tz`),disabled:be.mode!==`custom`||a.pinned,placeholder:`America/New_York`,"aria-invalid":ke(`display.tz`)!==void 0}),be.mode===`custom`&&be.custom.trim()&&xe&&(0,W.jsxs)(`small`,{children:[`resolves to: `,tl(be.custom.trim())]})]}),ct(`display`)]}),V(`sessions`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-sessions`,children:[lt(`sessions`,p.sectionDirty(`sessions`)),H(`prefs.sortDefault`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${tt?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Sort default`,G(`browser`),Ke(tt)]}),ve.map(({key:e,label:t})=>(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`sort-default`,value:e,"data-settings-field":e===ve[0].key?`prefs.sortDefault`:void 0,checked:p.draftOf(`prefs.sortDefault`)===e,onChange:()=>Ae(`prefs.sortDefault`,e)}),` `,t]},e))]}),H(`prefs.filterText`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${rt?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Remembered filter term`,G(`browser`),Ke(rt)]}),(0,W.jsx)(`label`,{htmlFor:`settings-filter-term`,children:`Remembered filter term`}),(0,W.jsx)(`input`,{id:`settings-filter-term`,type:`text`,placeholder:`(none)`,"data-settings-field":`prefs.filterText`,value:p.draftOf(`prefs.filterText`),onChange:e=>Ae(`prefs.filterText`,e.target.value)})]}),H(`prefs.sessionsPerPage`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${nt?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Sessions per page`,G(`browser`),Ke(nt)]}),(0,W.jsx)(`label`,{htmlFor:`settings-per-page`,children:`Sessions per page`}),(0,W.jsx)(`input`,{id:`settings-per-page`,type:`number`,min:10,max:1e3,"data-settings-field":`prefs.sessionsPerPage`,value:Ve,onChange:e=>Ae(`prefs.sessionsPerPage`,e.target.value),onBlur:()=>je(`prefs.sessionsPerPage`),"aria-invalid":ke(`prefs.sessionsPerPage`)!==void 0})]}),ct(`sessions`)]}),V(`alerts`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-alerts`,children:[lt(`alerts`,p.sectionDirty(`alerts`)),H(`alerts.notifier`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Ye?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Notifications `,ot(`alerts.notifier`),G(`machine`),Ke(Ye)]}),(0,W.jsxs)(`label`,{children:[`Notifier`,` `,(0,W.jsxs)(`select`,{className:`settings-btn settings-select`,value:Te,"aria-label":`Alert notifier`,"data-settings-field":`alerts.notifier`,onChange:e=>Ae(`alerts.notifier`,e.target.value),children:[(0,W.jsx)(`option`,{value:`auto`,children:`Auto-detect`}),(0,W.jsx)(`option`,{value:`osascript`,children:`macOS (osascript)`}),(0,W.jsx)(`option`,{value:`notify-send`,children:`Linux (notify-send)`}),(0,W.jsxs)(`option`,{value:`command`,disabled:!Ee,children:[`Custom command`,Ee?``:` (set via CLI)`]}),(0,W.jsx)(`option`,{value:`none`,children:`None (log only)`})]})]}),Ee&&(0,W.jsx)(`p`,{className:`settings-hint`,children:`Custom command configured (edit via CLI).`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`The notifier backend applies to all alert dispatches (Claude and Codex).`})]}),(H(`alerts.enabled`)||H(`alerts.projected_enabled`)||H(`budget.weekly_usd`)||H(`budget.projected_enabled`)||H(`budget.project_alerts_enabled`))&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Xe?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Claude alerts`,G(`machine`),Ke(Xe)]}),H(`alerts.enabled`)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`alerts-enabled`,"data-settings-field":`alerts.enabled`,checked:p.draftOf(`alerts.enabled`),onChange:e=>Ae(`alerts.enabled`,e.target.checked)}),` `,`Enable threshold alerts `,ot(`alerts.enabled`)]}),(0,W.jsxs)(`p`,{className:`alerts-summary settings-hint`,children:[`Weekly: `,s.weekly_thresholds.map(e=>`${e}%`).join(`, `),` · `,`5h-block:`,` `,s.five_hour_thresholds.map(e=>`${e}%`).join(`, `),` · `,`Budget:`,` `,(s.budget_thresholds??[]).map(e=>`${e}%`).join(`, `)||`—`]})]}),H(`alerts.projected_enabled`)&&(0,W.jsxs)(`div`,{className:`settings-subgroup`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`projected-weekly-enabled`,"data-settings-field":`alerts.projected_enabled`,checked:p.draftOf(`alerts.projected_enabled`),onChange:e=>Ae(`alerts.projected_enabled`,e.target.checked)}),` `,`Projected weekly-% pace alerts `,ot(`alerts.projected_enabled`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Pace is where the week is heading if the last day's rate continues to the reset.`})]}),H(`alerts.rate_change_enabled`)&&(0,W.jsxs)(`div`,{className:`settings-subgroup`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`rate-change-enabled`,"data-settings-field":`alerts.rate_change_enabled`,checked:p.draftOf(`alerts.rate_change_enabled`),onChange:e=>Ae(`alerts.rate_change_enabled`,e.target.checked)}),` `,`Metering-rate-change notifications`,` `,ot(`alerts.rate_change_enabled`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`The change is recorded either way and every view shows it. This decides whether it also notifies.`})]}),(H(`budget.weekly_usd`)||H(`budget.projected_enabled`)||H(`budget.project_alerts_enabled`))&&(0,W.jsxs)(`div`,{className:`settings-subgroup`,role:`group`,"aria-label":`Claude budget alerts`,children:[(0,W.jsx)(`p`,{className:`settings-subgroup-label`,children:`Claude budget`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Fire when a configured budget's pace or spend crosses a threshold.`}),H(`budget.weekly_usd`)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{htmlFor:`settings-weekly-budget`,children:[`Weekly budget (equivalent $) `,ot(`budget.weekly_usd`),G(`machine`)]}),(0,W.jsx)(`input`,{id:`settings-weekly-budget`,type:`text`,inputMode:`decimal`,"data-settings-field":`budget.weekly_usd`,value:p.draftOf(`budget.weekly_usd`),onChange:e=>Ae(`budget.weekly_usd`,e.target.value),onBlur:()=>je(`budget.weekly_usd`),placeholder:`none`,"aria-invalid":ke(`budget.weekly_usd`)!==void 0,"aria-describedby":`settings-weekly-budget-help`}),(0,W.jsx)(`p`,{className:`settings-hint`,id:`settings-weekly-budget-help`,children:`Claude's figure is EQUIVALENT dollars — what the same usage would have cost on the API, not a charge. Leave blank for no budget.`}),s.weekly_usd===null&&(0,W.jsx)(`p`,{className:`settings-hint`,children:`No Claude budget is set, so the two budget alerts below cannot fire yet. Enter an amount in the field above.`})]}),H(`budget.projected_enabled`)&&(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`projected-budget-enabled`,"data-settings-field":`budget.projected_enabled`,checked:p.draftOf(`budget.projected_enabled`),onChange:e=>Ae(`budget.projected_enabled`,e.target.checked)}),` `,`Projected budget-$ pace alerts `,ot(`budget.projected_enabled`),G(`machine`)]}),H(`budget.project_alerts_enabled`)&&(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`project-alerts-enabled`,"data-settings-field":`budget.project_alerts_enabled`,checked:p.draftOf(`budget.project_alerts_enabled`),onChange:e=>Ae(`budget.project_alerts_enabled`,e.target.checked)}),` `,`Per-project budget alerts `,ot(`budget.project_alerts_enabled`),G(`machine`)]})]})]}),(H(`budget.codex.alerts_enabled`)||H(`budget.codex.projected_enabled`))&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Ze?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Codex alerts`,G(`machine`),Ke(Ze)]}),(0,W.jsxs)(`div`,{className:`settings-subgroup`,role:`group`,"aria-label":`Codex budget alerts`,children:[(0,W.jsx)(`p`,{className:`settings-subgroup-label`,children:`Codex budget`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Codex's figure is ACTUAL API charges, unlike Claude's equivalent-dollar budget above.`}),H(`budget.codex.alerts_enabled`)&&(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`codex-budget-alerts-enabled`,"data-settings-field":`budget.codex.alerts_enabled`,checked:p.draftOf(`budget.codex.alerts_enabled`),disabled:!s.codex_budget_configured,onChange:e=>Ae(`budget.codex.alerts_enabled`,e.target.checked)}),` `,`Codex budget alerts `,ot(`budget.codex.alerts_enabled`),G(`machine`)]}),H(`budget.codex.projected_enabled`)&&(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`codex-projected-enabled`,"data-settings-field":`budget.codex.projected_enabled`,checked:p.draftOf(`budget.codex.projected_enabled`),disabled:!s.codex_budget_configured,onChange:e=>Ae(`budget.codex.projected_enabled`,e.target.checked)}),` `,`Codex projected-pace alerts `,ot(`budget.codex.projected_enabled`),G(`machine`)]}),!s.codex_budget_configured&&(0,W.jsxs)(`p`,{className:`settings-hint`,children:[`Set a Codex budget via the CLI first:`,` `,(0,W.jsx)(`code`,{children:`cctally budget set 200 --vendor codex`})]})]}),(0,W.jsxs)(`p`,{className:`settings-hint`,children:[`Codex quota-threshold alert rules are not configurable here — manage them via the CLI (`,(0,W.jsx)(`code`,{children:`cctally codex quota …`}),`).`]})]}),H(`action.test`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs settings-fs-subordinate`,children:[(0,W.jsx)(`legend`,{children:`Send a test alert`}),(0,W.jsxs)(`div`,{className:`alerts-test-row`,children:[(0,W.jsxs)(`label`,{children:[`Alert type`,` `,(0,W.jsx)(`select`,{className:`settings-btn settings-select`,value:D,disabled:S,"aria-label":`Alert type`,onChange:e=>O(e.target.value),children:Object.keys(n).map(e=>(0,W.jsx)(`option`,{value:e,children:n[e]},e))})]}),` `,D===`projected`&&(0,W.jsxs)(`label`,{children:[`Metric`,` `,(0,W.jsx)(`select`,{className:`settings-btn settings-select`,value:k,disabled:S,"aria-label":`Metric`,onChange:e=>te(e.target.value),children:Object.keys(el).map(e=>(0,W.jsx)(`option`,{value:e,children:el[e]},e))})]}),` `,(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,disabled:S,onClick:async()=>{C(!0),T(null),E(!1);try{let e=await fetch(`/api/alerts/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({axis:D,threshold:90,...D===`projected`?{metric:k}:{}})}),t=await e.json().catch(()=>({}));t.alert&&I({type:`SHOW_ALERT_TOAST`,alert:t.alert}),t.dispatch===`queued`?E(!0):T(t.dispatch??t.reason??`HTTP ${e.status}`)}catch(e){T(e instanceof Error?e.message:`unknown error`)}C(!1)},children:S?`Sending…`:`Send test alert`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Sends a synthetic alert through the dispatch pipeline so you can verify the toast and log path. It does not write to the database, does not update the Recent alerts panel, and works whether or not threshold alerts are enabled.`})]})]}),ct(`alerts`)]}),V(`viewer`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-viewer`,children:[lt(`viewer`,p.sectionDirty(`viewer`)),(H(`dashboard.cache_failure_markers`)||H(`dashboard.live_tail`))&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Qe?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Conversation viewer`,G(`machine`),Ke(Qe)]}),H(`dashboard.cache_failure_markers`)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`cache-failure-markers`,"data-settings-field":`dashboard.cache_failure_markers`,checked:p.draftOf(`dashboard.cache_failure_markers`),onChange:e=>Ae(`dashboard.cache_failure_markers`,e.target.checked)}),` `,`Show cache-failure markers `,ot(`dashboard.cache_failure_markers`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Marks assistant turns that re-created the bulk of their cached prefix instead of reading it (a cost inefficiency, usually after an idle gap past the cache TTL). On by default.`})]}),H(`dashboard.live_tail`)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`live-tail`,"data-settings-field":`dashboard.live_tail`,checked:p.draftOf(`dashboard.live_tail`),onChange:e=>Ae(`dashboard.live_tail`,e.target.checked)}),` `,`Live-tail new turns `,ot(`dashboard.live_tail`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Fetch new turns the instant the session's file changes (instead of waiting for the periodic refresh). On by default.`})]})]}),ct(`viewer`)]}),V(`access`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-access`,children:[lt(`access`,p.sectionDirty(`access`)),H(`dashboard.lan_auth`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${$e?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Dashboard access`,G(`machine`),Ke($e)]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`lan-auth`,"data-settings-field":`dashboard.lan_auth`,checked:p.draftOf(`dashboard.lan_auth`),onChange:e=>{Ae(`dashboard.lan_auth`,e.target.checked),x(!1)}}),` `,`Require LAN access token `,ot(`dashboard.lan_auth`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Protects API and live-update traffic on non-loopback binds. Changes take effect only after restarting the dashboard; this running dashboard keeps its current access mode.`})]}),H(`update.channel`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${et?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Update channel `,ot(`update.channel`),G(`machine`),Ke(et)]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`update-channel`,value:`stable`,"data-settings-field":`update.channel`,checked:p.draftOf(`update.channel`)===`stable`,onChange:()=>Ae(`update.channel`,`stable`)}),` `,`Stable`]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`update-channel`,value:`beta`,checked:p.draftOf(`update.channel`)===`beta`,onChange:()=>Ae(`update.channel`,`beta`)}),` `,`Beta`]}),(0,W.jsxs)(`p`,{className:`settings-hint`,children:[`Beta receives every release as it ships; stable only the maintainer-promoted ones.`,f===`brew`?` This install came from Homebrew, which always tracks stable.`:``]})]}),ct(`access`)]}),V(`restore`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-restore`,children:[lt(`restore`,p.sectionDirty(`restore`)),(0,W.jsxs)(`fieldset`,{className:`settings-fs${it?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Restore defaults`,G(`browser`),Ke(it)]}),H(`restore.viewPrefs`)&&(0,W.jsxs)(`div`,{className:`settings-restore-row settings-restore-immediate`,children:[(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:ze,disabled:He,children:`Restore view preferences`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Fills the three Recent Sessions fields with their defaults right now; nothing is stored until you Save.`})]}),H(`restore.tableSort`)&&(0,W.jsxs)(`div`,{className:`settings-restore-row`,children:[(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,"aria-pressed":p.staged(`restore.tableSort`),onClick:()=>p.toggleStaged(`restore.tableSort`),disabled:!Ue&&!p.staged(`restore.tableSort`),children:p.staged(`restore.tableSort`)?`Table column sorting — staged ✓`:`Table column sorting`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Clears $/1% Trend, Recent Sessions, Projects & Weekly/Monthly column-click sorting on Save.`})]}),H(`restore.cardOrder`)&&(0,W.jsxs)(`div`,{className:`settings-restore-row`,children:[(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,"aria-pressed":p.staged(`restore.cardOrder`),onClick:()=>p.toggleStaged(`restore.cardOrder`),disabled:We&&!p.staged(`restore.cardOrder`),children:p.staged(`restore.cardOrder`)?`Card order — staged ✓`:`Card order`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Restores the default panel arrangement on Save.`})]})]}),ct(`restore`)]}),V(`cli`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-cli`,children:[lt(`cli`,!1),(0,W.jsx)(`p`,{className:`settings-hint`,children:`These keys govern surfaces this dashboard does not render, so they are set from the CLI. Each row states the exact command.`}),ct(`cli`)]})]})]}),(0,W.jsxs)(`div`,{className:`settings-feedback`,children:[m&&(0,W.jsx)(`div`,{className:`settings-saving-bar`,"aria-hidden":`true`}),(0,W.jsx)(`p`,{className:`settings-status`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:at}),ee&&(0,W.jsx)(`p`,{className:`settings-ok`,children:`Test alert dispatched ✓`}),b&&(0,W.jsx)(`p`,{className:`settings-ok`,children:`Saved. Restart the dashboard to apply LAN access authentication.`}),(0,W.jsxs)(`div`,{ref:z,className:`settings-error-summary${g.length>0||w?` is-populated`:``}`,role:`alert`,"aria-live":`assertive`,tabIndex:-1,children:[w&&(0,W.jsxs)(`p`,{className:`settings-error-title`,children:[`Test failed: `,w]}),g.length>0&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`p`,{className:`settings-error-title`,children:g.length===1?`1 problem to fix`:`${g.length} problems to fix`}),(0,W.jsx)(`ul`,{className:`settings-error-list`,children:g.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsx)(`button`,{type:`button`,className:`settings-error-link`,onClick:()=>Pe(e.target),children:e.message})},e.key))})]})]})]}),(0,W.jsxs)(`div`,{className:`settings-actions`,ref:pe,children:[(0,W.jsx)(`button`,{className:`settings-btn`,id:`settings-save`,type:`button`,onClick:Re,disabled:Ie,children:m?`Saving…`:Oe===0?`Save`:`Save · ${Oe} change${Oe===1?``:`s`}`}),(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:Le,disabled:m,children:`Cancel`}),(0,W.jsxs)(`p`,{className:`settings-scope-note`,children:[`Changes apply to this machine unless marked `,(0,W.jsx)(`em`,{children:`this browser`}),`.`]})]}),A&&(0,W.jsx)(`div`,{className:`settings-confirm`,role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":`settings-confirm-title`,children:(0,W.jsxs)(`div`,{className:`settings-confirm-card`,children:[(0,W.jsxs)(`p`,{id:`settings-confirm-title`,children:[`Discard `,Oe,` unsaved change`,Oe===1?``:`s`,`?`]}),(0,W.jsxs)(`div`,{className:`settings-confirm-actions`,children:[(0,W.jsx)(`button`,{ref:ue,className:`settings-btn`,type:`button`,onClick:()=>j(!1),children:`Keep editing`}),(0,W.jsx)(`button`,{className:`settings-btn settings-btn-danger`,type:`button`,onClick:Le,children:`Discard`})]})]})})]})]})}var cl=8e3,ll=`New: hold any card to rearrange the dashboard.`,ul=`Tap to drill in · long-press to rearrange · ⟳ to refresh`;function dl({suppressed:e=!1}={}){let t=zn(),n=(0,U.useSyncExternalStore)(F,()=>R().prefs.onboardingToastSeen),r=(0,U.useSyncExternalStore)(F,()=>R().prefs.mobileOnboardingToastSeen),i=t?r:n,a=t?`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:`MARK_ONBOARDING_TOAST_SEEN`,o=t?ul:ll;return(0,U.useEffect)(()=>{if(i)return;let e=setTimeout(()=>I({type:a}),cl);return()=>clearTimeout(e)},[i,a]),i?null:(0,W.jsxs)(`div`,{className:`onboarding-toast`,role:`status`,"aria-live":`polite`,hidden:e,children:[(0,W.jsx)(`span`,{className:`onboarding-toast-msg`,children:o}),(0,W.jsx)(lc,{onClose:()=>I({type:a}),label:`Dismiss`,className:`onboarding-toast-dismiss`})]})}function fl({alert:e,env:t,onFollow:n}){let r=Ga(e,t,ja(t));if(!r.available||r.target==null){let e=r.explainTarget;return(0,W.jsxs)(`span`,{className:`alert-row-unresolved`,children:[(0,W.jsx)(`span`,{className:`alert-row-withheld`,children:r.withheldReason}),e==null?null:(0,W.jsx)(`button`,{type:`button`,className:`alert-row-explain`,onClick:t=>{t.stopPropagation(),Qa(e),n?.()},children:e.label})]})}let i=r.target;return(0,W.jsx)(`button`,{type:`button`,className:`alert-row-open`,onClick:e=>{e.stopPropagation(),Qa(i),n?.()},children:i.label})}function pl(e){return`source`in e?e:{...e,source:`claude`,key:e.id}}var ml=2500,hl=8e3,gl=`click to dismiss`,_l=`tap or click to dismiss`;function vl(e){return e.axis===`projected`?`${n.projected} to reach ${e.threshold}%`:e.axis===`project_budget`?`${e.context.project??`Project`} budget ${e.threshold}% reached`:e.axis===`codex_budget`?`${n.codex_budget} ${e.threshold}% reached`:`${n[e.axis]} usage ${e.threshold}% reached`}function yl(e){return e.axis===`quota`?`Codex quota ${e.threshold}% reached`:e.axis===`projected`?`Codex projected to reach ${e.threshold}%`:`Codex budget ${e.threshold}% reached`}function bl(e){return e.source===`claude`?vl(e):yl(e)}function xl(e,t){let n=()=>{k(),e()};return{tabIndex:0,"aria-label":`${t} Press Enter or Space to dismiss.`,onClick:n,onFocus:e=>{e.target===e.currentTarget&&Me(e.currentTarget,e.relatedTarget)},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||se()},onKeyDown:e=>{e.target===e.currentTarget&&(e.key!==`Enter`&&e.key!==` `&&e.key!==`Spacebar`||(e.preventDefault(),n()))}}}function Sl({show:e}){return e?(0,W.jsx)(`div`,{className:`toast--alert-dismiss-hint toast--alert-dismiss-hint--own-line`,children:_l}):null}function Cl({alert:e,ctx:t}){return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`toast--alert-title`,children:vl(e)}),e.context.week_start_date&&(0,W.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Week starting `,B.weekStart(e.context.week_start_date,t)??`—`]}),e.context.block_start_at&&(0,W.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Block started `,B.timeOnly(e.context.block_start_at,t)]}),(e.axis===`budget`||e.axis===`project_budget`||e.axis===`codex_budget`)&&(e.context.period_start_at??e.context.week_start_at)&&(0,W.jsxs)(`div`,{className:`toast--alert-sub`,children:[b(e.context.period),` starting`,` `,B.weekStart((e.context.period_start_at??e.context.week_start_at??``).slice(0,10),t)??`—`]}),(0,W.jsxs)(`div`,{className:`toast--alert-body`,children:[e.context.cumulative_cost_usd!=null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.cumulative_cost_usd.toFixed(2)]}),` spent`,e.context.dollars_per_percent!=null&&(0,W.jsxs)(W.Fragment,{children:[` `,`·`,` `,(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.dollars_per_percent.toFixed(2)]}),` per 1%`]})]}),e.context.block_cost_usd!=null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.block_cost_usd.toFixed(2)]}),` in this block`,e.context.primary_model&&(0,W.jsxs)(W.Fragment,{children:[` · model: `,e.context.primary_model]})]}),(e.axis===`budget`||e.axis===`codex_budget`)&&e.context.spent_usd!=null&&e.context.budget_usd!=null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.spent_usd.toFixed(2)]}),` of`,` `,(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.budget_usd.toFixed(2)]}),` budget`]}),e.axis===`projected`&&(0,W.jsx)(`span`,{className:`num`,children:S(e)??`—`}),e.axis===`project_budget`&&e.context.spent_usd!=null&&e.context.budget_usd!=null&&(0,W.jsxs)(W.Fragment,{children:[e.context.project&&(0,W.jsxs)(W.Fragment,{children:[e.context.project,`: `]}),(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.spent_usd.toFixed(2)]}),` of`,` `,(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.budget_usd.toFixed(2)]}),` budget`]})]})]})}function wl({row:e}){return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`toast--alert-title`,children:yl(e)}),e.axis!==`quota`&&(0,W.jsxs)(`div`,{className:`toast--alert-body`,children:[(0,W.jsxs)(`span`,{className:`num`,children:[Math.round(e.value),`%`]}),` of budget`]})]})}function Tl({entry:e,onDismiss:t}){let n=go(e.previous_units_per_point,e.new_units_per_point),r=e.provider?e.provider.charAt(0).toUpperCase()+e.provider.slice(1):`Provider`,i=a(e),o=Zo(e.withholding_status);return(0,W.jsxs)(`div`,{className:`toast toast--alert toast--severity-${e.severity}`,role:`alert`,...xl(t,`${r} metering rate changed.`+(i==null?``:` Account ${i.label}.`)),"data-testid":`toast-meter-rate-change`,children:[(0,W.jsxs)(`div`,{className:`toast--alert-head`,children:[(0,W.jsx)(`span`,{className:`chip chip-rate-change severity-${e.severity}`,children:`metering rate`}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.provider}`,children:r}),i!=null&&(0,W.jsx)(`span`,{className:`alert-account-chip`,title:i.label,children:i.label}),i==null&&(0,W.jsx)(`span`,{className:`toast--alert-dismiss-hint`,children:gl})]}),(0,W.jsxs)(`div`,{className:`toast--alert-title`,children:[r,` metering rate changed`]}),n&&(0,W.jsx)(`div`,{className:`toast--alert-sub`,children:n}),(0,W.jsx)(`div`,{className:`toast--alert-body`,children:o==null?(0,W.jsxs)(W.Fragment,{children:[`Run `,(0,W.jsx)(`code`,{children:`cctally quota`}),` for the evidence behind this change.`]}):(0,W.jsxs)(W.Fragment,{children:[o,` Run `,(0,W.jsx)(`code`,{children:`cctally quota`}),` for the evidence.`]})}),(0,W.jsx)(Sl,{show:i!=null})]})}function El(){let e=(0,U.useSyncExternalStore)(F,()=>R().toast),t=jn(),n=Vn(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel};(0,U.useEffect)(()=>se,[]),(0,U.useEffect)(()=>{if(e==null){se();return}let t=e.kind===`alert`?hl:ml,n=window.setTimeout(()=>{k(),I({type:`HIDE_TOAST`})},t);return()=>window.clearTimeout(n)},[e]);let i=e?.kind===`alert`?e.payload:null,o=i&&ye(i)?i:null,s=i!=null&&!ye(i)?pl(i):null,c=s?Ae(s):null,l=s?a(s):null;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(dl,{suppressed:e!=null}),e?.kind===`status`&&(0,W.jsx)(`div`,{className:`toast`,role:`status`,"aria-live":`polite`,children:e.text}),o&&(0,W.jsx)(Tl,{entry:o,onDismiss:()=>I({type:`HIDE_TOAST`})}),s&&c&&(0,W.jsxs)(`div`,{className:`toast toast--alert toast--severity-${c.severity}`,role:`alert`,...xl(()=>I({type:`HIDE_TOAST`}),`${c.sourceLabel} alert. ${bl(s)}.`+(l==null?``:` Account ${l.label}.`)),children:[(0,W.jsxs)(`div`,{className:`toast--alert-head`,children:[(0,W.jsx)(`span`,{className:`chip ${c.chipClass}`,children:c.chipLabel}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${c.source}`,children:c.sourceLabel}),l!=null&&(0,W.jsx)(`span`,{className:`alert-account-chip`,title:l.label,children:l.label}),(0,W.jsxs)(`span`,{className:`toast--alert-threshold num`,children:[c.threshold,`%`]}),l==null&&(0,W.jsx)(`span`,{className:`toast--alert-dismiss-hint`,children:gl})]}),s.source===`claude`?(0,W.jsx)(Cl,{alert:s,ctx:r}):(0,W.jsx)(wl,{row:s}),(0,W.jsx)(Sl,{show:l!=null}),s.source===`claude`&&(0,W.jsx)(`div`,{className:`toast--alert-follow`,children:(0,W.jsx)(fl,{alert:s,env:t,onFollow:()=>I({type:`HIDE_TOAST`})})})]})]})}var Dl=D(Le());function Ol(){var e=[...arguments];return(0,U.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var kl=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Al(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function jl(e){return`nodeType`in e}function Ml(e){return e?Al(e)?e:jl(e)?e.ownerDocument?.defaultView??window:window:window}function Nl(e){let{Document:t}=Ml(e);return e instanceof t}function Pl(e){return Al(e)?!1:e instanceof Ml(e).HTMLElement}function Fl(e){return e instanceof Ml(e).SVGElement}function Il(e){return e?Al(e)?e.document:jl(e)?Nl(e)?e:Pl(e)||Fl(e)?e.ownerDocument:document:document:document}var Ll=kl?U.useLayoutEffect:U.useEffect;function Rl(e){let t=(0,U.useRef)(e);return Ll(()=>{t.current=e}),(0,U.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function zl(){let e=(0,U.useRef)(null);return[(0,U.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,U.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Bl(e,t){t===void 0&&(t=[e]);let n=(0,U.useRef)(e);return Ll(()=>{n.current!==e&&(n.current=e)},t),n}function Vl(e,t){let n=(0,U.useRef)();return(0,U.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Hl(e){let t=Rl(e),n=(0,U.useRef)(null);return[n,(0,U.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ul(e){let t=(0,U.useRef)();return(0,U.useEffect)(()=>{t.current=e},[e]),t.current}var Wl={};function Gl(e,t){return(0,U.useMemo)(()=>{if(t)return t;let n=Wl[e]==null?0:Wl[e]+1;return Wl[e]=n,e+`-`+n},[e,t])}function Kl(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var ql=Kl(1),Jl=Kl(-1);function Yl(e){return`clientX`in e&&`clientY`in e}function Xl(e){if(!e)return!1;let{KeyboardEvent:t}=Ml(e.target);return t&&e instanceof t}function Zl(e){if(!e)return!1;let{TouchEvent:t}=Ml(e.target);return t&&e instanceof t}function Ql(e){if(Zl(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Yl(e)?{x:e.clientX,y:e.clientY}:null}var $l=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[$l.Translate.toString(e),$l.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),eu=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function tu(e){return e.matches(eu)?e:e.querySelector(eu)}var nu={display:`none`};function ru(e){let{id:t,value:n}=e;return U.createElement(`div`,{id:t,style:nu},n)}function iu(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return U.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function au(){let[e,t]=(0,U.useState)(``);return{announce:(0,U.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var ou=(0,U.createContext)(null);function su(e){let t=(0,U.useContext)(ou);(0,U.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function cu(){let[e]=(0,U.useState)(()=>new Set),t=(0,U.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,U.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var lu={draggable:`
|
|
9
|
+
`+e.stack}return{value:e,source:t,stack:i,digest:null}}function ws(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Ts(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var Es=typeof WeakMap==`function`?WeakMap:Map;function Ds(e,t,n){n=Qa(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){rl||(rl=!0,il=r),Ts(e,t)},n}function Os(e,t,n){n=Qa(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r==`function`){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Ts(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch==`function`&&(n.callback=function(){Ts(e,t),typeof r!=`function`&&(al===null?al=new Set([this]):al.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:n===null?``:n})}),n}function ks(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Es;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=Bl.bind(null,e,t,n),t.then(e,e))}function As(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t===null?!0:t.dehydrated!==null),t)return e;e=e.return}while(e!==null);return null}function js(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Qa(-1,1),t.tag=2,$a(n,t,1))),n.lanes|=1),e)}var Ms=S.ReactCurrentOwner,Ns=!1;function Ps(e,t,n,r){t.child=e===null?Fa(t,null,n,r):Pa(t,e.child,n,r)}function Fs(e,t,n,r,i){n=n.render;var a=t.ref;return Ua(t,i),r=Ao(e,t,n,r,a,i),n=jo(),e!==null&&!Ns?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,tc(e,t,i)):(X&&n&&ha(t),t.flags|=1,Ps(e,t,r,i),t.child)}function Is(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Jl(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Ls(e,t,a,r,i)):(e=Zl(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,(e.lanes&i)===0){var o=a.memoizedProps;if(n=n.compare,n=n===null?Tr:n,n(o,r)&&e.ref===t.ref)return tc(e,t,i)}return t.flags|=1,e=Xl(a,r),e.ref=t.ref,e.return=t,t.child=e}function Ls(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Tr(a,r)&&e.ref===t.ref)if(Ns=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Ns=!0);else return t.lanes=e.lanes,tc(e,t,i)}return Bs(e,t,n,r,i)}function Rs(e,t,n){var r=t.pendingProps,i=r.children,a=e===null?null:e.memoizedState;if(r.mode===`hidden`)if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Y(Kc,Gc),Gc|=n;else{if(!(n&1073741824))return e=a===null?n:a.baseLanes|n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Y(Kc,Gc),Gc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a===null?n:a.baseLanes,Y(Kc,Gc),Gc|=r}else a===null?r=n:(r=a.baseLanes|n,t.memoizedState=null),Y(Kc,Gc),Gc|=r;return Ps(e,t,i,n),t.child}function zs(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Bs(e,t,n,r,i){var a=Ki(n)?Wi:Hi.current;return a=Gi(t,a),Ua(t,i),n=Ao(e,t,n,r,a,i),r=jo(),e!==null&&!Ns?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,tc(e,t,i)):(X&&r&&ha(t),t.flags|=1,Ps(e,t,n,i),t.child)}function Vs(e,t,n,r,i){if(Ki(n)){var a=!0;Xi(t)}else a=!1;if(Ua(t,i),t.stateNode===null)ec(e,t),bs(t,n,r),Ss(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var c=o.context,l=n.contextType;typeof l==`object`&&l?l=Wa(l):(l=Ki(n)?Wi:Hi.current,l=Gi(t,l));var u=n.getDerivedStateFromProps,d=typeof u==`function`||typeof o.getSnapshotBeforeUpdate==`function`;d||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==r||c!==l)&&xs(t,o,r,l),Ya=!1;var f=t.memoizedState;o.state=f,no(t,r,o,i),c=t.memoizedState,s!==r||f!==c||Ui.current||Ya?(typeof u==`function`&&(_s(t,n,u,r),c=t.memoizedState),(s=Ya||ys(t,n,s,r,f,c,l))?(d||typeof o.UNSAFE_componentWillMount!=`function`&&typeof o.componentWillMount!=`function`||(typeof o.componentWillMount==`function`&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount==`function`&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount==`function`&&(t.flags|=4194308)):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=l,r=s):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Za(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:gs(t.type,s),o.props=l,d=t.pendingProps,f=o.context,c=n.contextType,typeof c==`object`&&c?c=Wa(c):(c=Ki(n)?Wi:Hi.current,c=Gi(t,c));var p=n.getDerivedStateFromProps;(u=typeof p==`function`||typeof o.getSnapshotBeforeUpdate==`function`)||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==d||f!==c)&&xs(t,o,r,c),Ya=!1,f=t.memoizedState,o.state=f,no(t,r,o,i);var m=t.memoizedState;s!==d||f!==m||Ui.current||Ya?(typeof p==`function`&&(_s(t,n,p,r),m=t.memoizedState),(l=Ya||ys(t,n,l,r,f,m,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!=`function`&&typeof o.componentWillUpdate!=`function`||(typeof o.componentWillUpdate==`function`&&o.componentWillUpdate(r,m,c),typeof o.UNSAFE_componentWillUpdate==`function`&&o.UNSAFE_componentWillUpdate(r,m,c)),typeof o.componentDidUpdate==`function`&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=c,r=l):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Hs(e,t,n,r,a,i)}function Hs(e,t,n,r,i,a){zs(e,t);var o=(t.flags&128)!=0;if(!r&&!o)return i&&Zi(t,n,!1),tc(e,t,a);r=t.stateNode,Ms.current=t;var s=o&&typeof n.getDerivedStateFromError!=`function`?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Pa(t,e.child,null,a),t.child=Pa(t,null,s,a)):Ps(e,t,s,a),t.memoizedState=r.state,i&&Zi(t,n,!0),t.child}function Us(e){var t=e.stateNode;t.pendingContext?Ji(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Ji(e,t.context,!1),lo(e,t.containerInfo)}function Ws(e,t,n,r,i){return Da(),Oa(i),t.flags|=256,Ps(e,t,n,r),t.child}var Gs={dehydrated:null,treeContext:null,retryLane:0};function Ks(e){return{baseLanes:e,cachePool:null,transitions:null}}function qs(e,t,n){var r=t.pendingProps,i=mo.current,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!=0),s?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Y(mo,i&1),e===null)return Ca(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data===`$!`?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:`hidden`,children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=$l(o,r,0,null),e=Ql(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Ks(n),t.memoizedState=Gs,e):Js(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return Xs(e,t,o,r,s,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,s=i.sibling;var c={mode:`hidden`,children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=Xl(i,c),r.subtreeFlags=i.subtreeFlags&14680064),s===null?(a=Ql(a,o,n,null),a.flags|=2):a=Xl(s,a),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?Ks(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Gs,r}return a=e.child,e=a.sibling,r=Xl(a,{mode:`visible`,children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Js(e,t){return t=$l({mode:`visible`,children:t},e.mode,0,null),t.return=e,e.child=t}function Ys(e,t,n,r){return r!==null&&Oa(r),Pa(t,e.child,null,n),e=Js(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Xs(e,t,n,i,a,o,s){if(n)return t.flags&256?(t.flags&=-257,i=ws(Error(r(422))),Ys(e,t,s,i)):t.memoizedState===null?(o=i.fallback,a=t.mode,i=$l({mode:`visible`,children:i.children},a,0,null),o=Ql(o,a,s,null),o.flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,t.mode&1&&Pa(t,e.child,null,s),t.child.memoizedState=Ks(s),t.memoizedState=Gs,o):(t.child=e.child,t.flags|=128,null);if(!(t.mode&1))return Ys(e,t,s,null);if(a.data===`$!`){if(i=a.nextSibling&&a.nextSibling.dataset,i)var c=i.dgst;return i=c,o=Error(r(419)),i=ws(o,i,void 0),Ys(e,t,s,i)}if(c=(s&e.childLanes)!==0,Ns||c){if(i=Hc,i!==null){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=(a&(i.suspendedLanes|s))===0?a:0,a!==0&&a!==o.retryLane&&(o.retryLane=a,Ja(e,a),hl(i,e,a,-1))}return kl(),i=ws(Error(r(421))),Ys(e,t,s,i)}return a.data===`$?`?(t.flags|=128,t.child=e.child,t=Hl.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,va=Ti(a.nextSibling),_a=t,X=!0,ya=null,e!==null&&(ca[la++]=da,ca[la++]=fa,ca[la++]=ua,da=e.id,fa=e.overflow,ua=t),t=Js(t,i.children),t.flags|=4096,t)}function Zs(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ha(e.return,t,n)}function Qs(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function $s(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Ps(e,t,r.children,n),r=mo.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Zs(e,n,t);else if(e.tag===19)Zs(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Y(mo,r),!(t.mode&1))t.memoizedState=null;else switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&ho(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Qs(t,!1,i,n,a);break;case`backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ho(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Qs(t,!0,n,null,a);break;case`together`:Qs(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ec(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function tc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Yc|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=Xl(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Xl(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function nc(e,t,n){switch(t.tag){case 3:Us(t),Da();break;case 5:fo(t);break;case 1:Ki(t.type)&&Xi(t);break;case 4:lo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Y(Ia,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Y(mo,mo.current&1),e=tc(e,t,n),e===null?null:e.sibling):qs(e,t,n):(Y(mo,mo.current&1),t.flags|=128,null);Y(mo,mo.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return $s(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Y(mo,mo.current),r)break;return null;case 22:case 23:return t.lanes=0,Rs(e,t,n)}return tc(e,t,n)}var rc=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},ic=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,co(ao.current);var o=null;switch(n){case`input`:i=fe(e,i),r=fe(e,r),o=[];break;case`select`:i=N({},i,{value:void 0}),r=N({},r,{value:void 0}),o=[];break;case`textarea`:i=ve(e,i),r=ve(e,r),o=[];break;default:typeof i.onClick!=`function`&&typeof r.onClick==`function`&&(e.onclick=hi)}Me(n,r);var s;for(u in n=null,i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u===`style`){var c=i[u];for(s in c)c.hasOwnProperty(s)&&(n||={},n[s]=``)}else u!==`dangerouslySetInnerHTML`&&u!==`children`&&u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&u!==`autoFocus`&&(a.hasOwnProperty(u)?o||=[]:(o||=[]).push(u,null));for(u in r){var l=r[u];if(c=i?.[u],r.hasOwnProperty(u)&&l!==c&&(l!=null||c!=null))if(u===`style`)if(c){for(s in c)!c.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||={},n[s]=``);for(s in l)l.hasOwnProperty(s)&&c[s]!==l[s]&&(n||={},n[s]=l[s])}else n||(o||=[],o.push(u,n)),n=l;else u===`dangerouslySetInnerHTML`?(l=l?l.__html:void 0,c=c?c.__html:void 0,l!=null&&c!==l&&(o||=[]).push(u,l)):u===`children`?typeof l!=`string`&&typeof l!=`number`||(o||=[]).push(u,``+l):u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&(a.hasOwnProperty(u)?(l!=null&&u===`onScroll`&&q(`scroll`,e),o||c===l||(o=[])):(o||=[]).push(u,l))}n&&(o||=[]).push(`style`,n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},ac=function(e,t,n,r){n!==r&&(t.flags|=4)};function oc(e,t){if(!X)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function sc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function cc(e,t,n){var i=t.pendingProps;switch(ga(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return sc(t),null;case 1:return Ki(t.type)&&qi(),sc(t),null;case 3:return i=t.stateNode,uo(),J(Ui),J(Hi),_o(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Ta(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ya!==null&&(yl(ya),ya=null))),sc(t),null;case 5:po(t);var o=co(so.current);if(n=t.type,e!==null&&t.stateNode!=null)ic(e,t,n,i,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(r(166));return sc(t),null}if(e=co(ao.current),Ta(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[Oi]=t,i[ki]=s,e=(t.mode&1)!=0,n){case`dialog`:q(`cancel`,i),q(`close`,i);break;case`iframe`:case`object`:case`embed`:q(`load`,i);break;case`video`:case`audio`:for(o=0;o<Qr.length;o++)q(Qr[o],i);break;case`source`:q(`error`,i);break;case`img`:case`image`:case`link`:q(`error`,i),q(`load`,i);break;case`details`:q(`toggle`,i);break;case`input`:B(i,s),q(`invalid`,i);break;case`select`:i._wrapperState={wasMultiple:!!s.multiple},q(`invalid`,i);break;case`textarea`:ye(i,s),q(`invalid`,i)}for(var c in Me(n,s),o=null,s)if(s.hasOwnProperty(c)){var l=s[c];c===`children`?typeof l==`string`?i.textContent!==l&&(!0!==s.suppressHydrationWarning&&mi(i.textContent,l,e),o=[`children`,l]):typeof l==`number`&&i.textContent!==``+l&&(!0!==s.suppressHydrationWarning&&mi(i.textContent,l,e),o=[`children`,``+l]):a.hasOwnProperty(c)&&l!=null&&c===`onScroll`&&q(`scroll`,i)}switch(n){case`input`:ue(i),he(i,s,!0);break;case`textarea`:ue(i),xe(i);break;case`select`:case`option`:break;default:typeof s.onClick==`function`&&(i.onclick=hi)}i=o,t.updateQueue=i,i!==null&&(t.flags|=4)}else{c=o.nodeType===9?o:o.ownerDocument,e===`http://www.w3.org/1999/xhtml`&&(e=Se(n)),e===`http://www.w3.org/1999/xhtml`?n===`script`?(e=c.createElement(`div`),e.innerHTML=`<script><\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[Oi]=t,e[ki]=i,rc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Ne(n,i),n){case`dialog`:q(`cancel`,e),q(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:q(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;o<Qr.length;o++)q(Qr[o],e);o=i;break;case`source`:q(`error`,e),o=i;break;case`img`:case`image`:case`link`:q(`error`,e),q(`load`,e),o=i;break;case`details`:q(`toggle`,e),o=i;break;case`input`:B(e,i),o=fe(e,i),q(`invalid`,e);break;case`option`:o=i;break;case`select`:e._wrapperState={wasMultiple:!!i.multiple},o=N({},i,{value:void 0}),q(`invalid`,e);break;case`textarea`:ye(e,i),o=ve(e,i),q(`invalid`,e);break;default:o=i}for(s in Me(n,o),l=o,l)if(l.hasOwnProperty(s)){var u=l[s];s===`style`?Ae(e,u):s===`dangerouslySetInnerHTML`?(u=u?u.__html:void 0,u!=null&&Te(e,u)):s===`children`?typeof u==`string`?(n!==`textarea`||u!==``)&&Ee(e,u):typeof u==`number`&&Ee(e,``+u):s!==`suppressContentEditableWarning`&&s!==`suppressHydrationWarning`&&s!==`autoFocus`&&(a.hasOwnProperty(s)?u!=null&&s===`onScroll`&&q(`scroll`,e):u!=null&&x(e,s,u,c))}switch(n){case`input`:ue(e),he(e,i,!1);break;case`textarea`:ue(e),xe(e);break;case`option`:i.value!=null&&e.setAttribute(`value`,``+L(i.value));break;case`select`:e.multiple=!!i.multiple,s=i.value,s==null?i.defaultValue!=null&&_e(e,!!i.multiple,i.defaultValue,!0):_e(e,!!i.multiple,s,!1);break;default:typeof o.onClick==`function`&&(e.onclick=hi)}switch(n){case`button`:case`input`:case`select`:case`textarea`:i=!!i.autoFocus;break a;case`img`:i=!0;break a;default:i=!1}}i&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return sc(t),null;case 6:if(e&&t.stateNode!=null)ac(e,t,e.memoizedProps,i);else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(n=co(so.current),co(ao.current),Ta(t)){if(i=t.stateNode,n=t.memoizedProps,i[Oi]=t,(s=i.nodeValue!==n)&&(e=_a,e!==null))switch(e.tag){case 3:mi(i.nodeValue,n,(e.mode&1)!=0);break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&mi(i.nodeValue,n,(e.mode&1)!=0)}s&&(t.flags|=4)}else i=(n.nodeType===9?n:n.ownerDocument).createTextNode(i),i[Oi]=t,t.stateNode=i}return sc(t),null;case 13:if(J(mo),i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(X&&va!==null&&t.mode&1&&!(t.flags&128))Ea(),Da(),t.flags|=98560,s=!1;else if(s=Ta(t),i!==null&&i.dehydrated!==null){if(e===null){if(!s)throw Error(r(318));if(s=t.memoizedState,s=s===null?null:s.dehydrated,!s)throw Error(r(317));s[Oi]=t}else Da(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;sc(t),s=!1}else ya!==null&&(yl(ya),ya=null),s=!0;if(!s)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(i=i!==null,i!==(e!==null&&e.memoizedState!==null)&&i&&(t.child.flags|=8192,t.mode&1&&(e===null||mo.current&1?qc===0&&(qc=3):kl())),t.updateQueue!==null&&(t.flags|=4),sc(t),null);case 4:return uo(),e===null&&ii(t.stateNode.containerInfo),sc(t),null;case 10:return Va(t.type._context),sc(t),null;case 17:return Ki(t.type)&&qi(),sc(t),null;case 19:if(J(mo),s=t.memoizedState,s===null)return sc(t),null;if(i=(t.flags&128)!=0,c=s.rendering,c===null)if(i)oc(s,!1);else{if(qc!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(c=ho(e),c!==null){for(t.flags|=128,oc(s,!1),i=c.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),t.subtreeFlags=0,i=n,n=t.child;n!==null;)s=n,e=i,s.flags&=14680066,c=s.alternate,c===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Y(mo,mo.current&1|2),t.child}e=e.sibling}s.tail!==null&&ut()>tl&&(t.flags|=128,i=!0,oc(s,!1),t.lanes=4194304)}else{if(!i)if(e=ho(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),oc(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!X)return sc(t),null}else 2*ut()-s.renderingStartTime>tl&&n!==1073741824&&(t.flags|=128,i=!0,oc(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(sc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=ut(),t.sibling=null,n=mo.current,Y(mo,i?n&1|2:n&1),t);case 22:case 23:return Tl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Gc&1073741824&&(sc(t),t.subtreeFlags&6&&(t.flags|=8192)):sc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function lc(e,t){switch(ga(t),t.tag){case 1:return Ki(t.type)&&qi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return uo(),J(Ui),J(Hi),_o(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return po(t),null;case 13:if(J(mo),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Da()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return J(mo),null;case 4:return uo(),null;case 10:return Va(t.type._context),null;case 22:case 23:return Tl(),null;case 24:return null;default:return null}}var uc=!1,dc=!1,fc=typeof WeakSet==`function`?WeakSet:Set,Z=null;function pc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){zl(e,t,n)}else n.current=null}function mc(e,t,n){try{n()}catch(n){zl(e,t,n)}}var hc=!1;function gc(e,t){if(gi=cn,e=kr(),Ar(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(_i={focusedElem:e,selectionRange:n},cn=!1,Z=t;Z!==null;)if(t=Z,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Z=e;else for(;Z!==null;){t=Z;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:gs(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){zl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Z=e;break}Z=t.return}return h=hc,hc=!1,h}function _c(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&mc(t,n,a)}i=i.next}while(i!==r)}}function vc(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function yc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==`function`?t(e):t.current=e}}function bc(e){var t=e.alternate;t!==null&&(e.alternate=null,bc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Oi],delete t[ki],delete t[ji],delete t[Mi],delete t[Ni])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function xc(e){return e.tag===5||e.tag===3||e.tag===4}function Sc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||xc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Cc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=hi));else if(r!==4&&(e=e.child,e!==null))for(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}function wc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(wc(e,t,n),e=e.sibling;e!==null;)wc(e,t,n),e=e.sibling}var Tc=null,Ec=!1;function Dc(e,t,n){for(n=n.child;n!==null;)Oc(e,t,n),n=n.sibling}function Oc(e,t,n){if(vt&&typeof vt.onCommitFiberUnmount==`function`)try{vt.onCommitFiberUnmount(_t,n)}catch{}switch(n.tag){case 5:dc||pc(n,t);case 6:var r=Tc,i=Ec;Tc=null,Dc(e,t,n),Tc=r,Ec=i,Tc!==null&&(Ec?(e=Tc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tc.removeChild(n.stateNode));break;case 18:Tc!==null&&(Ec?(e=Tc,n=n.stateNode,e.nodeType===8?wi(e.parentNode,n):e.nodeType===1&&wi(e,n),on(e)):wi(Tc,n.stateNode));break;case 4:r=Tc,i=Ec,Tc=n.stateNode.containerInfo,Ec=!0,Dc(e,t,n),Tc=r,Ec=i;break;case 0:case 11:case 14:case 15:if(!dc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&mc(n,t,o),i=i.next}while(i!==r)}Dc(e,t,n);break;case 1:if(!dc&&(pc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){zl(n,t,e)}Dc(e,t,n);break;case 21:Dc(e,t,n);break;case 22:n.mode&1?(dc=(r=dc)||n.memoizedState!==null,Dc(e,t,n),dc=r):Dc(e,t,n);break;default:Dc(e,t,n)}}function kc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new fc),t.forEach(function(t){var r=Ul.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Ac(e,t){var n=t.deletions;if(n!==null)for(var i=0;i<n.length;i++){var a=n[i];try{var o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 5:Tc=c.stateNode,Ec=!1;break a;case 3:Tc=c.stateNode.containerInfo,Ec=!0;break a;case 4:Tc=c.stateNode.containerInfo,Ec=!0;break a}c=c.return}if(Tc===null)throw Error(r(160));Oc(o,s,a),Tc=null,Ec=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(e){zl(a,t,e)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)jc(t,e),t=t.sibling}function jc(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ac(t,e),Mc(e),i&4){try{_c(3,e,e.return),vc(3,e)}catch(t){zl(e,e.return,t)}try{_c(5,e,e.return)}catch(t){zl(e,e.return,t)}}break;case 1:Ac(t,e),Mc(e),i&512&&n!==null&&pc(n,n.return);break;case 5:if(Ac(t,e),Mc(e),i&512&&n!==null&&pc(n,n.return),e.flags&32){var a=e.stateNode;try{Ee(a,``)}catch(t){zl(e,e.return,t)}}if(i&4&&(a=e.stateNode,a!=null)){var o=e.memoizedProps,s=n===null?o:n.memoizedProps,c=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{c===`input`&&o.type===`radio`&&o.name!=null&&pe(a,o),Ne(c,s);var u=Ne(c,o);for(s=0;s<l.length;s+=2){var d=l[s],f=l[s+1];d===`style`?Ae(a,f):d===`dangerouslySetInnerHTML`?Te(a,f):d===`children`?Ee(a,f):x(a,d,f,u)}switch(c){case`input`:me(a,o);break;case`textarea`:be(a,o);break;case`select`:var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var m=o.value;m==null?p!==!!o.multiple&&(o.defaultValue==null?_e(a,!!o.multiple,o.multiple?[]:``,!1):_e(a,!!o.multiple,o.defaultValue,!0)):_e(a,!!o.multiple,m,!1)}a[ki]=o}catch(t){zl(e,e.return,t)}}break;case 6:if(Ac(t,e),Mc(e),i&4){if(e.stateNode===null)throw Error(r(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(t){zl(e,e.return,t)}}break;case 3:if(Ac(t,e),Mc(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{on(t.containerInfo)}catch(t){zl(e,e.return,t)}break;case 4:Ac(t,e),Mc(e);break;case 13:Ac(t,e),Mc(e),a=e.child,a.flags&8192&&(o=a.memoizedState!==null,a.stateNode.isHidden=o,!o||a.alternate!==null&&a.alternate.memoizedState!==null||(el=ut())),i&4&&kc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(dc=(u=dc)||d,Ac(t,e),dc=u):Ac(t,e),Mc(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(Z=e,d=e.child;d!==null;){for(f=Z=d;Z!==null;){switch(p=Z,m=p.child,p.tag){case 0:case 11:case 14:case 15:_c(4,p,p.return);break;case 1:pc(p,p.return);var h=p.stateNode;if(typeof h.componentWillUnmount==`function`){i=p,n=p.return;try{t=i,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(e){zl(i,n,e)}}break;case 5:pc(p,p.return);break;case 22:if(p.memoizedState!==null){Ic(f);continue}}m===null?Ic(f):(m.return=p,Z=m)}d=d.sibling}a:for(d=null,f=e;;){if(f.tag===5){if(d===null){d=f;try{a=f.stateNode,u?(o=a.style,typeof o.setProperty==`function`?o.setProperty(`display`,`none`,`important`):o.display=`none`):(c=f.stateNode,l=f.memoizedProps.style,s=l!=null&&l.hasOwnProperty(`display`)?l.display:null,c.style.display=ke(`display`,s))}catch(t){zl(e,e.return,t)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?``:f.memoizedProps}catch(t){zl(e,e.return,t)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break a;for(;f.sibling===null;){if(f.return===null||f.return===e)break a;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:Ac(t,e),Mc(e),i&4&&kc(e);break;case 21:break;default:Ac(t,e),Mc(e)}}function Mc(e){var t=e.flags;if(t&2){try{a:{for(var n=e.return;n!==null;){if(xc(n)){var i=n;break a}n=n.return}throw Error(r(160))}switch(i.tag){case 5:var a=i.stateNode;i.flags&32&&(Ee(a,``),i.flags&=-33),wc(e,Sc(e),a);break;case 3:case 4:var o=i.stateNode.containerInfo;Cc(e,Sc(e),o);break;default:throw Error(r(161))}}catch(t){zl(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Nc(e,t,n){Z=e,Pc(e,t,n)}function Pc(e,t,n){for(var r=(e.mode&1)!=0;Z!==null;){var i=Z,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||uc;if(!o){var s=i.alternate,c=s!==null&&s.memoizedState!==null||dc;s=uc;var l=dc;if(uc=o,(dc=c)&&!l)for(Z=i;Z!==null;)o=Z,c=o.child,o.tag===22&&o.memoizedState!==null||c===null?Lc(i):(c.return=o,Z=c);for(;a!==null;)Z=a,Pc(a,t,n),a=a.sibling;Z=i,uc=s,dc=l}Fc(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,Z=a):Fc(e,t,n)}}function Fc(e){for(;Z!==null;){var t=Z;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:dc||vc(5,t);break;case 1:var i=t.stateNode;if(t.flags&4&&!dc)if(n===null)i.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:gs(t.type,n.memoizedProps);i.componentDidUpdate(a,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&ro(t,o,i);break;case 3:var s=t.updateQueue;if(s!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}ro(t,s,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var l=t.memoizedProps;switch(t.type){case`button`:case`input`:case`select`:case`textarea`:l.autoFocus&&n.focus();break;case`img`:l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var f=d.dehydrated;f!==null&&on(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}dc||t.flags&512&&yc(t)}catch(e){zl(t,t.return,e)}}if(t===e){Z=null;break}if(n=t.sibling,n!==null){n.return=t.return,Z=n;break}Z=t.return}}function Ic(e){for(;Z!==null;){var t=Z;if(t===e){Z=null;break}var n=t.sibling;if(n!==null){n.return=t.return,Z=n;break}Z=t.return}}function Lc(e){for(;Z!==null;){var t=Z;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{vc(4,t)}catch(e){zl(t,n,e)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==`function`){var i=t.return;try{r.componentDidMount()}catch(e){zl(t,i,e)}}var a=t.return;try{yc(t)}catch(e){zl(t,a,e)}break;case 5:var o=t.return;try{yc(t)}catch(e){zl(t,o,e)}}}catch(e){zl(t,t.return,e)}if(t===e){Z=null;break}var s=t.sibling;if(s!==null){s.return=t.return,Z=s;break}Z=t.return}}var Rc=Math.ceil,zc=S.ReactCurrentDispatcher,Bc=S.ReactCurrentOwner,Vc=S.ReactCurrentBatchConfig,Q=0,Hc=null,Uc=null,Wc=0,Gc=0,Kc=Bi(0),qc=0,Jc=null,Yc=0,Xc=0,Zc=0,Qc=null,$c=null,el=0,tl=1/0,nl=null,rl=!1,il=null,al=null,ol=!1,sl=null,cl=0,ll=0,ul=null,dl=-1,fl=0;function pl(){return Q&6?ut():dl===-1?dl=ut():dl}function ml(e){return e.mode&1?Q&2&&Wc!==0?Wc&-Wc:ka.transition===null?(e=K,e===0?(e=window.event,e=e===void 0?16:mn(e.type),e):e):(fl===0&&(fl=jt()),fl):1}function hl(e,t,n,i){if(50<ll)throw ll=0,ul=null,Error(r(185));Nt(e,n,i),(!(Q&2)||e!==Hc)&&(e===Hc&&(!(Q&2)&&(Xc|=n),qc===4&&xl(e,Wc)),gl(e,i),n===1&&Q===0&&!(t.mode&1)&&(tl=ut()+500,$i&&ra()))}function gl(e,t){var n=e.callbackNode;kt(e,t);var r=Dt(e,e===Hc?Wc:0);if(r===0)n!==null&&st(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&st(n),t===1)e.tag===0?na(Sl.bind(null,e)):ta(Sl.bind(null,e)),Si(function(){!(Q&6)&&ra()}),n=null;else{switch(It(r)){case 1:n=ft;break;case 4:n=pt;break;case 16:n=mt;break;case 536870912:n=gt;break;default:n=mt}n=Gl(n,_l.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function _l(e,t){if(dl=-1,fl=0,Q&6)throw Error(r(327));var n=e.callbackNode;if(Ll()&&e.callbackNode!==n)return null;var i=Dt(e,e===Hc?Wc:0);if(i===0)return null;if(i&30||(i&e.expiredLanes)!==0||t)t=Al(e,i);else{t=i;var a=Q;Q|=2;var o=Ol();(Hc!==e||Wc!==t)&&(nl=null,tl=ut()+500,El(e,t));do try{Ml();break}catch(t){Dl(e,t)}while(1);Ba(),zc.current=o,Q=a,Uc===null?(Hc=null,Wc=0,t=qc):t=0}if(t!==0){if(t===2&&(a=At(e),a!==0&&(i=a,t=vl(e,a))),t===1)throw n=Jc,El(e,0),xl(e,i),gl(e,ut()),n;if(t===6)xl(e,i);else{if(a=e.current.alternate,!(i&30)&&!bl(a)&&(t=Al(e,i),t===2&&(o=At(e),o!==0&&(i=o,t=vl(e,o))),t===1))throw n=Jc,El(e,0),xl(e,i),gl(e,ut()),n;switch(e.finishedWork=a,e.finishedLanes=i,t){case 0:case 1:throw Error(r(345));case 2:Fl(e,$c,nl);break;case 3:if(xl(e,i),(i&130023424)===i&&(t=el+500-ut(),10<t)){if(Dt(e,0)!==0)break;if(a=e.suspendedLanes,(a&i)!==i){pl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=yi(Fl.bind(null,e,$c,nl),t);break}Fl(e,$c,nl);break;case 4:if(xl(e,i),(i&4194240)===i)break;for(t=e.eventTimes,a=-1;0<i;){var s=31-bt(i);o=1<<s,s=t[s],s>a&&(a=s),i&=~o}if(i=a,i=ut()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Rc(i/1960))-i,10<i){e.timeoutHandle=yi(Fl.bind(null,e,$c,nl),i);break}Fl(e,$c,nl);break;case 5:Fl(e,$c,nl);break;default:throw Error(r(329))}}}return gl(e,ut()),e.callbackNode===n?_l.bind(null,e):null}function vl(e,t){var n=Qc;return e.current.memoizedState.isDehydrated&&(El(e,t).flags|=256),e=Al(e,t),e!==2&&(t=$c,$c=n,t!==null&&yl(t)),e}function yl(e){$c===null?$c=e:$c.push.apply($c,e)}function bl(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!wr(a(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function xl(e,t){for(t&=~Zc,t&=~Xc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-bt(t),r=1<<n;e[n]=-1,t&=~r}}function Sl(e){if(Q&6)throw Error(r(327));Ll();var t=Dt(e,0);if(!(t&1))return gl(e,ut()),null;var n=Al(e,t);if(e.tag!==0&&n===2){var i=At(e);i!==0&&(t=i,n=vl(e,i))}if(n===1)throw n=Jc,El(e,0),xl(e,t),gl(e,ut()),n;if(n===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Fl(e,$c,nl),gl(e,ut()),null}function Cl(e,t){var n=Q;Q|=1;try{return e(t)}finally{Q=n,Q===0&&(tl=ut()+500,$i&&ra())}}function wl(e){sl!==null&&sl.tag===0&&!(Q&6)&&Ll();var t=Q;Q|=1;var n=Vc.transition,r=K;try{if(Vc.transition=null,K=1,e)return e()}finally{K=r,Vc.transition=n,Q=t,!(Q&6)&&ra()}}function Tl(){Gc=Kc.current,J(Kc)}function El(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,bi(n)),Uc!==null)for(n=Uc.return;n!==null;){var r=n;switch(ga(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&qi();break;case 3:uo(),J(Ui),J(Hi),_o();break;case 5:po(r);break;case 4:uo();break;case 13:J(mo);break;case 19:J(mo);break;case 10:Va(r.type._context);break;case 22:case 23:Tl()}n=n.return}if(Hc=e,Uc=e=Xl(e.current,null),Wc=Gc=t,qc=0,Jc=null,Zc=Xc=Yc=0,$c=Qc=null,Ga!==null){for(t=0;t<Ga.length;t++)if(n=Ga[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,a=n.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}n.pending=r}Ga=null}return e}function Dl(e,t){do{var n=Uc;try{if(Ba(),vo.current=fs,wo){for(var i=xo.memoizedState;i!==null;){var a=i.queue;a!==null&&(a.pending=null),i=i.next}wo=!1}if(bo=0,Co=So=xo=null,To=!1,Eo=0,Bc.current=null,n===null||n.return===null){qc=1,Jc=t,Uc=null;break}a:{var o=e,s=n.return,c=n,l=t;if(t=Wc,c.flags|=32768,typeof l==`object`&&l&&typeof l.then==`function`){var u=l,d=c,f=d.tag;if(!(d.mode&1)&&(f===0||f===11||f===15)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=As(s);if(m!==null){m.flags&=-257,js(m,s,c,o,t),m.mode&1&&ks(o,u,t),t=m,l=u;var h=t.updateQueue;if(h===null){var g=new Set;g.add(l),t.updateQueue=g}else h.add(l);break a}else{if(!(t&1)){ks(o,u,t),kl();break a}l=Error(r(426))}}else if(X&&c.mode&1){var _=As(s);if(_!==null){!(_.flags&65536)&&(_.flags|=256),js(_,s,c,o,t),Oa(Cs(l,c));break a}}o=l=Cs(l,c),qc!==4&&(qc=2),Qc===null?Qc=[o]:Qc.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var v=Ds(o,l,t);to(o,v);break a;case 1:c=l;var y=o.type,b=o.stateNode;if(!(o.flags&128)&&(typeof y.getDerivedStateFromError==`function`||b!==null&&typeof b.componentDidCatch==`function`&&(al===null||!al.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t;var x=Os(o,c,t);to(o,x);break a}}o=o.return}while(o!==null)}Pl(n)}catch(e){t=e,Uc===n&&n!==null&&(Uc=n=n.return);continue}break}while(1)}function Ol(){var e=zc.current;return zc.current=fs,e===null?fs:e}function kl(){(qc===0||qc===3||qc===2)&&(qc=4),Hc===null||!(Yc&268435455)&&!(Xc&268435455)||xl(Hc,Wc)}function Al(e,t){var n=Q;Q|=2;var i=Ol();(Hc!==e||Wc!==t)&&(nl=null,El(e,t));do try{jl();break}catch(t){Dl(e,t)}while(1);if(Ba(),Q=n,zc.current=i,Uc!==null)throw Error(r(261));return Hc=null,Wc=0,qc}function jl(){for(;Uc!==null;)Nl(Uc)}function Ml(){for(;Uc!==null&&!ct();)Nl(Uc)}function Nl(e){var t=Wl(e.alternate,e,Gc);e.memoizedProps=e.pendingProps,t===null?Pl(e):Uc=t,Bc.current=null}function Pl(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=lc(n,t),n!==null){n.flags&=32767,Uc=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{qc=6,Uc=null;return}}else if(n=cc(n,t,Gc),n!==null){Uc=n;return}if(t=t.sibling,t!==null){Uc=t;return}Uc=t=e}while(t!==null);qc===0&&(qc=5)}function Fl(e,t,n){var r=K,i=Vc.transition;try{Vc.transition=null,K=1,Il(e,t,n,r)}finally{Vc.transition=i,K=r}return null}function Il(e,t,n,i){do Ll();while(sl!==null);if(Q&6)throw Error(r(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(Pt(e,o),e===Hc&&(Uc=Hc=null,Wc=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||ol||(ol=!0,Gl(mt,function(){return Ll(),null})),o=(n.flags&15990)!=0,n.subtreeFlags&15990||o){o=Vc.transition,Vc.transition=null;var s=K;K=1;var c=Q;Q|=4,Bc.current=null,gc(e,n),jc(n,e),jr(_i),cn=!!gi,_i=gi=null,e.current=n,Nc(n,e,a),lt(),Q=c,K=s,Vc.transition=o}else e.current=n;if(ol&&(ol=!1,sl=e,cl=a),o=e.pendingLanes,o===0&&(al=null),yt(n.stateNode,i),gl(e,ut()),t!==null)for(i=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],i(a.value,{componentStack:a.stack,digest:a.digest});if(rl)throw rl=!1,e=il,il=null,e;return cl&1&&e.tag!==0&&Ll(),o=e.pendingLanes,o&1?e===ul?ll++:(ll=0,ul=e):ll=0,ra(),null}function Ll(){if(sl!==null){var e=It(cl),t=Vc.transition,n=K;try{if(Vc.transition=null,K=16>e?16:e,sl===null)var i=!1;else{if(e=sl,sl=null,cl=0,Q&6)throw Error(r(331));var a=Q;for(Q|=4,Z=e.current;Z!==null;){var o=Z,s=o.child;if(Z.flags&16){var c=o.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(Z=u;Z!==null;){var d=Z;switch(d.tag){case 0:case 11:case 15:_c(8,d,o)}var f=d.child;if(f!==null)f.return=d,Z=f;else for(;Z!==null;){d=Z;var p=d.sibling,m=d.return;if(bc(d),d===u){Z=null;break}if(p!==null){p.return=m,Z=p;break}Z=m}}}var h=o.alternate;if(h!==null){var g=h.child;if(g!==null){h.child=null;do{var _=g.sibling;g.sibling=null,g=_}while(g!==null)}}Z=o}}if(o.subtreeFlags&2064&&s!==null)s.return=o,Z=s;else b:for(;Z!==null;){if(o=Z,o.flags&2048)switch(o.tag){case 0:case 11:case 15:_c(9,o,o.return)}var v=o.sibling;if(v!==null){v.return=o.return,Z=v;break b}Z=o.return}}var y=e.current;for(Z=y;Z!==null;){s=Z;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,Z=b;else b:for(s=y;Z!==null;){if(c=Z,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:vc(9,c)}}catch(e){zl(c,c.return,e)}if(c===s){Z=null;break b}var x=c.sibling;if(x!==null){x.return=c.return,Z=x;break b}Z=c.return}}if(Q=a,ra(),vt&&typeof vt.onPostCommitFiberRoot==`function`)try{vt.onPostCommitFiberRoot(_t,e)}catch{}i=!0}return i}finally{K=n,Vc.transition=t}}return!1}function Rl(e,t,n){t=Cs(n,t),t=Ds(e,t,1),e=$a(e,t,1),t=pl(),e!==null&&(Nt(e,1,t),gl(e,t))}function zl(e,t,n){if(e.tag===3)Rl(e,e,n);else for(;t!==null;){if(t.tag===3){Rl(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(al===null||!al.has(r))){e=Cs(n,e),e=Os(t,e,1),t=$a(t,e,1),e=pl(),t!==null&&(Nt(t,1,e),gl(t,e));break}}t=t.return}}function Bl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=pl(),e.pingedLanes|=e.suspendedLanes&n,Hc===e&&(Wc&n)===n&&(qc===4||qc===3&&(Wc&130023424)===Wc&&500>ut()-el?El(e,0):Zc|=n),gl(e,t)}function Vl(e,t){t===0&&(e.mode&1?(t=Tt,Tt<<=1,!(Tt&130023424)&&(Tt=4194304)):t=1);var n=pl();e=Ja(e,t),e!==null&&(Nt(e,t,n),gl(e,n))}function Hl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Vl(e,n)}function Ul(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Vl(e,n)}var Wl=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ui.current)Ns=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ns=!1,nc(e,t,n);Ns=!!(e.flags&131072)}else Ns=!1,X&&t.flags&1048576&&ma(t,sa,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;ec(e,t),e=t.pendingProps;var a=Gi(t,Hi.current);Ua(t,n),a=Ao(null,t,i,e,a,n);var o=jo();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ki(i)?(o=!0,Xi(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Xa(t),a.updater=vs,t.stateNode=a,a._reactInternals=t,Ss(t,i,e,n),t=Hs(null,t,i,!0,o,n)):(t.tag=0,X&&o&&ha(t),Ps(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch(ec(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=Yl(i),e=gs(i,e),a){case 0:t=Bs(null,t,i,e,n);break a;case 1:t=Vs(null,t,i,e,n);break a;case 11:t=Fs(null,t,i,e,n);break a;case 14:t=Is(null,t,i,gs(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Bs(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Vs(e,t,i,a,n);case 3:a:{if(Us(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,Za(e,t),no(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated)if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Cs(Error(r(423)),t),t=Ws(e,t,i,n,a);break a}else if(i!==a){a=Cs(Error(r(424)),t),t=Ws(e,t,i,n,a);break a}else for(va=Ti(t.stateNode.containerInfo.firstChild),_a=t,X=!0,ya=null,n=Fa(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Da(),i===a){t=tc(e,t,n);break a}Ps(e,t,i,n)}t=t.child}return t;case 5:return fo(t),e===null&&Ca(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,vi(i,a)?s=null:o!==null&&vi(i,o)&&(t.flags|=32),zs(e,t),Ps(e,t,s,n),t.child;case 6:return e===null&&Ca(t),null;case 13:return qs(e,t,n);case 4:return lo(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=Pa(t,null,i,n):Ps(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),Fs(e,t,i,a,n);case 7:return Ps(e,t,t.pendingProps,n),t.child;case 8:return Ps(e,t,t.pendingProps.children,n),t.child;case 12:return Ps(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,Y(Ia,i._currentValue),i._currentValue=s,o!==null)if(wr(o.value,s)){if(o.children===a.children&&!Ui.current){t=tc(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=Qa(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ha(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Ha(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Ps(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ua(t,n),a=Wa(a),i=i(a),t.flags|=1,Ps(e,t,i,n),t.child;case 14:return i=t.type,a=gs(i,t.pendingProps),a=gs(i.type,a),Is(e,t,i,a,n);case 15:return Ls(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:gs(i,a),ec(e,t),t.tag=1,Ki(i)?(e=!0,Xi(t)):e=!1,Ua(t,n),bs(t,i,a),Ss(t,i,a,n),Hs(null,t,i,!0,e,n);case 19:return $s(e,t,n);case 22:return Rs(e,t,n)}throw Error(r(156,t.tag))};function Gl(e,t){return ot(e,t)}function Kl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ql(e,t,n,r){return new Kl(e,t,n,r)}function Jl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Yl(e){if(typeof e==`function`)return+!!Jl(e);if(e!=null){if(e=e.$$typeof,e===k)return 11;if(e===j)return 14}return 2}function Xl(e,t){var n=e.alternate;return n===null?(n=ql(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Zl(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)Jl(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case T:return Ql(n.children,a,o,t);case ee:s=8,a|=8;break;case E:return e=ql(12,n,t,a|2),e.elementType=E,e.lanes=o,e;case te:return e=ql(13,n,t,a),e.elementType=te,e.lanes=o,e;case A:return e=ql(19,n,t,a),e.elementType=A,e.lanes=o,e;case ne:return $l(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case D:s=10;break a;case O:s=9;break a;case k:s=11;break a;case j:s=14;break a;case M:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=ql(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function Ql(e,t,n,r){return e=ql(7,e,r,t),e.lanes=n,e}function $l(e,t,n,r){return e=ql(22,e,r,t),e.elementType=ne,e.lanes=n,e.stateNode={isHidden:!1},e}function eu(e,t,n){return e=ql(6,e,null,t),e.lanes=n,e}function tu(e,t,n){return t=ql(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function nu(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Mt(0),this.expirationTimes=Mt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Mt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ru(e,t,n,r,i,a,o,s,c){return e=new nu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=ql(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Xa(a),e}function iu(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:w,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}function au(e){if(!e)return Vi;e=e._reactInternals;a:{if(tt(e)!==e||e.tag!==1)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break a;case 1:if(Ki(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break a}}t=t.return}while(t!==null);throw Error(r(171))}if(e.tag===1){var n=e.type;if(Ki(n))return Yi(e,n,t)}return t}function ou(e,t,n,r,i,a,o,s,c){return e=ru(n,r,!0,e,i,a,o,s,c),e.context=au(null),n=e.current,r=pl(),i=ml(n),a=Qa(r,i),a.callback=t??null,$a(n,a,i),e.current.lanes=i,Nt(e,i,r),gl(e,r),e}function su(e,t,n,r){var i=t.current,a=pl(),o=ml(i);return n=au(n),t.context===null?t.context=n:t.pendingContext=n,t=Qa(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=$a(i,t,o),e!==null&&(hl(e,i,o,a),eo(e,i,o)),o}function cu(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function lu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function uu(e,t){lu(e,t),(e=e.alternate)&&lu(e,t)}function du(){return null}var fu=typeof reportError==`function`?reportError:function(e){console.error(e)};function pu(e){this._internalRoot=e}mu.prototype.render=pu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));su(e,t,null,null)},mu.prototype.unmount=pu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;wl(function(){su(null,e,null,null)}),t[Ai]=null}};function mu(e){this._internalRoot=e}mu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Bt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Yt.length&&t!==0&&t<Yt[n].priority;n++);Yt.splice(n,0,e),n===0&&en(e)}};function hu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function gu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==` react-mount-point-unstable `))}function _u(){}function vu(e,t,n,r,i){if(i){if(typeof r==`function`){var a=r;r=function(){var e=cu(o);a.call(e)}}var o=ou(t,r,e,0,null,!1,!1,``,_u);return e._reactRootContainer=o,e[Ai]=o.current,ii(e.nodeType===8?e.parentNode:e),wl(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r==`function`){var s=r;r=function(){var e=cu(c);s.call(e)}}var c=ru(e,0,!1,null,null,!1,!1,``,_u);return e._reactRootContainer=c,e[Ai]=c.current,ii(e.nodeType===8?e.parentNode:e),wl(function(){su(t,c,n,r)}),c}function yu(e,t,n,r,i){var a=n._reactRootContainer;if(a){var o=a;if(typeof i==`function`){var s=i;i=function(){var e=cu(o);s.call(e)}}su(t,o,e,i)}else o=vu(n,t,e,i,r);return cu(o)}Lt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Et(t.pendingLanes);n!==0&&(Ft(t,n|1),gl(t,ut()),!(Q&6)&&(tl=ut()+500,ra()))}break;case 13:wl(function(){var t=Ja(e,1);t!==null&&hl(t,e,1,pl())}),uu(e,1)}},Rt=function(e){if(e.tag===13){var t=Ja(e,134217728);t!==null&&hl(t,e,134217728,pl()),uu(e,134217728)}},zt=function(e){if(e.tag===13){var t=ml(e),n=Ja(e,t);n!==null&&hl(n,e,t,pl()),uu(e,t)}},Bt=function(){return K},Vt=function(e,t){var n=K;try{return K=e,t()}finally{K=n}},Ie=function(e,t,n){switch(t){case`input`:if(me(e,n),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name=`+JSON.stringify(``+t)+`][type="radio"]`),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var a=Li(i);if(!a)throw Error(r(90));z(i),me(i,a)}}}break;case`textarea`:be(e,n);break;case`select`:t=n.value,t!=null&&_e(e,!!n.multiple,t,!1)}},Be=Cl,Ve=wl;var bu={usingClientEntryPoint:!1,Events:[Fi,Ii,Li,W,ze,Cl]},xu={findFiberByHostInstance:Pi,bundleType:0,version:`18.3.1`,rendererPackageName:`react-dom`},Su={bundleType:xu.bundleType,version:xu.version,rendererPackageName:xu.rendererPackageName,rendererConfig:xu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:S.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=at(e),e===null?null:e.stateNode},findFiberByHostInstance:xu.findFiberByHostInstance||du,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:`18.3.1-next-f1338f8080-20240426`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Cu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Cu.isDisabled&&Cu.supportsFiber)try{_t=Cu.inject(Su),vt=Cu}catch{}}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=bu,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!hu(t))throw Error(r(200));return iu(e,t,null,n)},e.createRoot=function(e,t){if(!hu(e))throw Error(r(299));var n=!1,i=``,a=fu;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=ru(e,1,!1,null,null,n,!1,i,a),e[Ai]=t.current,ii(e.nodeType===8?e.parentNode:e),new pu(t)},e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(r(188)):(e=Object.keys(e).join(`,`),Error(r(268,e)));return e=at(t),e=e===null?null:e.stateNode,e},e.flushSync=function(e){return wl(e)},e.hydrate=function(e,t,n){if(!gu(t))throw Error(r(200));return yu(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){if(!hu(e))throw Error(r(405));var i=n!=null&&n.hydratedSources||null,a=!1,o=``,s=fu;if(n!=null&&(!0===n.unstable_strictMode&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=ou(t,null,e,1,n??null,a,!1,o,s),e[Ai]=t.current,ii(e),i)for(e=0;e<i.length;e++)n=i[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new mu(t)},e.render=function(e,t,n){if(!gu(t))throw Error(r(200));return yu(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(!gu(e))throw Error(r(40));return e._reactRootContainer?(wl(function(){yu(null,null,e,!1,function(){e._reactRootContainer=null,e[Ai]=null})}),!0):!1},e.unstable_batchedUpdates=Cl,e.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!gu(n))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return yu(e,t,n,!1,i)},e.version=`18.3.1-next-f1338f8080-20240426`})),Le=h(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Ie()})),Re=h((e=>{var t=Le();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot}))(),U=D(d(),1),W=oe(),ze=320;function Be(){return R().basket}function Ve(){let e=(0,U.useSyncExternalStore)(F,Be).items.length,[t,n]=(0,U.useState)(!1),r=(0,U.useRef)(e);if((0,U.useEffect)(()=>{if(e>r.current){n(!0);let t=setTimeout(()=>n(!1),ze);return r.current=e,()=>clearTimeout(t)}r.current=e},[e]),e===0)return null;let i=e===1?`section`:`sections`;return(0,W.jsxs)(`button`,{type:`button`,className:`basket-chip${t?` basket-chip-pulse`:``}`,"aria-label":`Open basket (${e} ${i}). Click to compose.`,title:`Basket — ${e} ${i}. Click to compose.`,onClick:()=>I(p()),children:[(0,W.jsxs)(`svg`,{className:`basket-chip-icon`,width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,focusable:`false`,children:[(0,W.jsx)(`rect`,{x:`2.75`,y:`2`,width:`8.5`,height:`10.5`,rx:`1`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`}),(0,W.jsx)(`rect`,{x:`4.5`,y:`0.75`,width:`5`,height:`2.5`,rx:`0.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]}),(0,W.jsx)(`span`,{className:`basket-chip-count`,children:e})]})}var He={ok:`OK`,warn:`WARN`,fail:`FAIL`};function Ue(){let e=(0,U.useSyncExternalStore)(F,()=>R().doctor);if(!e)return null;let{severity:t,counts:n,generated_at:r}=e,i;i=n.fail>0?`${n.fail} fail`:t===`warn`&&n.warn>0?`${n.warn} warn`:`OK`;let a=`Doctor diagnostic: ${He[t]} — ${n.ok} OK, ${n.warn} warn, ${n.fail} fail`,o=`Doctor · ${He[t]} (click for report)`;try{let e=new Date(r).toLocaleTimeString();o=`Doctor · ${He[t]} · checked ${e} (click for report)`}catch{}return(0,W.jsxs)(`button`,{type:`button`,className:`doctor-chip doctor-chip--${t}`,title:o,"aria-label":a,onClick:()=>I({type:`OPEN_DOCTOR_MODAL`}),children:[(0,W.jsx)(`span`,{className:`doctor-chip-label`,children:`Doctor`}),(0,W.jsx)(`span`,{className:`doctor-chip-status`,children:i})]})}function We(){return(0,U.useSyncExternalStore)(F,()=>R().snapshot)}var Ge=`/api/update/status`,Ke=`/api/update`,qe=`/api/update/dismiss`;function Je(e,t=null){return e===`brew`?`brew update --quiet && brew upgrade cctally`:e===`npm`?`npm install -g cctally@${t??`latest`}`:null}function Ye(e){return!e||!e.includes(`-`)?null:`You're on prerelease ${e}; this banner suggests stable.\nTo track prereleases, manage manually: npm install -g cctally@next`}function Xe(e,t,n){let r=n===`beta`?`beta`:`stable`;if(!e||typeof e!=`object`)return null;let i=e;if(typeof i._error==`string`)return{current_version:null,latest_version:null,available:!1,method:`unknown`,update_command:null,release_notes_url:null,check_status:`unavailable`,checked_at_utc:null,prerelease_note:null,configured_channel:r};let a=typeof i.current_version==`string`?i.current_version:null,o=typeof i.latest_version==`string`?i.latest_version:null,s=i.install,c=s&&typeof s==`object`?s:{},l=typeof c.method==`string`?c.method:`unknown`,u=l===`brew`||l===`npm`?l:`unknown`,d=typeof i.check_status==`string`?i.check_status:null,f=d&&[`ok`,`rate_limited`,`fetch_failed`,`parse_failed`,`unavailable`].includes(d)?d:null,p=typeof i.checked_at_utc==`string`?i.checked_at_utc:null,m=typeof i.latest_version_url==`string`?i.latest_version_url:null;return{current_version:a,latest_version:o,available:Qe(a,o,t),method:u,update_command:u===`npm`&&r===`beta`&&o?Je(`npm`,o):Je(u,null),release_notes_url:m,check_status:f,checked_at_utc:p,prerelease_note:Ye(a),configured_channel:r}}function Ze(e){if(!e||typeof e!=`object`)return{skipped_versions:[],remind_after:null};let t=e,n=Array.isArray(t.skipped_versions)?t.skipped_versions.filter(e=>typeof e==`string`):[],r=null;if(t.remind_after&&typeof t.remind_after==`object`){let e=t.remind_after;typeof e.version==`string`&&typeof e.until_utc==`string`&&(r={version:e.version,until_utc:e.until_utc})}return{skipped_versions:n,remind_after:r}}function Qe(e,t,n){if(!e||!t||!$e(t,e)||n.skipped_versions.includes(t))return!1;let r=n.remind_after;if(r&&r.version&&r.until_utc)try{if(!$e(t,r.version)){let e=Date.parse(r.until_utc);if(Number.isFinite(e)&&Date.now()<e)return!1}}catch{}return!0}function $e(e,t){let n=e=>{let[t,n=``]=e.split(`-`,2),r=t.split(`.`).map(e=>parseInt(e,10));for(;r.length<3;)r.push(0);return[r[0]||0,r[1]||0,r[2]||0,n]},[r,i,a,o]=n(e),[s,c,l,u]=n(t);return r===s?i===c?a===l?!o&&u?!0:o&&!u?!1:o>u:a>l:i>c:r>s}async function et(){try{let e=await fetch(Ge);if(!e.ok)return;let t=await e.json(),n=Ze(t?.suppress),r=Xe(t?.state,n,t?.configured_channel);I({type:`SET_UPDATE_STATE`,state:r,suppress:n}),R().update.status===`success`&&r?.current_version&&r.current_version===r.latest_version&&(I({type:`CLOSE_UPDATE_MODAL`}),I({type:`RESET_UPDATE_RUN`}))}catch{}}async function tt(){I({type:`RESET_UPDATE_RUN`}),I({type:`SET_UPDATE_STATUS`,status:`running`,errorMessage:null}),I({type:`SET_UPDATE_RUN_ID`,runId:null,startedAt:Date.now()});try{let e=await fetch(Ke,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`}),t=await e.json().catch(()=>({}));if(e.status===202&&typeof t.run_id==`string`){I({type:`SET_UPDATE_RUN_ID`,runId:t.run_id});return}if(e.status===409&&typeof t.run_id_in_progress==`string`){I({type:`SET_UPDATE_RUN_ID`,runId:t.run_id_in_progress});return}I({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:typeof t.error==`string`?t.error:`failed to start update (HTTP ${e.status})`})}catch(e){I({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`network error: `+e.message})}}async function nt(e){if(e){try{if((await fetch(qe,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`skip`,version:e})})).ok){let t=R().update;t.state&&I({type:`SET_UPDATE_STATE`,state:{...t.state,available:!1},suppress:{...t.suppress,skipped_versions:t.suppress.skipped_versions.includes(e)?t.suppress.skipped_versions:[...t.suppress.skipped_versions,e]}}),I({type:`CLOSE_UPDATE_MODAL`})}}catch{}await et()}}async function rt(e){try{if((await fetch(qe,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`remind`,days:e})})).ok){let e=R().update;e.state&&I({type:`SET_UPDATE_STATE`,state:{...e.state,available:!1},suppress:e.suppress}),I({type:`CLOSE_UPDATE_MODAL`})}}catch{}await et()}var it={refreshState:et,start:tt,skip:nt,remind:rt,open:()=>I({type:`OPEN_UPDATE_MODAL`}),close:()=>I({type:`CLOSE_UPDATE_MODAL`})};function at(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function G(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function ot(e){if(!at(e)||e.envelope_version!==2||typeof e.generated_at!=`string`||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/.test(e.generated_at)||!Number.isFinite(Date.parse(e.generated_at)))return!1;let t=e=>e==null||at(e);return at(e.header)&&t(e.current_week)&&t(e.forecast)&&t(e.trend)&&at(e.weekly)&&Array.isArray(e.weekly.rows)&&at(e.monthly)&&Array.isArray(e.monthly.rows)&&at(e.blocks)&&Array.isArray(e.blocks.rows)&&at(e.daily)&&Array.isArray(e.daily.rows)&&at(e.sessions)&&Array.isArray(e.sessions.rows)&&t(e.projects)&&at(e.display)&&Array.isArray(e.alerts)&&at(e.alerts_settings)}function st(e){return!at(e)||e.version!==1||!G(e.generation)?!1:e.type===`ready`||e.type===`stream_error`?!0:e.type===`snapshot`&&G(e.deliveryGeneration)&&ot(e.snapshot)}var ct=1e3;function lt(e){let t=null,n=!1,r=0,i=()=>{if(n||t!=null)return;r+=1;let i=r;try{let a=new EventSource(`/api/events`);t=a,a.addEventListener(`update`,o=>{if(!(n||t!==a||r!==i))try{let t=JSON.parse(o.data);if(!ot(t))throw Error(`invalid dashboard envelope`);e.onSnapshot(T(t))}catch{console.error(`Dashboard stream frame was rejected.`),e.onError()}}),a.onerror=()=>{!n&&t===a&&r===i&&e.onError()},e.onReady()}catch{t=null,e.onError()}},a=()=>{r+=1,t?.close(),t=null};function o(e){e.persisted?a():c()}function s(e){e.persisted&&i()}function c(){n||(n=!0,typeof window<`u`&&(window.removeEventListener(`pagehide`,o),window.removeEventListener(`pageshow`,s)),r+=1,t?.close(),t=null)}return i(),typeof window<`u`&&(window.addEventListener(`pagehide`,o),window.addEventListener(`pageshow`,s)),{suspend:a,resume:i,close:c}}function ut(e){if(typeof SharedWorker>`u`)return lt(e);let t=null,n=null,r=null,i=!1,a=!0,o=1,s=!1,c=!1,l=null,u=()=>{l!=null&&clearTimeout(l),l=null},d=e=>({version:1,type:e,generation:o}),f=()=>{if(u(),n!=null){try{n.postMessage(d(`unsubscribe`))}catch{}n.onmessage=null,n.onmessageerror=null;try{n.close()}catch{}}t!=null&&(t.onerror=null),n=null,t=null},p=()=>{if(!(i||r!=null)){if(c){e.onError();return}o+=1,f(),r=lt(e)}},m=()=>{u(),l=setTimeout(()=>{l=null,!(i||r!=null||s)&&(c?e.onError():p())},ct)},h=()=>{console.error(`Dashboard SharedWorker message was rejected.`),c?e.onError():p()};try{t=new SharedWorker(new URL(`/static/assets/dashboardStream.shared-worker-DbG6Ef0T.js`,``+import.meta.url),{type:`module`,name:`cctally-dashboard-stream-v1`}),n=t.port,n.onmessage=t=>{if(i||r!=null)return;if(!st(t.data)){h();return}let n=t.data;if(n.generation===o){if(n.type===`ready`){s=!0,u(),e.onReady();return}if(n.type===`stream_error`){c?e.onError():p();return}if(!s){h();return}e.onSnapshot(n.snapshot)&&(c=!0)}},n.onmessageerror=p,t.onerror=p,n.start(),n.postMessage(d(`subscribe`)),m()}catch(t){console.warn(`SharedWorker dashboard stream unavailable; using a direct stream.`,t),f(),r=lt(e)}function g(){i||!a||(a=!1,r?.suspend(),n!=null&&(o+=1,s=!1,u(),n.postMessage(d(`suspend`))))}function _(){if(!(i||a)){if(a=!0,r!=null){r.resume();return}n!=null&&(o+=1,s=!1,n.postMessage(d(`resume`)),m())}}function v(e){e.persisted?g():b()}function y(e){e.persisted&&_()}function b(){i||(i=!0,typeof window<`u`&&(window.removeEventListener(`pagehide`,v),window.removeEventListener(`pageshow`,y)),r?.close(),o+=1,f())}return typeof window<`u`&&(window.addEventListener(`pagehide`,v),window.addEventListener(`pageshow`,y)),{suspend:g,resume:_,close:b}}var dt=null,ft=`disconnected`,pt=!1,mt=null,ht=0,gt=!1,_t=new Set,vt=!0,yt=3e4,bt=null,xt=null,St=1e4,Ct=`The dashboard’s update stream is open but has sent no data. Reload the page, and close other dashboard tabs if you have several open.`,wt=null;function Tt(){return ft}function Et(){return ft===`disconnected`}function Dt(){return pt}function Ot(){return mt}function kt(){At(),wt=setTimeout(()=>{wt=null,!(R().snapshot!=null||pt)&&(pt=!0,mt=Ct,Mt())},St)}function At(){wt!=null&&(clearTimeout(wt),wt=null)}function jt(e){return _t.add(e),()=>{_t.delete(e)}}function Mt(){_t.forEach(e=>{try{e()}catch(e){console.error(`status subscriber error:`,e)}})}function Nt(e){ft!==e&&(ft=e,Mt())}function Pt(e={}){dt&&=(dt.close(),null),Nt(`disconnected`),pt=!1,mt=null,gt=!1,ht+=1,vt=!0,Mt(),ge(),It(e),!(typeof document<`u`&&document.visibilityState===`hidden`)&&Rt(e)}function Ft(){dt&&(dt.suspend(),Nt(`suspended`),At(),vt=!0)}function K(e){if(!(typeof document>`u`)){if(document.visibilityState===`hidden`){if(bt!=null)return;bt=setTimeout(()=>{bt=null,Ft()},yt);return}bt!=null&&(clearTimeout(bt),bt=null),ft===`suspended`&&dt!=null?(Nt(`resuming`),dt.resume()):dt??Rt(e)}}function It(e){typeof document>`u`||(Lt(),xt=()=>K(e),document.addEventListener(`visibilitychange`,xt))}function Lt(){bt!=null&&(clearTimeout(bt),bt=null),xt!=null&&typeof document<`u`&&document.removeEventListener(`visibilitychange`,xt),xt=null}function Rt(e){let t=ht,n=!1;dt=ut({onReady:()=>{t===ht&&kt()},onSnapshot:r=>{if(t!==ht||!O(r))return!1;n=!1,At(),pt&&(pt=!1,mt=null,Mt()),Bt(r),Vt(r),Ht(r),Ut(r);let i=!1;return gt||(gt=!0,e.onConnect?.(),i=!0),ft!==`connected`&&(Nt(`connected`),i||e.onConnect?.()),!0},onError:()=>{t===ht&&(R().snapshot==null&&!pt&&(pt=!0,Mt()),ft!==`disconnected`&&(Nt(`disconnected`),vt=!0),n||(n=!0,vt=!0,e.onDisconnect?.()))}})}var zt={enabled:!1,weekly_thresholds:[90,95],five_hour_thresholds:[90,95],budget_thresholds:[],budget_enabled:!1,weekly_usd:null,projected_weekly_enabled:!1,projected_budget_enabled:!1,project_alerts_enabled:!1,codex_budget_configured:!1,codex_budget_alerts_enabled:!1,codex_projected_enabled:!1};function Bt(e){I({type:`INGEST_SOURCE_ALERTS`,rows:A(e),rateChanges:e.meter_rate_changes??[],alertsSettings:e.alerts_settings??zt,isFirstTick:vt}),vt=!1}function Vt(e){if(!e.update)return;let t=Ze(e.update.suppress);I({type:`SET_UPDATE_STATE`,state:Xe(e.update.state,t,e.update.configured_channel),suppress:t})}function Ht(e){e.doctor&&I({type:`SET_DOCTOR_AGGREGATE`,doctor:e.doctor})}function Ut(e){I({type:`INGEST_DASHBOARD_PREFS`,prefs:e.dashboard_prefs??{}})}function Wt(){return{state:(0,U.useSyncExternalStore)(jt,()=>Tt()),disconnected:(0,U.useSyncExternalStore)(jt,()=>Et()),bootstrapError:(0,U.useSyncExternalStore)(jt,()=>Dt()),bootstrapMessage:(0,U.useSyncExternalStore)(jt,()=>Ot())}}var Gt={"":0,fresh:1,aging:2,stale:3};function Kt(e,t){return Gt[e]>=Gt[t]?e:t}function qt(e){return Number.isFinite(e)&&e>0?Math.floor(e):0}function Jt(e){let t=qt(e);if(t<60)return`${t}s`;if(t<3600)return`${Math.floor(t/60)}m`;if(t<86400){let e=Math.floor(t/3600),n=Math.floor(t%3600/60);return n===0?`${e}h`:`${e}h ${n}m`}let n=Math.floor(t/86400),r=Math.floor(t%86400/3600);return r===0?`${n}d`:`${n}d ${r}h`}function Yt(e){return`${Jt(e)} ago`}function Xt(e){let t=qt(e),n=t<300?`fresh`:t<1800?`aging`:`stale`;return{text:Yt(t),bucket:n}}function Zt(e){return e?` sync-chip--${e}`:``}function Qt({id:e=`sync-chip`}={}){let t=We(),{disconnected:n,state:r}=Wt(),i=(0,U.useSyncExternalStore)(F,()=>R().snapshotObservedAtMs),a=(0,U.useSyncExternalStore)(F,()=>R().syncErrorFloorUntil),o=(0,U.useSyncExternalStore)(F,()=>R().syncBusy),s=(0,U.useSyncExternalStore)(F,()=>R().syncSuccessFlashUntil),c=(0,U.useSyncExternalStore)(F,()=>R().syncBusyNoticeUntil),l=(0,U.useSyncExternalStore)(F,()=>R().outstandingSyncId),[u,d]=(0,U.useState)(`sync paused`),[f,p]=(0,U.useState)(``),[m,h]=(0,U.useState)(``),g=(0,U.useRef)(0),[,_]=(0,U.useState)(0),[,v]=(0,U.useState)(0),[,y]=(0,U.useState)(0),b=Date.now(),x=b<a,S=b<s,C=b<c,w=l!=null,T=N(t),ee=l!=null&&T.requested_id>=l&&T.started_id>=l,E=T.rebuilding,D=he(t?.sync_age_s??null,i,b),O=Kt(m,!n&&t&&!t.last_sync_error&&D!=null?Xt(D).bucket:``);if((0,U.useEffect)(()=>{if(!(x||S)){if(n){d(`disconnected`),p(`var(--accent-red)`),h(``);return}if(t){if(t.last_sync_error){h(``);return}if(t.sync_age_s==null){d(`sync paused`),p(``),h(``),g.current=0;return}p(``),g.current=he(t.sync_age_s,i,Date.now())??0;{let e=Xt(g.current);d(`synced ${e.text}`),h(e.bucket)}}}},[t,n,x,i,S]),(0,U.useEffect)(()=>{let e=window.setInterval(()=>{if(n||Date.now()<R().syncErrorFloorUntil||!t||t.sync_age_s==null||t.last_sync_error)return;g.current=he(t.sync_age_s,i,Date.now())??g.current;let e=Xt(g.current);d(`synced ${e.text}`),h(e.bucket)},1e3);return()=>window.clearInterval(e)},[t,n,i]),(0,U.useEffect)(()=>{if(!x)return;let e=a-Date.now();if(e<=0)return;let t=window.setTimeout(()=>_(e=>e+1),e);return()=>window.clearTimeout(t)},[a,x]),(0,U.useEffect)(()=>{if(!S)return;let e=s-Date.now();if(e<=0)return;let t=window.setTimeout(()=>v(e=>e+1),e);return()=>window.clearTimeout(t)},[s,S]),(0,U.useEffect)(()=>{if(!C)return;let e=c-Date.now();if(e<=0)return;let t=window.setTimeout(()=>y(e=>e+1),e);return()=>window.clearTimeout(t)},[c,C]),o)return(0,W.jsx)(`span`,{className:`sync-chip mute syncing`+Zt(O),id:e,"aria-busy":`true`,"aria-live":`polite`,children:`syncing…`});if(w&&!n)return(0,W.jsx)(`span`,{className:`sync-chip mute syncing`+Zt(O),id:e,"aria-busy":`true`,"aria-live":`polite`,children:ee?`syncing…`:`queued…`});if(x)return(0,W.jsx)(`span`,{className:`sync-chip mute sync-error`,id:e,"aria-live":`polite`,style:{color:`var(--accent-red)`},children:`⚠ sync request failed`});if(S)return(0,W.jsx)(`span`,{className:`sync-chip mute sync-success`,id:e,"aria-live":`polite`,children:`✓ updated`});if(C)return(0,W.jsx)(`span`,{className:`sync-chip mute sync-busy-notice`,id:e,"aria-live":`polite`,"aria-label":`Refresh busy. Another rebuild is still running. Try again.`,title:`Another rebuild is still running. Try again.`,children:`refresh busy`});if(r===`suspended`)return(0,W.jsx)(`span`,{className:`sync-chip mute`,id:e,"aria-live":`polite`,children:`Updates paused while hidden`});if(r===`resuming`)return(0,W.jsx)(`span`,{className:`sync-chip mute`,id:e,"aria-live":`polite`,children:`Resuming updates…`});if(!n&&t?.last_sync_error){let n=t.sync_failure??null,r=n?[n.detail,n.action].filter(Boolean).join(` `):void 0;return(0,W.jsx)(`span`,{className:`sync-chip mute sync-error`,id:e,"aria-live":`polite`,"aria-label":r,title:r,style:{color:`var(--accent-red)`},children:n?.label??`⚠ server sync error`})}if(E&&!n)return(0,W.jsx)(`span`,{className:`sync-chip mute syncing`+Zt(O),id:e,"aria-busy":`true`,children:`syncing…`});let k=n?`disconnected`:t==null||t.sync_age_s==null?`sync paused`:u,te=k===`disconnected`||k===`sync paused`;return(0,W.jsx)(`span`,{className:`sync-chip mute`+Zt(O)+(n?` sync-error`:``),id:e,"aria-live":te?`polite`:void 0,style:{color:f},children:k})}var $t=[{value:`claude`,label:`Claude`},{value:`codex`,label:`Codex`},{value:`all`,label:`All`}];function en(){let e=(0,U.useSyncExternalStore)(F,()=>R().activeSource),t=(0,U.useSyncExternalStore)(F,()=>R().view),n=We(),r=(0,U.useRef)([]),[i,a]=(0,U.useState)(``);if(t!==`dashboard`)return null;let o=e=>n?.sources?.[e]?.availability,s=e=>{let t=$t[e];I({type:`SET_ACTIVE_SOURCE`,source:t.value}),r.current[e]?.focus(),a(`${t.label} source selected`)},c=(e,t)=>{let n;switch(e.key){case`ArrowRight`:case`ArrowDown`:n=(t+1)%$t.length;break;case`ArrowLeft`:case`ArrowUp`:n=(t-1+$t.length)%$t.length;break;case`Home`:n=0;break;case`End`:n=$t.length-1;break;default:return}e.preventDefault(),s(n)};return(0,W.jsxs)(`div`,{className:`source-switcher`,role:`radiogroup`,"aria-label":`Data source`,children:[$t.map((t,n)=>{let i=t.value===e,a=o(t.value);return(0,W.jsx)(`button`,{ref:e=>{r.current[n]=e},type:`button`,role:`radio`,"aria-checked":i,"aria-label":a!=null&&a!==`ok`?`${t.label} (${a})`:t.label,tabIndex:i?0:-1,className:`source-seg${i?` is-active`:``}`,"data-source":t.value,onClick:()=>s(n),onKeyDown:e=>c(e,n),children:t.label},t.value)}),(0,W.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"data-testid":`source-switcher-live`,children:i})]})}var tn={claude:`hero and alerts only`,codex:`filters every panel`},nn={claude:`Claude accounts`,codex:`Codex accounts`};function rn(e){let t=[{key:`all`,label:`All accounts`,hint:null,dimmed:!1}];for(let n of e)t.push({key:n.accountKey,label:n.label,hint:n.weeklyPercent==null?null:`${Math.round(n.weeklyPercent)}%`,dimmed:n.unattributed===!0});return t}function an({provider:e,selection:t,labelled:n}){let r=We(),i=(0,U.useSyncExternalStore)(F,()=>R().accountFocus),a=(0,U.useRef)([]),[o,s]=(0,U.useState)(``),c=(0,U.useRef)(null),l=v(r?.sources?.[e]??null),d=l==null?null:u(r,t,e,i),f=l==null?null:d??`all`,p=f==null?null:f===`all`?`All accounts`:l?.find(e=>e.accountKey===f)?.label??`All accounts`;if((0,U.useEffect)(()=>{if(f==null){c.current=null;return}if(c.current==null){c.current=f;return}c.current!==f&&(c.current=f,s(f===`all`?`All accounts selected`:`${p} account selected`))},[f,p]),l==null)return null;let m=rn(l),h=`account-focus-${e}-label`,g=n=>{let r=m[n];I({type:`SET_ACCOUNT_FOCUS`,source:e,slot:pe(t),account:r.key}),a.current[n]?.focus()},_=(e,t)=>{let n;switch(e.key){case`ArrowRight`:case`ArrowDown`:n=(t+1)%m.length;break;case`ArrowLeft`:case`ArrowUp`:n=(t-1+m.length)%m.length;break;case`Home`:n=0;break;case`End`:n=m.length-1;break;default:return}e.preventDefault(),g(n)};return(0,W.jsxs)(`div`,{className:`account-chip-row`,role:`radiogroup`,...n?{"aria-labelledby":h}:{"aria-label":`Account focus`},"data-testid":`account-chip-row`,"data-provider":e,children:[n&&(0,W.jsxs)(`span`,{className:`account-chip-rowlabel`,id:h,children:[(0,W.jsx)(`span`,{className:`account-chip-rowprovider`,children:nn[e]}),` `,(0,W.jsx)(`span`,{className:`account-chip-rowqualifier`,"data-testid":`account-chip-qualifier-${e}`,children:tn[e]})]}),m.map((e,t)=>{let n=e.key===f;return(0,W.jsxs)(`button`,{ref:e=>{a.current[t]=e},type:`button`,role:`radio`,"aria-checked":n,"aria-label":e.hint==null?e.label:`${e.label}, ${e.hint} weekly`,tabIndex:n?0:-1,className:`account-chip${n?` is-active`:``}${e.dimmed?` is-dimmed`:``}`,"data-account":e.key,onClick:()=>g(t),onKeyDown:e=>_(e,t),children:[(0,W.jsx)(`span`,{className:`account-chip-label`,children:e.label}),e.hint!=null&&(0,W.jsx)(`span`,{className:`account-chip-hint`,children:e.hint})]},e.key)}),(0,W.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"data-testid":`account-chip-live`,children:o})]})}function on(){let e=We(),n=(0,U.useSyncExternalStore)(F,()=>R().activeSource);if((0,U.useSyncExternalStore)(F,()=>R().view)!==`dashboard`)return null;let r=t(e,n);return r.length===0?null:n===`all`?(0,W.jsx)(`div`,{className:`account-chip-rows`,"data-testid":`account-chip-rows`,children:r.map(e=>(0,W.jsx)(an,{provider:e,selection:`all`,labelled:!0},e))}):(0,W.jsx)(an,{provider:r[0],selection:n,labelled:!1})}var sn=new Set([`hero`,`daily`,`weekly`,`monthly`,`sessions`,`projects`,`quota`,`budget`,`forensics`,`alerts`]);function cn(e){return e!=null&&e.length>0?e[0]:null}function ln(e){let t=e.domain;return t==null||t===`ingest`||t===`read_model`||!sn.has(t)}function un(e){return e==null?null:e.find(ln)??cn(e)}function dn(e,t){return e==null?null:e.find(ln)??e.find(e=>e.domain===t)??null}function fn(e){return typeof e==`object`&&e?e:void 0}function pn(e,t){let n=e.domain_freshness?.[t];return n===`fresh`||n===`stale`?n:e.freshness}var mn=[`claude`,`codex`];function hn(e){let t=e?.data??null,n=t?.combined??null;if(n==null){let n=t?.combined_unavailable;return{value:null,legs:null,contributors:[],qualifications:[],unavailable:n==null?gn(e):{code:n.code,message:n.message}}}let r=n.legs;return{value:{costUsd:n.cost_usd,totalTokens:n.total_tokens},legs:r,contributors:mn.filter(e=>r?.[e]?.state===`current`),qualifications:n.qualifications??[],unavailable:null}}function gn(e){if(e==null)return null;let t=dn(e.warnings,`hero`);return t==null?null:{code:t.code,message:t.message}}function _n(e){return e.length===2?`COMBINED · CURRENT CYCLES`:e.length===1?e[0]===`claude`?`CLAUDE · CURRENT CYCLE`:`CODEX · CURRENT CYCLE`:`CURRENT CYCLES · NO DATA`}function vn(e,t){let n=e.entry;if(n==null)return t===`claude`&&e.env!=null&&!e.hydrating?{mode:`render`,noSuccessYet:!1}:{mode:e.hydrating?`skeleton`:`hidden`,noSuccessYet:!1};if(o(n))return{mode:`skeleton`,noSuccessYet:!1};let r=n.capabilities?.sessions?.status,i=n.last_success_at==null,a=dn(n.warnings,`sessions`);return r===`deferred`||r===`not_applicable`?{mode:`hidden`,noSuccessYet:!1}:n.availability===`unavailable`||r===`unavailable`?{mode:`degraded`,warning:a,noSuccessYet:i}:fn(n.data)?.sessions===void 0?{mode:`hidden`,noSuccessYet:!1}:n.availability===`partial`&&(pn(n,`sessions`)===`stale`||a!=null)?{mode:`degraded`,warning:a,noSuccessYet:i}:r!==`supported`&&r!==`derived`?{mode:`degraded`,warning:null,noSuccessYet:i}:{mode:`render`,noSuccessYet:!1}}function yn(e){if(e.selection!==`all`)return vn(e,e.selection);let t=[`claude`,`codex`].map(t=>vn(C(e.env,t),t));return t.some(e=>e.mode===`render`||e.mode===`degraded`)?{mode:`render`,noSuccessYet:!1}:{mode:t.some(e=>e.mode===`skeleton`)?`skeleton`:`hidden`,noSuccessYet:!1}}function bn(){let e=(0,U.useSyncExternalStore)(F,()=>R().activeSource),t=(0,U.useSyncExternalStore)(F,()=>R().view),n=We();if(t!==`dashboard`)return null;let r=C(n,e),i=r.entry;if(r.hydrating||i==null)return null;let a=i.last_success_at==null,o=i.availability===`partial`||i.availability===`unavailable`,s=un(i.warnings),c=i.freshness===`stale`,l=e===`all`?hn(i).unavailable:null,u,d;u=a?`no successful snapshot yet`:o&&s?Sn(s.domain,s.code):l==null?o?`degraded`:c?`stale`:`fresh`:`Combined withheld`,d=(o&&s?s.message:null)??l?.message??s?.message??u;let f=Cn(u);return(0,W.jsxs)(`span`,{className:`source-status-chip`+(o?` is-degraded`:``)+(c&&!o?` is-stale`:``),"data-testid":`source-status-chip`,"data-source":e,title:d,"aria-label":`${e} source status: ${d}`,children:[(0,W.jsx)(`span`,{className:`source-status-label source-status-label--full`,"aria-hidden":`true`,children:u}),(0,W.jsx)(`span`,{className:`source-status-label source-status-label--compact`,"aria-hidden":`true`,children:f})]})}var xn={hero:`Hero unavailable`,daily:`Daily unavailable`,weekly:`Weekly unavailable`,monthly:`Monthly unavailable`,sessions:`Sessions unavailable`,projects:`Projects unavailable`,quota:`Quota unavailable`,budget:`Budget unavailable`,forensics:`Forensics unavailable`,alerts:`Alerts unavailable`,accounts:`Accounts unavailable`};function Sn(e,t){return e===`projects`&&t===`codex_metadata_incomplete`?`Projects partial`:e==null?`Source degraded`:xn[e]??`Source degraded`}function Cn(e){return e===`no successful snapshot yet`?`No snapshot`:e===`Source degraded`||e===`degraded`?`Degraded`:e===`Projects partial`||e.endsWith(` unavailable`)?e:e===`Combined withheld`?`Withheld`:e}function wn(){let e=(0,U.useSyncExternalStore)(F,()=>R().update).state;if(!e||!e.available||!e.latest_version)return null;let t=e.current_version??`?`,n=e.latest_version,r=e.configured_channel===`beta`;return(0,W.jsxs)(`button`,{type:`button`,className:`badge-update`,title:`Update available · ${t} → ${n}${r?` (beta)`:``} · click to view`,"aria-label":`Update available${r?` (beta channel)`:``}, current version ${t}, latest ${n}`,onClick:()=>it.open(),children:[(0,W.jsx)(`span`,{className:`badge-update-arrow`,"aria-hidden":`true`,children:`↑`}),(0,W.jsxs)(`span`,{className:`badge-update-version`,children:[`v`,n]}),r&&(0,W.jsx)(`span`,{className:`badge-update-channel`,children:`beta`})]})}function Tn(e){return e?.transcriptsEnabled===!0}function En(){let e=(0,U.useSyncExternalStore)(F,()=>R().view);return Tn(We())?(0,W.jsxs)(`div`,{className:`view-switcher`,role:`group`,"aria-label":`Workspace`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-pressed":e===`dashboard`,className:`view-seg${e===`dashboard`?` is-active`:``}`,onClick:()=>I({type:`SET_VIEW`,view:`dashboard`}),children:`Dashboard`}),(0,W.jsx)(`button`,{type:`button`,"aria-pressed":e===`conversations`,className:`view-seg${e===`conversations`?` is-active`:``}`,onClick:()=>I({type:`SET_VIEW`,view:`conversations`}),children:`Conversations`})]}):null}async function Dn(){if(R().syncBusy)return;let e=Date.now();I({type:`SET_SYNC_BUSY`,busy:!0});let t=!1;try{let e=await fetch(`/api/sync`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(e.status===202){let t=await e.json().catch(()=>({}));typeof t.request_id==`number`&&Number.isFinite(t.request_id)&&t.request_id>0&&typeof t.server_epoch==`string`&&t.server_epoch!==``&&I({type:`REGISTER_SYNC_REQUEST`,id:t.request_id,epoch:t.server_epoch});return}if(e.ok){if(e.status===200){let t=ee((await e.json().catch(()=>({}))).warnings),n=t.filter(re);if(n.length>0){console.error(`/api/sync warnings:`,n.join(`, `)),I({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+g});return}if(t.some(e=>_.has(e))){I({type:`SET_SYNC_BUSY_NOTICE`,untilMs:Date.now()+be});return}}t=!0;return}console.error(`/api/sync failed: ${e.status}`),I({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+g})}catch(e){console.error(`/api/sync failed:`,e),I({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+g})}finally{let n=Date.now()-e;n<300&&await new Promise(e=>setTimeout(e,300-n)),t&&I({type:`SET_SYNC_SUCCESS_FLASH`,untilMs:Date.now()+ie}),I({type:`SET_SYNC_BUSY`,busy:!1})}}function On(e){document.dispatchEvent(new KeyboardEvent(`keydown`,{key:e}))}function kn(e,t,n,r){if(e===`all`)return null;if(e===`codex`){let e=C(t,`codex`).entry?.data;if(e?.hero==null||e?.quota==null)return null;let n=te(e.hero,e.quota);if(n.length===0)return null;let r=n[0];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`topbar-condensed-pct`,children:B.pct1(r.current.current_percent)}),(0,W.jsx)(`span`,{className:`topbar-condensed-sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`topbar-condensed-reset`,children:r.label})]})}return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`topbar-condensed-pct`,children:B.pct1(n?.used_pct)}),(0,W.jsx)(`span`,{className:`topbar-condensed-sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsxs)(`span`,{className:`topbar-condensed-reset`,children:[`resets `,B.ddhh(r?.reset_in_sec)]})]})}function An(){let e=(0,U.useSyncExternalStore)(F,()=>R().update).state?.current_version??null,t=(0,U.useSyncExternalStore)(F,()=>R().view),n=(0,U.useSyncExternalStore)(F,()=>R().heroScrolled),r=(0,U.useSyncExternalStore)(F,()=>R().activeSource),i=We(),a=i?.header,o=kn(r,i,a,i?.current_week??null),s=t===`dashboard`&&n&&o!=null;return(0,W.jsxs)(`header`,{className:`topbar${s?` is-scrolled`:``}`,"data-view":t,children:[(0,W.jsx)(`h1`,{className:`sr-only`,children:`cctally dashboard`}),(0,W.jsxs)(`div`,{className:`stat topbar-brand`,children:[(0,W.jsx)(`span`,{className:`brand-name`,children:`cctally`}),e?(0,W.jsxs)(`span`,{className:`brand-version`,children:[`v`,e]}):null,(0,W.jsx)(wn,{}),i?.channel===`preview`?(0,W.jsx)(`span`,{className:`preview-badge`,title:`Preview channel — running against a real data snapshot, not your live prod dashboard`,children:`PREVIEW`}):null]}),(0,W.jsx)(En,{}),(0,W.jsx)(en,{}),(0,W.jsx)(on,{}),t===`dashboard`?(0,W.jsx)(`button`,{type:`button`,className:`topbar-explain`,onClick:()=>On(`e`),children:`Explain`}):null,s&&(0,W.jsx)(`div`,{className:`topbar-condensed`,"data-testid":`topbar-condensed`,"data-source":r,children:o}),(0,W.jsxs)(`div`,{className:`topbar-actions`,children:[(0,W.jsx)(bn,{}),(0,W.jsx)(Ue,{}),(0,W.jsx)(Ve,{}),(0,W.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-settings`,"aria-label":`Open settings`,onClick:()=>On(`s`),children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#settings`})})}),(0,W.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-help`,"aria-label":`Open help`,onClick:()=>On(`?`),children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#help-circle`})})}),(0,W.jsxs)(`button`,{type:`button`,className:`topbar-sync`,onClick:()=>Dn(),title:`Sync now (r)`,"aria-label":`Sync now`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#refresh`})}),(0,W.jsx)(Qt,{})]})]})]})}function jn(e){return(0,U.useSyncExternalStore)(F,()=>ce(void 0,e))}function Mn(e){return e===`all`?`codex`:e}function Nn(e,t){let n=(0,U.useSyncExternalStore)(F,()=>R().snapshot),r=(0,U.useSyncExternalStore)(F,()=>R().activeSource),i=e??r,a=t??(i===`all`?null:i);return me(n,i,(0,U.useSyncExternalStore)(F,()=>a==null?`all`:E(R().accountFocus,i,a)),a)}var Pn=`(max-width: 640px)`,Fn=`(min-width: 1101px)`,In=`(min-width: 900px)`,Ln=`(min-width: 1200px)`,Rn=`(max-width: 880px)`;function zn(){let[e,t]=(0,U.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Pn).matches);return(0,U.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(Pn),n=e=>{t(e.matches)};return e.addEventListener(`change`,n),t(e.matches),()=>{e.removeEventListener(`change`,n)}},[]),e}var Bn={tz:`local`,resolvedTz:`Etc/UTC`,offsetLabel:`UTC`,offsetSeconds:0,pinned:!1};function Vn(){let e=We();return e?.display?{tz:e.display.tz,resolvedTz:e.display.resolved_tz,offsetLabel:e.display.offset_label,offsetSeconds:e.display.offset_seconds,pinned:e.display.pinned??!1}:Bn}var Hn={capped:{label:`OVER`,cls:`over`,warn:!0,accent:`accent-red`,glyph:`⛔`},cap:{label:`WARN`,cls:`warn`,warn:!0,accent:`accent-amber`,glyph:`⚠`},ok:{label:`OK`,cls:`good`,warn:!1,accent:`accent-green`,glyph:`✓`}};function Un(e){return e==null?null:Hn[e]??null}var Wn=900,Gn=3600;function Kn(e){return e==null||e<=Wn?`fresh`:e<=Gn?`aging`:`stale`}var qn=`button, a, input, select, textarea, [role="button"], [data-card-region-ignore]`;function Jn(e){let t=e;return!!(t&&typeof t.closest==`function`&&t.closest(qn))}function Yn(e){return t=>{Jn(t.target)||e()}}var Xn={unit:`cycle`,plural:`cycles`,column:`Cycle`,detail:`Cycle`,relativePrefix:`C`};function Zn(e){return Xn}function Qn(e,t){return`${e} ${e===1?t.unit:t.plural}`}function $n(e,t,n){return(t===0?`Now`:`${n.relativePrefix}\u2212${t}`)+(e?` \u00b7 ${e}`:``)}var er=[`#5b8def`,`#e0913b`,`#3fa66a`,`#b569d6`,`#d15b7f`,`#3fb6b0`];function tr(e,t){if(e==null)return null;let n=Date.parse(e);if(Number.isNaN(n))return null;let r=Math.max(0,Math.round((n-t)/1e3));return r===0?`resets now`:`resets in ${Jt(r)}`}function nr(e){return e==null?`—`:`${Math.round(e)}%`}function rr({card:e,color:t,focused:n}){let r=e.unattributed===!0,i=Date.now(),a=r?null:tr(e.resetsAt,i);return(0,W.jsxs)(`div`,{className:`account-hero-card${r?` is-dimmed`:``}${n?` is-focused`:``}`,"data-testid":`account-hero-card`,"data-account":e.accountKey,style:{"--account-color":t},children:[(0,W.jsxs)(`div`,{className:`account-hero-card-head`,children:[(0,W.jsx)(`span`,{className:`account-hero-card-label`,children:e.label}),e.plan!=null&&(0,W.jsx)(`span`,{className:`account-hero-card-plan`,children:e.plan}),e.cycleFreshness===`stale`&&(0,W.jsx)(`span`,{className:`chip chip-stale account-hero-card-freshness`,"data-testid":`account-cycle-stale`,title:`Quota evidence for ${e.label} is stale`,"aria-label":`Quota evidence for ${e.label} is stale`,children:`stale`}),e.active&&(0,W.jsx)(`span`,{className:`account-hero-card-active`,title:`Active account`,children:`●`})]}),!r&&(0,W.jsxs)(`div`,{className:`account-hero-card-bars`,children:[(0,W.jsxs)(`div`,{className:`account-hero-bar`,"data-metric":`weekly`,children:[(0,W.jsx)(`span`,{className:`account-hero-bar-label`,children:`Weekly`}),(0,W.jsx)(`div`,{className:`account-hero-bar-track`,children:(0,W.jsx)(`div`,{className:`account-hero-bar-fill`,style:{width:`${Math.min(100,e.weeklyPercent??0)}%`}})}),(0,W.jsx)(`span`,{className:`account-hero-bar-value`,children:nr(e.weeklyPercent)})]}),(0,W.jsxs)(`div`,{className:`account-hero-bar`,"data-metric":`five-hour`,children:[(0,W.jsx)(`span`,{className:`account-hero-bar-label`,children:`5h`}),(0,W.jsx)(`div`,{className:`account-hero-bar-track`,children:(0,W.jsx)(`div`,{className:`account-hero-bar-fill`,style:{width:`${Math.min(100,e.fiveHourPercent??0)}%`}})}),(0,W.jsx)(`span`,{className:`account-hero-bar-value`,children:nr(e.fiveHourPercent)})]})]}),(0,W.jsxs)(`div`,{className:`account-hero-card-foot`,children:[(0,W.jsxs)(`span`,{className:`account-hero-card-spend`,children:[`$`,e.spendUsd.toFixed(2)]}),a!=null&&(0,W.jsx)(`span`,{className:`account-hero-card-reset`,children:a}),e.spendWindow!=null&&(0,W.jsx)(`span`,{className:`account-hero-card-window`,"data-testid":`account-card-window`,children:Ce(e.spendWindow)}),r&&(0,W.jsx)(`span`,{className:`account-hero-card-note`,children:`totals only`})]})]})}function ir(){let e=We(),t=Nn(),n=(0,U.useSyncExternalStore)(F,()=>R().activeSource),r=(0,U.useSyncExternalStore)(F,()=>R().accountFocus),i=(0,U.useRef)(null),[a,o]=(0,U.useState)(!1),s=n===`all`,c=(s?[`claude`,`codex`]:[n]).flatMap(t=>{let n=v(e?.sources?.[t]??null);return n==null?[]:[{source:t,accounts:n}]}),l=c.flatMap(t=>{let i=u(e,n,t.source,r);return(s||i==null?t.accounts:t.accounts.filter(e=>e.accountKey===i)).map(e=>`${t.source}:${e.accountKey}`)}).join(`|`);if((0,U.useEffect)(()=>{let e=i.current;if(e==null)return;let t=()=>{let t=e.scrollWidth-e.clientWidth;o(t>1&&e.scrollLeft<t-1)};t(),e.addEventListener(`scroll`,t,{passive:!0}),window.addEventListener(`resize`,t);let n=typeof ResizeObserver>`u`?null:new ResizeObserver(t);return n?.observe(e),()=>{e.removeEventListener(`scroll`,t),window.removeEventListener(`resize`,t),n?.disconnect()}},[n,s,l]),c.length===0)return null;let d=c[0].source,f=!s&&t.isEmpty&&t.card!=null?`No ${d===`codex`?`Codex`:`Claude`} activity recorded for ${t.card.label}.`:null;return(0,W.jsxs)(`div`,{className:`account-hero-cards-wrap`,children:[(0,W.jsxs)(`div`,{ref:i,className:`account-hero-cards`,"data-testid":`account-hero-cards`,"data-scroll-cue":a?`visible`:`hidden`,children:[c.map(t=>{let i=u(e,n,t.source,r),a=s||i==null?t.accounts:t.accounts.filter(e=>e.accountKey===i);return(0,W.jsxs)(`div`,{className:`account-hero-provider-group`,"data-source":t.source,children:[s&&(0,W.jsxs)(`p`,{className:`account-hero-caption`,"data-testid":`account-hero-caption`,children:[t.source===`claude`?`Claude`:`Codex`,` accounts — each has its own quota cycle.`]}),(0,W.jsx)(`div`,{className:`account-hero-card-row`,children:a.map(e=>{let n=t.accounts.findIndex(t=>t.accountKey===e.accountKey);return(0,W.jsx)(rr,{card:e,color:er[(n<0?0:n)%er.length],focused:i===e.accountKey},e.accountKey)})})]},t.source)}),f!=null&&(0,W.jsx)(`p`,{className:`account-hero-empty`,"data-testid":`account-hero-empty`,role:`status`,children:f})]},`${n}:${l}`),(0,W.jsx)(`span`,{className:`account-hero-scroll-cue`,"data-testid":`account-hero-scroll-cue`,"aria-hidden":!a,children:`Swipe for more →`})]})}var ar=`Codex quota evidence is stale — this spend is current, but the forecast is paused until Codex reports again.`,or=`The quota projection is reconciling. This is the last figure that was coherent.`,sr=`current-week-hero-trigger`,cr=`last coherent figure`,lr=`Spent this week`;function ur(e){let t=e?.find(e=>e.spendWindow!=null)?.spendWindow;return t==null?null:`Includes accounts with no live cycle, counted over the ${Ce(t)}.`}function dr(e){let t=e?.find(e=>e.spendWindow!=null)?.spendWindow;return t==null?null:`Incl. no-cycle accounts · ${Ce(t)}`}function fr(e){if(!e||e.files<=0)return null;let t=e.files===1?`session`:`sessions`;return`Codex history is still loading (${e.files} ${t} left) — totals will rise as it finishes.`}function pr(e){if(!e||e.files<=0)return null;let t=e.files===1?`session`:`sessions`;return`+${e.files} ${t} still loading`}function mr(e){return!e||e.files<=0?null:`+${e.files} more`}function hr(...e){let t=e.filter(e=>!!e);return t.length?t.join(` `):null}var gr={all:`Combined usage summary`,claude:`Claude cycle usage summary`,codex:`Codex cycle usage summary`};function _r({amount:e,dimWhenBlank:t=!1}){let n=B.usd0(e);return(0,W.jsx)(`div`,{className:e==null&&t?`hs-big is-blank`:`hs-big`,style:{"--hs-chars":n.length},children:n})}function vr(){return(0,W.jsx)(`div`,{className:`hs-big is-blank hs-pending`,"data-testid":`hero-spend-pending`,style:{"--hs-chars":7},title:`No coherent reading yet. The figure appears once the quota projection resolves.`,children:`Pending`})}function yr(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=e?.header,r=(e?.current_week??null)?.freshness??null,i=Un(n?.forecast_verdict??null),a=Kn(r?.age_seconds),o=Vn(),s={tz:o.resolvedTz,offsetLabel:o.offsetLabel},c=(0,U.useRef)(null),l=zn();(0,U.useEffect)(()=>{if(!l)return;let e=c.current;if(!e||typeof IntersectionObserver>`u`)return;let t=new IntersectionObserver(e=>{let t=e[0];t&&I({type:`SET_HERO_SCROLLED`,scrolled:!t.isIntersecting})},{threshold:0,rootMargin:`-64px 0px 0px 0px`});return t.observe(e),()=>{t.disconnect(),I({type:`SET_HERO_SCROLLED`,scrolled:!1})}},[l]);let u=()=>I({type:`OPEN_MODAL`,kind:`current-week`}),d=(0,W.jsx)(br,{source:t,env:e,ctx:s,verdict:i,heroLabel:a});return(0,W.jsxs)(`section`,{ref:c,id:sr,className:`hero-strip`,role:`region`,tabIndex:0,"aria-label":gr[t],"data-hero-strip":``,"data-source":t,onClick:Yn(u),onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},children:[(0,W.jsx)(`h2`,{className:`sr-only`,children:gr[t]}),d,(0,W.jsx)(ir,{})]})}function br({source:e,env:t,ctx:n,verdict:r,heroLabel:i}){let a=t?.header,o=t?.current_week??null,s=Nn(e,`claude`),c=Nn(e,`codex`),l=Sr(t);if(e===`claude`){let e=C(t,`claude`).entry,c=v(e),u=s.requestedKey==null?null:c?.find(e=>e.accountKey===s.requestedKey)??null,d=c!=null&&u==null,f=c?.every(e=>e.spendWindow!=null)??!1,p=Cr(u?.resetsAt,l),m=c?.reduce((e,t)=>e+t.spendUsd,0)??null;return(0,W.jsx)(Or,{weekLabel:c==null?a?.week_label:null,usedPct:u==null?d?null:a?.used_pct:u.weeklyPercent,fiveHourPct:u==null?d?null:a?.five_hour_pct:u.fiveHourPercent,resetInSec:u==null?d?null:o?.reset_in_sec:p,spentUsd:u==null?d?m:o?.spent_usd:u.spendUsd,dollarPerPct:c==null?a?.dollar_per_pct:null,forecastPct:c==null?a?.forecast_pct:null,vsLastWeekDelta:c==null&&a?.dollar_per_pct!=null?a?.vs_last_week_delta:null,freshness:c==null?o?.freshness??null:null,ctx:n,verdict:c==null?r:null,heroLabel:i,period:`cycle`,spentLabel:d?f?`SPENT · ACCOUNT CYCLES`:`SPENT · ACCOUNT TOTAL`:u==null?void 0:u.spendWindow==null?`SPENT · ACCOUNT`:`SPENT · ACCOUNT CYCLE`,spentLabelSpoken:d?f?`Spent across latest account cycles`:`Sum of available account costs`:u==null?void 0:u.spendWindow==null?`Spent for selected account`:`Spent over latest account cycle`,showFiveHour:!d&&(u?.fiveHourPercent!=null||c==null),perAccountNote:d?`per account`:null,withheldUsedPct:u!=null&&u.weeklyPercent==null})}let u=C(t,`codex`).entry,d=u?.data,f=d?.hero.cycle,p=v(u)!=null,m=e===`codex`&&c.scopesSupported&&c.accountKey==null||e===`all`&&p&&c.accountKey==null?null:c.accountKey==null?d?.quota??null:c.scope?.quota??null,h=d?.hero&&m?te(d.hero,m):[],g=[...h].sort((e,t)=>{let n=e.current.resets_at===f?.resets_at;if(n!==(t.current.resets_at===f?.resets_at))return n?-1:1;let r=e.windowMinutes===10080;return r===(t.windowMinutes===10080)?t.current.current_percent-e.current.current_percent||Date.parse(t.current.captured_at)-Date.parse(e.current.captured_at):r?-1:1})[0],_=h.find(e=>e.windowMinutes===300),y=d?.hero?.update_state??null,b=y===`updating`,x=y===`pending`,S=d?.hero?.cost_usd==null,w=d?.hero?.cycle_freshness===`stale`,T=fr(d?.ingest_backlog),ee=pr(d?.ingest_backlog),E=mr(d?.ingest_backlog),D=dn(u?.warnings,`hero`),O=m?.histories.find(e=>e.key===g?.key)?.forecast,k=Cr(g?.current.resets_at,l),A=g?Date.parse(g.current.captured_at):NaN,j=Number.isFinite(A)?Math.max(0,(Date.now()-A)/1e3):null,M=Kn(j),ne=g?.current.current_percent??null,re=d?.hero.cost_usd??null,ie=re!=null&&ne!=null&&ne>0?re/ne:null,N=d?.hero.cycle?.start_at?Date.parse(d.hero.cycle.start_at):NaN,ae=d?.periods.weekly.rows.filter(e=>{let t=e.end_at?Date.parse(e.end_at):NaN;return e.dollar_per_pct!=null&&Number.isFinite(N)&&Number.isFinite(t)&&t<=N}).sort((e,t)=>Date.parse(t.end_at??``)-Date.parse(e.end_at??``))[0]?.dollar_per_pct??null,P=ie!=null&&ae!=null?ie-ae:null,oe=O?.status===`ok`?O.projected_percent:null,F=oe==null?null:Un(oe>=100?`capped`:oe>=90?`cap`:`ok`),se=g&&j!=null?{...g.current,label:M,age_seconds:j}:null,I=f?B.dateShort(f.start_at,n):null,ce=f?B.dateShort(f.resets_at,n):null,L=I&&ce?`${I}–${ce}`:I??ce;if(e===`codex`){let e=c.scopesSupported&&c.accountKey==null,t=e?ur(v(u)):null,r=e?dr(v(u)):null,i=e?null:c.card?.spendWindow??null;return(0,W.jsx)(Or,{weekLabel:e?null:L,usedPct:e?null:ne,fiveHourPct:e?null:_?.current.current_percent,resetInSec:e?null:k,spentUsd:re,dollarPerPct:e?null:ie,forecastPct:e?null:oe,vsLastWeekDelta:e?null:P,freshness:e?null:se,ctx:n,verdict:e?null:F,heroLabel:M,showFiveHour:!e&&_!=null,unavailableReason:!e&&S?D?.message??`Cycle accounting unavailable`:null,spendState:x?`pending`:b?`updating`:null,spentNote:hr(b?or:null,e||!w?null:ar,t,T),spentNoteLabel:hr(b?cr:null,t,ee),spentNoteCompactLabel:r==null&&E==null?null:hr(b?cr:null,r??t,E??ee),spentLabel:i==null?void 0:`SPENT · ${Ce(i).toUpperCase()}`,spentLabelSpoken:i==null?void 0:`Spent over the ${Ce(i)}`,perAccountNote:e?`per account`:null})}let le=C(t,`all`).entry,R=hn(le??null),ue=R.value!=null,z=ue?null:R.unavailable,de=R.legs?.claude??null,fe=R.legs?.codex??null,pe=de?.scope===`account_cycles`||fe?.scope===`account_cycles`,me=ue?pe?`COMBINED · ACCOUNT CYCLES`:_n(R.contributors):`COMBINED · CURRENT CYCLES`,he=ue&&R.contributors.length>0?R.value:null,ge=p&&c.accountKey==null,V=c.accountKey==null?null:c.card?.spendUsd??null,_e=C(t,`claude`).entry,ve=v(_e),ye=s.requestedKey==null?null:ve?.find(e=>e.accountKey===s.requestedKey)??null,be=ve!=null&&ye==null,xe=ye?.spendUsd??null,Se=ye==null?be?null:a?.used_pct??null:ye.weeklyPercent,we=ve!=null&&Se==null,Te=ye==null?de?.state===`current`?wr(de.period,l):o?.reset_in_sec??null:Cr(ye.resetsAt,l),Ee=c.accountKey==null&&fe?.state===`current`?wr(fe.period,l):k;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`hero-zone hero-usage`,"data-testid":`shared-hero-usage`,children:[(0,W.jsxs)(`div`,{className:`hu-block`,"data-provider-block":`claude`,children:[(0,W.jsxs)(`div`,{className:`hu-label`,children:[`CLAUDE · WEEK`,be?(0,W.jsx)(`span`,{className:`hu-week`,children:` · per account`}):null]}),(0,W.jsx)(`div`,{className:we?`hu-num is-blank`:`hu-num`,children:B.pct1(Se)}),(0,W.jsx)(Tr,{provider:`claude`,perAccount:be,resetInSec:Te})]}),(0,W.jsxs)(`div`,{className:`hu-block`,"data-provider-block":`codex`,children:[(0,W.jsxs)(`div`,{className:`hu-label`,children:[`CODEX · 7-DAY CYCLE`,ge?(0,W.jsx)(`span`,{className:`hu-week`,children:` · per account`}):null]}),(0,W.jsx)(`div`,{className:ge?`hu-num is-blank`:`hu-num`,children:ge?`—`:B.pct1(g?.current.current_percent)}),(0,W.jsx)(Tr,{provider:`codex`,perAccount:ge,resetInSec:Ee})]})]}),(0,W.jsxs)(`div`,{className:`hero-zone hero-spent`,"data-testid":`shared-hero-spent`,title:z?.message,children:[(0,W.jsx)(`div`,{className:`hs-label`,"data-testid":`hero-combined-heading`,children:me}),(0,W.jsx)(_r,{amount:he?.costUsd,dimWhenBlank:!0}),(0,W.jsx)(`div`,{className:`hs-sub`,children:z==null?he==null?ue?(0,W.jsx)(`span`,{"data-testid":`hero-combined-no-data`,children:`no accounting in either current cycle`}):null:he.totalTokens==null?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{children:B.tokens(he.totalTokens)}),` total tokens`]}):(0,W.jsx)(`span`,{className:`panel-degraded-chip`,"data-testid":`shared-hero-warning`,title:z.message,"aria-label":`Combined total withheld: ${z.message}`,children:`Combined withheld`})}),z==null?null:(0,W.jsx)(`div`,{className:`hs-sub hero-combined-reason`,"data-testid":`hero-combined-reason`,children:z.message}),R.qualifications.length>0?(0,W.jsx)(`div`,{className:`hs-sub hero-combined-qualifications`,children:R.qualifications.map(e=>(0,W.jsx)(`span`,{className:`chip hero-combined-qualification`,"data-testid":`hero-combined-qualification`,"data-code":e.code,title:e.message,"aria-label":e.message,children:Dr(e)},e.code+(e.provider??``)))}):null]}),(0,W.jsxs)(`div`,{className:`hero-zone hero-support`,"data-testid":`shared-hero-support`,children:[(0,W.jsxs)(`div`,{className:`sup-row`,children:[(0,W.jsxs)(`span`,{className:`sup-l`,children:[`Claude · `,de?.scope===`account_cycles`?`account cycles`:`week to date`]}),(0,W.jsx)(`span`,{className:`sup-v`,"data-testid":`hero-leg-claude`,children:(0,W.jsx)(Er,{leg:de,perAccount:be,provider:`claude`,focusedCostUsd:xe})})]}),(0,W.jsxs)(`div`,{className:`sup-row`,children:[(0,W.jsxs)(`span`,{className:`sup-l`,children:[`Codex · `,fe?.scope===`account_cycles`?`account cycles`:`cycle to date`]}),(0,W.jsx)(`span`,{className:`sup-v`,"data-testid":`hero-leg-codex`,children:(0,W.jsx)(Er,{leg:fe,perAccount:ge,provider:`codex`,focusedCostUsd:V})})]})]})]})}var xr={claude:`Claude`,codex:`Codex`};function Sr(e){let t=Date.parse(e?.generated_at??``);return Number.isFinite(t)?t:Date.now()}function Cr(e,t){if(e==null)return null;let n=Date.parse(e);return Number.isFinite(n)?Math.max(0,(n-t)/1e3):null}function wr(e,t){if(e==null)return null;let n=Cr(e.end_at,t);return n!=null&&n>0?n:null}function Tr({provider:e,perAccount:t,resetInSec:n}){let r=xr[e];return t?(0,W.jsxs)(`div`,{className:`hu-reset hu-reset--per-account`,"data-testid":`hero-${e}-reset`,title:`Each ${r} account has its own quota cycle — independent resets are never blended.`,children:[r,` reset `,(0,W.jsx)(`span`,{children:`per account`})]}):n==null?null:(0,W.jsxs)(`div`,{className:`hu-reset`,"data-testid":`hero-${e}-reset`,children:[r,` resets in `,(0,W.jsx)(`span`,{children:B.ddhh(n)})]})}function Er({leg:e,perAccount:t,provider:n,focusedCostUsd:r=null}){if(r!=null)return(0,W.jsx)(W.Fragment,{children:B.usd2(r)});if(e?.scope===`account_cycles`){let t=e.accounts?.length??0;return(0,W.jsxs)(W.Fragment,{children:[B.usd2(e.cost_usd),` · `,t,` `,t===1?`account`:`accounts`]})}return t?(0,W.jsx)(`span`,{className:`hero-per-account-value`,"data-testid":`hero-per-account-value`,title:`Each ${xr[n]} account has its own cycle — independent spend is shown per account below.`,children:`per account`}):e==null||e.state===`empty`?(0,W.jsx)(`span`,{className:`hero-leg-no-data`,children:`no data`}):(0,W.jsx)(W.Fragment,{children:B.usd2(e.cost_usd)})}function Dr(e){return e.code===`codex_ingest_backlog`?`Codex still loading`:e.code===`provider_empty`?`${e.provider?xr[e.provider]:`A provider`} no data`:`Qualified`}function Or({weekLabel:e,usedPct:t,fiveHourPct:n,resetInSec:r,spentUsd:i,dollarPerPct:a,forecastPct:o,vsLastWeekDelta:s,ctx:c,verdict:l,heroLabel:u,freshness:d,showFiveHour:f,unavailableReason:p=null,spendState:m=null,spentNote:h=null,spentNoteLabel:g=null,spentNoteCompactLabel:_=null,period:v=`week`,spentLabel:y,spentLabelSpoken:b,perAccountNote:x=null,withheldUsedPct:S=!1}){let C=v===`cycle`?Zn(`claude`).unit:`week`,w=C.toUpperCase(),T=v===`cycle`?`comparable cycle`:`last week`,ee=y??`SPENT THIS ${w}`,E=b??(v===`cycle`?`Spent this ${C}`:lr),D=`$/1% vs ${T}`,O=v===`cycle`?`versus nearest comparable cycle`:`versus ${T}`,k=x==null?null:(0,W.jsx)(`span`,{className:`hero-per-account-value`,"data-testid":`hero-per-account-value`,title:`Each account has its own quota cycle — independent percentages are never blended.`,children:x});return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`hero-zone hero-usage`,children:[(0,W.jsxs)(`div`,{className:`hu-block`,children:[(0,W.jsxs)(`div`,{className:`hu-label`,children:[w,` USAGE`,e?(0,W.jsxs)(`span`,{className:`hu-week`,children:[` · `,e]}):null]}),(0,W.jsx)(`div`,{className:`hu-num${t==null&&(x!=null||S)?` is-blank`:``}`,children:B.pct1(t)})]}),f&&(0,W.jsxs)(`div`,{className:`hu-block`,"data-testid":`hero-five-hour`,children:[(0,W.jsx)(`div`,{className:`hu-label`,children:`5-HOUR`}),(0,W.jsx)(`div`,{className:`hu-num hu-num--sm`,children:B.pct0(n)})]}),x==null?(0,W.jsxs)(`div`,{className:`hu-reset`,children:[`resets in `,(0,W.jsx)(`span`,{children:B.ddhh(r)})]}):(0,W.jsxs)(`div`,{className:`hu-reset hu-reset--per-account`,"data-testid":`hero-per-account-note`,title:`Each account has its own quota cycle — independent percentages are never blended.`,children:[`usage + reset `,(0,W.jsx)(`span`,{children:x})]})]}),(0,W.jsxs)(`div`,{className:`hero-zone hero-spent`,title:p??h??void 0,role:`group`,"aria-label":(()=>{let e=p??h;return e?`${E}. ${e}`:E===lr?void 0:E})(),children:[(0,W.jsx)(`div`,{className:`hs-label`,children:ee}),m===`pending`?(0,W.jsx)(vr,{}):(0,W.jsx)(_r,{amount:i}),m===`updating`&&(0,W.jsx)(`div`,{className:`chip chip-aging hs-updating`,"data-testid":`hero-spend-updating`,title:`The quota projection is reconciling. This is the last figure that was coherent.`,children:`updating`}),(0,W.jsx)(`div`,{className:`hs-sub`,children:k==null?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{children:B.usd2(a)}),` / 1% used`]}):(0,W.jsxs)(W.Fragment,{children:[`$ / 1% used `,k]})}),p==null&&g!=null?(0,W.jsxs)(`div`,{className:`hs-sub`,"data-testid":`hero-spent-note`,"aria-hidden":`true`,children:[(0,W.jsx)(`span`,{className:_==null?`hero-spent-note-text`:`hero-spent-note-text hero-ingest-backlog-label-full`,children:g}),_==null?null:(0,W.jsx)(`span`,{className:`hero-ingest-backlog-label-compact`,children:_})]}):null]}),(0,W.jsxs)(`div`,{className:`hero-zone hero-support`,children:[(0,W.jsxs)(`div`,{className:`sup-row`,children:[(0,W.jsx)(`span`,{className:`sup-l`,children:`Forecast @ reset`}),(0,W.jsx)(`span`,{className:`sup-v${l?` is-${l.cls}`:``}`,children:k??B.pct0(o)})]}),(()=>{let e=s;if(e==null)return(0,W.jsxs)(`div`,{className:`sup-row`,"data-metric":`vs-last-week`,children:[(0,W.jsx)(`span`,{className:`sup-l`,children:D}),(0,W.jsx)(`span`,{className:`sup-v`,children:k??`—`})]});let t=Math.abs(e)<.02,n=e<0,r=t?`minus`:n?`trending-down`:`trending-up`,i=t?`var(--text-dim)`:n?`var(--accent-green)`:`var(--accent-red)`,a=t?`flat`:n?`down`:`up`,o=B.usd2(Math.abs(e));return(0,W.jsxs)(`div`,{className:`sup-row`,"data-metric":`vs-last-week`,"aria-label":t?`$/1% flat ${O}`:`$/1% ${a} ${o} ${O}`,children:[(0,W.jsx)(`span`,{className:`sup-l`,children:D}),(0,W.jsxs)(`span`,{className:`sup-v`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,style:{color:i},children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${r}`})}),(0,W.jsx)(`span`,{children:t?`flat`:o})]})]})})(),d&&(0,W.jsxs)(`div`,{className:`sup-row`,children:[(0,W.jsx)(`span`,{className:`sup-l`,children:`Snapshot`}),(0,W.jsxs)(`span`,{className:`sup-v sup-fresh chip-${u}`,"data-freshness":u,title:`Captured ${B.datetimeShort(d.captured_at,c)}`+(u===`stale`?` · stale`:``),children:[u===`stale`?`⚠ stale · `:``,Yt(d.age_seconds)]})]})]})]})}function kr(){let e=(R().snapshot?.sessions?.rows??[])[0]?.session_id;e&&I({type:`OPEN_MODAL`,kind:`session`,sessionId:e})}function Ar(){let e=R().snapshot?.blocks?.rows??[];e.length!==0&&I({type:`OPEN_MODAL`,kind:`block`,blockStartAt:(e.find(e=>e.is_active)??e[0]).start_at})}function jr(e){let{searchMatches:t,searchIndex:n}=R();if(t.length===0)return;let r=t.length;I({type:`SET_SEARCH_MATCHES`,matches:t,index:((n<0?0:n)+e+r)%r})}var Mr=`Can't close this tab — use your browser to close it.`;function Nr(){try{window.close()}catch{}window.setTimeout(()=>{window.closed||I({type:`SHOW_STATUS_TOAST`,text:Mr})},100)}function Pr(){return(0,W.jsxs)(`footer`,{className:`footer`,children:[(0,W.jsxs)(`span`,{className:`kb`,children:[(0,W.jsx)(`kbd`,{children:`↑/↓`}),` scroll`]}),(0,W.jsxs)(`span`,{className:`kb`,children:[(0,W.jsx)(`kbd`,{className:`accent-green`,children:`tab`}),` next panel`]}),(0,W.jsxs)(`button`,{className:`kb-btn`,id:`footer-r`,type:`button`,onClick:()=>Dn(),children:[(0,W.jsx)(`kbd`,{className:`accent-purple`,children:`r`}),` refresh`]}),(0,W.jsxs)(`button`,{className:`kb-btn`,id:`footer-s`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`s`})),children:[(0,W.jsx)(`kbd`,{children:`s`}),` settings`]}),(0,W.jsxs)(`button`,{className:`kb-btn`,id:`footer-help`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`?`})),children:[(0,W.jsx)(`kbd`,{className:`accent-amber`,children:`?`}),` help`]}),(0,W.jsxs)(`button`,{className:`kb-btn`,id:`footer-q`,type:`button`,onClick:()=>Nr(),children:[(0,W.jsx)(`kbd`,{children:`q`}),` quit`]})]})}var Fr=[],Ir=null,Lr=0;typeof document<`u`&&document.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[data-panel-kind]`);Ir={trigger:t.closest(`button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), summary, [role="button"][tabindex]:not([tabindex="-1"])`)??n?.querySelector(`.panel-expand:not([disabled])`)??t.closest(`[data-hero-strip][tabindex]`)??null,panelKind:n?.getAttribute(`data-panel-kind`)??null};let r=++Lr;setTimeout(()=>{r===Lr&&(Ir=null)},0)},!0);function Rr(e){return e?Array.from(document.querySelectorAll(`[data-panel-kind]`)).find(t=>t.getAttribute(`data-panel-kind`)===e)?.querySelector(`.panel-expand:not([disabled])`)??null:null}function zr(e){return!!e&&document.contains(e)&&!e.hasAttribute(`disabled`)&&!Vr(e)}var Br=[`a[href]`,`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`summary`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function Vr(e){if(e.hasAttribute(`hidden`)||e.getAttribute(`aria-hidden`)===`true`||e.closest(`[hidden],[aria-hidden="true"],[inert]`))return!0;let t=typeof window<`u`&&typeof window.getComputedStyle==`function`?window.getComputedStyle(e):null;return!!(t&&(t.display===`none`||t.visibility===`hidden`))}function Hr(e){return Array.from(e.querySelectorAll(Br)).filter(e=>!e.hasAttribute(`disabled`)&&!Vr(e))}function Ur(e,{active:t,trapEnabled:n=!0,triggerId:r,initialFocus:i=`first`}){let a=(0,U.useRef)({});(0,U.useEffect)(()=>{if(!t)return;let n=Ir;Ir=null;let a=(r?document.getElementById(r):null)??n?.trigger??document.activeElement,o=a?.id||null,s=n?.panelKind??a?.closest(`[data-panel-kind]`)?.getAttribute(`data-panel-kind`)??null,c=e.current;return c&&(i===`container`?c.focus():i===`heading`?(c.querySelector(`[data-modal-heading], #modal-title, h2`)??Hr(c)[0]??c).focus():(Hr(c)[0]??c).focus()),()=>{let e=[r?document.getElementById(r):null,a,o?document.getElementById(o):null,Rr(s)].find(zr);if(e)e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[t,r,i]),(0,U.useEffect)(()=>{if(!t||!n)return;let e={token:a.current};return Fr.push(e),()=>{let t=Fr.indexOf(e);t!==-1&&Fr.splice(t,1)}},[t,n,e]),(0,U.useEffect)(()=>{if(!t||!n)return;function r(t){if(t.key!==`Tab`)return;let n=e.current;if(!n||Fr[Fr.length-1]?.token!==a.current)return;let r=Hr(n);if(r.length===0){t.preventDefault(),n.focus();return}let i=r[0],o=r[r.length-1],s=document.activeElement;if(!s||!n.contains(s)){t.preventDefault(),(t.shiftKey?o:i).focus();return}(s?r.indexOf(s):-1)===-1?(t.preventDefault(),(t.shiftKey?o:i).focus()):t.shiftKey&&s===i?(t.preventDefault(),o.focus()):!t.shiftKey&&s===o&&(t.preventDefault(),i.focus())}return document.addEventListener(`keydown`,r,!0),()=>document.removeEventListener(`keydown`,r,!0)},[t,n])}var Wr=0,Gr=``,Kr=``;function qr(e){(0,U.useEffect)(()=>{if(e){if(Wr===0){let e=document.documentElement;Gr=e.style.overflow,Kr=document.body.style.overflow,e.style.overflow=`hidden`,document.body.style.overflow=`hidden`}return Wr+=1,()=>{--Wr,Wr===0&&(document.documentElement.style.overflow=Gr,document.body.style.overflow=Kr)}}},[e])}function Jr(){return(0,W.jsx)(`span`,{className:`panel-grip`,"aria-hidden":`true`,"data-card-region-ignore":!0,children:`⋮⋮`})}var Yr={claude:new Set([`current-week`,`trend`,`weekly`,`daily`,`monthly`,`blocks`,`forecast`,`sessions`,`projects`]),codex:new Set([`current-week`,`trend`,`weekly`,`daily`,`monthly`,`blocks`,`forecast`,`sessions`,`projects`]),all:new Set([`current-week`,`trend`,`weekly`,`daily`,`monthly`,`blocks`,`forecast`,`sessions`,`projects`])};function Xr(e,t){return Yr[e].has(t)}var Zr={claude:`Claude`,codex:`Codex`,all:`All`};function Qr({panel:e,panelLabel:t,onClick:n,triggerId:r,dataTestId:i}){return Xr((0,U.useSyncExternalStore)(F,()=>R().activeSource),e)?(0,W.jsx)(`button`,{type:`button`,className:`share-icon`,"data-share-panel":e,"aria-label":`Share ${t} report`,onClick:e=>{e.stopPropagation(),n()},title:`Share (Shift+S)`,...r?{id:r}:{},...i?{"data-testid":i}:{},children:(0,W.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,children:[(0,W.jsx)(`path`,{d:`M3 7h6m0 0L6.5 4.5M9 7L6.5 9.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,W.jsx)(`rect`,{x:`0.75`,y:`0.75`,width:`12.5`,height:`12.5`,rx:`1.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]})}):null}function $r({label:e,onOpen:t,disabled:n=!1}){let r=e=>{e.stopPropagation(),!n&&t()},i=`${e}: nothing to open yet`;return(0,W.jsx)(`button`,{type:`button`,className:`panel-expand`,"aria-label":n?i:`Open ${e}`,title:n?i:`Expand`,onClick:r,disabled:n,children:(0,W.jsx)(`span`,{"aria-hidden":`true`,children:`⤢`})})}function ei(e){let t=e.trim();return t.replace(/^claude-/i,``).replace(/-\d{8}$/,``)||t}var ti=137.50776405003785,q=[.48,.56],ni=[.14,.18],ri=96,ii=`#f8fafc`,ai=`#090b10`;function oi(e){return e?.trim()?e.trim().toLowerCase().replace(/\[[^\]]+\]$/,``).replace(/-\d{8}$/,``):``}function si(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function ci(e){return Math.min(1,Math.max(0,e))}function li(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function ui(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function di(e){return Math.round(ci(e)*255).toString(16).padStart(2,`0`)}function fi(e,t,n){let r=n*Math.PI/180,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o**3,u=s**3,d=c**3,f=li(4.0767416621*l-3.3077115913*u+.2309699292*d),p=li(-1.2684380046*l+2.6097574011*u-.3413193965*d),m=li(-.0041960863*l-.7034186147*u+1.707614701*d);return`#${di(f)}${di(p)}${di(m)}`}function pi(e){if(!/^#[0-9a-f]{6}$/i.test(e))throw Error(`Expected a six-digit hex color, got ${e}`);return[1,3,5].map(t=>Number.parseInt(e.slice(t,t+2),16)/255)}function mi(e){let[t,n,r]=pi(e).map(ui),i=Math.cbrt(.4122214708*t+.5363325363*n+.0514459929*r),a=Math.cbrt(.2119034982*t+.6806995451*n+.1073969566*r),o=Math.cbrt(.0883024619*t+.2817188376*n+.6299787005*r);return{l:.2104542553*i+.793617785*a-.0040720468*o,a:1.9779984951*i-2.428592205*a+.4505937099*o,b:.0259040371*i+.7827717662*a-.808675766*o}}function hi(e,t){let n=mi(e),r=mi(t);return Math.hypot(n.l-r.l,n.a-r.a,n.b-r.b)}function gi(e){let[t,n,r]=pi(e).map(ui);return .2126*t+.7152*n+.0722*r}function _i(e,t){let n=gi(e),r=gi(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function vi(e){let t=si(e)%360,n=[],r=new Set;for(let e=0;e<ri;e+=1){let i=(t+e*ti)%360,a=q[e%q.length],o=ni[Math.floor(e/q.length)%ni.length],s=fi(a,o,i);r.has(s)||(r.add(s),n.push(s))}return n}function yi(e){return _i(e,ii)>=_i(e,ai)?ii:ai}function bi(){let e=new Map;return{styleFor(t){let n=oi(t);if(!n)return;let r=e.get(n);if(r)return r;let i=[...e.values()].map(e=>e.backgroundColor),a=vi(n),o=a[0],s=-1;if(i.length>0)for(let e of a){let t=Math.min(...i.map(t=>hi(e,t)));t>s&&(o=e,s=t)}let c={backgroundColor:o,color:yi(o)};return e.set(n,c),c}}}function xi(e){return e?e.includes(`opus`)?`opus`:e.includes(`sonnet`)?`sonnet`:e.includes(`haiku`)?`haiku`:e.includes(`fable`)?`fable`:`other`:`other`}var Si=bi();function Ci(e){return Si.styleFor(e)}function wi(e,t=2){let n=new Set,r=[];for(let t of e){let e=oi(t);if(!e||n.has(e))continue;n.add(e);let i=xi(t),a=ei(t).replace(/\[[^\]]+\]$/,``),o=a.length>12?`${a.slice(0,12)}…`:a;r.push({cls:i,label:o,full:a,model:t})}return{chips:r.slice(0,t),extra:Math.max(0,r.length-t)}}var Ti={weekly:12,monthly:8},Ei=30;function Di(e){return e===`claude`?`Claude`:`Codex`}function Oi(e,t){return e?.sources?.[t]??null}function ki(e,t,n,r,i,a){let o=Oi(e,t),s=o?.warnings.find(e=>e.domain==null||r.includes(e.domain)||e.domain===`ingest`||e.domain===`read_model`),c=r.find(e=>{let t=o?.capabilities[e]?.status;return t===`unavailable`||t===`deferred`}),l=o==null?void 0:i.find(e=>pn(o,e)===`stale`);if(n==null){let e=o?.availability===`empty`?`empty`:`unavailable`;return{source:t,label:Di(t),status:e,reason:s?.message??(c?o?.capabilities[c]?.semantics:null)??a,value:null}}return s!=null||l!=null||c!=null?{source:t,label:Di(t),status:`degraded`,reason:s?.message??(l==null?o?.capabilities[c]?.semantics??a:o?.domain_freshness==null?`${Di(t)} data is stale.`:`${Di(t)} ${l} data is stale.`),value:n}:{source:t,label:Di(t),status:`available`,reason:null,value:n}}function Ai(e){return e===`all`?[`claude`,`codex`]:[e]}var ji={state:`withheld`,code:`rows_absent`};function Mi(e){return e.provider==null?{state:`withheld`,code:e.code}:{state:`withheld`,code:e.code,provider:e.provider}}function Ni(e,t){let n=e?.sources?.all?.data?.aggregates,r=n?.[t];return n==null||r==null||typeof r.state!=`string`?{withheld:ji}:r.state===`withheld`?{withheld:Mi(r)}:{available:r.qualifications??[]}}function Pi(e){return e?.sources?.all?.data?.aggregates?.range??null}function Fi(e,t){if(t===`claude`)return{selection:t,claude:e?.sources?.claude?.data??null,codex:null,hydrating:e==null||!!e.hydrating,warnings:e?.sources?.claude?.warnings??[]};if(t===`codex`){let n=e?.sources?.codex;return{selection:t,claude:null,codex:n?.data??null,hydrating:e==null||n?.data==null&&n?.last_success_at==null&&(n?.warnings.length??0)===0,warnings:n?.warnings??[]}}let n=e?.sources?.all,r=n?.data??null;return{selection:t,claude:r?.providers?.claude??e?.sources?.claude?.data??null,codex:r?.providers?.codex??e?.sources?.codex?.data??null,hydrating:e==null||r==null&&n?.last_success_at==null&&(n?.warnings.length??0)===0,warnings:n?.warnings??[]}}function Ii(e,t){return e>0?[{model:t,display:t===`claude`?`Claude`:`Codex`,chip:t===`claude`?`opus`:`other`,cost_usd:e,cost_pct:100}]:[]}function Li(e,t,n=!1){return(t??[]).flatMap(t=>{let r=t.modelName?.trim(),i=t.cost;return!r||i==null||!Number.isFinite(i)?[]:[{model:r,display:n?r.replace(/^gpt-/i,``):r,chip:xi(r),cost_usd:i,cost_pct:e>0?i/e*100:0}]})}function Ri(e,t,n){let r=Li(e.cost_usd,e.model_breakdowns,!0),i=r.length>0?r:Ii(e.cost_usd,`codex`),a=[...new Set((e.account_keys??[]).flatMap(e=>{let t=n.get(e);return t==null?[]:[t]}))];return{source:`codex`,label:e.label,cost_usd:e.cost_usd,total_tokens:e.total_tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens+e.reasoning_output_tokens,cache_creation_tokens:0,cache_read_tokens:e.cached_input_tokens,used_pct:e.used_pct??null,dollar_per_pct:e.dollar_per_pct??null,delta_cost_pct:null,is_current:t===0,models:i,week_start_at:e.start_at,week_end_at:e.end_at,codex_tokens:{input_tokens:e.input_tokens,cached_input_tokens:e.cached_input_tokens,output_tokens:e.output_tokens,reasoning_output_tokens:e.reasoning_output_tokens,total_tokens:e.total_tokens},...a.length>0?{account_labels:a}:{}}}function zi(e,t,n){let r=Fi(e,t),i=new Map((r.codex?.accounts??[]).map(e=>[e.accountKey,e.label])),a=(t===`claude`?e?.[n]?.rows??[]:r.claude?.periods?.[n]?.rows??[]).map(e=>({...e,source:`claude`})),o=[...r.codex?.periods?.[n]?.rows??[]].sort((e,t)=>t.label.localeCompare(e.label)).map((e,t)=>Ri(e,t,i)).map((e,t,n)=>({...e,delta_cost_pct:n[t+1]?.cost_usd?(e.cost_usd-n[t+1].cost_usd)/n[t+1].cost_usd:null}));if(t===`all`){let e=Ti[n];return[...a.slice(0,e),...o.slice(0,e)]}return(t===`codex`?o:a).slice(0,Ti[n])}function Bi(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)?e:/^\d{2}-\d{2}$/.test(e)?`${new Date().getFullYear()}-${e}`:e}function J(e){let t=e.map(e=>e.cost_usd).filter(e=>e>0).sort((e,t)=>e-t);return e.map(e=>{let n=t.length===0||e.cost_usd<=0?0:Math.min(5,Math.max(1,Math.ceil((t.indexOf(e.cost_usd)+1)/t.length*5)));return{...e,intensity_bucket:n}})}function Y(e){let t=Bi(e.label),n=Li(e.cost_usd,e.model_breakdowns,!0);return{source:`codex`,date:t,label:/^\d{4}-\d{2}-\d{2}$/.test(t)?t.slice(5):e.label,cost_usd:e.cost_usd,is_today:!1,intensity_bucket:0,models:n.length>0?n:Ii(e.cost_usd,`codex`),input_tokens:e.input_tokens,output_tokens:e.output_tokens+e.reasoning_output_tokens,cache_creation_tokens:0,cache_read_tokens:e.cached_input_tokens,total_tokens:e.total_tokens,cache_hit_pct:e.input_tokens>0?e.cached_input_tokens/e.input_tokens*100:null,codex_tokens:{input_tokens:e.input_tokens,cached_input_tokens:e.cached_input_tokens,output_tokens:e.output_tokens,reasoning_output_tokens:e.reasoning_output_tokens,total_tokens:e.total_tokens}}}function Vi(e,t=e.source){return{source:t,date:e.date,label:e.label,cost_usd:0,is_today:e.is_today,intensity_bucket:0,models:[],input_tokens:0,output_tokens:0,cache_creation_tokens:0,cache_read_tokens:0,total_tokens:0,cache_hit_pct:null,codex_tokens:t===`codex`?{input_tokens:0,cached_input_tokens:0,output_tokens:0,reasoning_output_tokens:0,total_tokens:0}:void 0}}function Hi(e,t,n){if(t.length===0)return e;let r=new Map(e.map(e=>[e.date,e])),i=new Set(t.map(e=>e.date)),a=t.map(e=>{let t=r.get(e.date);return t==null?Vi(e,n):{...t,label:e.label,is_today:e.is_today}}),o=e.filter(e=>!i.has(e.date));return[...a,...o].sort((e,t)=>t.date.localeCompare(e.date))}function Ui(e,t){let n=Fi(e,t),r=[...n.codex?.periods?.daily?.rows??[]].sort((e,t)=>t.label.localeCompare(e.label)).map(Y);if(t===`claude`)return{state:`available`,range:null,qualifications:[],rows:(e?.daily?.rows??[]).slice(0,Ei)};if(t===`codex`)return{state:`available`,range:null,qualifications:[],rows:J(Hi(r,e?.daily?.rows??[],`codex`)).slice(0,Ei)};let i=Ni(e,`daily`);if(`withheld`in i)return i.withheld;let a=n.claude?.periods.daily_aggregate?.rows,o=n.codex?.periods?.daily?.rows;if(a==null||o==null)return ji;let s=a,c=new Map;for(let e of[...a,...r].filter(Wi)){let t=c.get(e.date);if(!t){c.set(e.date,{...e,models:[...e.models]});continue}let n=t.cost_usd+e.cost_usd;c.set(e.date,{...t,source:`all`,cost_usd:n,input_tokens:t.input_tokens+e.input_tokens,output_tokens:t.output_tokens+e.output_tokens,cache_creation_tokens:t.cache_creation_tokens+e.cache_creation_tokens,cache_read_tokens:t.cache_read_tokens+e.cache_read_tokens,total_tokens:t.total_tokens+e.total_tokens,cache_hit_pct:null,codex_tokens:void 0,models:[]})}let l=[...c.values()].sort((e,t)=>t.date.localeCompare(e.date));return{state:`available`,range:Pi(e),qualifications:i.available,rows:J(Hi(l,s)).slice(0,Ei)}}function Wi(e){return e.cost_usd!==0||e.total_tokens!==0||e.models.length!==0}function Gi(e,t){if(t==null||t===``)return{claude:null,codex:null};let n=Fi(e,`all`),r=(n.claude?.periods.daily_aggregate?.rows??[]).find(e=>e.date===t)??null,i=(n.codex?.periods.daily.rows??[]).map(Y).find(e=>e.date===t)??null;return{claude:r!=null&&Wi(r)?{...r,source:`claude`}:null,codex:i!=null&&Wi(i)?i:null}}function Ki(e,t){let n=e.slice().reverse();return n.map((e,r)=>({source:t,label:e.label,used_pct:e.used_pct,dollar_per_pct:e.dollar_per_pct,delta:e.dollar_per_pct!=null&&n[r-1]?.dollar_per_pct!=null?e.dollar_per_pct-n[r-1].dollar_per_pct:null,is_current:e.is_current,cost_usd:e.cost_usd,...e.account_labels?{account_labels:e.account_labels}:{}}))}function qi(e,t,n){return{source:e,label:Di(e),rows:t.map(t=>({...t,source:e})),historyRows:n.map(t=>({...t,source:e}))}}function Ji(e,t){if(t===`claude`){let n=e?.trend?.weeks??[];return{rows:n,sections:[qi(`claude`,n,e?.trend?.history??n)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}if(t===`all`){let n=e?.trend?.weeks??Ki(zi(e,`claude`,`weekly`),`claude`),r=e?.trend?.history??n,i=Ki(zi(e,`codex`,`weekly`),`codex`);return{rows:[],sections:[qi(`claude`,n,r),qi(`codex`,i,i)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}let n=Ki(zi(e,`codex`,`weekly`),`codex`);return{rows:n,sections:[qi(`codex`,n,n)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}function Yi(e){return new Set((e?.summary.active??[]).map(e=>e.key))}function Xi(e,t){if(t===`claude`){let t=e?.forecast??e?.sources?.claude?.data?.hero.forecast??null;return{projected:t?.week_avg_projection_pct??null,recent:t?.recent_24h_projection_pct??null,primaryLabel:`Projected @ reset`,recentLabel:`Recent-24h`,foot:[{label:`Budget ≤100%`,value:t?.budget_100_per_day_usd==null?`—`:`$${t.budget_100_per_day_usd.toFixed(2)}/day`},{label:`Budget ≤90%`,value:t?.budget_90_per_day_usd==null?`—`:`$${t.budget_90_per_day_usd.toFixed(2)}/day`}],verdict:t?.verdict??null}}let n=Fi(e,t).codex,r=(n?.quota.histories??[]).filter(e=>!e.model_scoped),i=r.find(e=>e.window_minutes===10080)??r[0],a=i?.forecast,o=i!=null&&Yi(n?.quota).has(i.key),s=o&&a?.status===`ok`?a.projected_percent:null;return{projected:s,recent:o?a?.current_percent??null:null,primaryLabel:`Projected @ reset`,recentLabel:i?.label??`Current quota`,foot:[{label:`Confidence`,value:o&&a?.confidence||`unavailable`}],verdict:s==null?null:s>=100?`capped`:s>=90?`cap`:`ok`}}function Zi(e){let t=e?.sources?.codex?.data??null,n=t?.accounts;if(n==null||n.length===0)return null;let r=(t?.quota.histories??[]).filter(e=>!e.model_scoped),i=t?.account_scopes;return n.map(e=>{let t=r.filter(t=>t.account_key===e.accountKey),n=t.find(e=>e.window_minutes===10080)??t[0],a=n?.forecast,o=n!=null&&Yi(i?.[e.accountKey]?.quota).has(n.key),s=o&&a?.status===`ok`?a.projected_percent:null;return{accountKey:e.accountKey,label:e.label,unattributed:e.unattributed===!0,projected:s,current:o?a?.current_percent??n?.current_percent??null:null,confidence:o?a?.confidence??null:null,status:o?a?.status??null:null,verdict:s==null?null:s>=100?`capped`:s>=90?`cap`:`ok`}})}function Qi(e){if(e==null)return{state:`not_configured`,disposition:`provider_budget_unset`};let t=e.status;if(t!=null)return{state:`configured`,status:t};let n=e.status_unavailable;if(n!=null)return{state:`unavailable`,reason:n.code,unavailable:n};let r=e.not_configured;return r==null?{state:`not_configured`,disposition:`provider_budget_unset`}:{state:`not_configured`,disposition:r.disposition,...r.account_key==null?{}:{accountKey:r.account_key},...r.configured_accounts==null?{}:{configuredAccounts:r.configured_accounts}}}function $i(e,t){let n=Fi(e,t);return{selection:t,sections:Ai(t).map(t=>{let r=t===`claude`?n.claude:n.codex;return ki(e,t,r==null?null:Qi(r.budget),[`budget`],[],`${Di(t)} budget is unavailable.`)})}}function ea(e,t){return{selection:t,sections:Ai(t).map(t=>{let n=Xi(e,t),r=((t===`codex`?Fi(e,t).codex:null)?.quota.histories??[]).filter(e=>!e.model_scoped),i=r.find(e=>e.window_minutes===10080)?.forecast??r[0]?.forecast,a=ki(e,t,(t===`claude`?(e?.forecast??e?.sources?.claude?.data?.hero.forecast)!=null:r.some(e=>e.forecast!=null))?n:null,t===`claude`?[`hero`,`quota`,`budget`]:[`quota`,`budget`],t===`claude`?[`hero`,`quota`]:[`quota`],`${Di(t)} forecast is unavailable.`);if(t===`codex`&&a.value!=null&&i?.status!==`ok`){let e=i?.status===`stale`?`Codex forecast is stale.`:i?.status===`insufficient-history`?`Codex forecast needs more history.`:`Codex forecast is unavailable.`;return{...a,status:`degraded`,reason:e}}return a})}}function ta(e){return e.codex?.projects.rows.map(e=>({key:e.key,source:`codex`,label:e.label,cost:e.cost_usd,pct:null,sessionsCount:e.session_count,firstSeenAt:e.first_seen,lastSeenAt:e.last_seen,drillable:!0}))??[]}function na(e){let t=e.reduce((e,t)=>e+t.cost,0);return e.slice().sort((e,t)=>t.cost-e.cost).map(e=>({...e,pct:t>0?e.cost/t*100:null}))}function ra(e,t){let n=Fi(e,t);if(t===`claude`)return e?.projects==null?{state:`unavailable`}:{state:`available`,range:null,qualifications:[],rows:(e.projects.current_week.rows??[]).map(e=>({key:e.key,source:`claude`,label:e.key,cost:e.cost_usd??0,pct:e.attributed_pct??null,sessionsCount:e.sessions_count??0,firstSeenAt:null,lastSeenAt:null,drillable:!0}))};if(t===`codex`)return n.codex?.projects==null?{state:`unavailable`}:{state:`available`,range:Pi(e),qualifications:[],rows:na(ta(n))};let r=Ni(e,`projects`);if(`withheld`in r)return r.withheld;let i=n.claude?.projects.aggregate?.rows,a=n.codex?.projects;if(i==null||a==null)return ji;let o=i.map(e=>({key:e.key,source:`claude`,label:e.label,cost:e.cost_usd,pct:null,sessionsCount:e.sessions_count,firstSeenAt:null,lastSeenAt:null,drillable:e.drillable===!0}));return{state:`available`,range:Pi(e),qualifications:r.available,rows:na([...o,...ta(n)])}}function ia(e){return{key:e.key,source:`codex`,accountKey:e.account_key??null,start_at:e.start_at,end_at:e.end_at,anchor:`recorded`,is_active:e.is_active,cost_usd:e.cost_usd,models:Li(e.cost_usd,e.model_breakdowns),label:e.label,value:e.cost_usd,valueLabel:`$${e.cost_usd.toFixed(2)}`}}function aa(e,t){let n=Fi(e,t),r=((t===`claude`?e?.blocks?.rows:n.claude?.quota.blocks)??[]).map((e,t)=>({...e,key:`key`in e&&typeof e.key==`string`?e.key:`claude:${e.start_at}:${t}`,source:`claude`,facts_source:e.facts_source??`computed`,value:e.cost_usd,valueLabel:`$${e.cost_usd.toFixed(2)}`})),i=(n.codex?.quota.blocks??[]).filter(e=>e.window_minutes===300).map(ia);return t===`claude`?r:t===`codex`?i:[...r,...i].sort((e,t)=>{let n=Date.parse(e.start_at),r=Date.parse(t.start_at),i=(Number.isNaN(r)?0:r)-(Number.isNaN(n)?0:n);return i===0?e.source===t.source?e.key<t.key?-1:+(e.key>t.key):e.source<t.source?-1:1:i})}function oa(e){return[`claude`,`codex`].map(t=>{let n=e.filter(e=>e.source===t);return{source:t,label:Di(t),count:n.length,cost:n.reduce((e,t)=>e+t.value,0)}})}function sa(e){let t=null,n=null,r=1/0,i=-1/0;for(let a of e){let e=Date.parse(a.start_at),o=Date.parse(a.end_at);!Number.isNaN(e)&&e<r&&(r=e,t=a.start_at),!Number.isNaN(o)&&o>i&&(i=o,n=a.end_at)}return t==null||n==null?null:{startAt:t,endAt:n}}function ca(e,t){return{selection:t,sections:Ai(t).map(t=>{let n=ki(e,t,t===`claude`?e?.cache_report??null:Fi(e,t).codex?.cache_report??null,[`forensics`],[`sessions`],`${Di(t)} cache report is unavailable.`);return n.value?.is_empty&&n.status===`available`?{...n,status:`empty`,value:null,reason:`No ${Di(t)} cache activity is available for this window.`}:n})}}function la({source:e}){return(0,W.jsx)(`span`,{className:`source-chip source-chip--${e}`,"data-source":e,children:e===`claude`?`Claude`:`Codex`})}function ua({gate:e}){let t=e.noSuccessYet?`no successful snapshot yet`:e.warning?.message??`degraded`,n=e.noSuccessYet?`no snapshot`:`partial`;return(0,W.jsx)(`span`,{className:`panel-degraded-chip`,role:`status`,title:t,"aria-label":`Degraded: ${t}`,children:n})}var da=10080*60*1e3,fa=10080*60*1e3,pa=300*60*1e3;function ma(e,t){return{available:!1,withheldReason:e,provider:null,accountKey:null,accountScope:null,costBasis:null,...t,windowStartMs:null,windowEndMs:null,windowGranularity:`instant`}}function ha(e,t,n,r=`instant`){return{available:!0,withheldReason:null,provider:null,accountKey:null,accountScope:null,costBasis:null,...n,windowStartMs:e,windowEndMs:t,windowGranularity:r}}function ga(e){if(typeof e!=`string`||e.trim()===``)return null;let t=e.trim(),n=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?$/.test(t),r=Date.parse(n?`${t}Z`:t);return Number.isFinite(r)?r:null}function _a(e){if(typeof e!=`string`||!/^\d{4}-\d{2}-\d{2}$/.test(e.trim()))return null;let t=Date.parse(`${e.trim()}T00:00:00Z`);return Number.isFinite(t)?t:null}function va(e){return typeof e!=`number`||!Number.isFinite(e)?null:Math.trunc(e)*1e3}function X(e){let t=new Date(e),n=t.getUTCFullYear()+ +(t.getUTCMonth()===11),r=(t.getUTCMonth()+1)%12;for(let e=t.getUTCDate();e>1;--e){let i=Date.UTC(n,r,e,t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds());if(new Date(i).getUTCMonth()===r)return i}return Date.UTC(n,r,1,t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds())}function ya(e,t){return t==null?null:e===`subscription-week`?t+da:e===`calendar-week`?t+fa:e===`calendar-month`?X(t):null}function ba(e){if(e==null)return null;let t=String(e).trim();return t===``?null:t}function xa(e){return e===`*`?`vendor_wide`:`account`}function Sa(e,t){let n=ga(e.week_start_at),r=`instant`;n??(n=_a(e.week_start_date),r=`day`);let i={provider:`claude`,accountKey:t,accountScope:xa(t),costBasis:`cumulative_cost_usd`};return n==null?ma(`the weekly alert retains no week start, so its window cannot be derived`,i):ha(n,n+da,i,r)}function Ca(e,t){let n={provider:`claude`,accountKey:t,accountScope:xa(t),costBasis:`block_cost_usd`},r=ga(e.block_start_at);if(r!=null)return ha(r,r+pa,n);let i=va(e.five_hour_window_key);return i==null?ma(`the five-hour alert retains no block start, so its window cannot be derived`,n):ha(i-pa,i,n)}function wa(e,t,n,r){let i=e.period??r??void 0,a=ga(e.period_start_at)??ga(e.week_start_at),o={provider:n,accountKey:t,accountScope:xa(t),costBasis:`spent_usd`};if(a==null)return ma(`the budget alert retains no period start, so its window cannot be derived`,o);let s=ya(i,a);return s==null?ma(`the budget alert names no derivable period (got ${JSON.stringify(i??null)})`,o):ha(a,s,o)}function Ta(e,t){let n=e.period??`subscription-week`,r=ga(e.week_start_at)??ga(e.period_start_at),i={provider:`claude`,accountKey:t,accountScope:`vendor_wide`,costBasis:`spent_usd`};if(r==null)return ma(`the project-budget alert retains no window start, so its window cannot be derived`,i);let a=ya(n,r);return a==null?ma(`the project-budget alert names no derivable period (got ${JSON.stringify(n)})`,i):ha(r,a,i)}function Ea(e,t){let n=e.metric,r={provider:n===`codex_budget_usd`?`codex`:`claude`,accountKey:t,accountScope:xa(t),costBasis:n===`weekly_pct`?null:`projected_value`},i=ga(e.week_start_at)??ga(e.period_start_at);if(i==null)return ma(`the projected alert retains no period start, so its window cannot be derived`,r);let a=ya(e.period??(n===`weekly_pct`?`subscription-week`:void 0),i);return a==null?ma(`the projected alert retains no period for metric ${JSON.stringify(n??null)}, so its window length is unknown`,r):ha(i,a,r)}var Da={weekly:Sa,five_hour:Ca,budget:(e,t)=>wa(e,t,`claude`,`subscription-week`),codex_budget:(e,t)=>wa(e,t,`codex`,null),project_budget:Ta,projected:Ea};function Oa(e,t,n){let r=t??{},i=Da[e];return i==null?ma(`unknown alert axis: ${JSON.stringify(e)}`,{}):i(r,ba(n))}function ka(e){return Oa(e.axis,e.context,e.accountKey)}function Aa(e,t){if(!e.available||e.windowStartMs==null||e.windowEndMs==null)return!1;let n=t.getTime();return n>=e.windowStartMs&&n<e.windowEndMs}function ja(e){let t=ga(e?.generated_at);return t==null?new Date:new Date(t)}var Ma=`The window this alert describes has closed. The dashboard can only show the live one, so it is not opened here.`,Na=`This alert recorded no five-hour block start, so the dashboard cannot tell which block to open.`,Pa=`This alert is stamped vendor-wide across accounts, so it cannot be narrowed to one account’s projects.`,Fa=`The dashboard publishes no calendar-week view, so this budget period cannot be opened.`,Ia=`The live week on this dashboard is not the week this alert describes, so it is not opened here.`,La=`This alert retains no project identity, so its project cannot be opened.`,Ra=`Explain this window`;function za(e){return{available:!1,withheldReason:e,target:null,explainTarget:null}}function Ba(e){return{available:!0,withheldReason:null,explainTarget:null,target:{...e,accountKey:null,windowStartAt:null,windowEndAt:null,alertFiredAt:null}}}function Va(e,t){return!e.available||e.windowStartMs==null||e.windowEndMs==null?null:{source:t,modal:`explain`,label:Ra,accountKey:null,windowStartAt:null,windowEndAt:null,alertFiredAt:null}}function Ha(e){return ga(e?.current_week?.reset_at_utc??null)}function Ua(e,t,n,r){let i=Ha(t);return i!=null&&e.windowEndMs!=null&&Math.abs(i-e.windowEndMs)>6e4?za(Ia):Ba({source:n,modal:`current-week`,label:r})}function Wa(e,t,n,r){let i=n.context.period??(r===`claude`?`subscription-week`:void 0);return i===`subscription-week`?Ua(e,t,r,r===`codex`?`Open this cycle`:`Open this week`):i===`calendar-month`?Ba({source:r,modal:`monthly`,label:`Open this month`}):za(Fa)}function Ga(e,t,n){let r=ka(e);return Ka(Ya(e,t,n,r),e,r)}function Ka(e,t,n){let r=e=>e==null?null:{...e,accountKey:n.accountKey===`*`?null:n.accountKey,windowStartAt:qa(n.windowStartMs),windowEndAt:qa(n.windowEndMs),alertFiredAt:Ja(t)};return{...e,target:r(e.target),explainTarget:e.available?null:r(Va(n,Xa(t,n)))}}function qa(e){return e==null?null:new Date(e).toISOString()}function Ja(e){let t=e.alerted_at;return typeof t==`string`&&t.trim()!==``?t:null}function Ya(e,t,n,r){if(!r.available)return za(r.withheldReason??`The window this alert describes has closed. The dashboard can only show the live one, so it is not opened here.`);if(e.axis===`five_hour`){let t=e.context.block_start_at;return typeof t!=`string`||t.trim()===``?za(Na):Ba({source:`claude`,modal:`block`,blockStartAt:t,label:`Open this block`})}if(!Aa(r,n))return za(Ma);if(e.axis===`weekly`)return Ua(r,t,`claude`,`Open this week`);if(e.axis===`budget`)return Wa(r,t,e,`claude`);if(e.axis===`codex_budget`)return Wa(r,t,e,`codex`);if(e.axis===`projected`)return Ba({source:r.provider??`claude`,modal:`forecast`,label:`Open the forecast`});if(e.accountKey===`*`)return za(Pa);let i=e.context.project_key;return typeof i!=`string`||i.trim()===``?za(La):Ba({source:`claude`,modal:`projects`,projectKey:i,label:`Open this project`})}function Xa(e,t){return e.axis===`codex_budget`?`codex`:t.provider??`claude`}function Za(e,t){return t===e.source?null:e.source}function Qa(e){let t=Za(e,R().activeSource);t!=null&&I({type:`SET_ACTIVE_SOURCE`,source:t}),I({type:`OPEN_MODAL`,kind:e.modal,...e.blockStartAt==null?{}:{blockStartAt:e.blockStartAt},...e.projectKey==null?{}:{projectKey:e.projectKey},accountKey:e.accountKey,windowStartAt:e.windowStartAt,windowEndAt:e.windowEndAt,alertFiredAt:e.alertFiredAt})}var $a={claude:`cctally budget set <amount>`,codex:`cctally budget set <amount> --vendor codex`},eo=`No budget set.`,to=`No provider-wide budget set.`,no=`No budget set for this account.`,ro={ok:`good`,warn:`warn`,over:`over`};function io({source:e,disposition:t,accountKey:n,configuredAccounts:r}){if(t===`account_budgets_only`)return(0,W.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:to}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,children:`Per-account budgets are configured — see the account cards.`})]});if(t===`account_budget_unset`&&n!=null){let t={...r??{},[n]:30},i=`cctally config set budget.codex.accounts '${JSON.stringify(t)}'`;return(0,W.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:no}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,children:`Edit the per-account budget map for this key:`}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,children:(0,W.jsx)(`code`,{className:`budget-empty-cmd`,children:i})})]})}return t===`provider_budget_unset`?(0,W.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:eo}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,children:(0,W.jsx)(`code`,{className:`budget-empty-cmd`,children:$a[e]})})]}):(0,W.jsx)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:`No budget status to show.`})})}function ao({source:e,presentation:t,detailed:n}){let{reason:r,unavailable:i}=t,a=r===`period_unresolved`?`Budget period not resolved yet, so no status is published.`:r===`budget_compute_failed`?`Budget status could not be computed.`:`Budget status is unavailable.`,o=i.budget_usd,s=i.period;return(0,W.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-unavailable-${e}`,children:[o!=null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`budget-figures`,children:[(0,W.jsx)(`span`,{className:`budget-target is-lone`,"data-testid":`budget-target-${e}`,children:n?B.usd2(o):B.usd0(o)}),(0,W.jsx)(`span`,{className:`budget-of`,children:`configured`}),s!=null&&(0,W.jsx)(`span`,{className:`budget-period-chip`,"data-testid":`budget-period-${e}`,children:s})]}),(0,W.jsx)(`div`,{className:`budget-window-unresolved`,"data-testid":`budget-window-${e}`,children:`window unresolved`})]}),(0,W.jsx)(`p`,{className:`budget-empty-copy`,children:a}),i.message!==``&&(0,W.jsx)(`p`,{className:`budget-empty-hint`,"data-testid":`budget-message-${e}`,children:i.message}),(0,W.jsx)(`p`,{className:`budget-empty-hint`,"data-testid":`budget-reason-${e}`,children:r})]})}function oo({source:e,status:t,env:n}){if(t.verdict!==`warn`&&t.verdict!==`over`)return null;let r=Ga({id:``,axis:e===`codex`?`codex_budget`:`budget`,threshold:0,crossed_at:``,alerted_at:``,context:{period:t.period,period_start_at:t.window_start_at}},n,ja(n));if(!r.available||r.target==null){let t=r.explainTarget;return(0,W.jsxs)(`span`,{className:`alert-row-unresolved`,children:[(0,W.jsx)(`span`,{className:`alert-row-withheld`,"data-testid":`budget-withheld-${e}`,children:r.withheldReason}),t==null?null:(0,W.jsx)(`button`,{type:`button`,className:`alert-row-explain`,"data-testid":`budget-explain-window-${e}`,onClick:e=>{e.stopPropagation(),Qa(t)},children:t.label})]})}let i=r.target;return(0,W.jsx)(`button`,{type:`button`,className:`alert-row-open budget-explain`,"data-testid":`budget-explain-${e}`,onClick:e=>{e.stopPropagation(),Qa(i)},children:i.label})}function so({source:e,presentation:t,detailed:n,ctx:r,env:i}){let a=t.status,o=ro[a.verdict]??`good`,s=Math.min(100,Math.max(0,a.consumption_pct));return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`budget-figures`,children:[(0,W.jsx)(`span`,{className:`budget-spend`,"data-testid":`budget-spend-${e}`,children:n?B.usd2(a.spent_usd):B.usd0(a.spent_usd)}),(0,W.jsx)(`span`,{className:`budget-of`,children:`of`}),(0,W.jsx)(`span`,{className:`budget-target`,"data-testid":`budget-target-${e}`,children:n?B.usd2(a.budget_usd):B.usd0(a.budget_usd)}),(0,W.jsx)(`span`,{className:`budget-period-chip`,"data-testid":`budget-period-${e}`,children:a.period})]}),(0,W.jsx)(`div`,{className:`budget-bar is-${o}`,role:`presentation`,children:(0,W.jsx)(`div`,{className:`budget-bar-fill`,style:{width:`${s}%`}})}),(0,W.jsxs)(`div`,{className:`budget-verdict-line`,children:[(0,W.jsx)(`span`,{className:`budget-consumption`,"data-testid":`budget-consumption-${e}`,children:n?B.pct1(a.consumption_pct):B.pct0(a.consumption_pct)}),(0,W.jsx)(`span`,{className:`budget-verdict-chip is-${o}`,"data-testid":`budget-verdict-${e}`,children:a.verdict}),a.low_confidence&&(0,W.jsx)(`span`,{className:`budget-lowconf`,"data-testid":`budget-lowconf-${e}`,children:`low confidence`}),(0,W.jsx)(oo,{source:e,status:a,env:i})]}),(0,W.jsxs)(`div`,{className:`fc-budget-foot budget-foot`,children:[(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Budget pace`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-pace-${e}`,children:B.usd2PerDay(a.pace.daily_usd)})]}),n&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Remaining`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:B.usd2Accounting(a.remaining_usd)})]}),(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Projection`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-projection-${e}`,children:a.pace.projected_low_usd==null||a.pace.projected_high_usd==null?`—`:`${B.usd2(a.pace.projected_low_usd)} – ${B.usd2(a.pace.projected_high_usd)}`})]}),(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Recent-24h`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:B.usd2(a.recent_24h_usd)})]}),(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Alert thresholds`}),(0,W.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-thresholds-${e}`,children:a.alert_thresholds.length===0?`—`:a.alert_thresholds.map(e=>`${e}%`).join(` · `)})]}),(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:`Period`}),(0,W.jsxs)(`span`,{className:`fc-foot-v`,"data-testid":`budget-window-${e}`,children:[B.datetimeShort(a.window_start_at,r),` → `,B.datetimeShort(a.window_end_at,r)]})]})]})]})]})}function co({section:e,surface:t,ctx:n,env:r=null}){let i=`budget-${t}-${e.source}-heading`,a=e.value;return(0,W.jsxs)(`div`,{className:`source-provider-section provider-summary-card budget-provider-summary`,"data-budget-section":e.source,"data-surface":t,role:`region`,"aria-labelledby":i,children:[(0,W.jsxs)(`div`,{className:`source-provider-head`,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:i,children:[e.label,` budget`]}),(0,W.jsx)(la,{source:e.source}),(0,W.jsx)(`strong`,{className:`budget-block-title`,children:`Budget`}),e.status!==`available`&&a==null&&(0,W.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),a==null?(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}):a.state===`configured`?(0,W.jsx)(so,{source:e.source,presentation:a,detailed:t===`modal`,ctx:n,env:r}):a.state===`not_configured`?(0,W.jsx)(io,{source:e.source,disposition:a.disposition,accountKey:a.accountKey,configuredAccounts:a.configuredAccounts}):(0,W.jsx)(ao,{source:e.source,presentation:a,detailed:t===`modal`}),a!=null&&e.reason!=null&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason})]})}function lo({env:e,selection:t,surface:n}){let r=Vn(),i={tz:r.resolvedTz,offsetLabel:r.offsetLabel};return(0,W.jsx)(W.Fragment,{children:$i(e,t).sections.map(t=>(0,W.jsx)(co,{section:t,surface:n,ctx:i,env:e},t.source))})}function uo(e){let t=(e??``).trim();return t?t.replace(/-/g,` `):``}function fo(e,t){return e?.short?e.short:uo(t)}function po(e,t){return e?.long?e.long:uo(t)}function mo(e,t){return e?.short?e.short:uo(t)}function ho(e,t){return e?.long?e.long:uo(t)}function go(e,t){if(e==null||t==null||!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0)return null;let n=(t-e)/e*100,r=n<0?`less`:`more`;return`each meter point now covers ${Math.abs(n).toFixed(0)}% ${r} usage`}function _o(e){let t=e?.forecast?.quota??null;return t==null||t.basis==null?null:t.basis===`withheld`?{label:`Basis`,value:fo(t.code_presentation,t.code)||`withheld`}:{label:`Basis`,value:mo(t.basis_presentation,t.basis)}}function vo(){return(0,W.jsx)(`span`,{className:`hero-per-account-value`,"data-testid":`forecast-per-account`,title:`Each Codex account has its own quota cycle — independent forecasts are never blended.`,children:`per account`})}function yo({section:e,perAccount:t,env:n}){let r=e.value==null,i=e.value??Xi(n,e.source),a=t||r?null:Un(i.verdict),o=a?.cls??`good`,s=t?i.foot.filter(e=>e.label!==`Confidence`):i.foot;return(0,W.jsxs)(`div`,{className:`source-provider-section provider-summary-card forecast-provider-summary`,"data-provider-section":e.source,role:`region`,"aria-labelledby":`forecast-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head`,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`forecast-panel-${e.source}-heading`,children:[e.label,` forecast`]}),(0,W.jsx)(la,{source:e.source}),e.status!==`available`&&!t&&!r&&(0,W.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),(0,W.jsxs)(`div`,{className:`provider-summary-kpis`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`provider-summary-label`,children:i.primaryLabel}),(0,W.jsx)(`strong`,{className:`provider-summary-value is-${o}`,children:t?(0,W.jsx)(vo,{}):o===`over`&&i.projected!=null?`≥100%`:B.pct1(i.projected)})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`provider-summary-label`,children:t?`Current quota`:i.recentLabel}),(0,W.jsx)(`strong`,{className:`provider-summary-value`,children:t?(0,W.jsx)(vo,{}):B.pct1(i.recent)})]})]}),a&&(0,W.jsxs)(`span`,{className:`fc-verdict-chip is-${o}`,children:[(0,W.jsx)(`span`,{className:`fc-verdict-glyph`,"aria-hidden":`true`,children:a.glyph}),` `,a.label]}),e.reason&&!t&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}),s.length>0&&(0,W.jsx)(`div`,{className:`fc-budget-foot`,children:s.map(e=>(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:e.label}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:e.value})]},e.label))})]})}function bo(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=Nn(t,Mn(t)),r=ea(e,t),i=t===`all`?v(e?.sources?.codex??null)!=null&&n.accountKey==null:n.scopesSupported&&n.accountKey==null;if(t===`all`)return(0,W.jsxs)(`section`,{className:`panel accent-purple fc-tile`,id:`panel-forecast`,role:`region`,"aria-label":`Forecast panel · Claude and Codex`,"data-panel-kind":`forecast`,"data-source":`all`,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`forecast`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,W.jsxs)(`h2`,{children:[`Forecast `,(0,W.jsx)(`span`,{className:`sub`,children:`by provider`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>I(j(`forecast`,`forecast-panel`))}),(0,W.jsx)($r,{label:`Forecast`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`forecast`})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`panel-body source-all-sections provider-composition provider-composition--panel`,children:[r.sections.map(t=>(0,W.jsx)(yo,{section:t,env:e,perAccount:t.source===`codex`&&i},t.source)),(0,W.jsx)(lo,{env:e,selection:`all`,surface:`panel`})]})]});let a=Xi(e,t),o=r.sections[0]??null,s=o==null||o.value==null,c=t===`codex`&&i,l=c?null:Un(a.verdict),u=l?.cls??`good`,d=!!l?.warn,f=u===`over`&&a.projected!=null?`≥100%`:B.pct1(a.projected),p=_o(e),m=e?.forecast?.quota?.rate_change??null,h=m?.active===!0;return(0,W.jsxs)(`section`,{className:`panel accent-purple fc-tile fc-esc-${u}${d?` fc-accent-edge`:``}`,id:`panel-forecast`,role:`region`,"aria-label":`Forecast panel`,"data-panel-kind":`forecast`,"data-source":t,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`forecast`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,W.jsx)(`h2`,{children:`Forecast`}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>I(j(`forecast`,`forecast-panel`))}),(0,W.jsx)($r,{label:`Forecast`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`forecast`})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`panel-body fc-body`,children:[(0,W.jsxs)(`div`,{className:`fc-hero`,children:[(0,W.jsx)(`div`,{className:`fc-eyebrow`,children:a.primaryLabel}),(0,W.jsx)(`div`,{className:`fc-num is-${u}${c?` is-blank`:``}`,children:c?(0,W.jsx)(vo,{}):f}),(l||o!=null&&o.status!==`available`&&!c&&!s||h)&&(0,W.jsxs)(`div`,{className:`fc-chiprow`,children:[l&&(0,W.jsxs)(`span`,{className:`fc-verdict-chip is-${u}`,children:[(0,W.jsx)(`span`,{className:`fc-verdict-glyph`,"aria-hidden":`true`,children:l.glyph}),` `,l.label]}),o!=null&&o.status!==`available`&&!c&&!s&&(0,W.jsx)(`span`,{className:`provider-section-status`,children:o.status}),h&&(0,W.jsx)(`span`,{className:`fc-rate-chip severity-${m?.severity??`warn`}`,"data-testid":`fc-rate-change-chip`,title:`The provider changed how much work one meter point buys. Open this panel for the detail.`,children:`Δ rate`})]})]}),o?.reason&&!c&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:o.reason}),(0,W.jsx)(`div`,{className:`fc-pace is-${u}`,role:`presentation`,children:(0,W.jsx)(`div`,{className:`fc-pace-fill`,style:{width:`${c?0:Math.min(100,Math.max(0,a.projected??0))}%`}})}),(0,W.jsxs)(`div`,{className:`fc-scroll`,children:[(0,W.jsxs)(`div`,{className:`fc-budget-foot`,children:[(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:c?`Current quota`:a.recentLabel}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:c?(0,W.jsx)(vo,{}):B.pct1(a.recent)})]}),(c?a.foot.filter(e=>e.label!==`Confidence`):a.foot).map(e=>(0,W.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:e.label}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:e.value})]},e.label)),p&&!c&&(0,W.jsxs)(`div`,{className:`fc-foot-line`,"data-testid":`fc-basis-line`,children:[(0,W.jsx)(`span`,{className:`fc-foot-k`,children:p.label}),(0,W.jsx)(`span`,{className:`fc-foot-v`,children:p.value})]})]}),(0,W.jsx)(`div`,{className:`fc-budget-block`,children:(0,W.jsx)(lo,{env:e,selection:t,surface:`panel`})})]})]})]})}var xo=`No $/1% for this week — the rate was not measured.`;function So({data:e}){let t=e.map(e=>e.dollar_per_pct==null),n=e.map(e=>e.spark_height??0),r=n.filter((e,n)=>!t[n]),i=Math.max(1,...r);return(0,W.jsx)(W.Fragment,{children:n.map((r,a)=>{let o=a===n.length-1;if(t[a])return(0,W.jsx)(`div`,{className:`bar is-withheld`,title:xo},e[a].label+`|`+a);let s={height:`${Math.max(6,r/i*100)}%`};return o&&(s.background=`color-mix(in srgb, var(--accent-purple) 70%, white 30%)`),(0,W.jsx)(`div`,{className:`bar`,style:s},e[a].label+`|`+a)})})}function Co(e,t){return!e||!t?`↕`:t===`asc`?`▲`:`▼`}function wo(e,t){return!e||!t?`none`:t===`asc`?`ascending`:`descending`}function To({columns:e,override:t,onChange:n,accentVar:r,grid:i}){let a=e=>n(f(t,e)),o=e=>t=>{t.stopPropagation(),a(e)},s=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),a(e))};return(0,W.jsx)(`thead`,{role:i?`rowgroup`:void 0,children:(0,W.jsx)(`tr`,{role:i?`row`:void 0,children:e.map(e=>{if(e.sortable===!1)return(0,W.jsx)(`th`,{className:[`th-static`,e.className??``,e.numeric?`num`:``].filter(Boolean).join(` `),role:i?`columnheader`:void 0,"data-col":e.id,title:e.title,children:e.label},e.id);let n=t?.column===e.id,a=n?t.direction:null,c=[`th-sortable`,e.className??``,e.numeric?`num`:``,n?`is-sorted`:``].filter(Boolean).join(` `),l=r&&n?{"--th-accent":`var(${r})`}:void 0;return(0,W.jsx)(`th`,{className:c,role:`columnheader`,"aria-sort":wo(n,a),tabIndex:0,"data-col":e.id,title:e.title,style:l,onClick:o(e),onKeyDown:s(e),children:(0,W.jsxs)(`button`,{type:`button`,className:`th-sort-btn`,tabIndex:-1,children:[(0,W.jsx)(`span`,{className:`th-label`,children:e.label}),(0,W.jsx)(`span`,{className:`th-caret`+(n?``:` th-caret--rest`),"aria-hidden":`true`,children:Co(n,a)})]})},e.id)})})})}function Eo({lines:e=3,label:t=`Loading`}){return(0,W.jsxs)(`div`,{className:`panel-skeleton`,children:[(0,W.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:`${t}…`}),Array.from({length:e}).map((t,n)=>(0,W.jsx)(`div`,{className:`skel skel-line${n===e-1?` short`:``}`,"aria-hidden":`true`},n))]})}var Do=[{id:`week`,label:`Week`,defaultDirection:`desc`,compare:(e,t)=>e._chronoIdx-t._chronoIdx,className:`c-week`},{id:`cost_usd`,label:`Cost`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.cost_usd??null,compare:(e,t)=>(e.cost_usd??0)-(t.cost_usd??0),className:`c-cost`},{id:`used_pct`,label:`Used%`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.used_pct??0)-(t.used_pct??0),className:`c-used`},{id:`dollar_per_pct`,label:`$/1%`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.dollar_per_pct??0)-(t.dollar_per_pct??0),className:`c-dollar`},{id:`delta`,label:`Δ (vs prior)`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.delta??0)-(t.delta??0),className:`c-delta`}],Oo=Do.map(e=>e.id===`week`?{...e,label:`Cycle`}:e);function ko(e){return e===`week`?Do:Oo}function Ao({labels:e}){return!e||e.length===0?null:(0,W.jsx)(`span`,{className:`period-account-chips`,"aria-label":`Accounts: ${e.join(`, `)}`,children:e.map(e=>(0,W.jsx)(`span`,{className:`period-account-chip`,title:`Weekly cycle owned by ${e}`,children:e},e))})}var jo={week:ko(`week`).filter(e=>e.id!==`cost_usd`),cycle:ko(`cycle`).filter(e=>e.id!==`cost_usd`)};function Mo(e,t){if(e.length===0)return`$/1% trend: no data`;let n=e[e.length-1],r=e.length>1?e[e.length-2]:null,i=n.dollar_per_pct==null?`n/a`:B.usd2(n.dollar_per_pct),a=``;if(r&&n.dollar_per_pct!=null&&r.dollar_per_pct!=null){let e=n.dollar_per_pct-r.dollar_per_pct;a=Math.abs(e)<.005?`, flat vs prior ${t.unit}`:e>0?`, up vs prior ${t.unit}`:`, down vs prior ${t.unit}`}let o=e.length===1?t.unit:t.plural;return`$/1% trend over ${e.length} ${o}; latest ${i}${a}`}function No({section:e,trendOverride:t,composed:n}){let r=e.rows.map(e=>({...e,spark_height:e.dollar_per_pct})),i=Zn(e.source),a=r.map((e,t)=>({...e,_chronoIdx:t})),o=jo[i.unit],s=t?ne(a,o,t):a,c=Mo(r,i),l=n?`trend-spark-${e.source}`:`trend-spark`;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`trend-chart`,children:[(0,W.jsx)(`div`,{className:`trend-spark-title`,children:`$/1% trend:`}),(0,W.jsx)(`div`,{className:`trend-spark`,id:l,role:`img`,"aria-label":`${e.label} ${c}`,style:{gridTemplateColumns:`repeat(${Math.max(1,r.length)}, 1fr)`},children:(0,W.jsx)(So,{data:r})}),(0,W.jsxs)(`div`,{className:`trend-spark-legend`,"data-card-region-ignore":!0,children:[(0,W.jsx)(`span`,{children:`older`}),(0,W.jsx)(`span`,{className:`line`}),(0,W.jsx)(`span`,{children:`▶ newer`})]})]}),(0,W.jsx)(`div`,{className:`trend-table-wrap`,children:(0,W.jsxs)(`table`,{className:`trend-table`,children:[(0,W.jsx)(To,{columns:o,override:t,onChange:e=>I({type:`SET_TABLE_SORT`,table:`trend`,override:e}),accentVar:`--accent-amber`}),(0,W.jsx)(`tbody`,{id:n?`trend-rows-${e.source}`:`trend-rows`,children:s.map(t=>(0,W.jsxs)(`tr`,{className:t.is_current?`current`:void 0,children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(Ao,{labels:t.account_labels}),e.source===`codex`?$n(t.label,r.length-1-t._chronoIdx,i):t.label]}),(0,W.jsx)(`td`,{className:`num`,children:B.pct0(t.used_pct)}),(0,W.jsx)(`td`,{className:`num`+(t.is_current?``:` dollar`),children:B.usd2(t.dollar_per_pct)}),(0,W.jsx)(`td`,{className:`num `+B.deltaCls(t.delta,t.is_current),children:B.delta(t.delta)})]},`${e.source}:${t.week_start_at??t.label}`))})]})})]})}function Po(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=Ji(e,t),r=(0,U.useSyncExternalStore)(F,()=>R().prefs.trendSortOverride),i=n.sections.reduce((e,t)=>e+t.rows.length,0),a=Fi(e,t).hydrating&&i===0,o=n.sections[0],s=Zn(o?.source??`claude`),c=t===`all`?`(Claude ${n.sections[0]?.rows.length??0}c · Codex ${n.sections[1]?.rows.length??0}c)`:`(${Qn(o?.rows.length??0,s)})`;return(0,W.jsxs)(`section`,{className:`panel accent-amber`,id:`panel-trend`,role:`region`,"aria-label":`$/1% Trend panel`,"data-panel-kind":`trend`,"data-source":t,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`trend`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,W.jsx)(`h2`,{children:n.title}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`trend`,panelLabel:`Trend`,triggerId:`trend-panel`,onClick:()=>I(j(`trend`,`trend-panel`))}),(0,W.jsx)($r,{label:`Trend`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`trend`})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-range-note`,children:(0,W.jsx)(`span`,{className:`sub`,children:a?`(loading)`:c})}),(0,W.jsx)(`div`,{className:`panel-body`,children:e?.hydrating&&i===0?(0,W.jsx)(Eo,{}):t===`all`?(0,W.jsx)(`div`,{className:`source-all-sections provider-composition trend-provider-composition`,children:n.sections.map(e=>(0,W.jsxs)(`section`,{className:`provider-summary-card source-provider-section trend-provider-section`,"data-provider-section":e.source,"aria-labelledby":`trend-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,"data-card-region-ignore":!0,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`trend-panel-${e.source}-heading`,children:[e.label,` $ per 1% trend`]}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.label}),(0,W.jsx)(`span`,{className:`provider-summary-label`,children:Qn(e.rows.length,Zn(e.source))})]}),(0,W.jsx)(No,{section:e,trendOverride:r,composed:!0})]},e.source))}):o?(0,W.jsx)(No,{section:o,trendOverride:r,composed:!1}):null})]})}function Fo(e){let t=ve.findIndex(t=>t.key===e);return ve[(t===-1?0:t+1)%ve.length].key}function Io(){let e=(0,U.useSyncExternalStore)(F,()=>R().filterText),t=(0,U.useSyncExternalStore)(F,()=>R().searchText),n=(0,U.useSyncExternalStore)(F,()=>R().searchMatches),r=(0,U.useSyncExternalStore)(F,()=>R().searchIndex),i=(0,U.useSyncExternalStore)(F,()=>R().sessionsSort),a=(0,U.useSyncExternalStore)(F,()=>R().prefs.sessionsSortOverride),o=(0,U.useSyncExternalStore)(F,()=>R().activeSource)===`claude`,s=o?`filter project|model…`:`filter session|model…`,c=zn(),[l,u]=(0,U.useState)(!1),[d,f]=(0,U.useState)(!1),p=(0,U.useRef)(null),m=(0,U.useRef)(null),h=d||c,g=d||t.length>0,_=()=>u(!0),v=e=>{e?.clear&&I({type:`SET_FILTER`,text:``}),u(!1),I({type:`SET_INPUT_MODE`,mode:null})},y=()=>f(!0),b=e=>{e?.clear&&I({type:`SET_SEARCH`,text:``}),f(!1),I({type:`SET_INPUT_MODE`,mode:null})};(0,U.useEffect)(()=>{l&&(p.current?.focus(),p.current?.select(),I({type:`SET_INPUT_MODE`,mode:`filter`}))},[l]),(0,U.useEffect)(()=>{d&&(m.current?.focus(),m.current?.select(),I({type:`SET_INPUT_MODE`,mode:`search`}))},[d]),we([{key:`f`,scope:`sessions`,action:_,when:()=>!R().openModal&&!l&&R().chromeOverlayOpen===0},{key:`/`,scope:`sessions`,action:y,when:()=>!R().openModal&&!d&&R().chromeOverlayOpen===0}]);let x=n.length,S=x>0?`${r+1} / ${x}`:`0 / 0`,C=e=>{x!==0&&I({type:`SET_SEARCH_MATCHES`,matches:n,index:((r+e)%x+x)%x})};return(0,W.jsxs)(`div`,{className:`sessions-ctrls`,id:`sessions-ctrls`,children:[l?(0,W.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`filter-input`,placeholder:s,ref:p,value:e,onChange:e=>I({type:`SET_FILTER`,text:e.target.value}),onKeyDown:e=>{e.key===`Enter`?v():e.key===`Escape`&&v({clear:!0})},onBlur:()=>v()}):e?(0,W.jsxs)(`button`,{className:`ctrl-btn as-chip`,id:`filter-btn`,type:`button`,"aria-label":`Filter: ${e}. Press Esc to clear.`,onClick:e=>{if(e.target.classList.contains(`chip-x`)){I({type:`SET_FILTER`,text:``});return}_()},children:[(0,W.jsxs)(`span`,{className:`chip`,children:[`filter: `,e]}),(0,W.jsx)(`span`,{className:`chip-x`,title:`Clear`,children:`×`})]}):(0,W.jsx)(`button`,{className:`ctrl-btn`,id:`filter-btn`,type:`button`,title:`Filter (f)`,onClick:_,children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#funnel`})})}),h?(0,W.jsxs)(`div`,{className:`search-container`,id:`search-container`,children:[(0,W.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`search-input`,placeholder:`search…`,ref:m,value:t,onChange:e=>I({type:`SET_SEARCH`,text:e.target.value}),onFocus:()=>{d||f(!0)},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),C(1)):e.key===`Escape`&&b({clear:!0})},onBlur:()=>b()}),g&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`match-count`,id:`search-count`,children:S}),(0,W.jsx)(`button`,{className:`ctrl-btn`,id:`search-prev`,type:`button`,title:`Prev (N)`,onMouseDown:e=>e.preventDefault(),onClick:()=>C(-1),children:`↑`}),(0,W.jsx)(`button`,{className:`ctrl-btn`,id:`search-next`,type:`button`,title:`Next (n)`,onMouseDown:e=>e.preventDefault(),onClick:()=>C(1),children:`↓`})]})]}):(0,W.jsx)(`button`,{className:`ctrl-btn`,id:`search-btn`,type:`button`,title:`Search (/)`,onClick:y,children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#magnifier`})})}),o&&(0,W.jsxs)(`button`,{className:`ctrl-btn`,id:`sort-pill`,type:`button`,title:`Cycle sort`,onClick:()=>{R().prefs.sessionsSortOverride&&I({type:`SET_TABLE_SORT`,table:`sessions`,override:null}),I({type:`SET_SORT`,key:Fo(i)})},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#sort-updown`})}),(0,W.jsxs)(`span`,{className:`label`,children:[`sort: `,a?`${a.column} ${a.direction}`:i]})]})]})}function Lo({text:e,query:t}){let n=t.trim().toLowerCase();if(!n)return(0,W.jsx)(W.Fragment,{children:e});let r=e.toLowerCase(),i=[],a=0,o=0;for(;;){let t=r.indexOf(n,a);if(t===-1){a<e.length&&i.push((0,W.jsx)(U.Fragment,{children:e.slice(a)},o++));break}t>a&&i.push((0,W.jsx)(U.Fragment,{children:e.slice(a,t)},o++)),i.push((0,W.jsx)(`mark`,{children:e.slice(t,t+n.length)},o++)),a=t+n.length}return(0,W.jsx)(W.Fragment,{children:i})}function Ro(e,t){let{onRow:n,cellIdx:r,cellCount:i}=t;switch(e){case`ArrowDown`:return{kind:`row`,to:`next`};case`ArrowUp`:return{kind:`row`,to:`prev`};case`Home`:return{kind:`row`,to:`first`};case`End`:return{kind:`row`,to:`last`};case`ArrowRight`:return n?i>0?{kind:`cell`,to:0}:null:r<i-1?{kind:`cell`,to:r+1}:null;case`ArrowLeft`:return n?null:r>0?{kind:`cell`,to:r-1}:{kind:`rowFocus`};case`Enter`:case` `:return n?{kind:`activateRow`}:null;default:return null}}function zo(e){return e==null?`cost-none`:e<.25?`cost-xs`:e<1?`cost-low`:e<3?`cost-mid`:`cost-high`}function Bo(e,t){if(!(t>0)||!Number.isFinite(e))return 0;let n=e/t;return n<0?0:n>1?1:n}var Vo=`.sess-open-conv, .source-detail-open, .model-chip, .project-cell-link`;function Ho(){let e=(0,U.useSyncExternalStore)(F,()=>R().activeSource),t=jn(),n=Vn(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel};(0,U.useSyncExternalStore)(F,()=>R().filterText),(0,U.useSyncExternalStore)(F,()=>R().sessionsSort),(0,U.useSyncExternalStore)(F,()=>R().prefs.sessionsPerPage);let a=(0,U.useSyncExternalStore)(F,()=>R().sourceSessionsSort),o=(0,U.useSyncExternalStore)(F,()=>R().prefs.sessionsSortOverride),s=(0,U.useSyncExternalStore)(F,()=>R().searchMatches),c=(0,U.useSyncExternalStore)(F,()=>R().searchIndex),l=(0,U.useSyncExternalStore)(F,()=>R().searchText),u=(0,U.useSyncExternalStore)(F,()=>R().prefs.sessionsCollapsed),d=Nn(e,Mn(e)),f=d.accountKey!=null,p=d.requestedKey!=null&&!d.scopesSupported,h=zn(),g=e===`all`,_=C(t,e),v=yn(_),y=Ee(),b=ke(_),x=new Set(b.flatMap(e=>e.models)),S=x.size<=1,w=x.size===1?[...x][0]:null,T=i({includeSource:g,oneModel:S}),ee=e===`claude`?o:a,E=Tn(t),D=e===`claude`?t?.sessions?.total??y.length:e===`codex`?(_.entry?.data)?.sessions?.total_sessions??y.length:b.length,O=e===`claude`||g?`No sessions yet.`:`No Codex sessions yet.`,k=e===`claude`?`claude-sessions-table`:g?`source-sessions-table`:`codex-sessions-table`,[te,A]=(0,U.useState)(null),M=c>=0?s[c]:-1,ne=te?y.findIndex(e=>e.key===te):-1,re=y.length===0?-1:ne>=0?ne:M>=0?M:0,ie=new Set(s),N=M,ae=t=>{t.key&&(e===`claude`&&t.source===`claude`?I({type:`OPEN_MODAL`,kind:`session`,sessionId:t.key}):I({type:`OPEN_SOURCE_DETAIL`,source:t.source,resource:`session`,key:t.key}))},P=(0,U.useCallback)(t=>{if(t.shiftKey||t.ctrlKey||t.metaKey||t.altKey)return;let n=t.target,r=n.closest(`tr.source-session-row`);if(!r)return;let i=t.currentTarget,a=n===r,o=Array.from(r.querySelectorAll(Vo)),s=o.filter(e=>e.offsetParent!==null),c=s.length>0?s:o,l=a?-1:c.indexOf(n),u=Ro(t.key,{onRow:a,cellIdx:l,cellCount:c.length});if(!u)return;if(t.preventDefault(),t.stopPropagation(),u.kind===`cell`){c[u.to]?.focus();return}if(u.kind===`rowFocus`){r.focus();return}if(u.kind===`activateRow`){let t=r.dataset.detailSource,n=r.dataset.detailKey;(t===`claude`||t===`codex`)&&n&&I(e===`claude`&&t===`claude`?{type:`OPEN_MODAL`,kind:`session`,sessionId:n}:{type:`OPEN_SOURCE_DETAIL`,source:t,resource:`session`,key:n});return}let d=i.children.length;if(d===0)return;let f=Number(r.dataset.rowIndex),p=u.to===`next`?Math.min(f+1,d-1):u.to===`prev`?Math.max(f-1,0):u.to===`first`?0:d-1,m=i.children[p];m&&(m.focus(),m.scrollIntoView({block:`nearest`}),A(m.dataset.rowKey??null))},[e]),oe=v.mode===`skeleton`||e===`claude`&&!!t?.hydrating&&y.length===0;return(0,W.jsxs)(`section`,{className:`panel accent-orange`+(u?` sessions-collapsed`:``),id:`panel-sessions`,role:`region`,"aria-label":`Recent Sessions panel`,"data-panel-kind":`sessions`,"data-source":e,children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`panel-title-wrap`,style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,W.jsxs)(`h2`,{children:[`Recent Sessions `,(0,W.jsx)(`span`,{className:`sub`,children:oe?`(loading)`:e===`claude`?`(${D} total)`:`(${y.length} shown)`})]}),w&&(0,W.jsxs)(`span`,{className:`sess-model-caption`,title:`All sessions use ${w}`,children:[(0,W.jsx)(`span`,{className:`ms-dot ${xi(w)}`,style:Ci(w),"aria-hidden":`true`}),`all · `,w]}),v.mode===`degraded`&&(0,W.jsx)(ua,{gate:v}),f&&(0,W.jsxs)(`span`,{className:`sessions-account-note`,"data-testid":`sessions-account-note`,title:g?`Showing only ${d.card?.label??`this account`}'s Codex sessions. Claude sessions are not filtered by account.`:`Showing only ${d.card?.label??`this account`}'s sessions.`,children:[g?`Codex: `:``,m(d.card?.label??`focused account`),` only`]}),p&&(0,W.jsx)(`span`,{className:`sessions-unfiltered-note`,"data-testid":`sessions-unfiltered-note`,title:Mn(e)===`codex`?`Codex sessions are not filtered by account (this source published no account scopes).`:`Claude sessions are not filtered by account (conversations are account-agnostic).`,children:`all accounts (unfiltered)`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[!h&&(0,W.jsx)(Io,{}),(0,W.jsx)(Qr,{panel:`sessions`,panelLabel:`Sessions`,triggerId:`sessions-panel`,onClick:()=>I(j(`sessions`,`sessions-panel`))}),(0,W.jsx)($r,{label:`Sessions`,disabled:y.length===0,onOpen:()=>{let e=y[0];e&&ae(e)}}),(0,W.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!u,"aria-controls":`panel-sessions-body`,"aria-label":u?`Expand Recent Sessions`:`Collapse Recent Sessions`,title:u?`Expand (c)`:`Collapse (c)`,onClick:e=>{e.stopPropagation(),I({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!u}})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${u?`chevron-down`:`chevron-up`}`})})}),(0,W.jsx)(Jr,{})]})]}),g&&(0,W.jsx)(`div`,{className:`panel-range-note`,children:`both providers, interleaved`}),h&&(0,W.jsx)(Io,{}),(0,W.jsx)(`div`,{className:`panel-body panel-body--scroll`,id:`panel-sessions-body`,children:oe?(0,W.jsx)(Eo,{lines:4}):y.length===0?(0,W.jsx)(`div`,{className:`panel-empty`,"data-testid":`source-sessions-empty`,children:O}):(0,W.jsxs)(`table`,{className:`sess-table source-sess-table`,role:`grid`,"data-testid":k,children:[(0,W.jsx)(To,{columns:T,override:ee,grid:!0,onChange:t=>I(e===`claude`?{type:`SET_TABLE_SORT`,table:`sessions`,override:t}:{type:`SET_SOURCE_SESSIONS_SORT`,override:t})}),(0,W.jsx)(`tbody`,{id:`sess-rows`,role:`rowgroup`,onKeyDown:P,children:y.map((t,n)=>{let i=ie.has(n),a=n===N,o=t.title||`—`,s=t.recencyUtc?B.startedShort(t.recencyUtc,r,{noSuffix:!0}):`—`;return(0,W.jsxs)(`tr`,{className:`source-session-row session-row`+(i?` search-match`:``)+(a?` search-match-current`:``),role:`row`,tabIndex:n===re?0:-1,"aria-current":a?`true`:void 0,"data-row-index":n,"data-row-key":t.key,"data-session-id":e===`claude`?t.key:void 0,"data-detail-source":t.source,"data-detail-key":t.key,onClick:()=>ae(t),children:[(0,W.jsxs)(`td`,{className:`started recency`,role:`gridcell`,children:[E&&t.source===`claude`&&t.key&&(0,W.jsx)(`button`,{type:`button`,className:`sess-open-conv`,tabIndex:-1,title:`Open conversation`,"aria-label":`Open conversation`,onClick:e=>{e.stopPropagation(),I({type:`OPEN_CONVERSATION`,conversationRef:z(t.key)})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#file-text`})})}),(0,W.jsx)(Lo,{text:s,query:l}),(0,W.jsxs)(`span`,{className:`dur-fold`,children:[` · `,(0,W.jsx)(Lo,{text:t.durationMin==null?`—`:`${t.durationMin}m`,query:l})]})]}),(0,W.jsx)(`td`,{className:`dur`,role:`gridcell`,children:(0,W.jsx)(Lo,{text:t.durationMin==null?`—`:`${t.durationMin}m`,query:l})}),!S&&(0,W.jsx)(`td`,{className:`model model-chip-cell models`,role:`gridcell`,onClick:e=>e.stopPropagation(),children:t.models.length===0?(0,W.jsx)(`span`,{className:`src-model-empty`,"aria-hidden":`true`,children:`—`}):t.models.map(e=>(0,W.jsx)(`button`,{type:`button`,tabIndex:-1,className:`chip model-chip ${xi(e)}`,style:Ci(e),"aria-label":`Filter by ${e}`,onClick:()=>I({type:`SET_FILTER`,text:e}),children:(0,W.jsx)(Lo,{text:e,query:l})},e))}),(0,W.jsx)(`td`,{className:`session`,role:`gridcell`,title:t.title||void 0,children:t.key?(0,W.jsxs)(`button`,{type:`button`,className:`source-detail-open sess-open-title`,tabIndex:-1,"aria-label":e===`claude`?t.title?`Open session details: ${t.title}`:`Open session details, started ${s}`:`Open ${t.source} session details: ${o}`,onClick:e=>{e.stopPropagation(),ae(t)},children:[g&&(0,W.jsx)(la,{source:t.source}),t.title?(0,W.jsx)(Lo,{text:t.title,query:l}):(0,W.jsx)(`span`,{className:`sess-title-empty`,"aria-hidden":`true`,children:`—`})]}):t.title?(0,W.jsx)(Lo,{text:t.title,query:l}):(0,W.jsx)(`span`,{className:`sess-title-empty`,"aria-hidden":`true`,children:`—`})}),(0,W.jsx)(`td`,{className:`project`,role:`gridcell`,children:t.projectKey&&t.projectKey!==`(unknown)`?(0,W.jsx)(`button`,{type:`button`,className:`project-cell-link`,tabIndex:-1,title:t.project,"aria-label":e===`claude`?`Open Projects modal for ${t.projectKey}`:`Open ${t.source} project details: ${t.project}`,onClick:n=>{n.stopPropagation(),I(e===`claude`?{type:`OPEN_MODAL`,kind:`projects`,projectKey:t.projectKey??void 0}:{type:`OPEN_SOURCE_DETAIL`,source:t.source,resource:`project`,key:t.projectKey})},children:(0,W.jsx)(Lo,{text:t.project,query:l})}):(0,W.jsx)(`span`,{title:`Project still resolving`,children:(0,W.jsx)(Lo,{text:t.project,query:l})})}),(0,W.jsx)(`td`,{className:`num cache`,role:`gridcell`,children:t.cacheHitPct==null?`—`:B.pct0(t.cacheHitPct)}),(0,W.jsx)(`td`,{className:`num cost ${zo(t.costUsd)}`,role:`gridcell`,children:(0,W.jsx)(Lo,{text:B.usd2(t.costUsd),query:l})})]},t.key)})})]})})]})}function Uo(){return(0,W.jsx)(Ho,{})}function Wo(e,t){if(e==null||t==null)return null;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)||Number.isNaN(r)||r<=n?null:{startAt:new Date(n).toISOString(),endAt:new Date(r-1).toISOString()}}function Go(e,t,n={}){if(e==null)return null;let r=Ko(e,n.clampEndTo),i=qo(e.startAt,t),a=qo(r,t),o=i!=null&&a!=null&&i!==a?B.dateShortWithYear:B.dateShort,s=o(e.startAt,t),c=o(r,t);return s==null||c==null?null:s===c?s:`${s} – ${c}`}function Ko(e,t){if(t==null)return e.endAt;let n=typeof t==`number`?t:Date.parse(t),r=Date.parse(e.endAt),i=Date.parse(e.startAt);return Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)||n>=r?e.endAt:new Date(Math.max(n,i)).toISOString()}function qo(e,t){let n=B.dateShortWithYear(e,t);return n==null?null:n.slice(-4)}function Jo(e){return e===`codex`?`Codex`:e===`claude`?`Claude`:`A provider`}function Yo(e,t){switch(e.code){case`range_unresolved`:return`The shared range could not be resolved, so the combined ${t} is withheld.`;case`provider_unavailable`:return`${Jo(e.provider)} data is unavailable, so the combined ${t} is withheld.`;case`provider_incoherent`:return`${Jo(e.provider)} data is out of date, so the combined ${t} is withheld.`;case`claude_fold_failed`:return`Claude's totals for the shared range could not be computed, so the combined ${t} is withheld.`;case`retained_range_mismatch`:return`The two providers describe different ranges, so the combined ${t} is withheld.`;case`rows_absent`:return`This page is talking to a server that does not publish the combined ${t}. Reload to pick up the current one.`;default:return`The combined ${t} is withheld (${e.code}).`}}function Xo(e){switch(e){case`trailing_4wk_median_drifted`:return`One or more prior weeks were dropped from this median because their model mix sits outside the calibration’s support, so the rate is measured over a reduced population.`;case`trailing_4wk_median_unverified`:return`The comparability test could not read the entry store, so the prior weeks in this median were not checked against the current metering rate.`;default:return null}}function Zo(e){switch(e){case null:case void 0:case``:return null;case`unsupported-model-mix`:return`The calibration was withheld because the models in use sit outside the mix it was fitted over, so there is no fitted budget behind this change.`;default:return`The calibration was withheld (${e}), so there is no fitted budget behind this change.`}}function Qo(e){switch(e){case`no_usage_observed`:return`No quota usage has been observed in this window, so there is no rate to measure.`;case null:case void 0:case``:return`The $ / 1% rate is unavailable for this window.`;default:return`The $ / 1% rate is unavailable for this window (${e}).`}}var $o=(e,t)=>e<t?-1:+(e>t),es=[{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>$o(e.displayKey??e.key,t.displayKey??t.key),className:`project`},{id:`sessions`,label:`Sessions`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>e.sessionsCount-t.sessionsCount},{id:`first_seen`,label:`First seen`,defaultDirection:`asc`,nullKey:e=>e.firstSeenAt,compare:(e,t)=>$o(e.firstSeenAt,t.firstSeenAt),className:`started`},{id:`last_seen`,label:`Last seen`,defaultDirection:`desc`,nullKey:e=>e.lastSeenAt,compare:(e,t)=>$o(e.lastSeenAt,t.lastSeenAt),className:`started`},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>e.windowCost-t.windowCost},{id:`used_pct`,label:`Used pp (sum)`,title:`Sum of each billing cycle's attributed usage-% over the selected window (percentage-points; can exceed 100 across multiple cycles).`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.windowPct,compare:(e,t)=>e.windowPct-t.windowPct},{id:`share_of_window`,label:`Cost share`,title:`This project's share of total project spend in the selected window.`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.shareOfWindow,compare:(e,t)=>e.shareOfWindow-t.shareOfWindow}],ts=`Each selected window is a set of billing-cycle buckets, and a week that received a credit contributes one bucket per cycle. Reset shifts can leave gaps; the table and drill both use those same buckets. Used pp (sum) adds each bucket’s attributed usage percentage — a sum of percentage points, not a share of any one cycle. Cost share is each project’s share of total project spend in that same window.`,ns=`Claude accounts are folded into one ranking here. Each account has its own weekly quota, so those percentages are never added across accounts.`,rs=5,is=`Project metadata could not be read for this build; it will retry on the next refresh.`;function as(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=ra(e,t),r=n.state===`available`?n.rows:[],i=n.state===`unavailable`,a=e?.sources?.codex?.metadata_health?.state===`transient_read_failure`&&(t===`codex`||t===`all`),o=n.state===`withheld`?n:null,s=Vn(),c=n.state===`available`?n.range:null,l=Go(c==null?null:{startAt:c.start_at,endAt:c.end_at},{tz:s.resolvedTz,offsetLabel:s.offsetLabel},{clampEndTo:e?.generated_at}),u=t===`claude`?`share of quota`:`share of cost`,d=Fi(e,t).hydrating,f=dn(Fi(e,t).warnings,`projects`),p=d&&r.length===0,m=(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#folder`})}),(0,W.jsxs)(`h2`,{className:n.state===`available`&&!p?`has-count`:void 0,children:[`Projects`,` `,(0,W.jsx)(`span`,{className:`sub`,children:p?`(loading)`:o?`(withheld)`:i?`(unavailable)`:t===`claude`?`(${r.length} this week)`:`(${r.length} ${r.length===1?`project`:`projects`})`})]}),f&&(0,W.jsx)(ua,{gate:{mode:`degraded`,warning:f,noSuccessYet:!1}})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`projects`,panelLabel:`Projects`,triggerId:`projects-panel`,onClick:()=>I(j(`projects`,`projects-panel`))}),(0,W.jsx)($r,{label:`Projects`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`projects`})}),(0,W.jsx)(Jr,{})]})]});if(i||o)return(0,W.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,"data-source":t,role:`region`,"aria-label":`Projects panel`,children:[m,(0,W.jsx)(`div`,{className:`panel-body projects-body`,children:d?(0,W.jsx)(Eo,{}):o?(0,W.jsx)(`div`,{className:`panel-empty panel-withheld`,"data-withheld-code":o.code,children:Yo(o,`ranking`)}):(0,W.jsx)(`div`,{className:`panel-empty`,children:`Projects data unavailable — restart the dashboard.`})})]});let h=r.slice(0,rs),g=r.slice(rs),_=g.reduce((e,t)=>e+t.cost,0),v=g.reduce((e,t)=>e+(t.pct??0),0),y=h[0]?.cost||1,b=[l,t===`all`?`by provider`:null].filter(e=>e!=null),S=t===`claude`||b.length===0?null:(0,W.jsx)(`div`,{className:`panel-range-note`,children:b.join(` · `)}),C=t!==`codex`&&x(e,`claude`)?(0,W.jsx)(`div`,{className:`panel-range-note projects-merged-note`,children:ns}):null,w=()=>{I({type:`OPEN_MODAL`,kind:`projects`})},T=(e,n)=>{I(e===`claude`&&t===`claude`?{type:`OPEN_MODAL`,kind:`projects`,projectKey:n}:{type:`OPEN_SOURCE_DETAIL`,source:e,resource:`project`,key:n})},ee=(e,t)=>n=>{n.stopPropagation(),T(e,t)},E=e=>{let n=`${B.usd2(e.cost)}, ${e.pct==null?`no ${u}`:`${B.pct0(e.pct)} ${u}`}`;return t===`claude`?`Open Projects modal for ${e.key}: ${n}`:`Open ${e.source} project details: ${e.label}: ${n}`};return(0,W.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,"data-source":t,role:`region`,"aria-label":`Projects panel`,onClick:Yn(w),children:[m,S,C,(0,W.jsx)(`div`,{className:`panel-body projects-body`,children:r.length===0?d?(0,W.jsx)(Eo,{}):(0,W.jsx)(`div`,{className:`panel-empty`,"data-codex-metadata-transient":a?`true`:void 0,children:a?is:t===`claude`?`No project activity yet this week.`:l==null?`No project activity in this window.`:`No project activity in ${l}.`}):(0,W.jsxs)(W.Fragment,{children:[a?(0,W.jsx)(`div`,{className:`panel-range-note projects-metadata-note`,"data-codex-metadata-transient":`true`,children:is}):null,(0,W.jsxs)(`div`,{className:`projects-legend`,"data-card-region-ignore":!0,children:[`% = `,u]}),h.map(e=>{let n={"--w":`${e.cost/y*100}%`},r=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`name`,children:t===`all`?`${e.source===`claude`?`Claude`:`Codex`} · ${e.label}`:e.label}),(0,W.jsx)(`div`,{className:`lb-bar`,style:n,"aria-hidden":`true`}),(0,W.jsx)(`span`,{className:`cost`,children:B.usd2(e.cost)}),(0,W.jsxs)(`span`,{className:`pct`,children:[(0,W.jsx)(`span`,{className:`pct-value`,children:e.pct==null?`—`:B.pct0(e.pct)}),(0,W.jsx)(`span`,{className:`sr-only`,children:e.pct==null?` no ${u}`:` ${u}`})]})]});return e.drillable?(0,W.jsx)(`div`,{className:`projects-row`,"data-project-key":e.key,"data-drillable":`true`,role:`button`,tabIndex:0,"aria-label":E(e),onClick:ee(e.source,e.key),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),T(e.source,e.key))},title:e.label,children:r},e.key):(0,W.jsxs)(`div`,{className:`projects-row is-static`,"data-project-key":e.key,"data-drillable":`false`,"data-card-region-ignore":!0,title:`${e.label} — no detail view is available for this project in this range`,children:[r,(0,W.jsx)(`span`,{className:`projects-row-nodrill`,"data-nodrill-reason":!0,children:`no detail view for this range`})]},e.key)}),g.length>0&&(0,W.jsxs)(`div`,{className:`projects-row tail`,"aria-label":`${g.length} more projects`,"data-card-region-ignore":!0,children:[(0,W.jsxs)(`span`,{className:`name muted`,children:[`+`,g.length,` more`]}),(0,W.jsx)(`div`,{className:`lb-bar muted`,style:{"--w":`${_/y*100}%`},"aria-hidden":`true`}),(0,W.jsx)(`span`,{className:`cost muted`,children:B.usd2(_)}),(0,W.jsx)(`span`,{className:`pct muted`,children:v===0?`—`:B.pct0(v)})]})]})})]})}function os(e){let t=e.slice(0,2).map(e=>({model:e.model,display:e.display,pct:e.cost_pct,chip:e.chip}));return{items:t,more:Math.max(0,e.length-t.length)}}function ss({models:e}){let{items:t,more:n}=os(e);return t.length===0?null:(0,W.jsxs)(`div`,{className:`model-legend`,role:`presentation`,"data-card-region-ignore":!0,children:[t.map(e=>(0,W.jsxs)(`span`,{className:`ms-leg`,children:[(0,W.jsx)(`span`,{className:`ms-dot ${e.chip}`,style:Ci(e.model),"aria-hidden":`true`}),e.display,` `,Math.round(e.pct),`%`]},e.model)),n>0&&(0,W.jsxs)(`span`,{className:`ms-leg ms-more`,children:[`+`,n]})]})}function cs({tz:e}){return(0,W.jsxs)(`span`,{className:`instant-zone`,children:[`[`,e,`]`]})}function ls(e){e.source===`claude`?I({type:`OPEN_MODAL`,kind:`block`,blockStartAt:e.start_at}):I({type:`OPEN_SOURCE_DETAIL`,source:e.source,resource:`block`,key:e.key,accountKey:e.accountKey??null})}function us({r:e,maxCost:t,isFirstMount:n,showSource:r,accountLabel:i,zone:a}){let o=t>0?e.value/t*100:0,s=()=>ls(e),c=e.facts_source===`retained`,l=c?` — retained totals from block close`:``;return(0,W.jsxs)(`div`,{className:c?`blocks-row blocks-row--retained`:`blocks-row`,role:`button`,tabIndex:0,"aria-label":i==null?`Open detail for block starting ${e.label} [${a}]${l}`:`Open detail for ${i} block starting ${e.label} [${a}]${l}`,onClick:s,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),s())},children:[(0,W.jsxs)(`div`,{className:`meta`,children:[(0,W.jsxs)(`span`,{className:`label`,children:[r&&(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),i!=null&&(0,W.jsx)(`span`,{className:`blocks-account-chip`,"data-testid":`block-account-chip`,title:`5-hour window owned by ${i}`,children:i}),c&&(0,W.jsx)(`span`,{className:`blocks-facts-chip`,"data-testid":`block-facts-chip`,title:`Totals retained at block close`,"aria-label":`Totals retained at block close`,children:`Retained`}),e.anchor===`heuristic`&&(0,W.jsx)(`span`,{className:`anchor-marker`,"aria-label":`approximate start`,children:`~`}),(0,W.jsxs)(`span`,{className:`blocks-time`,children:[e.label,` `,(0,W.jsx)(cs,{tz:a})]}),e.is_active&&(0,W.jsx)(`span`,{className:`pill-active`,children:`Active`})]}),(0,W.jsx)(`span`,{className:`cost`,children:e.valueLabel})]}),(0,W.jsx)(`div`,{className:`gauge-track`,children:(0,W.jsx)(`div`,{className:`gauge-fill`,style:{width:n?`0%`:`${o}%`},children:e.models.map(e=>(0,W.jsx)(`span`,{className:`seg-${e.chip}`,style:{...Ci(e.model),width:`${e.cost_pct}%`},title:`${e.display} ${B.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})}),(0,W.jsx)(ss,{models:e.models})]})}function ds(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=(0,U.useSyncExternalStore)(F,()=>R().prefs.blocksCollapsed),r=aa(e,t),i=r,a=C(e,`codex`).entry,o=a?.data,s=o?.quota.histories.some(e=>e.window_minutes===300&&!e.model_scoped)??!1,c=Nn(t,Mn(t)),l=(t===`all`?v(a)!=null&&c.accountKey==null:c.scopesSupported&&c.accountKey==null)?new Map((o?.accounts??[]).map(e=>[e.accountKey,e.label])):null,u=e=>e.source===`codex`&&e.accountKey!=null&&l!=null?l.get(e.accountKey)??null:null,d=t===`codex`?`${s?`5h`:`optional 5h`} · current cycle`:t===`all`?`5h · current provider cycles`:`5h · current week`,f=r.length>0?Math.max(...r.map(e=>e.value),0):0,p=r.reduce((e,t)=>e+t.value,0),m=i.some(e=>e.anchor===`heuristic`),h=Vn(),g=t===`all`?oa(r):null,_=t===`all`?Go(sa(r),{tz:h.resolvedTz,offsetLabel:h.offsetLabel},{clampEndTo:e?.generated_at}):null,y=(0,U.useRef)(new Set),[,b]=(0,U.useState)(0);return(0,U.useLayoutEffect)(()=>{let e=i.filter(e=>!y.current.has(e.start_at));if(e.length===0)return;e.forEach(e=>y.current.add(e.start_at));let t=requestAnimationFrame(()=>b(e=>e+1));return()=>cancelAnimationFrame(t)},[i]),(0,W.jsxs)(`section`,{className:`panel accent-blue`+(n?` blocks-collapsed`:``),id:`panel-blocks`,role:`region`,"aria-label":`Blocks panel`,"data-panel-kind":`blocks`,"data-source":t,children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#layers`})}),(0,W.jsx)(`h2`,{children:`Blocks`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`blocks`,panelLabel:`5-hour blocks`,triggerId:`blocks-panel`,onClick:()=>I(j(`blocks`,`blocks-panel`))}),(0,W.jsx)($r,{label:`Blocks`,onOpen:()=>{let e=r.find(e=>e.is_active)??r[0];e&&ls(e)},disabled:r.length===0}),(0,W.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!n,"aria-controls":`panel-blocks-body`,"aria-label":n?`Expand Blocks`:`Collapse Blocks`,title:n?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),I({type:`SAVE_PREFS`,patch:{blocksCollapsed:!n}})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${n?`chevron-down`:`chevron-up`}`})})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-range-note`,children:d}),(0,W.jsx)(`div`,{className:`panel-body`,id:`panel-blocks-body`,children:i.length===0?Fi(e,t).hydrating?(0,W.jsx)(Eo,{}):(0,W.jsx)(`div`,{className:`panel-empty`,children:t===`codex`?s?`No 5-hour activity blocks in the current Codex cycle.`:`No native 5-hour window is currently reported; the 7-day Codex cycle remains available.`:t===`all`?s?`No 5-hour activity blocks in the current provider cycles.`:`No Claude 5-hour activity blocks; Codex is not currently reporting an optional 5-hour window.`:`No activity blocks this week yet.`}):i.map(e=>(0,W.jsx)(us,{r:e,maxCost:f,isFirstMount:!y.current.has(e.start_at),showSource:t===`all`,accountLabel:u(e),zone:h.resolvedTz},e.key))}),r.length>0&&(0,W.jsxs)(`div`,{className:`panel-foot`,children:[(0,W.jsxs)(`span`,{children:[r.length,` blocks`,(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`total`,children:B.usd2(p)}),m&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`legend-anchor`,children:`~ = approximate start`})]})]}),g&&(0,W.jsxs)(`span`,{className:`blocks-foot-attribution`,children:[_&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`span`,{className:`blocks-foot-span`,children:[`windows shown span `,_]}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),g.map((e,t)=>(0,W.jsxs)(`span`,{className:`blocks-foot-leg`,children:[t>0&&(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,e.count,` `,e.count===1?`block`:`blocks`,` `,B.usd2(e.cost)]},e.source))]})]})]})}function fs(){let[e,t]=(0,U.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(In).matches);return(0,U.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(In),n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}var ps=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function ms(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function hs(e){let t=e.split(`-`).map(Number);return`${ps[t[1]-1]} ${t[2]}`}function gs(e,t){let n=e.split(`-`).map(Number),r=t.split(`-`).map(Number),i=n[1],a=n[2],o=r[1],s=r[2];return i===o?`${ps[i-1]} ${a} - ${s}`:`${ps[i-1]} ${a} - ${ps[o-1]} ${s}`}function _s(e,t){return e<=0?`—`:t?`$${Math.ceil(e)}`:B.usd2(e)}function vs({r:e,staggerIndex:t,compact:n}){let r=e.date.slice(8,10),i=_s(e.cost_usd,n),a=[`${e.label} · ${e.cost_usd>0?B.usd2(e.cost_usd):`—`}`,...e.models.map(e=>`${e.display} ${e.cost_pct.toFixed(0)}%`)].join(` · `);return(0,W.jsxs)(`button`,{type:`button`,"data-cell-date":e.date,className:`daily-cell h${e.intensity_bucket}${e.is_today?` is-today`:``} first-mount`,title:a,style:{"--daily-stagger":`${t*30}ms`},onClick:()=>I({type:`OPEN_MODAL`,kind:`daily`,dailyDate:e.date}),children:[(0,W.jsx)(`span`,{className:`d`,children:r}),(0,W.jsx)(`span`,{className:`c`,style:{"--c-len":i.length},children:i})]})}function ys(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=zn(),r=fs(),i=n||r,a=(0,U.useSyncExternalStore)(F,()=>R().prefs.dailyCollapsed),o=Ui(e,t),s=o.state===`available`?o.rows:[],c=o.state===`withheld`?o:null,l=ms([...s].reverse(),7),u=t===`claude`?e?.daily?.total_cost_usd??0:s.reduce((e,t)=>e+t.cost_usd,0),d=t===`claude`?e?.daily?.peak??null:s.reduce((e,t)=>t.cost_usd<=0?e:e==null||t.cost_usd>e.cost_usd?t:e,null),f=Fi(e,t).hydrating&&s.length===0,p=dn(Fi(e,t).warnings,`daily`);return(0,W.jsxs)(`section`,{className:`panel accent-indigo`+(a?` daily-collapsed`:``),id:`panel-daily`,role:`region`,"aria-label":`Daily heatmap panel`,"data-panel-kind":`daily`,"data-source":t,children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#grid`})}),(0,W.jsxs)(`h2`,{children:[`Daily`,` `,(0,W.jsx)(`span`,{className:`sub`,children:`heatmap`})]}),p&&(0,W.jsx)(ua,{gate:{mode:`degraded`,warning:p,noSuccessYet:!1}})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`daily`,panelLabel:`Daily`,triggerId:`daily-panel`,onClick:()=>I(j(`daily`,`daily-panel`))}),(0,W.jsx)($r,{label:`Daily`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`daily`})}),(0,W.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!a,"aria-controls":`panel-daily-body`,"aria-label":a?`Expand Daily`:`Collapse Daily`,title:a?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),I({type:`SAVE_PREFS`,patch:{dailyCollapsed:!a}})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${a?`chevron-down`:`chevron-up`}`})})}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-range-note`,children:f?`loading`:c?`withheld`:`30 days${t===`all`?` · both providers`:``}`}),(0,W.jsx)(`div`,{className:`panel-body`,id:`panel-daily-body`,children:f?(0,W.jsx)(Eo,{}):c?(0,W.jsx)(`div`,{className:`panel-empty panel-withheld`,"data-withheld-code":c.code,children:Yo(c,`history`)}):s.length===0?(0,W.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`daily-legend`,"aria-label":`Color intensity legend`,children:[(0,W.jsx)(`span`,{children:`Less`}),(0,W.jsxs)(`span`,{className:`scale`,children:[(0,W.jsx)(`span`,{className:`h0`}),(0,W.jsx)(`span`,{className:`h1`}),(0,W.jsx)(`span`,{className:`h2`}),(0,W.jsx)(`span`,{className:`h3`}),(0,W.jsx)(`span`,{className:`h4`}),(0,W.jsx)(`span`,{className:`h5`})]}),(0,W.jsx)(`span`,{children:`More`})]}),(0,W.jsx)(`div`,{className:`daily-cal-grid`,children:l.map((e,t)=>(0,W.jsxs)(U.Fragment,{children:[(0,W.jsxs)(`div`,{className:`daily-week-label`,children:[(0,W.jsxs)(`span`,{className:`wk`,children:[`W`,t+1]}),(0,W.jsx)(`span`,{className:`rng`,children:gs(e[0].date,e[e.length-1].date)})]}),e.map((e,n)=>(0,W.jsx)(vs,{r:e,staggerIndex:t*7+n,compact:i},e.date)),e.length<7&&(0,W.jsx)(`div`,{className:`daily-month-continues`,style:{gridColumn:`span ${7-e.length}`},"aria-hidden":`true`,children:`Month continues`})]},t))}),(0,W.jsxs)(`div`,{className:`daily-foot`,children:[(0,W.jsxs)(`div`,{className:`daily-foot-col`,"data-total-cell":!0,children:[(0,W.jsx)(`svg`,{className:`daily-foot-icon icon-total`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),(0,W.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,W.jsxs)(`span`,{className:`lbl`,children:[`Total (`,s.length,` `,s.length===1?`day`:`days`,`)`]}),(0,W.jsx)(`span`,{className:`val`,children:B.usd2(u)})]})]}),d&&(0,W.jsxs)(`button`,{type:`button`,className:`daily-foot-col daily-foot-peak`,"data-peak-trigger":!0,title:`Click to open Daily modal at peak day`,onClick:()=>I({type:`OPEN_MODAL`,kind:`daily`,dailyDate:d.date}),children:[(0,W.jsx)(`svg`,{className:`daily-foot-icon icon-peak`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,W.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,W.jsx)(`span`,{className:`lbl`,children:`Peak day`}),(0,W.jsxs)(`span`,{className:`val`,children:[(0,W.jsx)(`span`,{className:`d`,children:hs(d.date)}),(0,W.jsx)(`span`,{className:`a`,children:B.usd2(d.cost_usd)})]})]})]})]})]})})]})}function bs(e,t){if(t===`day`)return e.date;let n=e,r=t===`week`?n.week_start_at??n.label:n.label;return n.source==null?r:`${n.source}:${r}`}function xs(e,t,n){if(t==null)return null;let r=e.findIndex(e=>e.key===t);if(r<0)return null;let i=n===`older`?r+1:r-1;return i<0||i>=e.length?null:e[i].key}var Ss=`(prefers-reduced-motion: reduce)`;function Cs(){return(0,U.useSyncExternalStore)(e=>{if(typeof window>`u`||!window.matchMedia)return()=>{};let t=window.matchMedia(Ss);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)},()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Ss).matches,()=>!1)}var ws=(0,U.createContext)(`bento`);function Ts(e,t){return t===`stack`?{visible:e.slice(0,3),hiddenCount:Math.max(0,e.length-3)}:{visible:e,hiddenCount:0}}function Es(e){return[`claude`,`codex`].map(t=>({source:t,label:t===`claude`?`Claude`:`Codex`,cost:e.filter(e=>e.source===t).reduce((e,t)=>e+t.cost_usd,0)}))}function Ds(e){let t=null,n=null,r=``,i=``;for(let a of e){let e=a.week_start_at==null?NaN:Date.parse(a.week_start_at),o=a.week_end_at==null?NaN:Date.parse(a.week_end_at);!Number.isNaN(e)&&(t==null||e<t)&&(t=e,r=a.week_start_at),!Number.isNaN(o)&&(n==null||o>n)&&(n=o,i=a.week_end_at)}return t==null||n==null?null:{startAt:r,endAt:i}}function Os(e){let t=e.map(e=>e.label).filter(e=>typeof e==`string`&&e!==``).sort();if(t.length===0)return null;let n=t[0],r=t[t.length-1];return n===r?n:`${n} – ${r}`}function ks({r:e,isFirstMount:t,reduced:n}){let r=t&&!n,i=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`;return(0,W.jsxs)(`div`,{className:`period`,children:[(0,W.jsxs)(`div`,{className:`meta`,children:[(0,W.jsxs)(`span`,{className:`label`,children:[(0,W.jsx)(Ao,{labels:e.account_labels}),e.label,e.is_current&&(0,W.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,W.jsxs)(`span`,{className:`right`,children:[(0,W.jsx)(`span`,{className:`cost`,children:B.usd2(e.cost_usd)}),(0,W.jsx)(`span`,{className:`delta ${i}`,children:B.deltaPct(e.delta_cost_pct)})]})]}),(0,W.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,W.jsx)(`span`,{className:e.chip,style:{...Ci(e.model),width:r?`0%`:`${e.cost_pct}%`},title:`${e.display} ${B.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))}),(0,W.jsx)(ss,{models:e.models})]})}function As(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=zi(e,t,`weekly`),r=(0,U.useContext)(ws),i=t===`all`?[`claude`,`codex`].map(e=>{let t=n.filter(t=>t.source===e);return{source:e,rows:t,...Ts(t,r)}}):null,a=Ts(n,r),o=i?.flatMap(e=>e.visible)??a.visible,s=i?.reduce((e,t)=>e+t.hiddenCount,0)??a.hiddenCount,c=n.reduce((e,t)=>e+t.cost_usd,0),l=t===`all`?`provider periods`:`cycles`,u=`${n.length} ${l}`,d=Fi(e,t).hydrating,f=Cs(),p=Vn(),m=t===`all`?Es(n):null,h=t===`all`?Go(Ds(n),{tz:p.resolvedTz,offsetLabel:p.offsetLabel},{clampEndTo:e?.generated_at}):null,g=(0,U.useRef)(new Set),[,_]=(0,U.useState)(0);return(0,U.useLayoutEffect)(()=>{let e=o.filter(e=>!g.current.has(bs(e,`week`)));if(e.length===0)return;e.forEach(e=>g.current.add(bs(e,`week`)));let t=requestAnimationFrame(()=>_(e=>e+1));return()=>cancelAnimationFrame(t)},[o]),(0,W.jsxs)(`section`,{className:`panel accent-cyan`,id:`panel-weekly`,role:`region`,"aria-label":`Weekly usage panel`,"data-panel-kind":`weekly`,"data-source":t,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`weekly`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,W.jsxs)(`h2`,{children:[`Weekly`,` `,(0,W.jsx)(`span`,{className:`sub`,children:`(model split)`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`weekly`,panelLabel:`Weekly`,triggerId:`weekly-panel`,onClick:()=>I(j(`weekly`,`weekly-panel`))}),(0,W.jsx)($r,{label:`Weekly`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`weekly`})}),(0,W.jsx)(Jr,{})]})]}),t===`all`&&(0,W.jsx)(`div`,{className:`panel-range-note`,children:`by provider`}),(0,W.jsx)(`div`,{className:`panel-body`,children:n.length===0?d?(0,W.jsx)(Eo,{}):(0,W.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):i?(0,W.jsx)(`div`,{className:`source-all-sections provider-composition provider-composition--panel`,children:i.map(e=>(0,W.jsxs)(`section`,{className:`provider-summary-card source-provider-section weekly-provider-section`,"data-provider-section":e.source,"aria-labelledby":`weekly-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,"data-card-region-ignore":!0,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`weekly-panel-${e.source}-heading`,children:[e.source===`claude`?`Claude`:`Codex`,` weekly quota history`]}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),(0,W.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` cycles`]})]}),e.visible.length===0?(0,W.jsx)(`div`,{className:`panel-source-empty`,children:`No quota history yet.`}):e.visible.map(e=>(0,W.jsx)(ks,{r:e,isFirstMount:!g.current.has(bs(e,`week`)),reduced:f},bs(e,`week`)))]},e.source))}):o.map(e=>(0,W.jsx)(ks,{r:e,isFirstMount:!g.current.has(bs(e,`week`)),reduced:f},bs(e,`week`)))}),n.length>0&&(0,W.jsxs)(`div`,{className:`panel-foot period-foot`,children:[s>0?(0,W.jsxs)(`span`,{children:[(0,W.jsxs)(`button`,{type:`button`,className:`period-foot-more`,"aria-label":`Show all ${n.length} ${l}`,onClick:e=>{e.stopPropagation(),I({type:`OPEN_MODAL`,kind:`weekly`})},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[`+`,s,` more`]}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`total`,children:B.usd2(c)})]}):(0,W.jsxs)(`span`,{children:[u,` total`,(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsxs)(`span`,{className:`total`,children:[B.usd2(c),t===`all`?` combined cost`:``]})]}),m&&(0,W.jsxs)(`span`,{className:`period-foot-attribution`,children:[h&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`period-foot-span`,children:h}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),m.map((e,t)=>(0,W.jsxs)(`span`,{className:`period-foot-leg`,children:[t>0&&(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,B.usd2(e.cost)]},e.source))]})]})]})}function js({r:e,isFirstMount:t,reduced:n}){let r=t&&!n,i=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`;return(0,W.jsxs)(`div`,{className:`period`,children:[(0,W.jsxs)(`div`,{className:`meta`,children:[(0,W.jsxs)(`span`,{className:`label`,children:[e.label,e.is_current&&(0,W.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,W.jsxs)(`span`,{className:`right`,children:[(0,W.jsx)(`span`,{className:`cost`,children:B.usd2(e.cost_usd)}),(0,W.jsx)(`span`,{className:`delta ${i}`,children:B.deltaPct(e.delta_cost_pct)})]})]}),(0,W.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,W.jsx)(`span`,{className:e.chip,style:{...Ci(e.model),width:r?`0%`:`${e.cost_pct}%`},title:`${e.display} ${B.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))}),(0,W.jsx)(ss,{models:e.models})]})}function Ms(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=zi(e,t,`monthly`),r=(0,U.useContext)(ws),i=t===`all`?[`claude`,`codex`].map(e=>{let t=n.filter(t=>t.source===e);return{source:e,rows:t,...Ts(t,r)}}):null,a=Ts(n,r),o=i?.flatMap(e=>e.visible)??a.visible,s=i?.reduce((e,t)=>e+t.hiddenCount,0)??a.hiddenCount,c=n.reduce((e,t)=>e+t.cost_usd,0),l=Fi(e,t).hydrating,u=Cs(),d=t===`all`?Es(n):null,f=t===`all`?Os(n):null,p=t===`all`?`${n.length} provider ${n.length===1?`month`:`months`}`:`${n.length}mo`,m=(0,U.useRef)(new Set),[,h]=(0,U.useState)(0);return(0,U.useLayoutEffect)(()=>{let e=o.filter(e=>!m.current.has(bs(e,`month`)));if(e.length===0)return;e.forEach(e=>m.current.add(bs(e,`month`)));let t=requestAnimationFrame(()=>h(e=>e+1));return()=>cancelAnimationFrame(t)},[o]),(0,W.jsxs)(`section`,{className:`panel accent-pink`,id:`panel-monthly`,role:`region`,"aria-label":`Monthly usage panel`,"data-panel-kind":`monthly`,"data-source":t,onClick:Yn(()=>I({type:`OPEN_MODAL`,kind:`monthly`})),children:[(0,W.jsxs)(`div`,{className:`panel-header`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,W.jsxs)(`h2`,{children:[`Monthly`,` `,(0,W.jsx)(`span`,{className:`sub`,children:`(model split)`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)(Qr,{panel:`monthly`,panelLabel:`Monthly`,triggerId:`monthly-panel`,onClick:()=>I(j(`monthly`,`monthly-panel`))}),(0,W.jsx)($r,{label:`Monthly`,onOpen:()=>I({type:`OPEN_MODAL`,kind:`monthly`})}),(0,W.jsx)(Jr,{})]})]}),t===`all`&&(0,W.jsx)(`div`,{className:`panel-range-note`,children:`by provider`}),(0,W.jsx)(`div`,{className:`panel-body`,children:n.length===0?l?(0,W.jsx)(Eo,{}):(0,W.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):i?(0,W.jsx)(`div`,{className:`source-all-sections provider-composition provider-composition--panel`,children:i.map(e=>(0,W.jsxs)(`section`,{className:`provider-summary-card source-provider-section monthly-provider-section`,"data-provider-section":e.source,"aria-labelledby":`monthly-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,"data-card-region-ignore":!0,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`monthly-panel-${e.source}-heading`,children:[e.source===`claude`?`Claude`:`Codex`,` monthly history`]}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),(0,W.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` `,e.rows.length===1?`month`:`months`]})]}),e.visible.length===0?(0,W.jsx)(`div`,{className:`panel-source-empty`,children:`No monthly history yet.`}):e.visible.map(e=>(0,W.jsx)(js,{r:e,isFirstMount:!m.current.has(bs(e,`month`)),reduced:u},bs(e,`month`)))]},e.source))}):o.map(e=>(0,W.jsx)(js,{r:e,isFirstMount:!m.current.has(bs(e,`month`)),reduced:u},bs(e,`month`)))}),n.length>0&&(0,W.jsxs)(`div`,{className:`panel-foot period-foot`,children:[s>0?(0,W.jsxs)(`span`,{children:[(0,W.jsxs)(`button`,{type:`button`,className:`period-foot-more`,"aria-label":`Show all ${n.length} months`,onClick:e=>{e.stopPropagation(),I({type:`OPEN_MODAL`,kind:`monthly`})},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[`+`,s,` more`]}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsx)(`span`,{className:`total`,children:B.usd2(c)})]}):(0,W.jsxs)(`span`,{children:[p,` total`,(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,W.jsxs)(`span`,{className:`total`,children:[B.usd2(c),t===`all`?` combined cost`:``]})]}),d&&(0,W.jsxs)(`span`,{className:`period-foot-attribution`,children:[f&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`period-foot-span`,children:f}),(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),d.map((e,t)=>(0,W.jsxs)(`span`,{className:`period-foot-leg`,children:[t>0&&(0,W.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,B.usd2(e.cost)]},e.source))]})]})]})}function Ns({usedPct:e,thresholds:t,compact:n=!1,source:r=`claude`}){let i=t.map(e=>`${e}%`).join(` / `),a=Math.min(...t),o=Math.max(...t),s=e==null?0:Math.max(0,Math.min(e,100)),c=r===`codex`?`No Codex alerts yet`:r===`all`?`No alerts yet across Claude and Codex`:e!=null&&e<a?`You're at ${Math.round(e)}% — well under the line`:`No alerts yet`,l=r===`codex`?`Codex quota alerts fire when native usage crosses ${i}.`:r===`all`?`Provider-native alerts appear at their configured ${i} thresholds.`:`Alerts fire when weekly usage crosses ${i}.`;return(0,W.jsxs)(`div`,{className:`ra-gauge`+(n?` ra-gauge--compact`:``),children:[(0,W.jsxs)(`div`,{className:`ra-gauge-head`,children:[(0,W.jsx)(`span`,{className:`ra-gauge-check`,"aria-hidden":`true`,children:`✓`}),c]}),(0,W.jsx)(`div`,{className:`ra-gauge-hero`,children:e==null?`—`:`${Math.round(e)}%`}),(0,W.jsxs)(`div`,{className:`ra-gauge-bar`,children:[(0,W.jsx)(`div`,{className:`ra-gauge-fill`,style:{width:`${s}%`}}),t.map((e,t)=>(0,W.jsx)(`span`,{className:`ra-gauge-tick `+(e===a?`tick-amber`:e===o?`tick-red`:`tick-mid`),"data-th":String(e),style:{left:`${e}%`}},`${e}-${t}`))]}),(0,W.jsx)(`div`,{className:`ra-gauge-copy`,children:l})]})}function Ps(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=(0,U.useSyncExternalStore)(F,()=>R().alerts),r=(0,U.useSyncExternalStore)(F,()=>R().prefs.alertsCollapsed),i=e?.sources!=null,o=C(e??null,t),c=Nn(t,Mn(t)),d=c.accountKey!=null,f=s(o,n.map(e=>({...e,source:`claude`,key:e.id})),i),p=(0,U.useSyncExternalStore)(F,()=>R().accountFocus),h={claude:u(e,t,`claude`,p),codex:u(e,t,`codex`,p)},g=f.some(e=>a(e)!=null),_=[`claude`,`codex`].filter(e=>h[e]!=null),v=_.length>0&&(g||d),y=_.length>0&&!g&&!d,b=l(f,h),x=_.map(t=>(e?.sources?.[t]?.data?.accounts??[]).find(e=>e.accountKey===h[t])??null).filter(e=>e!=null),S=c.card??x[0]??null,T=_.length===1?_[0]:null,ee=t===`all`&&T!=null,E=T===`codex`?`Codex`:`Claude`,D=T===`codex`?`Claude`:`Codex`,O=_.length>1?`focused accounts`:`${ee?`${E}: `:``}${m(S?.label??`focused account`)}`,k=(0,U.useSyncExternalStore)(F,()=>R().alertsConfig),te=e?.sources?.codex?.data?.quota.summary,A=k.weekly_thresholds?.length?k.weekly_thresholds:[90,95],j=e?.sources?.codex?.data?.alerts.actual_thresholds?.length?e.sources.codex.data.alerts.actual_thresholds:[90,95],M=t===`claude`?e?.header?.used_pct??null:t===`codex`?c.scopesSupported&&c.accountKey==null?null:te?.latest_percent??null:null,ne=t===`claude`?A:t===`codex`?j:[...new Set([...A,...j])].sort((e,t)=>e-t),re=Vn(),ie={tz:re.resolvedTz,offsetLabel:re.offsetLabel},N=b.slice(0,10),ae=b.length,P=()=>{cc.alerts.openAction()};return(0,W.jsxs)(`section`,{className:`panel accent-amber`+(r?` alerts-collapsed`:``),id:`panel-alerts`,role:`region`,"aria-label":`Recent alerts panel`,"data-panel-kind":`alerts`,onClick:Yn(P),children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#bell`})}),(0,W.jsxs)(`h2`,{children:[`Recent alerts `,(0,W.jsx)(`span`,{className:`sub`,children:`(last 10)`})]}),v&&(0,W.jsxs)(`span`,{className:`alerts-account-note`,"data-testid":`alerts-account-note`,title:_.length>1?`Showing only the focused accounts’ alerts, plus vendor-wide crossings.`:ee?`Showing only ${S?.label??`this account`}'s ${E} alerts, plus vendor-wide crossings. ${D} alerts are not filtered by account.`:`Showing only ${S?.label??`this account`}'s alerts, plus vendor-wide crossings.`,children:[O,` only`]}),y&&(0,W.jsx)(`span`,{className:`alerts-unfiltered-note`,"data-testid":`alerts-unfiltered-note`,title:T==null?`These alerts are not filtered by account (showing all accounts).`:`${E} alerts are not filtered by account (showing all accounts).`,children:`all accounts (unfiltered)`})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Recent alerts`,onOpen:P}),(0,W.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!r,"aria-controls":`panel-alerts-body`,"aria-label":r?`Expand Recent alerts`:`Collapse Recent alerts`,title:r?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),I({type:`SAVE_PREFS`,patch:{alertsCollapsed:!r}})},children:(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#${r?`chevron-down`:`chevron-up`}`})})}),(0,W.jsx)(Jr,{})]})]}),t===`all`&&(0,W.jsx)(`div`,{className:`panel-range-note`,children:`Both providers, newest first`}),(0,W.jsx)(`div`,{className:`panel-body`,id:`panel-alerts-body`,children:N.length===0?(0,W.jsx)(Ns,{source:t,usedPct:M,thresholds:ne,compact:!0}):(0,W.jsx)(`ul`,{className:`alerts-list`,children:N.map(e=>{let n=Ae(e),r=a(e),i=B.startedShortOrNull(n.whenIso,ie),o=B.relativeOrAbsolute(n.whenIso??``,ie);return(0,W.jsxs)(`li`,{className:`alert-row`,children:[(0,W.jsxs)(`span`,{className:`alert-threshold severity-${n.severity} ${n.severity}`,children:[n.threshold,`%`]}),(0,W.jsx)(`span`,{className:`chip ${n.chipClass}`,children:n.chipLabel}),t===`all`&&(0,W.jsx)(`span`,{className:`source-chip source-chip--${n.source}`,children:n.sourceLabel}),r!=null&&(0,W.jsx)(`span`,{className:`alert-account-chip`,"data-testid":r.key===`*`?`alert-vendor-wide`:`alert-account-chip`,title:r.key===`*`?`A vendor-wide crossing — not attributable to one account.`:r.label,children:r.label}),(0,W.jsxs)(`span`,{className:`alert-when`,title:i??void 0,children:[o,o===`—`?null:(0,W.jsxs)(W.Fragment,{children:[` `,(0,W.jsx)(cs,{tz:ie.tz})]})]})]},w(e))})})}),ae>0&&(0,W.jsxs)(`div`,{className:`panel-foot alerts-foot`,children:[N.length,` of `,ae,` shown`]})]})}function Fs(e){let t=e.length,n=e.filter(e=>e.observed!==!1).length,r=`${t} ${t===1?`day`:`days`}`;return n===t?r:`${r}, ${n} measured`}function Is(e,t=`claude`){return t===`codex`?e.cached_input_percent??null:e.cache_hit_percent??null}function Ls(e,t=`claude`){let n=Is(e,t);return n===null?null:`${B.pctFloor(n)}%`}function Rs(e,t){return e.not_applicable?.[t]??null}var zs=Object.freeze({percentLabel:`Cache hit`,percentLabelInline:`cache hit`,percentColumnHeader:`Cache %`,timelineHeading:`Cache hit %`,sparklineLabel:`Cache hit % timeline`,netBarsHeading:`Net $ per day · saved (green) − wasted (red)`,netBarsCaption:`positive bars = caching helped`,counterfactualLead:`Without caching, you'd have paid`,efficiencyLabel:`cache efficiency`,reasonLabel:e=>e,thresholdLegend:e=>`${e}pp drop, net < 0`}),Bs=Object.freeze({percentLabel:`Cached input`,percentLabelInline:`cached input`,percentColumnHeader:`Reuse %`,timelineHeading:`Cached input %`,sparklineLabel:`Cached input % timeline`,netBarsHeading:`Net $ per day · reuse savings (green)`,netBarsCaption:`bars = input reuse savings`,counterfactualLead:`Without input reuse, you'd have paid`,efficiencyLabel:`reuse efficiency`,reasonLabel:e=>e===`cache_drop`?`reuse drop`:e,thresholdLegend:e=>`${e}pp reuse drop`});function Vs(e){return e===`codex`?Bs:zs}function Hs(e,t,n,r={}){let i=r.minSpan??12,a=r.pad??1;if(e.length===0)return{lo:0,hi:100};let o=[...e];t!=null&&Number.isFinite(t)&&o.push(t-n,t+n);let s=Math.min(...o)-a,c=Math.max(...o)+a;if(c-s<i){let e=(s+c)/2;s=e-i/2,c=e+i/2}return s=Math.max(0,s),c=Math.min(100,c),c-s<i&&(c>=100?s=Math.max(0,100-i):c=Math.min(100,s+i)),{lo:s,hi:c}}var Us={mini:{chartWidth:272,padX:0,gap:1},large:{chartWidth:800,padX:28,gap:4}};function Ws(e,t,n){if(!Number.isInteger(n)||n<1)throw RangeError(`cache report chart count must be a positive integer`);if(!Number.isInteger(t)||t<0||t>=n)throw RangeError(`cache report chart index must address an existing slot`);let{chartWidth:r,padX:i,gap:a}=Us[e],o=(r-2*i-a*(n-1))/n,s=i+t*(o+a);return{chartWidth:r,left:s,center:s+o/2,right:s+o,width:o}}var Gs={mini:{width:272,height:32,padTop:4,padBot:4},large:{width:800,height:90,padTop:6,padBot:6}},Ks=1;function qs({days:e,baseline_median_percent:t,today_marker_color:n,size:r,source:i}){let a=i??`claude`,o=Vs(a),s=Gs[r],c=r===`large`,l=[...e].reverse(),u=l.map((e,t)=>({d:e,i:t,pct:Is(e,a)})).filter(({d:e,pct:t})=>e.observed!==!1&&t!==null),d=c?Hs(u.map(({pct:e})=>e),t,5):{lo:0,hi:100},f=c?{width:`100%`}:{width:`100%`,height:s.height,preserveAspectRatio:`none`};if(l.length===0){let e=(0,W.jsx)(`svg`,{className:`cr-spark`,...f,viewBox:`0 0 ${s.width} ${s.height}`,"aria-label":`no data`});return c?(0,W.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,W.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:[Math.round(d.hi),`%`]}),e,(0,W.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:[Math.round(d.lo),`%`]})]}):e}let p=e=>{let t=d.hi-d.lo||1,n=(Math.max(d.lo,Math.min(d.hi,e))-d.lo)/t;return s.padTop+(1-n)*(s.height-s.padTop-s.padBot)},m=e=>Ws(r,e,l.length).center,h=u.map(({i:e,pct:t})=>`${m(e).toFixed(1)},${p(t).toFixed(1)}`).join(` `),g=l.length-1,_=l[g],v=Is(_,a),y=_.observed!==!1,b=y&&v!==null,x=m(g),S=x,C=(0,W.jsxs)(`svg`,{className:`cr-spark`,...f,viewBox:`0 0 ${s.width} ${s.height}`,"aria-label":`${o.sparklineLabel}, ${Fs(l)}`,children:[c&&[{k:`hi`,pct:d.hi,bound:!0},{k:`mid`,pct:(d.lo+d.hi)/2,bound:!1},{k:`lo`,pct:d.lo,bound:!0}].map(({k:e,pct:t,bound:n})=>(0,W.jsx)(`line`,{x1:0,x2:s.width,y1:p(t),y2:p(t),stroke:n?`rgba(255,255,255,0.45)`:`rgba(255,255,255,0.18)`,strokeWidth:n?1:.5,strokeDasharray:n?void 0:`4,3`,opacity:1,"data-testid":`cr-spark-gridline-${e}`},`grid-${e}`)),t!==null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`rect`,{x:0,y:p(t+5),width:s.width,height:p(t-5)-p(t+5),fill:`var(--accent-cyan)`,opacity:.1}),(0,W.jsx)(`line`,{x1:0,x2:s.width,y1:p(t),y2:p(t),stroke:`var(--accent-cyan)`,strokeWidth:.5,strokeDasharray:`3,3`,opacity:.6})]}),(0,W.jsx)(`polyline`,{points:h,fill:`none`,stroke:`var(--accent-cyan)`,strokeWidth:c?2:1.5}),b?(0,W.jsx)(`circle`,{cx:x,cy:p(v),r:c?5:3.5,fill:n,"data-testid":`cr-spark-today-marker`}):(0,W.jsx)(`line`,{x1:S,x2:S,y1:s.padTop,y2:s.height-s.padBot,stroke:`var(--text-dim)`,strokeWidth:Ks,strokeDasharray:`3,3`,"data-testid":`cr-spark-today-unobserved`,children:(0,W.jsx)(`title`,{children:y?`No cache percentage published for today`:`No activity today`})})]});return c?(0,W.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,W.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:[Math.round(d.hi),`%`]}),C,(0,W.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:[Math.round(d.lo),`%`]})]}):C}var Js={mini:{width:272,height:28,padX:0,padTop:2,padBot:2,barGap:1},large:{width:800,height:110,padX:28,padTop:28,padBot:28,barGap:4}};function Ys({days:e,size:t,source:n}){let r=Vs(n??`claude`),i=Js[t],a=t===`large`,o=[...e].reverse(),s=e=>e.wasted_usd??0;if(o.length===0)return a?(0,W.jsxs)(`div`,{className:`crm-section`,children:[(0,W.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[`Net $ per day`,(0,W.jsx)(`span`,{className:`meta`,children:`no data`})]}),(0,W.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,W.jsx)(`div`,{style:{color:`var(--text-dim)`,fontSize:11,padding:`8px 4px`},children:`No daily activity to render.`})})]}):(0,W.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${i.width} ${i.height}`,preserveAspectRatio:`none`,"aria-label":`no data`});if(a){let e=Math.max(1e-9,...o.map(e=>Math.max(e.saved_usd+s(e),Math.abs(e.net_usd)))),n=(i.height-i.padTop-i.padBot)/2/e,a=i.padTop+(i.height-i.padTop-i.padBot)/2,c=e=>Ws(t,e,o.length);return(0,W.jsxs)(`div`,{className:`crm-section`,children:[(0,W.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[r.netBarsHeading,(0,W.jsx)(`span`,{className:`meta`,children:r.netBarsCaption})]}),(0,W.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,W.jsxs)(`svg`,{viewBox:`0 0 ${i.width} ${i.height}`,width:`100%`,height:i.height,"aria-label":`Per-day net dollar chart, ${Fs(o)}`,children:[(0,W.jsx)(`line`,{x1:i.padX,x2:i.width-i.padX,y1:a,y2:a,stroke:`var(--border-soft)`,strokeWidth:1}),o.map((e,t)=>({d:e,i:t})).filter(({d:e})=>e.observed!==!1).map(({d:e,i:t})=>{let{left:r,width:i}=c(t);if(e.net_usd>=0){let t=e.saved_usd*n,o=s(e)*n;return(0,W.jsxs)(`g`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`pos`,children:[(0,W.jsx)(`rect`,{x:r,y:a-t,width:i,height:t,fill:`var(--accent-green)`,rx:2}),o>0&&(0,W.jsx)(`rect`,{x:r,y:a-t-o,width:i,height:o,fill:`var(--accent-red)`,opacity:.75,rx:2})]},e.date)}let o=Math.abs(e.net_usd)*n;return(0,W.jsx)(`rect`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`neg`,x:r,y:a,width:i,height:o,fill:`var(--accent-amber)`,rx:2},e.date)}),o.map((e,t)=>{let n=c(t).center,r=t===o.length-1?`Today`:B.calDate(e.date);return(0,W.jsx)(`text`,{x:n,y:i.height-6,fill:`var(--text-dim)`,fontSize:9,textAnchor:`middle`,children:r},`l-${e.date}`)})]})})]})}let c=i.height-i.padTop-i.padBot,l=Math.max(1e-9,...o.map(e=>Math.abs(e.net_usd))),u=e=>Ws(t,e,o.length);return(0,W.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${i.width} ${i.height}`,preserveAspectRatio:`none`,"aria-label":`Net dollar bars, ${Fs(o)}`,children:o.map((e,t)=>({d:e,i:t})).filter(({d:e})=>e.observed!==!1).map(({d:e,i:t})=>{let{left:n,width:r}=u(t),a=Math.max(1,Math.abs(e.net_usd)/l*c),o=i.height-i.padBot-a,s=e.net_usd>=0?`var(--accent-green)`:`var(--accent-amber)`;return(0,W.jsx)(`rect`,{"data-testid":`crm-netbar-mini`,"data-date":e.date,"data-sign":e.net_usd>=0?`pos`:`neg`,x:n,y:o,width:r,height:a,fill:s,rx:1},e.date)})})}var Xs=[`net_negative`,`cache_drop`];function Zs(e,t=Xs){let n=e.anomaly_unevaluated??[],r=e.observed!==!1,i;return i=e.anomaly_triggered?`anomalous`:n.length===0?`clean`:n.length>=t.length?`unevaluated`:`partial`,{state:i,triggered:e.anomaly_triggered,unevaluated:n,observed:r}}function Qs(e){return e===`anomalous`?`⚠`:e===`clean`?`✓`:`·`}function $s(e){return e===`anomalous`?`flag-warn`:e===`clean`?`flag-ok`:`flag-none`}function ec(e,t,n=!0,r=e=>e){return e===`anomalous`?`anomaly`:e===`clean`?`evaluated, no anomaly`:n?`not evaluated — ${t.map(r).join(` and `)} could not be evaluated for this day`:`no activity — nothing measured to evaluate`}function tc(e){return e.anomaly_predicates??Xs}function nc(e){let t=e.today.baseline_daily_row_count<5,n=e.today.anomaly_triggered&&!t,r=Zs(e.today,tc(e));return{insufficient:t,chromeAmber:n,todayObserved:r.observed,today:r}}var rc=`var(--accent-teal)`,ic=`var(--accent-amber)`,ac=`var(--accent-green)`;function oc({section:e}){let t=e.value,n=Vs(e.source),r=t?.days.reduce((e,t)=>e+t.net_usd,0)??0,i=t==null?null:nc(t);return(0,W.jsxs)(`div`,{className:`source-provider-section provider-summary-card cache-provider-summary`,"data-provider-section":e.source,role:`region`,"aria-labelledby":`cache-report-panel-${e.source}-heading`,children:[(0,W.jsxs)(`div`,{className:`source-provider-head`,children:[(0,W.jsxs)(`h3`,{className:`sr-only`,id:`cache-report-panel-${e.source}-heading`,children:[e.label,` cache report`]}),(0,W.jsx)(la,{source:e.source}),e.status!==`available`&&(0,W.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),t==null?(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`provider-summary-kpis`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`provider-summary-label`,children:n.percentLabel}),(0,W.jsx)(`strong`,{className:`provider-summary-value`,children:i.todayObserved?Ls(t.today,e.source)??`—`:`—`})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`span`,{className:`provider-summary-label`,children:[t.window_days,`d net`]}),(0,W.jsx)(`strong`,{className:r<0?`provider-summary-value warn`:`provider-summary-value ok`,children:B.usdSigned(r)})]})]}),(0,W.jsxs)(`div`,{className:`provider-summary-foot`,children:[(0,W.jsx)(`span`,{children:i.insufficient?`~ Building baseline · ${t.today.baseline_daily_row_count}/5`:i.chromeAmber?`⚠ anomaly`:i.todayObserved?`✓ healthy`:`· no activity today`}),(0,W.jsxs)(`span`,{children:[t.window_days,`d native report`]})]}),e.reason&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:e.reason})]})]})}function sc(){let e=jn(),t=(0,U.useSyncExternalStore)(F,()=>R().activeSource),n=zn(),r=Nn(t,Mn(t)),i=n?` cache-report-collapsed`:``,a=()=>{I({type:`OPEN_MODAL`,kind:`cache-report`})},o=ca(e,t);if(t===`all`)return(0,W.jsxs)(`section`,{className:`panel accent-teal${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":`all`,role:`region`,"aria-label":`Cache Report · Claude and Codex`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsxs)(`h2`,{style:{color:rc},children:[`Cache Report `,(0,W.jsx)(`span`,{className:`sub`,children:`by provider`})]})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-body source-all-sections provider-composition provider-composition--panel`,children:o.sections.map(e=>(0,W.jsx)(oc,{section:e},e.source))})]});let s=o.sections[0],c=s?.value??null,l=Fi(e,t).hydrating,u=s&&s.status!==`available`?(0,W.jsx)(`span`,{className:`provider-section-status`,children:s.status}):null,d=s?.reason??null,f=c==null&&r.source===t&&r.accountKey!==null&&r.isEmpty,p=s?.status===`empty`||c?.is_empty===!0||f,m=Vs(t);if(!c&&l&&!p)return(0,W.jsxs)(`section`,{className:`panel accent-teal${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsxs)(`h2`,{style:{color:rc},children:[`Cache Report `,(0,W.jsx)(`span`,{className:`sub`,children:`(loading)`})]})]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsx)(`div`,{className:`panel-body`,children:(0,W.jsx)(Eo,{lines:2})})]});if(p){let e=s?.status===`empty`||f,n=e?null:u,r=e?null:d;return(0,W.jsxs)(`section`,{className:`panel accent-teal${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report · empty`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsx)(`h2`,{style:{color:rc},children:`Cache Report`}),n]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`cr-status-row`,children:[(0,W.jsx)(`span`,{className:`cr-glyph empty`,"aria-hidden":`true`,children:`−`}),(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`div`,{className:`cr-headline`,children:[`No `,s?.label??`Claude`,` activity yet`]}),(0,W.jsx)(`div`,{className:`cr-subline`,children:`Run a session to start tracking`}),r&&(0,W.jsx)(`div`,{className:`cr-subline`,children:r})]})]})]})}if(!c)return(0,W.jsxs)(`section`,{className:`panel accent-amber${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report · failed`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsx)(`h2`,{style:{color:ic},children:`Cache Report`}),u]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`cr-status-row`,children:[(0,W.jsx)(`span`,{className:`cr-glyph fail`,"aria-hidden":`true`,children:`!`}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`cr-headline`,children:`Cache Report unavailable`}),(0,W.jsx)(`div`,{className:`cr-subline`,children:`The snapshot could not be built. Retrying on the next sync.`}),d&&(0,W.jsx)(`div`,{className:`cr-subline`,children:d})]})]})]});let h=nc(c),g=c.today.anomaly_triggered,{insufficient:_}=h,v=h.todayObserved,y=h.chromeAmber,b=y?`accent-amber`:`accent-teal`,x=y?ic:rc,S=y?ic:ac,C,w,T=null;if(_){C={icon:`~`,cls:`thin`};let e=c.today.baseline_daily_row_count;w=(0,W.jsxs)(W.Fragment,{children:[`Building baseline · `,e,`/`,5,` days`]}),T=v?(0,W.jsxs)(W.Fragment,{children:[`Today: `,m.percentLabelInline,` `,Ls(c.today,t)??`—`,` · net`,` `,B.usdSigned(c.today.net_usd)]}):(0,W.jsx)(W.Fragment,{children:`No activity today`})}else if(g){if(C={icon:`⚠`,cls:`warn`},c.today.anomaly_reasons.includes(`cache_drop`)&&c.today.delta_pp!==null){let e=B.pctFloor(Math.abs(c.today.delta_pp));w=(0,W.jsxs)(W.Fragment,{children:[`Today: `,m.percentLabelInline,` `,(0,W.jsxs)(`span`,{className:`delta-bad`,children:[`↓ `,e,`pp`]})]})}else w=(0,W.jsxs)(W.Fragment,{children:[`Today: net`,` `,(0,W.jsx)(`span`,{className:`delta-bad`,children:B.usdSigned(c.today.net_usd)})]});T=(0,W.jsxs)(W.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:B.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,W.jsx)(`span`,{className:`warn`,children:B.usdSigned(c.today.net_usd)})]})}else v?(C={icon:`✓`,cls:`ok`},w=(0,W.jsxs)(W.Fragment,{children:[`Today: `,m.percentLabelInline,` `,(0,W.jsx)(`span`,{className:`delta-good`,children:Ls(c.today,t)??`—`})]}),T=(0,W.jsxs)(W.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:B.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,W.jsx)(`span`,{className:`ok`,children:B.usdSigned(c.today.net_usd)})]})):(C={icon:`·`,cls:`thin`},w=(0,W.jsx)(W.Fragment,{children:`No activity today`}),T=(0,W.jsxs)(W.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:B.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net —`]}));let ee=c.days.reduce((e,t)=>e+t.net_usd,0),E=ee>=0?`ok`:`warn`,D=_?(0,W.jsxs)(W.Fragment,{children:[`Watchdog activates at `,5,` days of history`]}):(0,W.jsxs)(W.Fragment,{children:[c.window_days,`d net:`,` `,(0,W.jsx)(`span`,{className:E,children:B.usdSigned(ee)})]});return(0,W.jsxs)(`section`,{className:`panel ${b}${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report`,onClick:Yn(a),style:{cursor:`pointer`},children:[(0,W.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,W.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,W.jsxs)(`h2`,{style:{color:x},children:[`Cache Report`,y&&(0,W.jsx)(`span`,{className:`sub`,children:`⚠ Today`})]}),u]}),(0,W.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,W.jsx)($r,{label:`Cache Report`,onOpen:a}),(0,W.jsx)(Jr,{})]})]}),(0,W.jsxs)(`div`,{className:`cr-status-row`,children:[(0,W.jsx)(`span`,{className:`cr-glyph ${C.cls}`,children:C.icon}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`cr-headline`,children:w}),(0,W.jsx)(`div`,{className:`cr-subline`,children:T})]})]}),!_&&c.days.length>0&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(qs,{days:c.days,baseline_median_percent:c.today.baseline_median_percent,today_marker_color:S,size:`mini`,source:t}),(0,W.jsx)(`div`,{className:`cr-netbars-mini-wrap`,children:(0,W.jsx)(Ys,{days:c.days,size:`mini`,source:t})})]}),(0,W.jsx)(`div`,{className:`cr-subline second`,children:D}),d&&(0,W.jsx)(`div`,{className:`provider-section-reason`,children:d})]})}var cc={forecast:{id:`forecast`,label:`Forecast`,Component:bo,openAction:()=>I({type:`OPEN_MODAL`,kind:`forecast`})},trend:{id:`trend`,label:`Trend`,Component:Po,openAction:()=>I({type:`OPEN_MODAL`,kind:`trend`})},sessions:{id:`sessions`,label:`Sessions`,Component:Uo,openAction:kr},projects:{id:`projects`,label:`Projects`,Component:as,openAction:()=>I({type:`OPEN_MODAL`,kind:`projects`})},blocks:{id:`blocks`,label:`Blocks`,Component:ds,openAction:Ar},daily:{id:`daily`,label:`Daily`,Component:ys,openAction:()=>I({type:`OPEN_MODAL`,kind:`daily`})},weekly:{id:`weekly`,label:`Weekly`,Component:As,openAction:()=>I({type:`OPEN_MODAL`,kind:`weekly`})},monthly:{id:`monthly`,label:`Monthly`,Component:Ms,openAction:()=>I({type:`OPEN_MODAL`,kind:`monthly`})},alerts:{id:`alerts`,label:`Recent alerts`,Component:Ps,openAction:()=>I({type:`OPEN_MODAL`,kind:`alerts`})},"cache-report":{id:`cache-report`,label:`Cache Report`,Component:sc,openAction:()=>I({type:`OPEN_MODAL`,kind:`cache-report`})}};function lc({onClose:e,label:t=`Close`,className:n=`modal-close`,disabled:r}){return(0,W.jsx)(`button`,{type:`button`,className:n,"aria-label":t,onClick:e,disabled:r,children:`×`})}function uc({title:e,titleId:t,className:n=`modal-header`,headerExtras:r,onClose:i,closeLabel:a,closeClassName:o,closeDisabled:s}){return(0,W.jsxs)(`header`,{className:n,children:[(0,W.jsx)(`h2`,{id:t,tabIndex:-1,children:e}),r,i?(0,W.jsx)(lc,{onClose:i,label:a,className:o,disabled:s}):null]})}var dc=[{keys:[`r`],desc:`force refresh`},{keys:[`v`],desc:`cycle source (Claude / Codex / All)`},{keys:[`a`],desc:`cycle account (multi-account sources)`},{keys:[`s`],desc:`open Settings`},{keys:[`d`],desc:`open Doctor`},{keys:[`e`],desc:`explain where this window’s cost went`},{keys:[`S`],desc:`share the focused panel (focus a panel first)`},{keys:[`B`],desc:`open the report composer`},{keys:[`f`],desc:`filter Sessions`},{keys:[`/`],desc:`search Sessions`},{keys:[`c`],desc:`collapse / expand the Sessions panel`},{keys:[`n`,`N`],desc:`next / previous search match`},{keys:[`q`],desc:`quit (close the tab)`},{keys:[`?`],desc:`toggle this help`},{keys:[`Esc`],desc:`close`}];function fc({panelOrder:e}){return(0,W.jsx)(`table`,{children:(0,W.jsxs)(`tbody`,{children:[e.map((e,t)=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:t<9?(0,W.jsx)(`kbd`,{children:String(t+1)}):t===9?(0,W.jsx)(`kbd`,{children:`0`}):(0,W.jsx)(`span`,{"aria-hidden":`true`,children:`—`})}),(0,W.jsxs)(`td`,{children:[`Open `,cc[e]?.label??e,` modal`]})]},e)),dc.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:e.keys.map(e=>(0,W.jsx)(`kbd`,{children:e},e)).reduce((e,t)=>[e,` / `,t])}),(0,W.jsx)(`td`,{children:e.desc})]},e.desc)),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:`Hold + drag a card`}),(0,W.jsx)(`td`,{children:`rearrange the dashboard`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`Shift`}),`+`,(0,W.jsx)(`kbd`,{children:`↑`}),`/`,(0,W.jsx)(`kbd`,{children:`↓`})]}),(0,W.jsx)(`td`,{children:`swap focused card with neighbor`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`↑`}),`/`,(0,W.jsx)(`kbd`,{children:`↓`})]}),(0,W.jsx)(`td`,{children:`Select period (Daily / Weekly / Monthly modal)`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:`Click the hero, or focus it and press Enter or Space`}),(0,W.jsx)(`td`,{children:`Open the Current Usage modal`})]})]})})}function Z(){return(0,W.jsx)(`table`,{className:`help-conversations`,children:(0,W.jsxs)(`tbody`,{children:[(0,W.jsx)(`tr`,{children:(0,W.jsx)(`td`,{colSpan:2,children:(0,W.jsx)(`strong`,{children:`Conversations`})})}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`j`}),` / `,(0,W.jsx)(`kbd`,{children:`k`})]}),(0,W.jsx)(`td`,{children:`move turns`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`[`}),` / `,(0,W.jsx)(`kbd`,{children:`]`})]}),(0,W.jsx)(`td`,{children:`collapse / expand all`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`g`})}),(0,W.jsx)(`td`,{children:`jump to top`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`e`}),` / `,(0,W.jsx)(`kbd`,{children:`E`})]}),(0,W.jsx)(`td`,{children:`next / prev error`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`u`}),` / `,(0,W.jsx)(`kbd`,{children:`U`})]}),(0,W.jsx)(`td`,{children:`next / prev prompt`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`b`}),` / `,(0,W.jsx)(`kbd`,{children:`B`})]}),(0,W.jsx)(`td`,{children:`next / prev subagent`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`p`}),` / `,(0,W.jsx)(`kbd`,{children:`P`})]}),(0,W.jsx)(`td`,{children:`next / prev plan / question`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`c`}),` / `,(0,W.jsx)(`kbd`,{children:`C`})]}),(0,W.jsx)(`td`,{children:`next / prev cache rebuild`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`m`}),` / `,(0,W.jsx)(`kbd`,{children:`M`})]}),(0,W.jsx)(`td`,{children:`next / prev compaction`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsxs)(`td`,{children:[(0,W.jsx)(`kbd`,{children:`h`}),` / `,(0,W.jsx)(`kbd`,{children:`H`})]}),(0,W.jsx)(`td`,{children:`next / prev reasoning heading`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`a`})}),(0,W.jsx)(`td`,{children:`jump to last prompt`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`L`})}),(0,W.jsx)(`td`,{children:`jump to last error`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`o`})}),(0,W.jsx)(`td`,{children:`toggle outline`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`v`})}),(0,W.jsx)(`td`,{children:`cycle focus mode`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`/`})}),(0,W.jsx)(`td`,{children:`find in conversation`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`f`})}),(0,W.jsx)(`td`,{children:`focus the conversation-list search`})]}),(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(`kbd`,{children:`Esc`})}),(0,W.jsx)(`td`,{children:`close`})]})]})})}function pc(){return(0,W.jsxs)(`ul`,{className:`help-gesture-list`,children:[(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Tap the chevron`}),` — expand or collapse a panel`]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Long-press a panel`}),` — drag to rearrange the dashboard`]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Tap ✕ or the dim backdrop`}),` — close a sheet (or `,(0,W.jsx)(`kbd`,{children:`Esc`}),` on tablets)`]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Tap a model chip`}),` — filter Sessions by that model`]}),(0,W.jsxs)(`li`,{children:[(0,W.jsx)(`strong`,{children:`Tap the sync chip`}),` — force a fresh refresh`]})]})}function mc(){let[e,t]=(0,U.useState)(!1),n=zn(),r=(0,U.useSyncExternalStore)(F,()=>R().prefs.panelOrder),i=(0,U.useSyncExternalStore)(F,()=>R().activeSource),a=We(),o=(0,U.useSyncExternalStore)(F,()=>R().view),s=(0,U.useMemo)(()=>C(a,i),[a,i]),l=(0,U.useMemo)(()=>c(r,s),[r,s]);we([{key:`?`,scope:`global`,view:`any`,action:()=>t(e=>!e)},{key:`Escape`,scope:`overlay`,layer:1e3,action:()=>t(!1),when:()=>e}]);let u=(0,U.useRef)(null);return Ur(u,{active:e}),qr(e),(0,U.useEffect)(()=>{if(e)return I({type:`INCREMENT_CHROME_OVERLAY`}),()=>I({type:`DECREMENT_CHROME_OVERLAY`})},[e]),e?(0,W.jsx)(`div`,{id:`help-overlay`,onClick:()=>t(!1),children:(0,W.jsxs)(`div`,{ref:u,className:`help-card`,onClick:e=>e.stopPropagation(),children:[(0,W.jsx)(uc,{title:n?`Help`:`Keybindings`,className:`help-header`,onClose:()=>t(!1)}),n?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(pc,{}),(0,W.jsxs)(`details`,{className:`help-keyboard-disclosure`,children:[(0,W.jsx)(`summary`,{children:`Keyboard shortcuts ▾`}),(0,W.jsx)(fc,{panelOrder:l}),o===`conversations`&&(0,W.jsx)(Z,{})]})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(fc,{panelOrder:l}),o===`conversations`&&(0,W.jsx)(Z,{})]}),(0,W.jsxs)(`p`,{className:`meta`,children:[`cctally · `,(0,W.jsx)(`span`,{id:`help-server-url`,children:window.location.origin})]})]})}):null}var hc=[`display`,`sessions`,`alerts`,`viewer`,`access`,`restore`,`cli`],gc={display:`Display & time`,sessions:`Recent Sessions`,alerts:`Alerts`,viewer:`Conversation viewer`,access:`Access & updates`,restore:`Restore defaults`,cli:`Managed from the CLI`};function _c(e){return{kind:`server`,scope:`machine`,scopeWord:`this machine`,path:e.path,id:e.id,label:e.label,section:e.section,read:e.read,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e})}}function vc(e){return e===`local`?`local`:e===`utc`?`utc`:`custom`}function yc(e){return e.mode===`local`?`local`:e.mode===`utc`?`utc`:e.custom.trim()}function bc(e){if(!e)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}).format(new Date),!0}catch{return!1}}var xc=`Enter a whole number between 10 and 1000.`;function Sc(e){let t=e.trim();if(!/^\d+$/.test(t))return{ok:!1,message:xc};let n=Number.parseInt(t,10);return!Number.isFinite(n)||n<10||n>1e3?{ok:!1,message:xc}:{ok:!0,value:n}}var Cc=`Enter an amount greater than 0, or leave blank for no budget.`;function wc(e){let t=e.trim();if(t===``)return{ok:!0,value:null};if(!/^\d*\.?\d+$/.test(t))return{ok:!1,message:Cc};let n=Number(t);return!Number.isFinite(n)||n<=0?{ok:!1,message:Cc}:{ok:!0,value:n}}var Tc={kind:`server`,id:`display.tz`,label:`Display timezone`,path:`display.tz`,section:`display`,scope:`machine`,scopeWord:`this machine`,read:e=>e.tz,toDraft:e=>({mode:vc(e),custom:vc(e)===`custom`?e:``}),equivalent:(e,t)=>{let n=yc(e);return e.mode===`custom`&&!bc(n)?!1:n===t},parse:e=>{let t=yc(e);return e.mode===`custom`&&!bc(t)?{ok:!1,message:t?`"${t}" is not an IANA zone name. Try a Region/City name such as America/New_York.`:`Type an IANA zone name, such as America/New_York.`}:{ok:!0,value:t}},suppressed:e=>e.tzPinned},Ec={kind:`server`,id:`alerts.notifier`,label:`Alert notifier`,path:`alerts.notifier`,section:`alerts`,scope:`machine`,scopeWord:`this machine`,read:e=>e.alerts.notifier??`auto`,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e})},Dc={kind:`server`,id:`update.channel`,label:`Update channel`,path:`update.channel`,section:`access`,scope:`machine`,scopeWord:`this machine`,read:e=>e.channel,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e})},Oc={kind:`server`,id:`budget.weekly_usd`,label:`Weekly budget`,path:`budget.weekly_usd`,section:`alerts`,scope:`machine`,scopeWord:`this machine`,read:e=>e.alerts.weekly_usd,toDraft:e=>e===null?``:String(e),equivalent:(e,t)=>{let n=wc(e);return n.ok&&n.value===t},parse:wc},kc={kind:`browser`,id:`prefs.sortDefault`,label:`Sort default`,path:null,section:`sessions`,scope:`browser`,scopeWord:`this browser`,read:e=>e.sortDefault,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e}),commit:e=>[{type:`SAVE_PREFS`,patch:{sortDefault:e}},{type:`SET_SORT`,key:e},{type:`SET_TABLE_SORT`,table:`sessions`,override:null}]},Ac={kind:`browser`,id:`prefs.sessionsPerPage`,label:`Sessions per page`,path:null,section:`sessions`,scope:`browser`,scopeWord:`this browser`,read:e=>e.sessionsPerPage,toDraft:e=>String(e),equivalent:(e,t)=>{let n=Sc(e);return n.ok&&n.value===t},parse:Sc,commit:e=>[{type:`SAVE_PREFS`,patch:{sessionsPerPage:e}}]},jc=[Tc,Ec,_c({id:`alerts.enabled`,label:`Enable threshold alerts`,path:`alerts.enabled`,section:`alerts`,read:e=>e.alerts.enabled}),_c({id:`alerts.projected_enabled`,label:`Projected weekly-% pace alerts`,path:`alerts.projected_enabled`,section:`alerts`,read:e=>e.alerts.projected_weekly_enabled??!1}),_c({id:`alerts.rate_change_enabled`,label:`Metering-rate-change notifications`,path:`alerts.rate_change_enabled`,section:`alerts`,read:e=>e.alerts.rate_change_enabled??!1}),Oc,_c({id:`budget.projected_enabled`,label:`Projected budget-$ pace alerts`,path:`budget.projected_enabled`,section:`alerts`,read:e=>e.alerts.projected_budget_enabled??!1}),_c({id:`budget.project_alerts_enabled`,label:`Per-project budget alerts`,path:`budget.project_alerts_enabled`,section:`alerts`,read:e=>e.alerts.project_alerts_enabled??!1}),_c({id:`budget.codex.alerts_enabled`,label:`Codex budget alerts`,path:`budget.codex.alerts_enabled`,section:`alerts`,read:e=>e.alerts.codex_budget_alerts_enabled??!1}),_c({id:`budget.codex.projected_enabled`,label:`Codex projected-pace alerts`,path:`budget.codex.projected_enabled`,section:`alerts`,read:e=>e.alerts.codex_projected_enabled??!1}),_c({id:`dashboard.cache_failure_markers`,label:`Show cache-failure markers`,path:`dashboard.cache_failure_markers`,section:`viewer`,read:e=>e.markersEnabled}),_c({id:`dashboard.live_tail`,label:`Live-tail new turns`,path:`dashboard.live_tail`,section:`viewer`,read:e=>e.liveTail}),_c({id:`dashboard.lan_auth`,label:`Require LAN access token`,path:`dashboard.lan_auth`,section:`access`,read:e=>e.lanAuth}),Dc,kc,Ac,{kind:`browser`,id:`prefs.filterText`,label:`Remembered filter term`,path:null,section:`sessions`,scope:`browser`,scopeWord:`this browser`,read:e=>e.filterText,toDraft:e=>e,equivalent:(e,t)=>e===t,parse:e=>({ok:!0,value:e}),commit:e=>[{type:`SET_FILTER`,text:e}]},{kind:`stagedAction`,id:`restore.tableSort`,label:`Table column sorting`,path:null,section:`restore`,scope:`browser`,scopeWord:`this browser`,commit:()=>[{type:`SET_TABLE_SORT`,table:`sessions`,override:null},{type:`CLEAR_TABLE_SORTS`}]},{kind:`stagedAction`,id:`restore.cardOrder`,label:`Card order`,path:null,section:`restore`,scope:`browser`,scopeWord:`this browser`,commit:()=>[{type:`RESET_PANEL_ORDER`}]}],Mc=new Map(jc.map(e=>[e.id,e]));function Nc(e){return Mc.get(e)}var Pc={display:`display`,alerts:`alerts`,budget:`alerts`,"budget.codex":`alerts`,dashboard:`viewer`,update:`access`,"update.check":`access`,"update.check.enabled":`access`,"update.check.ttl_hours":`access`,cache_report:null},Fc=new Map(jc.filter(e=>e.kind===`server`).map(e=>[e.path,e.id]));function Ic(e){let t=Fc.get(e);if(t!==void 0)return{kind:`leaf`,id:t};if(Object.hasOwn(Pc,e)){let t=Pc[e];if(t!==null)return{kind:`group`,section:t}}return{kind:`form`}}function Lc(e){return e.filter(e=>Fc.has(e))}var Rc=[{key:`display.tz`,label:`Display timezone`,section:`display`,disposition:`editable`,fieldId:`display.tz`,command:`cctally config set display.tz America/New_York`,reason:``,defaultText:`local`},{key:`alerts.enabled`,label:`Enable threshold alerts`,section:`alerts`,disposition:`editable`,fieldId:`alerts.enabled`,command:`cctally config set alerts.enabled true`,reason:``,defaultText:`false`},{key:`alerts.projected_enabled`,label:`Projected weekly-% pace alerts`,section:`alerts`,disposition:`editable`,fieldId:`alerts.projected_enabled`,command:`cctally config set alerts.projected_enabled true`,reason:``,defaultText:`false`},{key:`alerts.rate_change_enabled`,label:`Metering-rate-change notifications`,section:`alerts`,disposition:`editable`,fieldId:`alerts.rate_change_enabled`,command:`cctally config set alerts.rate_change_enabled true`,reason:``,defaultText:`false`},{key:`alerts.notifier`,label:`Alert notifier`,section:`alerts`,disposition:`editable`,fieldId:`alerts.notifier`,command:`cctally config set alerts.notifier osascript`,reason:``,defaultText:`auto`},{key:`alerts.command_template`,label:`Custom notifier command`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set alerts.command_template '["notify-send","{title}","{body}"]'`,reason:`It runs a local command and routinely holds secrets, so it never reaches a browser — only the boolean "a command is configured" does.`,defaultText:`null`},{key:`alerts.quota`,label:`Codex quota alert rules`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set alerts.quota '{"enabled": true, "actual_thresholds": [90, 95], "projected_thresholds": [], "rules": []}'`,reason:`A whole rules object, written as one value rather than field by field.`,defaultText:`{"enabled": false, "actual_thresholds": [90, 95], "projected_thresholds": [], "rules": []}`},{key:`budget.weekly_usd`,label:`Weekly budget`,section:`alerts`,disposition:`editable`,fieldId:`budget.weekly_usd`,command:`cctally budget set 200`,reason:``,defaultText:`null`},{key:`budget.alerts_enabled`,label:`Budget alerts master switch`,section:`alerts`,disposition:`disclosed`,command:`cctally config set budget.alerts_enabled true`,reason:`Budget alerts fire only when an amount is set AND this master is on. There is no editor for it here yet, so this row is how you can tell which of the two is stopping them.`,defaultText:`true`},{key:`budget.alert_thresholds`,label:`Budget alert thresholds`,section:`alerts`,disposition:`readOnly`,command:`cctally config set budget.alert_thresholds 90,100`,reason:`Shown above as a summary; its editor is parked in issue #19.`,defaultText:`90,100`},{key:`budget.projected_enabled`,label:`Projected budget-$ pace alerts`,section:`alerts`,disposition:`editable`,fieldId:`budget.projected_enabled`,command:`cctally config set budget.projected_enabled true`,reason:``,defaultText:`false`},{key:`budget.project_alerts_enabled`,label:`Per-project budget alerts`,section:`alerts`,disposition:`editable`,fieldId:`budget.project_alerts_enabled`,command:`cctally config set budget.project_alerts_enabled true`,reason:``,defaultText:`false`},{key:`budget.period`,label:`Claude budget period`,section:`alerts`,disposition:`cliOnly`,acceptedThenDiscarded:!0,command:`cctally config set budget.period calendar-month`,reason:`The dashboard accepts this leaf and runs the same forward-only reconcile the CLI does, but never stores it.`,defaultText:`subscription-week`},{key:`budget.projects`,label:`Per-project budgets`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set budget.projects '{"/Users/you/repos/cctally-dev": 50}'`,reason:`A map of canonical git-root paths to amounts, written as one object.`,defaultText:`{}`},{key:`budget.accounts`,label:`Per-account Claude budgets`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set budget.accounts '{"work": 200}'`,reason:`Account references are resolved to immutable account keys at write time, which a browser cannot do.`,defaultText:`{}`},{key:`budget.codex`,label:`Codex budget block`,section:`alerts`,disposition:`cliOnly`,command:`cctally budget set 200 --vendor codex`,reason:`The whole Codex budget object. Amounts are never invented from a browser.`,defaultText:`null`},{key:`budget.codex.amount_usd`,label:`Codex budget amount`,section:`alerts`,disposition:`cliOnly`,acceptedThenDiscarded:!0,command:`cctally budget set 200 --vendor codex`,reason:`Accepted by the dashboard and dropped: amounts stay CLI-only.`,defaultText:`null`},{key:`budget.codex.period`,label:`Codex budget period`,section:`alerts`,disposition:`cliOnly`,acceptedThenDiscarded:!0,command:`cctally config set budget.codex.period calendar-month`,reason:`Accepted by the dashboard and dropped, like every CLI-only Codex leaf.`,defaultText:`calendar-month`},{key:`budget.codex.alert_thresholds`,label:`Codex budget alert thresholds`,section:`alerts`,disposition:`cliOnly`,acceptedThenDiscarded:!0,command:`cctally config set budget.codex.alert_thresholds 90,100`,reason:`Accepted by the dashboard and dropped, like every CLI-only Codex leaf.`,defaultText:`90,100`},{key:`budget.codex.alerts_enabled`,label:`Codex budget alerts`,section:`alerts`,disposition:`editable`,fieldId:`budget.codex.alerts_enabled`,command:`cctally config set budget.codex.alerts_enabled true`,reason:``,defaultText:`false`},{key:`budget.codex.projected_enabled`,label:`Codex projected-pace alerts`,section:`alerts`,disposition:`editable`,fieldId:`budget.codex.projected_enabled`,command:`cctally config set budget.codex.projected_enabled true`,reason:``,defaultText:`false`},{key:`budget.codex.accounts`,label:`Per-account Codex budgets`,section:`alerts`,disposition:`cliOnly`,command:`cctally config set budget.codex.accounts '{"work": 150}'`,reason:`Account references are resolved to immutable account keys at write time, which a browser cannot do.`,defaultText:`{}`},{key:`dashboard.cache_failure_markers`,label:`Show cache-failure markers`,section:`viewer`,disposition:`editable`,fieldId:`dashboard.cache_failure_markers`,command:`cctally config set dashboard.cache_failure_markers false`,reason:``,defaultText:`true`},{key:`dashboard.live_tail`,label:`Live-tail new turns`,section:`viewer`,disposition:`editable`,fieldId:`dashboard.live_tail`,command:`cctally config set dashboard.live_tail false`,reason:``,defaultText:`true`},{key:`conversation.retention_days`,label:`Transcript retention`,section:`viewer`,disposition:`cliOnly`,command:`cctally config set conversation.retention_days 90`,reason:`It governs deletion from cache.db, so it is set deliberately from the CLI rather than from a browser.`,defaultText:`90`},{key:`dashboard.lan_auth`,label:`Require LAN access token`,section:`access`,disposition:`editable`,fieldId:`dashboard.lan_auth`,command:`cctally config set dashboard.lan_auth false`,reason:``,defaultText:`true`},{key:`dashboard.bind`,label:`Dashboard bind address`,section:`access`,disposition:`cliOnly`,command:`cctally config set dashboard.bind lan`,reason:`It applies only at server startup, so changing it from the running dashboard could not take effect.`,defaultText:`loopback`},{key:`dashboard.expose_transcripts`,label:`Expose transcripts beyond loopback`,section:`access`,disposition:`cliOnly`,command:`cctally config set dashboard.expose_transcripts true`,reason:`A privacy gate read at bind time. It is deliberately not live-mutable from the surface it would expose.`,defaultText:`false`},{key:`update.channel`,label:`Update channel`,section:`access`,disposition:`editable`,fieldId:`update.channel`,command:`cctally config set update.channel beta`,reason:``,defaultText:`stable`},{key:`update.check.enabled`,label:`Background update check`,section:`access`,disposition:`disclosed`,command:`cctally config set update.check.enabled false`,reason:`The endpoint can write it, but no editor is rendered here; the CLI is the way to change it.`,defaultText:`true`},{key:`update.check.ttl_hours`,label:`Update-check interval`,section:`access`,disposition:`disclosed`,command:`cctally config set update.check.ttl_hours 24`,reason:`The endpoint can write it, but no editor is rendered here; the CLI is the way to change it.`,defaultText:`24`},{key:`telemetry.enabled`,label:`Anonymous install-count telemetry`,section:`access`,disposition:`cliOnly`,command:`cctally telemetry off`,reason:`Deliberately not dashboard-mirrored, so opting out is a decision you make at the CLI.`,defaultText:`true`},{key:`statusline.cctally_extensions`,label:`Status-line cctally segment`,section:`cli`,disposition:`cliOnly`,command:`cctally config set statusline.cctally_extensions false`,reason:`It shapes the Claude Code status line, which this dashboard does not render.`,defaultText:`true`},{key:`statusline.cost_source`,label:`Status-line cost source`,section:`cli`,disposition:`cliOnly`,command:`cctally config set statusline.cost_source cctally`,reason:`It shapes the Claude Code status line, which this dashboard does not render.`,defaultText:`auto`},{key:`statusline.usage_only`,label:`Status-line usage-only mode`,section:`cli`,disposition:`cliOnly`,command:`cctally config set statusline.usage_only true`,reason:`It shapes the Claude Code status line, which this dashboard does not render.`,defaultText:`false`},{key:`statusline.visual_burn_rate`,label:`Status-line burn-rate indicator`,section:`cli`,disposition:`cliOnly`,command:`cctally config set statusline.visual_burn_rate emoji`,reason:`It shapes the Claude Code status line, which this dashboard does not render.`,defaultText:`off`},{key:`storage.artifact_retention`,label:`Recovery-artifact retention policy`,section:`cli`,disposition:`cliOnly`,command:`cctally config set storage.artifact_retention '{"max_age_days": 30, "max_count_per_family": 20, "max_total_mib": 4096, "min_free_mib": 10240, "max_shape_examples": 8}'`,reason:`A destructive retention policy written as one whole object; cctally never falls back to a policy you did not write.`,defaultText:`{"max_age_days": 30, "max_count_per_family": 20, "max_total_mib": 4096, "min_free_mib": 10240, "max_shape_examples": 8}`},{key:`codex.hook.ingest_budget_seconds`,label:`Codex hook ingest budget`,section:`cli`,disposition:`cliOnly`,command:`cctally config set codex.hook.ingest_budget_seconds 5`,reason:`A hook-path deadline read outside any browser session; it never applies to this dashboard.`,defaultText:`5`}];new Map(Rc.map(e=>[e.key,e]));function zc({sections:e,activeId:t,onJump:n}){return(0,W.jsx)(`nav`,{className:`settings-rail`,"aria-label":`Settings sections`,children:(0,W.jsx)(`ul`,{children:e.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsxs)(`button`,{type:`button`,className:`settings-rail-link${e.id===t?` is-active`:``}`,"aria-current":e.id===t?`location`:void 0,onClick:()=>n(e.id),onFocus:e=>e.currentTarget.scrollIntoView?.({block:`nearest`,inline:`nearest`}),children:[e.title,e.dirty&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:` ●`}),(0,W.jsx)(`span`,{className:`sr-only`,children:` (has unsaved changes)`})]})]})},e.id))})})}function Bc(e,t,n){let[r,i]=(0,U.useState)(t[0]??null),a=t.join(`|`),o=(0,U.useRef)(t);o.current=t;let s=(0,U.useCallback)(()=>{let t=e.current;if(!t)return;let r=o.current;if(r.length===0){i(null);return}let a=t.getBoundingClientRect().top+n;if(t.scrollHeight-t.scrollTop-t.clientHeight<=1){i(r[r.length-1]);return}let s=r[0];for(let e of r){let n=t.querySelector(`[data-settings-section="${e}"]`);n&&n.getBoundingClientRect().top<=a&&(s=e)}i(s)},[e,n]);return(0,U.useEffect)(()=>{let t=e.current;if(!t)return;s(),t.addEventListener(`scroll`,s,{passive:!0});let r=null;if(typeof IntersectionObserver<`u`){r=new IntersectionObserver(()=>s(),{root:t,rootMargin:`-${n}px 0px 0px 0px`,threshold:0});for(let e of o.current){let n=t.querySelector(`[data-settings-section="${e}"]`);n&&r.observe(n)}}return()=>{t.removeEventListener(`scroll`,s),r?.disconnect()}},[s,a,n]),r}function Vc(){return jc.filter(e=>e.kind===`server`||e.kind===`browser`)}function Q(e){let t={},n={};for(let r of Vc()){let i=r.read(e);n[r.id]=i,t[r.id]=r.toDraft(i)}let r={};for(let e of jc)e.kind===`stagedAction`&&(r[e.id]=!1);return{draft:t,server:n,staged:r,sources:e}}function Hc(e,t){let n={...e.draft},r={...e.server};for(let e of Vc()){let i=r[e.id],a=e.read(t);e.equivalent(n[e.id],i)&&(n[e.id]=e.toDraft(a)),r[e.id]=a}return{...e,draft:n,server:r,sources:t}}function Uc(e,t,n){return{...e,draft:{...e.draft,[t]:n}}}function Wc(e,t){return{...e,staged:{...e.staged,[t]:!e.staged[t]}}}function Gc(e,t){let n=Nc(t);return n?n.kind===`stagedAction`?e.staged[t]===!0:!n.equivalent(e.draft[t],e.server[t]):!1}function Kc(e){return jc.filter(t=>Gc(e,t.id)).map(e=>e.id)}function qc(e){return Kc(e).length}function Jc(e,t){return jc.some(n=>n.section===t&&Gc(e,n.id))}function Yc(e){let t={};for(let n of Vc()){let r=n.parse(e.draft[n.id]);r.ok||(t[n.id]=r.message)}return t}function Xc(e,t,n){let r=t.split(`.`),i=e;for(let e of r.slice(0,-1)){let t=i[e];(typeof t!=`object`||!t)&&(i[e]={}),i=i[e]}i[r[r.length-1]]=n}function Zc(e){let t={};for(let n of jc){if(n.kind!==`server`)continue;let r=n;if(!Gc(e,r.id)||r.suppressed?.(e.sources))continue;let i=r.parse(e.draft[r.id]);i.ok&&Xc(t,r.path,i.value)}return t}function Qc(e){let t=[];for(let n of jc)if(Gc(e,n.id))if(n.kind===`browser`){let r=n,i=r.parse(e.draft[r.id]);if(!i.ok)continue;t.push(...r.commit(i.value))}else n.kind===`stagedAction`&&t.push(...n.commit());return t}function $c(e,t){let[n,r]=(0,U.useState)(()=>Q(e)),i=(0,U.useRef)(!1),a=(0,U.useRef)(e);a.current=e,(0,U.useEffect)(()=>{t&&!i.current?r(Q(a.current)):t&&r(e=>Hc(e,a.current)),i.current=t},[t,e.tz,e.tzPinned,e.alerts,e.markersEnabled,e.liveTail,e.lanAuth,e.channel,e.sortDefault,e.sessionsPerPage,e.filterText]);let o={...n,sources:e},s=(0,U.useCallback)((e,t)=>{r(n=>Uc(n,e,t))},[]),c=(0,U.useCallback)(e=>{r(t=>Wc(t,e))},[]),l=(0,U.useCallback)(()=>{r(Q(a.current))},[]),u=Yc(o);return{state:o,drafts:o.draft,dirtyIds:Kc(o),dirtyCount:qc(o),issues:u,valid:Object.keys(u).length===0,sectionDirty:e=>Jc(o,e),isDirty:e=>Gc(o,e),draftOf:e=>o.draft[e],staged:e=>o.staged[e]===!0,setDraft:s,toggleStaged:c,open:l,buildBody:()=>Zc(o),localActions:()=>Qc(o)}}var el={weekly_pct:`Weekly %`,budget_usd:`Budget $`,codex_budget_usd:`Codex $`};function tl(e){try{return`${e} (${new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``})`}catch{return e}}var nl={"display.tz":`timezone zone clock IANA local utc offset`,"alerts.notifier":`osascript notify-send popup dispatch backend`,"alerts.enabled":`threshold master weekly 5h`,"alerts.projected_enabled":`pace projection weekly percent`,"alerts.rate_change_enabled":`metering rate change provider quota units per point`,"budget.weekly_usd":`amount equivalent dollars spend cap`,"budget.projected_enabled":`pace projection budget dollars`,"budget.project_alerts_enabled":`per-project git root`,"budget.codex.alerts_enabled":`openai codex spend`,"budget.codex.projected_enabled":`openai codex pace projection`,"dashboard.cache_failure_markers":`conversation viewer cache rebuild marker`,"dashboard.live_tail":`conversation viewer follow new turns`,"dashboard.lan_auth":`token network security bind`,"update.channel":`stable beta release`,"prefs.sortDefault":`recent sessions order column`,"prefs.sessionsPerPage":`recent sessions paging rows`,"prefs.filterText":`recent sessions remembered search`,"restore.tableSort":`reset column click sorting`,"restore.cardOrder":`reset panel arrangement layout`},rl=[{key:`action.test`,section:`alerts`,index:`Send test alert synthetic dispatch pipeline toast log this machine`},{key:`restore.viewPrefs`,section:`restore`,index:`Restore view preferences sort default sessions per page remembered filter this browser`}];function il(e){return[e.label,e.key,e.reason,e.command,`this machine`].join(` `)}function al(e){return e.focus(),e.ownerDocument.activeElement===e}function ol(e,t){if(!e)return!1;if(t.kind===`leaf`){let n=e.querySelector(`[data-settings-field="${t.id}"]`);return n?al(n):!1}if(t.kind===`group`){let n=e.querySelector(`[data-settings-section="${t.section}"]`);if(n&&al(n))return!0;for(let n of jc){if(n.section!==t.section)continue;let r=e.querySelector(`[data-settings-field="${n.id}"]:not(:disabled)`);if(r&&al(r))return!0}return!1}return!1}function sl(){let[e,t]=(0,U.useState)(!1),r=(0,U.useSyncExternalStore)(F,()=>R().prefs),i=(0,U.useSyncExternalStore)(F,()=>R().filterText),a=Vn(),o=Cs(),s=(0,U.useSyncExternalStore)(F,()=>R().alertsConfig),c=(0,U.useSyncExternalStore)(F,()=>Ne(R())),l=(0,U.useSyncExternalStore)(F,()=>De(R())),u=(0,U.useSyncExternalStore)(F,()=>ae(R())),d=(0,U.useSyncExternalStore)(F,()=>de(R())),f=(0,U.useSyncExternalStore)(F,()=>R().update.state?.method??`unknown`),p=$c({tz:a.tz,tzPinned:a.pinned,alerts:s,markersEnabled:c,liveTail:l,lanAuth:u,channel:d,sortDefault:r.sortDefault,sessionsPerPage:r.sessionsPerPage,filterText:i},e),[m,h]=(0,U.useState)(!1),[g,_]=(0,U.useState)([]),[v,y]=(0,U.useState)(0),[b,x]=(0,U.useState)(!1),[S,C]=(0,U.useState)(!1),[w,T]=(0,U.useState)(null),[ee,E]=(0,U.useState)(!1),[D,O]=(0,U.useState)(`weekly`),[k,te]=(0,U.useState)(`weekly_pct`),[A,j]=(0,U.useState)(!1),[M,ne]=(0,U.useState)(``),[re,ie]=(0,U.useState)(``),[N,P]=(0,U.useState)(null),[oe,se]=(0,U.useState)(0),ce=(0,U.useRef)(!1);(0,U.useEffect)(()=>{e&&!ce.current&&(T(null),E(!1),O(`weekly`),x(!1),j(!1),_([]),ne(``),ie(``)),ce.current=e},[e]),(0,U.useEffect)(()=>{let e=window.setTimeout(()=>ie(M),300);return()=>window.clearTimeout(e)},[M]),(0,U.useEffect)(()=>{if(!m){y(0);return}let e=setInterval(()=>y(e=>e+1),1e3);return()=>clearInterval(e)},[m]),we([{key:`s`,scope:`global`,view:`any`,action:()=>t(!0),when:()=>!R().openModal},{key:`Escape`,scope:`modal`,action:()=>Ge(),when:()=>e},{key:`0`,scope:`modal`,action:()=>{},when:()=>e},{key:`1`,scope:`modal`,action:()=>{},when:()=>e},{key:`2`,scope:`modal`,action:()=>{},when:()=>e},{key:`3`,scope:`modal`,action:()=>{},when:()=>e},{key:`4`,scope:`modal`,action:()=>{},when:()=>e},{key:`5`,scope:`modal`,action:()=>{},when:()=>e},{key:`6`,scope:`modal`,action:()=>{},when:()=>e},{key:`7`,scope:`modal`,action:()=>{},when:()=>e},{key:`8`,scope:`modal`,action:()=>{},when:()=>e},{key:`9`,scope:`modal`,action:()=>{},when:()=>e}]);let L=(0,U.useRef)(null);Ur(L,{active:e});let ue=(0,U.useRef)(null),z=(0,U.useRef)(null),fe=(0,U.useRef)(null),B=(0,U.useRef)(null),pe=(0,U.useRef)(null);(0,U.useEffect)(()=>{A&&ue.current?.focus()},[A]),(0,U.useEffect)(()=>{let e=L.current;if(!e)return;for(let t of Array.from(e.children))t instanceof HTMLElement&&(t.classList.contains(`settings-confirm`)||(t.inert=A));let t=e.querySelector(`.modal-body`);t&&(t.inert=A)},[A]),(0,U.useEffect)(()=>{let e=pe.current;if(!e||typeof ResizeObserver>`u`)return;let t=()=>se(e.getBoundingClientRect().height);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]);let me=[...jc.map(e=>({key:e.id,section:e.section,index:[e.label,e.id,e.scopeWord,nl[e.id]??``].join(` `)})),...Rc.filter(e=>e.disposition!==`editable`).map(e=>({key:`manifest:${e.key}`,section:e.section,index:il(e)})),...rl],he=M.trim().toLowerCase(),ge=new Set(me.filter(e=>he===``||e.index.toLowerCase().includes(he)).map(e=>e.key)),V=e=>me.some(t=>t.section===e&&ge.has(t.key)),_e=hc.filter(V),ye=Bc(fe,_e,oe+24);if((0,U.useEffect)(()=>{N&&(ol(L.current,N)||z.current?.focus(),P(null))},[N]),qr(e),(0,U.useEffect)(()=>{if(e)return I({type:`INCREMENT_CHROME_OVERLAY`}),()=>I({type:`DECREMENT_CHROME_OVERLAY`})},[e]),!e)return null;let be=p.draftOf(`display.tz`),xe=be.mode!==`custom`||bc(be.custom.trim()),Ce=e=>p.setDraft(`display.tz`,{...be,...e}),Te=p.draftOf(`alerts.notifier`),Ee=s.command_configured??!1,Oe=p.dirtyCount,ke=e=>g.find(t=>t.target.kind===`leaf`&&t.target.id===e)?.message,Ae=(e,t)=>{p.setDraft(e,t),_(t=>t.filter(t=>t.key!==e))},je=e=>{let t=p.issues[e];_(n=>{let r=n.filter(t=>t.key!==e);if(!t)return r;let i=Nc(e);return[...r,{key:e,message:`${i?.label??e}: ${t}`,target:{kind:`leaf`,id:e}}]})},Me=e=>{let t=L.current,n=document.activeElement;t&&n&&n!==B.current&&t.contains(n)&&B.current?.focus(),ne(e)},H=e=>ge.has(e),Pe=e=>{if(!ol(L.current,e)){if(e.kind===`leaf`&&!ge.has(e.id)){Me(``),P(e);return}if(e.kind===`group`&&!V(e.section)){Me(``),P(e);return}z.current?.focus()}},Fe=e=>{let t=fe.current,n=t?.querySelector(`[data-settings-section="${e}"]`);if(!t||!n)return;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),a=Math.max(0,t.scrollHeight-t.clientHeight),s=t.scrollTop+i.top-r.top-16,c=Math.max(0,Math.min(s,a));typeof t.scrollTo==`function`?t.scrollTo({top:c,behavior:o?`auto`:`smooth`}):t.scrollTop=c,n.focus({preventScroll:!0})},Ie=Oe===0||m,Le=()=>{m||(j(!1),x(!1),t(!1))},Re=async()=>{let e=p.issues,t=jc.filter(t=>e[t.id]!==void 0);if(t.length>0){_(t.map(t=>({key:t.id,message:`${t.label}: ${e[t.id]}`,target:{kind:`leaf`,id:t.id}}))),Pe({kind:`leaf`,id:t[0].id});return}_([]);let n=p.buildBody();if(Object.keys(n).length>0){h(!0);try{let e=await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}),t=await e.json().catch(()=>({}));if(!e.ok){let n=Ic(t.field??`$`),r=t.error??`HTTP ${e.status}`;_([{key:t.field??`$`,message:r,target:n}]),h(!1),Pe(n);return}let r=Lc(t.ignored_fields??[]);if(r.length>0){_(r.map(e=>{let t=Ic(e);return{key:e,message:`The server did not persist ${e}. This dashboard expected to be able to write it, so the two disagree about the settings contract. Set it from the CLI and report the mismatch.`,target:t}})),h(!1),Pe(Ic(r[0]));return}t.dashboard&&I({type:`INGEST_DASHBOARD_PREFS`,prefs:t.dashboard})}catch(e){_([{key:`$`,message:e instanceof Error?e.message:`unknown error`,target:{kind:`form`}}]),h(!1),Pe({kind:`form`});return}h(!1)}for(let e of p.localActions())I(e);if(p.isDirty(`dashboard.lan_auth`)){x(!0);return}Le()},ze=()=>{let e=Se();Ae(`prefs.sortDefault`,e.sortDefault),Ae(`prefs.sessionsPerPage`,String(e.sessionsPerPage)),Ae(`prefs.filterText`,``)},Be=Se(),Ve=p.draftOf(`prefs.sessionsPerPage`),He=p.draftOf(`prefs.sortDefault`)===Be.sortDefault&&Ve.trim()===String(Be.sessionsPerPage)&&p.draftOf(`prefs.filterText`)===``,Ue=!!r.trendSortOverride||!!r.sessionsSortOverride||!!r.projectsSortOverride||!!r.historySortOverrides.week||!!r.historySortOverrides.month,We=r.panelOrder.length===le.length&&r.panelOrder.every((e,t)=>e===le[t]),Ge=()=>{if(!m){if(A){j(!1);return}if(Oe>0){j(!0);return}Le()}},Ke=e=>e?(0,W.jsxs)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:[` `,`●`]}):null,qe=(...e)=>e.some(e=>p.isDirty(e)),Je=p.isDirty(`display.tz`),Ye=p.isDirty(`alerts.notifier`),Xe=qe(`alerts.enabled`,`alerts.projected_enabled`,`alerts.rate_change_enabled`,`budget.weekly_usd`,`budget.projected_enabled`,`budget.project_alerts_enabled`),Ze=qe(`budget.codex.alerts_enabled`,`budget.codex.projected_enabled`),Qe=qe(`dashboard.cache_failure_markers`,`dashboard.live_tail`),$e=p.isDirty(`dashboard.lan_auth`),et=p.isDirty(`update.channel`),tt=p.isDirty(`prefs.sortDefault`),nt=p.isDirty(`prefs.sessionsPerPage`),rt=p.isDirty(`prefs.filterText`),it=qe(`restore.tableSort`,`restore.cardOrder`),at=m?v>=3?`Still saving and refreshing… ${v}s elapsed. A large history can make this take a while; the dashboard is not stuck.`:``:Oe===0?``:`${Oe} unsaved change${Oe===1?``:`s`}.`,G=e=>e===`browser`?(0,W.jsx)(`span`,{className:`settings-scope`,children:` (this browser)`}):(0,W.jsx)(`span`,{className:`sr-only`,children:` Scope: this machine.`}),ot=e=>(0,W.jsx)(`code`,{className:`settings-key`,children:e}),st=e=>(0,W.jsxs)(`div`,{className:`settings-disclosure`,children:[(0,W.jsxs)(`p`,{className:`settings-disclosure-label`,children:[e.label,` `,ot(e.key),G(`machine`)]}),(0,W.jsxs)(`p`,{className:`settings-hint`,children:[e.reason,e.acceptedThenDiscarded?` The dashboard accepts this key on a save and deliberately does not store it.`:``]}),(0,W.jsxs)(`p`,{className:`settings-hint`,children:[`Default: `,(0,W.jsx)(`code`,{children:e.defaultText})]}),(0,W.jsxs)(`p`,{className:`settings-command`,children:[`Run: `,(0,W.jsx)(`code`,{children:e.command})]})]},e.key),ct=e=>Rc.filter(t=>t.section===e&&t.disposition!==`editable`&&H(`manifest:${t.key}`)).map(st),lt=(e,t)=>(0,W.jsxs)(`h3`,{className:`settings-section-title`,id:`settings-h-${e}`,"data-settings-section":e,tabIndex:-1,children:[gc[e],t&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:` ●`}),(0,W.jsx)(`span`,{className:`sr-only`,children:` (has unsaved changes)`})]})]}),ut=_e.map(e=>({id:e,title:gc[e],dirty:p.sectionDirty(e)})),dt=p.dirtyIds.filter(e=>!ge.has(e)),ft=me.length,pt=e=>{let t=e.trim().toLowerCase(),n=me.filter(e=>t===``||e.index.toLowerCase().includes(t)).length;return t===``?`${ft} settings`:`${n} of ${ft} settings match “${e.trim()}”`},mt=pt(M),ht=pt(re);return(0,W.jsxs)(`div`,{id:`settings-root`,children:[(0,W.jsx)(`div`,{className:`modal-backdrop`,onClick:Ge}),(0,W.jsxs)(`div`,{ref:L,className:`modal-card accent-orange settings-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,tabIndex:-1,children:[(0,W.jsx)(uc,{title:`Settings`,titleId:`settings-title`,onClose:Le,closeDisabled:m}),(0,W.jsxs)(`div`,{className:`settings-chrome`,children:[(0,W.jsxs)(`div`,{className:`settings-search`,role:`search`,children:[(0,W.jsx)(`label`,{htmlFor:`settings-filter`,children:`Find a setting`}),(0,W.jsx)(`input`,{ref:B,id:`settings-filter`,type:`search`,value:M,"aria-controls":`settings-scroller`,"aria-describedby":`settings-filter-count`,placeholder:`name, key path, or “browser”`,onChange:e=>Me(e.target.value)})]}),(0,W.jsx)(`p`,{className:`settings-filter-count`,id:`settings-filter-count`,children:mt}),(0,W.jsx)(`p`,{className:`settings-filter-announcement sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:ht}),dt.length>0&&(0,W.jsxs)(`p`,{className:`settings-hidden-dirty`,children:[dt.length===1?`1 unsaved change is hidden by this filter.`:`${dt.length} unsaved changes are hidden by this filter.`,` `,(0,W.jsx)(`button`,{type:`button`,className:`settings-link-btn`,onClick:()=>Me(``),children:`Show all settings`})]})]}),(0,W.jsxs)(`div`,{className:`settings-main`,children:[(0,W.jsx)(zc,{sections:ut,activeId:ye,onJump:Fe}),(0,W.jsxs)(`div`,{className:`modal-body`,id:`settings-scroller`,ref:fe,children:[_e.length===0&&(0,W.jsxs)(`p`,{className:`settings-empty`,children:[`No setting matches “`,M.trim(),`”. Try a shorter word, a dotted key path such as `,(0,W.jsx)(`code`,{children:`budget.weekly_usd`}),`, or`,` `,(0,W.jsx)(`button`,{type:`button`,className:`settings-link-btn`,onClick:()=>Me(``),children:`show all settings`}),`.`]}),V(`display`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-display`,children:[lt(`display`,p.sectionDirty(`display`)),H(`display.tz`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Je?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Display timezone `,ot(`display.tz`),G(`machine`),Ke(Je)]}),a.pinned&&(0,W.jsx)(`small`,{children:`Pinned by --tz flag — restart the server without --tz to change here.`}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`local`,checked:be.mode===`local`,onChange:()=>Ce({mode:`local`}),disabled:a.pinned}),` `,`Local (`,a.resolvedTz,`)`]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`utc`,checked:be.mode===`utc`,onChange:()=>Ce({mode:`utc`}),disabled:a.pinned}),` `,`UTC`]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`custom`,checked:be.mode===`custom`,onChange:()=>Ce({mode:`custom`}),disabled:a.pinned}),` `,`Custom`]}),(0,W.jsx)(`label`,{htmlFor:`settings-tz-custom`,children:`Custom zone`}),(0,W.jsx)(`input`,{id:`settings-tz-custom`,type:`text`,"data-settings-field":`display.tz`,value:be.custom,onChange:e=>Ce({custom:e.target.value}),onBlur:()=>je(`display.tz`),disabled:be.mode!==`custom`||a.pinned,placeholder:`America/New_York`,"aria-invalid":ke(`display.tz`)!==void 0}),be.mode===`custom`&&be.custom.trim()&&xe&&(0,W.jsxs)(`small`,{children:[`resolves to: `,tl(be.custom.trim())]})]}),ct(`display`)]}),V(`sessions`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-sessions`,children:[lt(`sessions`,p.sectionDirty(`sessions`)),H(`prefs.sortDefault`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${tt?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Sort default`,G(`browser`),Ke(tt)]}),ve.map(({key:e,label:t})=>(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`sort-default`,value:e,"data-settings-field":e===ve[0].key?`prefs.sortDefault`:void 0,checked:p.draftOf(`prefs.sortDefault`)===e,onChange:()=>Ae(`prefs.sortDefault`,e)}),` `,t]},e))]}),H(`prefs.filterText`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${rt?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Remembered filter term`,G(`browser`),Ke(rt)]}),(0,W.jsx)(`label`,{htmlFor:`settings-filter-term`,children:`Remembered filter term`}),(0,W.jsx)(`input`,{id:`settings-filter-term`,type:`text`,placeholder:`(none)`,"data-settings-field":`prefs.filterText`,value:p.draftOf(`prefs.filterText`),onChange:e=>Ae(`prefs.filterText`,e.target.value)})]}),H(`prefs.sessionsPerPage`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${nt?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Sessions per page`,G(`browser`),Ke(nt)]}),(0,W.jsx)(`label`,{htmlFor:`settings-per-page`,children:`Sessions per page`}),(0,W.jsx)(`input`,{id:`settings-per-page`,type:`number`,min:10,max:1e3,"data-settings-field":`prefs.sessionsPerPage`,value:Ve,onChange:e=>Ae(`prefs.sessionsPerPage`,e.target.value),onBlur:()=>je(`prefs.sessionsPerPage`),"aria-invalid":ke(`prefs.sessionsPerPage`)!==void 0})]}),ct(`sessions`)]}),V(`alerts`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-alerts`,children:[lt(`alerts`,p.sectionDirty(`alerts`)),H(`alerts.notifier`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Ye?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Notifications `,ot(`alerts.notifier`),G(`machine`),Ke(Ye)]}),(0,W.jsxs)(`label`,{children:[`Notifier`,` `,(0,W.jsxs)(`select`,{className:`settings-btn settings-select`,value:Te,"aria-label":`Alert notifier`,"data-settings-field":`alerts.notifier`,onChange:e=>Ae(`alerts.notifier`,e.target.value),children:[(0,W.jsx)(`option`,{value:`auto`,children:`Auto-detect`}),(0,W.jsx)(`option`,{value:`osascript`,children:`macOS (osascript)`}),(0,W.jsx)(`option`,{value:`notify-send`,children:`Linux (notify-send)`}),(0,W.jsxs)(`option`,{value:`command`,disabled:!Ee,children:[`Custom command`,Ee?``:` (set via CLI)`]}),(0,W.jsx)(`option`,{value:`none`,children:`None (log only)`})]})]}),Ee&&(0,W.jsx)(`p`,{className:`settings-hint`,children:`Custom command configured (edit via CLI).`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`The notifier backend applies to all alert dispatches (Claude and Codex).`})]}),(H(`alerts.enabled`)||H(`alerts.projected_enabled`)||H(`budget.weekly_usd`)||H(`budget.projected_enabled`)||H(`budget.project_alerts_enabled`))&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Xe?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Claude alerts`,G(`machine`),Ke(Xe)]}),H(`alerts.enabled`)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`alerts-enabled`,"data-settings-field":`alerts.enabled`,checked:p.draftOf(`alerts.enabled`),onChange:e=>Ae(`alerts.enabled`,e.target.checked)}),` `,`Enable threshold alerts `,ot(`alerts.enabled`)]}),(0,W.jsxs)(`p`,{className:`alerts-summary settings-hint`,children:[`Weekly: `,s.weekly_thresholds.map(e=>`${e}%`).join(`, `),` · `,`5h-block:`,` `,s.five_hour_thresholds.map(e=>`${e}%`).join(`, `),` · `,`Budget:`,` `,(s.budget_thresholds??[]).map(e=>`${e}%`).join(`, `)||`—`]})]}),H(`alerts.projected_enabled`)&&(0,W.jsxs)(`div`,{className:`settings-subgroup`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`projected-weekly-enabled`,"data-settings-field":`alerts.projected_enabled`,checked:p.draftOf(`alerts.projected_enabled`),onChange:e=>Ae(`alerts.projected_enabled`,e.target.checked)}),` `,`Projected weekly-% pace alerts `,ot(`alerts.projected_enabled`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Pace is where the week is heading if the last day's rate continues to the reset.`})]}),H(`alerts.rate_change_enabled`)&&(0,W.jsxs)(`div`,{className:`settings-subgroup`,children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`rate-change-enabled`,"data-settings-field":`alerts.rate_change_enabled`,checked:p.draftOf(`alerts.rate_change_enabled`),onChange:e=>Ae(`alerts.rate_change_enabled`,e.target.checked)}),` `,`Metering-rate-change notifications`,` `,ot(`alerts.rate_change_enabled`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`The change is recorded either way and every view shows it. This decides whether it also notifies.`})]}),(H(`budget.weekly_usd`)||H(`budget.projected_enabled`)||H(`budget.project_alerts_enabled`))&&(0,W.jsxs)(`div`,{className:`settings-subgroup`,role:`group`,"aria-label":`Claude budget alerts`,children:[(0,W.jsx)(`p`,{className:`settings-subgroup-label`,children:`Claude budget`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Fire when a configured budget's pace or spend crosses a threshold.`}),H(`budget.weekly_usd`)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{htmlFor:`settings-weekly-budget`,children:[`Weekly budget (equivalent $) `,ot(`budget.weekly_usd`),G(`machine`)]}),(0,W.jsx)(`input`,{id:`settings-weekly-budget`,type:`text`,inputMode:`decimal`,"data-settings-field":`budget.weekly_usd`,value:p.draftOf(`budget.weekly_usd`),onChange:e=>Ae(`budget.weekly_usd`,e.target.value),onBlur:()=>je(`budget.weekly_usd`),placeholder:`none`,"aria-invalid":ke(`budget.weekly_usd`)!==void 0,"aria-describedby":`settings-weekly-budget-help`}),(0,W.jsx)(`p`,{className:`settings-hint`,id:`settings-weekly-budget-help`,children:`Claude's figure is EQUIVALENT dollars — what the same usage would have cost on the API, not a charge. Leave blank for no budget.`}),s.weekly_usd===null&&(0,W.jsx)(`p`,{className:`settings-hint`,children:`No Claude budget is set, so the two budget alerts below cannot fire yet. Enter an amount in the field above.`})]}),H(`budget.projected_enabled`)&&(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`projected-budget-enabled`,"data-settings-field":`budget.projected_enabled`,checked:p.draftOf(`budget.projected_enabled`),onChange:e=>Ae(`budget.projected_enabled`,e.target.checked)}),` `,`Projected budget-$ pace alerts `,ot(`budget.projected_enabled`),G(`machine`)]}),H(`budget.project_alerts_enabled`)&&(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`project-alerts-enabled`,"data-settings-field":`budget.project_alerts_enabled`,checked:p.draftOf(`budget.project_alerts_enabled`),onChange:e=>Ae(`budget.project_alerts_enabled`,e.target.checked)}),` `,`Per-project budget alerts `,ot(`budget.project_alerts_enabled`),G(`machine`)]})]})]}),(H(`budget.codex.alerts_enabled`)||H(`budget.codex.projected_enabled`))&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Ze?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Codex alerts`,G(`machine`),Ke(Ze)]}),(0,W.jsxs)(`div`,{className:`settings-subgroup`,role:`group`,"aria-label":`Codex budget alerts`,children:[(0,W.jsx)(`p`,{className:`settings-subgroup-label`,children:`Codex budget`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Codex's figure is ACTUAL API charges, unlike Claude's equivalent-dollar budget above.`}),H(`budget.codex.alerts_enabled`)&&(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`codex-budget-alerts-enabled`,"data-settings-field":`budget.codex.alerts_enabled`,checked:p.draftOf(`budget.codex.alerts_enabled`),disabled:!s.codex_budget_configured,onChange:e=>Ae(`budget.codex.alerts_enabled`,e.target.checked)}),` `,`Codex budget alerts `,ot(`budget.codex.alerts_enabled`),G(`machine`)]}),H(`budget.codex.projected_enabled`)&&(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`codex-projected-enabled`,"data-settings-field":`budget.codex.projected_enabled`,checked:p.draftOf(`budget.codex.projected_enabled`),disabled:!s.codex_budget_configured,onChange:e=>Ae(`budget.codex.projected_enabled`,e.target.checked)}),` `,`Codex projected-pace alerts `,ot(`budget.codex.projected_enabled`),G(`machine`)]}),!s.codex_budget_configured&&(0,W.jsxs)(`p`,{className:`settings-hint`,children:[`Set a Codex budget via the CLI first:`,` `,(0,W.jsx)(`code`,{children:`cctally budget set 200 --vendor codex`})]})]}),(0,W.jsxs)(`p`,{className:`settings-hint`,children:[`Codex quota-threshold alert rules are not configurable here — manage them via the CLI (`,(0,W.jsx)(`code`,{children:`cctally codex quota …`}),`).`]})]}),H(`action.test`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs settings-fs-subordinate`,children:[(0,W.jsx)(`legend`,{children:`Send a test alert`}),(0,W.jsxs)(`div`,{className:`alerts-test-row`,children:[(0,W.jsxs)(`label`,{children:[`Alert type`,` `,(0,W.jsx)(`select`,{className:`settings-btn settings-select`,value:D,disabled:S,"aria-label":`Alert type`,onChange:e=>O(e.target.value),children:Object.keys(n).map(e=>(0,W.jsx)(`option`,{value:e,children:n[e]},e))})]}),` `,D===`projected`&&(0,W.jsxs)(`label`,{children:[`Metric`,` `,(0,W.jsx)(`select`,{className:`settings-btn settings-select`,value:k,disabled:S,"aria-label":`Metric`,onChange:e=>te(e.target.value),children:Object.keys(el).map(e=>(0,W.jsx)(`option`,{value:e,children:el[e]},e))})]}),` `,(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,disabled:S,onClick:async()=>{C(!0),T(null),E(!1);try{let e=await fetch(`/api/alerts/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({axis:D,threshold:90,...D===`projected`?{metric:k}:{}})}),t=await e.json().catch(()=>({}));t.alert&&I({type:`SHOW_ALERT_TOAST`,alert:t.alert}),t.dispatch===`queued`?E(!0):T(t.dispatch??t.reason??`HTTP ${e.status}`)}catch(e){T(e instanceof Error?e.message:`unknown error`)}C(!1)},children:S?`Sending…`:`Send test alert`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Sends a synthetic alert through the dispatch pipeline so you can verify the toast and log path. It does not write to the database, does not update the Recent alerts panel, and works whether or not threshold alerts are enabled.`})]})]}),ct(`alerts`)]}),V(`viewer`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-viewer`,children:[lt(`viewer`,p.sectionDirty(`viewer`)),(H(`dashboard.cache_failure_markers`)||H(`dashboard.live_tail`))&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${Qe?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Conversation viewer`,G(`machine`),Ke(Qe)]}),H(`dashboard.cache_failure_markers`)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`cache-failure-markers`,"data-settings-field":`dashboard.cache_failure_markers`,checked:p.draftOf(`dashboard.cache_failure_markers`),onChange:e=>Ae(`dashboard.cache_failure_markers`,e.target.checked)}),` `,`Show cache-failure markers `,ot(`dashboard.cache_failure_markers`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Marks assistant turns that re-created the bulk of their cached prefix instead of reading it (a cost inefficiency, usually after an idle gap past the cache TTL). On by default.`})]}),H(`dashboard.live_tail`)&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`live-tail`,"data-settings-field":`dashboard.live_tail`,checked:p.draftOf(`dashboard.live_tail`),onChange:e=>Ae(`dashboard.live_tail`,e.target.checked)}),` `,`Live-tail new turns `,ot(`dashboard.live_tail`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Fetch new turns the instant the session's file changes (instead of waiting for the periodic refresh). On by default.`})]})]}),ct(`viewer`)]}),V(`access`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-access`,children:[lt(`access`,p.sectionDirty(`access`)),H(`dashboard.lan_auth`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${$e?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Dashboard access`,G(`machine`),Ke($e)]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,name:`lan-auth`,"data-settings-field":`dashboard.lan_auth`,checked:p.draftOf(`dashboard.lan_auth`),onChange:e=>{Ae(`dashboard.lan_auth`,e.target.checked),x(!1)}}),` `,`Require LAN access token `,ot(`dashboard.lan_auth`),G(`machine`)]}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Protects API and live-update traffic on non-loopback binds. Changes take effect only after restarting the dashboard; this running dashboard keeps its current access mode.`})]}),H(`update.channel`)&&(0,W.jsxs)(`fieldset`,{className:`settings-fs${et?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Update channel `,ot(`update.channel`),G(`machine`),Ke(et)]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`update-channel`,value:`stable`,"data-settings-field":`update.channel`,checked:p.draftOf(`update.channel`)===`stable`,onChange:()=>Ae(`update.channel`,`stable`)}),` `,`Stable`]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`radio`,name:`update-channel`,value:`beta`,checked:p.draftOf(`update.channel`)===`beta`,onChange:()=>Ae(`update.channel`,`beta`)}),` `,`Beta`]}),(0,W.jsxs)(`p`,{className:`settings-hint`,children:[`Beta receives every release as it ships; stable only the maintainer-promoted ones.`,f===`brew`?` This install came from Homebrew, which always tracks stable.`:``]})]}),ct(`access`)]}),V(`restore`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-restore`,children:[lt(`restore`,p.sectionDirty(`restore`)),(0,W.jsxs)(`fieldset`,{className:`settings-fs${it?` is-changed`:``}`,children:[(0,W.jsxs)(`legend`,{children:[`Restore defaults`,G(`browser`),Ke(it)]}),H(`restore.viewPrefs`)&&(0,W.jsxs)(`div`,{className:`settings-restore-row settings-restore-immediate`,children:[(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:ze,disabled:He,children:`Restore view preferences`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Fills the three Recent Sessions fields with their defaults right now; nothing is stored until you Save.`})]}),H(`restore.tableSort`)&&(0,W.jsxs)(`div`,{className:`settings-restore-row`,children:[(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,"aria-pressed":p.staged(`restore.tableSort`),onClick:()=>p.toggleStaged(`restore.tableSort`),disabled:!Ue&&!p.staged(`restore.tableSort`),children:p.staged(`restore.tableSort`)?`Table column sorting — staged ✓`:`Table column sorting`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Clears $/1% Trend, Recent Sessions, Projects & Weekly/Monthly column-click sorting on Save.`})]}),H(`restore.cardOrder`)&&(0,W.jsxs)(`div`,{className:`settings-restore-row`,children:[(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,"aria-pressed":p.staged(`restore.cardOrder`),onClick:()=>p.toggleStaged(`restore.cardOrder`),disabled:We&&!p.staged(`restore.cardOrder`),children:p.staged(`restore.cardOrder`)?`Card order — staged ✓`:`Card order`}),(0,W.jsx)(`p`,{className:`settings-hint`,children:`Restores the default panel arrangement on Save.`})]})]}),ct(`restore`)]}),V(`cli`)&&(0,W.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-cli`,children:[lt(`cli`,!1),(0,W.jsx)(`p`,{className:`settings-hint`,children:`These keys govern surfaces this dashboard does not render, so they are set from the CLI. Each row states the exact command.`}),ct(`cli`)]})]})]}),(0,W.jsxs)(`div`,{className:`settings-feedback`,children:[m&&(0,W.jsx)(`div`,{className:`settings-saving-bar`,"aria-hidden":`true`}),(0,W.jsx)(`p`,{className:`settings-status`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:at}),ee&&(0,W.jsx)(`p`,{className:`settings-ok`,children:`Test alert dispatched ✓`}),b&&(0,W.jsx)(`p`,{className:`settings-ok`,children:`Saved. Restart the dashboard to apply LAN access authentication.`}),(0,W.jsxs)(`div`,{ref:z,className:`settings-error-summary${g.length>0||w?` is-populated`:``}`,role:`alert`,"aria-live":`assertive`,tabIndex:-1,children:[w&&(0,W.jsxs)(`p`,{className:`settings-error-title`,children:[`Test failed: `,w]}),g.length>0&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`p`,{className:`settings-error-title`,children:g.length===1?`1 problem to fix`:`${g.length} problems to fix`}),(0,W.jsx)(`ul`,{className:`settings-error-list`,children:g.map(e=>(0,W.jsx)(`li`,{children:(0,W.jsx)(`button`,{type:`button`,className:`settings-error-link`,onClick:()=>Pe(e.target),children:e.message})},e.key))})]})]})]}),(0,W.jsxs)(`div`,{className:`settings-actions`,ref:pe,children:[(0,W.jsx)(`button`,{className:`settings-btn`,id:`settings-save`,type:`button`,onClick:Re,disabled:Ie,children:m?`Saving…`:Oe===0?`Save`:`Save · ${Oe} change${Oe===1?``:`s`}`}),(0,W.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:Le,disabled:m,children:`Cancel`}),(0,W.jsxs)(`p`,{className:`settings-scope-note`,children:[`Changes apply to this machine unless marked `,(0,W.jsx)(`em`,{children:`this browser`}),`.`]})]}),A&&(0,W.jsx)(`div`,{className:`settings-confirm`,role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":`settings-confirm-title`,children:(0,W.jsxs)(`div`,{className:`settings-confirm-card`,children:[(0,W.jsxs)(`p`,{id:`settings-confirm-title`,children:[`Discard `,Oe,` unsaved change`,Oe===1?``:`s`,`?`]}),(0,W.jsxs)(`div`,{className:`settings-confirm-actions`,children:[(0,W.jsx)(`button`,{ref:ue,className:`settings-btn`,type:`button`,onClick:()=>j(!1),children:`Keep editing`}),(0,W.jsx)(`button`,{className:`settings-btn settings-btn-danger`,type:`button`,onClick:Le,children:`Discard`})]})]})})]})]})}var cl=8e3,ll=`New: hold any card to rearrange the dashboard.`,ul=`Tap to drill in · long-press to rearrange · ⟳ to refresh`;function dl({suppressed:e=!1}={}){let t=zn(),n=(0,U.useSyncExternalStore)(F,()=>R().prefs.onboardingToastSeen),r=(0,U.useSyncExternalStore)(F,()=>R().prefs.mobileOnboardingToastSeen),i=t?r:n,a=t?`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:`MARK_ONBOARDING_TOAST_SEEN`,o=t?ul:ll;return(0,U.useEffect)(()=>{if(i)return;let e=setTimeout(()=>I({type:a}),cl);return()=>clearTimeout(e)},[i,a]),i?null:(0,W.jsxs)(`div`,{className:`onboarding-toast`,role:`status`,"aria-live":`polite`,hidden:e,children:[(0,W.jsx)(`span`,{className:`onboarding-toast-msg`,children:o}),(0,W.jsx)(lc,{onClose:()=>I({type:a}),label:`Dismiss`,className:`onboarding-toast-dismiss`})]})}function fl({alert:e,env:t,onFollow:n}){let r=Ga(e,t,ja(t));if(!r.available||r.target==null){let e=r.explainTarget;return(0,W.jsxs)(`span`,{className:`alert-row-unresolved`,children:[(0,W.jsx)(`span`,{className:`alert-row-withheld`,children:r.withheldReason}),e==null?null:(0,W.jsx)(`button`,{type:`button`,className:`alert-row-explain`,onClick:t=>{t.stopPropagation(),Qa(e),n?.()},children:e.label})]})}let i=r.target;return(0,W.jsx)(`button`,{type:`button`,className:`alert-row-open`,onClick:e=>{e.stopPropagation(),Qa(i),n?.()},children:i.label})}function pl(e){return`source`in e?e:{...e,source:`claude`,key:e.id}}var ml=2500,hl=8e3,gl=`click to dismiss`,_l=`tap or click to dismiss`;function vl(e){return e.axis===`projected`?`${n.projected} to reach ${e.threshold}%`:e.axis===`project_budget`?`${e.context.project??`Project`} budget ${e.threshold}% reached`:e.axis===`codex_budget`?`${n.codex_budget} ${e.threshold}% reached`:`${n[e.axis]} usage ${e.threshold}% reached`}function yl(e){return e.axis===`quota`?`Codex quota ${e.threshold}% reached`:e.axis===`projected`?`Codex projected to reach ${e.threshold}%`:`Codex budget ${e.threshold}% reached`}function bl(e){return e.source===`claude`?vl(e):yl(e)}function xl(e,t){let n=()=>{k(),e()};return{tabIndex:0,"aria-label":`${t} Press Enter or Space to dismiss.`,onClick:n,onFocus:e=>{e.target===e.currentTarget&&Me(e.currentTarget,e.relatedTarget)},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||se()},onKeyDown:e=>{e.target===e.currentTarget&&(e.key!==`Enter`&&e.key!==` `&&e.key!==`Spacebar`||(e.preventDefault(),n()))}}}function Sl({show:e}){return e?(0,W.jsx)(`div`,{className:`toast--alert-dismiss-hint toast--alert-dismiss-hint--own-line`,children:_l}):null}function Cl({alert:e,ctx:t}){return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`toast--alert-title`,children:vl(e)}),e.context.week_start_date&&(0,W.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Week starting `,B.weekStart(e.context.week_start_date,t)??`—`]}),e.context.block_start_at&&(0,W.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Block started `,B.timeOnly(e.context.block_start_at,t)]}),(e.axis===`budget`||e.axis===`project_budget`||e.axis===`codex_budget`)&&(e.context.period_start_at??e.context.week_start_at)&&(0,W.jsxs)(`div`,{className:`toast--alert-sub`,children:[b(e.context.period),` starting`,` `,B.weekStart((e.context.period_start_at??e.context.week_start_at??``).slice(0,10),t)??`—`]}),(0,W.jsxs)(`div`,{className:`toast--alert-body`,children:[e.context.cumulative_cost_usd!=null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.cumulative_cost_usd.toFixed(2)]}),` spent`,e.context.dollars_per_percent!=null&&(0,W.jsxs)(W.Fragment,{children:[` `,`·`,` `,(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.dollars_per_percent.toFixed(2)]}),` per 1%`]})]}),e.context.block_cost_usd!=null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.block_cost_usd.toFixed(2)]}),` in this block`,e.context.primary_model&&(0,W.jsxs)(W.Fragment,{children:[` · model: `,e.context.primary_model]})]}),(e.axis===`budget`||e.axis===`codex_budget`)&&e.context.spent_usd!=null&&e.context.budget_usd!=null&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.spent_usd.toFixed(2)]}),` of`,` `,(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.budget_usd.toFixed(2)]}),` budget`]}),e.axis===`projected`&&(0,W.jsx)(`span`,{className:`num`,children:S(e)??`—`}),e.axis===`project_budget`&&e.context.spent_usd!=null&&e.context.budget_usd!=null&&(0,W.jsxs)(W.Fragment,{children:[e.context.project&&(0,W.jsxs)(W.Fragment,{children:[e.context.project,`: `]}),(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.spent_usd.toFixed(2)]}),` of`,` `,(0,W.jsxs)(`span`,{className:`num`,children:[`$`,e.context.budget_usd.toFixed(2)]}),` budget`]})]})]})}function wl({row:e}){return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`toast--alert-title`,children:yl(e)}),e.axis!==`quota`&&(0,W.jsxs)(`div`,{className:`toast--alert-body`,children:[(0,W.jsxs)(`span`,{className:`num`,children:[Math.round(e.value),`%`]}),` of budget`]})]})}function Tl({entry:e,onDismiss:t}){let n=go(e.previous_units_per_point,e.new_units_per_point),r=e.provider?e.provider.charAt(0).toUpperCase()+e.provider.slice(1):`Provider`,i=a(e),o=Zo(e.withholding_status);return(0,W.jsxs)(`div`,{className:`toast toast--alert toast--severity-${e.severity}`,role:`alert`,...xl(t,`${r} metering rate changed.`+(i==null?``:` Account ${i.label}.`)),"data-testid":`toast-meter-rate-change`,children:[(0,W.jsxs)(`div`,{className:`toast--alert-head`,children:[(0,W.jsx)(`span`,{className:`chip chip-rate-change severity-${e.severity}`,children:`metering rate`}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.provider}`,children:r}),i!=null&&(0,W.jsx)(`span`,{className:`alert-account-chip`,title:i.label,children:i.label}),i==null&&(0,W.jsx)(`span`,{className:`toast--alert-dismiss-hint`,children:gl})]}),(0,W.jsxs)(`div`,{className:`toast--alert-title`,children:[r,` metering rate changed`]}),n&&(0,W.jsx)(`div`,{className:`toast--alert-sub`,children:n}),(0,W.jsx)(`div`,{className:`toast--alert-body`,children:o==null?(0,W.jsxs)(W.Fragment,{children:[`Run `,(0,W.jsx)(`code`,{children:`cctally quota`}),` for the evidence behind this change.`]}):(0,W.jsxs)(W.Fragment,{children:[o,` Run `,(0,W.jsx)(`code`,{children:`cctally quota`}),` for the evidence.`]})}),(0,W.jsx)(Sl,{show:i!=null})]})}function El(){let e=(0,U.useSyncExternalStore)(F,()=>R().toast),t=jn(),n=Vn(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel};(0,U.useEffect)(()=>se,[]),(0,U.useEffect)(()=>{if(e==null){se();return}let t=e.kind===`alert`?hl:ml,n=window.setTimeout(()=>{k(),I({type:`HIDE_TOAST`})},t);return()=>window.clearTimeout(n)},[e]);let i=e?.kind===`alert`?e.payload:null,o=i&&ye(i)?i:null,s=i!=null&&!ye(i)?pl(i):null,c=s?Ae(s):null,l=s?a(s):null;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(dl,{suppressed:e!=null}),e?.kind===`status`&&(0,W.jsx)(`div`,{className:`toast`,role:`status`,"aria-live":`polite`,children:e.text}),o&&(0,W.jsx)(Tl,{entry:o,onDismiss:()=>I({type:`HIDE_TOAST`})}),s&&c&&(0,W.jsxs)(`div`,{className:`toast toast--alert toast--severity-${c.severity}`,role:`alert`,...xl(()=>I({type:`HIDE_TOAST`}),`${c.sourceLabel} alert. ${bl(s)}.`+(l==null?``:` Account ${l.label}.`)),children:[(0,W.jsxs)(`div`,{className:`toast--alert-head`,children:[(0,W.jsx)(`span`,{className:`chip ${c.chipClass}`,children:c.chipLabel}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${c.source}`,children:c.sourceLabel}),l!=null&&(0,W.jsx)(`span`,{className:`alert-account-chip`,title:l.label,children:l.label}),(0,W.jsxs)(`span`,{className:`toast--alert-threshold num`,children:[c.threshold,`%`]}),l==null&&(0,W.jsx)(`span`,{className:`toast--alert-dismiss-hint`,children:gl})]}),s.source===`claude`?(0,W.jsx)(Cl,{alert:s,ctx:r}):(0,W.jsx)(wl,{row:s}),(0,W.jsx)(Sl,{show:l!=null}),s.source===`claude`&&(0,W.jsx)(`div`,{className:`toast--alert-follow`,children:(0,W.jsx)(fl,{alert:s,env:t,onFollow:()=>I({type:`HIDE_TOAST`})})})]})]})}var Dl=D(Le());function Ol(){var e=[...arguments];return(0,U.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var kl=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Al(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function jl(e){return`nodeType`in e}function Ml(e){return e?Al(e)?e:jl(e)?e.ownerDocument?.defaultView??window:window:window}function Nl(e){let{Document:t}=Ml(e);return e instanceof t}function Pl(e){return Al(e)?!1:e instanceof Ml(e).HTMLElement}function Fl(e){return e instanceof Ml(e).SVGElement}function Il(e){return e?Al(e)?e.document:jl(e)?Nl(e)?e:Pl(e)||Fl(e)?e.ownerDocument:document:document:document}var Ll=kl?U.useLayoutEffect:U.useEffect;function Rl(e){let t=(0,U.useRef)(e);return Ll(()=>{t.current=e}),(0,U.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function zl(){let e=(0,U.useRef)(null);return[(0,U.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,U.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Bl(e,t){t===void 0&&(t=[e]);let n=(0,U.useRef)(e);return Ll(()=>{n.current!==e&&(n.current=e)},t),n}function Vl(e,t){let n=(0,U.useRef)();return(0,U.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function Hl(e){let t=Rl(e),n=(0,U.useRef)(null);return[n,(0,U.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function Ul(e){let t=(0,U.useRef)();return(0,U.useEffect)(()=>{t.current=e},[e]),t.current}var Wl={};function Gl(e,t){return(0,U.useMemo)(()=>{if(t)return t;let n=Wl[e]==null?0:Wl[e]+1;return Wl[e]=n,e+`-`+n},[e,t])}function Kl(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var ql=Kl(1),Jl=Kl(-1);function Yl(e){return`clientX`in e&&`clientY`in e}function Xl(e){if(!e)return!1;let{KeyboardEvent:t}=Ml(e.target);return t&&e instanceof t}function Zl(e){if(!e)return!1;let{TouchEvent:t}=Ml(e.target);return t&&e instanceof t}function Ql(e){if(Zl(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Yl(e)?{x:e.clientX,y:e.clientY}:null}var $l=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[$l.Translate.toString(e),$l.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),eu=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function tu(e){return e.matches(eu)?e:e.querySelector(eu)}var nu={display:`none`};function ru(e){let{id:t,value:n}=e;return U.createElement(`div`,{id:t,style:nu},n)}function iu(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return U.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function au(){let[e,t]=(0,U.useState)(``);return{announce:(0,U.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var ou=(0,U.createContext)(null);function su(e){let t=(0,U.useContext)(ou);(0,U.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function cu(){let[e]=(0,U.useState)(()=>new Set),t=(0,U.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,U.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var lu={draggable:`
|
|
10
10
|
To pick up a draggable item, press the space bar.
|
|
11
11
|
While dragging, use the arrow keys to move the item.
|
|
12
12
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
13
|
-
`},uu={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function du(e){let{announcements:t=uu,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=lu}=e,{announce:a,announcement:o}=au(),s=Gl(`DndLiveRegion`),[c,l]=(0,U.useState)(!1);if((0,U.useEffect)(()=>{l(!0)},[]),su((0,U.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=U.createElement(U.Fragment,null,U.createElement(ru,{id:r,value:i.draggable}),U.createElement(iu,{id:s,announcement:o}));return n?(0,Dl.createPortal)(u,n):u}var fu;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(fu||={});function pu(){}function mu(e,t){return(0,U.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function hu(){var e=[...arguments];return(0,U.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var gu=Object.freeze({x:0,y:0});function _u(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function vu(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function yu(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function bu(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function xu(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Su(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var Cu=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Su(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=_u(Su(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(vu)},wu=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=bu(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=bu(r),o=i.reduce((e,t,r)=>e+_u(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(vu)};function Tu(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Eu=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Tu(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(yu)};function Du(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Ou(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:gu}function ku(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Au=ku(1);function ju(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Mu(e,t,n){let r=ju(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Nu={ignoreTransform:!1};function Pu(e,t){t===void 0&&(t=Nu);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Ml(e).getComputedStyle(e);t&&(n=Mu(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function Fu(e){return Pu(e,{ignoreTransform:!0})}function Iu(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Lu(e,t){return t===void 0&&(t=Ml(e).getComputedStyle(e)),t.position===`fixed`}function Ru(e,t){t===void 0&&(t=Ml(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function zu(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Nl(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Pl(i)||Fl(i)||n.includes(i))return n;let a=Ml(e).getComputedStyle(i);return i!==e&&Ru(i,a)&&n.push(i),Lu(i,a)?n:r(i.parentNode)}return e?r(e):n}function Bu(e){let[t]=zu(e,1);return t??null}function Vu(e){return!kl||!e?null:Al(e)?e:jl(e)?Nl(e)||e===Il(e).scrollingElement?window:Pl(e)?e:null:null}function Hu(e){return Al(e)?e.scrollX:e.scrollLeft}function Uu(e){return Al(e)?e.scrollY:e.scrollTop}function Wu(e){return{x:Hu(e),y:Uu(e)}}var Gu;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Gu||={});function Ku(e){return!kl||!e?!1:e===document.scrollingElement}function qu(e){let t={x:0,y:0},n=Ku(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Ju={x:.2,y:.2};function Yu(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Ju);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=qu(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Gu.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Gu.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Gu.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Gu.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Xu(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Zu(e){return e.reduce((e,t)=>ql(e,Wu(t)),gu)}function Qu(e){return e.reduce((e,t)=>e+Hu(t),0)}function $u(e){return e.reduce((e,t)=>e+Uu(t),0)}function ed(e,t){if(t===void 0&&(t=Pu),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Bu(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var td=[[`x`,[`left`,`right`],Qu],[`y`,[`top`,`bottom`],$u]],nd=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=zu(t),r=Zu(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of td)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},rd=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function id(e){let{EventTarget:t}=Ml(e);return e instanceof t?e:Il(e)}function ad(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var od;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(od||={});function sd(e){e.preventDefault()}function cd(e){e.stopPropagation()}var $;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})($||={});var ld={start:[$.Space,$.Enter],cancel:[$.Esc],end:[$.Space,$.Enter,$.Tab]},ud=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case $.Right:return{...n,x:n.x+25};case $.Left:return{...n,x:n.x-25};case $.Down:return{...n,y:n.y+25};case $.Up:return{...n,y:n.y-25}}},dd=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new rd(Il(t)),this.windowListeners=new rd(Ml(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(od.Resize,this.handleCancel),this.windowListeners.add(od.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(od.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&ed(n),t(gu)}handleKeyDown(e){if(Xl(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=ld,coordinateGetter:a=ud,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:gu;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Jl(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=qu(n),p=Xu(n),m={x:Math.min(i===$.Right?p.right-p.width/2:p.right,Math.max(i===$.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===$.Down?p.bottom-p.height/2:p.bottom,Math.max(i===$.Down?p.top:p.top+p.height/2,u.y))},h=i===$.Right&&!s||i===$.Left&&!c,g=i===$.Down&&!l||i===$.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===$.Right&&e<=d.x||i===$.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===$.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===$.Down&&e<=d.y||i===$.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===$.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,ql(Jl(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};dd.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=ld,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function fd(e){return!!(e&&`distance`in e)}function pd(e){return!!(e&&`delay`in e)}var md=class{constructor(e,t,n){n===void 0&&(n=id(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Il(i),this.documentListeners=new rd(this.document),this.listeners=new rd(n),this.windowListeners=new rd(Ml(i)),this.initialCoordinates=Ql(r)??gu,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(od.Resize,this.handleCancel),this.windowListeners.add(od.DragStart,sd),this.windowListeners.add(od.VisibilityChange,this.handleCancel),this.windowListeners.add(od.ContextMenu,sd),this.documentListeners.add(od.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(pd(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(fd(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(od.Click,cd,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(od.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Ql(e)??gu,s=Jl(n,o);if(!t&&a){if(fd(a)){if(a.tolerance!=null&&ad(s,a.tolerance))return this.handleCancel();if(ad(s,a.distance))return this.handleStart()}if(pd(a)&&ad(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===$.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},hd={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},gd=class extends md{constructor(e){let{event:t}=e,n=Il(t.target);super(e,hd,n)}};gd.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var _d={move:{name:`mousemove`},end:{name:`mouseup`}},vd;(function(e){e[e.RightClick=2]=`RightClick`})(vd||={});var yd=class extends md{constructor(e){super(e,_d,Il(e.event.target))}};yd.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===vd.RightClick?!1:(r?.({event:n}),!0)}}];var bd={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},xd=class extends md{constructor(e){super(e,bd)}static setup(){return window.addEventListener(bd.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(bd.move.name,e)};function e(){}}};xd.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Sd;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Sd||={});var Cd;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Cd||={});function wd(e){let{acceleration:t,activator:n=Sd.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=Cd.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Ed({delta:d,disabled:!a}),[m,h]=zl(),g=(0,U.useRef)({x:0,y:0}),_=(0,U.useRef)({x:0,y:0}),v=(0,U.useMemo)(()=>{switch(n){case Sd.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Sd.DraggableRect:return i}},[n,i,c]),y=(0,U.useRef)(null),b=(0,U.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,U.useMemo)(()=>s===Cd.TreeOrder?[...l].reverse():l,[s,l]);(0,U.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=Yu(e,n,v,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),y.current=e,m(b,o),g.current=a,_.current=i;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var Td={x:{[Gu.Backward]:!1,[Gu.Forward]:!1},y:{[Gu.Backward]:!1,[Gu.Forward]:!1}};function Ed(e){let{delta:t,disabled:n}=e,r=Ul(t);return Vl(e=>{if(n||!r||!e)return Td;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Gu.Backward]:e.x[Gu.Backward]||i.x===-1,[Gu.Forward]:e.x[Gu.Forward]||i.x===1},y:{[Gu.Backward]:e.y[Gu.Backward]||i.y===-1,[Gu.Forward]:e.y[Gu.Forward]||i.y===1}}},[n,t,r])}function Dd(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Vl(e=>t==null?null:r??e??null,[r,t])}function Od(e,t){return(0,U.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var kd;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(kd||={});var Ad;(function(e){e.Optimized=`optimized`})(Ad||={});var jd=new Map;function Md(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,U.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,U.useRef)(e),d=g(),f=Bl(d),p=(0,U.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,U.useRef)(null),h=Vl(t=>{if(d&&!n)return jd;if(!t||t===jd||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new nd(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,U.useEffect)(()=>{u.current=e},[e]),(0,U.useEffect)(()=>{d||p()},[n,d]),(0,U.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,U.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case kd.Always:return!1;case kd.BeforeDragging:return n;default:return!n}}}function Nd(e,t){return Vl(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Pd(e,t){return Nd(e,t)}function Fd(e){let{callback:t,disabled:n}=e,r=Rl(t),i=(0,U.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,U.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Id(e){let{callback:t,disabled:n}=e,r=Rl(t),i=(0,U.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,U.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Ld(e){return new nd(Pu(e),e)}function Rd(e,t,n){t===void 0&&(t=Ld);let[r,i]=(0,U.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=Fd({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Id({callback:a});return Ll(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function zd(e){return Ou(e,Nd(e))}var Bd=[];function Vd(e){let t=(0,U.useRef)(e),n=Vl(n=>e?n&&n!==Bd&&e&&t.current&&e.parentNode===t.current.parentNode?n:zu(e):Bd,[e]);return(0,U.useEffect)(()=>{t.current=e},[e]),n}function Hd(e){let[t,n]=(0,U.useState)(null),r=(0,U.useRef)(e),i=(0,U.useCallback)(e=>{let t=Vu(e.target);t&&n(e=>e?(e.set(t,Wu(t)),new Map(e)):null)},[]);return(0,U.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Vu(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Wu(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Vu(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,U.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>ql(e,t),gu):Zu(e):gu,[e,t])}function Ud(e,t){t===void 0&&(t=[]);let n=(0,U.useRef)(null);return(0,U.useEffect)(()=>{n.current=null},t),(0,U.useEffect)(()=>{let t=e!==gu;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Jl(e,n.current):gu}function Wd(e){(0,U.useEffect)(()=>{if(!kl)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Gd(e,t){return(0,U.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function Kd(e){return(0,U.useMemo)(()=>e?Iu(e):null,[e])}var qd=[];function Jd(e,t){t===void 0&&(t=Pu);let[n]=e,r=Kd(n?Ml(n):null),[i,a]=(0,U.useState)(qd);function o(){a(()=>e.length?e.map(e=>Ku(e)?r:new nd(t(e),e)):qd)}let s=Id({callback:o});return Ll(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Yd(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Pl(t)?t:e}function Xd(e){let{measure:t}=e,[n,r]=(0,U.useState)(null),i=Id({callback:(0,U.useCallback)(e=>{for(let{target:n}of e)if(Pl(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Hl((0,U.useCallback)(e=>{let n=Yd(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,U.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Zd=[{sensor:gd,options:{}},{sensor:dd,options:{}}],Qd={current:{}},$d={draggable:{measure:Fu},droppable:{measure:Fu,strategy:kd.WhileDragging,frequency:Ad.Optimized},dragOverlay:{measure:Pu}},ef=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},tf={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ef,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:pu},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:$d,measureDroppableContainers:pu,windowRect:null,measuringScheduled:!1},nf={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:pu,draggableNodes:new Map,over:null,measureDroppableContainers:pu},rf=(0,U.createContext)(nf),af=(0,U.createContext)(tf);function of(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ef}}}function sf(e,t){switch(t.type){case fu.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case fu.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case fu.DragEnd:case fu.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case fu.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new ef(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case fu.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new ef(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case fu.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new ef(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function cf(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,U.useContext)(rf),a=Ul(r),o=Ul(n?.id);return(0,U.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Xl(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=tu(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function lf(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function uf(e){return(0,U.useMemo)(()=>({draggable:{...$d.draggable,...e?.draggable},droppable:{...$d.droppable,...e?.droppable},dragOverlay:{...$d.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function df(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,U.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Ll(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=Ou(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Bu(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var ff=(0,U.createContext)({...gu,scaleX:1,scaleY:1}),pf;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(pf||={});var mf=(0,U.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Zd,collisionDetection:o=Eu,measuring:s,modifiers:c,...l}=e,[u,d]=(0,U.useReducer)(sf,void 0,of),[f,p]=cu(),[m,h]=(0,U.useState)(pf.Uninitialized),g=m===pf.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,U.useRef)({initial:null,translated:null}),C=(0,U.useMemo)(()=>_==null?null:{id:_,data:x?.data??Qd,rect:S},[_,x]),w=(0,U.useRef)(null),[T,ee]=(0,U.useState)(null),[E,D]=(0,U.useState)(null),O=Bl(l,Object.values(l)),k=Gl(`DndDescribedBy`,t),te=(0,U.useMemo)(()=>b.getEnabled(),[b]),A=uf(s),{droppableRects:j,measureDroppableContainers:M,measuringScheduled:ne}=Md(te,{dragging:g,dependencies:[y.x,y.y],config:A.droppable}),re=Dd(v,_),ie=(0,U.useMemo)(()=>E?Ql(E):null,[E]),N=De(),ae=Pd(re,A.draggable.measure);df({activeNode:_==null?null:v.get(_),config:N.layoutShiftCompensation,initialRect:ae,measure:A.draggable.measure});let P=Rd(re,A.draggable.measure,ae),oe=Rd(re?re.parentElement:null),F=(0,U.useRef)({activatorEvent:null,active:null,activeNode:re,collisionRect:null,collisions:null,droppableRects:j,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),se=b.getNodeFor(F.current.over?.id),I=Xd({measure:A.dragOverlay.measure}),ce=I.nodeRef.current??re,L=g?I.rect??P:null,le=!!(I.nodeRef.current&&I.rect),R=zd(le?null:P),ue=Kd(ce?Ml(ce):null),z=Vd(g?se??re:null),de=Jd(z),fe=lf(c,{transform:{x:y.x-R.x,y:y.y-R.y,scaleX:1,scaleY:1},activatorEvent:E,active:C,activeNodeRect:P,containerNodeRect:oe,draggingNodeRect:L,over:F.current.over,overlayNodeRect:I.rect,scrollableAncestors:z,scrollableAncestorRects:de,windowRect:ue}),B=ie?ql(ie,y):null,pe=Hd(z),me=Ud(pe),he=Ud(pe,[P]),ge=ql(fe,me),V=L?Au(L,fe):null,_e=C&&V?o({active:C,collisionRect:V,droppableRects:j,droppableContainers:te,pointerCoordinates:B}):null,ve=xu(_e,`id`),[ye,be]=(0,U.useState)(null),xe=Du(le?fe:ql(fe,he),ye?.rect??null,P),Se=(0,U.useRef)(null),Ce=(0,U.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent;Se.current=new n({active:w.current,activeNode:i,event:a,options:r,context:F,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=O.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=O.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=O.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,Dl.unstable_batchedUpdates)(()=>{r?.(i),h(pf.Initializing),d({type:fu.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),ee(Se.current),D(a)})},onMove(e){d({type:fu.DragMove,coordinates:e})},onEnd:o(fu.DragEnd),onCancel:o(fu.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=F.current,o=null;if(t&&i){let{cancelDrop:s}=O.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===fu.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=fu.DragCancel)}w.current=null,(0,Dl.unstable_batchedUpdates)(()=>{d({type:e}),h(pf.Uninitialized),be(null),ee(null),D(null),Se.current=null;let t=e===fu.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=O.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),we=Od(a,(0,U.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,Ce(n,t))},[v,Ce]));Wd(a),Ll(()=>{P&&m===pf.Initializing&&h(pf.Initialized)},[P,m]),(0,U.useEffect)(()=>{let{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:r,over:i}=F.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:ge.x,y:ge.y},over:i};(0,Dl.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[ge.x,ge.y]),(0,U.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=F.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=O.current,o=r.get(ve),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,Dl.unstable_batchedUpdates)(()=>{be(s),a?.(c),f({type:`onDragOver`,event:c})})},[ve]),Ll(()=>{F.current={activatorEvent:E,active:C,activeNode:re,collisionRect:V,collisions:_e,droppableRects:j,draggableNodes:v,draggingNode:ce,draggingNodeRect:L,droppableContainers:b,over:ye,scrollableAncestors:z,scrollAdjustedTranslate:ge},S.current={initial:L,translated:V}},[C,re,_e,V,v,ce,L,j,b,ye,z,ge]),wd({...N,delta:y,draggingRect:V,pointerCoordinates:B,scrollableAncestors:z,scrollableAncestorRects:de});let Te=(0,U.useMemo)(()=>({active:C,activeNode:re,activeNodeRect:P,activatorEvent:E,collisions:_e,containerNodeRect:oe,dragOverlay:I,draggableNodes:v,droppableContainers:b,droppableRects:j,over:ye,measureDroppableContainers:M,scrollableAncestors:z,scrollableAncestorRects:de,measuringConfiguration:A,measuringScheduled:ne,windowRect:ue}),[C,re,P,E,_e,oe,I,v,b,j,ye,M,z,de,A,ne,ue]),Ee=(0,U.useMemo)(()=>({activatorEvent:E,activators:we,active:C,activeNodeRect:P,ariaDescribedById:{draggable:k},dispatch:d,draggableNodes:v,over:ye,measureDroppableContainers:M}),[E,we,C,P,d,k,v,ye,M]);return U.createElement(ou.Provider,{value:p},U.createElement(rf.Provider,{value:Ee},U.createElement(af.Provider,{value:Te},U.createElement(ff.Provider,{value:xe},i)),U.createElement(cf,{disabled:n?.restoreFocus===!1})),U.createElement(du,{...n,hiddenTextDescribedById:k}));function De(){let e=T?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),hf=(0,U.createContext)(null),gf=`button`,_f=`Draggable`;function vf(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Gl(_f),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,U.useContext)(rf),{role:p=gf,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,U.useContext)(g?ff:hf),[v,y]=Hl(),[b,x]=Hl(),S=Gd(o,t),C=Bl(n);return Ll(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,U.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===gf?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function yf(){return(0,U.useContext)(af)}var bf=`Droppable`,xf={timeout:25};function Sf(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Gl(bf),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,U.useContext)(rf),u=(0,U.useRef)({disabled:n}),d=(0,U.useRef)(!1),f=(0,U.useRef)(null),p=(0,U.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...xf,...i},_=Bl(h??r),v=Id({callback:(0,U.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=Hl((0,U.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Bl(t);return(0,U.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,U.useEffect)(()=>(s({type:fu.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:fu.UnregisterDroppable,key:a,id:r})),[r]),(0,U.useEffect)(()=>{n!==u.current.disabled&&(s({type:fu.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function Cf(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function wf(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Tf(e){return e!==null&&e>=0}function Ef(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Df(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Of=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Cf(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},kf=`Sortable`,Af=U.createContext({activeIndex:-1,containerId:kf,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Of,disabled:{draggable:!1,droppable:!1}});function jf(e){let{children:t,id:n,items:r,strategy:i=Of,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=yf(),d=Gl(kf,n),f=s.rect!==null,p=(0,U.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,U.useRef)(p),v=!Ef(p,_.current),y=g!==-1&&h===-1||v,b=Df(a);Ll(()=>{v&&m&&u(p)},[v,p,m,u]),(0,U.useEffect)(()=>{_.current=p},[p]);let x=(0,U.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:wf(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return U.createElement(Af.Provider,{value:x},t)}var Mf=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Cf(n,r,i).indexOf(t)},Nf=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Pf={duration:200,easing:`ease`},Ff=`transform`,If=$l.Transition.toString({property:Ff,duration:0,easing:`linear`}),Lf={roleDescription:`sortable`};function Rf(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,U.useState)(null),s=(0,U.useRef)(n);return Ll(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=Pu(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,U.useEffect)(()=>{a&&o(null)},[a]),a}function zf(e){let{animateLayoutChanges:t=Nf,attributes:n,disabled:r,data:i,getNewIndex:a=Mf,id:o,strategy:s,resizeObserverConfig:c,transition:l=Pf}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,U.useContext)(Af),y=Bf(r,p),b=u.indexOf(o),x=(0,U.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,U.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:T,setNodeRef:ee}=Sf({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:E,activatorEvent:D,activeNodeRect:O,attributes:k,setNodeRef:te,listeners:A,isDragging:j,over:M,setActivatorNodeRef:ne,transform:re}=vf({id:o,data:x,attributes:{...Lf,...n},disabled:y.draggable}),ie=Ol(ee,te),N=!!E,ae=N&&!m&&Tf(f)&&Tf(g),P=!_&&j,oe=ae?(P&&ae?re:null)??(s??v)({rects:h,activeNodeRect:O,activeIndex:f,overIndex:g,index:b}):null,F=Tf(f)&&Tf(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,se=E?.id,I=(0,U.useRef)({activeId:se,items:u,newIndex:F,containerId:d}),ce=u!==I.current.items,L=t({active:E,containerId:d,isDragging:j,isSorting:N,id:o,index:b,items:u,newIndex:I.current.newIndex,previousItems:I.current.items,previousContainerId:I.current.containerId,transition:l,wasDragging:I.current.activeId!=null}),le=Rf({disabled:!L,index:b,node:w,rect:C});return(0,U.useEffect)(()=>{N&&I.current.newIndex!==F&&(I.current.newIndex=F),d!==I.current.containerId&&(I.current.containerId=d),u!==I.current.items&&(I.current.items=u)},[N,F,d,u]),(0,U.useEffect)(()=>{if(se===I.current.activeId)return;if(se!=null&&I.current.activeId==null){I.current.activeId=se;return}let e=setTimeout(()=>{I.current.activeId=se},50);return()=>clearTimeout(e)},[se]),{active:E,activeIndex:f,attributes:k,data:x,rect:C,index:b,newIndex:F,items:u,isOver:T,isSorting:N,isDragging:j,listeners:A,node:w,overIndex:g,over:M,setNodeRef:ie,setActivatorNodeRef:ne,setDroppableNodeRef:ee,setDraggableNodeRef:te,transform:le??oe,transition:R()};function R(){if(le||ce&&I.current.newIndex===b)return If;if(!(P&&!Xl(D)||!l)&&(N||L))return $l.Transition.toString({...l,property:Ff})}}function Bf(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function Vf(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var Hf=[$.Down,$.Right,$.Up,$.Left],Uf=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(Hf.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case $.Down:r.top<a.top&&t.push(n);break;case $.Up:r.top>a.top&&t.push(n);break;case $.Left:r.left>a.left&&t.push(n);break;case $.Right:r.left<a.left&&t.push(n);break}});let c=wu({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=xu(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=zu(c).some((e,t)=>s[t]!==e),i=Wf(e,t),a=Gf(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Jl(u,l)}}}};function Wf(e,t){return!Vf(e)||!Vf(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function Gf(e,t){return!Vf(e)||!Vf(t)||!Wf(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var Kf=!1;function qf(){return Kf}function Jf(){Kf=!0,setTimeout(()=>{Kf=!1},0)}var Yf={sessions:12,trend:6,projects:6};function Xf(t,n){if(n===`intermediate`){let e=Yf[t];if(e!==void 0)return e}return e[t].span}function Zf({id:e,index:t,mode:n}){let r=cc[e],i=(0,U.useSyncExternalStore)(F,()=>R().openModal!=null),a=Cs(),{listeners:o,setNodeRef:s,transform:c,transition:l,isDragging:u}=zf({id:e,disabled:i});if(!r)return null;let{Component:d,label:f}=r;return(0,W.jsx)(`div`,{ref:s,style:{transform:$l.Translate.toString(c),transition:a?void 0:l},className:`panel-host${u?` is-dragging`:``}`,"data-panel-host":e,"data-panel-index":t,"data-span":Xf(e,n),"aria-label":`Reorder ${f}`,onKeyDown:e=>{if(!e.shiftKey)return;let n=e.target;if(typeof n.matches==`function`&&n.matches(`input, textarea, select, [contenteditable="true"]`))return;let r=0;e.key===`ArrowDown`||e.key===`ArrowRight`?r=1:(e.key===`ArrowUp`||e.key===`ArrowLeft`)&&(r=-1),r!==0&&(typeof e.preventDefault==`function`&&e.preventDefault(),I({type:`SWAP_PANELS`,index:t,direction:r}))},onClickCapture:e=>{qf()&&e.stopPropagation()},...o,children:(0,W.jsx)(d,{})})}var Qf=250,$f=5;function ep(){Jf()}function tp(e,t){if(Jf(),!t||e===t)return;let n=R(),r=c(n.prefs.panelOrder,C(n.snapshot,n.activeSource)),i=r.indexOf(e),a=r.indexOf(t);i<0||a<0||i===a||I({type:`REORDER_PANELS`,from:i,to:a})}function np(){Jf()}function rp({items:e,className:t,children:n}){return(0,W.jsx)(mf,{sensors:hu(mu(gd,{activationConstraint:{delay:Qf,tolerance:$f}})),onDragStart:()=>ep(),onDragEnd:e=>{let t=e.active.id;tp(t,e.over?e.over.id:null)},onDragCancel:()=>np(),children:(0,W.jsx)(jf,{items:(0,U.useMemo)(()=>e.slice(),[e]),strategy:Of,children:(0,W.jsx)(`div`,{className:t,children:n})})})}var ip=class extends Error{status;field;code;constructor(e,t,n,r){super(n),this.status=e,this.field=t,this.code=r}};async function ap(e){if(!e.ok){let t={};try{t=await e.json()}catch{}throw new ip(e.status,t.field,t.error??`HTTP ${e.status}`,t.code)}return e.json()}async function op(e,t){return ap(await fetch(`/api/share/templates?panel=${encodeURIComponent(e)}`,{signal:t?.signal}))}async function sp(e,t){let{account:n,...r}=e;return ap(await fetch(`/api/share/render`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n==null?r:{...r,account:n}),signal:t?.signal}))}var cp=[{id:`recap`,label:`Recap`,placeholderDescription:`Text + tiny chart`},{id:`visual`,label:`Visual`,placeholderDescription:`Coming soon`},{id:`detail`,label:`Detail`,placeholderDescription:`Coming soon`}];function lp(e){return e.endsWith(`-recap`)?`recap`:e.endsWith(`-visual`)?`visual`:e.endsWith(`-detail`)?`detail`:null}function up({panel:e,templates:t,error:n,selectedTemplateId:r,onSelect:i}){if(n)return(0,W.jsx)(`div`,{className:`share-gallery-error`,role:`alert`,children:n});let a={};for(let e of t??[]){let t=lp(e.id);t&&(a[t]=e)}return(0,W.jsx)(`div`,{className:`share-gallery`,role:`radiogroup`,"aria-label":`Report template`,children:cp.map(e=>{let n=a[e.id];if(t==null)return(0,W.jsxs)(`div`,{className:`share-tile share-tile-skeleton`,"aria-hidden":`true`,children:[(0,W.jsx)(`div`,{className:`share-tile-skeleton-bar`}),(0,W.jsx)(`div`,{className:`share-tile-skeleton-bar short`})]},e.id);if(!n)return(0,W.jsxs)(`button`,{type:`button`,className:`share-tile share-tile-disabled`,disabled:!0,"aria-disabled":`true`,role:`radio`,"aria-checked":`false`,title:`${e.label} — ${e.placeholderDescription}`,children:[(0,W.jsx)(`div`,{className:`share-tile-label`,children:e.label}),(0,W.jsx)(`div`,{className:`share-tile-desc`,children:e.placeholderDescription})]},e.id);let o=n.id===r;return(0,W.jsxs)(`button`,{type:`button`,className:`share-tile`+(o?` share-tile-selected`:``),role:`radio`,"aria-checked":o,"data-template-id":n.id,onClick:()=>i(n.id),children:[(0,W.jsx)(`div`,{className:`share-tile-label`,children:n.label}),(0,W.jsx)(`div`,{className:`share-tile-desc`,children:n.description})]},e.id)})})}function dp({options:e,onChange:t}){let n=n=>t({...e,...n}),r=n=>t({...e,period:{...e.period,...n}}),i=e=>{if(e===``){n({top_n:null});return}let t=Number.parseInt(e,10);Number.isNaN(t)||n({top_n:Math.max(1,t)})};return(0,W.jsxs)(`div`,{className:`share-knobs`,children:[(0,W.jsxs)(`div`,{className:`share-knob`,children:[(0,W.jsx)(`label`,{htmlFor:`share-knob-period`,children:`Period`}),(0,W.jsxs)(`select`,{id:`share-knob-period`,value:e.period.kind,onChange:e=>r({kind:e.target.value}),children:[(0,W.jsx)(`option`,{value:`current`,children:`This week`}),(0,W.jsx)(`option`,{value:`previous`,children:`Previous week`}),(0,W.jsx)(`option`,{value:`custom`,children:`Custom`})]}),e.period.kind===`custom`?(0,W.jsxs)(`div`,{className:`share-knob-period-custom`,children:[(0,W.jsxs)(`label`,{className:`share-knob-sublabel`,children:[(0,W.jsx)(`span`,{children:`Start`}),(0,W.jsx)(`input`,{type:`date`,value:e.period.start?.slice(0,10)??``,onChange:e=>r({start:e.target.value}),"aria-label":`Custom period start date`})]}),(0,W.jsxs)(`label`,{className:`share-knob-sublabel`,children:[(0,W.jsx)(`span`,{children:`End`}),(0,W.jsx)(`input`,{type:`date`,value:e.period.end?.slice(0,10)??``,onChange:e=>r({end:e.target.value}),"aria-label":`Custom period end date`})]})]}):null]}),(0,W.jsxs)(`div`,{className:`share-knob`,children:[(0,W.jsx)(`span`,{className:`share-knob-label`,children:`Theme`}),(0,W.jsxs)(`div`,{className:`share-knob-radiogroup`,role:`radiogroup`,"aria-label":`Theme`,children:[(0,W.jsxs)(`label`,{className:`share-knob-radio`,children:[(0,W.jsx)(`input`,{type:`radio`,name:`share-theme`,value:`light`,checked:e.theme===`light`,onChange:()=>n({theme:`light`})}),(0,W.jsx)(`span`,{children:`Light`})]}),(0,W.jsxs)(`label`,{className:`share-knob-radio`,children:[(0,W.jsx)(`input`,{type:`radio`,name:`share-theme`,value:`dark`,checked:e.theme===`dark`,onChange:()=>n({theme:`dark`})}),(0,W.jsx)(`span`,{children:`Dark`})]})]})]}),(0,W.jsxs)(`div`,{className:`share-knob`,children:[(0,W.jsx)(`label`,{htmlFor:`share-knob-topn`,children:`Top-N`}),(0,W.jsx)(`input`,{id:`share-knob-topn`,type:`number`,min:1,step:1,inputMode:`numeric`,value:e.top_n??``,onChange:e=>i(e.target.value),"aria-label":`Top-N`})]}),(0,W.jsxs)(`div`,{className:`share-knob`,children:[(0,W.jsx)(`span`,{className:`share-knob-label`,children:`Projects`}),(0,W.jsx)(`button`,{type:`button`,className:`share-knob-allowlist-stub`,disabled:!0,"aria-disabled":`true`,title:`Exports include all projects`,children:`All projects`})]}),(0,W.jsx)(`div`,{className:`share-knob`,children:(0,W.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:e.show_chart,onChange:e=>n({show_chart:e.target.checked}),"aria-label":`Include chart in export`}),(0,W.jsx)(`span`,{children:`Show chart`})]})}),(0,W.jsx)(`div`,{className:`share-knob`,children:(0,W.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:e.show_table,onChange:e=>n({show_table:e.target.checked}),"aria-label":`Include table in export`}),(0,W.jsx)(`span`,{children:`Show table`})]})}),(0,W.jsx)(`div`,{className:`share-knob`,children:(0,W.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:!e.reveal_projects,onChange:e=>n({reveal_projects:!e.target.checked}),"aria-label":`Anonymize project names on export`}),(0,W.jsx)(`span`,{children:`Anon on export`})]})})]})}function fp(e){(0,U.useEffect)(()=>{if(!e)return;let t=null,n=e=>{let t=e;t.key===`Escape`&&_e(t)},r=()=>{t&&=(t.removeEventListener(`keydown`,n),null)},i=()=>{r();let i=null;try{i=e.contentDocument}catch{i=null}i&&(i.addEventListener(`keydown`,n),t=i)};e.addEventListener(`load`,i);try{e.contentDocument&&e.contentDocument.readyState!==`loading`&&i()}catch{}return()=>{e.removeEventListener(`load`,i),r()}},[e])}var pp=200,mp={status:`idle`,body:``,contentType:``,errorMessage:null,errorField:null};function hp({panel:e,source:t=`claude`,account:n=null,templateId:r,options:i,onProjectNamesResolved:a,onPreviewFailed:o,artifactLabel:s=null}){let[c,l]=(0,U.useState)(mp),[u,d]=(0,U.useState)(null);fp(u);let f=(0,U.useRef)(null),p=(0,U.useRef)(0),m=(0,U.useRef)(a);m.current=a;let h=(0,U.useRef)(o);if(h.current=o,(0,U.useEffect)(()=>{m.current?.(null)},[e,t,n,r]),(0,U.useEffect)(()=>{if(!r){l(mp),h.current?.(!1);return}l(e=>({...e,status:`loading`})),h.current?.(!1);let a=++p.current,o=setTimeout(()=>{f.current?.abort();let o=new AbortController;f.current=o,sp({panel:e,template_id:r,options:{...i,reveal_projects:!0},source:t,account:n},{signal:o.signal}).then(e=>{a===p.current&&(l({status:`ready`,body:e.body,contentType:e.content_type,errorMessage:null,errorField:null}),h.current?.(!1),m.current?.(typeof e.has_project_names==`boolean`?e.has_project_names:null))}).catch(e=>{if(a===p.current&&!(e&&typeof e==`object`&&e.name===`AbortError`)){if(e instanceof ip){l({status:`error`,body:``,contentType:``,errorMessage:e.message??`HTTP ${e.status}`,errorField:e.field??null}),h.current?.(!0);return}l({status:`error`,body:``,contentType:``,errorMessage:e.message??`Unknown error`,errorField:null}),h.current?.(!0)}})},pp);return()=>{clearTimeout(o)}},[e,t,n,r,i]),(0,U.useEffect)(()=>()=>{f.current?.abort()},[]),!r)return(0,W.jsx)(`div`,{className:`share-preview share-preview-empty`,children:`Select a template to preview.`});if(c.status===`error`)return(0,W.jsxs)(`div`,{className:`share-preview share-preview-error`,role:`alert`,children:[(0,W.jsx)(`div`,{className:`share-preview-error-title`,children:`Preview failed`}),(0,W.jsxs)(`div`,{className:`share-preview-error-message`,children:[c.errorMessage,c.errorField?(0,W.jsxs)(`span`,{className:`share-preview-error-field`,children:[` `,`(field: `,c.errorField,`)`]}):null]})]});if(c.status===`loading`||c.status===`idle`)return(0,W.jsx)(`div`,{className:`share-preview share-preview-loading`,"aria-busy":`true`,children:`Rendering preview…`});let g=(0,W.jsx)(`div`,{className:`share-preview-source`,"aria-label":`Report source: ${Zr[t]}`,children:(0,W.jsx)(`span`,{className:`source-chip source-chip--${t}`,children:Zr[t]})});return i.format===`md`?(0,W.jsxs)(`div`,{className:`share-preview-wrap`,children:[g,(0,W.jsx)(`pre`,{className:`share-preview share-preview-md`,"aria-label":`Markdown preview`,children:c.body})]}):(0,W.jsxs)(`div`,{className:`share-preview-wrap`,children:[g,(0,W.jsx)(`iframe`,{className:`share-preview share-preview-iframe`,title:s?`Report preview — ${s}`:`Report preview`,tabIndex:-1,sandbox:`allow-same-origin`,srcDoc:c.body,ref:d})]})}var gp={"current-week":`Current week`,trend:`Trend`,weekly:`Weekly`,daily:`Daily`,monthly:`Monthly`,blocks:`5-hour blocks`,forecast:`Forecast`,sessions:`Sessions`,projects:`Projects`};function _p(e){return gp[e]}function vp(e){switch(e){case`md`:return`md`;case`html`:return`html`;case`svg`:return`svg`}}async function yp(e){if(!e.ok){let t={};try{t=await e.json()}catch{}throw new ip(e.status,t.field,t.error??`HTTP ${e.status}`,t.code)}return e.json()}async function bp(e){return yp(await fetch(`/api/share/presets`,{signal:e?.signal}))}async function xp(e,t){return yp(await fetch(`/api/share/presets`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}async function Sp(e,t){return yp(await fetch(`/api/share/presets/rename`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}async function Cp(e,t,n){let r=await fetch(`/api/share/presets/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{method:`DELETE`,signal:n?.signal});if(!r.ok){let e={};try{e=await r.json()}catch{}throw new ip(r.status,void 0,e.error??`HTTP ${r.status}`)}}function wp(e){return e.kind??`panel`}function Tp(e){return wp(e)===`composed`}async function Ep(e){return yp(await fetch(`/api/share/history`,{signal:e?.signal}))}async function Dp(e,t){let{account:n,...r}=e;return yp(await fetch(`/api/share/history`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n==null?r:{...r,account:n}),signal:t?.signal}))}async function Op(e,t){return yp(await fetch(`/api/share/history`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:`composed`,...e}),signal:t?.signal}))}function kp(e){return!(e==null||typeof e.focus!=`function`||!document.contains(e)||e.disabled===!0||typeof e.closest==`function`&&e.closest(`[inert]`)!=null)}var Ap=250;function jp(e){if(typeof requestAnimationFrame==`function`){let t=requestAnimationFrame(()=>e());return()=>cancelAnimationFrame(t)}let t=setTimeout(e,16);return()=>clearTimeout(t)}function Mp(){let[e,t]=(0,U.useState)(null),n=(0,U.useRef)(null),r=(0,U.useRef)(null),[i,a]=(0,U.useState)(0),o=(0,U.useRef)(null),s=(0,U.useCallback)(()=>{o.current?.(),o.current=null,r.current=null},[]),c=(0,U.useCallback)(e=>{s(),r.current=e,a(e=>e+1)},[s]);(0,U.useEffect)(()=>{if(i===0)return;let e=r.current;if(r.current=null,e==null)return;let t=Date.now()+Ap,n=()=>{if(o.current=null,kp(e)){e.focus();return}!document.contains(e)||Date.now()>=t||(o.current=jp(n))};n()},[i]),(0,U.useEffect)(()=>()=>{o.current?.()},[]);let l=(0,U.useCallback)(e=>{s(),n.current=document.activeElement,t(e)},[s]),u=(0,U.useCallback)(()=>{let e=n.current;n.current=null,t(null),c(e)},[c]),d=(0,U.useCallback)(e=>{n.current=null,t(null),c(e?e():null)},[c]),f=(0,U.useCallback)(t=>e===t,[e]);return we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:220,when:()=>e!=null,action:u}],[e,u])),{armed:e,arm:l,cancel:u,close:d,isArmed:f}}function Np({id:e,host:t,prompt:n,confirmLabel:r,cancelLabel:i=`Cancel`,onConfirm:a,className:o}){let s=`share-confirm-${e.replace(/[^a-zA-Z0-9_-]+/g,`-`)}`,c=(0,U.useRef)(null),l=t.isArmed(e);return(0,U.useEffect)(()=>{l&&c.current?.focus()},[l]),l?(0,W.jsxs)(`span`,{className:`share-confirm${o?` ${o}`:``}`,role:`group`,children:[(0,W.jsx)(`span`,{className:`share-confirm-prompt`,id:s,role:`status`,children:n}),(0,W.jsx)(`button`,{ref:c,type:`button`,className:`share-confirm-yes`,"aria-describedby":s,onClick:a,children:r}),(0,W.jsx)(`button`,{type:`button`,className:`share-confirm-no`,onClick:()=>t.cancel(),children:i})]}):null}var Pp=`share-save-overwrite`;function Fp({panel:e,source:t=`claude`,templateId:n,options:r,existingNames:i,focusAfterConfirm:a,onSaved:o,onCancel:s}){let[c,l]=(0,U.useState)(``),[u,d]=(0,U.useState)(!1),[f,p]=(0,U.useState)(null),[m,h]=(0,U.useState)([]),g=Mp(),_=i??m;(0,U.useEffect)(()=>{if(i!=null)return;let t=new AbortController;return bp({signal:t.signal}).then(t=>h(Object.keys(t.presets[e]??{}))).catch(()=>{}),()=>t.abort()},[e,i]);async function v(i=!1){let a=c.trim();if(!a){p(`Name is required`);return}if(a.length>64){p(`Name must be 64 characters or fewer`);return}if(a.includes(`/`)){p(`Name cannot contain '/'`);return}if(!i&&_.includes(a)){g.arm(Pp);return}d(!0),p(null);try{await xp({panel:e,name:a,template_id:n,options:r,source:t,...i?{overwrite:!0}:{}}),I({type:`SHOW_STATUS_TOAST`,text:`Saved preset "${a}"`}),o()}catch(e){if(e instanceof ip&&e.code===`preset_name_conflict`){g.arm(Pp);return}p((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Save failed`)}finally{d(!1)}}return(0,W.jsxs)(`div`,{className:`share-save-popover`,role:`dialog`,"aria-label":`Save preset`,children:[(0,W.jsxs)(`label`,{className:`share-save-label`,children:[`Preset name`,(0,W.jsx)(`input`,{type:`text`,className:`share-save-input`,autoFocus:!0,value:c,maxLength:64,disabled:u,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),e.stopPropagation(),v()):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),g.armed==null?s():g.cancel())}})]}),f?(0,W.jsx)(`div`,{className:`share-save-error`,role:`alert`,children:f}):null,(0,W.jsxs)(`div`,{className:`share-save-actions`,children:[(0,W.jsx)(`button`,{type:`button`,onClick:s,disabled:u,children:`Cancel`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>void v(),disabled:u,children:u?`Saving…`:`Save`})]}),(0,W.jsx)(Np,{id:Pp,host:g,prompt:`"${c.trim()}" exists — saving replaces it`,confirmLabel:`Replace`,onConfirm:()=>{g.close(a),v(!0)}})]})}async function Ip(e,t,n){let r=new Blob([e],{type:`image/svg+xml`}),i=URL.createObjectURL(r);try{let e=new Image;e.src=i,await e.decode();let r=document.createElement(`canvas`);r.width=e.naturalWidth*t,r.height=e.naturalHeight*t;let a=r.getContext(`2d`);if(!a)throw Error(`Could not acquire 2D canvas context`);a.fillStyle=n,a.fillRect(0,0,r.width,r.height),a.scale(t,t),a.drawImage(e,0,0);let o=await new Promise(e=>{r.toBlob(t=>e(t),`image/png`)});if(o)return o;let s=r.toDataURL(`image/png`);return(await fetch(s)).blob()}finally{URL.revokeObjectURL(i)}}function Lp(){let e=window.open(``,`_blank`);if(!e)return null;try{e.opener=null}catch{}return e}function Rp(){let e=Lp();return e?{navigate(t){if(e.closed)throw Error(Bp);let n=URL.createObjectURL(t);try{e.location.href=n}catch(e){throw URL.revokeObjectURL(n),e}},close(){try{e.close()}catch{}}}:null}var zp=`the browser blocked the new tab — allow pop-ups for this page and retry`,Bp=`the new tab was closed before the export finished`;function Vp(e){let t=document.createElement(`iframe`);t.setAttribute(`aria-hidden`,`true`),t.style.cssText=`position:fixed;right:0;bottom:0;width:0;height:0;border:0`,document.body.appendChild(t);let n=t.contentDocument;if(!n)throw t.remove(),Error(`iframe contentDocument unavailable`);n.open(),n.write(e),n.close();let r=t.contentWindow,i=!1;if(r&&typeof r.print==`function`)try{typeof r.focus==`function`&&r.focus(),r.print(),i=!0}catch{i=!1}if(!i){t.remove();let n=Lp();if(!n)throw Error(zp);n.document.open(),n.document.write(e),n.document.close();return}setTimeout(()=>t.remove(),1e3)}function Hp(e){Dp({panel:e.panel,template_id:e.template_id,options:e.options,format:e.options.format,destination:e.destination,source:e.source,account:e.account}).catch(()=>{})}function Up(e){return e===`light`?`#ffffff`:`#0f172a`}var Wp=`The preview failed — an export may fail too.`,Gp=`share-preview-failed-note`;function Kp(e,t){return`cctally-${e}-${new Date().toISOString().slice(0,10).replaceAll(`-`,``)}.${vp(t)}`}function qp(e){switch(e){case`md`:return`text/markdown;charset=utf-8`;case`html`:return`text/html;charset=utf-8`;case`svg`:return`image/svg+xml;charset=utf-8`}}function Jp(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}function Yp({panel:e,source:t=`claude`,account:n=null,templateId:r,options:i,onOptionsChange:a,previewFailed:o=!1}){let[s,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(null),[d,f]=(0,U.useState)(!1),p=(0,U.useRef)(null);(0,U.useEffect)(()=>()=>{p.current!=null&&clearTimeout(p.current)},[]);let[m,h]=(0,U.useState)(!1),g=(0,U.useRef)(null),_=(0,U.useRef)(null);(0,U.useEffect)(()=>{if(!m)return;function e(e){let t=g.current;t&&(t.contains(e.target)||h(!1))}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[m]),we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:205,when:()=>m,action:()=>h(!1)}],[m])),(0,U.useEffect)(()=>{u(null)},[i.format,r]);let v=r==null||s!=null,y=e=>I({type:`SHOW_STATUS_TOAST`,text:e}),b=async()=>{if(!r)throw Error(`no template selected`);return{body:(await sp({panel:e,template_id:r,options:i,source:t,account:n})).body,format:i.format}},x=async()=>{if(!(v||!r)){c(`copy`),u(null);try{let{body:a}=await b();if(!navigator.clipboard||typeof navigator.clipboard.writeText!=`function`)throw Error(`Clipboard API unavailable in this browser`);await navigator.clipboard.writeText(a),y(`Copied`),Hp({panel:e,template_id:r,options:i,destination:`copy`,source:t,account:n})}catch(e){u(`Copy failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},S=async()=>{if(!(v||!r)){c(`download`),u(null);try{let{body:a,format:o}=await b(),s=new Blob([a],{type:qp(o)});Jp(Kp(e,o),s),y(`Downloaded`),Hp({panel:e,template_id:r,options:i,destination:`download`,source:t,account:n})}catch(e){u(`Download failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},C=async()=>{if(!(v||!r)){c(`basket`),u(null);try{let a=await sp({panel:e,template_id:r,options:i,source:t,account:n}),o=H({panel:e,template_id:r,options:i,added_at:new Date().toISOString(),data_digest_at_add:a.snapshot.data_digest,data_digest_version_at_add:a.snapshot.data_digest_version,kernel_version:a.snapshot.kernel_version,label_hint:_p(e),source:t,account:n});I({type:`BASKET_ADD`,item:o});let s=R().basket;if(s.rejectedReason===`capacity`)return;f(!0),p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>f(!1),800),I({type:`SHOW_STATUS_TOAST`,text:`Added ${o.label_hint} to basket (${s.items.length})`})}catch(e){u(`Add to basket failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},w=async()=>{if(v||!r)return;let a=Rp();if(!a){u(`Open failed: ${zp}`);return}c(`open`),u(null);try{let{body:o,format:s}=await b();a.navigate(new Blob([o],{type:qp(s)})),y(`Opened`),Hp({panel:e,template_id:r,options:i,destination:`open`,source:t,account:n})}catch(e){a.close(),u(`Open failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}},T=async()=>{if(!(!r||i.format!==`svg`||v)){c(`png`),u(null);try{let{body:a}=await b(),o=await Ip(a,2,Up(i.theme));Jp(Kp(e,`svg`).replace(/\.svg$/,`.png`),o),y(`PNG downloaded`),Hp({panel:e,template_id:r,options:i,destination:`png`,source:t,account:n})}catch(e){u(`PNG export failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},ee=async()=>{if(!(!r||i.format!==`html`||v)){c(`print`),u(null);try{let{body:a}=await b();Vp(a),y(`Print dialog opened`),Hp({panel:e,template_id:r,options:i,destination:`print`,source:t,account:n})}catch(e){u(`Print failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},E=i.format===`md`&&!v,D=(i.format===`html`||i.format===`svg`)&&!v,O=i.format===`svg`&&!v,k=i.format===`html`&&!v;return(0,W.jsxs)(`div`,{className:`share-actions`,children:[(0,W.jsxs)(`div`,{className:`share-format-row`,role:`radiogroup`,"aria-label":`Export format`,children:[(0,W.jsx)(`span`,{className:`share-format-label`,children:`Format:`}),[`md`,`html`,`svg`].map(e=>(0,W.jsxs)(`label`,{className:`share-format-radio`,children:[(0,W.jsx)(`input`,{type:`radio`,name:`share-format`,value:e,checked:i.format===e,onChange:()=>a({...i,format:e})}),(0,W.jsx)(`span`,{children:e})]},e))]}),o?(0,W.jsx)(`p`,{className:`share-preview-failed-note`,id:Gp,children:Wp}):null,(0,W.jsxs)(`div`,{className:`share-action-row`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-copy`,onClick:x,disabled:!E,title:i.format===`md`?s===`copy`?`Copying…`:`Copy to clipboard`:`Copy is available for Markdown only`,children:s===`copy`?`Copying…`:`Copy`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-download`,onClick:S,disabled:v,title:s===`download`?`Downloading…`:`Download file`,children:s===`download`?`Downloading…`:`Download`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-open`,onClick:w,disabled:!D,title:i.format===`html`||i.format===`svg`?s===`open`?`Opening…`:`Open in new tab`:`Open is available for HTML/SVG`,children:s===`open`?`Opening…`:`Open`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-png`,onClick:T,disabled:!O,title:i.format===`svg`?s===`png`?`Rasterizing…`:`Download PNG (rasterized from SVG)`:`PNG export — available for SVG format only`,children:s===`png`?`Rasterizing…`:`PNG`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-print`,onClick:ee,disabled:!k,title:i.format===`html`?s===`print`?`Opening print dialog…`:`Open the browser print dialog (save as PDF)`:`Print → PDF — available for HTML format only`,children:s===`print`?`Printing…`:`Print → PDF`}),(0,W.jsx)(`button`,{type:`button`,className:`share-action share-action-basket${d?` share-action-basket-added`:``}`,onClick:C,disabled:v,title:v&&r==null?`Pick a template first`:s===`basket`?`Adding to basket…`:`Add this section to the report basket`,children:d?`✓ Added`:s===`basket`?`Adding…`:`+ Basket`})]}),(0,W.jsxs)(`div`,{className:`share-save-preset-row`,ref:g,children:[(0,W.jsx)(`button`,{ref:_,type:`button`,className:`share-save-preset`,disabled:r==null||s!=null,onClick:()=>h(e=>!e),"aria-haspopup":`dialog`,"aria-expanded":m,title:r==null?`Pick a template first`:`Save the current recipe as a named preset`,children:`Save preset…`}),m&&r?(0,W.jsx)(Fp,{panel:e,source:t,templateId:r,options:i,focusAfterConfirm:()=>_.current,onSaved:()=>{h(!1),_.current?.focus()},onCancel:()=>{h(!1),_.current?.focus()}}):null]}),l?(0,W.jsx)(`div`,{className:`share-action-error`,role:`alert`,children:l}):null]})}var Xp=`share-presets-trigger`;function Zp(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function Qp({panel:e,onPick:t,onManage:n}){let[r,i]=(0,U.useState)(!1),[a,o]=(0,U.useState)({}),[s,c]=(0,U.useState)([]),[l,u]=(0,U.useState)(null),d=(0,U.useRef)(null);(0,U.useEffect)(()=>{if(!r)return;let t=new AbortController;return u(null),Promise.all([bp({signal:t.signal}),Ep({signal:t.signal})]).then(([t,n])=>{o(t.presets[e]??{}),c(n.history.filter(t=>Tp(t)||t.panel===e).slice().reverse())}).catch(e=>{e?.name!==`AbortError`&&u((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Failed to load presets`)}),()=>t.abort()},[r,e]),(0,U.useEffect)(()=>{if(!r)return;function e(e){let t=d.current;t&&(t.contains(e.target)||i(!1))}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]),we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:205,when:()=>r,action:()=>i(!1)}],[r]));let f=Object.keys(a).sort();return(0,W.jsxs)(`div`,{className:`share-presets-dropdown`,ref:d,children:[(0,W.jsx)(`button`,{type:`button`,id:Xp,className:`share-presets-trigger`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(e=>!e),children:`presets ▾`}),r?(0,W.jsxs)(`div`,{className:`share-presets-menu`,role:`menu`,children:[l?(0,W.jsx)(`div`,{className:`share-presets-error`,role:`alert`,children:l}):null,f.length===0&&!l?(0,W.jsx)(`div`,{className:`share-presets-empty`,children:`No saved presets yet.`}):null,f.length>0?(0,W.jsx)(`ul`,{className:`share-presets-list`,children:f.map(e=>(0,W.jsxs)(`li`,{className:`share-presets-row`,children:[(0,W.jsx)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-item`,onClick:()=>{t(a[e].template_id,a[e].options),i(!1)},children:e}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${a[e].source??`claude`}`,children:Zr[a[e].source??`claude`]})]},e))}):null,s.length>0?(0,W.jsxs)(`div`,{className:`share-presets-history`,children:[(0,W.jsx)(`div`,{className:`share-presets-history-heading`,role:`presentation`,children:`Recent shares`}),(0,W.jsx)(`ul`,{className:`share-presets-history-list`,children:s.map(e=>Tp(e)?(0,W.jsx)(`li`,{className:`share-presets-history-row share-presets-history-row--composed`,children:(0,W.jsxs)(`span`,{className:`share-presets-history-composed`,title:`${e.composite.title} · ${e.format??`unknown`} · ${e.exported_at}`,children:[(0,W.jsx)(`span`,{className:`share-presets-history-template`,children:`Composed`}),(0,W.jsxs)(`span`,{className:`share-presets-history-meta`,children:[` · `,e.sections.length,e.sections.length===1?` section`:` sections`,` · `,e.format??`unknown`,` · `,Zp(e.exported_at)]})]})},e.recipe_id):(0,W.jsxs)(`li`,{className:`share-presets-history-row`,children:[(0,W.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-history-item`,onClick:()=>{t(e.template_id,e.options),i(!1)},title:`${e.template_id} · ${Zr[e.source??`claude`]} · ${e.format??`unknown`} · ${e.exported_at}`,children:[(0,W.jsx)(`span`,{className:`share-presets-history-template`,children:e.template_id}),(0,W.jsxs)(`span`,{className:`share-presets-history-meta`,children:[` · `,e.format??`unknown`,` · `,Zp(e.exported_at)]})]}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source??`claude`}`,children:Zr[e.source??`claude`]})]},e.recipe_id))})]}):null,(0,W.jsx)(`div`,{className:`share-presets-footer`,children:(0,W.jsx)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-manage`,onClick:()=>{n(),i(!1)},children:`Manage presets…`})})]}):null]})}var $p=`share-manage-presets-title`,em=`share-manage-presets-name-heading`;function tm(e,t,n){let r=Array.from(document.querySelectorAll(`.share-manage-table tbody tr`)),i=new Set([`${e}/${t}`]);n!=null&&i.add(`${e}/${n}`);let a=r.findIndex(n=>n.dataset.presetKey===`${e}/${t}`);if(a>=0)for(let e of r.slice(a+1)){if(e.dataset.presetKey!=null&&i.has(e.dataset.presetKey))continue;let t=e.querySelector(`.share-manage-actions button`);if(t)return t}return document.getElementById(em)}function nm({open:e,onClose:t,shareIsTopmost:n=!0}){let[r,i]=(0,U.useState)([]),[a,o]=(0,U.useState)(!1),[s,c]=(0,U.useState)(null),l=Mp(),u=Vn(),d={tz:u.resolvedTz,offsetLabel:u.offsetLabel};we((0,U.useMemo)(()=>e?[{key:`Escape`,scope:`overlay`,layer:208,action:t}]:[],[e,t]));let f=(0,U.useRef)(null);Ur(f,{active:e,trapEnabled:n&&e,triggerId:Xp,initialFocus:`heading`}),(0,U.useEffect)(()=>{if(!e)return;let t=!1;return c(null),(async()=>{try{let e=await bp();if(t)return;let n=[];for(let[t,r]of Object.entries(e.presets))for(let[e,i]of Object.entries(r))n.push({panel:t,name:e,record:i});n.sort((e,t)=>e.panel===t.panel?e.name.localeCompare(t.name):e.panel.localeCompare(t.panel)),i(n)}catch(e){if(t)return;c((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Failed to load presets`)}})(),()=>{t=!0}},[e]);async function p(e){o(!0),c(null);let t=tm(e.panel,e.name);try{await Cp(e.panel,e.name)}catch(e){c((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Delete failed`),o(!1);return}i(t=>t.filter(t=>!(t.panel===e.panel&&t.name===e.name))),o(!1),l.close(()=>t),I({type:`SHOW_STATUS_TOAST`,text:`Deleted preset "${e.name}"`})}async function m(e,t,n=!1){o(!0),c(null);let r;try{r=await Sp({panel:e.panel,from_name:e.name,to_name:t,...n?{overwrite:!0}:{}})}catch(e){return o(!1),e instanceof ip&&e.code===`preset_name_conflict`?`conflict`:(c((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Rename failed`),`error`)}return i(i=>(n?i.filter(n=>!(n.panel===e.panel&&n.name===t)):i).map(n=>n.panel===e.panel&&n.name===e.name?{...n,name:t,record:{template_id:r.template_id,options:r.options,saved_at:r.saved_at,...r.source?{source:r.source}:{}}}:n)),o(!1),I({type:`SHOW_STATUS_TOAST`,text:`Renamed to "${t}"`}),`ok`}return e?(0,W.jsx)(`div`,{className:`share-manage-overlay`,children:(0,W.jsxs)(`div`,{className:`share-manage-modal`,ref:f,role:`dialog`,"aria-modal":`true`,"aria-labelledby":$p,onClick:e=>e.stopPropagation(),children:[(0,W.jsx)(uc,{title:`Manage presets`,titleId:$p,className:`share-manage-header`,onClose:t,closeClassName:`share-manage-close`}),(0,W.jsxs)(`div`,{className:`share-manage-content`,children:[s?(0,W.jsx)(`div`,{className:`share-manage-error`,role:`alert`,children:s}):null,r.length===0&&!s?(0,W.jsx)(`p`,{className:`share-manage-empty`,children:`No saved presets yet.`}):null,r.length>0?(0,W.jsxs)(`table`,{className:`share-manage-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:`Panel`}),(0,W.jsx)(`th`,{id:em,tabIndex:-1,children:`Name`}),(0,W.jsx)(`th`,{children:`Saved at`}),(0,W.jsx)(`th`,{})]})}),(0,W.jsx)(`tbody`,{children:r.map(e=>(0,W.jsx)(rm,{row:e,busy:a,confirm:l,savedAtLabel:B.datetimeShort(e.record.saved_at,d),onDelete:()=>void p(e),onRename:(t,n)=>m(e,t,n)},`${e.panel}/${e.name}`))})]}):null]})]})}):null}function rm({row:e,busy:t,confirm:n,savedAtLabel:r,onDelete:i,onRename:a}){let[o,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(e.name),[u,d]=(0,U.useState)(null),f=`${e.panel}/${e.name}`,p=`delete:${f}`,m=`rename:${f}`,h=n.isArmed(p),g=n.isArmed(m),_=()=>{let t=c.trim();if(!t||t===e.name){l(e.name),s(!1);return}s(!1),a(t).then(e=>{e===`conflict`&&(d(t),n.arm(m))})};return(0,W.jsxs)(`tr`,{"data-preset-key":f,children:[(0,W.jsx)(`td`,{children:_p(e.panel)}),(0,W.jsx)(`td`,{children:o?(0,W.jsx)(`input`,{className:`share-manage-name-input`,autoFocus:!0,value:c,disabled:t,maxLength:64,onChange:e=>l(e.target.value),onKeyDown:t=>{t.key===`Enter`?(t.preventDefault(),_()):t.key===`Escape`&&(t.preventDefault(),t.stopPropagation(),l(e.name),s(!1))}}):(0,W.jsx)(`span`,{children:e.name})}),(0,W.jsx)(`td`,{children:(0,W.jsx)(`time`,{dateTime:e.record.saved_at,children:r})}),(0,W.jsxs)(`td`,{className:`share-manage-actions`,children:[!h&&!g?o?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,disabled:t,onClick:_,children:`Save`}),(0,W.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>{l(e.name),s(!1)},children:`Cancel`})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>s(!0),children:`Rename`}),(0,W.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n.arm(p),children:`Delete`})]}):null,(0,W.jsx)(Np,{id:p,host:n,prompt:`Delete "${e.name}"?`,confirmLabel:`Delete`,onConfirm:i}),(0,W.jsx)(Np,{id:m,host:n,prompt:`A preset named "${u??``}" already exists`,confirmLabel:`Replace it`,onConfirm:()=>{let t=u;if(t==null)return;let r=tm(e.panel,e.name,t);a(t,!0).then(e=>{e===`ok`&&(d(null),n.close(()=>r))})}})]})]})}function im(){return{format:`md`,theme:`light`,reveal_projects:!1,no_branding:!1,top_n:5,period:{kind:`current`},project_allowlist:null,show_chart:!0,show_table:!0}}function am(e,t){if(!t)return e;let n={...e,...t};return t.period&&(n.period={...e.period,...t.period}),n}function om({revealProjects:e,hasProjectNames:t}){let n=t===!1,r=n?`neutral`:e?`warn`:`info`,i=n?`This export contains no project names.`:e?`Export will show real project names.`:`Preview shows real names. Export is anonymized.`;return(0,W.jsx)(`p`,{className:`share-privacy-status share-privacy-status--${r}`,role:`status`,"aria-live":`polite`,children:i})}function sm({panel:e,source:t=`claude`,account:n=null,onClose:r,initialParams:i}){let a=(0,U.useRef)(null),[o,s]=(0,U.useState)(null),[c,l]=(0,U.useState)(!1),u=_p(e),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(null),[h,g]=(0,U.useState)(null),[_,v]=(0,U.useState)(()=>{let e=im();return i?.windowWeeks==null?e:{...e,windowWeeks:i.windowWeeks}}),y=(0,U.useRef)(!1),[b,x]=(0,U.useState)(!1),S=`share-modal-title`;qr(!0);let C=(0,U.useSyncExternalStore)(F,()=>je(R())===`share`);Ur(a,{active:!0,trapEnabled:C&&!b,initialFocus:`heading`}),we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:200,when:()=>!b&&R().composerModal===null,action:r}],[r,b])),(0,U.useEffect)(()=>{let t=!1;return f(null),m(null),op(e).then(e=>{if(t)return;f(e.templates);let n=e.templates[0];n&&(g(n.id),y.current||v(e=>am(e,n.default_options)))}).catch(e=>{t||m(e instanceof ip?`Couldn't load templates: ${e.message??`HTTP ${e.status}`}`:`Couldn't load templates: ${e.message}`)}),()=>{t=!0}},[e]),(0,U.useEffect)(()=>{if(!d||!h||y.current)return;let e=d.find(e=>e.id===h);e&&v(t=>am(t,e.default_options))},[h,d]);let w=(0,U.useMemo)(()=>{if(!d||!h)return null;let e=d.find(e=>e.id===h);return e?`${u} — ${e.label}`:null},[d,h,u]),T=e=>{y.current=!0,v(e)};return(0,W.jsxs)(`div`,{ref:a,className:`share-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":S,onClick:e=>e.stopPropagation(),children:[(0,W.jsx)(uc,{title:`Share ${u} report`,titleId:S,className:`share-modal-header`}),(0,W.jsx)(`div`,{className:`share-modal-source`,"aria-label":`Source: ${Zr[t]}`,children:(0,W.jsx)(`span`,{className:`source-chip source-chip--${t}`,children:Zr[t]})}),(0,W.jsxs)(`div`,{className:`share-modal-body`,children:[(0,W.jsxs)(`section`,{className:`share-section share-gallery-section`,"aria-label":`Template gallery`,children:[(0,W.jsx)(`div`,{className:`share-gallery-header`,children:(0,W.jsx)(Qp,{panel:e,onPick:(e,t)=>{g(e),y.current=!0,v(e=>({...e,...t}))},onManage:()=>x(!0)})}),(0,W.jsx)(up,{panel:e,templates:d,error:p,selectedTemplateId:h,onSelect:e=>g(e)})]}),(0,W.jsx)(`div`,{className:`share-knobs-col`,"aria-label":`Render options`,children:(0,W.jsx)(dp,{options:_,onChange:T})}),(0,W.jsxs)(`div`,{className:`share-preview-col`,"aria-label":`Live preview`,children:[c?null:(0,W.jsx)(om,{revealProjects:!!_.reveal_projects,hasProjectNames:o}),(0,W.jsx)(hp,{panel:e,source:t,account:n,templateId:h,options:_,artifactLabel:w,onProjectNamesResolved:s,onPreviewFailed:l})]})]}),(0,W.jsx)(`footer`,{className:`share-modal-footer`,children:(0,W.jsx)(Yp,{panel:e,source:t,account:n,previewFailed:c,templateId:h,options:_,onOptionsChange:T})}),(0,W.jsx)(lc,{className:`share-modal-close`,label:`Close share modal`,onClose:r}),(0,W.jsx)(nm,{open:b,shareIsTopmost:C,onClose:()=>x(!1)})]})}function cm(e,t){return{title:t.title,theme:t.theme,format:t.format,no_branding:t.no_branding,reveal_projects:t.reveal_projects,sections:e.map(e=>({snapshot:{panel:e.panel,template_id:e.template_id,options:e.options,data_digest_at_add:e.data_digest_at_add,...e.data_digest_version_at_add==null?{}:{data_digest_version_at_add:e.data_digest_version_at_add},kernel_version:e.kernel_version,source:e.source,...e.account==null?{}:{account:e.account}}}))}}async function lm(e,t){let n=await fetch(`/api/share/compose`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal});if(!n.ok){let e={};try{e=await n.json()}catch{}throw new ip(n.status,e.field,e.error??`HTTP ${n.status}`,e.code)}return n.json()}function um({items:e,results:t,kernelVersion:n,onRefresh:r,onRemove:i}){let a=hu(mu(gd,{activationConstraint:{distance:4}}),mu(dd,{coordinateGetter:Uf})),[o,s]=(0,U.useState)(null);we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:215,when:()=>o!==null,action:()=>{let e=o;s(null),e&&document.getElementById(`composer-kebab-${e}`)?.focus()}}],[o]));function c(t){if(!t.over||t.active.id===t.over.id)return;let n=e.findIndex(e=>e.id===t.active.id),r=e.findIndex(e=>e.id===t.over.id);n<0||r<0||I({type:`BASKET_REORDER`,fromIdx:n,toIdx:r})}return(0,W.jsx)(mf,{sensors:a,collisionDetection:Cu,onDragEnd:c,children:(0,W.jsx)(jf,{items:e.map(e=>e.id),strategy:Of,children:(0,W.jsx)(`ul`,{className:`composer-section-list`,children:e.map((e,a)=>(0,W.jsx)(dm,{item:e,result:t[a],kernelVersion:n,onRefresh:r,onRemove:i,isKebabOpen:o===e.id,onKebabToggle:()=>s(t=>t===e.id?null:e.id),onKebabClose:()=>s(null)},e.id))})})})}function dm({item:e,result:t,kernelVersion:n,onRefresh:r,onRemove:i,isKebabOpen:a,onKebabToggle:o,onKebabClose:s}){let{attributes:c,listeners:l,setNodeRef:u,transform:d,transition:f,isDragging:p}=zf({id:e.id}),m=Cs(),h={transform:$l.Transform.toString(d),transition:m?void 0:f,opacity:p?.4:1},g=t?.drift_detected,_=e.kernel_version!==n,v=!!(g||_);return(0,W.jsxs)(`li`,{ref:u,style:h,className:`composer-section-row`,children:[(0,W.jsx)(`button`,{className:`composer-drag-handle`,"aria-label":`Reorder ${e.label_hint}`,type:`button`,...c,...l,children:`≡`}),(0,W.jsx)(`span`,{className:`composer-section-label`,children:e.label_hint}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:Zr[e.source]}),v?(0,W.jsx)(`span`,{className:`composer-outdated-badge`,title:g&&_?`Data and kernel both shifted since add-time. Refresh to update.`:g?`Data has changed since this section was added. Refresh to update.`:`Kernel updated since this section was added. Refresh to re-render at the new version.`,children:`Outdated`}):null,(0,W.jsxs)(`div`,{className:`composer-section-actions`,children:[(0,W.jsx)(`button`,{type:`button`,id:`composer-kebab-${e.id}`,"aria-expanded":a,"aria-controls":a?`composer-kebab-menu-${e.id}`:void 0,onClick:o,"aria-label":`Actions for ${e.label_hint}`,children:`⋯`}),a?(0,W.jsxs)(`ul`,{id:`composer-kebab-menu-${e.id}`,className:`composer-section-menu`,children:[(0,W.jsx)(`li`,{children:(0,W.jsx)(`button`,{type:`button`,onClick:()=>{r(e.id),s()},children:`Refresh from current data`})}),(0,W.jsx)(`li`,{children:(0,W.jsx)(`button`,{type:`button`,onClick:()=>{i(e.id),s()},"aria-label":`Remove ${e.label_hint}`,children:`Remove`})})]}):null]})]})}function fm(e,t){return t&&e>0}function pm(e){return`cctally-report-${new Date().toISOString().slice(0,10).replaceAll(`-`,``)}.${e===`md`?`md`:e}`}function mm(e){switch(e){case`md`:return`text/markdown;charset=utf-8`;case`html`:return`text/html;charset=utf-8`;case`svg`:return`image/svg+xml;charset=utf-8`}}var hm=`composer-clear-all`,gm=`composer-preview-failed-note`;function _m(e){return`${e} ${e===1?`section`:`sections`}`}function vm(e){return e===`light`?`#ffffff`:`#0f172a`}function ym(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}var bm=200;function xm(){return R().composerModal}function Sm(){return R().basket}var Cm=`composer-modal-title`;function wm(){let e=(0,U.useSyncExternalStore)(F,xm),t=(0,U.useSyncExternalStore)(F,Sm),n=zn(),i=Mp(),a=(0,U.useRef)(null);qr(e?.open??!1),Ur(a,{active:e?.open??!1,initialFocus:`heading`});let[o,s]=(0,U.useState)(``),[c,l]=(0,U.useState)(`light`),[u,d]=(0,U.useState)(`html`),[f,p]=(0,U.useState)(!0),[m,h]=(0,U.useState)(!1),[g,_]=(0,U.useState)(null),[v,y]=(0,U.useState)(null),[b,x]=(0,U.useState)(!1),[S,C]=(0,U.useState)(null);fp(S);let w=(0,U.useRef)(null),[T,ee]=(0,U.useState)(null),[E,D]=(0,U.useState)(null);(0,U.useEffect)(()=>{D(null)},[u,c,f,m]),we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:210,when:()=>R().composerModal!==null,action:()=>I(r())}],[])),(0,U.useEffect)(()=>{e?.open&&o===``&&s(`cctally report — ${new Date().toISOString().slice(0,10)}`)},[e?.open,o]),(0,U.useEffect)(()=>{if(!e?.open||t.items.length===0||o===``)return;let n=setTimeout(()=>{w.current?.abort();let e=new AbortController;w.current=e,x(!0),y(null),lm(cm(t.items,{title:o,theme:c,format:u,no_branding:m,reveal_projects:!f}),{signal:e.signal}).then(t=>{e.signal.aborted||_(t)}).catch(t=>{t?.name!==`AbortError`&&(e.signal.aborted||y(t instanceof ip?t.message??`HTTP ${t.status}`:t.message))}).finally(()=>{e.signal.aborted||x(!1)})},bm);return()=>clearTimeout(n)},[e?.open,t.items,o,c,u,f,m]);async function O(e){let n=t.items.findIndex(t=>t.id===e);if(n<0)return;let r=t.items[n];try{let t=await sp({panel:r.panel,template_id:r.template_id,options:{...r.options,reveal_projects:!f},source:r.source,account:r.account}),i=H({panel:r.panel,template_id:r.template_id,options:r.options,added_at:new Date().toISOString(),data_digest_at_add:t.snapshot.data_digest,kernel_version:t.snapshot.kernel_version,label_hint:r.label_hint,source:r.source,account:r.account,id:r.id});I({type:`BASKET_REMOVE`,id:e}),I({type:`BASKET_ADD`,item:i});let a=R().basket.items.length-1;a!==n&&I({type:`BASKET_REORDER`,fromIdx:a,toIdx:n})}catch(e){y(`Refresh failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}}let k=async e=>{let n=await lm(cm(t.items,{title:o,theme:c,format:e,no_branding:m,reveal_projects:!f}));return{body:n.body,content_type:n.content_type}},te=e=>I({type:`SHOW_STATUS_TOAST`,text:e}),A=(e,n)=>{Op({sections:t.items.map(e=>({panel:e.panel,template_id:e.template_id,options:e.options,source:e.source,...e.account==null?{}:{account:e.account}})),composite:{title:o,theme:c,reveal_projects:!f,no_branding:m},format:n,destination:e}).catch(()=>{})},j=async(e,t,n)=>{if(T==null){ee(e),D(null);try{await t()}catch(e){D(`${n} failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{ee(null)}}},M=()=>j(`copy`,async()=>{let{body:e}=await k(`md`);if(!navigator.clipboard||typeof navigator.clipboard.writeText!=`function`)throw Error(`Clipboard API unavailable in this browser`);await navigator.clipboard.writeText(e),te(`Copied`),A(`copy`,`md`)},`Copy`),ne=()=>j(`download`,async()=>{let{body:e}=await k(u),t=new Blob([e],{type:mm(u)});ym(pm(u),t),te(`Downloaded`),A(`download`,u)},`Download`),re=()=>{if(T!=null)return;let e=Rp();if(!e){D(`Open failed: ${zp}`);return}j(`open`,async()=>{try{let{body:t}=await k(u);e.navigate(new Blob([t],{type:mm(u)}))}catch(t){throw e.close(),t}te(`Opened`),A(`open`,u)},`Open`)},ie=()=>j(`png`,async()=>{let{body:e}=await k(`svg`),t=await Ip(e,2,vm(c));ym(pm(`svg`).replace(/\.svg$/,`.png`),t),te(`PNG downloaded`),A(`png`,`svg`)},`PNG export`),N=()=>j(`print`,async()=>{let{body:e}=await k(`html`);Vp(e),te(`Print dialog opened`),A(`print`,`html`)},`Print`),ae=T==null&&u===`md`&&t.items.length>0,P=T==null&&t.items.length>0,oe=T==null&&(u===`html`||u===`svg`)&&t.items.length>0,se=T==null&&u===`svg`&&t.items.length>0,ce=T==null&&u===`html`&&t.items.length>0,L=!f,le=fm(t.items.length,L),ue=L?t.items.length:0;if(!e?.open)return null;let z=(0,W.jsx)(uc,{title:`Compose report`,titleId:Cm,className:`composer-modal-header`,onClose:()=>I(r()),closeClassName:`composer-modal-close`});return t.items.length===0?(0,W.jsxs)(`div`,{className:`composer-modal composer-modal-empty${n?` composer-modal-mobile`:``}`,ref:a,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-labelledby":Cm,children:[z,(0,W.jsx)(`p`,{className:`composer-empty-message`,children:`Basket is empty. Open any panel's share menu and pick + Basket to add a section.`})]}):(0,W.jsxs)(`div`,{className:`composer-modal${n?` composer-modal-mobile`:``}`,ref:a,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-labelledby":Cm,children:[z,(0,W.jsxs)(`div`,{className:`composer-knobs`,children:[(0,W.jsxs)(`label`,{children:[`Title`,(0,W.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value)})]}),(0,W.jsxs)(`label`,{children:[`Theme`,(0,W.jsxs)(`select`,{value:c,onChange:e=>l(e.target.value),children:[(0,W.jsx)(`option`,{value:`light`,children:`light`}),(0,W.jsx)(`option`,{value:`dark`,children:`dark`})]})]}),(0,W.jsxs)(`label`,{children:[`Format`,(0,W.jsxs)(`select`,{value:u,onChange:e=>d(e.target.value),children:[(0,W.jsx)(`option`,{value:`html`,children:`html`}),(0,W.jsx)(`option`,{value:`md`,children:`md`}),(0,W.jsx)(`option`,{value:`svg`,children:`svg`})]})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:f,onChange:e=>p(e.target.checked)}),`Anon on export`]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:m,onChange:e=>h(e.target.checked)}),`No branding`]})]}),le?(0,W.jsxs)(`div`,{className:`composer-anon-banner`,role:`status`,"aria-live":`polite`,children:[(0,W.jsxs)(`span`,{children:[ue,` section`,ue===1?``:`s`,` contain real project names. They will appear in the export.`]}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>p(!0),children:`Anonymize all`})]}):null,(0,W.jsxs)(`div`,{className:`composer-body`,children:[(0,W.jsx)(um,{items:t.items,results:g?.snapshot.section_results??[],kernelVersion:g?.snapshot.kernel_version??1,onRefresh:e=>{O(e)},onRemove:e=>I({type:`BASKET_REMOVE`,id:e})}),(0,W.jsxs)(`figure`,{className:`composer-preview-frame`,children:[(0,W.jsxs)(`figcaption`,{className:`composer-preview-label`,children:[`Preview · `,c]}),(0,W.jsx)(`iframe`,{className:`composer-preview`,title:`Combined preview`,tabIndex:-1,sandbox:`allow-same-origin`,srcDoc:g?.body??`<p>Composing…</p>`,ref:C})]})]}),b?(0,W.jsx)(`div`,{className:`composer-busy`,children:`Composing…`}):null,v?(0,W.jsx)(`div`,{className:`composer-error`,role:`alert`,children:v}):null,E?(0,W.jsx)(`div`,{className:`composer-error`,role:`alert`,children:E}):null,(0,W.jsxs)(`footer`,{className:`composer-actions`,children:[v?(0,W.jsx)(`p`,{className:`share-preview-failed-note`,id:gm,children:Wp}):null,(0,W.jsxs)(`div`,{className:`composer-export-row`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-copy`,onClick:M,disabled:!ae,title:u===`md`?T===`copy`?`Copying…`:`Copy composed report to clipboard`:`Copy is available for Markdown only`,children:T===`copy`?`Copying…`:`Copy`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-download`,onClick:ne,disabled:!P,title:T===`download`?`Downloading…`:`Download composed report`,children:T===`download`?`Downloading…`:`Download`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-open`,onClick:re,disabled:!oe,title:u===`html`||u===`svg`?T===`open`?`Opening…`:`Open composed report in new tab`:`Open is available for HTML/SVG`,children:T===`open`?`Opening…`:`Open`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-png`,onClick:ie,disabled:!se,title:u===`svg`?T===`png`?`Rasterizing…`:`Download composed report as PNG`:`PNG export — available for SVG format only`,children:T===`png`?`Rasterizing…`:`PNG`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-print`,onClick:N,disabled:!ce,title:u===`html`?T===`print`?`Opening print dialog…`:`Open the browser print dialog (save as PDF)`:`Print → PDF — available for HTML format only`,children:T===`print`?`Printing…`:`Print → PDF`})]}),(0,W.jsx)(`button`,{type:`button`,className:`composer-clear-all`,onClick:()=>i.arm(hm),children:`Clear all`}),(0,W.jsx)(Np,{id:hm,host:i,prompt:`Clear ${_m(t.items.length)}?`,confirmLabel:`Clear ${_m(t.items.length)}`,onConfirm:()=>{I({type:`BASKET_CLEAR`}),i.close(()=>document.querySelector(`.composer-modal-close`))}})]})]})}function Tm(){let e=(0,U.useSyncExternalStore)(F,()=>R().shareModal),t=(0,U.useRef)(null),n=(0,U.useRef)(!1);(0,U.useEffect)(()=>{if(e)n.current||(n.current=!0,t.current=(e.triggerId?document.getElementById(e.triggerId):null)??document.activeElement);else if(n.current){n.current=!1;let e=t.current;if(t.current=null,e&&typeof e.focus==`function`&&document.contains(e))e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[e]);let r=()=>I(M());return(0,W.jsxs)(W.Fragment,{children:[e?(0,W.jsx)(`div`,{id:`share-modal-root`,className:`share-overlay`,onClick:e=>{e.stopPropagation(),e.target===e.currentTarget&&r()},children:(0,W.jsx)(sm,{panel:e.panel,source:e.source,account:e.source===`claude`?null:e.account,initialParams:e.params,onClose:r})}):null,(0,W.jsx)(wm,{})]})}function Em(e,t){return e==null?t?`error`:`loading`:`ready`}function Dm({kind:e,message:t}){let n=e===`stale`?`Disconnected — data may be stale. Reconnecting…`:t??`Couldn’t load dashboard data. Reconnecting…`;return(0,W.jsxs)(`div`,{className:`stale-banner stale-banner-${e}`,role:`status`,"aria-live":`polite`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#warn-triangle`})}),(0,W.jsx)(`span`,{children:n}),e===`error`&&t==null&&(0,W.jsxs)(`span`,{className:`stale-banner-hint`,children:[`Check that `,(0,W.jsx)(`code`,{children:`cctally dashboard`}),` is running.`]})]})}var Om=[`tall`,`medium`,`short`];function km({span:e}){return(0,W.jsx)(`div`,{className:`panel-host`,"data-span":e,children:(0,W.jsxs)(`div`,{className:`panel is-skeleton`,children:[(0,W.jsx)(`div`,{className:`skel skel-header`}),(0,W.jsx)(`div`,{className:`skel skel-line`}),(0,W.jsx)(`div`,{className:`skel skel-line short`})]})})}function Am({mode:t}){return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:`Loading dashboard…`}),(0,W.jsx)(`div`,{className:`skel-hero`,"aria-hidden":`true`}),(0,W.jsx)(`div`,{className:`dash-grid`,"aria-hidden":`true`,"data-board-mode":t,children:Om.map(n=>{let r=le.filter(t=>e[t].row===n);return(0,W.jsx)(`div`,{className:`bento-row row-${n}`,children:r.map(e=>(0,W.jsx)(km,{span:Xf(e,t)},e))},n)})})]})}function jm(){return typeof window>`u`||!window.matchMedia||window.matchMedia(Ln).matches?`bento`:window.matchMedia(In).matches?`intermediate`:`stack`}function Mm(){let[e,t]=(0,U.useState)(jm);return(0,U.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(Ln),n=window.matchMedia(In),r=()=>t(jm());return e.addEventListener(`change`,r),n.addEventListener(`change`,r),r(),()=>{e.removeEventListener(`change`,r),n.removeEventListener(`change`,r)}},[]),e}var Nm=class extends U.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){console.error(`deferred ${this.props.name} failed to load`,e,t)}render(){let{children:e,name:t}=this.props;return this.state.failed?(0,W.jsx)(`div`,{className:`modal-backdrop feature-load-failure`,role:`alert`,"aria-label":`${t} failed to load`,children:(0,W.jsxs)(`section`,{className:`modal-card feature-load-failure-card`,children:[(0,W.jsxs)(`h2`,{children:[t,` could not load`]}),(0,W.jsx)(`p`,{children:`The dashboard may have updated while this tab was open. Reload to use one coherent build.`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>window.location.reload(),children:`Reload dashboard`})]})}):(0,W.jsx)(U.Suspense,{fallback:(0,W.jsxs)(`div`,{className:`feature-load-pending`,role:`status`,children:[`Loading `,t,`…`]}),children:e})}},Pm=`modulepreload`,Fm=function(e){return`/static/`+e},Im={},Lm=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Fm(t,n),t in Im)return;Im[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Pm,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Rm=(0,U.lazy)(()=>Lm(()=>import(`./ConversationsView-CEZ-BUyi.js`).then(e=>({default:e.ConversationsView})),__vite__mapDeps([0,1,2]))),zm=(0,U.lazy)(()=>Lm(()=>import(`./ModalRoot-D5Y8IFUG.js`).then(e=>({default:e.ModalRoot})),__vite__mapDeps([3,1,2,4]))),Bm=(0,U.lazy)(()=>Lm(()=>import(`./SourceDetailModal-CHp9EgLP.js`).then(e=>({default:e.SourceDetailModal})),__vite__mapDeps([5,1,2,4]))),Vm=(0,U.lazy)(()=>Lm(()=>import(`./UpdateModal-5iKST6jo.js`).then(e=>({default:e.UpdateModal})),__vite__mapDeps([6,1]))),Hm=(0,U.lazy)(()=>Lm(()=>import(`./DoctorModal-CE1oH_Zy.js`).then(e=>({default:e.DoctorModal})),__vite__mapDeps([7,1])));function Um(){let t=(0,U.useSyncExternalStore)(F,()=>R().prefs.panelOrder),n=(0,U.useSyncExternalStore)(F,()=>R().activeSource),r=(0,U.useSyncExternalStore)(F,()=>R().view),i=(0,U.useSyncExternalStore)(F,()=>R().openModal),a=(0,U.useSyncExternalStore)(F,()=>R().openSourceDetail),o=(0,U.useSyncExternalStore)(F,()=>R().update.modalOpen),s=(0,U.useSyncExternalStore)(F,()=>R().doctorModalOpen),l=We(),{disconnected:u,bootstrapError:d,bootstrapMessage:f}=Wt(),p=Em(l,d),m=Mm(),{tall:h,medium:g,short:_,globalIndex:v}=(0,U.useMemo)(()=>{let r=c(t,C(l,n)),i=t=>r.filter(n=>e[n].row===t);return{tall:i(`tall`),medium:i(`medium`),short:i(`short`),globalIndex:new Map(r.map((e,t)=>[e,t]))}},[t,l,n]);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`a`,{className:`skip-link`,href:`#main-content`,children:`Skip to main content`}),(0,W.jsx)(An,{}),(0,W.jsx)(`main`,{id:`main-content`,tabIndex:-1,children:r===`conversations`?(0,W.jsx)(Nm,{name:`Conversations`,children:(0,W.jsx)(Rm,{})}):p===`loading`?(0,W.jsx)(Am,{mode:m}):p===`error`?(0,W.jsx)(Dm,{kind:`error`,message:f}):(0,W.jsxs)(W.Fragment,{children:[u&&(0,W.jsx)(Dm,{kind:`stale`}),(0,W.jsx)(yr,{}),(0,W.jsx)(ws.Provider,{value:m,children:(0,W.jsxs)(`div`,{className:`dash-grid${u?` is-stale`:``}`,"data-board-mode":m,children:[(0,W.jsx)(rp,{items:h,className:`bento-row row-tall`,children:h.map(e=>(0,W.jsx)(Zf,{id:e,index:v.get(e)??0,mode:m},e))}),(0,W.jsx)(rp,{items:g,className:`bento-row row-medium`,children:g.map(e=>(0,W.jsx)(Zf,{id:e,index:v.get(e)??0,mode:m},e))}),(0,W.jsx)(rp,{items:_,className:`bento-row row-short`,children:_.map(e=>(0,W.jsx)(Zf,{id:e,index:v.get(e)??0,mode:m},e))})]})})]})}),(0,W.jsx)(Pr,{}),(0,W.jsx)(mc,{}),(0,W.jsx)(sl,{}),i?(0,W.jsx)(Nm,{name:`Dashboard detail`,children:(0,W.jsx)(zm,{})}):null,a?(0,W.jsx)(Nm,{name:`Source detail`,children:(0,W.jsx)(Bm,{})}):null,(0,W.jsx)(Tm,{}),o?(0,W.jsx)(Nm,{name:`Update`,children:(0,W.jsx)(Vm,{})}):null,s?(0,W.jsx)(Nm,{name:`Doctor`,children:(0,W.jsx)(Hm,{})}):null,(0,W.jsx)(El,{})]})}var Wm=`#/conversations`;function Gm(e){if(!e.startsWith(`v1.`))return null;try{let t=e.slice(3).replace(/-/g,`+`).replace(/_/g,`/`),n=t+`=`.repeat((4-t.length%4)%4),r=Uint8Array.from(atob(n),e=>e.charCodeAt(0)),i=JSON.parse(new TextDecoder().decode(r));return i.version!==1||i.resourceKind!==`conversation`?null:i.source===`claude`||i.source===`codex`?i.source:null}catch{return null}}function Km(e){let[t,n=``]=(e.startsWith(`#`)?e.slice(1):e).split(`?`,2),r=new URLSearchParams(n),i=t===`/conversation`||t.startsWith(`/conversation/`)?`/conversations`+t.slice(13):t;if(i===``||i===`/`)return null;if(i===`/conversations`||i===`/conversations/`)return{sessionId:null,turnUuid:null,compare:null};if(!i.startsWith(`/conversations/`))return null;let a=i.slice(15).split(`/`).filter(e=>e.length>0),o=e=>e===`claude`||e===`codex`?e:null;if(a[0]===`source`&&(a.length===3||a.length===4)){let e=o(a[1]);if(!e||!a[2])return null;let t=r.get(`account`)||void 0,n=t?{source:e,key:decodeURIComponent(a[2]),account_key:t}:{source:e,key:decodeURIComponent(a[2])};return{sessionId:e===`claude`?n.key:null,conversationRef:n,turnUuid:a[3]?decodeURIComponent(a[3]):null,compare:null,qualified:!0}}if(a[0]===`compare`&&a.length===5){let e=o(a[1]),t=o(a[3]);return!e||!t||!a[2]||!a[4]?null:{sessionId:null,conversationRef:null,turnUuid:null,compare:{a:r.get(`a_account`)?{source:e,key:decodeURIComponent(a[2]),account_key:r.get(`a_account`)}:{source:e,key:decodeURIComponent(a[2])},b:r.get(`b_account`)?{source:t,key:decodeURIComponent(a[4]),account_key:r.get(`b_account`)}:{source:t,key:decodeURIComponent(a[4])}},qualified:!0}}if(a[0]===`compare`&&a.length>=3&&a[1]&&a[2])return{sessionId:null,conversationRef:null,turnUuid:null,compare:{a:z(decodeURIComponent(a[1])),b:z(decodeURIComponent(a[2]))}};if(a.length===1||a.length===2){let e=decodeURIComponent(a[0]),t=Gm(e);if(t)return{sessionId:t===`claude`?e:null,conversationRef:{source:t,key:e},turnUuid:a[1]?decodeURIComponent(a[1]):null,compare:null,qualified:!0}}return a.length===1?{sessionId:decodeURIComponent(a[0]),turnUuid:null,compare:null}:a.length===2?{sessionId:decodeURIComponent(a[0]),turnUuid:decodeURIComponent(a[1]),compare:null}:null}function qm(e,t){if(V(e)){let n=`${Wm}/source/${e.source}/${encodeURIComponent(e.key)}`,r=t?`${n}/${encodeURIComponent(t)}`:n;return e.account_key?`${r}?account=${encodeURIComponent(e.account_key)}`:r}if(typeof e==`object`&&e){let t=e;if(t.compare){let e=P(t.compare.a),n=P(t.compare.b),r=`${Wm}/compare/${e.source}/${encodeURIComponent(e.key)}/${n.source}/${encodeURIComponent(n.key)}`,i=new URLSearchParams;return e.account_key&&i.set(`a_account`,e.account_key),n.account_key&&i.set(`b_account`,n.account_key),i.size?`${r}?${i.toString()}`:r}return t.conversationRef?qm(t.conversationRef,t.turnUuid):qm(t.sessionId,t.turnUuid)}let n=e;if(n===null)return Wm;let r=encodeURIComponent(n);return t?`${Wm}/${r}/${encodeURIComponent(t)}`:`${Wm}/${r}`}function Jm(e,t,n,r){return`${e}${t}${V(n),qm(n,r)}`}function Ym(e,t){return e===`dashboard`?``:qm(t||null)}var Xm=`cctallyRoute`;function Zm(e){return typeof e==`object`&&!!e&&Xm in e}function Qm(e,t){if(e===window.location.hash)return;let n=e===``?window.location.pathname+window.location.search:e,r={[Xm]:!0};t===`push`?window.history.pushState(r,``,n):window.history.replaceState(r,``,n)}function $m(e,t){Qm((V(e),qm(e,t)),`replace`)}function eh(e,t={}){let n=[{type:`SET_ACTIVE_SOURCE`,source:e.source},{type:`SET_ACCOUNT_FOCUS`,source:e.source,slot:`provider`,account:e.account_key??`all`}];return t.preserveRailState||(n.push({type:`CLEAR_CONVERSATION_FILTERS`}),n.push({type:`SET_CONVERSATION_SEARCH`,text:``})),n}var th=!1,nh=null,rh=!1;function ih(e,t,n,r={}){let i=th;th=!0;try{for(let n of eh(t,r))e(n);e(n)}finally{th=i}i||nh?.()}function ah(e){let t={preserveRailState:rh};rh=!1,th=!0;try{oh(e,t)}finally{th=!1}}function oh(e,t){let n=Km(window.location.hash);if(n===null){e.dispatch({type:`SET_VIEW`,view:`dashboard`});return}if(n.compare){let r=Oe(n.compare.a,n.compare.b)?n.qualified?{type:`OPEN_CONVERSATION`,conversationRef:n.compare.a}:{type:`OPEN_CONVERSATION`,sessionId:n.compare.a.key}:n.qualified?{type:`OPEN_COMPARE`,aRef:n.compare.a,bRef:n.compare.b}:{type:`OPEN_COMPARE`,a:n.compare.a.key,b:n.compare.b.key};ih(e.dispatch,n.compare.a,r,t);return}let r=n.conversationRef??(n.sessionId?z(n.sessionId):null);if(r===null){e.dispatch({type:`SET_VIEW`,view:`conversations`}),e.dispatch({type:`SELECT_CONVERSATION`,sessionId:null});return}let i=n.turnUuid?{...n.qualified?{conversation_ref:r}:{},session_id:r.key,uuid:n.turnUuid}:void 0;ih(e.dispatch,r,n.qualified?{type:`OPEN_CONVERSATION`,conversationRef:r,jump:i}:{type:`OPEN_CONVERSATION`,sessionId:r.key,jump:i},t)}function sh(e={getState:R,subscribeStore:F,dispatch:I}){let t=window.history.scrollRestoration;if(window.history.scrollRestoration=`manual`,!Zm(window.history.state)){let e=typeof window.history.state==`object`&&window.history.state!==null?window.history.state:{};window.history.replaceState({...e,[Xm]:!0},``)}ah(e);let n=()=>{let t=e.getState(),n=t.selectedConversationRef??(t.selectedConversationId?z(t.selectedConversationId):null);return{view:t.view,ref:n,refKey:n?ue(n):null,jumpUuid:t.conversationJump?.uuid??null,cmp:t.compare?JSON.stringify([ue(t.compare.a),ue(t.compare.b)]):null}},r=n(),i=()=>{ah(e),r=n()};window.addEventListener(`hashchange`,i);let a=e=>{rh=Zm(e.state)};window.addEventListener(`popstate`,a);let o=()=>{if(th)return;let t=e.getState(),i=n(),a=!!t.conversationJump&&Oe(L(t.conversationJump),i.ref);if(i.cmp&&i.cmp!==r.cmp){Qm(qm({sessionId:null,turnUuid:null,compare:t.compare}),`push`),r=i;return}if(i.cmp){r=i;return}if(r.cmp&&!i.cmp){let e=Ym(i.view,i.ref);i.view===`conversations`&&i.ref&&i.jumpUuid&&a&&(e=qm(i.ref,i.jumpUuid)),Qm(e,`push`),r=i;return}if(i.view!==r.view||i.refKey!==r.refKey){let e=Ym(i.view,i.ref);i.view===`conversations`&&i.ref&&i.jumpUuid&&a&&(e=qm(i.ref,i.jumpUuid)),Qm(e,`push`)}else i.ref&&i.refKey===r.refKey&&i.jumpUuid&&i.jumpUuid!==r.jumpUuid&&a&&Qm(qm(i.ref,i.jumpUuid),`replace`);r=i},s=e.subscribeStore(o),c=()=>{o()};return nh=c,()=>{window.removeEventListener(`hashchange`,i),window.removeEventListener(`popstate`,a),rh=!1,nh===c&&(nh=null),s(),window.history.scrollRestoration=t}}function ch(e){let t=R();if(t.snapshot==null)return;let n=ce(t);if(n==null)return;let r=c(t.prefs.panelOrder,C(n,t.activeSource)),i=e-1;if(i<0||i>=r.length)return;let a=r[i];if(t.activeSource!==`claude`&&a===`sessions`){let e=ke(C(n,t.activeSource))[0];e&&I({type:`OPEN_SOURCE_DETAIL`,source:e.source,resource:`session`,key:e.key});return}if(t.activeSource!==`claude`&&a===`blocks`){let e=aa(n,t.activeSource),r=e.find(e=>e.is_active)??e[0];r?.source===`claude`?I({type:`OPEN_MODAL`,kind:`block`,blockStartAt:r.start_at}):r&&I({type:`OPEN_SOURCE_DETAIL`,source:r.source,resource:`block`,key:r.key});return}let o=cc[a];o&&o.openAction()}var lh=`Focus a panel action, then press Shift+S to share it.`;function uh(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Pn).matches}function dh(){if(typeof document>`u`)return null;let e=document.activeElement;if(!e||!(e instanceof Element))return null;let t=e.closest(`[data-panel-kind]`);return t?t.getAttribute(`data-panel-kind`):null}function fh(){return{key:`S`,scope:`global`,when:()=>{let e=R();return!(uh()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null||e.chromeOverlayOpen!==0)},action:()=>{let e=dh();if(e===null){I({type:`SHOW_STATUS_TOAST`,text:lh});return}Te.has(e)&&Xr(R().activeSource,e)&&I(j(e,`${e}-panel`))}}}function ph(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Pn).matches}function mh(){return{key:`B`,scope:`global`,when:()=>{let e=R();return!(ph()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null||e.chromeOverlayOpen!==0)},action:()=>I(p())}}function hh(){return[mh()]}var gh=[`claude`,`codex`,`all`];function _h(){let e=R().activeSource,t=gh[(gh.indexOf(e)+1)%gh.length];I({type:`SET_ACTIVE_SOURCE`,source:t})}function vh(){let e=R(),t=e.activeSource,n=t===`all`?x(e.snapshot,`codex`)?`codex`:x(e.snapshot,`claude`)?`claude`:null:t;if(n==null)return;let r=v(e.snapshot?.sources?.[n]??null);if(r==null)return;let i=y(r,u(e.snapshot,t,n,e.accountFocus));I({type:`SET_ACCOUNT_FOCUS`,source:n,slot:pe(t),account:i})}function yh(){return typeof window<`u`&&!!window.matchMedia&&window.matchMedia(In).matches}function bh(){let e=R();return!e.openModal&&!e.update.modalOpen&&!e.doctorModalOpen&&e.inputMode===null&&e.chromeOverlayOpen===0}function xh(){let e=R();return!(e.openModal!==null||e.update.modalOpen||e.inputMode!==null||e.chromeOverlayOpen!==0)}function Sh(){return[{key:`1`,scope:`global`,when:bh,action:()=>ch(1)},{key:`2`,scope:`global`,when:bh,action:()=>ch(2)},{key:`3`,scope:`global`,when:bh,action:()=>ch(3)},{key:`4`,scope:`global`,when:bh,action:()=>ch(4)},{key:`5`,scope:`global`,when:bh,action:()=>ch(5)},{key:`6`,scope:`global`,when:bh,action:()=>ch(6)},{key:`7`,scope:`global`,when:bh,action:()=>ch(7)},{key:`8`,scope:`global`,when:bh,action:()=>ch(8)},{key:`9`,scope:`global`,when:bh,action:()=>ch(9)},{key:`0`,scope:`global`,when:bh,action:()=>ch(10)},{key:`r`,scope:`global`,when:bh,action:()=>Dn()},{key:`v`,scope:`global`,when:bh,action:_h},{key:`a`,scope:`global`,when:bh,action:vh},{key:`q`,scope:`global`,when:bh,action:Nr},{key:`n`,scope:`global`,when:bh,action:()=>jr(1)},{key:`N`,scope:`global`,when:bh,action:()=>jr(-1)},{key:`d`,scope:`global`,view:`any`,when:xh,action:()=>I({type:`OPEN_DOCTOR_MODAL`})},{key:`e`,scope:`global`,when:bh,action:()=>I({type:`OPEN_MODAL`,kind:`explain`})},fh(),...hh(),{key:`c`,scope:`sessions`,when:()=>!R().openModal&&R().chromeOverlayOpen===0&&!yh(),action:()=>{let e=R().prefs.sessionsCollapsed;I({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!e}})}}]}var Ch=class extends Error{constructor(){super(`Dashboard authentication failed`),this.name=`DashboardAuthError`}};function wh(){history.replaceState(history.state,``,`${location.pathname}${location.search}`)}async function Th(){let e=location.hash;if(!e.startsWith(`#token=`))return;wh();let t=e.slice(7);if(!t||t.includes(`&`))throw new Ch;let n;try{n=decodeURIComponent(t)}catch{throw new Ch}if(!n)throw new Ch;let r;try{r=await fetch(`/api/auth`,{method:`POST`,headers:{Authorization:`Bearer ${n}`}})}catch{throw new Ch}if(r.status!==204)throw new Ch}function Eh(e){let t=document.createElement(`section`);t.className=`app-error`,t.setAttribute(`role`,`alert`);let n=document.createElement(`h1`);n.textContent=`Dashboard authentication failed`;let r=document.createElement(`p`);r.textContent=`Reopen the dashboard using a fresh URL from its terminal.`,t.append(n,r),e.replaceChildren(t)}var Dh=document.getElementById(`root`);if(!Dh)throw Error(`missing #root`);async function Oh(e){try{await Th()}catch{Eh(e);return}Pt(),et(),xe(),sh(),fe(Sh()),(0,Re.createRoot)(e).render((0,W.jsx)(U.StrictMode,{children:(0,W.jsx)(Um,{})}))}Oh(Dh);export{ea as $,Yo as A,Qt as At,go as B,cs as C,Fn as Ct,Xo as D,Tn as Dt,ts as E,jn as Et,Ao as F,We as Ft,ga as G,Qa as H,ko as I,Le as It,ca as J,la as K,To as L,Go as M,et as Mt,zo as N,tt as Nt,Qo as O,hn as Ot,Bo as P,it as Pt,Xi as Q,ho as R,xs as S,Rn as St,ns as T,Nn as Tt,Ga as U,lo as V,ja as W,Gi as X,Zi as Y,Ui as Z,Vs as _,Qn as _t,fl as a,Ci as at,Cs as b,Vn as bt,nc as c,ei as ct,ec as d,Ur as dt,zi as et,Zs as f,or as ft,Ls as g,$n as gt,Is as h,fr as ht,ih as i,xi as it,Wo as j,Yt as jt,Zo as k,dn as kt,$s as l,Qr as lt,qs as m,sr as mt,Jm as n,Fi as nt,uc as o,wi as ot,Ys as p,ar as pt,Yi as q,$m as r,Ji as rt,lc as s,oi as st,bh as t,ra as tt,Qs as u,qr as ut,Rs as v,Zn as vt,es as w,Mn as wt,bs as x,zn as xt,Ns as y,Un as yt,po as z};
|
|
13
|
+
`},uu={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function du(e){let{announcements:t=uu,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=lu}=e,{announce:a,announcement:o}=au(),s=Gl(`DndLiveRegion`),[c,l]=(0,U.useState)(!1);if((0,U.useEffect)(()=>{l(!0)},[]),su((0,U.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=U.createElement(U.Fragment,null,U.createElement(ru,{id:r,value:i.draggable}),U.createElement(iu,{id:s,announcement:o}));return n?(0,Dl.createPortal)(u,n):u}var fu;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(fu||={});function pu(){}function mu(e,t){return(0,U.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function hu(){var e=[...arguments];return(0,U.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var gu=Object.freeze({x:0,y:0});function _u(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function vu(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function yu(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function bu(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function xu(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Su(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var Cu=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Su(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=_u(Su(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(vu)},wu=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=bu(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=bu(r),o=i.reduce((e,t,r)=>e+_u(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(vu)};function Tu(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Eu=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Tu(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(yu)};function Du(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Ou(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:gu}function ku(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Au=ku(1);function ju(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Mu(e,t,n){let r=ju(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Nu={ignoreTransform:!1};function Pu(e,t){t===void 0&&(t=Nu);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Ml(e).getComputedStyle(e);t&&(n=Mu(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function Fu(e){return Pu(e,{ignoreTransform:!0})}function Iu(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Lu(e,t){return t===void 0&&(t=Ml(e).getComputedStyle(e)),t.position===`fixed`}function Ru(e,t){t===void 0&&(t=Ml(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function zu(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Nl(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Pl(i)||Fl(i)||n.includes(i))return n;let a=Ml(e).getComputedStyle(i);return i!==e&&Ru(i,a)&&n.push(i),Lu(i,a)?n:r(i.parentNode)}return e?r(e):n}function Bu(e){let[t]=zu(e,1);return t??null}function Vu(e){return!kl||!e?null:Al(e)?e:jl(e)?Nl(e)||e===Il(e).scrollingElement?window:Pl(e)?e:null:null}function Hu(e){return Al(e)?e.scrollX:e.scrollLeft}function Uu(e){return Al(e)?e.scrollY:e.scrollTop}function Wu(e){return{x:Hu(e),y:Uu(e)}}var Gu;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Gu||={});function Ku(e){return!kl||!e?!1:e===document.scrollingElement}function qu(e){let t={x:0,y:0},n=Ku(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var Ju={x:.2,y:.2};function Yu(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=Ju);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=qu(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Gu.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Gu.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Gu.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Gu.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Xu(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Zu(e){return e.reduce((e,t)=>ql(e,Wu(t)),gu)}function Qu(e){return e.reduce((e,t)=>e+Hu(t),0)}function $u(e){return e.reduce((e,t)=>e+Uu(t),0)}function ed(e,t){if(t===void 0&&(t=Pu),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Bu(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var td=[[`x`,[`left`,`right`],Qu],[`y`,[`top`,`bottom`],$u]],nd=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=zu(t),r=Zu(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of td)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},rd=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function id(e){let{EventTarget:t}=Ml(e);return e instanceof t?e:Il(e)}function ad(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var od;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(od||={});function sd(e){e.preventDefault()}function cd(e){e.stopPropagation()}var $;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})($||={});var ld={start:[$.Space,$.Enter],cancel:[$.Esc],end:[$.Space,$.Enter,$.Tab]},ud=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case $.Right:return{...n,x:n.x+25};case $.Left:return{...n,x:n.x-25};case $.Down:return{...n,y:n.y+25};case $.Up:return{...n,y:n.y-25}}},dd=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new rd(Il(t)),this.windowListeners=new rd(Ml(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(od.Resize,this.handleCancel),this.windowListeners.add(od.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(od.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&ed(n),t(gu)}handleKeyDown(e){if(Xl(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=ld,coordinateGetter:a=ud,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:gu;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Jl(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=qu(n),p=Xu(n),m={x:Math.min(i===$.Right?p.right-p.width/2:p.right,Math.max(i===$.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===$.Down?p.bottom-p.height/2:p.bottom,Math.max(i===$.Down?p.top:p.top+p.height/2,u.y))},h=i===$.Right&&!s||i===$.Left&&!c,g=i===$.Down&&!l||i===$.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===$.Right&&e<=d.x||i===$.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===$.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===$.Down&&e<=d.y||i===$.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===$.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,ql(Jl(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};dd.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=ld,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function fd(e){return!!(e&&`distance`in e)}function pd(e){return!!(e&&`delay`in e)}var md=class{constructor(e,t,n){n===void 0&&(n=id(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Il(i),this.documentListeners=new rd(this.document),this.listeners=new rd(n),this.windowListeners=new rd(Ml(i)),this.initialCoordinates=Ql(r)??gu,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(od.Resize,this.handleCancel),this.windowListeners.add(od.DragStart,sd),this.windowListeners.add(od.VisibilityChange,this.handleCancel),this.windowListeners.add(od.ContextMenu,sd),this.documentListeners.add(od.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(pd(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(fd(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(od.Click,cd,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(od.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Ql(e)??gu,s=Jl(n,o);if(!t&&a){if(fd(a)){if(a.tolerance!=null&&ad(s,a.tolerance))return this.handleCancel();if(ad(s,a.distance))return this.handleStart()}if(pd(a)&&ad(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===$.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},hd={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},gd=class extends md{constructor(e){let{event:t}=e,n=Il(t.target);super(e,hd,n)}};gd.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var _d={move:{name:`mousemove`},end:{name:`mouseup`}},vd;(function(e){e[e.RightClick=2]=`RightClick`})(vd||={});var yd=class extends md{constructor(e){super(e,_d,Il(e.event.target))}};yd.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===vd.RightClick?!1:(r?.({event:n}),!0)}}];var bd={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},xd=class extends md{constructor(e){super(e,bd)}static setup(){return window.addEventListener(bd.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(bd.move.name,e)};function e(){}}};xd.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Sd;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Sd||={});var Cd;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Cd||={});function wd(e){let{acceleration:t,activator:n=Sd.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=Cd.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Ed({delta:d,disabled:!a}),[m,h]=zl(),g=(0,U.useRef)({x:0,y:0}),_=(0,U.useRef)({x:0,y:0}),v=(0,U.useMemo)(()=>{switch(n){case Sd.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Sd.DraggableRect:return i}},[n,i,c]),y=(0,U.useRef)(null),b=(0,U.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,U.useMemo)(()=>s===Cd.TreeOrder?[...l].reverse():l,[s,l]);(0,U.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=Yu(e,n,v,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),y.current=e,m(b,o),g.current=a,_.current=i;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var Td={x:{[Gu.Backward]:!1,[Gu.Forward]:!1},y:{[Gu.Backward]:!1,[Gu.Forward]:!1}};function Ed(e){let{delta:t,disabled:n}=e,r=Ul(t);return Vl(e=>{if(n||!r||!e)return Td;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Gu.Backward]:e.x[Gu.Backward]||i.x===-1,[Gu.Forward]:e.x[Gu.Forward]||i.x===1},y:{[Gu.Backward]:e.y[Gu.Backward]||i.y===-1,[Gu.Forward]:e.y[Gu.Forward]||i.y===1}}},[n,t,r])}function Dd(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return Vl(e=>t==null?null:r??e??null,[r,t])}function Od(e,t){return(0,U.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var kd;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(kd||={});var Ad;(function(e){e.Optimized=`optimized`})(Ad||={});var jd=new Map;function Md(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,U.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,U.useRef)(e),d=g(),f=Bl(d),p=(0,U.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,U.useRef)(null),h=Vl(t=>{if(d&&!n)return jd;if(!t||t===jd||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new nd(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,U.useEffect)(()=>{u.current=e},[e]),(0,U.useEffect)(()=>{d||p()},[n,d]),(0,U.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,U.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case kd.Always:return!1;case kd.BeforeDragging:return n;default:return!n}}}function Nd(e,t){return Vl(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Pd(e,t){return Nd(e,t)}function Fd(e){let{callback:t,disabled:n}=e,r=Rl(t),i=(0,U.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,U.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Id(e){let{callback:t,disabled:n}=e,r=Rl(t),i=(0,U.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,U.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Ld(e){return new nd(Pu(e),e)}function Rd(e,t,n){t===void 0&&(t=Ld);let[r,i]=(0,U.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=Fd({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Id({callback:a});return Ll(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function zd(e){return Ou(e,Nd(e))}var Bd=[];function Vd(e){let t=(0,U.useRef)(e),n=Vl(n=>e?n&&n!==Bd&&e&&t.current&&e.parentNode===t.current.parentNode?n:zu(e):Bd,[e]);return(0,U.useEffect)(()=>{t.current=e},[e]),n}function Hd(e){let[t,n]=(0,U.useState)(null),r=(0,U.useRef)(e),i=(0,U.useCallback)(e=>{let t=Vu(e.target);t&&n(e=>e?(e.set(t,Wu(t)),new Map(e)):null)},[]);return(0,U.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Vu(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,Wu(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Vu(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,U.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>ql(e,t),gu):Zu(e):gu,[e,t])}function Ud(e,t){t===void 0&&(t=[]);let n=(0,U.useRef)(null);return(0,U.useEffect)(()=>{n.current=null},t),(0,U.useEffect)(()=>{let t=e!==gu;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Jl(e,n.current):gu}function Wd(e){(0,U.useEffect)(()=>{if(!kl)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function Gd(e,t){return(0,U.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function Kd(e){return(0,U.useMemo)(()=>e?Iu(e):null,[e])}var qd=[];function Jd(e,t){t===void 0&&(t=Pu);let[n]=e,r=Kd(n?Ml(n):null),[i,a]=(0,U.useState)(qd);function o(){a(()=>e.length?e.map(e=>Ku(e)?r:new nd(t(e),e)):qd)}let s=Id({callback:o});return Ll(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function Yd(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Pl(t)?t:e}function Xd(e){let{measure:t}=e,[n,r]=(0,U.useState)(null),i=Id({callback:(0,U.useCallback)(e=>{for(let{target:n}of e)if(Pl(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=Hl((0,U.useCallback)(e=>{let n=Yd(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,U.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var Zd=[{sensor:gd,options:{}},{sensor:dd,options:{}}],Qd={current:{}},$d={draggable:{measure:Fu},droppable:{measure:Fu,strategy:kd.WhileDragging,frequency:Ad.Optimized},dragOverlay:{measure:Pu}},ef=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},tf={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ef,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:pu},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:$d,measureDroppableContainers:pu,windowRect:null,measuringScheduled:!1},nf={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:pu,draggableNodes:new Map,over:null,measureDroppableContainers:pu},rf=(0,U.createContext)(nf),af=(0,U.createContext)(tf);function of(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ef}}}function sf(e,t){switch(t.type){case fu.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case fu.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case fu.DragEnd:case fu.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case fu.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new ef(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case fu.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new ef(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case fu.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new ef(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function cf(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,U.useContext)(rf),a=Ul(r),o=Ul(n?.id);return(0,U.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!Xl(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=tu(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function lf(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function uf(e){return(0,U.useMemo)(()=>({draggable:{...$d.draggable,...e?.draggable},droppable:{...$d.droppable,...e?.droppable},dragOverlay:{...$d.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function df(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,U.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Ll(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=Ou(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Bu(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var ff=(0,U.createContext)({...gu,scaleX:1,scaleY:1}),pf;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(pf||={});var mf=(0,U.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=Zd,collisionDetection:o=Eu,measuring:s,modifiers:c,...l}=e,[u,d]=(0,U.useReducer)(sf,void 0,of),[f,p]=cu(),[m,h]=(0,U.useState)(pf.Uninitialized),g=m===pf.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,U.useRef)({initial:null,translated:null}),C=(0,U.useMemo)(()=>_==null?null:{id:_,data:x?.data??Qd,rect:S},[_,x]),w=(0,U.useRef)(null),[T,ee]=(0,U.useState)(null),[E,D]=(0,U.useState)(null),O=Bl(l,Object.values(l)),k=Gl(`DndDescribedBy`,t),te=(0,U.useMemo)(()=>b.getEnabled(),[b]),A=uf(s),{droppableRects:j,measureDroppableContainers:M,measuringScheduled:ne}=Md(te,{dragging:g,dependencies:[y.x,y.y],config:A.droppable}),re=Dd(v,_),ie=(0,U.useMemo)(()=>E?Ql(E):null,[E]),N=De(),ae=Pd(re,A.draggable.measure);df({activeNode:_==null?null:v.get(_),config:N.layoutShiftCompensation,initialRect:ae,measure:A.draggable.measure});let P=Rd(re,A.draggable.measure,ae),oe=Rd(re?re.parentElement:null),F=(0,U.useRef)({activatorEvent:null,active:null,activeNode:re,collisionRect:null,collisions:null,droppableRects:j,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),se=b.getNodeFor(F.current.over?.id),I=Xd({measure:A.dragOverlay.measure}),ce=I.nodeRef.current??re,L=g?I.rect??P:null,le=!!(I.nodeRef.current&&I.rect),R=zd(le?null:P),ue=Kd(ce?Ml(ce):null),z=Vd(g?se??re:null),de=Jd(z),fe=lf(c,{transform:{x:y.x-R.x,y:y.y-R.y,scaleX:1,scaleY:1},activatorEvent:E,active:C,activeNodeRect:P,containerNodeRect:oe,draggingNodeRect:L,over:F.current.over,overlayNodeRect:I.rect,scrollableAncestors:z,scrollableAncestorRects:de,windowRect:ue}),B=ie?ql(ie,y):null,pe=Hd(z),me=Ud(pe),he=Ud(pe,[P]),ge=ql(fe,me),V=L?Au(L,fe):null,_e=C&&V?o({active:C,collisionRect:V,droppableRects:j,droppableContainers:te,pointerCoordinates:B}):null,ve=xu(_e,`id`),[ye,be]=(0,U.useState)(null),xe=Du(le?fe:ql(fe,he),ye?.rect??null,P),Se=(0,U.useRef)(null),Ce=(0,U.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent;Se.current=new n({active:w.current,activeNode:i,event:a,options:r,context:F,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=O.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=O.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=O.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,Dl.unstable_batchedUpdates)(()=>{r?.(i),h(pf.Initializing),d({type:fu.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),ee(Se.current),D(a)})},onMove(e){d({type:fu.DragMove,coordinates:e})},onEnd:o(fu.DragEnd),onCancel:o(fu.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=F.current,o=null;if(t&&i){let{cancelDrop:s}=O.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===fu.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=fu.DragCancel)}w.current=null,(0,Dl.unstable_batchedUpdates)(()=>{d({type:e}),h(pf.Uninitialized),be(null),ee(null),D(null),Se.current=null;let t=e===fu.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=O.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),we=Od(a,(0,U.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,Ce(n,t))},[v,Ce]));Wd(a),Ll(()=>{P&&m===pf.Initializing&&h(pf.Initialized)},[P,m]),(0,U.useEffect)(()=>{let{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:r,over:i}=F.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:ge.x,y:ge.y},over:i};(0,Dl.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[ge.x,ge.y]),(0,U.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=F.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=O.current,o=r.get(ve),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,Dl.unstable_batchedUpdates)(()=>{be(s),a?.(c),f({type:`onDragOver`,event:c})})},[ve]),Ll(()=>{F.current={activatorEvent:E,active:C,activeNode:re,collisionRect:V,collisions:_e,droppableRects:j,draggableNodes:v,draggingNode:ce,draggingNodeRect:L,droppableContainers:b,over:ye,scrollableAncestors:z,scrollAdjustedTranslate:ge},S.current={initial:L,translated:V}},[C,re,_e,V,v,ce,L,j,b,ye,z,ge]),wd({...N,delta:y,draggingRect:V,pointerCoordinates:B,scrollableAncestors:z,scrollableAncestorRects:de});let Te=(0,U.useMemo)(()=>({active:C,activeNode:re,activeNodeRect:P,activatorEvent:E,collisions:_e,containerNodeRect:oe,dragOverlay:I,draggableNodes:v,droppableContainers:b,droppableRects:j,over:ye,measureDroppableContainers:M,scrollableAncestors:z,scrollableAncestorRects:de,measuringConfiguration:A,measuringScheduled:ne,windowRect:ue}),[C,re,P,E,_e,oe,I,v,b,j,ye,M,z,de,A,ne,ue]),Ee=(0,U.useMemo)(()=>({activatorEvent:E,activators:we,active:C,activeNodeRect:P,ariaDescribedById:{draggable:k},dispatch:d,draggableNodes:v,over:ye,measureDroppableContainers:M}),[E,we,C,P,d,k,v,ye,M]);return U.createElement(ou.Provider,{value:p},U.createElement(rf.Provider,{value:Ee},U.createElement(af.Provider,{value:Te},U.createElement(ff.Provider,{value:xe},i)),U.createElement(cf,{disabled:n?.restoreFocus===!1})),U.createElement(du,{...n,hiddenTextDescribedById:k}));function De(){let e=T?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),hf=(0,U.createContext)(null),gf=`button`,_f=`Draggable`;function vf(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=Gl(_f),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,U.useContext)(rf),{role:p=gf,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,U.useContext)(g?ff:hf),[v,y]=Hl(),[b,x]=Hl(),S=Gd(o,t),C=Bl(n);return Ll(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,U.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===gf?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function yf(){return(0,U.useContext)(af)}var bf=`Droppable`,xf={timeout:25};function Sf(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=Gl(bf),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,U.useContext)(rf),u=(0,U.useRef)({disabled:n}),d=(0,U.useRef)(!1),f=(0,U.useRef)(null),p=(0,U.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...xf,...i},_=Bl(h??r),v=Id({callback:(0,U.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=Hl((0,U.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Bl(t);return(0,U.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,U.useEffect)(()=>(s({type:fu.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:fu.UnregisterDroppable,key:a,id:r})),[r]),(0,U.useEffect)(()=>{n!==u.current.disabled&&(s({type:fu.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function Cf(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function wf(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Tf(e){return e!==null&&e>=0}function Ef(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Df(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Of=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Cf(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},kf=`Sortable`,Af=U.createContext({activeIndex:-1,containerId:kf,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Of,disabled:{draggable:!1,droppable:!1}});function jf(e){let{children:t,id:n,items:r,strategy:i=Of,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=yf(),d=Gl(kf,n),f=s.rect!==null,p=(0,U.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,U.useRef)(p),v=!Ef(p,_.current),y=g!==-1&&h===-1||v,b=Df(a);Ll(()=>{v&&m&&u(p)},[v,p,m,u]),(0,U.useEffect)(()=>{_.current=p},[p]);let x=(0,U.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:wf(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return U.createElement(Af.Provider,{value:x},t)}var Mf=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Cf(n,r,i).indexOf(t)},Nf=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Pf={duration:200,easing:`ease`},Ff=`transform`,If=$l.Transition.toString({property:Ff,duration:0,easing:`linear`}),Lf={roleDescription:`sortable`};function Rf(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,U.useState)(null),s=(0,U.useRef)(n);return Ll(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=Pu(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,U.useEffect)(()=>{a&&o(null)},[a]),a}function zf(e){let{animateLayoutChanges:t=Nf,attributes:n,disabled:r,data:i,getNewIndex:a=Mf,id:o,strategy:s,resizeObserverConfig:c,transition:l=Pf}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,U.useContext)(Af),y=Bf(r,p),b=u.indexOf(o),x=(0,U.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,U.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:T,setNodeRef:ee}=Sf({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:E,activatorEvent:D,activeNodeRect:O,attributes:k,setNodeRef:te,listeners:A,isDragging:j,over:M,setActivatorNodeRef:ne,transform:re}=vf({id:o,data:x,attributes:{...Lf,...n},disabled:y.draggable}),ie=Ol(ee,te),N=!!E,ae=N&&!m&&Tf(f)&&Tf(g),P=!_&&j,oe=ae?(P&&ae?re:null)??(s??v)({rects:h,activeNodeRect:O,activeIndex:f,overIndex:g,index:b}):null,F=Tf(f)&&Tf(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,se=E?.id,I=(0,U.useRef)({activeId:se,items:u,newIndex:F,containerId:d}),ce=u!==I.current.items,L=t({active:E,containerId:d,isDragging:j,isSorting:N,id:o,index:b,items:u,newIndex:I.current.newIndex,previousItems:I.current.items,previousContainerId:I.current.containerId,transition:l,wasDragging:I.current.activeId!=null}),le=Rf({disabled:!L,index:b,node:w,rect:C});return(0,U.useEffect)(()=>{N&&I.current.newIndex!==F&&(I.current.newIndex=F),d!==I.current.containerId&&(I.current.containerId=d),u!==I.current.items&&(I.current.items=u)},[N,F,d,u]),(0,U.useEffect)(()=>{if(se===I.current.activeId)return;if(se!=null&&I.current.activeId==null){I.current.activeId=se;return}let e=setTimeout(()=>{I.current.activeId=se},50);return()=>clearTimeout(e)},[se]),{active:E,activeIndex:f,attributes:k,data:x,rect:C,index:b,newIndex:F,items:u,isOver:T,isSorting:N,isDragging:j,listeners:A,node:w,overIndex:g,over:M,setNodeRef:ie,setActivatorNodeRef:ne,setDroppableNodeRef:ee,setDraggableNodeRef:te,transform:le??oe,transition:R()};function R(){if(le||ce&&I.current.newIndex===b)return If;if(!(P&&!Xl(D)||!l)&&(N||L))return $l.Transition.toString({...l,property:Ff})}}function Bf(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function Vf(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var Hf=[$.Down,$.Right,$.Up,$.Left],Uf=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(Hf.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case $.Down:r.top<a.top&&t.push(n);break;case $.Up:r.top>a.top&&t.push(n);break;case $.Left:r.left>a.left&&t.push(n);break;case $.Right:r.left<a.left&&t.push(n);break}});let c=wu({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=xu(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=zu(c).some((e,t)=>s[t]!==e),i=Wf(e,t),a=Gf(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Jl(u,l)}}}};function Wf(e,t){return!Vf(e)||!Vf(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function Gf(e,t){return!Vf(e)||!Vf(t)||!Wf(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var Kf=!1;function qf(){return Kf}function Jf(){Kf=!0,setTimeout(()=>{Kf=!1},0)}var Yf={sessions:12,trend:6,projects:6};function Xf(t,n){if(n===`intermediate`){let e=Yf[t];if(e!==void 0)return e}return e[t].span}function Zf({id:e,index:t,mode:n}){let r=cc[e],i=(0,U.useSyncExternalStore)(F,()=>R().openModal!=null),a=Cs(),{listeners:o,setNodeRef:s,transform:c,transition:l,isDragging:u}=zf({id:e,disabled:i});if(!r)return null;let{Component:d,label:f}=r;return(0,W.jsx)(`div`,{ref:s,style:{transform:$l.Translate.toString(c),transition:a?void 0:l},className:`panel-host${u?` is-dragging`:``}`,"data-panel-host":e,"data-panel-index":t,"data-span":Xf(e,n),"aria-label":`Reorder ${f}`,onKeyDown:e=>{if(!e.shiftKey)return;let n=e.target;if(typeof n.matches==`function`&&n.matches(`input, textarea, select, [contenteditable="true"]`))return;let r=0;e.key===`ArrowDown`||e.key===`ArrowRight`?r=1:(e.key===`ArrowUp`||e.key===`ArrowLeft`)&&(r=-1),r!==0&&(typeof e.preventDefault==`function`&&e.preventDefault(),I({type:`SWAP_PANELS`,index:t,direction:r}))},onClickCapture:e=>{qf()&&e.stopPropagation()},...o,children:(0,W.jsx)(d,{})})}var Qf=250,$f=5;function ep(){Jf()}function tp(e,t){if(Jf(),!t||e===t)return;let n=R(),r=c(n.prefs.panelOrder,C(n.snapshot,n.activeSource)),i=r.indexOf(e),a=r.indexOf(t);i<0||a<0||i===a||I({type:`REORDER_PANELS`,from:i,to:a})}function np(){Jf()}function rp({items:e,className:t,children:n}){return(0,W.jsx)(mf,{sensors:hu(mu(gd,{activationConstraint:{delay:Qf,tolerance:$f}})),onDragStart:()=>ep(),onDragEnd:e=>{let t=e.active.id;tp(t,e.over?e.over.id:null)},onDragCancel:()=>np(),children:(0,W.jsx)(jf,{items:(0,U.useMemo)(()=>e.slice(),[e]),strategy:Of,children:(0,W.jsx)(`div`,{className:t,children:n})})})}var ip=class extends Error{status;field;code;constructor(e,t,n,r){super(n),this.status=e,this.field=t,this.code=r}};async function ap(e){if(!e.ok){let t={};try{t=await e.json()}catch{}throw new ip(e.status,t.field,t.error??`HTTP ${e.status}`,t.code)}return e.json()}async function op(e,t){return ap(await fetch(`/api/share/templates?panel=${encodeURIComponent(e)}`,{signal:t?.signal}))}async function sp(e,t){let{account:n,...r}=e;return ap(await fetch(`/api/share/render`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n==null?r:{...r,account:n}),signal:t?.signal}))}var cp=[{id:`recap`,label:`Recap`,placeholderDescription:`Text + tiny chart`},{id:`visual`,label:`Visual`,placeholderDescription:`Coming soon`},{id:`detail`,label:`Detail`,placeholderDescription:`Coming soon`}];function lp(e){return e.endsWith(`-recap`)?`recap`:e.endsWith(`-visual`)?`visual`:e.endsWith(`-detail`)?`detail`:null}function up({panel:e,templates:t,error:n,selectedTemplateId:r,onSelect:i}){if(n)return(0,W.jsx)(`div`,{className:`share-gallery-error`,role:`alert`,children:n});let a={};for(let e of t??[]){let t=lp(e.id);t&&(a[t]=e)}return(0,W.jsx)(`div`,{className:`share-gallery`,role:`radiogroup`,"aria-label":`Report template`,children:cp.map(e=>{let n=a[e.id];if(t==null)return(0,W.jsxs)(`div`,{className:`share-tile share-tile-skeleton`,"aria-hidden":`true`,children:[(0,W.jsx)(`div`,{className:`share-tile-skeleton-bar`}),(0,W.jsx)(`div`,{className:`share-tile-skeleton-bar short`})]},e.id);if(!n)return(0,W.jsxs)(`button`,{type:`button`,className:`share-tile share-tile-disabled`,disabled:!0,"aria-disabled":`true`,role:`radio`,"aria-checked":`false`,title:`${e.label} — ${e.placeholderDescription}`,children:[(0,W.jsx)(`div`,{className:`share-tile-label`,children:e.label}),(0,W.jsx)(`div`,{className:`share-tile-desc`,children:e.placeholderDescription})]},e.id);let o=n.id===r;return(0,W.jsxs)(`button`,{type:`button`,className:`share-tile`+(o?` share-tile-selected`:``),role:`radio`,"aria-checked":o,"data-template-id":n.id,onClick:()=>i(n.id),children:[(0,W.jsx)(`div`,{className:`share-tile-label`,children:n.label}),(0,W.jsx)(`div`,{className:`share-tile-desc`,children:n.description})]},e.id)})})}function dp({options:e,onChange:t}){let n=n=>t({...e,...n}),r=n=>t({...e,period:{...e.period,...n}}),i=e=>{if(e===``){n({top_n:null});return}let t=Number.parseInt(e,10);Number.isNaN(t)||n({top_n:Math.max(1,t)})};return(0,W.jsxs)(`div`,{className:`share-knobs`,children:[(0,W.jsxs)(`div`,{className:`share-knob`,children:[(0,W.jsx)(`label`,{htmlFor:`share-knob-period`,children:`Period`}),(0,W.jsxs)(`select`,{id:`share-knob-period`,value:e.period.kind,onChange:e=>r({kind:e.target.value}),children:[(0,W.jsx)(`option`,{value:`current`,children:`This week`}),(0,W.jsx)(`option`,{value:`previous`,children:`Previous week`}),(0,W.jsx)(`option`,{value:`custom`,children:`Custom`})]}),e.period.kind===`custom`?(0,W.jsxs)(`div`,{className:`share-knob-period-custom`,children:[(0,W.jsxs)(`label`,{className:`share-knob-sublabel`,children:[(0,W.jsx)(`span`,{children:`Start`}),(0,W.jsx)(`input`,{type:`date`,value:e.period.start?.slice(0,10)??``,onChange:e=>r({start:e.target.value}),"aria-label":`Custom period start date`})]}),(0,W.jsxs)(`label`,{className:`share-knob-sublabel`,children:[(0,W.jsx)(`span`,{children:`End`}),(0,W.jsx)(`input`,{type:`date`,value:e.period.end?.slice(0,10)??``,onChange:e=>r({end:e.target.value}),"aria-label":`Custom period end date`})]})]}):null]}),(0,W.jsxs)(`div`,{className:`share-knob`,children:[(0,W.jsx)(`span`,{className:`share-knob-label`,children:`Theme`}),(0,W.jsxs)(`div`,{className:`share-knob-radiogroup`,role:`radiogroup`,"aria-label":`Theme`,children:[(0,W.jsxs)(`label`,{className:`share-knob-radio`,children:[(0,W.jsx)(`input`,{type:`radio`,name:`share-theme`,value:`light`,checked:e.theme===`light`,onChange:()=>n({theme:`light`})}),(0,W.jsx)(`span`,{children:`Light`})]}),(0,W.jsxs)(`label`,{className:`share-knob-radio`,children:[(0,W.jsx)(`input`,{type:`radio`,name:`share-theme`,value:`dark`,checked:e.theme===`dark`,onChange:()=>n({theme:`dark`})}),(0,W.jsx)(`span`,{children:`Dark`})]})]})]}),(0,W.jsxs)(`div`,{className:`share-knob`,children:[(0,W.jsx)(`label`,{htmlFor:`share-knob-topn`,children:`Top-N`}),(0,W.jsx)(`input`,{id:`share-knob-topn`,type:`number`,min:1,step:1,inputMode:`numeric`,value:e.top_n??``,onChange:e=>i(e.target.value),"aria-label":`Top-N`})]}),(0,W.jsxs)(`div`,{className:`share-knob`,children:[(0,W.jsx)(`span`,{className:`share-knob-label`,children:`Projects`}),(0,W.jsx)(`button`,{type:`button`,className:`share-knob-allowlist-stub`,disabled:!0,"aria-disabled":`true`,title:`Exports include all projects`,children:`All projects`})]}),(0,W.jsx)(`div`,{className:`share-knob`,children:(0,W.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:e.show_chart,onChange:e=>n({show_chart:e.target.checked}),"aria-label":`Include chart in export`}),(0,W.jsx)(`span`,{children:`Show chart`})]})}),(0,W.jsx)(`div`,{className:`share-knob`,children:(0,W.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:e.show_table,onChange:e=>n({show_table:e.target.checked}),"aria-label":`Include table in export`}),(0,W.jsx)(`span`,{children:`Show table`})]})}),(0,W.jsx)(`div`,{className:`share-knob`,children:(0,W.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:!e.reveal_projects,onChange:e=>n({reveal_projects:!e.target.checked}),"aria-label":`Anonymize project names on export`}),(0,W.jsx)(`span`,{children:`Anon on export`})]})})]})}function fp(e){(0,U.useEffect)(()=>{if(!e)return;let t=null,n=e=>{let t=e;t.key===`Escape`&&_e(t)},r=()=>{t&&=(t.removeEventListener(`keydown`,n),null)},i=()=>{r();let i=null;try{i=e.contentDocument}catch{i=null}i&&(i.addEventListener(`keydown`,n),t=i)};e.addEventListener(`load`,i);try{e.contentDocument&&e.contentDocument.readyState!==`loading`&&i()}catch{}return()=>{e.removeEventListener(`load`,i),r()}},[e])}var pp=200,mp={status:`idle`,body:``,contentType:``,errorMessage:null,errorField:null};function hp({panel:e,source:t=`claude`,account:n=null,templateId:r,options:i,onProjectNamesResolved:a,onPreviewFailed:o,artifactLabel:s=null}){let[c,l]=(0,U.useState)(mp),[u,d]=(0,U.useState)(null);fp(u);let f=(0,U.useRef)(null),p=(0,U.useRef)(0),m=(0,U.useRef)(a);m.current=a;let h=(0,U.useRef)(o);if(h.current=o,(0,U.useEffect)(()=>{m.current?.(null)},[e,t,n,r]),(0,U.useEffect)(()=>{if(!r){l(mp),h.current?.(!1);return}l(e=>({...e,status:`loading`})),h.current?.(!1);let a=++p.current,o=setTimeout(()=>{f.current?.abort();let o=new AbortController;f.current=o,sp({panel:e,template_id:r,options:{...i,reveal_projects:!0},source:t,account:n},{signal:o.signal}).then(e=>{a===p.current&&(l({status:`ready`,body:e.body,contentType:e.content_type,errorMessage:null,errorField:null}),h.current?.(!1),m.current?.(typeof e.has_project_names==`boolean`?e.has_project_names:null))}).catch(e=>{if(a===p.current&&!(e&&typeof e==`object`&&e.name===`AbortError`)){if(e instanceof ip){l({status:`error`,body:``,contentType:``,errorMessage:e.message??`HTTP ${e.status}`,errorField:e.field??null}),h.current?.(!0);return}l({status:`error`,body:``,contentType:``,errorMessage:e.message??`Unknown error`,errorField:null}),h.current?.(!0)}})},pp);return()=>{clearTimeout(o)}},[e,t,n,r,i]),(0,U.useEffect)(()=>()=>{f.current?.abort()},[]),!r)return(0,W.jsx)(`div`,{className:`share-preview share-preview-empty`,children:`Select a template to preview.`});if(c.status===`error`)return(0,W.jsxs)(`div`,{className:`share-preview share-preview-error`,role:`alert`,children:[(0,W.jsx)(`div`,{className:`share-preview-error-title`,children:`Preview failed`}),(0,W.jsxs)(`div`,{className:`share-preview-error-message`,children:[c.errorMessage,c.errorField?(0,W.jsxs)(`span`,{className:`share-preview-error-field`,children:[` `,`(field: `,c.errorField,`)`]}):null]})]});if(c.status===`loading`||c.status===`idle`)return(0,W.jsx)(`div`,{className:`share-preview share-preview-loading`,"aria-busy":`true`,children:`Rendering preview…`});let g=(0,W.jsx)(`div`,{className:`share-preview-source`,"aria-label":`Report source: ${Zr[t]}`,children:(0,W.jsx)(`span`,{className:`source-chip source-chip--${t}`,children:Zr[t]})});return i.format===`md`?(0,W.jsxs)(`div`,{className:`share-preview-wrap`,children:[g,(0,W.jsx)(`pre`,{className:`share-preview share-preview-md`,"aria-label":`Markdown preview`,children:c.body})]}):(0,W.jsxs)(`div`,{className:`share-preview-wrap`,children:[g,(0,W.jsx)(`iframe`,{className:`share-preview share-preview-iframe`,title:s?`Report preview — ${s}`:`Report preview`,tabIndex:-1,sandbox:`allow-same-origin`,srcDoc:c.body,ref:d})]})}var gp={"current-week":`Current week`,trend:`Trend`,weekly:`Weekly`,daily:`Daily`,monthly:`Monthly`,blocks:`5-hour blocks`,forecast:`Forecast`,sessions:`Sessions`,projects:`Projects`};function _p(e){return gp[e]}function vp(e){switch(e){case`md`:return`md`;case`html`:return`html`;case`svg`:return`svg`}}async function yp(e){if(!e.ok){let t={};try{t=await e.json()}catch{}throw new ip(e.status,t.field,t.error??`HTTP ${e.status}`,t.code)}return e.json()}async function bp(e){return yp(await fetch(`/api/share/presets`,{signal:e?.signal}))}async function xp(e,t){return yp(await fetch(`/api/share/presets`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}async function Sp(e,t){return yp(await fetch(`/api/share/presets/rename`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}async function Cp(e,t,n){let r=await fetch(`/api/share/presets/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{method:`DELETE`,signal:n?.signal});if(!r.ok){let e={};try{e=await r.json()}catch{}throw new ip(r.status,void 0,e.error??`HTTP ${r.status}`)}}function wp(e){return e.kind??`panel`}function Tp(e){return wp(e)===`composed`}async function Ep(e){return yp(await fetch(`/api/share/history`,{signal:e?.signal}))}async function Dp(e,t){let{account:n,...r}=e;return yp(await fetch(`/api/share/history`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n==null?r:{...r,account:n}),signal:t?.signal}))}async function Op(e,t){return yp(await fetch(`/api/share/history`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({kind:`composed`,...e}),signal:t?.signal}))}function kp(e){return!(e==null||typeof e.focus!=`function`||!document.contains(e)||e.disabled===!0||typeof e.closest==`function`&&e.closest(`[inert]`)!=null)}var Ap=250;function jp(e){if(typeof requestAnimationFrame==`function`){let t=requestAnimationFrame(()=>e());return()=>cancelAnimationFrame(t)}let t=setTimeout(e,16);return()=>clearTimeout(t)}function Mp(){let[e,t]=(0,U.useState)(null),n=(0,U.useRef)(null),r=(0,U.useRef)(null),[i,a]=(0,U.useState)(0),o=(0,U.useRef)(null),s=(0,U.useCallback)(()=>{o.current?.(),o.current=null,r.current=null},[]),c=(0,U.useCallback)(e=>{s(),r.current=e,a(e=>e+1)},[s]);(0,U.useEffect)(()=>{if(i===0)return;let e=r.current;if(r.current=null,e==null)return;let t=Date.now()+Ap,n=()=>{if(o.current=null,kp(e)){e.focus();return}!document.contains(e)||Date.now()>=t||(o.current=jp(n))};n()},[i]),(0,U.useEffect)(()=>()=>{o.current?.()},[]);let l=(0,U.useCallback)(e=>{s(),n.current=document.activeElement,t(e)},[s]),u=(0,U.useCallback)(()=>{let e=n.current;n.current=null,t(null),c(e)},[c]),d=(0,U.useCallback)(e=>{n.current=null,t(null),c(e?e():null)},[c]),f=(0,U.useCallback)(t=>e===t,[e]);return we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:220,when:()=>e!=null,action:u}],[e,u])),{armed:e,arm:l,cancel:u,close:d,isArmed:f}}function Np({id:e,host:t,prompt:n,confirmLabel:r,cancelLabel:i=`Cancel`,onConfirm:a,className:o}){let s=`share-confirm-${e.replace(/[^a-zA-Z0-9_-]+/g,`-`)}`,c=(0,U.useRef)(null),l=t.isArmed(e);return(0,U.useEffect)(()=>{l&&c.current?.focus()},[l]),l?(0,W.jsxs)(`span`,{className:`share-confirm${o?` ${o}`:``}`,role:`group`,children:[(0,W.jsx)(`span`,{className:`share-confirm-prompt`,id:s,role:`status`,children:n}),(0,W.jsx)(`button`,{ref:c,type:`button`,className:`share-confirm-yes`,"aria-describedby":s,onClick:a,children:r}),(0,W.jsx)(`button`,{type:`button`,className:`share-confirm-no`,onClick:()=>t.cancel(),children:i})]}):null}var Pp=`share-save-overwrite`;function Fp({panel:e,source:t=`claude`,templateId:n,options:r,existingNames:i,focusAfterConfirm:a,onSaved:o,onCancel:s}){let[c,l]=(0,U.useState)(``),[u,d]=(0,U.useState)(!1),[f,p]=(0,U.useState)(null),[m,h]=(0,U.useState)([]),g=Mp(),_=i??m;(0,U.useEffect)(()=>{if(i!=null)return;let t=new AbortController;return bp({signal:t.signal}).then(t=>h(Object.keys(t.presets[e]??{}))).catch(()=>{}),()=>t.abort()},[e,i]);async function v(i=!1){let a=c.trim();if(!a){p(`Name is required`);return}if(a.length>64){p(`Name must be 64 characters or fewer`);return}if(a.includes(`/`)){p(`Name cannot contain '/'`);return}if(!i&&_.includes(a)){g.arm(Pp);return}d(!0),p(null);try{await xp({panel:e,name:a,template_id:n,options:r,source:t,...i?{overwrite:!0}:{}}),I({type:`SHOW_STATUS_TOAST`,text:`Saved preset "${a}"`}),o()}catch(e){if(e instanceof ip&&e.code===`preset_name_conflict`){g.arm(Pp);return}p((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Save failed`)}finally{d(!1)}}return(0,W.jsxs)(`div`,{className:`share-save-popover`,role:`dialog`,"aria-label":`Save preset`,children:[(0,W.jsxs)(`label`,{className:`share-save-label`,children:[`Preset name`,(0,W.jsx)(`input`,{type:`text`,className:`share-save-input`,autoFocus:!0,value:c,maxLength:64,disabled:u,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),e.stopPropagation(),v()):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),g.armed==null?s():g.cancel())}})]}),f?(0,W.jsx)(`div`,{className:`share-save-error`,role:`alert`,children:f}):null,(0,W.jsxs)(`div`,{className:`share-save-actions`,children:[(0,W.jsx)(`button`,{type:`button`,onClick:s,disabled:u,children:`Cancel`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>void v(),disabled:u,children:u?`Saving…`:`Save`})]}),(0,W.jsx)(Np,{id:Pp,host:g,prompt:`"${c.trim()}" exists — saving replaces it`,confirmLabel:`Replace`,onConfirm:()=>{g.close(a),v(!0)}})]})}async function Ip(e,t,n){let r=new Blob([e],{type:`image/svg+xml`}),i=URL.createObjectURL(r);try{let e=new Image;e.src=i,await e.decode();let r=document.createElement(`canvas`);r.width=e.naturalWidth*t,r.height=e.naturalHeight*t;let a=r.getContext(`2d`);if(!a)throw Error(`Could not acquire 2D canvas context`);a.fillStyle=n,a.fillRect(0,0,r.width,r.height),a.scale(t,t),a.drawImage(e,0,0);let o=await new Promise(e=>{r.toBlob(t=>e(t),`image/png`)});if(o)return o;let s=r.toDataURL(`image/png`);return(await fetch(s)).blob()}finally{URL.revokeObjectURL(i)}}function Lp(){let e=window.open(``,`_blank`);if(!e)return null;try{e.opener=null}catch{}return e}function Rp(){let e=Lp();return e?{navigate(t){if(e.closed)throw Error(Bp);let n=URL.createObjectURL(t);try{e.location.href=n}catch(e){throw URL.revokeObjectURL(n),e}},close(){try{e.close()}catch{}}}:null}var zp=`the browser blocked the new tab — allow pop-ups for this page and retry`,Bp=`the new tab was closed before the export finished`;function Vp(e){let t=document.createElement(`iframe`);t.setAttribute(`aria-hidden`,`true`),t.style.cssText=`position:fixed;right:0;bottom:0;width:0;height:0;border:0`,document.body.appendChild(t);let n=t.contentDocument;if(!n)throw t.remove(),Error(`iframe contentDocument unavailable`);n.open(),n.write(e),n.close();let r=t.contentWindow,i=!1;if(r&&typeof r.print==`function`)try{typeof r.focus==`function`&&r.focus(),r.print(),i=!0}catch{i=!1}if(!i){t.remove();let n=Lp();if(!n)throw Error(zp);n.document.open(),n.document.write(e),n.document.close();return}setTimeout(()=>t.remove(),1e3)}function Hp(e){Dp({panel:e.panel,template_id:e.template_id,options:e.options,format:e.options.format,destination:e.destination,source:e.source,account:e.account}).catch(()=>{})}function Up(e){return e===`light`?`#ffffff`:`#0f172a`}var Wp=`The preview failed — an export may fail too.`,Gp=`share-preview-failed-note`;function Kp(e,t){return`cctally-${e}-${new Date().toISOString().slice(0,10).replaceAll(`-`,``)}.${vp(t)}`}function qp(e){switch(e){case`md`:return`text/markdown;charset=utf-8`;case`html`:return`text/html;charset=utf-8`;case`svg`:return`image/svg+xml;charset=utf-8`}}function Jp(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}function Yp({panel:e,source:t=`claude`,account:n=null,templateId:r,options:i,onOptionsChange:a,previewFailed:o=!1}){let[s,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(null),[d,f]=(0,U.useState)(!1),p=(0,U.useRef)(null);(0,U.useEffect)(()=>()=>{p.current!=null&&clearTimeout(p.current)},[]);let[m,h]=(0,U.useState)(!1),g=(0,U.useRef)(null),_=(0,U.useRef)(null);(0,U.useEffect)(()=>{if(!m)return;function e(e){let t=g.current;t&&(t.contains(e.target)||h(!1))}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[m]),we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:205,when:()=>m,action:()=>h(!1)}],[m])),(0,U.useEffect)(()=>{u(null)},[i.format,r]);let v=r==null||s!=null,y=e=>I({type:`SHOW_STATUS_TOAST`,text:e}),b=async()=>{if(!r)throw Error(`no template selected`);return{body:(await sp({panel:e,template_id:r,options:i,source:t,account:n})).body,format:i.format}},x=async()=>{if(!(v||!r)){c(`copy`),u(null);try{let{body:a}=await b();if(!navigator.clipboard||typeof navigator.clipboard.writeText!=`function`)throw Error(`Clipboard API unavailable in this browser`);await navigator.clipboard.writeText(a),y(`Copied`),Hp({panel:e,template_id:r,options:i,destination:`copy`,source:t,account:n})}catch(e){u(`Copy failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},S=async()=>{if(!(v||!r)){c(`download`),u(null);try{let{body:a,format:o}=await b(),s=new Blob([a],{type:qp(o)});Jp(Kp(e,o),s),y(`Downloaded`),Hp({panel:e,template_id:r,options:i,destination:`download`,source:t,account:n})}catch(e){u(`Download failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},C=async()=>{if(!(v||!r)){c(`basket`),u(null);try{let a=await sp({panel:e,template_id:r,options:i,source:t,account:n}),o=H({panel:e,template_id:r,options:i,added_at:new Date().toISOString(),data_digest_at_add:a.snapshot.data_digest,data_digest_version_at_add:a.snapshot.data_digest_version,kernel_version:a.snapshot.kernel_version,label_hint:_p(e),source:t,account:n});I({type:`BASKET_ADD`,item:o});let s=R().basket;if(s.rejectedReason===`capacity`)return;f(!0),p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>f(!1),800),I({type:`SHOW_STATUS_TOAST`,text:`Added ${o.label_hint} to basket (${s.items.length})`})}catch(e){u(`Add to basket failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},w=async()=>{if(v||!r)return;let a=Rp();if(!a){u(`Open failed: ${zp}`);return}c(`open`),u(null);try{let{body:o,format:s}=await b();a.navigate(new Blob([o],{type:qp(s)})),y(`Opened`),Hp({panel:e,template_id:r,options:i,destination:`open`,source:t,account:n})}catch(e){a.close(),u(`Open failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}},T=async()=>{if(!(!r||i.format!==`svg`||v)){c(`png`),u(null);try{let{body:a}=await b(),o=await Ip(a,2,Up(i.theme));Jp(Kp(e,`svg`).replace(/\.svg$/,`.png`),o),y(`PNG downloaded`),Hp({panel:e,template_id:r,options:i,destination:`png`,source:t,account:n})}catch(e){u(`PNG export failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},ee=async()=>{if(!(!r||i.format!==`html`||v)){c(`print`),u(null);try{let{body:a}=await b();Vp(a),y(`Print dialog opened`),Hp({panel:e,template_id:r,options:i,destination:`print`,source:t,account:n})}catch(e){u(`Print failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{c(null)}}},E=i.format===`md`&&!v,D=(i.format===`html`||i.format===`svg`)&&!v,O=i.format===`svg`&&!v,k=i.format===`html`&&!v;return(0,W.jsxs)(`div`,{className:`share-actions`,children:[(0,W.jsxs)(`div`,{className:`share-format-row`,role:`radiogroup`,"aria-label":`Export format`,children:[(0,W.jsx)(`span`,{className:`share-format-label`,children:`Format:`}),[`md`,`html`,`svg`].map(e=>(0,W.jsxs)(`label`,{className:`share-format-radio`,children:[(0,W.jsx)(`input`,{type:`radio`,name:`share-format`,value:e,checked:i.format===e,onChange:()=>a({...i,format:e})}),(0,W.jsx)(`span`,{children:e})]},e))]}),o?(0,W.jsx)(`p`,{className:`share-preview-failed-note`,id:Gp,children:Wp}):null,(0,W.jsxs)(`div`,{className:`share-action-row`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-copy`,onClick:x,disabled:!E,title:i.format===`md`?s===`copy`?`Copying…`:`Copy to clipboard`:`Copy is available for Markdown only`,children:s===`copy`?`Copying…`:`Copy`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-download`,onClick:S,disabled:v,title:s===`download`?`Downloading…`:`Download file`,children:s===`download`?`Downloading…`:`Download`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-open`,onClick:w,disabled:!D,title:i.format===`html`||i.format===`svg`?s===`open`?`Opening…`:`Open in new tab`:`Open is available for HTML/SVG`,children:s===`open`?`Opening…`:`Open`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-png`,onClick:T,disabled:!O,title:i.format===`svg`?s===`png`?`Rasterizing…`:`Download PNG (rasterized from SVG)`:`PNG export — available for SVG format only`,children:s===`png`?`Rasterizing…`:`PNG`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":o?Gp:void 0,className:`share-action share-action-print`,onClick:ee,disabled:!k,title:i.format===`html`?s===`print`?`Opening print dialog…`:`Open the browser print dialog (save as PDF)`:`Print → PDF — available for HTML format only`,children:s===`print`?`Printing…`:`Print → PDF`}),(0,W.jsx)(`button`,{type:`button`,className:`share-action share-action-basket${d?` share-action-basket-added`:``}`,onClick:C,disabled:v,title:v&&r==null?`Pick a template first`:s===`basket`?`Adding to basket…`:`Add this section to the report basket`,children:d?`✓ Added`:s===`basket`?`Adding…`:`+ Basket`})]}),(0,W.jsxs)(`div`,{className:`share-save-preset-row`,ref:g,children:[(0,W.jsx)(`button`,{ref:_,type:`button`,className:`share-save-preset`,disabled:r==null||s!=null,onClick:()=>h(e=>!e),"aria-haspopup":`dialog`,"aria-expanded":m,title:r==null?`Pick a template first`:`Save the current recipe as a named preset`,children:`Save preset…`}),m&&r?(0,W.jsx)(Fp,{panel:e,source:t,templateId:r,options:i,focusAfterConfirm:()=>_.current,onSaved:()=>{h(!1),_.current?.focus()},onCancel:()=>{h(!1),_.current?.focus()}}):null]}),l?(0,W.jsx)(`div`,{className:`share-action-error`,role:`alert`,children:l}):null]})}var Xp=`share-presets-trigger`;function Zp(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function Qp({panel:e,onPick:t,onManage:n}){let[r,i]=(0,U.useState)(!1),[a,o]=(0,U.useState)({}),[s,c]=(0,U.useState)([]),[l,u]=(0,U.useState)(null),d=(0,U.useRef)(null);(0,U.useEffect)(()=>{if(!r)return;let t=new AbortController;return u(null),Promise.all([bp({signal:t.signal}),Ep({signal:t.signal})]).then(([t,n])=>{o(t.presets[e]??{}),c(n.history.filter(t=>Tp(t)||t.panel===e).slice().reverse())}).catch(e=>{e?.name!==`AbortError`&&u((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Failed to load presets`)}),()=>t.abort()},[r,e]),(0,U.useEffect)(()=>{if(!r)return;function e(e){let t=d.current;t&&(t.contains(e.target)||i(!1))}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]),we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:205,when:()=>r,action:()=>i(!1)}],[r]));let f=Object.keys(a).sort();return(0,W.jsxs)(`div`,{className:`share-presets-dropdown`,ref:d,children:[(0,W.jsx)(`button`,{type:`button`,id:Xp,className:`share-presets-trigger`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(e=>!e),children:`presets ▾`}),r?(0,W.jsxs)(`div`,{className:`share-presets-menu`,role:`menu`,children:[l?(0,W.jsx)(`div`,{className:`share-presets-error`,role:`alert`,children:l}):null,f.length===0&&!l?(0,W.jsx)(`div`,{className:`share-presets-empty`,children:`No saved presets yet.`}):null,f.length>0?(0,W.jsx)(`ul`,{className:`share-presets-list`,children:f.map(e=>(0,W.jsxs)(`li`,{className:`share-presets-row`,children:[(0,W.jsx)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-item`,onClick:()=>{t(a[e].template_id,a[e].options),i(!1)},children:e}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${a[e].source??`claude`}`,children:Zr[a[e].source??`claude`]})]},e))}):null,s.length>0?(0,W.jsxs)(`div`,{className:`share-presets-history`,children:[(0,W.jsx)(`div`,{className:`share-presets-history-heading`,role:`presentation`,children:`Recent shares`}),(0,W.jsx)(`ul`,{className:`share-presets-history-list`,children:s.map(e=>Tp(e)?(0,W.jsx)(`li`,{className:`share-presets-history-row share-presets-history-row--composed`,children:(0,W.jsxs)(`span`,{className:`share-presets-history-composed`,title:`${e.composite.title} · ${e.format??`unknown`} · ${e.exported_at}`,children:[(0,W.jsx)(`span`,{className:`share-presets-history-template`,children:`Composed`}),(0,W.jsxs)(`span`,{className:`share-presets-history-meta`,children:[` · `,e.sections.length,e.sections.length===1?` section`:` sections`,` · `,e.format??`unknown`,` · `,Zp(e.exported_at)]})]})},e.recipe_id):(0,W.jsxs)(`li`,{className:`share-presets-history-row`,children:[(0,W.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-history-item`,onClick:()=>{t(e.template_id,e.options),i(!1)},title:`${e.template_id} · ${Zr[e.source??`claude`]} · ${e.format??`unknown`} · ${e.exported_at}`,children:[(0,W.jsx)(`span`,{className:`share-presets-history-template`,children:e.template_id}),(0,W.jsxs)(`span`,{className:`share-presets-history-meta`,children:[` · `,e.format??`unknown`,` · `,Zp(e.exported_at)]})]}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source??`claude`}`,children:Zr[e.source??`claude`]})]},e.recipe_id))})]}):null,(0,W.jsx)(`div`,{className:`share-presets-footer`,children:(0,W.jsx)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-manage`,onClick:()=>{n(),i(!1)},children:`Manage presets…`})})]}):null]})}var $p=`share-manage-presets-title`,em=`share-manage-presets-name-heading`;function tm(e,t,n){let r=Array.from(document.querySelectorAll(`.share-manage-table tbody tr`)),i=new Set([`${e}/${t}`]);n!=null&&i.add(`${e}/${n}`);let a=r.findIndex(n=>n.dataset.presetKey===`${e}/${t}`);if(a>=0)for(let e of r.slice(a+1)){if(e.dataset.presetKey!=null&&i.has(e.dataset.presetKey))continue;let t=e.querySelector(`.share-manage-actions button`);if(t)return t}return document.getElementById(em)}function nm({open:e,onClose:t,shareIsTopmost:n=!0}){let[r,i]=(0,U.useState)([]),[a,o]=(0,U.useState)(!1),[s,c]=(0,U.useState)(null),l=Mp(),u=Vn(),d={tz:u.resolvedTz,offsetLabel:u.offsetLabel};we((0,U.useMemo)(()=>e?[{key:`Escape`,scope:`overlay`,layer:208,action:t}]:[],[e,t]));let f=(0,U.useRef)(null);Ur(f,{active:e,trapEnabled:n&&e,triggerId:Xp,initialFocus:`heading`}),(0,U.useEffect)(()=>{if(!e)return;let t=!1;return c(null),(async()=>{try{let e=await bp();if(t)return;let n=[];for(let[t,r]of Object.entries(e.presets))for(let[e,i]of Object.entries(r))n.push({panel:t,name:e,record:i});n.sort((e,t)=>e.panel===t.panel?e.name.localeCompare(t.name):e.panel.localeCompare(t.panel)),i(n)}catch(e){if(t)return;c((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Failed to load presets`)}})(),()=>{t=!0}},[e]);async function p(e){o(!0),c(null);let t=tm(e.panel,e.name);try{await Cp(e.panel,e.name)}catch(e){c((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Delete failed`),o(!1);return}i(t=>t.filter(t=>!(t.panel===e.panel&&t.name===e.name))),o(!1),l.close(()=>t),I({type:`SHOW_STATUS_TOAST`,text:`Deleted preset "${e.name}"`})}async function m(e,t,n=!1){o(!0),c(null);let r;try{r=await Sp({panel:e.panel,from_name:e.name,to_name:t,...n?{overwrite:!0}:{}})}catch(e){return o(!1),e instanceof ip&&e.code===`preset_name_conflict`?`conflict`:(c((e instanceof ip?e.message??`HTTP ${e.status}`:e.message)??`Rename failed`),`error`)}return i(i=>(n?i.filter(n=>!(n.panel===e.panel&&n.name===t)):i).map(n=>n.panel===e.panel&&n.name===e.name?{...n,name:t,record:{template_id:r.template_id,options:r.options,saved_at:r.saved_at,...r.source?{source:r.source}:{}}}:n)),o(!1),I({type:`SHOW_STATUS_TOAST`,text:`Renamed to "${t}"`}),`ok`}return e?(0,W.jsx)(`div`,{className:`share-manage-overlay`,children:(0,W.jsxs)(`div`,{className:`share-manage-modal`,ref:f,role:`dialog`,"aria-modal":`true`,"aria-labelledby":$p,onClick:e=>e.stopPropagation(),children:[(0,W.jsx)(uc,{title:`Manage presets`,titleId:$p,className:`share-manage-header`,onClose:t,closeClassName:`share-manage-close`}),(0,W.jsxs)(`div`,{className:`share-manage-content`,children:[s?(0,W.jsx)(`div`,{className:`share-manage-error`,role:`alert`,children:s}):null,r.length===0&&!s?(0,W.jsx)(`p`,{className:`share-manage-empty`,children:`No saved presets yet.`}):null,r.length>0?(0,W.jsxs)(`table`,{className:`share-manage-table`,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{children:`Panel`}),(0,W.jsx)(`th`,{id:em,tabIndex:-1,children:`Name`}),(0,W.jsx)(`th`,{children:`Saved at`}),(0,W.jsx)(`th`,{})]})}),(0,W.jsx)(`tbody`,{children:r.map(e=>(0,W.jsx)(rm,{row:e,busy:a,confirm:l,savedAtLabel:B.datetimeShort(e.record.saved_at,d),onDelete:()=>void p(e),onRename:(t,n)=>m(e,t,n)},`${e.panel}/${e.name}`))})]}):null]})]})}):null}function rm({row:e,busy:t,confirm:n,savedAtLabel:r,onDelete:i,onRename:a}){let[o,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(e.name),[u,d]=(0,U.useState)(null),f=`${e.panel}/${e.name}`,p=`delete:${f}`,m=`rename:${f}`,h=n.isArmed(p),g=n.isArmed(m),_=()=>{let t=c.trim();if(!t||t===e.name){l(e.name),s(!1);return}s(!1),a(t).then(e=>{e===`conflict`&&(d(t),n.arm(m))})};return(0,W.jsxs)(`tr`,{"data-preset-key":f,children:[(0,W.jsx)(`td`,{children:_p(e.panel)}),(0,W.jsx)(`td`,{children:o?(0,W.jsx)(`input`,{className:`share-manage-name-input`,autoFocus:!0,value:c,disabled:t,maxLength:64,onChange:e=>l(e.target.value),onKeyDown:t=>{t.key===`Enter`?(t.preventDefault(),_()):t.key===`Escape`&&(t.preventDefault(),t.stopPropagation(),l(e.name),s(!1))}}):(0,W.jsx)(`span`,{children:e.name})}),(0,W.jsx)(`td`,{children:(0,W.jsx)(`time`,{dateTime:e.record.saved_at,children:r})}),(0,W.jsxs)(`td`,{className:`share-manage-actions`,children:[!h&&!g?o?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,disabled:t,onClick:_,children:`Save`}),(0,W.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>{l(e.name),s(!1)},children:`Cancel`})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>s(!0),children:`Rename`}),(0,W.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n.arm(p),children:`Delete`})]}):null,(0,W.jsx)(Np,{id:p,host:n,prompt:`Delete "${e.name}"?`,confirmLabel:`Delete`,onConfirm:i}),(0,W.jsx)(Np,{id:m,host:n,prompt:`A preset named "${u??``}" already exists`,confirmLabel:`Replace it`,onConfirm:()=>{let t=u;if(t==null)return;let r=tm(e.panel,e.name,t);a(t,!0).then(e=>{e===`ok`&&(d(null),n.close(()=>r))})}})]})]})}function im(){return{format:`md`,theme:`light`,reveal_projects:!1,no_branding:!1,top_n:5,period:{kind:`current`},project_allowlist:null,show_chart:!0,show_table:!0}}function am(e,t){if(!t)return e;let n={...e,...t};return t.period&&(n.period={...e.period,...t.period}),n}function om({revealProjects:e,hasProjectNames:t}){let n=t===!1,r=n?`neutral`:e?`warn`:`info`,i=n?`This export contains no project names.`:e?`Export will show real project names.`:`Preview shows real names. Export is anonymized.`;return(0,W.jsx)(`p`,{className:`share-privacy-status share-privacy-status--${r}`,role:`status`,"aria-live":`polite`,children:i})}function sm({panel:e,source:t=`claude`,account:n=null,onClose:r,initialParams:i}){let a=(0,U.useRef)(null),[o,s]=(0,U.useState)(null),[c,l]=(0,U.useState)(!1),u=_p(e),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(null),[h,g]=(0,U.useState)(null),[_,v]=(0,U.useState)(()=>{let e=im();return i?.windowWeeks==null?e:{...e,windowWeeks:i.windowWeeks}}),y=(0,U.useRef)(!1),[b,x]=(0,U.useState)(!1),S=`share-modal-title`;qr(!0);let C=(0,U.useSyncExternalStore)(F,()=>je(R())===`share`);Ur(a,{active:!0,trapEnabled:C&&!b,initialFocus:`heading`}),we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:200,when:()=>!b&&R().composerModal===null,action:r}],[r,b])),(0,U.useEffect)(()=>{let t=!1;return f(null),m(null),op(e).then(e=>{if(t)return;f(e.templates);let n=e.templates[0];n&&(g(n.id),y.current||v(e=>am(e,n.default_options)))}).catch(e=>{t||m(e instanceof ip?`Couldn't load templates: ${e.message??`HTTP ${e.status}`}`:`Couldn't load templates: ${e.message}`)}),()=>{t=!0}},[e]),(0,U.useEffect)(()=>{if(!d||!h||y.current)return;let e=d.find(e=>e.id===h);e&&v(t=>am(t,e.default_options))},[h,d]);let w=(0,U.useMemo)(()=>{if(!d||!h)return null;let e=d.find(e=>e.id===h);return e?`${u} — ${e.label}`:null},[d,h,u]),T=e=>{y.current=!0,v(e)};return(0,W.jsxs)(`div`,{ref:a,className:`share-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":S,onClick:e=>e.stopPropagation(),children:[(0,W.jsx)(uc,{title:`Share ${u} report`,titleId:S,className:`share-modal-header`}),(0,W.jsx)(`div`,{className:`share-modal-source`,"aria-label":`Source: ${Zr[t]}`,children:(0,W.jsx)(`span`,{className:`source-chip source-chip--${t}`,children:Zr[t]})}),(0,W.jsxs)(`div`,{className:`share-modal-body`,children:[(0,W.jsxs)(`section`,{className:`share-section share-gallery-section`,"aria-label":`Template gallery`,children:[(0,W.jsx)(`div`,{className:`share-gallery-header`,children:(0,W.jsx)(Qp,{panel:e,onPick:(e,t)=>{g(e),y.current=!0,v(e=>({...e,...t}))},onManage:()=>x(!0)})}),(0,W.jsx)(up,{panel:e,templates:d,error:p,selectedTemplateId:h,onSelect:e=>g(e)})]}),(0,W.jsx)(`div`,{className:`share-knobs-col`,"aria-label":`Render options`,children:(0,W.jsx)(dp,{options:_,onChange:T})}),(0,W.jsxs)(`div`,{className:`share-preview-col`,"aria-label":`Live preview`,children:[c?null:(0,W.jsx)(om,{revealProjects:!!_.reveal_projects,hasProjectNames:o}),(0,W.jsx)(hp,{panel:e,source:t,account:n,templateId:h,options:_,artifactLabel:w,onProjectNamesResolved:s,onPreviewFailed:l})]})]}),(0,W.jsx)(`footer`,{className:`share-modal-footer`,children:(0,W.jsx)(Yp,{panel:e,source:t,account:n,previewFailed:c,templateId:h,options:_,onOptionsChange:T})}),(0,W.jsx)(lc,{className:`share-modal-close`,label:`Close share modal`,onClose:r}),(0,W.jsx)(nm,{open:b,shareIsTopmost:C,onClose:()=>x(!1)})]})}function cm(e,t){return{title:t.title,theme:t.theme,format:t.format,no_branding:t.no_branding,reveal_projects:t.reveal_projects,sections:e.map(e=>({snapshot:{panel:e.panel,template_id:e.template_id,options:e.options,data_digest_at_add:e.data_digest_at_add,...e.data_digest_version_at_add==null?{}:{data_digest_version_at_add:e.data_digest_version_at_add},kernel_version:e.kernel_version,source:e.source,...e.account==null?{}:{account:e.account}}}))}}async function lm(e,t){let n=await fetch(`/api/share/compose`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal});if(!n.ok){let e={};try{e=await n.json()}catch{}throw new ip(n.status,e.field,e.error??`HTTP ${n.status}`,e.code)}return n.json()}function um({items:e,results:t,kernelVersion:n,onRefresh:r,onRemove:i}){let a=hu(mu(gd,{activationConstraint:{distance:4}}),mu(dd,{coordinateGetter:Uf})),[o,s]=(0,U.useState)(null);we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:215,when:()=>o!==null,action:()=>{let e=o;s(null),e&&document.getElementById(`composer-kebab-${e}`)?.focus()}}],[o]));function c(t){if(!t.over||t.active.id===t.over.id)return;let n=e.findIndex(e=>e.id===t.active.id),r=e.findIndex(e=>e.id===t.over.id);n<0||r<0||I({type:`BASKET_REORDER`,fromIdx:n,toIdx:r})}return(0,W.jsx)(mf,{sensors:a,collisionDetection:Cu,onDragEnd:c,children:(0,W.jsx)(jf,{items:e.map(e=>e.id),strategy:Of,children:(0,W.jsx)(`ul`,{className:`composer-section-list`,children:e.map((e,a)=>(0,W.jsx)(dm,{item:e,result:t[a],kernelVersion:n,onRefresh:r,onRemove:i,isKebabOpen:o===e.id,onKebabToggle:()=>s(t=>t===e.id?null:e.id),onKebabClose:()=>s(null)},e.id))})})})}function dm({item:e,result:t,kernelVersion:n,onRefresh:r,onRemove:i,isKebabOpen:a,onKebabToggle:o,onKebabClose:s}){let{attributes:c,listeners:l,setNodeRef:u,transform:d,transition:f,isDragging:p}=zf({id:e.id}),m=Cs(),h={transform:$l.Transform.toString(d),transition:m?void 0:f,opacity:p?.4:1},g=t?.drift_detected,_=e.kernel_version!==n,v=!!(g||_);return(0,W.jsxs)(`li`,{ref:u,style:h,className:`composer-section-row`,children:[(0,W.jsx)(`button`,{className:`composer-drag-handle`,"aria-label":`Reorder ${e.label_hint}`,type:`button`,...c,...l,children:`≡`}),(0,W.jsx)(`span`,{className:`composer-section-label`,children:e.label_hint}),(0,W.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:Zr[e.source]}),v?(0,W.jsx)(`span`,{className:`composer-outdated-badge`,title:g&&_?`Data and kernel both shifted since add-time. Refresh to update.`:g?`Data has changed since this section was added. Refresh to update.`:`Kernel updated since this section was added. Refresh to re-render at the new version.`,children:`Outdated`}):null,(0,W.jsxs)(`div`,{className:`composer-section-actions`,children:[(0,W.jsx)(`button`,{type:`button`,id:`composer-kebab-${e.id}`,"aria-expanded":a,"aria-controls":a?`composer-kebab-menu-${e.id}`:void 0,onClick:o,"aria-label":`Actions for ${e.label_hint}`,children:`⋯`}),a?(0,W.jsxs)(`ul`,{id:`composer-kebab-menu-${e.id}`,className:`composer-section-menu`,children:[(0,W.jsx)(`li`,{children:(0,W.jsx)(`button`,{type:`button`,onClick:()=>{r(e.id),s()},children:`Refresh from current data`})}),(0,W.jsx)(`li`,{children:(0,W.jsx)(`button`,{type:`button`,onClick:()=>{i(e.id),s()},"aria-label":`Remove ${e.label_hint}`,children:`Remove`})})]}):null]})]})}function fm(e,t){return t&&e>0}function pm(e){return`cctally-report-${new Date().toISOString().slice(0,10).replaceAll(`-`,``)}.${e===`md`?`md`:e}`}function mm(e){switch(e){case`md`:return`text/markdown;charset=utf-8`;case`html`:return`text/html;charset=utf-8`;case`svg`:return`image/svg+xml;charset=utf-8`}}var hm=`composer-clear-all`,gm=`composer-preview-failed-note`;function _m(e){return`${e} ${e===1?`section`:`sections`}`}function vm(e){return e===`light`?`#ffffff`:`#0f172a`}function ym(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}var bm=200;function xm(){return R().composerModal}function Sm(){return R().basket}var Cm=`composer-modal-title`;function wm(){let e=(0,U.useSyncExternalStore)(F,xm),t=(0,U.useSyncExternalStore)(F,Sm),n=zn(),i=Mp(),a=(0,U.useRef)(null);qr(e?.open??!1),Ur(a,{active:e?.open??!1,initialFocus:`heading`});let[o,s]=(0,U.useState)(``),[c,l]=(0,U.useState)(`light`),[u,d]=(0,U.useState)(`html`),[f,p]=(0,U.useState)(!0),[m,h]=(0,U.useState)(!1),[g,_]=(0,U.useState)(null),[v,y]=(0,U.useState)(null),[b,x]=(0,U.useState)(!1),[S,C]=(0,U.useState)(null);fp(S);let w=(0,U.useRef)(null),[T,ee]=(0,U.useState)(null),[E,D]=(0,U.useState)(null);(0,U.useEffect)(()=>{D(null)},[u,c,f,m]),we((0,U.useMemo)(()=>[{key:`Escape`,scope:`overlay`,layer:210,when:()=>R().composerModal!==null,action:()=>I(r())}],[])),(0,U.useEffect)(()=>{e?.open&&o===``&&s(`cctally report — ${new Date().toISOString().slice(0,10)}`)},[e?.open,o]),(0,U.useEffect)(()=>{if(!e?.open||t.items.length===0||o===``)return;let n=setTimeout(()=>{w.current?.abort();let e=new AbortController;w.current=e,x(!0),y(null),lm(cm(t.items,{title:o,theme:c,format:u,no_branding:m,reveal_projects:!f}),{signal:e.signal}).then(t=>{e.signal.aborted||_(t)}).catch(t=>{t?.name!==`AbortError`&&(e.signal.aborted||y(t instanceof ip?t.message??`HTTP ${t.status}`:t.message))}).finally(()=>{e.signal.aborted||x(!1)})},bm);return()=>clearTimeout(n)},[e?.open,t.items,o,c,u,f,m]);async function O(e){let n=t.items.findIndex(t=>t.id===e);if(n<0)return;let r=t.items[n];try{let t=await sp({panel:r.panel,template_id:r.template_id,options:{...r.options,reveal_projects:!f},source:r.source,account:r.account}),i=H({panel:r.panel,template_id:r.template_id,options:r.options,added_at:new Date().toISOString(),data_digest_at_add:t.snapshot.data_digest,kernel_version:t.snapshot.kernel_version,label_hint:r.label_hint,source:r.source,account:r.account,id:r.id});I({type:`BASKET_REMOVE`,id:e}),I({type:`BASKET_ADD`,item:i});let a=R().basket.items.length-1;a!==n&&I({type:`BASKET_REORDER`,fromIdx:a,toIdx:n})}catch(e){y(`Refresh failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}}let k=async e=>{let n=await lm(cm(t.items,{title:o,theme:c,format:e,no_branding:m,reveal_projects:!f}));return{body:n.body,content_type:n.content_type}},te=e=>I({type:`SHOW_STATUS_TOAST`,text:e}),A=(e,n)=>{Op({sections:t.items.map(e=>({panel:e.panel,template_id:e.template_id,options:e.options,source:e.source,...e.account==null?{}:{account:e.account}})),composite:{title:o,theme:c,reveal_projects:!f,no_branding:m},format:n,destination:e}).catch(()=>{})},j=async(e,t,n)=>{if(T==null){ee(e),D(null);try{await t()}catch(e){D(`${n} failed: ${e instanceof ip?e.message??`HTTP ${e.status}`:e.message}`)}finally{ee(null)}}},M=()=>j(`copy`,async()=>{let{body:e}=await k(`md`);if(!navigator.clipboard||typeof navigator.clipboard.writeText!=`function`)throw Error(`Clipboard API unavailable in this browser`);await navigator.clipboard.writeText(e),te(`Copied`),A(`copy`,`md`)},`Copy`),ne=()=>j(`download`,async()=>{let{body:e}=await k(u),t=new Blob([e],{type:mm(u)});ym(pm(u),t),te(`Downloaded`),A(`download`,u)},`Download`),re=()=>{if(T!=null)return;let e=Rp();if(!e){D(`Open failed: ${zp}`);return}j(`open`,async()=>{try{let{body:t}=await k(u);e.navigate(new Blob([t],{type:mm(u)}))}catch(t){throw e.close(),t}te(`Opened`),A(`open`,u)},`Open`)},ie=()=>j(`png`,async()=>{let{body:e}=await k(`svg`),t=await Ip(e,2,vm(c));ym(pm(`svg`).replace(/\.svg$/,`.png`),t),te(`PNG downloaded`),A(`png`,`svg`)},`PNG export`),N=()=>j(`print`,async()=>{let{body:e}=await k(`html`);Vp(e),te(`Print dialog opened`),A(`print`,`html`)},`Print`),ae=T==null&&u===`md`&&t.items.length>0,P=T==null&&t.items.length>0,oe=T==null&&(u===`html`||u===`svg`)&&t.items.length>0,se=T==null&&u===`svg`&&t.items.length>0,ce=T==null&&u===`html`&&t.items.length>0,L=!f,le=fm(t.items.length,L),ue=L?t.items.length:0;if(!e?.open)return null;let z=(0,W.jsx)(uc,{title:`Compose report`,titleId:Cm,className:`composer-modal-header`,onClose:()=>I(r()),closeClassName:`composer-modal-close`});return t.items.length===0?(0,W.jsxs)(`div`,{className:`composer-modal composer-modal-empty${n?` composer-modal-mobile`:``}`,ref:a,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-labelledby":Cm,children:[z,(0,W.jsx)(`p`,{className:`composer-empty-message`,children:`Basket is empty. Open any panel's share menu and pick + Basket to add a section.`})]}):(0,W.jsxs)(`div`,{className:`composer-modal${n?` composer-modal-mobile`:``}`,ref:a,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-labelledby":Cm,children:[z,(0,W.jsxs)(`div`,{className:`composer-knobs`,children:[(0,W.jsxs)(`label`,{children:[`Title`,(0,W.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value)})]}),(0,W.jsxs)(`label`,{children:[`Theme`,(0,W.jsxs)(`select`,{value:c,onChange:e=>l(e.target.value),children:[(0,W.jsx)(`option`,{value:`light`,children:`light`}),(0,W.jsx)(`option`,{value:`dark`,children:`dark`})]})]}),(0,W.jsxs)(`label`,{children:[`Format`,(0,W.jsxs)(`select`,{value:u,onChange:e=>d(e.target.value),children:[(0,W.jsx)(`option`,{value:`html`,children:`html`}),(0,W.jsx)(`option`,{value:`md`,children:`md`}),(0,W.jsx)(`option`,{value:`svg`,children:`svg`})]})]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:f,onChange:e=>p(e.target.checked)}),`Anon on export`]}),(0,W.jsxs)(`label`,{children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:m,onChange:e=>h(e.target.checked)}),`No branding`]})]}),le?(0,W.jsxs)(`div`,{className:`composer-anon-banner`,role:`status`,"aria-live":`polite`,children:[(0,W.jsxs)(`span`,{children:[ue,` section`,ue===1?``:`s`,` contain real project names. They will appear in the export.`]}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>p(!0),children:`Anonymize all`})]}):null,(0,W.jsxs)(`div`,{className:`composer-body`,children:[(0,W.jsx)(um,{items:t.items,results:g?.snapshot.section_results??[],kernelVersion:g?.snapshot.kernel_version??1,onRefresh:e=>{O(e)},onRemove:e=>I({type:`BASKET_REMOVE`,id:e})}),(0,W.jsxs)(`figure`,{className:`composer-preview-frame`,children:[(0,W.jsxs)(`figcaption`,{className:`composer-preview-label`,children:[`Preview · `,c]}),(0,W.jsx)(`iframe`,{className:`composer-preview`,title:`Combined preview`,tabIndex:-1,sandbox:`allow-same-origin`,srcDoc:g?.body??`<p>Composing…</p>`,ref:C})]})]}),b?(0,W.jsx)(`div`,{className:`composer-busy`,children:`Composing…`}):null,v?(0,W.jsx)(`div`,{className:`composer-error`,role:`alert`,children:v}):null,E?(0,W.jsx)(`div`,{className:`composer-error`,role:`alert`,children:E}):null,(0,W.jsxs)(`footer`,{className:`composer-actions`,children:[v?(0,W.jsx)(`p`,{className:`share-preview-failed-note`,id:gm,children:Wp}):null,(0,W.jsxs)(`div`,{className:`composer-export-row`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-copy`,onClick:M,disabled:!ae,title:u===`md`?T===`copy`?`Copying…`:`Copy composed report to clipboard`:`Copy is available for Markdown only`,children:T===`copy`?`Copying…`:`Copy`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-download`,onClick:ne,disabled:!P,title:T===`download`?`Downloading…`:`Download composed report`,children:T===`download`?`Downloading…`:`Download`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-open`,onClick:re,disabled:!oe,title:u===`html`||u===`svg`?T===`open`?`Opening…`:`Open composed report in new tab`:`Open is available for HTML/SVG`,children:T===`open`?`Opening…`:`Open`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-png`,onClick:ie,disabled:!se,title:u===`svg`?T===`png`?`Rasterizing…`:`Download composed report as PNG`:`PNG export — available for SVG format only`,children:T===`png`?`Rasterizing…`:`PNG`}),(0,W.jsx)(`button`,{type:`button`,"aria-describedby":v?gm:void 0,className:`share-action share-action-print`,onClick:N,disabled:!ce,title:u===`html`?T===`print`?`Opening print dialog…`:`Open the browser print dialog (save as PDF)`:`Print → PDF — available for HTML format only`,children:T===`print`?`Printing…`:`Print → PDF`})]}),(0,W.jsx)(`button`,{type:`button`,className:`composer-clear-all`,onClick:()=>i.arm(hm),children:`Clear all`}),(0,W.jsx)(Np,{id:hm,host:i,prompt:`Clear ${_m(t.items.length)}?`,confirmLabel:`Clear ${_m(t.items.length)}`,onConfirm:()=>{I({type:`BASKET_CLEAR`}),i.close(()=>document.querySelector(`.composer-modal-close`))}})]})]})}function Tm(){let e=(0,U.useSyncExternalStore)(F,()=>R().shareModal),t=(0,U.useRef)(null),n=(0,U.useRef)(!1);(0,U.useEffect)(()=>{if(e)n.current||(n.current=!0,t.current=(e.triggerId?document.getElementById(e.triggerId):null)??document.activeElement);else if(n.current){n.current=!1;let e=t.current;if(t.current=null,e&&typeof e.focus==`function`&&document.contains(e))e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[e]);let r=()=>I(M());return(0,W.jsxs)(W.Fragment,{children:[e?(0,W.jsx)(`div`,{id:`share-modal-root`,className:`share-overlay`,onClick:e=>{e.stopPropagation(),e.target===e.currentTarget&&r()},children:(0,W.jsx)(sm,{panel:e.panel,source:e.source,account:e.source===`claude`?null:e.account,initialParams:e.params,onClose:r})}):null,(0,W.jsx)(wm,{})]})}function Em(e,t){return e==null?t?`error`:`loading`:`ready`}function Dm({kind:e,message:t}){let n=e===`stale`?`Disconnected — data may be stale. Reconnecting…`:t??`Couldn’t load dashboard data. Reconnecting…`;return(0,W.jsxs)(`div`,{className:`stale-banner stale-banner-${e}`,role:`status`,"aria-live":`polite`,children:[(0,W.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,W.jsx)(`use`,{href:`/static/icons.svg#warn-triangle`})}),(0,W.jsx)(`span`,{children:n}),e===`error`&&t==null&&(0,W.jsxs)(`span`,{className:`stale-banner-hint`,children:[`Check that `,(0,W.jsx)(`code`,{children:`cctally dashboard`}),` is running.`]})]})}var Om=[`tall`,`medium`,`short`];function km({span:e}){return(0,W.jsx)(`div`,{className:`panel-host`,"data-span":e,children:(0,W.jsxs)(`div`,{className:`panel is-skeleton`,children:[(0,W.jsx)(`div`,{className:`skel skel-header`}),(0,W.jsx)(`div`,{className:`skel skel-line`}),(0,W.jsx)(`div`,{className:`skel skel-line short`})]})})}function Am({mode:t}){return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:`Loading dashboard…`}),(0,W.jsx)(`div`,{className:`skel-hero`,"aria-hidden":`true`}),(0,W.jsx)(`div`,{className:`dash-grid`,"aria-hidden":`true`,"data-board-mode":t,children:Om.map(n=>{let r=le.filter(t=>e[t].row===n);return(0,W.jsx)(`div`,{className:`bento-row row-${n}`,children:r.map(e=>(0,W.jsx)(km,{span:Xf(e,t)},e))},n)})})]})}function jm(){return typeof window>`u`||!window.matchMedia||window.matchMedia(Ln).matches?`bento`:window.matchMedia(In).matches?`intermediate`:`stack`}function Mm(){let[e,t]=(0,U.useState)(jm);return(0,U.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(Ln),n=window.matchMedia(In),r=()=>t(jm());return e.addEventListener(`change`,r),n.addEventListener(`change`,r),r(),()=>{e.removeEventListener(`change`,r),n.removeEventListener(`change`,r)}},[]),e}var Nm=class extends U.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){console.error(`deferred ${this.props.name} failed to load`,e,t)}render(){let{children:e,name:t}=this.props;return this.state.failed?(0,W.jsx)(`div`,{className:`modal-backdrop feature-load-failure`,role:`alert`,"aria-label":`${t} failed to load`,children:(0,W.jsxs)(`section`,{className:`modal-card feature-load-failure-card`,children:[(0,W.jsxs)(`h2`,{children:[t,` could not load`]}),(0,W.jsx)(`p`,{children:`The dashboard may have updated while this tab was open. Reload to use one coherent build.`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>window.location.reload(),children:`Reload dashboard`})]})}):(0,W.jsx)(U.Suspense,{fallback:(0,W.jsxs)(`div`,{className:`feature-load-pending`,role:`status`,children:[`Loading `,t,`…`]}),children:e})}},Pm=`modulepreload`,Fm=function(e){return`/static/`+e},Im={},Lm=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Fm(t,n),t in Im)return;Im[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Pm,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Rm=(0,U.lazy)(()=>Lm(()=>import(`./ConversationsView-Bc8LCOAZ.js`).then(e=>({default:e.ConversationsView})),__vite__mapDeps([0,1,2]))),zm=(0,U.lazy)(()=>Lm(()=>import(`./ModalRoot-DLPgyAM_.js`).then(e=>({default:e.ModalRoot})),__vite__mapDeps([3,1,2,4]))),Bm=(0,U.lazy)(()=>Lm(()=>import(`./SourceDetailModal-Bw0T8W-W.js`).then(e=>({default:e.SourceDetailModal})),__vite__mapDeps([5,1,2,4]))),Vm=(0,U.lazy)(()=>Lm(()=>import(`./UpdateModal-D5AKx4Yw.js`).then(e=>({default:e.UpdateModal})),__vite__mapDeps([6,1]))),Hm=(0,U.lazy)(()=>Lm(()=>import(`./DoctorModal-D--qVBwe.js`).then(e=>({default:e.DoctorModal})),__vite__mapDeps([7,1])));function Um(){let t=(0,U.useSyncExternalStore)(F,()=>R().prefs.panelOrder),n=(0,U.useSyncExternalStore)(F,()=>R().activeSource),r=(0,U.useSyncExternalStore)(F,()=>R().view),i=(0,U.useSyncExternalStore)(F,()=>R().openModal),a=(0,U.useSyncExternalStore)(F,()=>R().openSourceDetail),o=(0,U.useSyncExternalStore)(F,()=>R().update.modalOpen),s=(0,U.useSyncExternalStore)(F,()=>R().doctorModalOpen),l=We(),{disconnected:u,bootstrapError:d,bootstrapMessage:f}=Wt(),p=Em(l,d),m=Mm(),{tall:h,medium:g,short:_,globalIndex:v}=(0,U.useMemo)(()=>{let r=c(t,C(l,n)),i=t=>r.filter(n=>e[n].row===t);return{tall:i(`tall`),medium:i(`medium`),short:i(`short`),globalIndex:new Map(r.map((e,t)=>[e,t]))}},[t,l,n]);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`a`,{className:`skip-link`,href:`#main-content`,children:`Skip to main content`}),(0,W.jsx)(An,{}),(0,W.jsx)(`main`,{id:`main-content`,tabIndex:-1,children:r===`conversations`?(0,W.jsx)(Nm,{name:`Conversations`,children:(0,W.jsx)(Rm,{})}):p===`loading`?(0,W.jsx)(Am,{mode:m}):p===`error`?(0,W.jsx)(Dm,{kind:`error`,message:f}):(0,W.jsxs)(W.Fragment,{children:[u&&(0,W.jsx)(Dm,{kind:`stale`}),(0,W.jsx)(yr,{}),(0,W.jsx)(ws.Provider,{value:m,children:(0,W.jsxs)(`div`,{className:`dash-grid${u?` is-stale`:``}`,"data-board-mode":m,children:[(0,W.jsx)(rp,{items:h,className:`bento-row row-tall`,children:h.map(e=>(0,W.jsx)(Zf,{id:e,index:v.get(e)??0,mode:m},e))}),(0,W.jsx)(rp,{items:g,className:`bento-row row-medium`,children:g.map(e=>(0,W.jsx)(Zf,{id:e,index:v.get(e)??0,mode:m},e))}),(0,W.jsx)(rp,{items:_,className:`bento-row row-short`,children:_.map(e=>(0,W.jsx)(Zf,{id:e,index:v.get(e)??0,mode:m},e))})]})})]})}),(0,W.jsx)(Pr,{}),(0,W.jsx)(mc,{}),(0,W.jsx)(sl,{}),i?(0,W.jsx)(Nm,{name:`Dashboard detail`,children:(0,W.jsx)(zm,{})}):null,a?(0,W.jsx)(Nm,{name:`Source detail`,children:(0,W.jsx)(Bm,{})}):null,(0,W.jsx)(Tm,{}),o?(0,W.jsx)(Nm,{name:`Update`,children:(0,W.jsx)(Vm,{})}):null,s?(0,W.jsx)(Nm,{name:`Doctor`,children:(0,W.jsx)(Hm,{})}):null,(0,W.jsx)(El,{})]})}var Wm=`#/conversations`;function Gm(e){if(!e.startsWith(`v1.`))return null;try{let t=e.slice(3).replace(/-/g,`+`).replace(/_/g,`/`),n=t+`=`.repeat((4-t.length%4)%4),r=Uint8Array.from(atob(n),e=>e.charCodeAt(0)),i=JSON.parse(new TextDecoder().decode(r));return i.version!==1||i.resourceKind!==`conversation`?null:i.source===`claude`||i.source===`codex`?i.source:null}catch{return null}}function Km(e){let[t,n=``]=(e.startsWith(`#`)?e.slice(1):e).split(`?`,2),r=new URLSearchParams(n),i=t===`/conversation`||t.startsWith(`/conversation/`)?`/conversations`+t.slice(13):t;if(i===``||i===`/`)return null;if(i===`/conversations`||i===`/conversations/`)return{sessionId:null,turnUuid:null,compare:null};if(!i.startsWith(`/conversations/`))return null;let a=i.slice(15).split(`/`).filter(e=>e.length>0),o=e=>e===`claude`||e===`codex`?e:null;if(a[0]===`source`&&(a.length===3||a.length===4)){let e=o(a[1]);if(!e||!a[2])return null;let t=r.get(`account`)||void 0,n=t?{source:e,key:decodeURIComponent(a[2]),account_key:t}:{source:e,key:decodeURIComponent(a[2])};return{sessionId:e===`claude`?n.key:null,conversationRef:n,turnUuid:a[3]?decodeURIComponent(a[3]):null,compare:null,qualified:!0}}if(a[0]===`compare`&&a.length===5){let e=o(a[1]),t=o(a[3]);return!e||!t||!a[2]||!a[4]?null:{sessionId:null,conversationRef:null,turnUuid:null,compare:{a:r.get(`a_account`)?{source:e,key:decodeURIComponent(a[2]),account_key:r.get(`a_account`)}:{source:e,key:decodeURIComponent(a[2])},b:r.get(`b_account`)?{source:t,key:decodeURIComponent(a[4]),account_key:r.get(`b_account`)}:{source:t,key:decodeURIComponent(a[4])}},qualified:!0}}if(a[0]===`compare`&&a.length>=3&&a[1]&&a[2])return{sessionId:null,conversationRef:null,turnUuid:null,compare:{a:z(decodeURIComponent(a[1])),b:z(decodeURIComponent(a[2]))}};if(a.length===1||a.length===2){let e=decodeURIComponent(a[0]),t=Gm(e);if(t)return{sessionId:t===`claude`?e:null,conversationRef:{source:t,key:e},turnUuid:a[1]?decodeURIComponent(a[1]):null,compare:null,qualified:!0}}return a.length===1?{sessionId:decodeURIComponent(a[0]),turnUuid:null,compare:null}:a.length===2?{sessionId:decodeURIComponent(a[0]),turnUuid:decodeURIComponent(a[1]),compare:null}:null}function qm(e,t){if(V(e)){let n=`${Wm}/source/${e.source}/${encodeURIComponent(e.key)}`,r=t?`${n}/${encodeURIComponent(t)}`:n;return e.account_key?`${r}?account=${encodeURIComponent(e.account_key)}`:r}if(typeof e==`object`&&e){let t=e;if(t.compare){let e=P(t.compare.a),n=P(t.compare.b),r=`${Wm}/compare/${e.source}/${encodeURIComponent(e.key)}/${n.source}/${encodeURIComponent(n.key)}`,i=new URLSearchParams;return e.account_key&&i.set(`a_account`,e.account_key),n.account_key&&i.set(`b_account`,n.account_key),i.size?`${r}?${i.toString()}`:r}return t.conversationRef?qm(t.conversationRef,t.turnUuid):qm(t.sessionId,t.turnUuid)}let n=e;if(n===null)return Wm;let r=encodeURIComponent(n);return t?`${Wm}/${r}/${encodeURIComponent(t)}`:`${Wm}/${r}`}function Jm(e,t,n,r){return`${e}${t}${V(n),qm(n,r)}`}function Ym(e,t){return e===`dashboard`?``:qm(t||null)}var Xm=`cctallyRoute`;function Zm(e){return typeof e==`object`&&!!e&&Xm in e}function Qm(e,t){if(e===window.location.hash)return;let n=e===``?window.location.pathname+window.location.search:e,r={[Xm]:!0};t===`push`?window.history.pushState(r,``,n):window.history.replaceState(r,``,n)}function $m(e,t){Qm((V(e),qm(e,t)),`replace`)}function eh(e,t={}){let n=[{type:`SET_ACTIVE_SOURCE`,source:e.source},{type:`SET_ACCOUNT_FOCUS`,source:e.source,slot:`provider`,account:e.account_key??`all`}];return t.preserveRailState||(n.push({type:`CLEAR_CONVERSATION_FILTERS`}),n.push({type:`SET_CONVERSATION_SEARCH`,text:``})),n}var th=!1,nh=null,rh=!1;function ih(e,t,n,r={}){let i=th;th=!0;try{for(let n of eh(t,r))e(n);e(n)}finally{th=i}i||nh?.()}function ah(e){let t={preserveRailState:rh};rh=!1,th=!0;try{oh(e,t)}finally{th=!1}}function oh(e,t){let n=Km(window.location.hash);if(n===null){e.dispatch({type:`SET_VIEW`,view:`dashboard`});return}if(n.compare){let r=Oe(n.compare.a,n.compare.b)?n.qualified?{type:`OPEN_CONVERSATION`,conversationRef:n.compare.a}:{type:`OPEN_CONVERSATION`,sessionId:n.compare.a.key}:n.qualified?{type:`OPEN_COMPARE`,aRef:n.compare.a,bRef:n.compare.b}:{type:`OPEN_COMPARE`,a:n.compare.a.key,b:n.compare.b.key};ih(e.dispatch,n.compare.a,r,t);return}let r=n.conversationRef??(n.sessionId?z(n.sessionId):null);if(r===null){e.dispatch({type:`SET_VIEW`,view:`conversations`}),e.dispatch({type:`SELECT_CONVERSATION`,sessionId:null});return}let i=n.turnUuid?{...n.qualified?{conversation_ref:r}:{},session_id:r.key,uuid:n.turnUuid}:void 0;ih(e.dispatch,r,n.qualified?{type:`OPEN_CONVERSATION`,conversationRef:r,jump:i}:{type:`OPEN_CONVERSATION`,sessionId:r.key,jump:i},t)}function sh(e={getState:R,subscribeStore:F,dispatch:I}){let t=window.history.scrollRestoration;if(window.history.scrollRestoration=`manual`,!Zm(window.history.state)){let e=typeof window.history.state==`object`&&window.history.state!==null?window.history.state:{};window.history.replaceState({...e,[Xm]:!0},``)}ah(e);let n=()=>{let t=e.getState(),n=t.selectedConversationRef??(t.selectedConversationId?z(t.selectedConversationId):null);return{view:t.view,ref:n,refKey:n?ue(n):null,jumpUuid:t.conversationJump?.uuid??null,cmp:t.compare?JSON.stringify([ue(t.compare.a),ue(t.compare.b)]):null}},r=n(),i=()=>{ah(e),r=n()};window.addEventListener(`hashchange`,i);let a=e=>{rh=Zm(e.state)};window.addEventListener(`popstate`,a);let o=()=>{if(th)return;let t=e.getState(),i=n(),a=!!t.conversationJump&&Oe(L(t.conversationJump),i.ref);if(i.cmp&&i.cmp!==r.cmp){Qm(qm({sessionId:null,turnUuid:null,compare:t.compare}),`push`),r=i;return}if(i.cmp){r=i;return}if(r.cmp&&!i.cmp){let e=Ym(i.view,i.ref);i.view===`conversations`&&i.ref&&i.jumpUuid&&a&&(e=qm(i.ref,i.jumpUuid)),Qm(e,`push`),r=i;return}if(i.view!==r.view||i.refKey!==r.refKey){let e=Ym(i.view,i.ref);i.view===`conversations`&&i.ref&&i.jumpUuid&&a&&(e=qm(i.ref,i.jumpUuid)),Qm(e,`push`)}else i.ref&&i.refKey===r.refKey&&i.jumpUuid&&i.jumpUuid!==r.jumpUuid&&a&&Qm(qm(i.ref,i.jumpUuid),`replace`);r=i},s=e.subscribeStore(o),c=()=>{o()};return nh=c,()=>{window.removeEventListener(`hashchange`,i),window.removeEventListener(`popstate`,a),rh=!1,nh===c&&(nh=null),s(),window.history.scrollRestoration=t}}function ch(e){let t=R();if(t.snapshot==null)return;let n=ce(t);if(n==null)return;let r=c(t.prefs.panelOrder,C(n,t.activeSource)),i=e-1;if(i<0||i>=r.length)return;let a=r[i];if(t.activeSource!==`claude`&&a===`sessions`){let e=ke(C(n,t.activeSource))[0];e&&I({type:`OPEN_SOURCE_DETAIL`,source:e.source,resource:`session`,key:e.key});return}if(t.activeSource!==`claude`&&a===`blocks`){let e=aa(n,t.activeSource),r=e.find(e=>e.is_active)??e[0];r?.source===`claude`?I({type:`OPEN_MODAL`,kind:`block`,blockStartAt:r.start_at}):r&&I({type:`OPEN_SOURCE_DETAIL`,source:r.source,resource:`block`,key:r.key});return}let o=cc[a];o&&o.openAction()}var lh=`Focus a panel action, then press Shift+S to share it.`;function uh(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Pn).matches}function dh(){if(typeof document>`u`)return null;let e=document.activeElement;if(!e||!(e instanceof Element))return null;let t=e.closest(`[data-panel-kind]`);return t?t.getAttribute(`data-panel-kind`):null}function fh(){return{key:`S`,scope:`global`,when:()=>{let e=R();return!(uh()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null||e.chromeOverlayOpen!==0)},action:()=>{let e=dh();if(e===null){I({type:`SHOW_STATUS_TOAST`,text:lh});return}Te.has(e)&&Xr(R().activeSource,e)&&I(j(e,`${e}-panel`))}}}function ph(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Pn).matches}function mh(){return{key:`B`,scope:`global`,when:()=>{let e=R();return!(ph()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null||e.chromeOverlayOpen!==0)},action:()=>I(p())}}function hh(){return[mh()]}var gh=[`claude`,`codex`,`all`];function _h(){let e=R().activeSource,t=gh[(gh.indexOf(e)+1)%gh.length];I({type:`SET_ACTIVE_SOURCE`,source:t})}function vh(){let e=R(),t=e.activeSource,n=t===`all`?x(e.snapshot,`codex`)?`codex`:x(e.snapshot,`claude`)?`claude`:null:t;if(n==null)return;let r=v(e.snapshot?.sources?.[n]??null);if(r==null)return;let i=y(r,u(e.snapshot,t,n,e.accountFocus));I({type:`SET_ACCOUNT_FOCUS`,source:n,slot:pe(t),account:i})}function yh(){return typeof window<`u`&&!!window.matchMedia&&window.matchMedia(In).matches}function bh(){let e=R();return!e.openModal&&!e.update.modalOpen&&!e.doctorModalOpen&&e.inputMode===null&&e.chromeOverlayOpen===0}function xh(){let e=R();return!(e.openModal!==null||e.update.modalOpen||e.inputMode!==null||e.chromeOverlayOpen!==0)}function Sh(){return[{key:`1`,scope:`global`,when:bh,action:()=>ch(1)},{key:`2`,scope:`global`,when:bh,action:()=>ch(2)},{key:`3`,scope:`global`,when:bh,action:()=>ch(3)},{key:`4`,scope:`global`,when:bh,action:()=>ch(4)},{key:`5`,scope:`global`,when:bh,action:()=>ch(5)},{key:`6`,scope:`global`,when:bh,action:()=>ch(6)},{key:`7`,scope:`global`,when:bh,action:()=>ch(7)},{key:`8`,scope:`global`,when:bh,action:()=>ch(8)},{key:`9`,scope:`global`,when:bh,action:()=>ch(9)},{key:`0`,scope:`global`,when:bh,action:()=>ch(10)},{key:`r`,scope:`global`,when:bh,action:()=>Dn()},{key:`v`,scope:`global`,when:bh,action:_h},{key:`a`,scope:`global`,when:bh,action:vh},{key:`q`,scope:`global`,when:bh,action:Nr},{key:`n`,scope:`global`,when:bh,action:()=>jr(1)},{key:`N`,scope:`global`,when:bh,action:()=>jr(-1)},{key:`d`,scope:`global`,view:`any`,when:xh,action:()=>I({type:`OPEN_DOCTOR_MODAL`})},{key:`e`,scope:`global`,when:bh,action:()=>I({type:`OPEN_MODAL`,kind:`explain`})},fh(),...hh(),{key:`c`,scope:`sessions`,when:()=>!R().openModal&&R().chromeOverlayOpen===0&&!yh(),action:()=>{let e=R().prefs.sessionsCollapsed;I({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!e}})}}]}var Ch=class extends Error{constructor(){super(`Dashboard authentication failed`),this.name=`DashboardAuthError`}};function wh(){history.replaceState(history.state,``,`${location.pathname}${location.search}`)}async function Th(){let e=location.hash;if(!e.startsWith(`#token=`))return;wh();let t=e.slice(7);if(!t||t.includes(`&`))throw new Ch;let n;try{n=decodeURIComponent(t)}catch{throw new Ch}if(!n)throw new Ch;let r;try{r=await fetch(`/api/auth`,{method:`POST`,headers:{Authorization:`Bearer ${n}`}})}catch{throw new Ch}if(r.status!==204)throw new Ch}function Eh(e){let t=document.createElement(`section`);t.className=`app-error`,t.setAttribute(`role`,`alert`);let n=document.createElement(`h1`);n.textContent=`Dashboard authentication failed`;let r=document.createElement(`p`);r.textContent=`Reopen the dashboard using a fresh URL from its terminal.`,t.append(n,r),e.replaceChildren(t)}var Dh=document.getElementById(`root`);if(!Dh)throw Error(`missing #root`);async function Oh(e){try{await Th()}catch{Eh(e);return}Pt(),et(),xe(),sh(),fe(Sh()),(0,Re.createRoot)(e).render((0,W.jsx)(U.StrictMode,{children:(0,W.jsx)(Um,{})}))}Oh(Dh);export{ea as $,Yo as A,Qt as At,go as B,cs as C,Fn as Ct,Xo as D,Tn as Dt,ts as E,jn as Et,Ao as F,We as Ft,ga as G,Qa as H,ko as I,Le as It,ca as J,la as K,To as L,Go as M,et as Mt,zo as N,tt as Nt,Qo as O,hn as Ot,Bo as P,it as Pt,Xi as Q,ho as R,xs as S,Rn as St,ns as T,Nn as Tt,Ga as U,lo as V,ja as W,Gi as X,Zi as Y,Ui as Z,Vs as _,Qn as _t,fl as a,Ci as at,Cs as b,Vn as bt,nc as c,ei as ct,ec as d,Ur as dt,zi as et,Zs as f,or as ft,Ls as g,$n as gt,Is as h,fr as ht,ih as i,xi as it,Wo as j,Yt as jt,Zo as k,dn as kt,$s as l,Qr as lt,qs as m,sr as mt,Jm as n,Fi as nt,uc as o,wi as ot,Ys as p,ar as pt,Yi as q,$m as r,Ji as rt,lc as s,oi as st,bh as t,ra as tt,Qs as u,qr as ut,Rs as v,Zn as vt,es as w,Mn as wt,bs as x,zn as xt,Ns as y,Un as yt,po as z};
|