cctally 1.99.0 → 1.99.1

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.
@@ -5,7 +5,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
5
5
  `+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{re=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?R(e):``}function B(e){switch(e.tag){case 5:return R(e.type);case 16:return R(`Lazy`);case 13:return R(`Suspense`);case 19:return R(`SuspenseList`);case 0:case 2:case 15:return e=z(e.type,!1),e;case 11:return e=z(e.type.render,!1),e;case 1:return e=z(e.type,!0),e;default:return``}}function V(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 E:return`Fragment`;case T:return`Portal`;case O:return`Profiler`;case D:return`StrictMode`;case M:return`Suspense`;case N:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case A:return(e.displayName||`Context`)+`.Consumer`;case k:return(e._context.displayName||`Context`)+`.Provider`;case j:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case P:return t=e.displayName||null,t===null?V(e.type)||`Memo`:t;case F:t=e._payload,e=e._init;try{return V(e(t))}catch{}}return null}function ie(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 V(t);case 8:return t===D?`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 ae(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function oe(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function se(e){var t=oe(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 ce(e){e._valueTracker||=se(e)}function le(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=oe(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function ue(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 de(e,t){var n=t.checked;return L({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function fe(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=ae(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&&S(e,`checked`,t,!1)}function me(e,t){pe(e,t);var n=ae(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,ae(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`||ue(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var _e=Array.isArray;function ve(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=``+ae(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 ye(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(r(91));return L({},t,{value:void 0,defaultValue:void 0,children:``+e._wrapperState.initialValue})}function be(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(_e(n)){if(1<n.length)throw Error(r(93));n=n[0]}t=n}t??=``,n=t}e._wrapperState={initialValue:ae(n)}}function xe(e,t){var n=ae(t.value),r=ae(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 Se(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==``&&t!==null&&(e.value=t)}function Ce(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 we(e,t){return e==null||e===`http://www.w3.org/1999/xhtml`?Ce(t):e===`http://www.w3.org/2000/svg`&&t===`foreignObject`?`http://www.w3.org/1999/xhtml`:e}var Te,Ee=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(Te||=document.createElement(`div`),Te.innerHTML=`<svg>`+t.valueOf().toString()+`</svg>`,t=Te.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function De(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Oe={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},ke=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(Oe).forEach(function(e){ke.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Oe[t]=Oe[e]})});function Ae(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||Oe.hasOwnProperty(e)&&Oe[e]?(``+t).trim():t+`px`}function je(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=Ae(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var Me=L({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 Ne(e,t){if(t){if(Me[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 Pe(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 Fe=null;function Ie(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Le=null,Re=null,ze=null;function Be(e){if(e=Fi(e)){if(typeof Le!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=Li(t),Le(e.stateNode,e.type,t))}}function Ve(e){Re?ze?ze.push(e):ze=[e]:Re=e}function He(){if(Re){var e=Re,t=ze;if(ze=Re=null,Be(e),t)for(e=0;e<t.length;e++)Be(t[e])}}function Ue(e,t){return e(t)}function We(){}var Ge=!1;function Ke(e,t,n){if(Ge)return e(t,n);Ge=!0;try{return Ue(e,t,n)}finally{Ge=!1,(Re!==null||ze!==null)&&(We(),He())}}function qe(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 Je=!1;if(c)try{var H={};Object.defineProperty(H,"passive",{get:function(){Je=!0}}),window.addEventListener(`test`,H,H),window.removeEventListener(`test`,H,H)}catch{Je=!1}function Ye(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 Xe=!1,Ze=null,Qe=!1,$e=null,et={onError:function(e){Xe=!0,Ze=e}};function tt(e,t,n,r,i,a,o,s,c){Xe=!1,Ze=null,Ye.apply(et,arguments)}function nt(e,t,n,i,a,o,s,c,l){if(tt.apply(this,arguments),Xe){if(Xe){var u=Ze;Xe=!1,Ze=null}else throw Error(r(198));Qe||(Qe=!0,$e=u)}}function rt(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 it(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 at(e){if(rt(e)!==e)throw Error(r(188))}function ot(e){var t=e.alternate;if(!t){if(t=rt(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 at(a),e;if(o===i)return at(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 st(e){return e=ot(e),e===null?null:ct(e)}function ct(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=ct(e);if(t!==null)return t;e=e.sibling}return null}var lt=n.unstable_scheduleCallback,ut=n.unstable_cancelCallback,dt=n.unstable_shouldYield,ft=n.unstable_requestPaint,pt=n.unstable_now,mt=n.unstable_getCurrentPriorityLevel,ht=n.unstable_ImmediatePriority,gt=n.unstable_UserBlockingPriority,_t=n.unstable_NormalPriority,vt=n.unstable_LowPriority,yt=n.unstable_IdlePriority,bt=null,xt=null;function St(e){if(xt&&typeof xt.onCommitFiberRoot==`function`)try{xt.onCommitFiberRoot(bt,e,void 0,(e.current.flags&128)==128)}catch{}}var Ct=Math.clz32?Math.clz32:Et,wt=Math.log,Tt=Math.LN2;function Et(e){return e>>>=0,e===0?32:31-(wt(e)/Tt|0)|0}var Dt=64,Ot=4194304;function kt(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 At(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=kt(a))):r=kt(s)}else o=n&~i,o===0?a!==0&&(r=kt(a)):r=kt(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-Ct(t),i=1<<n,r|=e[n],t&=~i;return r}function jt(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 Mt(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-Ct(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=jt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}}function Nt(e){return e=e.pendingLanes&-1073741825,e===0?e&1073741824?1073741824:0:e}function Pt(){var e=Dt;return Dt<<=1,!(Dt&4194240)&&(Dt=64),e}function Ft(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function It(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ct(t),e[t]=n}function Lt(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-Ct(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function Rt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ct(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var zt=0;function Bt(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Vt,Ht,Ut,Wt,Gt,Kt=!1,qt=[],Jt=null,Yt=null,Xt=null,Zt=new Map,Qt=new Map,$t=[],en=`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 tn(e,t){switch(e){case`focusin`:case`focusout`:Jt=null;break;case`dragenter`:case`dragleave`:Yt=null;break;case`mouseover`:case`mouseout`:Xt=null;break;case`pointerover`:case`pointerout`:Zt.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Qt.delete(t.pointerId)}}function nn(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&&Ht(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function rn(e,t,n,r,i){switch(t){case`focusin`:return Jt=nn(Jt,e,t,n,r,i),!0;case`dragenter`:return Yt=nn(Yt,e,t,n,r,i),!0;case`mouseover`:return Xt=nn(Xt,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Zt.set(a,nn(Zt.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Qt.set(a,nn(Qt.get(a)||null,e,t,n,r,i)),!0}return!1}function an(e){var t=Pi(e.target);if(t!==null){var n=rt(t);if(n!==null){if(t=n.tag,t===13){if(t=it(n),t!==null){e.blockedOn=t,Gt(e.priority,function(){Ut(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 on(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=_n(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Fe=r,n.target.dispatchEvent(r),Fe=null}else return t=Fi(n),t!==null&&Ht(t),e.blockedOn=n,!1;t.shift()}return!0}function sn(e,t,n){on(e)&&n.delete(t)}function cn(){Kt=!1,Jt!==null&&on(Jt)&&(Jt=null),Yt!==null&&on(Yt)&&(Yt=null),Xt!==null&&on(Xt)&&(Xt=null),Zt.forEach(sn),Qt.forEach(sn)}function ln(e,t){e.blockedOn===t&&(e.blockedOn=null,Kt||(Kt=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,cn)))}function un(e){function t(t){return ln(t,e)}if(0<qt.length){ln(qt[0],e);for(var n=1;n<qt.length;n++){var r=qt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Jt!==null&&ln(Jt,e),Yt!==null&&ln(Yt,e),Xt!==null&&ln(Xt,e),Zt.forEach(t),Qt.forEach(t),n=0;n<$t.length;n++)r=$t[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<$t.length&&(n=$t[0],n.blockedOn===null);)an(n),n.blockedOn===null&&$t.shift()}var dn=C.ReactCurrentBatchConfig,fn=!0;function pn(e,t,n,r){var i=zt,a=dn.transition;dn.transition=null;try{zt=1,hn(e,t,n,r)}finally{zt=i,dn.transition=a}}function mn(e,t,n,r){var i=zt,a=dn.transition;dn.transition=null;try{zt=4,hn(e,t,n,r)}finally{zt=i,dn.transition=a}}function hn(e,t,n,r){if(fn){var i=_n(e,t,n,r);if(i===null)oi(e,t,r,gn,n),tn(e,r);else if(rn(i,e,t,n,r))r.stopPropagation();else if(tn(e,r),t&4&&-1<en.indexOf(e)){for(;i!==null;){var a=Fi(i);if(a!==null&&Vt(a),a=_n(e,t,n,r),a===null&&oi(e,t,r,gn,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else oi(e,t,r,null,n)}}var gn=null;function _n(e,t,n,r){if(gn=null,e=Ie(r),e=Pi(e),e!==null)if(t=rt(e),t===null)e=null;else if(n=t.tag,n===13){if(e=it(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 gn=e,null}function vn(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(mt()){case ht:return 1;case gt:return 4;case _t:case vt:return 16;case yt:return 536870912;default:return 16}default:return 16}}var yn=null,bn=null,xn=null;function Sn(){if(xn)return xn;var e,t=bn,n=t.length,r,i=`value`in yn?yn.value:yn.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 xn=i.slice(e,1<r?1-r:void 0)}function Cn(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 wn(){return!0}function U(){return!1}function Tn(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)?wn:U,this.isPropagationStopped=U,this}return L(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=wn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=wn)},persist:function(){},isPersistent:wn}),t}var En={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Dn=Tn(En),W=L({},En,{view:0,detail:0}),On=Tn(W),kn,An,jn,Mn=L({},W,{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!==jn&&(jn&&e.type===`mousemove`?(kn=e.screenX-jn.screenX,An=e.screenY-jn.screenY):An=kn=0,jn=e),kn)},movementY:function(e){return`movementY`in e?e.movementY:An}}),G=Tn(Mn),Nn=Tn(L({},Mn,{dataTransfer:0})),Pn=Tn(L({},W,{relatedTarget:0})),Fn=Tn(L({},En,{animationName:0,elapsedTime:0,pseudoElement:0})),In=Tn(L({},En,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Ln=Tn(L({},En,{data:0})),Rn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},zn={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`},Bn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function K(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Bn[e])?!!t[e]:!1}function Vn(){return K}var q=Tn(L({},W,{key:function(e){if(e.key){var t=Rn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=Cn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?zn[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`?Cn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?Cn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Hn=Tn(L({},Mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Un=Tn(L({},W,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Vn})),Wn=Tn(L({},En,{propertyName:0,elapsedTime:0,pseudoElement:0})),Gn=Tn(L({},Mn,{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})),Kn=[9,13,27,32],qn=c&&`CompositionEvent`in window,Jn=null;c&&`documentMode`in document&&(Jn=document.documentMode);var Yn=c&&`TextEvent`in window&&!Jn,Xn=c&&(!qn||Jn&&8<Jn&&11>=Jn),Zn=` `,Qn=!1;function $n(e,t){switch(e){case`keyup`:return Kn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function er(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var tr=!1;function nr(e,t){switch(e){case`compositionend`:return er(t);case`keypress`:return t.which===32?(Qn=!0,Zn):null;case`textInput`:return e=t.data,e===Zn&&Qn?null:e;default:return null}}function rr(e,t){if(tr)return e===`compositionend`||!qn&&$n(e,t)?(e=Sn(),xn=bn=yn=null,tr=!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 Xn&&t.locale!==`ko`?null:t.data;default:return null}}var ir={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 ar(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!ir[e.type]:t===`textarea`}function or(e,t,n,r){Ve(r),t=ci(t,`onChange`),0<t.length&&(n=new Dn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var sr=null,cr=null;function lr(e){ei(e,0)}function ur(e){if(le(Ii(e)))return e}function dr(e,t){if(e===`change`)return t}var fr=!1;if(c){var pr;if(c){var mr=`oninput`in document;if(!mr){var hr=document.createElement(`div`);hr.setAttribute(`oninput`,`return;`),mr=typeof hr.oninput==`function`}pr=mr}else pr=!1;fr=pr&&(!document.documentMode||9<document.documentMode)}function gr(){sr&&(sr.detachEvent(`onpropertychange`,_r),cr=sr=null)}function _r(e){if(e.propertyName===`value`&&ur(cr)){var t=[];or(t,cr,e,Ie(e)),Ke(lr,t)}}function vr(e,t,n){e===`focusin`?(gr(),sr=t,cr=n,sr.attachEvent(`onpropertychange`,_r)):e===`focusout`&&gr()}function yr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return ur(cr)}function br(e,t){if(e===`click`)return ur(t)}function xr(e,t){if(e===`input`||e===`change`)return ur(t)}function Sr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Cr=typeof Object.is==`function`?Object.is:Sr;function wr(e,t){if(Cr(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)||!Cr(e[i],t[i]))return!1}return!0}function Tr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Er(e,t){var n=Tr(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=Tr(n)}}function Dr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Dr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Or(){for(var e=window,t=ue();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=ue(e.document)}return t}function kr(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 Ar(e){var t=Or(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Dr(n.ownerDocument.documentElement,n)){if(r!==null&&kr(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=Er(n,a);var o=Er(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 jr=c&&`documentMode`in document&&11>=document.documentMode,Mr=null,Nr=null,Pr=null,Fr=!1;function Ir(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Fr||Mr==null||Mr!==ue(r)||(r=Mr,`selectionStart`in r&&kr(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}),Pr&&wr(Pr,r)||(Pr=r,r=ci(Nr,`onSelect`),0<r.length&&(t=new Dn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Mr)))}function Lr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Rr={animationend:Lr(`Animation`,`AnimationEnd`),animationiteration:Lr(`Animation`,`AnimationIteration`),animationstart:Lr(`Animation`,`AnimationStart`),transitionend:Lr(`Transition`,`TransitionEnd`)},zr={},Br={};c&&(Br=document.createElement(`div`).style,`AnimationEvent`in window||(delete Rr.animationend.animation,delete Rr.animationiteration.animation,delete Rr.animationstart.animation),`TransitionEvent`in window||delete Rr.transitionend.transition);function Vr(e){if(zr[e])return zr[e];if(!Rr[e])return e;var t=Rr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Br)return zr[e]=t[n];return e}var Hr=Vr(`animationend`),Ur=Vr(`animationiteration`),Wr=Vr(`animationstart`),Gr=Vr(`transitionend`),Kr=new Map,qr=`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 Jr(e,t){Kr.set(e,t),o(t,[e])}for(var Yr=0;Yr<qr.length;Yr++){var Xr=qr[Yr];Jr(Xr.toLowerCase(),`on`+(Xr[0].toUpperCase()+Xr.slice(1)))}Jr(Hr,`onAnimationEnd`),Jr(Ur,`onAnimationIteration`),Jr(Wr,`onAnimationStart`),Jr(`dblclick`,`onDoubleClick`),Jr(`focusin`,`onFocus`),Jr(`focusout`,`onBlur`),Jr(Gr,`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 Zr=`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(` `),Qr=new Set(`cancel close invalid load scroll toggle`.split(` `).concat(Zr));function $r(e,t,n){var r=e.type||`unknown-event`;e.currentTarget=n,nt(r,t,void 0,e),e.currentTarget=null}function ei(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;$r(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;$r(i,s,l),a=c}}}if(Qe)throw e=$e,Qe=!1,$e=null,e}function ti(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`&&(Qr.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(vn(t)){case 1:var i=pn;break;case 4:i=mn;break;default:i=hn}n=i.bind(null,t,n,e),i=void 0,!Je||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}Ke(function(){var r=a,i=Ie(n),o=[];a:{var s=Kr.get(e);if(s!==void 0){var c=Dn,l=e;switch(e){case`keypress`:if(Cn(n)===0)break a;case`keydown`:case`keyup`:c=q;break;case`focusin`:l=`focus`,c=Pn;break;case`focusout`:l=`blur`,c=Pn;break;case`beforeblur`:case`afterblur`:c=Pn;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=G;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=Nn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=Un;break;case Hr:case Ur:case Wr:c=Fn;break;case Gr:c=Wn;break;case`scroll`:c=On;break;case`wheel`:c=Gn;break;case`copy`:case`cut`:case`paste`:c=In;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=Hn}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=qe(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!==Fe&&(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=rt(l),l!==d||l.tag!==5&&l.tag!==6)&&(l=null)):(c=null,l=r),c!==l)){if(u=G,h=`onMouseLeave`,f=`onMouseEnter`,p=`mouse`,(e===`pointerout`||e===`pointerover`)&&(u=Hn,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=dr;else if(ar(s))if(fr)g=xr;else{g=yr;var _=vr}else (c=s.nodeName)&&c.toLowerCase()===`input`&&(s.type===`checkbox`||s.type===`radio`)&&(g=br);if(g&&=g(e,r)){or(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`:(ar(_)||_.contentEditable===`true`)&&(Mr=_,Nr=r,Pr=null);break;case`focusout`:Pr=Nr=Mr=null;break;case`mousedown`:Fr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Fr=!1,Ir(o,n,i);break;case`selectionchange`:if(jr)break;case`keydown`:case`keyup`:Ir(o,n,i)}var v;if(qn)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 tr?$n(e,n)&&(y=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(y=`onCompositionStart`);y&&(Xn&&n.locale!==`ko`&&(tr||y!==`onCompositionStart`?y===`onCompositionEnd`&&tr&&(v=Sn()):(yn=i,bn=`value`in yn?yn.value:yn.textContent,tr=!0)),_=ci(r,y),0<_.length&&(y=new Ln(y,e,null,n,i),o.push({event:y,listeners:_}),v?y.data=v:(v=er(n),v!==null&&(y.data=v)))),(v=Yn?nr(e,n):rr(e,n))&&(r=ci(r,`onBeforeInput`),0<r.length&&(i=new Ln(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:i,listeners:r}),i.data=v))}ei(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=qe(e,n),a!=null&&r.unshift(si(e,a,i)),a=qe(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=qe(n,a),c!=null&&o.unshift(si(n,c,s))):i||(c=qe(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,`
6
6
  `).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),un(t);return}r--}else n!==`$`&&n!==`$?`&&n!==`$!`||r++;n=i}while(n);un(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 Vi(e){0>zi||(e.current=Ri[zi],Ri[zi]=null,zi--)}function Hi(e,t){zi++,Ri[zi]=e.current,e.current=t}var Ui={},Wi=Bi(Ui),Gi=Bi(!1),Ki=Ui;function qi(e,t){var n=e.type.contextTypes;if(!n)return Ui;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 Ji(e){return e=e.childContextTypes,e!=null}function Yi(){Vi(Gi),Vi(Wi)}function Xi(e,t,n){if(Wi.current!==Ui)throw Error(r(168));Hi(Wi,t),Hi(Gi,n)}function Zi(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,ie(e)||`Unknown`,a));return L({},n,i)}function Qi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ui,Ki=Wi.current,Hi(Wi,e),Hi(Gi,Gi.current),!0}function $i(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=Zi(e,t,Ki),i.__reactInternalMemoizedMergedChildContext=e,Vi(Gi),Vi(Wi),Hi(Wi,e)):Vi(Gi),Hi(Gi,n)}var ea=null,ta=!1,na=!1;function ra(e){ea===null?ea=[e]:ea.push(e)}function ia(e){ta=!0,ra(e)}function aa(){if(!na&&ea!==null){na=!0;var e=0,t=zt;try{var n=ea;for(zt=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}ea=null,ta=!1}catch(t){throw ea!==null&&(ea=ea.slice(e+1)),lt(ht,aa),t}finally{zt=t,na=!1}}return null}var oa=[],sa=0,ca=null,la=0,ua=[],da=0,fa=null,pa=1,ma=``;function ha(e,t){oa[sa++]=la,oa[sa++]=ca,ca=e,la=t}function ga(e,t,n){ua[da++]=pa,ua[da++]=ma,ua[da++]=fa,fa=e;var r=pa;e=ma;var i=32-Ct(r)-1;r&=~(1<<i),n+=1;var a=32-Ct(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,pa=1<<32-Ct(t)+i|n<<i|r,ma=a+e}else pa=1<<a|n<<i|r,ma=e}function _a(e){e.return!==null&&(ha(e,1),ga(e,1,0))}function va(e){for(;e===ca;)ca=oa[--sa],oa[sa]=null,la=oa[--sa],oa[sa]=null;for(;e===fa;)fa=ua[--da],ua[da]=null,ma=ua[--da],ua[da]=null,pa=ua[--da],ua[da]=null}var ya=null,ba=null,xa=!1,Sa=null;function Ca(e,t){var n=Zl(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 wa(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,ya=e,ba=Ti(t.firstChild),!0);case 6:return t=e.pendingProps===``||t.nodeType!==3?null:t,t===null?!1:(e.stateNode=t,ya=e,ba=null,!0);case 13:return t=t.nodeType===8?t:null,t===null?!1:(n=fa===null?null:{id:pa,overflow:ma},e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Zl(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,ya=e,ba=null,!0);default:return!1}}function Ta(e){return(e.mode&1)!=0&&(e.flags&128)==0}function Ea(e){if(xa){var t=ba;if(t){var n=t;if(!wa(e,t)){if(Ta(e))throw Error(r(418));t=Ti(n.nextSibling);var i=ya;t&&wa(e,t)?Ca(i,n):(e.flags=e.flags&-4097|2,xa=!1,ya=e)}}else{if(Ta(e))throw Error(r(418));e.flags=e.flags&-4097|2,xa=!1,ya=e}}}function Da(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ya=e}function Oa(e){if(e!==ya)return!1;if(!xa)return Da(e),xa=!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&&=ba){if(Ta(e))throw ka(),Error(r(418));for(;t;)Ca(e,t),t=Ti(t.nextSibling)}if(Da(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){ba=Ti(e.nextSibling);break a}t--}else n!==`$`&&n!==`$!`&&n!==`$?`||t++}e=e.nextSibling}ba=null}}else ba=ya?Ti(e.stateNode.nextSibling):null;return!0}function ka(){for(var e=ba;e;)e=Ti(e.nextSibling)}function Aa(){ba=ya=null,xa=!1}function ja(e){Sa===null?Sa=[e]:Sa.push(e)}var Ma=C.ReactCurrentBatchConfig;function Na(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 Pa(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e))}function Fa(e){var t=e._init;return t(e._payload)}function Ia(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=eu(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=iu(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===E?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===F&&Fa(i)===t.type)?(r=a(t,n.props),r.ref=Na(e,t,n),r.return=e,r):(r=tu(n.type,n.key,n.props,null,e.mode,r),r.ref=Na(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=au(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=nu(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=iu(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case w:return n=tu(t.type,t.key,t.props,null,e.mode,n),n.ref=Na(e,null,t),n.return=e,n;case T:return t=au(t,e.mode,n),t.return=e,t;case F:var r=t._init;return f(e,r(t._payload),n)}if(_e(t)||te(t))return t=nu(t,e.mode,n,null),t.return=e,t;Pa(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 w:return n.key===i?l(e,t,n,r):null;case T:return n.key===i?u(e,t,n,r):null;case F:return i=n._init,p(e,t,i(n._payload),r)}if(_e(n)||te(n))return i===null?d(e,t,n,r,null):null;Pa(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 w:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case T:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case F:var a=r._init;return m(e,t,n,a(r._payload),i)}if(_e(r)||te(r))return e=e.get(n)||null,d(t,e,r,i,null);Pa(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),xa&&ha(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 xa&&ha(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)}),xa&&ha(r,h),l}function g(a,s,c,l){var u=te(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),xa&&ha(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 xa&&ha(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)}),xa&&ha(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===E&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case w:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===E){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===F&&Fa(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=Na(e,l,i),r.return=e,e=r;break a}n(e,l);break}else t(e,l);l=l.sibling}i.type===E?(r=nu(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=tu(i.type,i.key,i.props,null,e.mode,o),o.ref=Na(e,r,i),o.return=e,e=o)}return s(e);case T: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=au(i,e.mode,o),r.return=e,e=r}return s(e);case F:return l=i._init,_(e,r,l(i._payload),o)}if(_e(i))return h(e,r,i,o);if(te(i))return g(e,r,i,o);Pa(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=iu(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var La=Ia(!0),Ra=Ia(!1),za=Bi(null),Ba=null,Va=null,Ha=null;function Ua(){Ha=Va=Ba=null}function Wa(e){var t=za.current;Vi(za),e._currentValue=t}function Ga(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 Ka(e,t){Ba=e,Ha=Va=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Is=!0),e.firstContext=null)}function qa(e){var t=e._currentValue;if(Ha!==e)if(e={context:e,memoizedValue:t,next:null},Va===null){if(Ba===null)throw Error(r(308));Va=e,Ba.dependencies={lanes:0,firstContext:e}}else Va=Va.next=e;return t}var Ja=null;function Ya(e){Ja===null?Ja=[e]:Ja.push(e)}function Xa(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Ya(t)):(n.next=i.next,i.next=n),t.interleaved=n,Za(e,r)}function Za(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 Qa=!1;function $a(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function eo(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 to(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function no(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Gc&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Za(e,n)}return i=r.interleaved,i===null?(t.next=t,Ya(r)):(t.next=i.next,i.next=t),r.interleaved=t,Za(e,n)}function ro(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,Rt(e,n)}}function io(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 ao(e,t,n,r){var i=e.updateQueue;Qa=!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=L({},d,f);break a;case 2:Qa=!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);$c|=o,e.lanes=o,e.memoizedState=d}}function oo(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 so={},co=Bi(so),lo=Bi(so),uo=Bi(so);function fo(e){if(e===so)throw Error(r(174));return e}function po(e,t){switch(Hi(uo,t),Hi(lo,e),Hi(co,so),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:we(null,``);break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=we(t,e)}Vi(co),Hi(co,t)}function mo(){Vi(co),Vi(lo),Vi(uo)}function ho(e){fo(uo.current);var t=fo(co.current),n=we(t,e.type);t!==n&&(Hi(lo,e),Hi(co,n))}function go(e){lo.current===e&&(Vi(co),Vi(lo))}var _o=Bi(0);function vo(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 yo=[];function bo(){for(var e=0;e<yo.length;e++)yo[e]._workInProgressVersionPrimary=null;yo.length=0}var xo=C.ReactCurrentDispatcher,So=C.ReactCurrentBatchConfig,Co=0,wo=null,To=null,Eo=null,Do=!1,Oo=!1,ko=0,Ao=0;function jo(){throw Error(r(321))}function Mo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Cr(e[n],t[n]))return!1;return!0}function No(e,t,n,i,a,o){if(Co=o,wo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,xo.current=e===null||e.memoizedState===null?gs:_s,e=n(i,a),Oo){o=0;do{if(Oo=!1,ko=0,25<=o)throw Error(r(301));o+=1,Eo=To=null,t.updateQueue=null,xo.current=vs,e=n(i,a)}while(Oo)}if(xo.current=hs,t=To!==null&&To.next!==null,Co=0,Eo=To=wo=null,Do=!1,t)throw Error(r(300));return e}function Po(){var e=ko!==0;return ko=0,e}function Fo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Eo===null?wo.memoizedState=Eo=e:Eo=Eo.next=e,Eo}function Io(){if(To===null){var e=wo.alternate;e=e===null?null:e.memoizedState}else e=To.next;var t=Eo===null?wo.memoizedState:Eo.next;if(t!==null)Eo=t,To=e;else{if(e===null)throw Error(r(310));To=e,e={memoizedState:To.memoizedState,baseState:To.baseState,baseQueue:To.baseQueue,queue:To.queue,next:null},Eo===null?wo.memoizedState=Eo=e:Eo=Eo.next=e}return Eo}function Lo(e,t){return typeof t==`function`?t(e):t}function Ro(e){var t=Io(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=To,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((Co&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,wo.lanes|=d,$c|=d}u=u.next}while(u!==null&&u!==o);l===null?s=i:l.next=c,Cr(i,t.memoizedState)||(Is=!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,wo.lanes|=o,$c|=o,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function zo(e){var t=Io(),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);Cr(o,t.memoizedState)||(Is=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,i]}function Bo(){}function Vo(e,t){var n=wo,i=Io(),a=t(),o=!Cr(i.memoizedState,a);if(o&&(i.memoizedState=a,Is=!0),i=i.queue,$o(Wo.bind(null,n,i,e),[e]),i.getSnapshot!==t||o||Eo!==null&&Eo.memoizedState.tag&1){if(n.flags|=2048,Jo(9,Uo.bind(null,n,i,a,t),void 0,null),Kc===null)throw Error(r(349));Co&30||Ho(n,t,a)}return a}function Ho(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=wo.updateQueue,t===null?(t={lastEffect:null,stores:null},wo.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Uo(e,t,n,r){t.value=n,t.getSnapshot=r,Go(t)&&Ko(e)}function Wo(e,t,n){return n(function(){Go(t)&&Ko(e)})}function Go(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Cr(e,n)}catch{return!0}}function Ko(e){var t=Za(e,1);t!==null&&yl(t,e,1,-1)}function qo(e){var t=Fo();return typeof e==`function`&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:e},t.queue=e,e=e.dispatch=ds.bind(null,wo,e),[t.memoizedState,e]}function Jo(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=wo.updateQueue,t===null?(t={lastEffect:null,stores:null},wo.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 Yo(){return Io().memoizedState}function Xo(e,t,n,r){var i=Fo();wo.flags|=e,i.memoizedState=Jo(1|t,n,void 0,r===void 0?null:r)}function Zo(e,t,n,r){var i=Io();r=r===void 0?null:r;var a=void 0;if(To!==null){var o=To.memoizedState;if(a=o.destroy,r!==null&&Mo(r,o.deps)){i.memoizedState=Jo(t,n,a,r);return}}wo.flags|=e,i.memoizedState=Jo(1|t,n,a,r)}function Qo(e,t){return Xo(8390656,8,e,t)}function $o(e,t){return Zo(2048,8,e,t)}function es(e,t){return Zo(4,2,e,t)}function ts(e,t){return Zo(4,4,e,t)}function ns(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 rs(e,t,n){return n=n==null?null:n.concat([e]),Zo(4,4,ns.bind(null,t,e),n)}function is(){}function as(e,t){var n=Io();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Mo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function os(e,t){var n=Io();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Mo(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ss(e,t,n){return Co&21?(Cr(n,t)||(n=Pt(),wo.lanes|=n,$c|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Is=!0),e.memoizedState=n)}function cs(e,t){var n=zt;zt=n!==0&&4>n?n:4,e(!0);var r=So.transition;So.transition={};try{e(!1),t()}finally{zt=n,So.transition=r}}function ls(){return Io().memoizedState}function us(e,t,n){var r=vl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},fs(e))ps(t,n);else if(n=Xa(e,t,n,r),n!==null){var i=_l();yl(n,e,r,i),ms(n,t,r)}}function ds(e,t,n){var r=vl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(fs(e))ps(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,Cr(s,o)){var c=t.interleaved;c===null?(i.next=i,Ya(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=Xa(e,t,i,r),n!==null&&(i=_l(),yl(n,e,r,i),ms(n,t,r))}}function fs(e){var t=e.alternate;return e===wo||t!==null&&t===wo}function ps(e,t){Oo=Do=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ms(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Rt(e,n)}}var hs={readContext:qa,useCallback:jo,useContext:jo,useEffect:jo,useImperativeHandle:jo,useInsertionEffect:jo,useLayoutEffect:jo,useMemo:jo,useReducer:jo,useRef:jo,useState:jo,useDebugValue:jo,useDeferredValue:jo,useTransition:jo,useMutableSource:jo,useSyncExternalStore:jo,useId:jo,unstable_isNewReconciler:!1},gs={readContext:qa,useCallback:function(e,t){return Fo().memoizedState=[e,t===void 0?null:t],e},useContext:qa,useEffect:Qo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),Xo(4194308,4,ns.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Xo(4194308,4,e,t)},useInsertionEffect:function(e,t){return Xo(4,2,e,t)},useMemo:function(e,t){var n=Fo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Fo();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=us.bind(null,wo,e),[r.memoizedState,e]},useRef:function(e){var t=Fo();return e={current:e},t.memoizedState=e},useState:qo,useDebugValue:is,useDeferredValue:function(e){return Fo().memoizedState=e},useTransition:function(){var e=qo(!1),t=e[0];return e=cs.bind(null,e[1]),Fo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=wo,a=Fo();if(xa){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Kc===null)throw Error(r(349));Co&30||Ho(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Qo(Wo.bind(null,i,o,e),[e]),i.flags|=2048,Jo(9,Uo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=Fo(),t=Kc.identifierPrefix;if(xa){var n=ma,r=pa;n=(r&~(1<<32-Ct(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=ko++,0<n&&(t+=`H`+n.toString(32)),t+=`:`}else n=Ao++,t=`:`+t+`r`+n.toString(32)+`:`;return e.memoizedState=t},unstable_isNewReconciler:!1},_s={readContext:qa,useCallback:as,useContext:qa,useEffect:$o,useImperativeHandle:rs,useInsertionEffect:es,useLayoutEffect:ts,useMemo:os,useReducer:Ro,useRef:Yo,useState:function(){return Ro(Lo)},useDebugValue:is,useDeferredValue:function(e){return ss(Io(),To.memoizedState,e)},useTransition:function(){return[Ro(Lo)[0],Io().memoizedState]},useMutableSource:Bo,useSyncExternalStore:Vo,useId:ls,unstable_isNewReconciler:!1},vs={readContext:qa,useCallback:as,useContext:qa,useEffect:$o,useImperativeHandle:rs,useInsertionEffect:es,useLayoutEffect:ts,useMemo:os,useReducer:zo,useRef:Yo,useState:function(){return zo(Lo)},useDebugValue:is,useDeferredValue:function(e){var t=Io();return To===null?t.memoizedState=e:ss(t,To.memoizedState,e)},useTransition:function(){return[zo(Lo)[0],Io().memoizedState]},useMutableSource:Bo,useSyncExternalStore:Vo,useId:ls,unstable_isNewReconciler:!1};function ys(e,t){if(e&&e.defaultProps){for(var n in t=L({},t),e=e.defaultProps,e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function bs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:L({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var xs={isMounted:function(e){return(e=e._reactInternals)?rt(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=_l(),i=vl(e),a=to(r,i);a.payload=t,n!=null&&(a.callback=n),t=no(e,a,i),t!==null&&(yl(t,e,i,r),ro(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=_l(),i=vl(e),a=to(r,i);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=no(e,a,i),t!==null&&(yl(t,e,i,r),ro(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=_l(),r=vl(e),i=to(n,r);i.tag=2,t!=null&&(i.callback=t),t=no(e,i,r),t!==null&&(yl(t,e,r,n),ro(t,e,r))}};function Ss(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?!wr(n,r)||!wr(i,a):!0}function Cs(e,t,n){var r=!1,i=Ui,a=t.contextType;return typeof a==`object`&&a?a=qa(a):(i=Ji(t)?Ki:Wi.current,r=t.contextTypes,a=(r=r!=null)?qi(e,i):Ui),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=xs,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function ws(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&&xs.enqueueReplaceState(t,t.state,null)}function Ts(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},$a(e);var a=t.contextType;typeof a==`object`&&a?i.context=qa(a):(a=Ji(t)?Ki:Wi.current,i.context=qi(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a==`function`&&(bs(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&&xs.enqueueReplaceState(i,i.state,null),ao(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount==`function`&&(e.flags|=4194308)}function Es(e,t){try{var n=``,r=t;do n+=B(r),r=r.return;while(r);var i=n}catch(e){i=`
7
7
  Error generating stack: `+e.message+`
8
- `+e.stack}return{value:e,source:t,stack:i,digest:null}}function Ds(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Os(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var ks=typeof WeakMap==`function`?WeakMap:Map;function As(e,t,n){n=to(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){sl||(sl=!0,cl=r),Os(e,t)},n}function js(e,t,n){n=to(-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(){Os(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch==`function`&&(n.callback=function(){Os(e,t),typeof r!=`function`&&(ll===null?ll=new Set([this]):ll.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:n===null?``:n})}),n}function Ms(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new ks;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=Wl.bind(null,e,t,n),t.then(e,e))}function Ns(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 Ps(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=to(-1,1),t.tag=2,no(n,t,1))),n.lanes|=1),e)}var Fs=C.ReactCurrentOwner,Is=!1;function Ls(e,t,n,r){t.child=e===null?Ra(t,null,n,r):La(t,e.child,n,r)}function Rs(e,t,n,r,i){n=n.render;var a=t.ref;return Ka(t,i),r=No(e,t,n,r,a,i),n=Po(),e!==null&&!Is?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,ic(e,t,i)):(xa&&n&&_a(t),t.flags|=1,Ls(e,t,r,i),t.child)}function zs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Ql(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Bs(e,t,a,r,i)):(e=tu(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?wr:n,n(o,r)&&e.ref===t.ref)return ic(e,t,i)}return t.flags|=1,e=eu(a,r),e.ref=t.ref,e.return=t,t.child=e}function Bs(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(wr(a,r)&&e.ref===t.ref)if(Is=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Is=!0);else return t.lanes=e.lanes,ic(e,t,i)}return Us(e,t,n,r,i)}function Vs(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},Hi(Xc,Yc),Yc|=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,Hi(Xc,Yc),Yc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a===null?n:a.baseLanes,Hi(Xc,Yc),Yc|=r}else a===null?r=n:(r=a.baseLanes|n,t.memoizedState=null),Hi(Xc,Yc),Yc|=r;return Ls(e,t,i,n),t.child}function Hs(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Us(e,t,n,r,i){var a=Ji(n)?Ki:Wi.current;return a=qi(t,a),Ka(t,i),n=No(e,t,n,r,a,i),r=Po(),e!==null&&!Is?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,ic(e,t,i)):(xa&&r&&_a(t),t.flags|=1,Ls(e,t,n,i),t.child)}function Ws(e,t,n,r,i){if(Ji(n)){var a=!0;Qi(t)}else a=!1;if(Ka(t,i),t.stateNode===null)rc(e,t),Cs(t,n,r),Ts(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=qa(l):(l=Ji(n)?Ki:Wi.current,l=qi(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)&&ws(t,o,r,l),Qa=!1;var f=t.memoizedState;o.state=f,ao(t,r,o,i),c=t.memoizedState,s!==r||f!==c||Gi.current||Qa?(typeof u==`function`&&(bs(t,n,u,r),c=t.memoizedState),(s=Qa||Ss(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,eo(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:ys(t.type,s),o.props=l,d=t.pendingProps,f=o.context,c=n.contextType,typeof c==`object`&&c?c=qa(c):(c=Ji(n)?Ki:Wi.current,c=qi(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)&&ws(t,o,r,c),Qa=!1,f=t.memoizedState,o.state=f,ao(t,r,o,i);var m=t.memoizedState;s!==d||f!==m||Gi.current||Qa?(typeof p==`function`&&(bs(t,n,p,r),m=t.memoizedState),(l=Qa||Ss(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 Gs(e,t,n,r,a,i)}function Gs(e,t,n,r,i,a){Hs(e,t);var o=(t.flags&128)!=0;if(!r&&!o)return i&&$i(t,n,!1),ic(e,t,a);r=t.stateNode,Fs.current=t;var s=o&&typeof n.getDerivedStateFromError!=`function`?null:r.render();return t.flags|=1,e!==null&&o?(t.child=La(t,e.child,null,a),t.child=La(t,null,s,a)):Ls(e,t,s,a),t.memoizedState=r.state,i&&$i(t,n,!0),t.child}function Ks(e){var t=e.stateNode;t.pendingContext?Xi(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Xi(e,t.context,!1),po(e,t.containerInfo)}function qs(e,t,n,r,i){return Aa(),ja(i),t.flags|=256,Ls(e,t,n,r),t.child}var Js={dehydrated:null,treeContext:null,retryLane:0};function Ys(e){return{baseLanes:e,cachePool:null,transitions:null}}function Xs(e,t,n){var r=t.pendingProps,i=_o.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),Hi(_o,i&1),e===null)return Ea(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=ru(o,r,0,null),e=nu(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Ys(n),t.memoizedState=Js,e):Zs(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return $s(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=eu(i,c),r.subtreeFlags=i.subtreeFlags&14680064),s===null?(a=nu(a,o,n,null),a.flags|=2):a=eu(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?Ys(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Js,r}return a=e.child,e=a.sibling,r=eu(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 Zs(e,t){return t=ru({mode:`visible`,children:t},e.mode,0,null),t.return=e,e.child=t}function Qs(e,t,n,r){return r!==null&&ja(r),La(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function $s(e,t,n,i,a,o,s){if(n)return t.flags&256?(t.flags&=-257,i=Ds(Error(r(422))),Qs(e,t,s,i)):t.memoizedState===null?(o=i.fallback,a=t.mode,i=ru({mode:`visible`,children:i.children},a,0,null),o=nu(o,a,s,null),o.flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,t.mode&1&&La(t,e.child,null,s),t.child.memoizedState=Ys(s),t.memoizedState=Js,o):(t.child=e.child,t.flags|=128,null);if(!(t.mode&1))return Qs(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=Ds(o,i,void 0),Qs(e,t,s,i)}if(c=(s&e.childLanes)!==0,Is||c){if(i=Kc,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,Za(e,a),yl(i,e,a,-1))}return Nl(),i=Ds(Error(r(421))),Qs(e,t,s,i)}return a.data===`$?`?(t.flags|=128,t.child=e.child,t=Kl.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,ba=Ti(a.nextSibling),ya=t,xa=!0,Sa=null,e!==null&&(ua[da++]=pa,ua[da++]=ma,ua[da++]=fa,pa=e.id,ma=e.overflow,fa=t),t=Zs(t,i.children),t.flags|=4096,t)}function ec(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ga(e.return,t,n)}function tc(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 nc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Ls(e,t,r.children,n),r=_o.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&&ec(e,n,t);else if(e.tag===19)ec(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(Hi(_o,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&&vo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),tc(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&&vo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}tc(t,!0,n,null,a);break;case`together`:tc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function rc(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ic(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),$c|=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=eu(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=eu(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function ac(e,t,n){switch(t.tag){case 3:Ks(t),Aa();break;case 5:ho(t);break;case 1:Ji(t.type)&&Qi(t);break;case 4:po(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Hi(za,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Hi(_o,_o.current&1),e=ic(e,t,n),e===null?null:e.sibling):Xs(e,t,n):(Hi(_o,_o.current&1),t.flags|=128,null);Hi(_o,_o.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return nc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Hi(_o,_o.current),r)break;return null;case 22:case 23:return t.lanes=0,Vs(e,t,n)}return ic(e,t,n)}var oc=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}},sc=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,fo(co.current);var o=null;switch(n){case`input`:i=de(e,i),r=de(e,r),o=[];break;case`select`:i=L({},i,{value:void 0}),r=L({},r,{value:void 0}),o=[];break;case`textarea`:i=ye(e,i),r=ye(e,r),o=[];break;default:typeof i.onClick!=`function`&&typeof r.onClick==`function`&&(e.onclick=hi)}Ne(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`&&ti(`scroll`,e),o||c===l||(o=[])):(o||=[]).push(u,l))}n&&(o||=[]).push(`style`,n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},cc=function(e,t,n,r){n!==r&&(t.flags|=4)};function lc(e,t){if(!xa)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 uc(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 dc(e,t,n){var i=t.pendingProps;switch(va(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return uc(t),null;case 1:return Ji(t.type)&&Yi(),uc(t),null;case 3:return i=t.stateNode,mo(),Vi(Gi),Vi(Wi),bo(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Oa(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Sa!==null&&(Cl(Sa),Sa=null))),uc(t),null;case 5:go(t);var o=fo(uo.current);if(n=t.type,e!==null&&t.stateNode!=null)sc(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 uc(t),null}if(e=fo(co.current),Oa(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`:ti(`cancel`,i),ti(`close`,i);break;case`iframe`:case`object`:case`embed`:ti(`load`,i);break;case`video`:case`audio`:for(o=0;o<Zr.length;o++)ti(Zr[o],i);break;case`source`:ti(`error`,i);break;case`img`:case`image`:case`link`:ti(`error`,i),ti(`load`,i);break;case`details`:ti(`toggle`,i);break;case`input`:fe(i,s),ti(`invalid`,i);break;case`select`:i._wrapperState={wasMultiple:!!s.multiple},ti(`invalid`,i);break;case`textarea`:be(i,s),ti(`invalid`,i)}for(var c in Ne(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`&&ti(`scroll`,i)}switch(n){case`input`:ce(i),he(i,s,!0);break;case`textarea`:ce(i),Se(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=Ce(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,oc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Pe(n,i),n){case`dialog`:ti(`cancel`,e),ti(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:ti(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;o<Zr.length;o++)ti(Zr[o],e);o=i;break;case`source`:ti(`error`,e),o=i;break;case`img`:case`image`:case`link`:ti(`error`,e),ti(`load`,e),o=i;break;case`details`:ti(`toggle`,e),o=i;break;case`input`:fe(e,i),o=de(e,i),ti(`invalid`,e);break;case`option`:o=i;break;case`select`:e._wrapperState={wasMultiple:!!i.multiple},o=L({},i,{value:void 0}),ti(`invalid`,e);break;case`textarea`:be(e,i),o=ye(e,i),ti(`invalid`,e);break;default:o=i}for(s in Ne(n,o),l=o,l)if(l.hasOwnProperty(s)){var u=l[s];s===`style`?je(e,u):s===`dangerouslySetInnerHTML`?(u=u?u.__html:void 0,u!=null&&Ee(e,u)):s===`children`?typeof u==`string`?(n!==`textarea`||u!==``)&&De(e,u):typeof u==`number`&&De(e,``+u):s!==`suppressContentEditableWarning`&&s!==`suppressHydrationWarning`&&s!==`autoFocus`&&(a.hasOwnProperty(s)?u!=null&&s===`onScroll`&&ti(`scroll`,e):u!=null&&S(e,s,u,c))}switch(n){case`input`:ce(e),he(e,i,!1);break;case`textarea`:ce(e),Se(e);break;case`option`:i.value!=null&&e.setAttribute(`value`,``+ae(i.value));break;case`select`:e.multiple=!!i.multiple,s=i.value,s==null?i.defaultValue!=null&&ve(e,!!i.multiple,i.defaultValue,!0):ve(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 uc(t),null;case 6:if(e&&t.stateNode!=null)cc(e,t,e.memoizedProps,i);else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(n=fo(uo.current),fo(co.current),Oa(t)){if(i=t.stateNode,n=t.memoizedProps,i[Oi]=t,(s=i.nodeValue!==n)&&(e=ya,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 uc(t),null;case 13:if(Vi(_o),i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(xa&&ba!==null&&t.mode&1&&!(t.flags&128))ka(),Aa(),t.flags|=98560,s=!1;else if(s=Oa(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 Aa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;uc(t),s=!1}else Sa!==null&&(Cl(Sa),Sa=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||_o.current&1?Zc===0&&(Zc=3):Nl())),t.updateQueue!==null&&(t.flags|=4),uc(t),null);case 4:return mo(),e===null&&ii(t.stateNode.containerInfo),uc(t),null;case 10:return Wa(t.type._context),uc(t),null;case 17:return Ji(t.type)&&Yi(),uc(t),null;case 19:if(Vi(_o),s=t.memoizedState,s===null)return uc(t),null;if(i=(t.flags&128)!=0,c=s.rendering,c===null)if(i)lc(s,!1);else{if(Zc!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(c=vo(e),c!==null){for(t.flags|=128,lc(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 Hi(_o,_o.current&1|2),t.child}e=e.sibling}s.tail!==null&&pt()>al&&(t.flags|=128,i=!0,lc(s,!1),t.lanes=4194304)}else{if(!i)if(e=vo(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),lc(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!xa)return uc(t),null}else 2*pt()-s.renderingStartTime>al&&n!==1073741824&&(t.flags|=128,i=!0,lc(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?(uc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=pt(),t.sibling=null,n=_o.current,Hi(_o,i?n&1|2:n&1),t);case 22:case 23:return kl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Yc&1073741824&&(uc(t),t.subtreeFlags&6&&(t.flags|=8192)):uc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function fc(e,t){switch(va(t),t.tag){case 1:return Ji(t.type)&&Yi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return mo(),Vi(Gi),Vi(Wi),bo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return go(t),null;case 13:if(Vi(_o),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Aa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Vi(_o),null;case 4:return mo(),null;case 10:return Wa(t.type._context),null;case 22:case 23:return kl(),null;case 24:return null;default:return null}}var pc=!1,mc=!1,hc=typeof WeakSet==`function`?WeakSet:Set,J=null;function gc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){Ul(e,t,n)}else n.current=null}function _c(e,t,n){try{n()}catch(n){Ul(e,t,n)}}var vc=!1;function yc(e,t){if(gi=fn,e=Or(),kr(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},fn=!1,J=t;J!==null;)if(t=J,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,J=e;else for(;J!==null;){t=J;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:ys(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){Ul(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,J=e;break}J=t.return}return h=vc,vc=!1,h}function bc(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&&_c(t,n,a)}i=i.next}while(i!==r)}}function xc(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 Sc(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 Cc(e){var t=e.alternate;t!==null&&(e.alternate=null,Cc(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 wc(e){return e.tag===5||e.tag===3||e.tag===4}function Tc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||wc(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 Ec(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(Ec(e,t,n),e=e.sibling;e!==null;)Ec(e,t,n),e=e.sibling}function Dc(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(Dc(e,t,n),e=e.sibling;e!==null;)Dc(e,t,n),e=e.sibling}var Oc=null,kc=!1;function Ac(e,t,n){for(n=n.child;n!==null;)jc(e,t,n),n=n.sibling}function jc(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount==`function`)try{xt.onCommitFiberUnmount(bt,n)}catch{}switch(n.tag){case 5:mc||gc(n,t);case 6:var r=Oc,i=kc;Oc=null,Ac(e,t,n),Oc=r,kc=i,Oc!==null&&(kc?(e=Oc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Oc.removeChild(n.stateNode));break;case 18:Oc!==null&&(kc?(e=Oc,n=n.stateNode,e.nodeType===8?wi(e.parentNode,n):e.nodeType===1&&wi(e,n),un(e)):wi(Oc,n.stateNode));break;case 4:r=Oc,i=kc,Oc=n.stateNode.containerInfo,kc=!0,Ac(e,t,n),Oc=r,kc=i;break;case 0:case 11:case 14:case 15:if(!mc&&(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)&&_c(n,t,o),i=i.next}while(i!==r)}Ac(e,t,n);break;case 1:if(!mc&&(gc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Ul(n,t,e)}Ac(e,t,n);break;case 21:Ac(e,t,n);break;case 22:n.mode&1?(mc=(r=mc)||n.memoizedState!==null,Ac(e,t,n),mc=r):Ac(e,t,n);break;default:Ac(e,t,n)}}function Mc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new hc),t.forEach(function(t){var r=ql.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Nc(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:Oc=c.stateNode,kc=!1;break a;case 3:Oc=c.stateNode.containerInfo,kc=!0;break a;case 4:Oc=c.stateNode.containerInfo,kc=!0;break a}c=c.return}if(Oc===null)throw Error(r(160));jc(o,s,a),Oc=null,kc=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(e){Ul(a,t,e)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Pc(t,e),t=t.sibling}function Pc(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Nc(t,e),Fc(e),i&4){try{bc(3,e,e.return),xc(3,e)}catch(t){Ul(e,e.return,t)}try{bc(5,e,e.return)}catch(t){Ul(e,e.return,t)}}break;case 1:Nc(t,e),Fc(e),i&512&&n!==null&&gc(n,n.return);break;case 5:if(Nc(t,e),Fc(e),i&512&&n!==null&&gc(n,n.return),e.flags&32){var a=e.stateNode;try{De(a,``)}catch(t){Ul(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),Pe(c,s);var u=Pe(c,o);for(s=0;s<l.length;s+=2){var d=l[s],f=l[s+1];d===`style`?je(a,f):d===`dangerouslySetInnerHTML`?Ee(a,f):d===`children`?De(a,f):S(a,d,f,u)}switch(c){case`input`:me(a,o);break;case`textarea`:xe(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?ve(a,!!o.multiple,o.multiple?[]:``,!1):ve(a,!!o.multiple,o.defaultValue,!0)):ve(a,!!o.multiple,m,!1)}a[ki]=o}catch(t){Ul(e,e.return,t)}}break;case 6:if(Nc(t,e),Fc(e),i&4){if(e.stateNode===null)throw Error(r(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(t){Ul(e,e.return,t)}}break;case 3:if(Nc(t,e),Fc(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{un(t.containerInfo)}catch(t){Ul(e,e.return,t)}break;case 4:Nc(t,e),Fc(e);break;case 13:Nc(t,e),Fc(e),a=e.child,a.flags&8192&&(o=a.memoizedState!==null,a.stateNode.isHidden=o,!o||a.alternate!==null&&a.alternate.memoizedState!==null||(il=pt())),i&4&&Mc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(mc=(u=mc)||d,Nc(t,e),mc=u):Nc(t,e),Fc(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(J=e,d=e.child;d!==null;){for(f=J=d;J!==null;){switch(p=J,m=p.child,p.tag){case 0:case 11:case 14:case 15:bc(4,p,p.return);break;case 1:gc(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){Ul(i,n,e)}}break;case 5:gc(p,p.return);break;case 22:if(p.memoizedState!==null){zc(f);continue}}m===null?zc(f):(m.return=p,J=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=Ae(`display`,s))}catch(t){Ul(e,e.return,t)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?``:f.memoizedProps}catch(t){Ul(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:Nc(t,e),Fc(e),i&4&&Mc(e);break;case 21:break;default:Nc(t,e),Fc(e)}}function Fc(e){var t=e.flags;if(t&2){try{a:{for(var n=e.return;n!==null;){if(wc(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&&(De(a,``),i.flags&=-33),Dc(e,Tc(e),a);break;case 3:case 4:var o=i.stateNode.containerInfo;Ec(e,Tc(e),o);break;default:throw Error(r(161))}}catch(t){Ul(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Ic(e,t,n){J=e,Lc(e,t,n)}function Lc(e,t,n){for(var r=(e.mode&1)!=0;J!==null;){var i=J,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||pc;if(!o){var s=i.alternate,c=s!==null&&s.memoizedState!==null||mc;s=pc;var l=mc;if(pc=o,(mc=c)&&!l)for(J=i;J!==null;)o=J,c=o.child,o.tag===22&&o.memoizedState!==null||c===null?Bc(i):(c.return=o,J=c);for(;a!==null;)J=a,Lc(a,t,n),a=a.sibling;J=i,pc=s,mc=l}Rc(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,J=a):Rc(e,t,n)}}function Rc(e){for(;J!==null;){var t=J;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:mc||xc(5,t);break;case 1:var i=t.stateNode;if(t.flags&4&&!mc)if(n===null)i.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:ys(t.type,n.memoizedProps);i.componentDidUpdate(a,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&oo(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}oo(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&&un(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}mc||t.flags&512&&Sc(t)}catch(e){Ul(t,t.return,e)}}if(t===e){J=null;break}if(n=t.sibling,n!==null){n.return=t.return,J=n;break}J=t.return}}function zc(e){for(;J!==null;){var t=J;if(t===e){J=null;break}var n=t.sibling;if(n!==null){n.return=t.return,J=n;break}J=t.return}}function Bc(e){for(;J!==null;){var t=J;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{xc(4,t)}catch(e){Ul(t,n,e)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==`function`){var i=t.return;try{r.componentDidMount()}catch(e){Ul(t,i,e)}}var a=t.return;try{Sc(t)}catch(e){Ul(t,a,e)}break;case 5:var o=t.return;try{Sc(t)}catch(e){Ul(t,o,e)}}}catch(e){Ul(t,t.return,e)}if(t===e){J=null;break}var s=t.sibling;if(s!==null){s.return=t.return,J=s;break}J=t.return}}var Vc=Math.ceil,Hc=C.ReactCurrentDispatcher,Uc=C.ReactCurrentOwner,Wc=C.ReactCurrentBatchConfig,Gc=0,Kc=null,qc=null,Jc=0,Yc=0,Xc=Bi(0),Zc=0,Qc=null,$c=0,el=0,tl=0,nl=null,rl=null,il=0,al=1/0,ol=null,sl=!1,cl=null,ll=null,ul=!1,dl=null,fl=0,pl=0,ml=null,hl=-1,gl=0;function _l(){return Gc&6?pt():hl===-1?hl=pt():hl}function vl(e){return e.mode&1?Gc&2&&Jc!==0?Jc&-Jc:Ma.transition===null?(e=zt,e===0?(e=window.event,e=e===void 0?16:vn(e.type),e):e):(gl===0&&(gl=Pt()),gl):1}function yl(e,t,n,i){if(50<pl)throw pl=0,ml=null,Error(r(185));It(e,n,i),(!(Gc&2)||e!==Kc)&&(e===Kc&&(!(Gc&2)&&(el|=n),Zc===4&&Tl(e,Jc)),bl(e,i),n===1&&Gc===0&&!(t.mode&1)&&(al=pt()+500,ta&&aa()))}function bl(e,t){var n=e.callbackNode;Mt(e,t);var r=At(e,e===Kc?Jc:0);if(r===0)n!==null&&ut(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&ut(n),t===1)e.tag===0?ia(El.bind(null,e)):ra(El.bind(null,e)),Si(function(){!(Gc&6)&&aa()}),n=null;else{switch(Bt(r)){case 1:n=ht;break;case 4:n=gt;break;case 16:n=_t;break;case 536870912:n=yt;break;default:n=_t}n=Yl(n,xl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function xl(e,t){if(hl=-1,gl=0,Gc&6)throw Error(r(327));var n=e.callbackNode;if(Vl()&&e.callbackNode!==n)return null;var i=At(e,e===Kc?Jc:0);if(i===0)return null;if(i&30||(i&e.expiredLanes)!==0||t)t=Pl(e,i);else{t=i;var a=Gc;Gc|=2;var o=Ml();(Kc!==e||Jc!==t)&&(ol=null,al=pt()+500,Al(e,t));do try{Il();break}catch(t){jl(e,t)}while(1);Ua(),Hc.current=o,Gc=a,qc===null?(Kc=null,Jc=0,t=Zc):t=0}if(t!==0){if(t===2&&(a=Nt(e),a!==0&&(i=a,t=Sl(e,a))),t===1)throw n=Qc,Al(e,0),Tl(e,i),bl(e,pt()),n;if(t===6)Tl(e,i);else{if(a=e.current.alternate,!(i&30)&&!wl(a)&&(t=Pl(e,i),t===2&&(o=Nt(e),o!==0&&(i=o,t=Sl(e,o))),t===1))throw n=Qc,Al(e,0),Tl(e,i),bl(e,pt()),n;switch(e.finishedWork=a,e.finishedLanes=i,t){case 0:case 1:throw Error(r(345));case 2:zl(e,rl,ol);break;case 3:if(Tl(e,i),(i&130023424)===i&&(t=il+500-pt(),10<t)){if(At(e,0)!==0)break;if(a=e.suspendedLanes,(a&i)!==i){_l(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=yi(zl.bind(null,e,rl,ol),t);break}zl(e,rl,ol);break;case 4:if(Tl(e,i),(i&4194240)===i)break;for(t=e.eventTimes,a=-1;0<i;){var s=31-Ct(i);o=1<<s,s=t[s],s>a&&(a=s),i&=~o}if(i=a,i=pt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Vc(i/1960))-i,10<i){e.timeoutHandle=yi(zl.bind(null,e,rl,ol),i);break}zl(e,rl,ol);break;case 5:zl(e,rl,ol);break;default:throw Error(r(329))}}}return bl(e,pt()),e.callbackNode===n?xl.bind(null,e):null}function Sl(e,t){var n=nl;return e.current.memoizedState.isDehydrated&&(Al(e,t).flags|=256),e=Pl(e,t),e!==2&&(t=rl,rl=n,t!==null&&Cl(t)),e}function Cl(e){rl===null?rl=e:rl.push.apply(rl,e)}function wl(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(!Cr(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 Tl(e,t){for(t&=~tl,t&=~el,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ct(t),r=1<<n;e[n]=-1,t&=~r}}function El(e){if(Gc&6)throw Error(r(327));Vl();var t=At(e,0);if(!(t&1))return bl(e,pt()),null;var n=Pl(e,t);if(e.tag!==0&&n===2){var i=Nt(e);i!==0&&(t=i,n=Sl(e,i))}if(n===1)throw n=Qc,Al(e,0),Tl(e,t),bl(e,pt()),n;if(n===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,zl(e,rl,ol),bl(e,pt()),null}function Dl(e,t){var n=Gc;Gc|=1;try{return e(t)}finally{Gc=n,Gc===0&&(al=pt()+500,ta&&aa())}}function Ol(e){dl!==null&&dl.tag===0&&!(Gc&6)&&Vl();var t=Gc;Gc|=1;var n=Wc.transition,r=zt;try{if(Wc.transition=null,zt=1,e)return e()}finally{zt=r,Wc.transition=n,Gc=t,!(Gc&6)&&aa()}}function kl(){Yc=Xc.current,Vi(Xc)}function Al(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,bi(n)),qc!==null)for(n=qc.return;n!==null;){var r=n;switch(va(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Yi();break;case 3:mo(),Vi(Gi),Vi(Wi),bo();break;case 5:go(r);break;case 4:mo();break;case 13:Vi(_o);break;case 19:Vi(_o);break;case 10:Wa(r.type._context);break;case 22:case 23:kl()}n=n.return}if(Kc=e,qc=e=eu(e.current,null),Jc=Yc=t,Zc=0,Qc=null,tl=el=$c=0,rl=nl=null,Ja!==null){for(t=0;t<Ja.length;t++)if(n=Ja[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}Ja=null}return e}function jl(e,t){do{var n=qc;try{if(Ua(),xo.current=hs,Do){for(var i=wo.memoizedState;i!==null;){var a=i.queue;a!==null&&(a.pending=null),i=i.next}Do=!1}if(Co=0,Eo=To=wo=null,Oo=!1,ko=0,Uc.current=null,n===null||n.return===null){Zc=1,Qc=t,qc=null;break}a:{var o=e,s=n.return,c=n,l=t;if(t=Jc,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=Ns(s);if(m!==null){m.flags&=-257,Ps(m,s,c,o,t),m.mode&1&&Ms(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)){Ms(o,u,t),Nl();break a}l=Error(r(426))}}else if(xa&&c.mode&1){var _=Ns(s);if(_!==null){!(_.flags&65536)&&(_.flags|=256),Ps(_,s,c,o,t),ja(Es(l,c));break a}}o=l=Es(l,c),Zc!==4&&(Zc=2),nl===null?nl=[o]:nl.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var v=As(o,l,t);io(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`&&(ll===null||!ll.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t;var x=js(o,c,t);io(o,x);break a}}o=o.return}while(o!==null)}Rl(n)}catch(e){t=e,qc===n&&n!==null&&(qc=n=n.return);continue}break}while(1)}function Ml(){var e=Hc.current;return Hc.current=hs,e===null?hs:e}function Nl(){(Zc===0||Zc===3||Zc===2)&&(Zc=4),Kc===null||!($c&268435455)&&!(el&268435455)||Tl(Kc,Jc)}function Pl(e,t){var n=Gc;Gc|=2;var i=Ml();(Kc!==e||Jc!==t)&&(ol=null,Al(e,t));do try{Fl();break}catch(t){jl(e,t)}while(1);if(Ua(),Gc=n,Hc.current=i,qc!==null)throw Error(r(261));return Kc=null,Jc=0,Zc}function Fl(){for(;qc!==null;)Ll(qc)}function Il(){for(;qc!==null&&!dt();)Ll(qc)}function Ll(e){var t=Jl(e.alternate,e,Yc);e.memoizedProps=e.pendingProps,t===null?Rl(e):qc=t,Uc.current=null}function Rl(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=fc(n,t),n!==null){n.flags&=32767,qc=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Zc=6,qc=null;return}}else if(n=dc(n,t,Yc),n!==null){qc=n;return}if(t=t.sibling,t!==null){qc=t;return}qc=t=e}while(t!==null);Zc===0&&(Zc=5)}function zl(e,t,n){var r=zt,i=Wc.transition;try{Wc.transition=null,zt=1,Bl(e,t,n,r)}finally{Wc.transition=i,zt=r}return null}function Bl(e,t,n,i){do Vl();while(dl!==null);if(Gc&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(Lt(e,o),e===Kc&&(qc=Kc=null,Jc=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||ul||(ul=!0,Yl(_t,function(){return Vl(),null})),o=(n.flags&15990)!=0,n.subtreeFlags&15990||o){o=Wc.transition,Wc.transition=null;var s=zt;zt=1;var c=Gc;Gc|=4,Uc.current=null,yc(e,n),Pc(n,e),Ar(_i),fn=!!gi,_i=gi=null,e.current=n,Ic(n,e,a),ft(),Gc=c,zt=s,Wc.transition=o}else e.current=n;if(ul&&(ul=!1,dl=e,fl=a),o=e.pendingLanes,o===0&&(ll=null),St(n.stateNode,i),bl(e,pt()),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(sl)throw sl=!1,e=cl,cl=null,e;return fl&1&&e.tag!==0&&Vl(),o=e.pendingLanes,o&1?e===ml?pl++:(pl=0,ml=e):pl=0,aa(),null}function Vl(){if(dl!==null){var e=Bt(fl),t=Wc.transition,n=zt;try{if(Wc.transition=null,zt=16>e?16:e,dl===null)var i=!1;else{if(e=dl,dl=null,fl=0,Gc&6)throw Error(r(331));var a=Gc;for(Gc|=4,J=e.current;J!==null;){var o=J,s=o.child;if(J.flags&16){var c=o.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(J=u;J!==null;){var d=J;switch(d.tag){case 0:case 11:case 15:bc(8,d,o)}var f=d.child;if(f!==null)f.return=d,J=f;else for(;J!==null;){d=J;var p=d.sibling,m=d.return;if(Cc(d),d===u){J=null;break}if(p!==null){p.return=m,J=p;break}J=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)}}J=o}}if(o.subtreeFlags&2064&&s!==null)s.return=o,J=s;else b:for(;J!==null;){if(o=J,o.flags&2048)switch(o.tag){case 0:case 11:case 15:bc(9,o,o.return)}var v=o.sibling;if(v!==null){v.return=o.return,J=v;break b}J=o.return}}var y=e.current;for(J=y;J!==null;){s=J;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,J=b;else b:for(s=y;J!==null;){if(c=J,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:xc(9,c)}}catch(e){Ul(c,c.return,e)}if(c===s){J=null;break b}var x=c.sibling;if(x!==null){x.return=c.return,J=x;break b}J=c.return}}if(Gc=a,aa(),xt&&typeof xt.onPostCommitFiberRoot==`function`)try{xt.onPostCommitFiberRoot(bt,e)}catch{}i=!0}return i}finally{zt=n,Wc.transition=t}}return!1}function Hl(e,t,n){t=Es(n,t),t=As(e,t,1),e=no(e,t,1),t=_l(),e!==null&&(It(e,1,t),bl(e,t))}function Ul(e,t,n){if(e.tag===3)Hl(e,e,n);else for(;t!==null;){if(t.tag===3){Hl(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ll===null||!ll.has(r))){e=Es(n,e),e=js(t,e,1),t=no(t,e,1),e=_l(),t!==null&&(It(t,1,e),bl(t,e));break}}t=t.return}}function Wl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=_l(),e.pingedLanes|=e.suspendedLanes&n,Kc===e&&(Jc&n)===n&&(Zc===4||Zc===3&&(Jc&130023424)===Jc&&500>pt()-il?Al(e,0):tl|=n),bl(e,t)}function Gl(e,t){t===0&&(e.mode&1?(t=Ot,Ot<<=1,!(Ot&130023424)&&(Ot=4194304)):t=1);var n=_l();e=Za(e,t),e!==null&&(It(e,t,n),bl(e,n))}function Kl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gl(e,n)}function ql(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),Gl(e,n)}var Jl=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Gi.current)Is=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Is=!1,ac(e,t,n);Is=!!(e.flags&131072)}else Is=!1,xa&&t.flags&1048576&&ga(t,la,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;rc(e,t),e=t.pendingProps;var a=qi(t,Wi.current);Ka(t,n),a=No(null,t,i,e,a,n);var o=Po();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,Ji(i)?(o=!0,Qi(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,$a(t),a.updater=xs,t.stateNode=a,a._reactInternals=t,Ts(t,i,e,n),t=Gs(null,t,i,!0,o,n)):(t.tag=0,xa&&o&&_a(t),Ls(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch(rc(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=$l(i),e=ys(i,e),a){case 0:t=Us(null,t,i,e,n);break a;case 1:t=Ws(null,t,i,e,n);break a;case 11:t=Rs(null,t,i,e,n);break a;case 14:t=zs(null,t,i,ys(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:ys(i,a),Us(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:ys(i,a),Ws(e,t,i,a,n);case 3:a:{if(Ks(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,eo(e,t),ao(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=Es(Error(r(423)),t),t=qs(e,t,i,n,a);break a}else if(i!==a){a=Es(Error(r(424)),t),t=qs(e,t,i,n,a);break a}else for(ba=Ti(t.stateNode.containerInfo.firstChild),ya=t,xa=!0,Sa=null,n=Ra(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Aa(),i===a){t=ic(e,t,n);break a}Ls(e,t,i,n)}t=t.child}return t;case 5:return ho(t),e===null&&Ea(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),Hs(e,t),Ls(e,t,s,n),t.child;case 6:return e===null&&Ea(t),null;case 13:return Xs(e,t,n);case 4:return po(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=La(t,null,i,n):Ls(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:ys(i,a),Rs(e,t,i,a,n);case 7:return Ls(e,t,t.pendingProps,n),t.child;case 8:return Ls(e,t,t.pendingProps.children,n),t.child;case 12:return Ls(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,Hi(za,i._currentValue),i._currentValue=s,o!==null)if(Cr(o.value,s)){if(o.children===a.children&&!Gi.current){t=ic(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=to(-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),Ga(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),Ga(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}Ls(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ka(t,n),a=qa(a),i=i(a),t.flags|=1,Ls(e,t,i,n),t.child;case 14:return i=t.type,a=ys(i,t.pendingProps),a=ys(i.type,a),zs(e,t,i,a,n);case 15:return Bs(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:ys(i,a),rc(e,t),t.tag=1,Ji(i)?(e=!0,Qi(t)):e=!1,Ka(t,n),Cs(t,i,a),Ts(t,i,a,n),Gs(null,t,i,!0,e,n);case 19:return nc(e,t,n);case 22:return Vs(e,t,n)}throw Error(r(156,t.tag))};function Yl(e,t){return lt(e,t)}function Xl(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 Zl(e,t,n,r){return new Xl(e,t,n,r)}function Ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function $l(e){if(typeof e==`function`)return+!!Ql(e);if(e!=null){if(e=e.$$typeof,e===j)return 11;if(e===P)return 14}return 2}function eu(e,t){var n=e.alternate;return n===null?(n=Zl(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 tu(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)Ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case E:return nu(n.children,a,o,t);case D:s=8,a|=8;break;case O:return e=Zl(12,n,t,a|2),e.elementType=O,e.lanes=o,e;case M:return e=Zl(13,n,t,a),e.elementType=M,e.lanes=o,e;case N:return e=Zl(19,n,t,a),e.elementType=N,e.lanes=o,e;case I:return ru(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case k:s=10;break a;case A:s=9;break a;case j:s=11;break a;case P:s=14;break a;case F:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=Zl(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function nu(e,t,n,r){return e=Zl(7,e,r,t),e.lanes=n,e}function ru(e,t,n,r){return e=Zl(22,e,r,t),e.elementType=I,e.lanes=n,e.stateNode={isHidden:!1},e}function iu(e,t,n){return e=Zl(6,e,null,t),e.lanes=n,e}function au(e,t,n){return t=Zl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ou(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=Ft(0),this.expirationTimes=Ft(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ft(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function su(e,t,n,r,i,a,o,s,c){return e=new ou(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Zl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},$a(a),e}function cu(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:T,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}function lu(e){if(!e)return Ui;e=e._reactInternals;a:{if(rt(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(Ji(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(Ji(n))return Zi(e,n,t)}return t}function uu(e,t,n,r,i,a,o,s,c){return e=su(n,r,!0,e,i,a,o,s,c),e.context=lu(null),n=e.current,r=_l(),i=vl(n),a=to(r,i),a.callback=t??null,no(n,a,i),e.current.lanes=i,It(e,i,r),bl(e,r),e}function du(e,t,n,r){var i=t.current,a=_l(),o=vl(i);return n=lu(n),t.context===null?t.context=n:t.pendingContext=n,t=to(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=no(i,t,o),e!==null&&(yl(e,i,o,a),ro(e,i,o)),o}function fu(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 pu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function mu(e,t){pu(e,t),(e=e.alternate)&&pu(e,t)}function hu(){return null}var gu=typeof reportError==`function`?reportError:function(e){console.error(e)};function _u(e){this._internalRoot=e}vu.prototype.render=_u.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));du(e,t,null,null)},vu.prototype.unmount=_u.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ol(function(){du(null,e,null,null)}),t[Ai]=null}};function vu(e){this._internalRoot=e}vu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Wt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<$t.length&&t!==0&&t<$t[n].priority;n++);$t.splice(n,0,e),n===0&&an(e)}};function yu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function bu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==` react-mount-point-unstable `))}function xu(){}function Su(e,t,n,r,i){if(i){if(typeof r==`function`){var a=r;r=function(){var e=fu(o);a.call(e)}}var o=uu(t,r,e,0,null,!1,!1,``,xu);return e._reactRootContainer=o,e[Ai]=o.current,ii(e.nodeType===8?e.parentNode:e),Ol(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r==`function`){var s=r;r=function(){var e=fu(c);s.call(e)}}var c=su(e,0,!1,null,null,!1,!1,``,xu);return e._reactRootContainer=c,e[Ai]=c.current,ii(e.nodeType===8?e.parentNode:e),Ol(function(){du(t,c,n,r)}),c}function Cu(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=fu(o);s.call(e)}}du(t,o,e,i)}else o=Su(n,t,e,i,r);return fu(o)}Vt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=kt(t.pendingLanes);n!==0&&(Rt(t,n|1),bl(t,pt()),!(Gc&6)&&(al=pt()+500,aa()))}break;case 13:Ol(function(){var t=Za(e,1);t!==null&&yl(t,e,1,_l())}),mu(e,1)}},Ht=function(e){if(e.tag===13){var t=Za(e,134217728);t!==null&&yl(t,e,134217728,_l()),mu(e,134217728)}},Ut=function(e){if(e.tag===13){var t=vl(e),n=Za(e,t);n!==null&&yl(n,e,t,_l()),mu(e,t)}},Wt=function(){return zt},Gt=function(e,t){var n=zt;try{return zt=e,t()}finally{zt=n}},Le=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));le(i),me(i,a)}}}break;case`textarea`:xe(e,n);break;case`select`:t=n.value,t!=null&&ve(e,!!n.multiple,t,!1)}},Ue=Dl,We=Ol;var wu={usingClientEntryPoint:!1,Events:[Fi,Ii,Li,Ve,He,Dl]},Tu={findFiberByHostInstance:Pi,bundleType:0,version:`18.3.1`,rendererPackageName:`react-dom`},Eu={bundleType:Tu.bundleType,version:Tu.version,rendererPackageName:Tu.rendererPackageName,rendererConfig:Tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:C.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=st(e),e===null?null:e.stateNode},findFiberByHostInstance:Tu.findFiberByHostInstance||hu,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 Du=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Du.isDisabled&&Du.supportsFiber)try{bt=Du.inject(Eu),xt=Du}catch{}}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=wu,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!yu(t))throw Error(r(200));return cu(e,t,null,n)},e.createRoot=function(e,t){if(!yu(e))throw Error(r(299));var n=!1,i=``,a=gu;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=su(e,1,!1,null,null,n,!1,i,a),e[Ai]=t.current,ii(e.nodeType===8?e.parentNode:e),new _u(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=st(t),e=e===null?null:e.stateNode,e},e.flushSync=function(e){return Ol(e)},e.hydrate=function(e,t,n){if(!bu(t))throw Error(r(200));return Cu(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){if(!yu(e))throw Error(r(405));var i=n!=null&&n.hydratedSources||null,a=!1,o=``,s=gu;if(n!=null&&(!0===n.unstable_strictMode&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=uu(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 vu(t)},e.render=function(e,t,n){if(!bu(t))throw Error(r(200));return Cu(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(!bu(e))throw Error(r(40));return e._reactRootContainer?(Ol(function(){Cu(null,null,e,!1,function(){e._reactRootContainer=null,e[Ai]=null})}),!0):!1},e.unstable_batchedUpdates=Dl,e.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!bu(n))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return Cu(e,t,n,!1,i)},e.version=`18.3.1-next-f1338f8080-20240426`})),h=o(((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=m()})),g=o((e=>{var t=h();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),_=l(d(),1),v=g(),y={weekly:`WEEKLY`,five_hour:`5H-BLOCK`,budget:`BUDGET`,projected:`PROJECTED`,project_budget:`PROJECT`,codex_budget:`BUDGET`},b={weekly:`Weekly`,five_hour:`5h-block`,budget:`Budget`,projected:`Projected`,project_budget:`Project budget`,codex_budget:`Codex budget`};function x(e){return e===`calendar-month`?`Month`:e===`calendar-week`?`Calendar week`:`Week`}function S(e){let t=e.severity;return t===`info`||t===`warn`||t===`critical`?t:t===`amber`?`warn`:t===`red`||e.threshold>=100?`critical`:e.threshold>=90?`warn`:`info`}function C(e){if(e.axis!==`projected`)return null;let t=e.metric??e.context.metric,n=e.context.projected_value;if(t==null||n==null)return null;if(t===`weekly_pct`)return`projected ${Math.round(n)}% of cap`;if(t===`codex_budget_usd`){let t=e.context.denominator;return t==null?null:`projected $${Math.round(n)} of $${Math.round(t)} · Codex`}let r=e.context.denominator;return r==null?null:`projected $${Math.round(n)} of $${Math.round(r)}`}function w(e){let t=e,n=t.accountKey??t.account_key;return n==null?null:{key:n,label:t.accountLabel??(n===`*`?`All accounts`:n)}}function T(e){let t=e.source===`claude`?`claude:${e.id}`:`codex:${e.key}`,n=w(e);return n==null?t:`${e.source}:${n.key}:${e.source===`claude`?e.id:e.key}`}function E(e){let t=e.source===`claude`?`claude:${e.id}`:`codex:${e.key}`,n=e.source===`claude`?e.id:e.key,r=T(e);return r===t?[t,n]:[r,t,n]}function D(e,t){if(t.claude==null&&t.codex==null)return e;let n={claude:!1,codex:!1};for(let t of e)w(t)!=null&&(n[t.source]=!0);return e.filter(e=>{let r=t[e.source];if(r==null||!n[e.source])return!0;let i=w(e)?.key;return i===r||i===`*`})}function O(e){let t=e?.sources;if(t==null)return[];let n=t.claude?.data?.alerts?.rows??[],r=t.codex?.data?.alerts?.rows??[];return[...n,...r]}function k(e){let t=(e.entry?.data)?.alerts?.rows;return Array.isArray(t)?t:[]}function A(e,t,n){return n?k(e):t}function j(e){let t=e;return t.alerted_at??t.created_at??null}function M(e){let t=e??0;return t>=100?`critical`:t>=90?`warn`:`info`}function N(e,t){return e===`info`||e===`warn`||e===`critical`?e:e===`amber`?`warn`:e===`red`?`critical`:M(t)}var P={claude:`Claude`,codex:`Codex`};function F(e){if(e.source===`claude`)return{source:`claude`,sourceLabel:P.claude,threshold:e.threshold,severity:S(e),chipClass:`chip--${e.axis}`,chipLabel:y[e.axis],whenIso:j(e)};if(e.axis===`quota`)return{source:`codex`,sourceLabel:P.codex,threshold:e.threshold,severity:N(e.severity,e.threshold),chipClass:`chip--quota`,chipLabel:`QUOTA`,whenIso:j(e)};let t=e.axis===`projected`?`chip--projected`:`chip--codex_budget`,n=y[e.axis];return{source:`codex`,sourceLabel:P.codex,threshold:e.threshold,severity:M(e.threshold),chipClass:t,chipLabel:n,whenIso:j(e)}}var I={dateFrom:null,dateTo:null,datePreset:null,projects:[],costMin:null,costMax:null,rebuildMin:null,models:[]};function ee(e){return e.conversation_ref??ne(e.session_id)}function te(e,t,n,r={}){let{innerAnchorKey:i,expandDetails:a,findOccurrence:o}=r;return{...n?{conversation_ref:e}:{},session_id:e.key,uuid:t,...i?{inner_anchor_key:i}:{},...a===void 0?{}:{expand_details:a},...o?{find_occurrence:o}:{}}}function L(e){if(!e||typeof e!=`object`)return!1;let t=e;return(t.source===`claude`||t.source===`codex`)&&typeof t.key==`string`&&t.key.length>0&&(t.account_key===void 0||typeof t.account_key==`string`&&t.account_key.length>0)}function ne(e){return{source:`claude`,key:e}}function R(e){return typeof e==`string`?ne(e):e}function re(e){return R(e).key.startsWith(`v1.`)}function z(e){let t=R(e);return t.account_key===void 0?JSON.stringify([t.source,t.key]):JSON.stringify([t.source,t.key,t.account_key])}function B(e,t){return e===null||t===null?e===t:z(e)===z(t)}function V(e){return e.conversation_ref??ne(e.session_id)}function ie(e){return e.conversation_ref??ne(e.session_id)}var ae=`cctally.conv.readingPos`,oe=new Map;function se(){try{let e=localStorage.getItem(ae);if(!e)return{};let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return t}catch{}return{}}function ce(e){try{localStorage.setItem(ae,JSON.stringify(e))}catch{}}function le(e,t){let n=Object.keys(e);if(n.length<=t)return e;n.sort((t,n)=>(e[t]?.ts??0)-(e[n]?.ts??0));let r=n.slice(0,n.length-t);for(let t of r)delete e[t];return e}function ue(e,t,n=Date.now()){let r=R(e);if(!r.key||!t)return;let i=z(r),a=oe.get(i);if(a!==void 0&&n-a<1e3)return;oe.set(i,n);let o=se();o[i]={uuid:t,ts:n},r.source===`claude`&&delete o[r.key],ce(le(o,50))}function de(e){let t=R(e);if(!t.key)return null;let n=se();return n[z(t)]??(t.source===`claude`?n[t.key]:void 0)??null}var fe=`cctally.conv.bookmarks`;function pe(e){let t={};if(!e||typeof e!=`object`)return t;for(let[n,r]of Object.entries(e))if(r&&typeof r==`object`){let e=r.note,i=r.ts;typeof e==`string`&&typeof i==`number`&&Number.isFinite(i)&&(t[n]={note:e,ts:i})}return t}function me(){try{let e=localStorage.getItem(fe);if(!e)return{};let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t)){let e={};for(let[n,r]of Object.entries(t)){let t=pe(r);Object.keys(t).length&&(e[n]=t)}return e}}catch{}return{}}function he(e){try{localStorage.setItem(fe,JSON.stringify(e))}catch{}}function ge(e){let t=0;for(let n of Object.values(e))t=Math.max(t,n.ts);return t}function _e(e,t){let n=Object.keys(e);if(n.length<=t)return e;n.sort((t,n)=>ge(e[t])-ge(e[n]));for(let r of n.slice(0,n.length-t))delete e[r];return e}function ve(e){let t=R(e);if(!t.key)return{};let n=me();return n[z(t)]??(t.source===`claude`?n[t.key]:void 0)??{}}function ye(e,t,n=Date.now()){let r=R(e);if(!r.key||!t)return;let i=me(),a=z(r),o=i[a]??(r.source===`claude`?i[r.key]:void 0)??{};o[t]?delete o[t]:o[t]={note:``,ts:n},Object.keys(o).length?i[a]=o:delete i[a],r.source===`claude`&&delete i[r.key],he(_e(i,50))}function be(e,t,n,r=Date.now()){let i=R(e);if(!i.key||!t)return;let a=me(),o=z(i),s=a[o]??(i.source===`claude`?a[i.key]:void 0)??{};s[t]={note:n,ts:r},a[o]=s,i.source===`claude`&&delete a[i.key],he(_e(a,50))}var xe=`cctally.conv.railPrefs`,Se=new Set([`recent`,`oldest`,`cost`,`messages`,`project`]);function Ce(){return{filters:I,sort:`recent`}}function we(e){return typeof e==`string`&&Se.has(e)}function Te(e){if(!e||typeof e!=`object`||Array.isArray(e))return I;let t=e,n=e=>typeof e==`string`?e:null,r=e=>typeof e==`number`&&Number.isFinite(e)?e:null,i=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):[];return{dateFrom:n(t.dateFrom),dateTo:n(t.dateTo),datePreset:n(t.datePreset),projects:i(t.projects),costMin:r(t.costMin),costMax:r(t.costMax),rebuildMin:r(t.rebuildMin),models:i(t.models)}}function Ee(){try{let e=localStorage.getItem(xe);if(!e)return Ce();let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return Ce();let n=t;return{filters:Te(n.filters),sort:we(n.sort)?n.sort:`recent`}}catch{return Ce()}}function De(e){try{localStorage.setItem(xe,JSON.stringify({filters:e.filters,sort:e.sort}))}catch{}}var Oe=`cctally.conv.outlineWidth`;function ke(e){return Number.isFinite(e)?Math.round(Math.min(480,Math.max(230,e))):290}function Ae(){try{let e=localStorage.getItem(Oe);if(e==null)return 290;let t=Number(e);if(Number.isFinite(t))return ke(t)}catch{}return 290}function je(e){try{localStorage.setItem(Oe,String(ke(e)))}catch{}}var Me=e=>String(e).padStart(2,`0`);function Ne(e){if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t}function Pe(e,t,n){let r=new Intl.DateTimeFormat(`en-US`,{...n,timeZone:t}),i={};for(let t of r.formatToParts(e))i[t.type]=t.value;return i}function Fe(e,t){let n=Pe(e,t,{timeZoneName:`short`}).timeZoneName??``;if(n===`GMT`)return`UTC`;let r=n.replace(/^GMT/,``);return r===``?n:r.replace(/^([+-])(\d)$/,`$10$2`)}function Ie(e,t){let n=Ne(e);if(!n)return`—`;let r=Pe(n,t.tz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1});return`${r.month} ${r.day} ${r.hour}:${r.minute} ${Fe(n,t.tz)}`}function Le(e,t){let n=Ne(e);if(!n)return`—`;let r=Pe(n,t.tz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZoneName:`shortOffset`}),i=(r.timeZoneName??``).replace(/^GMT/,``).replace(/^([+-])(\d)$/,`$10$2`);return`${r.month} ${r.day} ${r.hour}:${r.minute}${i||``}`}function Re(e,t){let n=Ne(e);if(!n)return null;let r=Pe(n,t.tz,{month:`short`,day:`2-digit`});return`${r.month} ${r.day}`}function ze(e,t){let n=Ne(e);if(!n)return null;let r=Pe(n,t.tz,{month:`short`,day:`2-digit`,year:`numeric`});return`${r.month} ${r.day} ${r.year}`}function Be(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;let n=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],r=t[2]-1;return r<0||r>11?null:`${n[r]} ${t[3]}`}function Ve(e,t){let n=Ne(e);if(!n)return null;let r=Pe(n,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`});return`${r.year}-${r.month}-${r.day}`}function He(e,t,n={}){let r=Ne(e);if(!r)return`—`;let i=Pe(r,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}),a=`${i.year}-${i.month}-${i.day} ${i.hour}:${i.minute}`;return n.noSuffix?a:`${a} ${Fe(r,t.tz)}`}function Ue(e,t,n={}){return Ne(e)?He(e,t,n):null}function We(e,t,n=Date.now()){let r=Ne(e);if(!r)return`—`;let i=n-r.getTime();if(i<6e4)return`just now`;if(i<36e5)return`${Math.floor(i/6e4)}m ago`;if(i<864e5)return`${Math.floor(i/36e5)}h ago`;let a=Pe(new Date(n),t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`}),o=Pe(r,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`}),s=`${a.year}-${a.month}-${a.day}`,c=`${o.year}-${o.month}-${o.day}`;if(s!==c&&i<1728e5){let e=Pe(new Date(n-864e5),t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`});if(c===`${e.year}-${e.month}-${e.day}`)return`Yesterday`}return Ie(e,t)}function Ge(e,t,n={}){let r=Ne(e);if(!r)return`—`;let i=Pe(r,t.tz,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),a=`${i.hour}:${i.minute}`;return n.noSuffix?a:`${a} ${Fe(r,t.tz)}`}function Ke(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function qe(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let n=6e5;return new Date(Math.round(t/n)*n).toISOString()}function Je(e){let t=Date.parse(e.startAt),n=Date.parse(e.endAt);if(Number.isNaN(t)||Number.isNaN(n))return`last 7 days`;let r=Math.max(1,Math.round((n-t)/864e5));return r===7?`last 7 days`:`last ${Ke(r,`day`)}`}var H={pct0(e){return e==null?`—`:`${Math.round(e)}%`},pct1(e){return e==null?`—`:`${(+e).toFixed(1)}%`},usd2(e){return e==null?`—`:`$${(+e).toFixed(2)}`},usd0(e){if(e==null)return`—`;let t=+e;if(t===0)return`$0`;let n=t<0?`−`:``,r=Math.abs(t);return r<.005?`${n}<$0.01`:Number.isInteger(r)?`${n}$${r.toFixed(0)}`:`${n}$${r.toFixed(2)}`},usdSigned(e){return e==null?`—`:`${e>=0?`+`:`−`}$${Math.abs(+e).toFixed(2)}`},pctFloor(e){return Math.floor(e+1e-9)},usd3(e){return e==null?`—`:`$${(+e).toFixed(3)}`},usd2PerDay(e){return e==null?`—`:`$${(+e).toFixed(2)} / day`},hours1(e){return e==null?`—`:`${(+e).toFixed(1)} h`},ratePctPerHour(e){return e==null?`—`:`from ${(+e).toFixed(4)} %/h`},agoSec(e){return e==null?`—`:`${Math.max(0,e|0)}s ago`},hhmm(e){return e==null?`—`:`${e/3600|0}h ${Me(e%3600/60|0)}m`},durationCompact(e){if(e==null)return`—`;let t=e/3600|0,n=e%3600/60|0;return t===0?`${n}m`:`${t}h ${Me(n)}m`},durationMs(e){if(e==null||!isFinite(e))return`—`;let t=Math.round(e/1e3);if(t<60)return`${(e/1e3).toFixed(1)}s`;let n=Math.floor(t/60),r=t-n*60;return r?`${n}m ${r}s`:`${n}m`},gapDuration(e){if(e==null||!isFinite(e)||e<0)return`—`;let t=Math.round(e/60);return t<60?`${t} min`:`${(e/3600).toFixed(1).replace(/\.0$/,``)} h`},tokens(e){if(e==null||!isFinite(e))return`—`;if(e<1e3)return String(Math.round(e));let t=e=>e.toFixed(1).replace(/\.0$/,``);return e<1e6&&Math.round(e/100)/10<1e3?`${t(e/1e3)}k`:`${t(e/1e6)}M`},ddhh(e){return e==null?`—`:`${e/86400|0}d ${e%86400/3600|0}h`},elapsedHm(e){return e==null?`—`:e<=0?`just now`:`${e/3600|0}h ${e%3600/60|0}m`},datetimeShort:Ie,datetimeShortZ:Le,dateShort:Re,dateShortWithYear:ze,startedShort:He,startedShortOrNull:Ue,timeHHmm:Ge,weekStart:(e,t)=>Be(e),calDate:e=>Be(e),calendarDateKey:Ve,timeOnly:Ge,relativeOrAbsolute:We,delta(e){if(e==null)return`—`;let t=e>0?`↑`:e<0?`↓`:`·`;return`${e>0?`+`:``}${e.toFixed(2)} ${t}`},pp(e){return e==null?`—`:Math.abs(e)<.05?`±0.0pp`:`${e>0?`+`:`−`}${Math.abs(e).toFixed(1)}pp`},deltaPct(e){if(e==null)return`—`;let t=Math.round(e*100);return t===0?`0%`:t>0?`+${t}%`:`−${Math.abs(t)}%`},compact(e,t={}){if(e==null)return`—`;let n=Math.abs(e),r;if(n>=1e9)r=(e/1e9).toFixed(1)+`B`;else if(n>=1e6){let t=e/1e6;r=(t>=100?t.toFixed(0):t.toFixed(1))+`M`}else if(n>=1e3){let t=e/1e3;r=(t>=100?t.toFixed(0):t.toFixed(1))+`k`}else return String(e|0);return r=r.replace(/\.0(?=[kMB]$)/,``),t.upper&&(r=r.replace(/k$/,`K`)),r},deltaCls(e,t){return e==null||t?``:e>0?`delta-pos`:e<0?`delta-neg`:``}},Ye={tz:`Etc/UTC`,offsetLabel:`UTC`};function Xe(e){return e?.display?{tz:e.display.resolved_tz,offsetLabel:e.display.offset_label}:Ye}function Ze(e){let t=e=>(t,n)=>(e(n)??0)-(e(t)??0),n=e=>(t,n)=>{let r=(e(t)||``).toString(),i=(e(n)||``).toString();return r<i?-1:+(r>i)};switch(e){case`cost desc`:return t(e=>e.cost_usd??0);case`duration desc`:return t(e=>e.duration_min);case`model asc`:return n(e=>e.model);case`project asc`:return n(e=>e.project);default:return t(e=>e.started_utc?Date.parse(e.started_utc):0)}}function Qe(e,t){let n=(t||``).toLowerCase();return n?e.filter(e=>(e.project||``).toLowerCase().includes(n)||(e.project_key||``).toLowerCase().includes(n)||(e.model||``).toLowerCase().includes(n)):e}function $e(e,t=Ye){let n=e.started_utc?H.startedShort(e.started_utc,t,{noSuffix:!0}):``,r=e.duration_min==null?``:`${e.duration_min}m`,i=e.cost_usd==null?``:`$${e.cost_usd.toFixed(2)}`;return[n===`—`?``:n,r,e.model||``,e.title||``,e.project||``,e.project_key||``,i].join(` `).toLowerCase()}function et(e,t,n=Ye){let r=(t||``).toLowerCase();if(!r)return[];let i=[];for(let t=0;t<e.length;t++)$e(e[t],n).includes(r)&&i.push(t);return i}function tt(e){let t=e?.trend;return t?t.history.map(e=>({label:e.label,used_pct:e.used_pct,dollar_per_pct:e.dollar_per_pct,delta:e.delta,is_current:e.is_current,cost_usd:e.cost_usd??null,...e.account_labels?{account_labels:e.account_labels}:{}})):[]}var nt=[`sessions`,`trend`,`projects`,`daily`,`cache-report`,`weekly`,`monthly`,`blocks`,`forecast`,`alerts`],rt={sessions:{row:`tall`,span:6},trend:{row:`tall`,span:3},projects:{row:`tall`,span:3},daily:{row:`medium`,span:6},"cache-report":{row:`medium`,span:6},weekly:{row:`medium`,span:6},monthly:{row:`medium`,span:6},blocks:{row:`medium`,span:6},forecast:{row:`medium`,span:6},alerts:{row:`short`,span:12}},it=new Set([`current-week`,`forecast`,`trend`,`sessions`,`projects`,`weekly`,`monthly`,`blocks`,`daily`]),at=4,ot=5,st=new Set([`weekly`,`monthly`,`daily`]);function ct(e,t){if(t>=6)return{panels:e??[],newVersion:t};let n=e?[...e]:[];if(t<2&&n.length>0&&!n.includes(`projects`)&&n.splice(Math.min(at,n.length),0,`projects`),t<3&&(n=n.filter(e=>e!==`current-week`)),t<4&&(n=n.filter(e=>!st.has(e)),n.length>0&&!n.includes(`history`)&&n.splice(Math.min(ot,n.length),0,`history`)),t<5&&(n=n.map(e=>e===`history`?`daily`:e),n.length>0)){let e=n.includes(`cache-report`)?n.indexOf(`cache-report`):n.indexOf(`daily`),t=e>=0?e+1:n.length;for(let e of[`weekly`,`monthly`])n.includes(e)||(n.splice(t,0,e),t+=1)}return t<6&&n.includes(`blocks`)&&n.includes(`forecast`)&&(n.splice(n.indexOf(`blocks`),1),n.splice(n.indexOf(`forecast`),0,`blocks`)),{panels:n,newVersion:6}}function lt(e,t){if(!e||!Array.isArray(e)||e.length===0)return[...t];let n=new Set(t),r=new Set,i=[];for(let t of e)n.has(t)&&(r.has(t)||(r.add(t),i.push(t)));for(let e of t)r.has(e)||i.push(e);return i}function ut(e,t,n){if(!n)return e;let r=t.find(e=>e.id===n.column);if(!r)return e;let i=n.direction===`desc`?-1:1,a=r.nullKey;return e.slice().sort((e,t)=>{if(a){let n=a(e)==null,r=a(t)==null;if(n&&r)return 0;if(n)return 1;if(r)return-1}return i*r.compare(e,t)})}function dt(e,t){return!e||e.column!==t.id?{column:t.id,direction:t.defaultDirection}:e.direction===t.defaultDirection?{column:t.id,direction:e.direction===`asc`?`desc`:`asc`}:null}function ft(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return typeof t.column!=`string`||t.direction!==`asc`&&t.direction!==`desc`?null:{column:t.column,direction:t.direction}}var pt=[{id:`started`,label:`Started`,defaultDirection:`desc`,compare:(e,t)=>(Date.parse(e.started_utc??``)||0)-(Date.parse(t.started_utc??``)||0)},{id:`duration`,label:`Dur`,defaultDirection:`desc`,compare:(e,t)=>(e.duration_min??0)-(t.duration_min??0)},{id:`model`,label:`Model`,defaultDirection:`asc`,compare:(e,t)=>(e.model||``).localeCompare(t.model||``)},{id:`session`,label:`Session`,defaultDirection:`asc`,compare:(e,t)=>(e.title||``).localeCompare(t.title||``)},{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>(e.project||``).localeCompare(t.project||``)},{id:`cache`,label:`Cache`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.cache_hit_pct??null,compare:(e,t)=>(e.cache_hit_pct??0)-(t.cache_hit_pct??0)},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.cost_usd??0)-(t.cost_usd??0)}],mt={shareModal:null,composerModal:null};function ht(e,t){switch(t.type){case`OPEN_SHARE`:{let n=t.source??`claude`,r=t.account??null,i=t.params===void 0?{panel:t.panel,triggerId:t.triggerId,source:n,account:r}:{panel:t.panel,triggerId:t.triggerId,source:n,account:r,params:t.params};return{...e,shareModal:i}}case`CLOSE_SHARE`:return{...e,shareModal:null};case`OPEN_COMPOSER`:return{...e,composerModal:{open:!0}};case`CLOSE_COMPOSER`:return{...e,composerModal:null};default:return e}}function gt(e,t,n){return n===void 0?{type:`OPEN_SHARE`,panel:e,triggerId:t}:{type:`OPEN_SHARE`,panel:e,triggerId:t,params:n}}function _t(){return{type:`CLOSE_SHARE`}}function vt(){return{type:`OPEN_COMPOSER`}}function yt(){return{type:`CLOSE_COMPOSER`}}var bt=`cctally:share:basket`;function xt(e,t){switch(t.type){case`BASKET_ADD`:return e.items.length>=20?{...e,rejectedReason:`capacity`}:{items:[...e.items,t.item],rejectedReason:null};case`BASKET_REMOVE`:return{...e,items:e.items.filter(e=>e.id!==t.id)};case`BASKET_REORDER`:{if(t.fromIdx===t.toIdx||t.fromIdx<0||t.toIdx<0||t.fromIdx>=e.items.length||t.toIdx>=e.items.length)return e;let n=e.items.slice(),[r]=n.splice(t.fromIdx,1);return n.splice(t.toIdx,0,r),{...e,items:n}}case`BASKET_CLEAR`:return{items:[],rejectedReason:null};case`BASKET_CLEAR_REJECTED`:return e.rejectedReason==null?e:{...e,rejectedReason:null};case`BASKET_HYDRATE`:return{items:t.items,rejectedReason:null};default:return e}}function St(e){return{id:e.id??Et(),panel:e.panel,template_id:e.template_id,options:e.options,added_at:e.added_at,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,label_hint:e.label_hint,source:e.source??`claude`,...e.account==null?{}:{account:e.account}}}function Ct(){try{let e=localStorage.getItem(bt);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(Tt).map(e=>({...e,source:e.source??`claude`})):[]}catch{return[]}}function wt(e){try{localStorage.setItem(bt,JSON.stringify(e))}catch{}}function Tt(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&typeof t.panel==`string`&&typeof t.template_id==`string`&&typeof t.added_at==`string`&&typeof t.data_digest_at_add==`string`&&typeof t.kernel_version==`number`&&typeof t.label_hint==`string`&&typeof t.options==`object`&&t.options!==null}function Et(){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``).slice(0,26)}var Dt=`cctally:dashboard:source`,Ot=new Set([`claude`,`codex`,`all`]);function kt(){try{let e=localStorage.getItem(Dt);if(e!=null&&Ot.has(e))return e}catch{}return`claude`}function At(e){try{localStorage.setItem(Dt,e)}catch{}}var jt=`cctally:dashboard:account:`;function Mt(e){return e===`all`?`all`:`provider`}function Nt(e){return e.length<=24?e:`${e.slice(0,12)}…${e.slice(-8)}`}function Pt(e,t){return t===`all`?`${jt}all:${e}`:`${jt}${e}`}function Ft(e,t=`provider`){try{let n=localStorage.getItem(Pt(e,t));if(n!=null&&n!==``)return n}catch{}return`all`}function It(e,t,n=`provider`){try{localStorage.setItem(Pt(e,n),t)}catch{}}function Lt(){return{provider:{claude:Ft(`claude`,`provider`),codex:Ft(`codex`,`provider`)},all:{claude:Ft(`claude`,`all`),codex:Ft(`codex`,`all`)}}}function Rt(e,t,n){return t!==`all`&&t!==n?`all`:e[Mt(t)][n]??`all`}function zt(e){let t=e?.data?.accounts;return!Array.isArray(t)||t.length===0?null:t}function Bt(e,t,n){if(t===`all`||n===`all`||n===``)return null;let r=zt(e?.sources?.[t]??null);return r==null?null:r.some(e=>e.accountKey===n)?n:null}function Vt(e,t){return zt(e?.sources?.[t]??null)!=null}function Ht(e,t){return(t===`all`?[`claude`,`codex`]:[t]).filter(t=>Vt(e,t))}function Ut(e,t,n,r){return Bt(e,n,Rt(r,t,n))}function Wt(e,t){if(e==null||e.length===0)return`all`;let n=[`all`,...e.map(e=>e.accountKey)];return n[((t==null?0:Math.max(0,n.indexOf(t)))+1)%n.length]}var Gt=`codex`;function Kt(e){let t=e?.data?.account_scopes;return typeof t!=`object`||!t||Array.isArray(t)?null:t}function qt(){let e={rows:[],total_cost_usd:0,total_tokens:0,display_tz:`UTC`};return{is_empty:!0,periods:{daily:e,monthly:e,weekly:e},sessions:{rows:[],total_sessions:0,total_cost_usd:0,total_tokens:0},projects:{rows:[],total_cost_usd:0,total_tokens:0},cache_report:null,budget:{status:null,milestones:[],projected:[]},quota:{summary:{window_count:0,active_window_count:0,latest_percent:null,freshness:`unavailable`,active:[]},histories:[],milestones:[],blocks:[],cycle_index:[]},alerts:{rows:[]}}}function Jt(e,t,n,r){let i=(e.cycles??[]).find(e=>e.accountKey===r)??null,a=n.quota.summary.freshness===`stale`;return{cost_usd:t?.spendUsd??0,input_tokens:t?.inputTokens??0,cached_input_tokens:t?.cachedInputTokens??0,output_tokens:t?.outputTokens??0,reasoning_output_tokens:t?.reasoningOutputTokens??0,total_tokens:t?.totalTokens??0,cycle:i==null?null:{window_minutes:i.window_minutes,start_at:i.start_at,resets_at:i.resets_at},...i!=null&&a?{cycle_freshness:`stale`}:{},quota:n.quota.summary,budget:n.budget.status,alerts:{count:n.alerts.rows.length},...e.cycles==null?{}:{cycles:e.cycles}}}function Yt(e,t,n,r){return{...e,hero:Jt(e.hero,n,t,r),periods:t.periods,sessions:t.sessions,projects:t.projects,quota:t.quota,budget:t.budget,alerts:t.alerts,cache_report:t.cache_report??null}}function Xt(e,t,n,r=t===`all`?null:t){let i=r==null?null:e?.sources?.[r]??null,a=i?.data??null,o=r===Gt?Kt(i):null,s=o!=null,c=r==null?null:Bt(e,r,n);if(c==null||!s)return{source:t,provider:r,accountKey:null,requestedKey:c,card:null,scope:null,data:a,isEmpty:!1,scopesSupported:s};let l=(zt(i)??[]).find(e=>e.accountKey===c)??null,u=o[c]??qt();return{source:t,provider:r,accountKey:c,requestedKey:c,card:l,scope:u,data:a==null?null:Yt(a,u,l,c),isEmpty:u.is_empty===!0,scopesSupported:!0}}var Zt=new WeakMap;function Qt(e,t,n){if(e==null)return null;if(t!==Gt&&t!==`all`)return e;let r=e.sources?.[Gt]??null;if(r?.data==null||Kt(r)==null)return e;let i=Bt(e,Gt,n);if(i==null)return e;let a=`${t}\u0000${i}`,o=Zt.get(e);o??(o=new Map,Zt.set(e,o));let s=o.get(a);if(s!=null)return s;let c=Xt(e,t,n,Gt);if(c.accountKey==null||c.data==null)return e;let l={...e.sources,[Gt]:{...r,data:c.data}};if(t===`all`){let e=l.all??null,t=e?.data??null;e!=null&&t?.providers!=null&&(l.all={...e,data:{...t,providers:{...t.providers,codex:c.data}}})}let u={...e,sources:l};return o.set(a,u),u}function $t(e){return e==null?!1:e.data==null&&e.last_success_at==null&&Array.isArray(e.warnings)&&e.warnings.length===0&&e.capabilities!=null&&Object.keys(e.capabilities).length===0}function en(e,t){if(e==null)return{selection:t,entry:null,hydrating:!0,env:null};let n=e.sources;if(n==null)return{selection:t,entry:null,hydrating:t!==`claude`,env:e};let r=n[t]??null;return{selection:t,entry:r,hydrating:$t(r),env:e}}function tn(e,t){return[...e]}function nn(e,t,n){let r=new Set(t),i=0;return e.map(e=>r.has(e)&&i<n.length?n[i++]:e)}function rn(e,t){return e?.trim()||(t===300?`5-hour limit`:t===10080?`7-day limit`:t==null||t<=0?`Codex quota`:t%1440==0?`${t/1440}-day limit`:t%60==0?`${t/60}-hour limit`:`${t}-minute limit`)}function an(e,t){let n=new Map,r=new Map;for(let e of t?.histories??[]){if(e.account_key==null){r.set(e.key,e);continue}let t=n.get(e.account_key)??new Map;t.set(e.key,e),n.set(e.account_key,t)}return(e?.quota?.active??[]).map(e=>{let t=e.account_key==null?r.get(e.key):n.get(e.account_key)?.get(e.key);return{key:e.key,label:rn(t?.label,t?.window_minutes),windowMinutes:t?.window_minutes??null,current:e}})}function on(e){return(e??[]).map(e=>({source:`claude`,key:e.key,title:e.title?.trim()??``,recencyUtc:e.started_utc,models:e.model?[e.model]:[],costUsd:e.cost_usd,durationMin:e.duration_min??null,project:e.project,projectKey:e.project_key??null,cacheHitPct:e.cache_hit_pct??null,tokens:{kind:`claude`},legacy:e}))}function sn(e){return(e??[]).map(e=>({source:`codex`,key:e.key,title:e.label?.trim()??``,recencyUtc:e.last_activity,models:[...e.models??[]],costUsd:e.cost_usd,durationMin:e.duration_min??null,project:e.project??`Project resolving`,projectKey:e.project_key??null,cacheHitPct:e.input_tokens>0?e.cached_input_tokens/e.input_tokens*100:null,tokens:{kind:`codex`,input:e.input_tokens,cachedInput:e.cached_input_tokens,output:e.output_tokens,reasoning:e.reasoning_output_tokens,total:e.total_tokens}}))}function cn(e){if(e.selection===`claude`)return on((e.env?.sessions?.rows??[]).map(e=>({key:e.session_id,source:`claude`,started_utc:e.started_utc,duration_min:e.duration_min,model:e.model,project:e.project,project_key:e.project_key,cost_usd:e.cost_usd,cache_hit_pct:e.cache_hit_pct,title:e.title})));if(e.selection===`codex`){let t=e.entry?.data;return sn(t?.sessions?.rows??[])}if(e.selection===`all`){let t=e.entry?.data?.providers,n=t?.claude??e.env?.sources?.claude?.data??null,r=t?.codex??e.env?.sources?.codex?.data??null,i=n?on(n.sessions?.rows??[]):[],a=r?sn(r.sessions?.rows??[]):[];return[...i,...a]}return[]}function ln(e){return[e.title||``,e.project,e.durationMin==null?``:`${e.durationMin}m`,e.costUsd==null?``:`$${e.costUsd.toFixed(2)}`,...e.models].join(` `).toLowerCase()}function un(e,t){let n=(t||``).toLowerCase();return n?e.filter(e=>ln(e).includes(n)):e}function dn(e,t){let n=(t||``).toLowerCase();if(!n)return[];let r=[];for(let t=0;t<e.length;t++)ln(e[t]).includes(n)&&r.push(t);return r}function fn(e){return e.recencyUtc&&Date.parse(e.recencyUtc)||0}function pn({includeSource:e,oneModel:t}){let n=[];return n.push({id:`started`,label:`Started`,defaultDirection:`desc`,nullKey:e=>e.recencyUtc??null,compare:(e,t)=>fn(e)-fn(t)},{id:`duration`,label:`Dur`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.durationMin,compare:(e,t)=>(e.durationMin??0)-(t.durationMin??0)},...t?[]:[{id:`model`,label:`Model`,defaultDirection:`asc`,compare:(e,t)=>e.models.join(`,`).localeCompare(t.models.join(`,`))}],{id:`session`,label:`Session`,defaultDirection:`asc`,compare:(e,t)=>(e.title||``).localeCompare(t.title||``)},{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>e.project.localeCompare(t.project)},{id:`cache`,label:`Cache`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.cacheHitPct,compare:(e,t)=>(e.cacheHitPct??0)-(t.cacheHitPct??0)},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.costUsd??0)-(t.costUsd??0)}),n}function mn(e,t){let n=e.recencyUtc==null,r=t.recencyUtc==null;return n&&r?0:n?1:r?-1:fn(t)-fn(e)}var hn=`ccusage.dashboard.prefs`,gn=`ccusage.dashboard.filter`,_n=`ccusage.dashboard.sort`,vn=`cctally.conv.outlineOpen`;function yn(){return{state:null,suppress:{skipped_versions:[],remind_after:null},modalOpen:!1,runId:null,status:`idle`,stream:[],errorMessage:null,startedAt:null}}var bn=[{key:`started desc`,label:`Started (newest first)`},{key:`cost desc`,label:`Cost (highest first)`},{key:`duration desc`,label:`Duration (longest first)`},{key:`model asc`,label:`Model (A→Z)`},{key:`project asc`,label:`Project (A→Z)`}];function xn(){return{sortDefault:`started desc`,sessionsPerPage:100,sessionsCollapsed:!0,blocksCollapsed:!0,dailyCollapsed:!0,alertsCollapsed:!1,panelOrder:[...nt],onboardingToastSeen:!1,mobileOnboardingToastSeen:!1,trendSortOverride:null,sessionsSortOverride:null,projectsWindowWeeks:4,projectsTrendYMode:`absolute`,projectsSortOverride:null,panelOrderSchemaVersion:1,historySortOverride:null,historySortOverrides:{week:null,month:null}}}function Sn(e){return{...e,weekly_usd:e.weekly_usd??null}}function Cn(){return{enabled:!1,weekly_thresholds:[90,95],five_hour_thresholds:[90,95],budget_thresholds:[90,100],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 wn(){let e=xn(),t=localStorage.getItem(hn),n=localStorage.getItem(_n);if(t){try{let n=JSON.parse(t);e={...xn(),...n};let r=typeof n.panelOrderSchemaVersion==`number`?n.panelOrderSchemaVersion:1,i=ct(n.panelOrder??null,r);e.panelOrderSchemaVersion=i.newVersion,e.panelOrder=lt(i.panels,nt),e.trendSortOverride=ft(e.trendSortOverride??null),e.sessionsSortOverride=ft(e.sessionsSortOverride??null),e.projectsSortOverride=ft(e.projectsSortOverride??null),e.historySortOverride=null;let a=e.historySortOverrides;e.historySortOverrides={week:ft(a?.week??null),month:ft(a?.month??null)},r!==i.newVersion&&localStorage.setItem(hn,JSON.stringify(e))}catch{e=xn(),e.panelOrderSchemaVersion=6}n!=null&&localStorage.removeItem(_n)}else n?(e={...xn(),sortDefault:n,panelOrderSchemaVersion:6},localStorage.setItem(hn,JSON.stringify(e)),localStorage.removeItem(_n)):e.panelOrderSchemaVersion=6;let r=!0;try{let e=localStorage.getItem(vn);e===`false`?r=!1:e===`true`&&(r=!0)}catch{r=!0}let i=Ee();return{snapshot:null,activeSource:kt(),accountFocus:Lt(),view:`dashboard`,selectedConversationId:null,selectedConversationRef:null,conversationSearch:``,conversationSearchKind:`all`,conversationJump:null,convOutlineOpen:r,convOutlineMobileOpen:!1,convOutlineWidth:Ae(),convFocusMode:`all`,convOutlineTab:`outline`,convCurrentTurnUuid:null,convPinnedUuid:null,convPinnedAnchorKey:null,convBookmarks:{},convFindOpen:!1,conversationFilters:i.filters,convFiltersOpen:!1,conversationRailSort:i.sort,compare:null,comparePick:null,compareCloseFocusPending:!1,conversationTitles:{},openModal:null,openModalSource:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null,sessionsSort:e.sortDefault,filterText:localStorage.getItem(gn)??``,searchText:``,searchMatches:[],searchIndex:-1,inputMode:null,prefs:e,syncErrorFloorUntil:0,syncBusy:!1,syncSuccessFlashUntil:0,toast:null,alerts:[],seenAlertIds:new Set,alertsConfig:Cn(),dashboardPrefs:{},alertToastQueue:[],dragPreviewOrder:null,update:yn(),...mt,basket:{items:Ct(),rejectedReason:null},doctor:null,doctorModalOpen:!1,heroScrolled:!1,chromeOverlayOpen:0,openSourceDetail:null,openSourceDetailSelection:null,sourceSessionsSort:null}}var U=wn(),Tn=new Set,En=``;function Dn(){Tn.forEach(e=>{try{e()}catch(e){console.error(`subscriber error:`,e)}})}function W(){return U}function On(e=U){return e.dashboardPrefs.cache_failure_markers!==!1}function kn(e=U){return e.dashboardPrefs.live_tail!==!1}function An(e=U){return e.dashboardPrefs.lan_auth!==!1}function jn(e=U){return e.update.state?.configured_channel===`beta`?`beta`:`stable`}function Mn(e){return e.composerModal?`composer`:e.shareModal?`share`:e.update.modalOpen?`update`:e.doctorModalOpen?`doctor`:e.openSourceDetail==null?e.openModal==null?null:`panel`:`source-detail`}function G(e){return Tn.add(e),()=>{Tn.delete(e)}}function Nn(e=U){let t=Qe(e.snapshot?.sessions?.rows??[],e.filterText),n=e.prefs.sessionsSortOverride;return(n?ut(t,pt,n):t.slice().sort(Ze(e.sessionsSort))).slice(0,e.prefs.sessionsPerPage)}function Pn(e=U,t=e.activeSource){return Qt(e.snapshot,t,Rt(e.accountFocus,t,`codex`))}function Fn(e=U){if(e.activeSource===`claude`)return on(Nn(e).map(e=>({key:e.session_id,source:`claude`,started_utc:e.started_utc,duration_min:e.duration_min,model:e.model,project:e.project,project_key:e.project_key,cost_usd:e.cost_usd,cache_hit_pct:e.cache_hit_pct,title:e.title})));let t=un(cn(en(Pn(e),e.activeSource)),e.filterText),n=e.sourceSessionsSort;return(n?ut(t,pn({includeSource:e.activeSource===`all`,oneModel:!1}),n):t.slice().sort(mn)).slice(0,e.prefs.sessionsPerPage)}function In(e){if(!e.searchText)return{searchMatches:[],searchIndex:-1};let t=e.activeSource===`claude`?et(Nn(e),e.searchText,Xe(e.snapshot)):dn(Fn(e),e.searchText);return t.length===0?{searchMatches:[],searchIndex:-1}:{searchMatches:t,searchIndex:e.searchIndex<0||e.searchIndex>=t.length?0:e.searchIndex}}function Ln(e){let t=e?.generated_at??``;if(t&&En&&t<En)return!1;t&&(En=t);let n={...U,snapshot:e};return U={...n,...In(n)},Dn(),!0}function Rn(){En=``}var zn={openModal:null,openModalSource:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null,shareModal:null,composerModal:null,openSourceDetail:null,openSourceDetailSelection:null};function Bn(e,t){return e===void 0?typeof t==`string`&&t?ne(t):null:e}function K(e){switch(e.type){case`OPEN_MODAL`:U={...U,openModal:e.kind,openModalSource:U.activeSource,openSessionId:e.sessionId??null,openBlockStartAt:e.blockStartAt??null,openDailyDate:e.dailyDate??null,openProjectKey:e.projectKey??null};break;case`CLOSE_MODAL`:U={...U,openModal:null,openModalSource:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null};break;case`SET_ACTIVE_SOURCE`:if(U.activeSource===e.source)break;At(e.source);{let t={...U,activeSource:e.source};U={...t,...In(t)}}break;case`SET_ACCOUNT_FOCUS`:if(U.accountFocus[e.slot][e.source]===e.account)break;It(e.source,e.account,e.slot),U={...U,accountFocus:{...U.accountFocus,[e.slot]:{...U.accountFocus[e.slot],[e.source]:e.account}},selectedConversationId:null,selectedConversationRef:null,conversationJump:null,convFindOpen:!1,compare:null,comparePick:null};break;case`OPEN_SOURCE_DETAIL`:U={...U,openSourceDetail:{source:e.source,resource:e.resource,key:e.key},openSourceDetailSelection:U.activeSource};break;case`CLOSE_SOURCE_DETAIL`:if(U.openSourceDetail==null)break;U={...U,openSourceDetail:null,openSourceDetailSelection:null};break;case`SET_SOURCE_SESSIONS_SORT`:{let t={...U,sourceSessionsSort:e.override};U={...t,...In(t)};break}case`SET_VIEW`:U={...U,view:e.view,...zn,compare:null,comparePick:null,compareCloseFocusPending:!1,...e.view===`dashboard`?{selectedConversationId:null,selectedConversationRef:null,conversationJump:null,conversationSearch:``,conversationSearchKind:`all`}:{}};break;case`OPEN_CONVERSATION`:{let t=Bn(e.conversationRef,e.sessionId);if(!t)break;let n=!B(t,U.selectedConversationRef);U={...U,view:`conversations`,...zn,compare:null,comparePick:null,compareCloseFocusPending:!1,selectedConversationId:t.source===`claude`?t.key:null,selectedConversationRef:t,conversationJump:e.jump??null,...n?{convFocusMode:`all`,convOutlineTab:`outline`,convCurrentTurnUuid:null,convPinnedUuid:null,convPinnedAnchorKey:null,convFindOpen:!1,convOutlineMobileOpen:!1,convBookmarks:ve(t)}:{}};break}case`SELECT_CONVERSATION`:{let t=Bn(e.conversationRef,e.sessionId),n=!B(t,U.selectedConversationRef);U={...U,...n?{convOutlineMobileOpen:!1,convFindOpen:!1,convBookmarks:t?ve(t):{}}:{},compare:null,comparePick:null,compareCloseFocusPending:!1,selectedConversationId:t?.source===`claude`?t.key:null,selectedConversationRef:t,conversationJump:null,convFocusMode:`all`,convOutlineTab:`outline`,convCurrentTurnUuid:null,convPinnedUuid:null,convPinnedAnchorKey:null};break}case`SET_CONVERSATION_SEARCH`:U={...U,conversationSearch:e.text,...e.text===``?{conversationSearchKind:`all`}:{}};break;case`SET_CONVERSATION_SEARCH_KIND`:U={...U,conversationSearchKind:e.kind};break;case`CLEAR_CONVERSATION_JUMP`:U={...U,conversationJump:null};break;case`TOGGLE_CONV_OUTLINE`:{let e=!U.convOutlineOpen;try{localStorage.setItem(vn,e?`true`:`false`)}catch{}U={...U,convOutlineOpen:e};break}case`SET_CONV_OUTLINE_WIDTH`:{let t=ke(e.px);if(t===U.convOutlineWidth)break;je(t),U={...U,convOutlineWidth:t};break}case`TOGGLE_CONV_OUTLINE_MOBILE`:U={...U,convOutlineMobileOpen:!U.convOutlineMobileOpen};break;case`CLOSE_CONV_OUTLINE_MOBILE`:U={...U,convOutlineMobileOpen:!1};break;case`SET_CONV_FOCUS_MODE`:U={...U,convFocusMode:e.mode};break;case`SET_CONV_OUTLINE_TAB`:U={...U,convOutlineTab:e.tab};break;case`OPEN_CONV_FIND`:U={...U,convFindOpen:!0};break;case`CLOSE_CONV_FIND`:U={...U,convFindOpen:!1};break;case`SET_CONVERSATION_FILTERS`:{let t={...U.conversationFilters,...e.patch};De({filters:t,sort:U.conversationRailSort}),U={...U,conversationFilters:t};break}case`CLEAR_CONVERSATION_FILTERS`:De({filters:I,sort:U.conversationRailSort}),U={...U,conversationFilters:I};break;case`TOGGLE_CONV_FILTERS`:U={...U,convFiltersOpen:!U.convFiltersOpen};break;case`SET_CONV_FILTERS_OPEN`:U={...U,convFiltersOpen:e.open};break;case`SET_CONVERSATION_RAIL_SORT`:De({filters:U.conversationFilters,sort:e.sort}),U={...U,conversationRailSort:e.sort};break;case`START_COMPARE_PICK`:{let t=Bn(e.anchorRef,e.anchor);if(!t||!B(t,U.selectedConversationRef))break;U={...U,comparePick:{anchor:t},convOutlineMobileOpen:!1}}break;case`CANCEL_COMPARE_PICK`:U={...U,comparePick:null,convFiltersOpen:!1,compareCloseFocusPending:!0};break;case`OPEN_COMPARE`:{let t=Bn(e.aRef,e.a),n=Bn(e.bRef,e.b);if(!t||!n||B(t,n))break;U={...U,...zn,view:`conversations`,selectedConversationId:t.source===`claude`?t.key:null,selectedConversationRef:t,conversationJump:null,comparePick:null,convFiltersOpen:!1,compare:{a:t,b:n}};break}case`SWAP_COMPARE`:U={...U,compare:U.compare?{a:U.compare.b,b:U.compare.a}:null};break;case`CLOSE_COMPARE`:U={...U,compare:null,compareCloseFocusPending:!0};break;case`CLEAR_COMPARE_CLOSE_FOCUS`:U={...U,compareCloseFocusPending:!1};break;case`CACHE_CONVERSATION_TITLES`:{let t=!1,n={...U.conversationTitles};for(let[r,i]of e.titles){if(!r||!i)continue;let e=L(r)?z(r):r;n[e]!==i&&(n[e]=i,t=!0)}t&&(U={...U,conversationTitles:n});break}case`SET_CONV_CURRENT_TURN`:if(U.convCurrentTurnUuid===e.uuid)break;e.uuid!=null&&U.selectedConversationRef!=null&&ue(U.selectedConversationRef,e.uuid),U={...U,convCurrentTurnUuid:e.uuid};break;case`SET_CONV_PINNED_TURN`:{let t=e.anchorKey??null;if(U.convPinnedUuid===e.uuid&&U.convPinnedAnchorKey===t)break;U={...U,convPinnedUuid:e.uuid,convPinnedAnchorKey:t};break}case`CLEAR_CONV_PIN`:if(U.convPinnedUuid===null&&U.convPinnedAnchorKey===null)break;U={...U,convPinnedUuid:null,convPinnedAnchorKey:null};break;case`TOGGLE_BOOKMARK`:{let t=Bn(e.conversationRef,e.sessionId)??U.selectedConversationRef;if(!t)break;ye(t,e.uuid),B(t,U.selectedConversationRef)&&(U={...U,convBookmarks:ve(t)});break}case`SET_BOOKMARK_NOTE`:{let t=Bn(e.conversationRef,e.sessionId)??U.selectedConversationRef;if(!t)break;be(t,e.uuid,e.note),B(t,U.selectedConversationRef)&&(U={...U,convBookmarks:ve(t)});break}case`SET_FILTER`:{e.text?localStorage.setItem(gn,e.text):localStorage.removeItem(gn);let t={...U,filterText:e.text};U={...t,...In(t)};break}case`SET_SEARCH`:{let t={...U,searchText:e.text,searchIndex:0};U={...t,...In(t)};break}case`SET_SEARCH_MATCHES`:U={...U,searchMatches:e.matches,searchIndex:e.index};break;case`SET_SORT`:{let t={...U,sessionsSort:e.key};U={...t,...In(t)};break}case`SET_INPUT_MODE`:U={...U,inputMode:e.mode};break;case`SAVE_PREFS`:{let t={...U.prefs,...e.patch};localStorage.setItem(hn,JSON.stringify(t));let n={...U,prefs:t};U={...n,...In(n)};break}case`RESET_PREFS`:{let e=U.prefs.onboardingToastSeen,t=U.prefs.mobileOnboardingToastSeen;localStorage.removeItem(hn),localStorage.removeItem(gn);let n=xn();n.onboardingToastSeen=e,n.mobileOnboardingToastSeen=t,n.panelOrderSchemaVersion=6,localStorage.setItem(hn,JSON.stringify(n)),U={...U,prefs:n,filterText:``,searchText:``,searchMatches:[],searchIndex:-1,sessionsSort:n.sortDefault};break}case`RESET_PANEL_ORDER`:{let e={...U.prefs,panelOrder:[...nt],panelOrderSchemaVersion:6};localStorage.setItem(hn,JSON.stringify(e)),U={...U,prefs:e};break}case`REORDER_PANELS`:{let{from:t,to:n}=e,r=U.prefs.panelOrder,i=tn(r,en(U.snapshot,U.activeSource));if(t===n||t<0||t>=i.length||n<0||n>=i.length)break;let a=i.slice(),[o]=a.splice(t,1);a.splice(n,0,o);let s=nn(r,i,a),c={...U.prefs,panelOrder:s};localStorage.setItem(hn,JSON.stringify(c)),U={...U,prefs:c};break}case`SET_DRAG_PREVIEW`:U={...U,dragPreviewOrder:e.order};break;case`COMMIT_DRAG_PREVIEW`:{let e=U.dragPreviewOrder;if(!e)break;let t={...U.prefs,panelOrder:e};localStorage.setItem(hn,JSON.stringify(t)),U={...U,prefs:t,dragPreviewOrder:null};break}case`CLEAR_DRAG_PREVIEW`:if(U.dragPreviewOrder==null)break;U={...U,dragPreviewOrder:null};break;case`SWAP_PANELS`:{let{index:t,direction:n}=e,r=U.prefs.panelOrder,i=tn(r,en(U.snapshot,U.activeSource));if(t<0||t>=i.length)break;let a=rt[i[t]].row,o=t+n;for(;o>=0&&o<i.length&&rt[i[o]].row!==a;)o+=n;if(o<0||o>=i.length)break;let s=i.slice();[s[t],s[o]]=[s[o],s[t]];let c=nn(r,i,s),l={...U.prefs,panelOrder:c};localStorage.setItem(hn,JSON.stringify(l)),U={...U,prefs:l};break}case`MARK_ONBOARDING_TOAST_SEEN`:{if(U.prefs.onboardingToastSeen)break;let e={...U.prefs,onboardingToastSeen:!0};localStorage.setItem(hn,JSON.stringify(e)),U={...U,prefs:e};break}case`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:{if(U.prefs.mobileOnboardingToastSeen)break;let e={...U.prefs,mobileOnboardingToastSeen:!0};localStorage.setItem(hn,JSON.stringify(e)),U={...U,prefs:e};break}case`SET_SYNC_ERROR_FLOOR`:U={...U,syncErrorFloorUntil:e.untilMs};break;case`SET_SYNC_BUSY`:U={...U,syncBusy:e.busy};break;case`SET_SYNC_SUCCESS_FLASH`:U={...U,syncSuccessFlashUntil:e.untilMs};break;case`SHOW_STATUS_TOAST`:U={...U,toast:{kind:`status`,text:e.text}};break;case`SHOW_ALERT_TOAST`:U={...U,toast:{kind:`alert`,payload:e.alert}};break;case`HIDE_TOAST`:if(U.toast?.kind===`alert`&&U.alertToastQueue.length>0){let[e,...t]=U.alertToastQueue;U={...U,toast:{kind:`alert`,payload:e},alertToastQueue:t}}else U={...U,toast:null};break;case`INGEST_SNAPSHOT_ALERTS`:{let t=new Set(U.seenAlertIds);if(e.isFirstTick){for(let n of e.alerts)t.add(n.id);U={...U,alerts:e.alerts,seenAlertIds:t,alertsConfig:Sn(e.alertsSettings),alertToastQueue:[]};break}let n=e.alerts.filter(e=>!t.has(e.id));for(let e of n)t.add(e.id);let r=U.toast,i=U.alertToastQueue;n.length>0&&(!r||r.kind!==`alert`?(r={kind:`alert`,payload:n[0]},i=[...i,...n.slice(1)]):i=[...i,...n]),U={...U,alerts:e.alerts,seenAlertIds:t,alertsConfig:Sn(e.alertsSettings),alertToastQueue:i,toast:r};break}case`INGEST_SOURCE_ALERTS`:{let t=new Set(U.seenAlertIds);if(e.isFirstTick){for(let n of e.rows)for(let e of E(n))t.add(e);U={...U,seenAlertIds:t,alertsConfig:Sn(e.alertsSettings),alertToastQueue:[]};break}let n=e.rows.filter(e=>!t.has(T(e)));for(let e of n)for(let n of E(e))t.add(n);let r=U.toast,i=U.alertToastQueue;n.length>0&&(!r||r.kind!==`alert`?(r={kind:`alert`,payload:n[0]},i=[...i,...n.slice(1)]):i=[...i,...n]),U={...U,seenAlertIds:t,alertsConfig:Sn(e.alertsSettings),alertToastQueue:i,toast:r};break}case`INGEST_DASHBOARD_PREFS`:U={...U,dashboardPrefs:e.prefs};break;case`SET_TABLE_SORT`:{let t=e.table===`history`?{...U.prefs,historySortOverrides:{...U.prefs.historySortOverrides,[e.periodKind]:e.override}}:{...U.prefs,[e.table===`trend`?`trendSortOverride`:e.table===`projects`?`projectsSortOverride`:`sessionsSortOverride`]:e.override};localStorage.setItem(hn,JSON.stringify(t));let n={...U,prefs:t};U={...n,...In(n)};break}case`CLEAR_TABLE_SORTS`:{let e={...U.prefs,trendSortOverride:null,sessionsSortOverride:null,projectsSortOverride:null,historySortOverride:null,historySortOverrides:{week:null,month:null}};localStorage.setItem(hn,JSON.stringify(e));let t={...U,prefs:e};U={...t,...In(t)};break}case`OPEN_UPDATE_MODAL`:U={...U,update:{...U.update,modalOpen:!0}};break;case`CLOSE_UPDATE_MODAL`:U={...U,update:{...U.update,modalOpen:!1}};break;case`SET_UPDATE_STATE`:U={...U,update:{...U.update,state:e.state,suppress:e.suppress}};break;case`SET_UPDATE_STATUS`:U={...U,update:{...U.update,status:e.status,errorMessage:e.errorMessage===void 0?U.update.errorMessage:e.errorMessage}};break;case`SET_UPDATE_RUN_ID`:U={...U,update:{...U.update,runId:e.runId,startedAt:e.startedAt===void 0?U.update.startedAt:e.startedAt}};break;case`APPEND_UPDATE_STREAM`:U={...U,update:{...U.update,stream:[...U.update.stream,e.event]}};break;case`RESET_UPDATE_RUN`:U={...U,update:{...U.update,status:`idle`,runId:null,stream:[],errorMessage:null,startedAt:null}};break;case`OPEN_SHARE`:case`CLOSE_SHARE`:case`OPEN_COMPOSER`:case`CLOSE_COMPOSER`:{let t=e.type===`OPEN_SHARE`?e.source??(U.openModal==null?null:U.openModalSource)??U.activeSource:U.activeSource,n=e.type===`OPEN_SHARE`?Ut(U.snapshot,t,t===`all`?`codex`:t,U.accountFocus):null,r=e.type===`OPEN_SHARE`?{...e,source:t,account:e.account??n}:e,i=ht({shareModal:U.shareModal,composerModal:U.composerModal},r);U={...U,...i};break}case`BASKET_ADD`:case`BASKET_REMOVE`:case`BASKET_REORDER`:case`BASKET_CLEAR`:case`BASKET_CLEAR_REJECTED`:case`BASKET_HYDRATE`:{let t=xt(U.basket,e);if(t===U.basket)break;let n=t.items!==U.basket.items;U={...U,basket:t},n&&wt(t.items),e.type===`BASKET_ADD`&&t.rejectedReason===`capacity`&&(U={...U,toast:{kind:`status`,text:`Basket is full (20 sections). Remove one to add another.`}});break}case`SET_DOCTOR_AGGREGATE`:U={...U,doctor:e.doctor};break;case`OPEN_DOCTOR_MODAL`:U={...U,doctorModalOpen:!0};break;case`CLOSE_DOCTOR_MODAL`:U={...U,doctorModalOpen:!1};break;case`SET_HERO_SCROLLED`:U.heroScrolled!==e.scrolled&&(U={...U,heroScrolled:e.scrolled});break;case`INCREMENT_CHROME_OVERLAY`:U={...U,chromeOverlayOpen:U.chromeOverlayOpen+1};break;case`DECREMENT_CHROME_OVERLAY`:U={...U,chromeOverlayOpen:Math.max(0,U.chromeOverlayOpen-1)};break}Dn()}var Vn=o((e=>{var t=d(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),q=o(((e,t)=>{t.exports=Vn()}))(),Hn=320;function Un(){return W().basket}function Wn(){let e=(0,_.useSyncExternalStore)(G,Un).items.length,[t,n]=(0,_.useState)(!1),r=(0,_.useRef)(e);if((0,_.useEffect)(()=>{if(e>r.current){n(!0);let t=setTimeout(()=>n(!1),Hn);return r.current=e,()=>clearTimeout(t)}r.current=e},[e]),e===0)return null;let i=e===1?`section`:`sections`;return(0,q.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:()=>K(vt()),children:[(0,q.jsxs)(`svg`,{className:`basket-chip-icon`,width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,focusable:`false`,children:[(0,q.jsx)(`rect`,{x:`2.75`,y:`2`,width:`8.5`,height:`10.5`,rx:`1`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`}),(0,q.jsx)(`rect`,{x:`4.5`,y:`0.75`,width:`5`,height:`2.5`,rx:`0.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]}),(0,q.jsx)(`span`,{className:`basket-chip-count`,children:e})]})}var Gn={ok:`OK`,warn:`WARN`,fail:`FAIL`};function Kn(){let e=(0,_.useSyncExternalStore)(G,()=>W().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: ${Gn[t]} — ${n.ok} OK, ${n.warn} warn, ${n.fail} fail`,o=`Doctor · ${Gn[t]} (click for report)`;try{let e=new Date(r).toLocaleTimeString();o=`Doctor · ${Gn[t]} · checked ${e} (click for report)`}catch{}return(0,q.jsxs)(`button`,{type:`button`,className:`doctor-chip doctor-chip--${t}`,title:o,"aria-label":a,onClick:()=>K({type:`OPEN_DOCTOR_MODAL`}),children:[(0,q.jsx)(`span`,{className:`doctor-chip-label`,children:`Doctor`}),(0,q.jsx)(`span`,{className:`doctor-chip-status`,children:i})]})}function qn(){return(0,_.useSyncExternalStore)(G,()=>W().snapshot)}var Jn=`/api/update/status`,Yn=`/api/update`,Xn=`/api/update/dismiss`;function Zn(e,t=null){return e===`brew`?`brew update --quiet && brew upgrade cctally`:e===`npm`?`npm install -g cctally@${t??`latest`}`:null}function Qn(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 $n(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:tr(a,o,t),method:u,update_command:u===`npm`&&r===`beta`&&o?Zn(`npm`,o):Zn(u,null),release_notes_url:m,check_status:f,checked_at_utc:p,prerelease_note:Qn(a),configured_channel:r}}function er(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 tr(e,t,n){if(!e||!t||!nr(t,e)||n.skipped_versions.includes(t))return!1;let r=n.remind_after;if(r&&r.version&&r.until_utc)try{if(!nr(t,r.version)){let e=Date.parse(r.until_utc);if(Number.isFinite(e)&&Date.now()<e)return!1}}catch{}return!0}function nr(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 rr(){try{let e=await fetch(Jn);if(!e.ok)return;let t=await e.json(),n=er(t?.suppress),r=$n(t?.state,n,t?.configured_channel);K({type:`SET_UPDATE_STATE`,state:r,suppress:n}),W().update.status===`success`&&r?.current_version&&r.current_version===r.latest_version&&(K({type:`CLOSE_UPDATE_MODAL`}),K({type:`RESET_UPDATE_RUN`}))}catch{}}async function ir(){K({type:`RESET_UPDATE_RUN`}),K({type:`SET_UPDATE_STATUS`,status:`running`,errorMessage:null}),K({type:`SET_UPDATE_RUN_ID`,runId:null,startedAt:Date.now()});try{let e=await fetch(Yn,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`}),t=await e.json().catch(()=>({}));if(e.status===202&&typeof t.run_id==`string`){K({type:`SET_UPDATE_RUN_ID`,runId:t.run_id});return}if(e.status===409&&typeof t.run_id_in_progress==`string`){K({type:`SET_UPDATE_RUN_ID`,runId:t.run_id_in_progress});return}K({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:typeof t.error==`string`?t.error:`failed to start update (HTTP ${e.status})`})}catch(e){K({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`network error: `+e.message})}}async function ar(e){if(e){try{if((await fetch(Xn,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`skip`,version:e})})).ok){let t=W().update;t.state&&K({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]}}),K({type:`CLOSE_UPDATE_MODAL`})}}catch{}await rr()}}async function or(e){try{if((await fetch(Xn,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`remind`,days:e})})).ok){let e=W().update;e.state&&K({type:`SET_UPDATE_STATE`,state:{...e.state,available:!1},suppress:e.suppress}),K({type:`CLOSE_UPDATE_MODAL`})}}catch{}await rr()}var sr={refreshState:rr,start:ir,skip:ar,remind:or,open:()=>K({type:`OPEN_UPDATE_MODAL`}),close:()=>K({type:`CLOSE_UPDATE_MODAL`})},cr=null,lr=!1,ur=!1,dr=0,fr=new Set,pr=!0;function mr(){return lr}function hr(){return ur}function gr(e){return fr.add(e),()=>{fr.delete(e)}}function _r(){fr.forEach(e=>{try{e()}catch(e){console.error(`status subscriber error:`,e)}})}function vr(e={}){cr&&=(cr.close(),null),lr=!1,ur=!1;let t=++dr;pr=!0,_r(),Rn(),(async()=>{try{let t=await(await fetch(`/api/data`)).json();Ln(t)&&(ur&&(ur=!1,_r()),br(t),xr(t),Sr(t),Cr(t)),e.onConnect?.()}catch(e){console.error(`initial snapshot failed:`,e),t===dr&&W().snapshot==null&&!ur&&(ur=!0,_r())}})(),cr=new EventSource(`/api/events`),cr.addEventListener(`update`,t=>{try{let n=JSON.parse(t.data);Ln(n)&&(ur&&(ur=!1,_r()),br(n),xr(n),Sr(n),Cr(n)),lr&&(lr=!1,_r(),e.onConnect?.())}catch(e){console.error(`SSE parse failed:`,e)}}),cr.onerror=()=>{lr||(lr=!0,pr=!0,_r(),e.onDisconnect?.())}}var yr={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 br(e){K({type:`INGEST_SOURCE_ALERTS`,rows:O(e),alertsSettings:e.alerts_settings??yr,isFirstTick:pr}),pr=!1}function xr(e){if(!e.update)return;let t=er(e.update.suppress);K({type:`SET_UPDATE_STATE`,state:$n(e.update.state,t,e.update.configured_channel),suppress:t})}function Sr(e){e.doctor&&K({type:`SET_DOCTOR_AGGREGATE`,doctor:e.doctor})}function Cr(e){K({type:`INGEST_DASHBOARD_PREFS`,prefs:e.dashboard_prefs??{}})}function wr(){return{disconnected:(0,_.useSyncExternalStore)(gr,()=>mr()),bootstrapError:(0,_.useSyncExternalStore)(gr,()=>hr())}}function Tr(e){return Number.isFinite(e)&&e>0?Math.floor(e):0}function Er(e){let t=Tr(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 Dr(e){return`${Er(e)} ago`}function Or(e){let t=Tr(e),n=t<300?`fresh`:t<1800?`aging`:`stale`;return{text:Dr(t),bucket:n}}function kr({id:e=`sync-chip`}={}){let t=qn(),{disconnected:n}=wr(),r=(0,_.useSyncExternalStore)(G,()=>W().syncErrorFloorUntil),i=(0,_.useSyncExternalStore)(G,()=>W().syncBusy),a=(0,_.useSyncExternalStore)(G,()=>W().syncSuccessFlashUntil),[o,s]=(0,_.useState)(`sync paused`),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(``),f=(0,_.useRef)(0),[,p]=(0,_.useState)(0),[,m]=(0,_.useState)(0),h=Date.now(),g=h<r,v=h<a;if((0,_.useEffect)(()=>{if(!(g||v)){if(n){s(`disconnected`),l(`var(--accent-red)`),d(``);return}if(t){if(t.last_sync_error){s(t.sync_failure?.label??`⚠ server sync error`),l(`var(--accent-red)`),d(``);return}if(t.sync_age_s==null){s(`sync paused`),l(``),d(``),f.current=0;return}l(``),f.current=t.sync_age_s|0;{let e=Or(f.current);s(`synced ${e.text}`),d(e.bucket)}}}},[t,n,g,v]),(0,_.useEffect)(()=>{let e=window.setInterval(()=>{if(n||Date.now()<W().syncErrorFloorUntil||!t||t.sync_age_s==null||t.last_sync_error)return;f.current+=1;let e=Or(f.current);s(`synced ${e.text}`),d(e.bucket)},1e3);return()=>window.clearInterval(e)},[t,n]),(0,_.useEffect)(()=>{if(!g)return;let e=r-Date.now();if(e<=0)return;let t=window.setTimeout(()=>p(e=>e+1),e);return()=>window.clearTimeout(t)},[r,g]),(0,_.useEffect)(()=>{if(!v)return;let e=a-Date.now();if(e<=0)return;let t=window.setTimeout(()=>m(e=>e+1),e);return()=>window.clearTimeout(t)},[a,v]),i)return(0,q.jsx)(`span`,{className:`sync-chip mute syncing`,id:e,"aria-busy":`true`,"aria-live":`polite`,children:`syncing…`});if(g)return(0,q.jsx)(`span`,{className:`sync-chip mute sync-error`,id:e,"aria-live":`polite`,style:{color:`var(--accent-red)`},children:`⚠ sync request failed`});if(v)return(0,q.jsx)(`span`,{className:`sync-chip mute sync-success`,id:e,"aria-live":`polite`,children:`✓ updated`});let y=!n&&t?.last_sync_error?t.sync_failure:null,b=y?[y.detail,y.action].filter(Boolean).join(` `):void 0;return(0,q.jsx)(`span`,{className:`sync-chip mute`+(u?` sync-chip--${u}`:``)+(y||n?` sync-error`:``),id:e,"aria-live":`polite`,"aria-label":b,title:b,style:{color:c},children:o})}var Ar=[{value:`claude`,label:`Claude`},{value:`codex`,label:`Codex`},{value:`all`,label:`All`}];function jr(){let e=(0,_.useSyncExternalStore)(G,()=>W().activeSource),t=(0,_.useSyncExternalStore)(G,()=>W().view),n=qn(),r=(0,_.useRef)([]),[i,a]=(0,_.useState)(``);if(t!==`dashboard`)return null;let o=e=>n?.sources?.[e]?.availability,s=e=>{let t=Ar[e];K({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)%Ar.length;break;case`ArrowLeft`:case`ArrowUp`:n=(t-1+Ar.length)%Ar.length;break;case`Home`:n=0;break;case`End`:n=Ar.length-1;break;default:return}e.preventDefault(),s(n)};return(0,q.jsxs)(`div`,{className:`source-switcher`,role:`radiogroup`,"aria-label":`Data source`,children:[Ar.map((t,n)=>{let i=t.value===e,a=o(t.value);return(0,q.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,q.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"data-testid":`source-switcher-live`,children:i})]})}var Mr={claude:`hero and alerts only`,codex:`filters every panel`},Nr={claude:`Claude accounts`,codex:`Codex accounts`};function Pr(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 Fr({provider:e,selection:t,labelled:n}){let r=qn(),i=(0,_.useSyncExternalStore)(G,()=>W().accountFocus),a=(0,_.useRef)([]),[o,s]=(0,_.useState)(``),c=(0,_.useRef)(null),l=zt(r?.sources?.[e]??null),u=l==null?null:Ut(r,t,e,i),d=l==null?null:u??`all`,f=d==null?null:d===`all`?`All accounts`:l?.find(e=>e.accountKey===d)?.label??`All accounts`;if((0,_.useEffect)(()=>{if(d==null){c.current=null;return}if(c.current==null){c.current=d;return}c.current!==d&&(c.current=d,s(d===`all`?`All accounts selected`:`${f} account selected`))},[d,f]),l==null)return null;let p=Pr(l),m=`account-focus-${e}-label`,h=n=>{let r=p[n];K({type:`SET_ACCOUNT_FOCUS`,source:e,slot:Mt(t),account:r.key}),a.current[n]?.focus()},g=(e,t)=>{let n;switch(e.key){case`ArrowRight`:case`ArrowDown`:n=(t+1)%p.length;break;case`ArrowLeft`:case`ArrowUp`:n=(t-1+p.length)%p.length;break;case`Home`:n=0;break;case`End`:n=p.length-1;break;default:return}e.preventDefault(),h(n)};return(0,q.jsxs)(`div`,{className:`account-chip-row`,role:`radiogroup`,...n?{"aria-labelledby":m}:{"aria-label":`Account focus`},"data-testid":`account-chip-row`,"data-provider":e,children:[n&&(0,q.jsxs)(`span`,{className:`account-chip-rowlabel`,id:m,children:[(0,q.jsx)(`span`,{className:`account-chip-rowprovider`,children:Nr[e]}),` `,(0,q.jsx)(`span`,{className:`account-chip-rowqualifier`,"data-testid":`account-chip-qualifier-${e}`,children:Mr[e]})]}),p.map((e,t)=>{let n=e.key===d;return(0,q.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:()=>h(t),onKeyDown:e=>g(e,t),children:[(0,q.jsx)(`span`,{className:`account-chip-label`,children:e.label}),e.hint!=null&&(0,q.jsx)(`span`,{className:`account-chip-hint`,children:e.hint})]},e.key)}),(0,q.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"data-testid":`account-chip-live`,children:o})]})}function Ir(){let e=qn(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource);if((0,_.useSyncExternalStore)(G,()=>W().view)!==`dashboard`)return null;let n=Ht(e,t);return n.length===0?null:t===`all`?(0,q.jsx)(`div`,{className:`account-chip-rows`,"data-testid":`account-chip-rows`,children:n.map(e=>(0,q.jsx)(Fr,{provider:e,selection:`all`,labelled:!0},e))}):(0,q.jsx)(Fr,{provider:n[0],selection:t,labelled:!1})}var Lr=new Set([`hero`,`daily`,`weekly`,`monthly`,`sessions`,`projects`,`quota`,`budget`,`forensics`,`alerts`]);function Rr(e){return e!=null&&e.length>0?e[0]:null}function zr(e){let t=e.domain;return t==null||t===`ingest`||t===`read_model`||!Lr.has(t)}function Br(e){return e==null?null:e.find(zr)??Rr(e)}function Vr(e,t){return e==null?null:e.find(zr)??e.find(e=>e.domain===t)??null}function Hr(e){return typeof e==`object`&&e?e:void 0}function Ur(e,t){let n=e.domain_freshness?.[t];return n===`fresh`||n===`stale`?n:e.freshness}var Wr=[`claude`,`codex`];function Gr(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?Kr(e):{code:n.code,message:n.message}}}let r=n.legs;return{value:{costUsd:n.cost_usd,totalTokens:n.total_tokens},legs:r,contributors:Wr.filter(e=>r?.[e]?.state===`current`),qualifications:n.qualifications??[],unavailable:null}}function Kr(e){if(e==null)return null;let t=Vr(e.warnings,`hero`);return t==null?null:{code:t.code,message:t.message}}function qr(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 Jr(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($t(n))return{mode:`skeleton`,noSuccessYet:!1};let r=n.capabilities?.sessions?.status,i=n.last_success_at==null,a=Vr(n.warnings,`sessions`);return r===`deferred`||r===`not_applicable`?{mode:`hidden`,noSuccessYet:!1}:n.availability===`unavailable`||r===`unavailable`?{mode:`degraded`,warning:a,noSuccessYet:i}:Hr(n.data)?.sessions===void 0?{mode:`hidden`,noSuccessYet:!1}:n.availability===`partial`&&(Ur(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 Yr(e){if(e.selection!==`all`)return Jr(e,e.selection);let t=[`claude`,`codex`].map(t=>Jr(en(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 Xr(){let e=(0,_.useSyncExternalStore)(G,()=>W().activeSource),t=(0,_.useSyncExternalStore)(G,()=>W().view),n=qn();if(t!==`dashboard`)return null;let r=en(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=Br(i.warnings),c=i.freshness===`stale`,l=e===`all`?Gr(i).unavailable:null,u,d;u=a?`no successful snapshot yet`:o&&s?Qr(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=$r(u);return(0,q.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,q.jsx)(`span`,{className:`source-status-label source-status-label--full`,"aria-hidden":`true`,children:u}),(0,q.jsx)(`span`,{className:`source-status-label source-status-label--compact`,"aria-hidden":`true`,children:f})]})}var Zr={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`};function Qr(e,t){return e===`projects`&&t===`codex_metadata_incomplete`?`Projects partial`:e==null?`Source degraded`:Zr[e]??`Source degraded`}function $r(e){return e===`no successful snapshot yet`?`No snapshot`:e===`Source degraded`||e===`degraded`?`Degraded`:e===`Projects partial`?`Projects`:e===`Combined withheld`?`Withheld`:e.replace(/ unavailable$/,``)}function ei(){let e=(0,_.useSyncExternalStore)(G,()=>W().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,q.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:()=>sr.open(),children:[(0,q.jsx)(`span`,{className:`badge-update-arrow`,"aria-hidden":`true`,children:`↑`}),(0,q.jsxs)(`span`,{className:`badge-update-version`,children:[`v`,n]}),r&&(0,q.jsx)(`span`,{className:`badge-update-channel`,children:`beta`})]})}function ti(e){return e?.transcriptsEnabled===!0}function ni(){let e=(0,_.useSyncExternalStore)(G,()=>W().view);return ti(qn())?(0,q.jsxs)(`div`,{className:`view-switcher`,role:`group`,"aria-label":`Workspace`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-pressed":e===`dashboard`,className:`view-seg${e===`dashboard`?` is-active`:``}`,onClick:()=>K({type:`SET_VIEW`,view:`dashboard`}),children:`Dashboard`}),(0,q.jsx)(`button`,{type:`button`,"aria-pressed":e===`conversations`,className:`view-seg${e===`conversations`?` is-active`:``}`,onClick:()=>K({type:`SET_VIEW`,view:`conversations`}),children:`Conversations`})]}):null}var ri=3e3,ii=1200,ai=300;async function oi(){if(W().syncBusy)return;let e=Date.now();K({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===503)return;if(e.ok){if(e.status===200){let t=await e.json().catch(()=>({})),n=(Array.isArray(t.warnings)?t.warnings:[]).filter(e=>e?.code&&e.code!==`rate_limited`);if(n.length>0){console.error(`/api/sync warnings:`,n.map(e=>e.code).join(`, `)),K({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+ri});return}}t=!0;return}console.error(`/api/sync failed: ${e.status}`),K({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+ri})}catch(e){console.error(`/api/sync failed:`,e),K({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+ri})}finally{let n=Date.now()-e;n<ai&&await new Promise(e=>setTimeout(e,ai-n)),t&&K({type:`SET_SYNC_SUCCESS_FLASH`,untilMs:Date.now()+ii}),K({type:`SET_SYNC_BUSY`,busy:!1})}}function si(e){document.dispatchEvent(new KeyboardEvent(`keydown`,{key:e}))}function ci(e,t,n,r){if(e===`all`)return null;if(e===`codex`){let e=en(t,`codex`).entry?.data;if(e?.hero==null||e?.quota==null)return null;let n=an(e.hero,e.quota);if(n.length===0)return null;let r=n[0];return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`topbar-condensed-pct`,children:H.pct1(r.current.current_percent)}),(0,q.jsx)(`span`,{className:`topbar-condensed-sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`topbar-condensed-reset`,children:r.label})]})}return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`topbar-condensed-pct`,children:H.pct1(n?.used_pct)}),(0,q.jsx)(`span`,{className:`topbar-condensed-sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsxs)(`span`,{className:`topbar-condensed-reset`,children:[`resets `,H.ddhh(r?.reset_in_sec)]})]})}function li(){let e=(0,_.useSyncExternalStore)(G,()=>W().update).state?.current_version??null,t=(0,_.useSyncExternalStore)(G,()=>W().view),n=(0,_.useSyncExternalStore)(G,()=>W().heroScrolled),r=(0,_.useSyncExternalStore)(G,()=>W().activeSource),i=qn(),a=i?.header,o=ci(r,i,a,i?.current_week??null),s=t===`dashboard`&&n&&o!=null;return(0,q.jsxs)(`header`,{className:`topbar${s?` is-scrolled`:``}`,"data-view":t,children:[(0,q.jsx)(`h1`,{className:`sr-only`,children:`cctally dashboard`}),(0,q.jsxs)(`div`,{className:`stat topbar-brand`,children:[(0,q.jsx)(`span`,{className:`brand-name`,children:`cctally`}),e?(0,q.jsxs)(`span`,{className:`brand-version`,children:[`v`,e]}):null,(0,q.jsx)(ei,{}),i?.channel===`preview`?(0,q.jsx)(`span`,{className:`preview-badge`,title:`Preview channel — running against a real data snapshot, not your live prod dashboard`,children:`PREVIEW`}):null]}),(0,q.jsx)(ni,{}),(0,q.jsx)(jr,{}),(0,q.jsx)(Ir,{}),s&&(0,q.jsx)(`div`,{className:`topbar-condensed`,"data-testid":`topbar-condensed`,"data-source":r,children:o}),(0,q.jsxs)(`div`,{className:`topbar-actions`,children:[(0,q.jsx)(Xr,{}),(0,q.jsx)(Kn,{}),(0,q.jsx)(Wn,{}),(0,q.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-settings`,"aria-label":`Open settings`,onClick:()=>si(`s`),children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#settings`})})}),(0,q.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-help`,"aria-label":`Open help`,onClick:()=>si(`?`),children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#help-circle`})})}),(0,q.jsxs)(`button`,{type:`button`,className:`topbar-sync`,onClick:()=>oi(),title:`Sync now (r)`,"aria-label":`Sync now`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#refresh`})}),(0,q.jsx)(kr,{})]})]})]})}function ui(e){return(0,_.useSyncExternalStore)(G,()=>Pn(void 0,e))}function di(e){return e===`all`?`codex`:e}function fi(e,t){let n=(0,_.useSyncExternalStore)(G,()=>W().snapshot),r=(0,_.useSyncExternalStore)(G,()=>W().activeSource),i=e??r,a=t??(i===`all`?null:i);return Xt(n,i,(0,_.useSyncExternalStore)(G,()=>a==null?`all`:Rt(W().accountFocus,i,a)),a)}var pi=`(max-width: 640px)`,mi=`(min-width: 1101px)`,hi=`(min-width: 900px)`,gi=`(min-width: 1200px)`,_i=`(max-width: 880px)`;function vi(){let[e,t]=(0,_.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(pi).matches);return(0,_.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(pi),n=e=>{t(e.matches)};return e.addEventListener(`change`,n),t(e.matches),()=>{e.removeEventListener(`change`,n)}},[]),e}var yi={tz:`local`,resolvedTz:`Etc/UTC`,offsetLabel:`UTC`,offsetSeconds:0,pinned:!1};function bi(){let e=qn();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}:yi}var xi={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 Si(e){return e==null?null:xi[e]??null}var Ci=900,wi=3600;function Ti(e){return e==null||e<=Ci?`fresh`:e<=wi?`aging`:`stale`}var Ei=`button, a, input, select, textarea, [role="button"], [data-card-region-ignore]`;function Di(e){let t=e;return!!(t&&typeof t.closest==`function`&&t.closest(Ei))}function Oi(e){return t=>{Di(t.target)||e()}}var ki=[`#5b8def`,`#e0913b`,`#3fa66a`,`#b569d6`,`#d15b7f`,`#3fb6b0`];function Ai(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 ${Er(r)}`}function ji(e){return e==null?`—`:`${Math.round(e)}%`}function Mi({card:e,color:t,focused:n}){let r=e.unattributed===!0,i=Date.now(),a=r?null:Ai(e.resetsAt,i);return(0,q.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,q.jsxs)(`div`,{className:`account-hero-card-head`,children:[(0,q.jsx)(`span`,{className:`account-hero-card-label`,children:e.label}),e.plan!=null&&(0,q.jsx)(`span`,{className:`account-hero-card-plan`,children:e.plan}),e.cycleFreshness===`stale`&&(0,q.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,q.jsx)(`span`,{className:`account-hero-card-active`,title:`Active account`,children:`●`})]}),!r&&(0,q.jsxs)(`div`,{className:`account-hero-card-bars`,children:[(0,q.jsxs)(`div`,{className:`account-hero-bar`,"data-metric":`weekly`,children:[(0,q.jsx)(`span`,{className:`account-hero-bar-label`,children:`Weekly`}),(0,q.jsx)(`div`,{className:`account-hero-bar-track`,children:(0,q.jsx)(`div`,{className:`account-hero-bar-fill`,style:{width:`${Math.min(100,e.weeklyPercent??0)}%`}})}),(0,q.jsx)(`span`,{className:`account-hero-bar-value`,children:ji(e.weeklyPercent)})]}),(0,q.jsxs)(`div`,{className:`account-hero-bar`,"data-metric":`five-hour`,children:[(0,q.jsx)(`span`,{className:`account-hero-bar-label`,children:`5h`}),(0,q.jsx)(`div`,{className:`account-hero-bar-track`,children:(0,q.jsx)(`div`,{className:`account-hero-bar-fill`,style:{width:`${Math.min(100,e.fiveHourPercent??0)}%`}})}),(0,q.jsx)(`span`,{className:`account-hero-bar-value`,children:ji(e.fiveHourPercent)})]})]}),(0,q.jsxs)(`div`,{className:`account-hero-card-foot`,children:[(0,q.jsxs)(`span`,{className:`account-hero-card-spend`,children:[`$`,e.spendUsd.toFixed(2)]}),a!=null&&(0,q.jsx)(`span`,{className:`account-hero-card-reset`,children:a}),e.spendWindow!=null&&(0,q.jsx)(`span`,{className:`account-hero-card-window`,"data-testid":`account-card-window`,children:Je(e.spendWindow)}),r&&(0,q.jsx)(`span`,{className:`account-hero-card-note`,children:`totals only`})]})]})}function Ni(){let e=qn(),t=fi(),n=(0,_.useSyncExternalStore)(G,()=>W().activeSource),r=(0,_.useSyncExternalStore)(G,()=>W().accountFocus),i=n===`all`,a=(i?[`claude`,`codex`]:[n]).flatMap(t=>{let n=zt(e?.sources?.[t]??null);return n==null?[]:[{source:t,accounts:n}]});if(a.length===0)return null;let o=a[0].source,s=!i&&t.isEmpty&&t.card!=null?`No ${o===`codex`?`Codex`:`Claude`} activity recorded for ${t.card.label}.`:null;return(0,q.jsxs)(`div`,{className:`account-hero-cards`,"data-testid":`account-hero-cards`,children:[a.map(t=>{let a=Ut(e,n,t.source,r),o=i||a==null?t.accounts:t.accounts.filter(e=>e.accountKey===a);return(0,q.jsxs)(`div`,{className:`account-hero-provider-group`,"data-source":t.source,children:[i&&(0,q.jsxs)(`p`,{className:`account-hero-caption`,"data-testid":`account-hero-caption`,children:[t.source===`claude`?`Claude`:`Codex`,` accounts — each has its own quota cycle.`]}),o.map(e=>{let n=t.accounts.findIndex(t=>t.accountKey===e.accountKey);return(0,q.jsx)(Mi,{card:e,color:ki[(n<0?0:n)%ki.length],focused:a===e.accountKey},e.accountKey)})]},t.source)}),s!=null&&(0,q.jsx)(`p`,{className:`account-hero-empty`,"data-testid":`account-hero-empty`,role:`status`,children:s})]})}var Pi=`Codex quota evidence is stale — this spend is current, but the forecast is paused until Codex reports again.`,Fi=`Spent this week`;function Ii(e){let t=e?.find(e=>e.spendWindow!=null)?.spendWindow;return t==null?null:`Includes accounts with no live cycle, counted over the ${Je(t)}.`}function Li(e){let t=e?.find(e=>e.spendWindow!=null)?.spendWindow;return t==null?null:`Incl. no-cycle accounts · ${Je(t)}`}function Ri(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 zi(e){if(!e||e.files<=0)return null;let t=e.files===1?`session`:`sessions`;return`+${e.files} ${t} still loading`}function Bi(e){return!e||e.files<=0?null:`+${e.files} more`}function Vi(...e){let t=e.filter(e=>!!e);return t.length?t.join(` `):null}var Hi={all:`Combined usage summary`,claude:`Claude week usage summary`,codex:`Codex cycle usage summary`};function Ui(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=e?.header,r=(e?.current_week??null)?.freshness??null,i=Si(n?.forecast_verdict??null),a=Ti(r?.age_seconds),o=bi(),s={tz:o.resolvedTz,offsetLabel:o.offsetLabel},c=(0,_.useRef)(null),l=vi();(0,_.useEffect)(()=>{if(!l)return;let e=c.current;if(!e||typeof IntersectionObserver>`u`)return;let t=new IntersectionObserver(e=>{let t=e[0];t&&K({type:`SET_HERO_SCROLLED`,scrolled:!t.isIntersecting})},{threshold:0,rootMargin:`-64px 0px 0px 0px`});return t.observe(e),()=>{t.disconnect(),K({type:`SET_HERO_SCROLLED`,scrolled:!1})}},[l]);let u=()=>K({type:`OPEN_MODAL`,kind:`current-week`}),d=(0,q.jsx)(Wi,{source:t,env:e,ctx:s,verdict:i,heroLabel:a});return(0,q.jsxs)(`section`,{ref:c,className:`hero-strip`,role:`region`,tabIndex:0,"aria-label":Hi[t],"data-hero-strip":``,"data-source":t,onClick:Oi(u),onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},children:[(0,q.jsx)(`h2`,{className:`sr-only`,children:Hi[t]}),d,(0,q.jsx)(Ni,{})]})}function Wi({source:e,env:t,ctx:n,verdict:r,heroLabel:i}){let a=t?.header,o=t?.current_week??null,s=fi(e,`claude`),c=fi(e,`codex`),l=Ki(t);if(e===`claude`){let e=en(t,`claude`).entry,c=zt(e),u=s.requestedKey==null?null:c?.find(e=>e.accountKey===s.requestedKey)??null,d=c!=null&&u==null,f=qi(u?.resetsAt,l),p=c?.reduce((e,t)=>e+t.spendUsd,0)??null;return(0,q.jsx)(Qi,{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:f,spentUsd:u==null?d?p:o?.spent_usd:u.spendUsd,dollarPerPct:c==null?a?.dollar_per_pct:null,forecastPct:c==null?a?.forecast_pct:null,vsLastWeekDelta:c==null?a?.vs_last_week_delta:null,freshness:c==null?o?.freshness??null:null,ctx:n,verdict:c==null?r:null,heroLabel:i,showFiveHour:!d&&(u?.fiveHourPercent!=null||c==null),perAccountNote:d?`per account`:null,withheldUsedPct:u!=null&&u.weeklyPercent==null})}let u=en(t,`codex`).entry,d=u?.data,f=d?.hero.cycle,p=zt(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?an(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),v=u?.capabilities?.hero?.status===`unavailable`||d?.hero?.cost_usd==null,y=d?.hero?.cycle_freshness===`stale`,b=Ri(d?.ingest_backlog),x=zi(d?.ingest_backlog),S=Bi(d?.ingest_backlog),C=Vr(u?.warnings,`hero`),w=m?.histories.find(e=>e.key===g?.key)?.forecast,T=qi(g?.current.resets_at,l),E=g?Date.parse(g.current.captured_at):NaN,D=Number.isFinite(E)?Math.max(0,(Date.now()-E)/1e3):null,O=Ti(D),k=g?.current.current_percent??null,A=v?null:d?.hero.cost_usd,j=A!=null&&k!=null&&k>0?A/k:null,M=d?.hero.cycle?.start_at?Date.parse(d.hero.cycle.start_at):NaN,N=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(M)&&Number.isFinite(t)&&t<=M}).sort((e,t)=>Date.parse(t.end_at??``)-Date.parse(e.end_at??``))[0]?.dollar_per_pct??null,P=j!=null&&N!=null?j-N:null,F=w?.status===`ok`?w.projected_percent:null,I=F==null?null:Si(F>=100?`capped`:F>=90?`cap`:`ok`),ee=g&&D!=null?{...g.current,label:O,age_seconds:D}:null,te=f?H.dateShort(f.start_at,n):null,L=f?H.dateShort(f.resets_at,n):null,ne=te&&L?`${te}–${L}`:te??L;if(e===`codex`){let e=c.scopesSupported&&c.accountKey==null,t=e?Ii(zt(u)):null,r=e?Li(zt(u)):null,i=e?null:c.card?.spendWindow??null;return(0,q.jsx)(Qi,{weekLabel:e?null:ne,usedPct:e?null:k,fiveHourPct:e?null:_?.current.current_percent,resetInSec:e?null:T,spentUsd:A,dollarPerPct:e?null:j,forecastPct:e?null:F,vsLastWeekDelta:e?null:P,freshness:e?null:ee,ctx:n,verdict:e?null:I,heroLabel:O,showFiveHour:!e&&_!=null,unavailableReason:!e&&v?C?.message??`Cycle accounting unavailable`:null,spentNote:Vi(e||!y?null:Pi,t,b),spentNoteLabel:Vi(t,x),spentNoteCompactLabel:r==null&&S==null?null:Vi(r??t,S??x),spentLabel:i==null?void 0:`SPENT · ${Je(i).toUpperCase()}`,spentLabelSpoken:i==null?void 0:`Spent over the ${Je(i)}`,perAccountNote:e?`per account`:null})}let R=en(t,`all`).entry,re=Gr(R??null),z=re.value!=null,B=z?null:re.unavailable,V=re.legs?.claude??null,ie=re.legs?.codex??null,ae=z?qr(re.contributors):`COMBINED · CURRENT CYCLES`,oe=z&&re.contributors.length>0?re.value:null,se=p&&c.accountKey==null,ce=en(t,`claude`).entry,le=zt(ce),ue=s.requestedKey==null?null:le?.find(e=>e.accountKey===s.requestedKey)??null,de=le!=null&&ue==null,fe=ue==null?de?null:a?.used_pct??null:ue.weeklyPercent,pe=le!=null&&fe==null,me=ue==null?V?.state===`current`?Ji(V.period,l):o?.reset_in_sec??null:qi(ue.resetsAt,l),he=ie?.state===`current`?Ji(ie.period,l):T;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`hero-zone hero-usage`,"data-testid":`shared-hero-usage`,children:[(0,q.jsxs)(`div`,{className:`hu-block`,"data-provider-block":`claude`,children:[(0,q.jsxs)(`div`,{className:`hu-label`,children:[`CLAUDE · WEEK`,de?(0,q.jsx)(`span`,{className:`hu-week`,children:` · per account`}):null]}),(0,q.jsx)(`div`,{className:pe?`hu-num is-blank`:`hu-num`,children:H.pct1(fe)}),(0,q.jsx)(Yi,{provider:`claude`,perAccount:de,resetInSec:me})]}),(0,q.jsxs)(`div`,{className:`hu-block`,"data-provider-block":`codex`,children:[(0,q.jsxs)(`div`,{className:`hu-label`,children:[`CODEX · 7-DAY CYCLE`,se?(0,q.jsx)(`span`,{className:`hu-week`,children:` · per account`}):null]}),(0,q.jsx)(`div`,{className:se?`hu-num is-blank`:`hu-num`,children:se?`—`:H.pct1(g?.current.current_percent)}),(0,q.jsx)(Yi,{provider:`codex`,perAccount:se,resetInSec:he})]})]}),(0,q.jsxs)(`div`,{className:`hero-zone hero-spent`,"data-testid":`shared-hero-spent`,title:B?.message,children:[(0,q.jsx)(`div`,{className:`hs-label`,"data-testid":`hero-combined-heading`,children:ae}),(0,q.jsx)(`div`,{className:oe==null?`hs-big is-blank`:`hs-big`,children:oe==null?`—`:H.usd0(oe.costUsd)}),(0,q.jsx)(`div`,{className:`hs-sub`,children:B==null?oe==null?z?(0,q.jsx)(`span`,{"data-testid":`hero-combined-no-data`,children:`no accounting in either current cycle`}):null:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{children:H.tokens(oe.totalTokens)}),` total tokens`]}):(0,q.jsx)(`span`,{className:`panel-degraded-chip`,"data-testid":`shared-hero-warning`,title:B.message,"aria-label":`Combined total withheld: ${B.message}`,children:`Combined withheld`})}),B==null?null:(0,q.jsx)(`div`,{className:`hs-sub hero-combined-reason`,"data-testid":`hero-combined-reason`,children:B.message}),re.qualifications.length>0?(0,q.jsx)(`div`,{className:`hs-sub hero-combined-qualifications`,children:re.qualifications.map(e=>(0,q.jsx)(`span`,{className:`chip hero-combined-qualification`,"data-testid":`hero-combined-qualification`,"data-code":e.code,title:e.message,"aria-label":e.message,children:Zi(e)},e.code+(e.provider??``)))}):null]}),(0,q.jsxs)(`div`,{className:`hero-zone hero-support`,"data-testid":`shared-hero-support`,children:[(0,q.jsxs)(`div`,{className:`sup-row`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`Claude · week to date`}),(0,q.jsx)(`span`,{className:`sup-v`,"data-testid":`hero-leg-claude`,children:(0,q.jsx)(Xi,{leg:V,perAccount:de,provider:`claude`})})]}),(0,q.jsxs)(`div`,{className:`sup-row`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`Codex · cycle to date`}),(0,q.jsx)(`span`,{className:`sup-v`,"data-testid":`hero-leg-codex`,children:(0,q.jsx)(Xi,{leg:ie,perAccount:se,provider:`codex`})})]})]})]})}var Gi={claude:`Claude`,codex:`Codex`};function Ki(e){let t=Date.parse(e?.generated_at??``);return Number.isFinite(t)?t:Date.now()}function qi(e,t){if(e==null)return null;let n=Date.parse(e);return Number.isFinite(n)?Math.max(0,(n-t)/1e3):null}function Ji(e,t){if(e==null)return null;let n=qi(e.end_at,t);return n!=null&&n>0?n:null}function Yi({provider:e,perAccount:t,resetInSec:n}){let r=Gi[e];return t?(0,q.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,q.jsx)(`span`,{children:`per account`})]}):n==null?null:(0,q.jsxs)(`div`,{className:`hu-reset`,"data-testid":`hero-${e}-reset`,children:[r,` resets in `,(0,q.jsx)(`span`,{children:H.ddhh(n)})]})}function Xi({leg:e,perAccount:t,provider:n}){return t?(0,q.jsx)(`span`,{className:`hero-per-account-value`,"data-testid":`hero-per-account-value`,title:`Each ${Gi[n]} account has its own cycle — independent spend is shown per account below.`,children:`per account`}):e==null||e.state===`empty`?(0,q.jsx)(`span`,{className:`hero-leg-no-data`,children:`no data`}):(0,q.jsx)(q.Fragment,{children:H.usd2(e.cost_usd)})}function Zi(e){return e.code===`codex_ingest_backlog`?`Codex still loading`:e.code===`provider_empty`?`${e.provider?Gi[e.provider]:`A provider`} no data`:`Qualified`}function Qi({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,spentNote:m=null,spentNoteLabel:h=null,spentNoteCompactLabel:g=null,spentLabel:_=`SPENT THIS WEEK`,spentLabelSpoken:v=Fi,perAccountNote:y=null,withheldUsedPct:b=!1}){let x=y==null?null:(0,q.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:y});return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`hero-zone hero-usage`,children:[(0,q.jsxs)(`div`,{className:`hu-block`,children:[(0,q.jsxs)(`div`,{className:`hu-label`,children:[`WEEK USAGE`,e?(0,q.jsxs)(`span`,{className:`hu-week`,children:[` · `,e]}):null]}),(0,q.jsx)(`div`,{className:`hu-num${t==null&&(y!=null||b)?` is-blank`:``}`,children:H.pct1(t)})]}),f&&(0,q.jsxs)(`div`,{className:`hu-block`,"data-testid":`hero-five-hour`,children:[(0,q.jsx)(`div`,{className:`hu-label`,children:`5-HOUR`}),(0,q.jsx)(`div`,{className:`hu-num hu-num--sm`,children:H.pct0(n)})]}),y==null?(0,q.jsxs)(`div`,{className:`hu-reset`,children:[`resets in `,(0,q.jsx)(`span`,{children:H.ddhh(r)})]}):(0,q.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,q.jsx)(`span`,{children:y})]})]}),(0,q.jsxs)(`div`,{className:`hero-zone hero-spent`,title:p??m??void 0,role:`group`,"aria-label":(()=>{let e=p??m;return e?`${v}. ${e}`:v===Fi?void 0:v})(),children:[(0,q.jsx)(`div`,{className:`hs-label`,children:_}),(0,q.jsx)(`div`,{className:`hs-big`,children:H.usd0(i)}),(0,q.jsx)(`div`,{className:`hs-sub`,children:x==null?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{children:H.usd2(a)}),` / 1% used`]}):(0,q.jsxs)(q.Fragment,{children:[`$ / 1% used `,x]})}),p==null&&h!=null?(0,q.jsxs)(`div`,{className:`hs-sub`,"data-testid":`hero-spent-note`,"aria-hidden":`true`,children:[(0,q.jsx)(`span`,{className:g==null?`hero-spent-note-text`:`hero-spent-note-text hero-ingest-backlog-label-full`,children:h}),g==null?null:(0,q.jsx)(`span`,{className:`hero-ingest-backlog-label-compact`,children:g})]}):null]}),(0,q.jsxs)(`div`,{className:`hero-zone hero-support`,children:[(0,q.jsxs)(`div`,{className:`sup-row`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`Forecast @ reset`}),(0,q.jsx)(`span`,{className:`sup-v${l?` is-${l.cls}`:``}`,children:x??H.pct0(o)})]}),(()=>{let e=s;if(e==null)return(0,q.jsxs)(`div`,{className:`sup-row`,"data-metric":`vs-last-week`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`$/1% vs last week`}),(0,q.jsx)(`span`,{className:`sup-v`,children:x??`—`})]});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=H.usd2(Math.abs(e));return(0,q.jsxs)(`div`,{className:`sup-row`,"data-metric":`vs-last-week`,"aria-label":t?`$/1% flat versus last week`:`$/1% ${a} ${o} versus last week`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`$/1% vs last week`}),(0,q.jsxs)(`span`,{className:`sup-v`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,style:{color:i},children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${r}`})}),(0,q.jsx)(`span`,{children:t?`flat`:o})]})]})})(),d&&(0,q.jsxs)(`div`,{className:`sup-row`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`Snapshot`}),(0,q.jsxs)(`span`,{className:`sup-v sup-fresh chip-${u}`,"data-freshness":u,title:`Captured ${H.datetimeShort(d.captured_at,c)}`+(u===`stale`?` · stale`:``),children:[u===`stale`?`⚠ stale · `:``,Dr(d.age_seconds)]})]})]})]})}function $i(){let e=(W().snapshot?.sessions?.rows??[])[0]?.session_id;e&&K({type:`OPEN_MODAL`,kind:`session`,sessionId:e})}function ea(){let e=W().snapshot?.blocks?.rows??[];e.length!==0&&K({type:`OPEN_MODAL`,kind:`block`,blockStartAt:(e.find(e=>e.is_active)??e[0]).start_at})}function ta(e){let{searchMatches:t,searchIndex:n}=W();if(t.length===0)return;let r=t.length;K({type:`SET_SEARCH_MATCHES`,matches:t,index:((n<0?0:n)+e+r)%r})}var na=`Can't close this tab — use your browser to close it.`;function ra(){try{window.close()}catch{}window.setTimeout(()=>{window.closed||K({type:`SHOW_STATUS_TOAST`,text:na})},100)}function ia(){return(0,q.jsxs)(`footer`,{className:`footer`,children:[(0,q.jsxs)(`span`,{className:`kb`,children:[(0,q.jsx)(`kbd`,{children:`↑/↓`}),` scroll`]}),(0,q.jsxs)(`span`,{className:`kb`,children:[(0,q.jsx)(`kbd`,{className:`accent-green`,children:`tab`}),` next panel`]}),(0,q.jsxs)(`button`,{className:`kb-btn`,id:`footer-r`,type:`button`,onClick:()=>oi(),children:[(0,q.jsx)(`kbd`,{className:`accent-purple`,children:`r`}),` refresh`]}),(0,q.jsxs)(`button`,{className:`kb-btn`,id:`footer-s`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`s`})),children:[(0,q.jsx)(`kbd`,{children:`s`}),` settings`]}),(0,q.jsxs)(`button`,{className:`kb-btn`,id:`footer-help`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`?`})),children:[(0,q.jsx)(`kbd`,{className:`accent-amber`,children:`?`}),` help`]}),(0,q.jsxs)(`button`,{className:`kb-btn`,id:`footer-q`,type:`button`,onClick:()=>ra(),children:[(0,q.jsx)(`kbd`,{children:`q`}),` quit`]})]})}var aa=new Set,oa=null,sa={overlay:0,modal:1,sessions:2,global:3};function ca(e){return e===`modal`||e===`overlay`?`any`:`dashboard`}function la(e){if(!e||!(e instanceof Element))return!1;let t=e.tagName;if(t===`INPUT`||t===`TEXTAREA`)return!0;if(e instanceof HTMLElement){if(e.isContentEditable)return!0;let t=e.getAttribute(`contenteditable`);if(t===``||t===`true`||t===`plaintext-only`)return!0}return!1}function ua(e){return e.forEach(e=>aa.add(e)),()=>e.forEach(e=>aa.delete(e))}function da(e){if(e.ctrlKey||e.metaKey||e.altKey||la(e.target)&&e.key.length===1)return;let t=W().view,n=[...aa].sort((e,t)=>{let n=sa[e.scope]-sa[t.scope];return n===0?(t.layer??0)-(e.layer??0):n});for(let r of n){if(r.key!==e.key)continue;let n=r.view??ca(r.scope);if(!(n!==`any`&&n!==t)&&!(r.when&&!r.when())){r.action(),e.preventDefault();return}}}function fa(){oa||(oa=da,document.addEventListener(`keydown`,oa))}function pa(e){(0,_.useEffect)(()=>ua(e),[e])}var ma=[`a[href]`,`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`summary`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function ha(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 ga(e){return Array.from(e.querySelectorAll(ma)).filter(e=>!e.hasAttribute(`disabled`)&&!ha(e))}function _a(e,{active:t,trapEnabled:n=!0,triggerId:r,initialFocus:i=`first`}){(0,_.useEffect)(()=>{if(!t)return;let n=(r?document.getElementById(r):null)??document.activeElement,a=e.current;return a&&(i===`container`?a.focus():i===`heading`?(a.querySelector(`[data-modal-heading], #modal-title, h2`)??ga(a)[0]??a).focus():(ga(a)[0]??a).focus()),()=>{if(n&&typeof n.focus==`function`&&document.contains(n))n.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[t,r,i]),(0,_.useEffect)(()=>{if(!t||!n)return;function r(t){if(t.key!==`Tab`)return;let n=e.current;if(!n||!n.contains(document.activeElement))return;let r=ga(n);if(r.length===0){t.preventDefault(),n.focus();return}let i=r[0],a=r[r.length-1],o=document.activeElement;(o?r.indexOf(o):-1)===-1?(t.preventDefault(),(t.shiftKey?a:i).focus()):t.shiftKey&&o===i?(t.preventDefault(),a.focus()):!t.shiftKey&&o===a&&(t.preventDefault(),i.focus())}return document.addEventListener(`keydown`,r,!0),()=>document.removeEventListener(`keydown`,r,!0)},[t,n])}var va=0,ya=``,ba=``;function xa(e){(0,_.useEffect)(()=>{if(e){if(va===0){let e=document.documentElement;ya=e.style.overflow,ba=document.body.style.overflow,e.style.overflow=`hidden`,document.body.style.overflow=`hidden`}return va+=1,()=>{--va,va===0&&(document.documentElement.style.overflow=ya,document.body.style.overflow=ba)}}},[e])}function Sa(){return(0,q.jsx)(`span`,{className:`panel-grip`,"aria-hidden":`true`,"data-card-region-ignore":!0,children:`⋮⋮`})}var Ca={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 wa(e,t){return Ca[e].has(t)}var Ta={claude:`Claude`,codex:`Codex`,all:`All`};function Ea({panel:e,panelLabel:t,onClick:n,triggerId:r,dataTestId:i}){return wa((0,_.useSyncExternalStore)(G,()=>W().activeSource),e)?(0,q.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,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,children:[(0,q.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,q.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 Da({label:e,onOpen:t,disabled:n=!1}){let r=e=>{e.stopPropagation(),!n&&t()},i=`${e}: nothing to open yet`;return(0,q.jsx)(`button`,{type:`button`,className:`panel-expand`,"aria-label":n?i:`Open ${e}`,title:n?i:`Expand`,onClick:r,disabled:n,children:(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`⤢`})})}function Oa(e){let t=e.trim();return t.replace(/^claude-/i,``).replace(/-\d{8}$/,``)||t}var ka=137.50776405003785,Aa=[.48,.56],ja=[.14,.18],Ma=96,Na=`#f8fafc`,Pa=`#090b10`;function Fa(e){return e?.trim()?e.trim().toLowerCase().replace(/\[[^\]]+\]$/,``).replace(/-\d{8}$/,``):``}function Ia(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 La(e){return Math.min(1,Math.max(0,e))}function Ra(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function za(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Ba(e){return Math.round(La(e)*255).toString(16).padStart(2,`0`)}function Va(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=Ra(4.0767416621*l-3.3077115913*u+.2309699292*d),p=Ra(-1.2684380046*l+2.6097574011*u-.3413193965*d),m=Ra(-.0041960863*l-.7034186147*u+1.707614701*d);return`#${Ba(f)}${Ba(p)}${Ba(m)}`}function Ha(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 Ua(e){let[t,n,r]=Ha(e).map(za),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 Wa(e,t){let n=Ua(e),r=Ua(t);return Math.hypot(n.l-r.l,n.a-r.a,n.b-r.b)}function Ga(e){let[t,n,r]=Ha(e).map(za);return .2126*t+.7152*n+.0722*r}function Ka(e,t){let n=Ga(e),r=Ga(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function qa(e){let t=Ia(e)%360,n=[],r=new Set;for(let e=0;e<Ma;e+=1){let i=(t+e*ka)%360,a=Aa[e%Aa.length],o=ja[Math.floor(e/Aa.length)%ja.length],s=Va(a,o,i);r.has(s)||(r.add(s),n.push(s))}return n}function Ja(e){return Ka(e,Na)>=Ka(e,Pa)?Na:Pa}function Ya(){let e=new Map;return{styleFor(t){let n=Fa(t);if(!n)return;let r=e.get(n);if(r)return r;let i=[...e.values()].map(e=>e.backgroundColor),a=qa(n),o=a[0],s=-1;if(i.length>0)for(let e of a){let t=Math.min(...i.map(t=>Wa(e,t)));t>s&&(o=e,s=t)}let c={backgroundColor:o,color:Ja(o)};return e.set(n,c),c}}}function Xa(e){return e?e.includes(`opus`)?`opus`:e.includes(`sonnet`)?`sonnet`:e.includes(`haiku`)?`haiku`:e.includes(`fable`)?`fable`:`other`:`other`}var Za=Ya();function Qa(e){return Za.styleFor(e)}function $a(e,t=2){let n=new Set,r=[];for(let t of e){let e=Fa(t);if(!e||n.has(e))continue;n.add(e);let i=Xa(t),a=Oa(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 eo={weekly:12,monthly:8},to=30;function no(e){return e===`claude`?`Claude`:`Codex`}function ro(e,t){return e?.sources?.[t]??null}function io(e,t,n,r,i,a){let o=ro(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=>Ur(o,e)===`stale`);if(n==null){let e=o?.availability===`empty`?`empty`:`unavailable`;return{source:t,label:no(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:no(t),status:`degraded`,reason:s?.message??(l==null?o?.capabilities[c]?.semantics??a:o?.domain_freshness==null?`${no(t)} data is stale.`:`${no(t)} ${l} data is stale.`),value:n}:{source:t,label:no(t),status:`available`,reason:null,value:n}}function ao(e){return e===`all`?[`claude`,`codex`]:[e]}var oo={state:`withheld`,code:`rows_absent`};function so(e){return e.provider==null?{state:`withheld`,code:e.code}:{state:`withheld`,code:e.code,provider:e.provider}}function co(e,t){let n=e?.sources?.all?.data?.aggregates,r=n?.[t];return n==null||r==null||typeof r.state!=`string`?{withheld:oo}:r.state===`withheld`?{withheld:so(r)}:{available:r.qualifications??[]}}function lo(e){return e?.sources?.all?.data?.aggregates?.range??null}function uo(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 fo(e,t){return e>0?[{model:t,display:t===`claude`?`Claude`:`Codex`,chip:t===`claude`?`opus`:`other`,cost_usd:e,cost_pct:100}]:[]}function po(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:Xa(r),cost_usd:i,cost_pct:e>0?i/e*100:0}]})}function mo(e,t,n){let r=po(e.cost_usd,e.model_breakdowns,!0),i=r.length>0?r:fo(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 ho(e,t,n){let r=uo(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)=>mo(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=eo[n];return[...a.slice(0,e),...o.slice(0,e)]}return(t===`codex`?o:a).slice(0,eo[n])}function go(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)?e:/^\d{2}-\d{2}$/.test(e)?`${new Date().getFullYear()}-${e}`:e}function _o(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 vo(e){let t=go(e.label),n=po(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:fo(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 yo(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 bo(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?yo(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 xo(e,t){let n=uo(e,t),r=[...n.codex?.periods?.daily?.rows??[]].sort((e,t)=>t.label.localeCompare(e.label)).map(vo);if(t===`claude`)return{state:`available`,range:null,qualifications:[],rows:(e?.daily?.rows??[]).slice(0,to)};if(t===`codex`)return{state:`available`,range:null,qualifications:[],rows:_o(bo(r,e?.daily?.rows??[],`codex`)).slice(0,to)};let i=co(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 oo;let s=a,c=new Map;for(let e of[...a,...r]){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:lo(e),qualifications:i.available,rows:_o(bo(l,s)).slice(0,to)}}function So(e,t){if(t==null||t===``)return{claude:null,codex:null};let n=uo(e,`all`),r=(n.claude?.periods.daily_aggregate?.rows??[]).find(e=>e.date===t)??null,i=(n.codex?.periods.daily.rows??[]).map(vo).find(e=>e.date===t)??null;return{claude:r==null?null:{...r,source:`claude`},codex:i}}function Co(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 wo(e,t,n){return{source:e,label:no(e),rows:t.map(t=>({...t,source:e})),historyRows:n.map(t=>({...t,source:e}))}}function To(e,t){if(t===`claude`){let n=e?.trend?.weeks??[];return{rows:n,sections:[wo(`claude`,n,e?.trend?.history??n)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}if(t===`all`){let n=e?.trend?.weeks??Co(ho(e,`claude`,`weekly`),`claude`),r=e?.trend?.history??n,i=Co(ho(e,`codex`,`weekly`),`codex`);return{rows:[],sections:[wo(`claude`,n,r),wo(`codex`,i,i)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}let n=Co(ho(e,`codex`,`weekly`),`codex`);return{rows:n,sections:[wo(`codex`,n,n)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}function Eo(e){return new Set((e?.summary.active??[]).map(e=>e.key))}function Do(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=uo(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&&Eo(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 Oo(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&&Eo(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 ko(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}}function Ao(e,t){let n=uo(e,t);return{selection:t,sections:ao(t).map(t=>{let r=t===`claude`?n.claude:n.codex;return io(e,t,r==null?null:ko(r.budget),[`budget`],[],`${no(t)} budget is unavailable.`)})}}function jo(e,t){return{selection:t,sections:ao(t).map(t=>{let n=Do(e,t),r=((t===`codex`?uo(e,t).codex:null)?.quota.histories??[]).filter(e=>!e.model_scoped),i=r.find(e=>e.window_minutes===10080)?.forecast??r[0]?.forecast,a=io(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`],`${no(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 Mo(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 No(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 Po(e,t){let n=uo(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:lo(e),qualifications:[],rows:No(Mo(n))};let r=co(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 oo;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:lo(e),qualifications:r.available,rows:No([...o,...Mo(n)])}}function Fo(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:po(e.cost_usd,e.model_breakdowns),label:e.label,value:e.cost_usd,valueLabel:`$${e.cost_usd.toFixed(2)}`}}function Io(e,t){let n=uo(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`,value:e.cost_usd,valueLabel:`$${e.cost_usd.toFixed(2)}`})),i=(n.codex?.quota.blocks??[]).filter(e=>e.window_minutes===300).map(Fo);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 Lo(e){return[`claude`,`codex`].map(t=>{let n=e.filter(e=>e.source===t);return{source:t,label:no(t),count:n.length,cost:n.reduce((e,t)=>e+t.value,0)}})}function Ro(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 zo(e,t){return{selection:t,sections:ao(t).map(t=>{let n=io(e,t,t===`claude`?e?.cache_report??null:uo(e,t).codex?.cache_report??null,[`forensics`],[`sessions`],`${no(t)} cache report is unavailable.`);return n.value?.is_empty&&n.status===`available`?{...n,status:`empty`,value:null,reason:`No ${no(t)} cache activity is available for this window.`}:n})}}function Bo({source:e}){return(0,q.jsx)(`span`,{className:`source-chip source-chip--${e}`,"data-source":e,children:e===`claude`?`Claude`:`Codex`})}function Vo({gate:e}){let t=e.noSuccessYet?`no successful snapshot yet`:e.warning?.message??`degraded`,n=e.noSuccessYet?`no snapshot`:`partial`;return(0,q.jsx)(`span`,{className:`panel-degraded-chip`,role:`status`,title:t,"aria-label":`Degraded: ${t}`,children:n})}var Ho={claude:`cctally budget set <amount>`,codex:`cctally budget set <amount> --vendor codex`},Uo=`No budget set.`,Wo=`No provider-wide budget set.`,Go={ok:`good`,warn:`warn`,over:`over`};function Ko({source:e,disposition:t}){return t===`account_budgets_only`?(0,q.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,q.jsx)(`p`,{className:`budget-empty-copy`,children:Wo}),(0,q.jsx)(`p`,{className:`budget-empty-hint`,children:`Per-account budgets are configured — see the account cards.`})]}):t===`provider_budget_unset`?(0,q.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,q.jsx)(`p`,{className:`budget-empty-copy`,children:Uo}),(0,q.jsx)(`p`,{className:`budget-empty-hint`,children:(0,q.jsx)(`code`,{className:`budget-empty-cmd`,children:Ho[e]})})]}):(0,q.jsx)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:(0,q.jsx)(`p`,{className:`budget-empty-copy`,children:`No budget status to show.`})})}function qo({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,q.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-unavailable-${e}`,children:[o!=null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`budget-figures`,children:[(0,q.jsx)(`span`,{className:`budget-target is-lone`,"data-testid":`budget-target-${e}`,children:n?H.usd2(o):H.usd0(o)}),(0,q.jsx)(`span`,{className:`budget-of`,children:`configured`}),s!=null&&(0,q.jsx)(`span`,{className:`budget-period-chip`,"data-testid":`budget-period-${e}`,children:s})]}),(0,q.jsx)(`div`,{className:`budget-window-unresolved`,"data-testid":`budget-window-${e}`,children:`window unresolved`})]}),(0,q.jsx)(`p`,{className:`budget-empty-copy`,children:a}),i.message!==``&&(0,q.jsx)(`p`,{className:`budget-empty-hint`,"data-testid":`budget-message-${e}`,children:i.message}),(0,q.jsx)(`p`,{className:`budget-empty-hint`,"data-testid":`budget-reason-${e}`,children:r})]})}function Jo({source:e,presentation:t,detailed:n,ctx:r}){let i=t.status,a=Go[i.verdict]??`good`,o=Math.min(100,Math.max(0,i.consumption_pct));return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`budget-figures`,children:[(0,q.jsx)(`span`,{className:`budget-spend`,"data-testid":`budget-spend-${e}`,children:n?H.usd2(i.spent_usd):H.usd0(i.spent_usd)}),(0,q.jsx)(`span`,{className:`budget-of`,children:`of`}),(0,q.jsx)(`span`,{className:`budget-target`,"data-testid":`budget-target-${e}`,children:n?H.usd2(i.budget_usd):H.usd0(i.budget_usd)}),(0,q.jsx)(`span`,{className:`budget-period-chip`,"data-testid":`budget-period-${e}`,children:i.period})]}),(0,q.jsx)(`div`,{className:`budget-bar is-${a}`,role:`presentation`,children:(0,q.jsx)(`div`,{className:`budget-bar-fill`,style:{width:`${o}%`}})}),(0,q.jsxs)(`div`,{className:`budget-verdict-line`,children:[(0,q.jsx)(`span`,{className:`budget-consumption`,"data-testid":`budget-consumption-${e}`,children:n?H.pct1(i.consumption_pct):H.pct0(i.consumption_pct)}),(0,q.jsx)(`span`,{className:`budget-verdict-chip is-${a}`,"data-testid":`budget-verdict-${e}`,children:i.verdict}),i.low_confidence&&(0,q.jsx)(`span`,{className:`budget-lowconf`,"data-testid":`budget-lowconf-${e}`,children:`low confidence`})]}),(0,q.jsxs)(`div`,{className:`fc-budget-foot budget-foot`,children:[(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Budget pace`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-pace-${e}`,children:H.usd2PerDay(i.pace.daily_usd)})]}),n&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Remaining`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:H.usd2(i.remaining_usd)})]}),(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Projection`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-projection-${e}`,children:i.pace.projected_low_usd==null||i.pace.projected_high_usd==null?`—`:`${H.usd2(i.pace.projected_low_usd)} – ${H.usd2(i.pace.projected_high_usd)}`})]}),(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Recent-24h`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:H.usd2(i.recent_24h_usd)})]}),(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Alert thresholds`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-thresholds-${e}`,children:i.alert_thresholds.length===0?`—`:i.alert_thresholds.map(e=>`${e}%`).join(` · `)})]}),(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Period`}),(0,q.jsxs)(`span`,{className:`fc-foot-v`,"data-testid":`budget-window-${e}`,children:[H.datetimeShort(i.window_start_at,r),` → `,H.datetimeShort(i.window_end_at,r)]})]})]})]})]})}function Yo({section:e,surface:t,ctx:n}){let r=`budget-${t}-${e.source}-heading`,i=e.value;return(0,q.jsxs)(`div`,{className:`source-provider-section provider-summary-card budget-provider-summary`,"data-budget-section":e.source,"data-surface":t,role:`region`,"aria-labelledby":r,children:[(0,q.jsxs)(`div`,{className:`source-provider-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:r,children:[e.label,` budget`]}),(0,q.jsx)(Bo,{source:e.source}),(0,q.jsx)(`strong`,{className:`budget-block-title`,children:`Budget`}),e.status!==`available`&&i==null&&(0,q.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),i==null?(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}):i.state===`configured`?(0,q.jsx)(Jo,{source:e.source,presentation:i,detailed:t===`modal`,ctx:n}):i.state===`not_configured`?(0,q.jsx)(Ko,{source:e.source,disposition:i.disposition}):(0,q.jsx)(qo,{source:e.source,presentation:i,detailed:t===`modal`}),i!=null&&e.reason!=null&&(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason})]})}function Xo({env:e,selection:t,surface:n}){let r=bi(),i={tz:r.resolvedTz,offsetLabel:r.offsetLabel};return(0,q.jsx)(q.Fragment,{children:Ao(e,t).sections.map(e=>(0,q.jsx)(Yo,{section:e,surface:n,ctx:i},e.source))})}function Zo(){return(0,q.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 Qo({section:e,perAccount:t,env:n}){let r=e.value==null,i=e.value??Do(n,e.source),a=t||r?null:Si(i.verdict),o=a?.cls??`good`,s=t?i.foot.filter(e=>e.label!==`Confidence`):i.foot;return(0,q.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,q.jsxs)(`div`,{className:`source-provider-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`forecast-panel-${e.source}-heading`,children:[e.label,` forecast`]}),(0,q.jsx)(Bo,{source:e.source}),e.status!==`available`&&!t&&!r&&(0,q.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),(0,q.jsxs)(`div`,{className:`provider-summary-kpis`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`provider-summary-label`,children:i.primaryLabel}),(0,q.jsx)(`strong`,{className:`provider-summary-value is-${o}`,children:t?(0,q.jsx)(Zo,{}):o===`over`&&i.projected!=null?`≥100%`:H.pct1(i.projected)})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`provider-summary-label`,children:t?`Current quota`:i.recentLabel}),(0,q.jsx)(`strong`,{className:`provider-summary-value`,children:t?(0,q.jsx)(Zo,{}):H.pct1(i.recent)})]})]}),a&&(0,q.jsxs)(`span`,{className:`fc-verdict-chip is-${o}`,children:[(0,q.jsx)(`span`,{className:`fc-verdict-glyph`,"aria-hidden":`true`,children:a.glyph}),` `,a.label]}),e.reason&&!t&&(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}),s.length>0&&(0,q.jsx)(`div`,{className:`fc-budget-foot`,children:s.map(e=>(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:e.label}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:e.value})]},e.label))})]})}function $o(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=fi(t,di(t)),r=jo(e,t),i=t===`all`?zt(e?.sources?.codex??null)!=null&&n.accountKey==null:n.scopesSupported&&n.accountKey==null;if(t===`all`)return(0,q.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:Oi(()=>K({type:`OPEN_MODAL`,kind:`forecast`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,q.jsxs)(`h2`,{children:[`Forecast `,(0,q.jsx)(`span`,{className:`sub`,children:`by provider`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>K(gt(`forecast`,`forecast-panel`))}),(0,q.jsx)(Da,{label:`Forecast`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`forecast`})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`panel-body source-all-sections provider-composition provider-composition--panel`,children:[r.sections.map(t=>(0,q.jsx)(Qo,{section:t,env:e,perAccount:t.source===`codex`&&i},t.source)),(0,q.jsx)(Xo,{env:e,selection:`all`,surface:`panel`})]})]});let a=Do(e,t),o=t===`codex`&&i,s=o?null:Si(a.verdict),c=s?.cls??`good`,l=!!s?.warn,u=c===`over`&&a.projected!=null?`≥100%`:H.pct1(a.projected);return(0,q.jsxs)(`section`,{className:`panel accent-purple fc-tile fc-esc-${c}${l?` fc-accent-edge`:``}`,id:`panel-forecast`,role:`region`,"aria-label":`Forecast panel`,"data-panel-kind":`forecast`,"data-source":t,onClick:Oi(()=>K({type:`OPEN_MODAL`,kind:`forecast`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,q.jsx)(`h2`,{children:`Forecast`}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>K(gt(`forecast`,`forecast-panel`))}),(0,q.jsx)(Da,{label:`Forecast`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`forecast`})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`panel-body fc-body`,children:[(0,q.jsxs)(`div`,{className:`fc-hero`,children:[(0,q.jsx)(`div`,{className:`fc-eyebrow`,children:a.primaryLabel}),(0,q.jsx)(`div`,{className:`fc-num is-${c}${o?` is-blank`:``}`,children:o?(0,q.jsx)(Zo,{}):u}),s&&(0,q.jsxs)(`span`,{className:`fc-verdict-chip is-${c}`,children:[(0,q.jsx)(`span`,{className:`fc-verdict-glyph`,"aria-hidden":`true`,children:s.glyph}),` `,s.label]})]}),(0,q.jsx)(`div`,{className:`fc-pace is-${c}`,role:`presentation`,children:(0,q.jsx)(`div`,{className:`fc-pace-fill`,style:{width:`${o?0:Math.min(100,Math.max(0,a.projected??0))}%`}})}),(0,q.jsxs)(`div`,{className:`fc-budget-foot`,children:[(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:o?`Current quota`:a.recentLabel}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:o?(0,q.jsx)(Zo,{}):H.pct1(a.recent)})]}),(o?a.foot.filter(e=>e.label!==`Confidence`):a.foot).map(e=>(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:e.label}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:e.value})]},e.label))]}),(0,q.jsx)(`div`,{className:`fc-budget-block`,children:(0,q.jsx)(Xo,{env:e,selection:t,surface:`panel`})})]})]})}function es({data:e}){let t=e.map(e=>e.spark_height??0),n=Math.max(1,...t);return(0,q.jsx)(q.Fragment,{children:t.map((r,i)=>{let a=i===t.length-1,o={height:`${Math.max(6,r/n*100)}%`};return a&&(o.background=`color-mix(in srgb, var(--accent-purple) 70%, white 30%)`),(0,q.jsx)(`div`,{className:`bar`,style:o},e[i].label+`|`+i)})})}function ts(e,t){return!e||!t?`↕`:t===`asc`?`▲`:`▼`}function ns(e,t){return!e||!t?`none`:t===`asc`?`ascending`:`descending`}function rs({columns:e,override:t,onChange:n,accentVar:r,grid:i}){let a=e=>n(dt(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,q.jsx)(`thead`,{role:i?`rowgroup`:void 0,children:(0,q.jsx)(`tr`,{role:i?`row`:void 0,children:e.map(e=>{if(e.sortable===!1)return(0,q.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,q.jsx)(`th`,{className:c,role:`columnheader`,"aria-sort":ns(n,a),tabIndex:0,"data-col":e.id,title:e.title,style:l,onClick:o(e),onKeyDown:s(e),children:(0,q.jsxs)(`button`,{type:`button`,className:`th-sort-btn`,tabIndex:-1,children:[(0,q.jsx)(`span`,{className:`th-label`,children:e.label}),(0,q.jsx)(`span`,{className:`th-caret`+(n?``:` th-caret--rest`),"aria-hidden":`true`,children:ts(n,a)})]})},e.id)})})})}function is({lines:e=3,label:t=`Loading`}){return(0,q.jsxs)(`div`,{className:`panel-skeleton`,children:[(0,q.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:`${t}…`}),Array.from({length:e}).map((t,n)=>(0,q.jsx)(`div`,{className:`skel skel-line${n===e-1?` short`:``}`,"aria-hidden":`true`},n))]})}var as=[{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`}];function os({labels:e}){return!e||e.length===0?null:(0,q.jsx)(`span`,{className:`period-account-chips`,"aria-label":`Accounts: ${e.join(`, `)}`,children:e.map(e=>(0,q.jsx)(`span`,{className:`period-account-chip`,title:`Weekly cycle owned by ${e}`,children:e},e))})}var ss=as.filter(e=>e.id!==`cost_usd`);function cs(e){if(e.length===0)return`$/1% trend: no data`;let t=e[e.length-1],n=e.length>1?e[e.length-2]:null,r=t.dollar_per_pct==null?`n/a`:H.usd2(t.dollar_per_pct),i=``;if(n&&t.dollar_per_pct!=null&&n.dollar_per_pct!=null){let e=t.dollar_per_pct-n.dollar_per_pct;i=Math.abs(e)<.005?`, flat vs prior week`:e>0?`, up vs prior week`:`, down vs prior week`}return`$/1% trend over ${e.length} weeks; latest ${r}${i}`}function ls({section:e,trendOverride:t,composed:n}){let r=e.rows.map(e=>({...e,spark_height:e.dollar_per_pct??0})),i=r.map((e,t)=>({...e,_chronoIdx:t})),a=ss,o=t?ut(i,a,t):i,s=cs(r),c=n?`trend-spark-${e.source}`:`trend-spark`;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`trend-chart`,children:[(0,q.jsx)(`div`,{className:`trend-spark-title`,children:`$/1% trend:`}),(0,q.jsx)(`div`,{className:`trend-spark`,id:c,role:`img`,"aria-label":`${e.label} ${s}`,style:{gridTemplateColumns:`repeat(${Math.max(1,r.length)}, 1fr)`},children:(0,q.jsx)(es,{data:r})}),(0,q.jsxs)(`div`,{className:`trend-spark-legend`,children:[(0,q.jsx)(`span`,{children:`older`}),(0,q.jsx)(`span`,{className:`line`}),(0,q.jsx)(`span`,{children:`▶ newer`})]})]}),(0,q.jsx)(`div`,{className:`trend-table-wrap`,children:(0,q.jsxs)(`table`,{className:`trend-table`,children:[(0,q.jsx)(rs,{columns:a,override:t,onChange:e=>K({type:`SET_TABLE_SORT`,table:`trend`,override:e}),accentVar:`--accent-amber`}),(0,q.jsx)(`tbody`,{id:n?`trend-rows-${e.source}`:`trend-rows`,children:o.map(t=>(0,q.jsxs)(`tr`,{className:t.is_current?`current`:void 0,children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(os,{labels:t.account_labels}),t.label]}),(0,q.jsx)(`td`,{className:`num`,children:H.pct0(t.used_pct)}),(0,q.jsx)(`td`,{className:`num`+(t.is_current?``:` dollar`),children:H.usd2(t.dollar_per_pct)}),(0,q.jsx)(`td`,{className:`num `+H.deltaCls(t.delta,t.is_current),children:H.delta(t.delta)})]},`${e.source}:${t.label}`))})]})})]})}function us(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=To(e,t),r=(0,_.useSyncExternalStore)(G,()=>W().prefs.trendSortOverride),i=n.sections.reduce((e,t)=>e+t.rows.length,0),a=uo(e,t).hydrating&&i===0,o=n.sections[0],s=t===`all`?`(Claude ${n.sections[0]?.rows.length??0}w · Codex ${n.sections[1]?.rows.length??0}c)`:`(${o?.rows.length??0} week${o?.rows.length===1?``:`s`})`;return(0,q.jsxs)(`section`,{className:`panel accent-amber`,id:`panel-trend`,role:`region`,"aria-label":`$/1% Trend panel`,"data-panel-kind":`trend`,"data-source":t,onClick:Oi(()=>K({type:`OPEN_MODAL`,kind:`trend`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,q.jsxs)(`h2`,{children:[n.title,` `,(0,q.jsx)(`span`,{className:`sub`,children:a?`(loading)`:s})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`trend`,panelLabel:`Trend`,triggerId:`trend-panel`,onClick:()=>K(gt(`trend`,`trend-panel`))}),(0,q.jsx)(Da,{label:`Trend`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`trend`})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-body`,children:e?.hydrating&&i===0?(0,q.jsx)(is,{}):t===`all`?(0,q.jsx)(`div`,{className:`source-all-sections provider-composition trend-provider-composition`,children:n.sections.map(e=>(0,q.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,q.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`trend-panel-${e.source}-heading`,children:[e.label,` $ per 1% trend`]}),(0,q.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.label}),(0,q.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` `,e.source===`claude`?`weeks`:`cycles`]})]}),(0,q.jsx)(ls,{section:e,trendOverride:r,composed:!0})]},e.source))}):o?(0,q.jsx)(ls,{section:o,trendOverride:r,composed:!1}):null})]})}function ds(e){let t=bn.findIndex(t=>t.key===e);return bn[(t===-1?0:t+1)%bn.length].key}function fs(){let e=(0,_.useSyncExternalStore)(G,()=>W().filterText),t=(0,_.useSyncExternalStore)(G,()=>W().searchText),n=(0,_.useSyncExternalStore)(G,()=>W().searchMatches),r=(0,_.useSyncExternalStore)(G,()=>W().searchIndex),i=(0,_.useSyncExternalStore)(G,()=>W().sessionsSort),a=(0,_.useSyncExternalStore)(G,()=>W().prefs.sessionsSortOverride),o=(0,_.useSyncExternalStore)(G,()=>W().activeSource)===`claude`,s=o?`filter project|model…`:`filter session|model…`,c=vi(),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(!1),p=(0,_.useRef)(null),m=(0,_.useRef)(null),h=d||c,g=d||t.length>0,v=()=>u(!0),y=e=>{e?.clear&&K({type:`SET_FILTER`,text:``}),u(!1),K({type:`SET_INPUT_MODE`,mode:null})},b=()=>f(!0),x=e=>{e?.clear&&K({type:`SET_SEARCH`,text:``}),f(!1),K({type:`SET_INPUT_MODE`,mode:null})};(0,_.useEffect)(()=>{l&&(p.current?.focus(),p.current?.select(),K({type:`SET_INPUT_MODE`,mode:`filter`}))},[l]),(0,_.useEffect)(()=>{d&&(m.current?.focus(),m.current?.select(),K({type:`SET_INPUT_MODE`,mode:`search`}))},[d]),pa([{key:`f`,scope:`sessions`,action:v,when:()=>!W().openModal&&!l&&W().chromeOverlayOpen===0},{key:`/`,scope:`sessions`,action:b,when:()=>!W().openModal&&!d&&W().chromeOverlayOpen===0}]);let S=n.length,C=S>0?`${r+1} / ${S}`:`0 / 0`,w=e=>{S!==0&&K({type:`SET_SEARCH_MATCHES`,matches:n,index:((r+e)%S+S)%S})};return(0,q.jsxs)(`div`,{className:`sessions-ctrls`,id:`sessions-ctrls`,children:[l?(0,q.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`filter-input`,placeholder:s,ref:p,value:e,onChange:e=>K({type:`SET_FILTER`,text:e.target.value}),onKeyDown:e=>{e.key===`Enter`?y():e.key===`Escape`&&y({clear:!0})},onBlur:()=>y()}):e?(0,q.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`)){K({type:`SET_FILTER`,text:``});return}v()},children:[(0,q.jsxs)(`span`,{className:`chip`,children:[`filter: `,e]}),(0,q.jsx)(`span`,{className:`chip-x`,title:`Clear`,children:`×`})]}):(0,q.jsx)(`button`,{className:`ctrl-btn`,id:`filter-btn`,type:`button`,title:`Filter (f)`,onClick:v,children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#funnel`})})}),h?(0,q.jsxs)(`div`,{className:`search-container`,id:`search-container`,children:[(0,q.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`search-input`,placeholder:`search…`,ref:m,value:t,onChange:e=>K({type:`SET_SEARCH`,text:e.target.value}),onFocus:()=>{d||f(!0)},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),w(1)):e.key===`Escape`&&x({clear:!0})},onBlur:()=>x()}),g&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`match-count`,id:`search-count`,children:C}),(0,q.jsx)(`button`,{className:`ctrl-btn`,id:`search-prev`,type:`button`,title:`Prev (N)`,onMouseDown:e=>e.preventDefault(),onClick:()=>w(-1),children:`↑`}),(0,q.jsx)(`button`,{className:`ctrl-btn`,id:`search-next`,type:`button`,title:`Next (n)`,onMouseDown:e=>e.preventDefault(),onClick:()=>w(1),children:`↓`})]})]}):(0,q.jsx)(`button`,{className:`ctrl-btn`,id:`search-btn`,type:`button`,title:`Search (/)`,onClick:b,children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#magnifier`})})}),o&&(0,q.jsxs)(`button`,{className:`ctrl-btn`,id:`sort-pill`,type:`button`,title:`Cycle sort`,onClick:()=>{W().prefs.sessionsSortOverride&&K({type:`SET_TABLE_SORT`,table:`sessions`,override:null}),K({type:`SET_SORT`,key:ds(i)})},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#sort-updown`})}),(0,q.jsxs)(`span`,{className:`label`,children:[`sort: `,a?`${a.column} ${a.direction}`:i]})]})]})}function ps({text:e,query:t}){let n=t.trim().toLowerCase();if(!n)return(0,q.jsx)(q.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,q.jsx)(_.Fragment,{children:e.slice(a)},o++));break}t>a&&i.push((0,q.jsx)(_.Fragment,{children:e.slice(a,t)},o++)),i.push((0,q.jsx)(`mark`,{children:e.slice(t,t+n.length)},o++)),a=t+n.length}return(0,q.jsx)(q.Fragment,{children:i})}function ms(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 hs(e){return e==null?`cost-none`:e<.25?`cost-xs`:e<1?`cost-low`:e<3?`cost-mid`:`cost-high`}function gs(e,t){if(!(t>0)||!Number.isFinite(e))return 0;let n=e/t;return n<0?0:n>1?1:n}var _s=`.sess-open-conv, .source-detail-open, .model-chip, .project-cell-link`;function vs(){let e=(0,_.useSyncExternalStore)(G,()=>W().activeSource),t=ui(),n=bi(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel};(0,_.useSyncExternalStore)(G,()=>W().filterText),(0,_.useSyncExternalStore)(G,()=>W().sessionsSort),(0,_.useSyncExternalStore)(G,()=>W().prefs.sessionsPerPage);let i=(0,_.useSyncExternalStore)(G,()=>W().sourceSessionsSort),a=(0,_.useSyncExternalStore)(G,()=>W().prefs.sessionsSortOverride),o=(0,_.useSyncExternalStore)(G,()=>W().searchMatches),s=(0,_.useSyncExternalStore)(G,()=>W().searchIndex),c=(0,_.useSyncExternalStore)(G,()=>W().searchText),l=(0,_.useSyncExternalStore)(G,()=>W().prefs.sessionsCollapsed),u=fi(e,di(e)),d=u.accountKey!=null,f=u.requestedKey!=null&&!u.scopesSupported,p=vi(),m=e===`all`,h=en(t,e),g=Yr(h),v=Fn(),y=cn(h),b=new Set(y.flatMap(e=>e.models)),x=b.size<=1,S=b.size===1?[...b][0]:null,C=pn({includeSource:m,oneModel:x}),w=e===`claude`?a:i,T=ti(t),E=e===`claude`?t?.sessions?.total??v.length:e===`codex`?(h.entry?.data)?.sessions?.total_sessions??v.length:y.length,D=e===`claude`||m?`No sessions yet.`:`No Codex sessions yet.`,O=e===`claude`?`claude-sessions-table`:m?`source-sessions-table`:`codex-sessions-table`,[k,A]=(0,_.useState)(null),j=s>=0?o[s]:-1,M=k?v.findIndex(e=>e.key===k):-1,N=v.length===0?-1:M>=0?M:j>=0?j:0,P=new Set(o),F=j,I=t=>{t.key&&(e===`claude`&&t.source===`claude`?K({type:`OPEN_MODAL`,kind:`session`,sessionId:t.key}):K({type:`OPEN_SOURCE_DETAIL`,source:t.source,resource:`session`,key:t.key}))},ee=(0,_.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(_s)),s=o.filter(e=>e.offsetParent!==null),c=s.length>0?s:o,l=a?-1:c.indexOf(n),u=ms(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&&K(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]),te=g.mode===`skeleton`||e===`claude`&&!!t?.hydrating&&v.length===0;return(0,q.jsxs)(`section`,{className:`panel accent-orange`+(l?` sessions-collapsed`:``),id:`panel-sessions`,role:`region`,"aria-label":`Recent Sessions panel`,"data-panel-kind":`sessions`,"data-source":e,children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`panel-title-wrap`,style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,q.jsxs)(`h2`,{children:[`Recent Sessions `,(0,q.jsx)(`span`,{className:`sub`,children:te?`(loading)`:e===`claude`?`(${E} total)`:`(${v.length} shown)`})]}),S&&(0,q.jsxs)(`span`,{className:`sess-model-caption`,title:`All sessions use ${S}`,children:[(0,q.jsx)(`span`,{className:`ms-dot ${Xa(S)}`,style:Qa(S),"aria-hidden":`true`}),`all · `,S]}),g.mode===`degraded`&&(0,q.jsx)(Vo,{gate:g}),d&&(0,q.jsxs)(`span`,{className:`sessions-account-note`,"data-testid":`sessions-account-note`,title:m?`Showing only ${u.card?.label??`this account`}'s Codex sessions. Claude sessions are not filtered by account.`:`Showing only ${u.card?.label??`this account`}'s sessions.`,children:[m?`Codex: `:``,Nt(u.card?.label??`focused account`),` only`]}),f&&(0,q.jsx)(`span`,{className:`sessions-unfiltered-note`,"data-testid":`sessions-unfiltered-note`,title:di(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,q.jsxs)(`div`,{className:`panel-header-actions`,children:[!p&&(0,q.jsx)(fs,{}),(0,q.jsx)(Ea,{panel:`sessions`,panelLabel:`Sessions`,triggerId:`sessions-panel`,onClick:()=>K(gt(`sessions`,`sessions-panel`))}),(0,q.jsx)(Da,{label:`Sessions`,disabled:v.length===0,onOpen:()=>{let e=v[0];e&&I(e)}}),(0,q.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!l,"aria-controls":`panel-sessions-body`,"aria-label":l?`Expand Recent Sessions`:`Collapse Recent Sessions`,title:l?`Expand (c)`:`Collapse (c)`,onClick:e=>{e.stopPropagation(),K({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!l}})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${l?`chevron-down`:`chevron-up`}`})})}),(0,q.jsx)(Sa,{})]})]}),m&&(0,q.jsx)(`div`,{className:`panel-range-note`,children:`both providers, interleaved`}),p&&(0,q.jsx)(fs,{}),(0,q.jsx)(`div`,{className:`panel-body panel-body--scroll`,id:`panel-sessions-body`,children:te?(0,q.jsx)(is,{lines:4}):v.length===0?(0,q.jsx)(`div`,{className:`panel-empty`,"data-testid":`source-sessions-empty`,children:D}):(0,q.jsxs)(`table`,{className:`sess-table source-sess-table`,role:`grid`,"data-testid":O,children:[(0,q.jsx)(rs,{columns:C,override:w,grid:!0,onChange:t=>K(e===`claude`?{type:`SET_TABLE_SORT`,table:`sessions`,override:t}:{type:`SET_SOURCE_SESSIONS_SORT`,override:t})}),(0,q.jsx)(`tbody`,{id:`sess-rows`,role:`rowgroup`,onKeyDown:ee,children:v.map((t,n)=>{let i=P.has(n),a=n===F,o=t.title||`—`,s=t.recencyUtc?H.startedShort(t.recencyUtc,r,{noSuffix:!0}):`—`;return(0,q.jsxs)(`tr`,{className:`source-session-row session-row`+(i?` search-match`:``)+(a?` search-match-current`:``),role:`row`,tabIndex:n===N?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:()=>I(t),children:[(0,q.jsxs)(`td`,{className:`started recency`,role:`gridcell`,children:[T&&t.source===`claude`&&t.key&&(0,q.jsx)(`button`,{type:`button`,className:`sess-open-conv`,tabIndex:-1,title:`Open conversation`,"aria-label":`Open conversation`,onClick:e=>{e.stopPropagation(),K({type:`OPEN_CONVERSATION`,conversationRef:ne(t.key)})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#file-text`})})}),(0,q.jsx)(ps,{text:s,query:c}),(0,q.jsxs)(`span`,{className:`dur-fold`,children:[` · `,(0,q.jsx)(ps,{text:t.durationMin==null?`—`:`${t.durationMin}m`,query:c})]})]}),(0,q.jsx)(`td`,{className:`dur`,role:`gridcell`,children:(0,q.jsx)(ps,{text:t.durationMin==null?`—`:`${t.durationMin}m`,query:c})}),!x&&(0,q.jsx)(`td`,{className:`model model-chip-cell models`,role:`gridcell`,onClick:e=>e.stopPropagation(),children:t.models.length===0?(0,q.jsx)(`span`,{className:`src-model-empty`,"aria-hidden":`true`,children:`—`}):t.models.map(e=>(0,q.jsx)(`button`,{type:`button`,tabIndex:-1,className:`chip model-chip ${Xa(e)}`,style:Qa(e),"aria-label":`Filter by ${e}`,onClick:()=>K({type:`SET_FILTER`,text:e}),children:(0,q.jsx)(ps,{text:e,query:c})},e))}),(0,q.jsx)(`td`,{className:`session`,role:`gridcell`,title:t.title||void 0,children:t.key?(0,q.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(),I(t)},children:[m&&(0,q.jsx)(Bo,{source:t.source}),t.title?(0,q.jsx)(ps,{text:t.title,query:c}):(0,q.jsx)(`span`,{className:`sess-title-empty`,"aria-hidden":`true`,children:`—`})]}):t.title?(0,q.jsx)(ps,{text:t.title,query:c}):(0,q.jsx)(`span`,{className:`sess-title-empty`,"aria-hidden":`true`,children:`—`})}),(0,q.jsx)(`td`,{className:`project`,role:`gridcell`,children:t.projectKey&&t.projectKey!==`(unknown)`?(0,q.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(),K(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,q.jsx)(ps,{text:t.project,query:c})}):(0,q.jsx)(`span`,{title:`Project still resolving`,children:(0,q.jsx)(ps,{text:t.project,query:c})})}),(0,q.jsx)(`td`,{className:`num cache`,role:`gridcell`,children:t.cacheHitPct==null?`—`:H.pct0(t.cacheHitPct)}),(0,q.jsx)(`td`,{className:`num cost ${hs(t.costUsd)}`,role:`gridcell`,children:(0,q.jsx)(ps,{text:H.usd2(t.costUsd),query:c})})]},t.key)})})]})})]})}function ys(){return(0,q.jsx)(vs,{})}var bs=864e5;function xs(e,t){if(e==null||typeof t!=`number`||!Number.isInteger(t)||t<1)return null;let n=Date.parse(e);if(Number.isNaN(n))return null;let r=n-7*(t-1)*bs,i=n+7*bs-1;return{startAt:new Date(r).toISOString(),endAt:new Date(i).toISOString()}}function Ss(e){let t=e?.projects?.current_week?.week_start_at??e?.sources?.claude?.data?.projects?.current_week?.week_start_at??e?.sources?.all?.data?.providers?.claude?.projects?.current_week?.week_start_at;return typeof t==`string`&&t!==``?t:null}function Cs(e,t,n={}){if(e==null)return null;let r=ws(e,n.clampEndTo),i=Ts(e.startAt,t),a=Ts(r,t),o=i!=null&&a!=null&&i!==a?H.dateShortWithYear:H.dateShort,s=o(e.startAt,t),c=o(r,t);return s==null||c==null?null:s===c?s:`${s} – ${c}`}function ws(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 Ts(e,t){let n=H.dateShortWithYear(e,t);return n==null?null:n.slice(-4)}function Es(e){return e===`codex`?`Codex`:e===`claude`?`Claude`:`A provider`}function Ds(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`${Es(e.provider)} data is unavailable, so the combined ${t} is withheld.`;case`provider_incoherent`:return`${Es(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}).`}}var Os=5;function ks(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=Po(e,t),r=n.state===`available`?n.rows:[],i=n.state===`unavailable`,a=n.state===`withheld`?n:null,o=bi(),s=n.state===`available`?n.range:null,c=Cs(s==null?null:{startAt:s.start_at,endAt:s.end_at},{tz:o.resolvedTz,offsetLabel:o.offsetLabel},{clampEndTo:e?.generated_at}),l=t===`claude`?`share of quota`:`share of cost`,u=uo(e,t).hydrating,d=Vr(uo(e,t).warnings,`projects`),f=u&&r.length===0,p=(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#folder`})}),(0,q.jsxs)(`h2`,{children:[`Projects`,` `,(0,q.jsx)(`span`,{className:`sub`,children:f?`(loading)`:a?`(withheld)`:i?`(unavailable)`:t===`claude`?`(${r.length} this week)`:`(${r.length} projects)`})]}),d&&(0,q.jsx)(Vo,{gate:{mode:`degraded`,warning:d,noSuccessYet:!1}})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`projects`,panelLabel:`Projects`,triggerId:`projects-panel`,onClick:()=>K(gt(`projects`,`projects-panel`))}),(0,q.jsx)(Da,{label:`Projects`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`projects`})}),(0,q.jsx)(Sa,{})]})]});if(i||a)return(0,q.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,"data-source":t,role:`region`,"aria-label":`Projects panel`,children:[p,(0,q.jsx)(`div`,{className:`panel-body projects-body`,children:u?(0,q.jsx)(is,{}):a?(0,q.jsx)(`div`,{className:`panel-empty panel-withheld`,"data-withheld-code":a.code,children:Ds(a,`ranking`)}):(0,q.jsx)(`div`,{className:`panel-empty`,children:`Projects data unavailable — restart the dashboard.`})})]});let m=r.slice(0,Os),h=r.slice(Os),g=h.reduce((e,t)=>e+t.cost,0),v=h.reduce((e,t)=>e+(t.pct??0),0),y=m[0]?.cost||1,b=[c,t===`all`?`by provider`:null].filter(e=>e!=null),x=t===`claude`||b.length===0?null:(0,q.jsx)(`div`,{className:`panel-range-note`,children:b.join(` · `)}),S=()=>{K({type:`OPEN_MODAL`,kind:`projects`})},C=(e,n)=>{K(e===`claude`&&t===`claude`?{type:`OPEN_MODAL`,kind:`projects`,projectKey:n}:{type:`OPEN_SOURCE_DETAIL`,source:e,resource:`project`,key:n})},w=(e,t)=>n=>{n.stopPropagation(),C(e,t)},T=e=>{let n=`${H.usd2(e.cost)}, ${e.pct==null?`no ${l}`:`${H.pct0(e.pct)} ${l}`}`;return t===`claude`?`Open Projects modal for ${e.key}: ${n}`:`Open ${e.source} project details: ${e.label}: ${n}`};return(0,q.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,"data-source":t,role:`region`,"aria-label":`Projects panel`,onClick:Oi(S),children:[p,x,(0,q.jsx)(`div`,{className:`panel-body projects-body`,children:r.length===0?u?(0,q.jsx)(is,{}):(0,q.jsx)(`div`,{className:`panel-empty`,children:t===`claude`?`No project activity yet this week.`:c==null?`No project activity in this window.`:`No project activity in ${c}.`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`projects-legend`,children:[`% = `,l]}),m.map(e=>{let n={"--w":`${e.cost/y*100}%`},r=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`name`,children:t===`all`?`${e.source===`claude`?`Claude`:`Codex`} · ${e.label}`:e.label}),(0,q.jsx)(`div`,{className:`lb-bar`,style:n,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`cost`,children:H.usd2(e.cost)}),(0,q.jsxs)(`span`,{className:`pct`,children:[(0,q.jsx)(`span`,{className:`pct-value`,children:e.pct==null?`—`:H.pct0(e.pct)}),(0,q.jsx)(`span`,{className:`sr-only`,children:e.pct==null?` no ${l}`:` ${l}`})]})]});return e.drillable?(0,q.jsx)(`div`,{className:`projects-row`,"data-project-key":e.key,"data-drillable":`true`,role:`button`,tabIndex:0,"aria-label":T(e),onClick:w(e.source,e.key),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),C(e.source,e.key))},title:e.label,children:r},e.key):(0,q.jsxs)(`div`,{className:`projects-row is-static`,"data-project-key":e.key,"data-drillable":`false`,title:`${e.label} — no detail view is available for this project in this range`,children:[r,(0,q.jsx)(`span`,{className:`projects-row-nodrill`,"data-nodrill-reason":!0,children:`no detail view for this range`})]},e.key)}),h.length>0&&(0,q.jsxs)(`div`,{className:`projects-row tail`,"aria-label":`${h.length} more projects`,children:[(0,q.jsxs)(`span`,{className:`name muted`,children:[`+`,h.length,` more`]}),(0,q.jsx)(`div`,{className:`lb-bar muted`,style:{"--w":`${g/y*100}%`},"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`cost muted`,children:H.usd2(g)}),(0,q.jsx)(`span`,{className:`pct muted`,children:v===0?`—`:H.pct0(v)})]})]})})]})}function As(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 js({models:e}){let{items:t,more:n}=As(e);return t.length===0?null:(0,q.jsxs)(`div`,{className:`model-legend`,role:`presentation`,children:[t.map(e=>(0,q.jsxs)(`span`,{className:`ms-leg`,children:[(0,q.jsx)(`span`,{className:`ms-dot ${e.chip}`,style:Qa(e.model),"aria-hidden":`true`}),e.display,` `,Math.round(e.pct),`%`]},e.model)),n>0&&(0,q.jsxs)(`span`,{className:`ms-leg ms-more`,children:[`+`,n]})]})}function Ms(e){e.source===`claude`?K({type:`OPEN_MODAL`,kind:`block`,blockStartAt:e.start_at}):K({type:`OPEN_SOURCE_DETAIL`,source:e.source,resource:`block`,key:e.key})}function Ns({r:e,maxCost:t,isFirstMount:n,showSource:r,accountLabel:i}){let a=t>0?e.value/t*100:0,o=()=>Ms(e);return(0,q.jsxs)(`div`,{className:`blocks-row`,role:`button`,tabIndex:0,"aria-label":i==null?`Open detail for block starting ${e.label}`:`Open detail for ${i} block starting ${e.label}`,onClick:o,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},children:[(0,q.jsxs)(`div`,{className:`meta`,children:[(0,q.jsxs)(`span`,{className:`label`,children:[r&&(0,q.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),i!=null&&(0,q.jsx)(`span`,{className:`blocks-account-chip`,"data-testid":`block-account-chip`,title:`5-hour window owned by ${i}`,children:i}),e.anchor===`heuristic`&&(0,q.jsx)(`span`,{className:`anchor-marker`,"aria-label":`approximate start`,children:`~`}),e.label,e.is_active&&(0,q.jsx)(`span`,{className:`pill-active`,children:`Active`})]}),(0,q.jsx)(`span`,{className:`cost`,children:e.valueLabel})]}),(0,q.jsx)(`div`,{className:`gauge-track`,children:(0,q.jsx)(`div`,{className:`gauge-fill`,style:{width:n?`0%`:`${a}%`},children:e.models.map(e=>(0,q.jsx)(`span`,{className:`seg-${e.chip}`,style:{...Qa(e.model),width:`${e.cost_pct}%`},title:`${e.display} ${H.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})}),(0,q.jsx)(js,{models:e.models})]})}function Ps(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=(0,_.useSyncExternalStore)(G,()=>W().prefs.blocksCollapsed),r=Io(e,t),i=r,a=en(e,`codex`).entry,o=a?.data,s=o?.quota.histories.some(e=>e.window_minutes===300&&!e.model_scoped)??!1,c=fi(t,di(t)),l=(t===`all`?zt(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=bi(),g=t===`all`?Lo(r):null,v=t===`all`?Cs(Ro(r),{tz:h.resolvedTz,offsetLabel:h.offsetLabel},{clampEndTo:e?.generated_at}):null,y=(0,_.useRef)(new Set),[,b]=(0,_.useState)(0);return(0,_.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,q.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,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#layers`})}),(0,q.jsx)(`h2`,{children:`Blocks`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`blocks`,panelLabel:`5-hour blocks`,triggerId:`blocks-panel`,onClick:()=>K(gt(`blocks`,`blocks-panel`))}),(0,q.jsx)(Da,{label:`Blocks`,onOpen:()=>{let e=r.find(e=>e.is_active)??r[0];e&&Ms(e)},disabled:r.length===0}),(0,q.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(),K({type:`SAVE_PREFS`,patch:{blocksCollapsed:!n}})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${n?`chevron-down`:`chevron-up`}`})})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-range-note`,children:d}),(0,q.jsx)(`div`,{className:`panel-body`,id:`panel-blocks-body`,children:i.length===0?uo(e,t).hydrating?(0,q.jsx)(is,{}):(0,q.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,q.jsx)(Ns,{r:e,maxCost:f,isFirstMount:!y.current.has(e.start_at),showSource:t===`all`,accountLabel:u(e)},e.key))}),r.length>0&&(0,q.jsxs)(`div`,{className:`panel-foot`,children:[(0,q.jsxs)(`span`,{children:[r.length,` blocks`,(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`total`,children:H.usd2(p)}),m&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`legend-anchor`,children:`~ = approximate start`})]})]}),g&&(0,q.jsxs)(`span`,{className:`blocks-foot-attribution`,children:[v&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`blocks-foot-span`,children:[`windows shown span `,v]}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),g.map((e,t)=>(0,q.jsxs)(`span`,{className:`blocks-foot-leg`,children:[t>0&&(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,e.count,` `,e.count===1?`block`:`blocks`,` `,H.usd2(e.cost)]},e.source))]})]})]})}function Fs(){let[e,t]=(0,_.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(hi).matches);return(0,_.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(hi),n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}var Is=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Ls(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function Rs(e){let t=e.split(`-`).map(Number);return`${Is[t[1]-1]} ${t[2]}`}function zs(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?`${Is[i-1]} ${a} - ${s}`:`${Is[i-1]} ${a} - ${Is[o-1]} ${s}`}function Bs(e,t){return e<=0?`—`:t?`$${Math.ceil(e)}`:H.usd2(e)}function Vs({r:e,staggerIndex:t,compact:n}){let r=e.date.slice(8,10),i=Bs(e.cost_usd,n),a=[`${e.label} · ${e.cost_usd>0?H.usd2(e.cost_usd):`—`}`,...e.models.map(e=>`${e.display} ${e.cost_pct.toFixed(0)}%`)].join(` · `);return(0,q.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:()=>K({type:`OPEN_MODAL`,kind:`daily`,dailyDate:e.date}),children:[(0,q.jsx)(`span`,{className:`d`,children:r}),(0,q.jsx)(`span`,{className:`c`,style:{"--c-len":i.length},children:i})]})}function Hs(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=vi(),r=Fs(),i=n||r,a=(0,_.useSyncExternalStore)(G,()=>W().prefs.dailyCollapsed),o=xo(e,t),s=o.state===`available`?o.rows:[],c=o.state===`withheld`?o:null,l=Ls([...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=uo(e,t).hydrating,p=Vr(uo(e,t).warnings,`daily`);return(0,q.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,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#grid`})}),(0,q.jsxs)(`h2`,{children:[`Daily`,` `,(0,q.jsx)(`span`,{className:`sub`,children:`heatmap`})]}),p&&(0,q.jsx)(Vo,{gate:{mode:`degraded`,warning:p,noSuccessYet:!1}})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`daily`,panelLabel:`Daily`,triggerId:`daily-panel`,onClick:()=>K(gt(`daily`,`daily-panel`))}),(0,q.jsx)(Da,{label:`Daily`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`daily`})}),(0,q.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(),K({type:`SAVE_PREFS`,patch:{dailyCollapsed:!a}})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${a?`chevron-down`:`chevron-up`}`})})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-range-note`,children:c?`withheld`:`30 days${t===`all`?` · both providers`:``}`}),(0,q.jsx)(`div`,{className:`panel-body`,id:`panel-daily-body`,children:f&&s.length===0?(0,q.jsx)(is,{}):c?(0,q.jsx)(`div`,{className:`panel-empty panel-withheld`,"data-withheld-code":c.code,children:Ds(c,`history`)}):s.length===0?(0,q.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`daily-legend`,"aria-label":`Color intensity legend`,children:[(0,q.jsx)(`span`,{children:`Less`}),(0,q.jsxs)(`span`,{className:`scale`,children:[(0,q.jsx)(`span`,{className:`h0`}),(0,q.jsx)(`span`,{className:`h1`}),(0,q.jsx)(`span`,{className:`h2`}),(0,q.jsx)(`span`,{className:`h3`}),(0,q.jsx)(`span`,{className:`h4`}),(0,q.jsx)(`span`,{className:`h5`})]}),(0,q.jsx)(`span`,{children:`More`})]}),(0,q.jsx)(`div`,{className:`daily-cal-grid`,children:l.map((e,t)=>(0,q.jsxs)(_.Fragment,{children:[(0,q.jsxs)(`div`,{className:`daily-week-label`,children:[(0,q.jsxs)(`span`,{className:`wk`,children:[`W`,t+1]}),(0,q.jsx)(`span`,{className:`rng`,children:zs(e[0].date,e[e.length-1].date)})]}),e.map((e,n)=>(0,q.jsx)(Vs,{r:e,staggerIndex:t*7+n,compact:i},e.date)),e.length<7&&(0,q.jsx)(`div`,{className:`daily-month-continues`,style:{gridColumn:`span ${7-e.length}`},"aria-hidden":`true`,children:`Month continues`})]},t))}),(0,q.jsxs)(`div`,{className:`daily-foot`,children:[(0,q.jsxs)(`div`,{className:`daily-foot-col`,"data-total-cell":!0,children:[(0,q.jsx)(`svg`,{className:`daily-foot-icon icon-total`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),(0,q.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,q.jsxs)(`span`,{className:`lbl`,children:[`Total (`,s.length,` days)`]}),(0,q.jsx)(`span`,{className:`val`,children:H.usd2(u)})]})]}),d&&(0,q.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:()=>K({type:`OPEN_MODAL`,kind:`daily`,dailyDate:d.date}),children:[(0,q.jsx)(`svg`,{className:`daily-foot-icon icon-peak`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,q.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,q.jsx)(`span`,{className:`lbl`,children:`Peak day`}),(0,q.jsxs)(`span`,{className:`val`,children:[(0,q.jsx)(`span`,{className:`d`,children:Rs(d.date)}),(0,q.jsx)(`span`,{className:`a`,children:H.usd2(d.cost_usd)})]})]})]})]})]})})]})}function Us(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 Ws(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 Gs=`(prefers-reduced-motion: reduce)`;function Ks(){return(0,_.useSyncExternalStore)(e=>{if(typeof window>`u`||!window.matchMedia)return()=>{};let t=window.matchMedia(Gs);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)},()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Gs).matches,()=>!1)}var qs=(0,_.createContext)(`bento`);function Js(e,t){return t===`stack`?{visible:e.slice(0,3),hiddenCount:Math.max(0,e.length-3)}:{visible:e,hiddenCount:0}}function Ys(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 Xs(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 Zs(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 Qs({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,q.jsxs)(`div`,{className:`period`,children:[(0,q.jsxs)(`div`,{className:`meta`,children:[(0,q.jsxs)(`span`,{className:`label`,children:[(0,q.jsx)(os,{labels:e.account_labels}),e.label,e.is_current&&(0,q.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,q.jsxs)(`span`,{className:`right`,children:[(0,q.jsx)(`span`,{className:`cost`,children:H.usd2(e.cost_usd)}),(0,q.jsx)(`span`,{className:`delta ${i}`,children:H.deltaPct(e.delta_cost_pct)})]})]}),(0,q.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,q.jsx)(`span`,{className:e.chip,style:{...Qa(e.model),width:r?`0%`:`${e.cost_pct}%`},title:`${e.display} ${H.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))}),(0,q.jsx)(js,{models:e.models})]})}function $s(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=ho(e,t,`weekly`),r=(0,_.useContext)(qs),i=t===`all`?[`claude`,`codex`].map(e=>{let t=n.filter(t=>t.source===e);return{source:e,rows:t,...Js(t,r)}}):null,a=Js(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===`claude`?`weeks`:t===`codex`?`cycles`:`provider periods`,u=t===`claude`?`${n.length}w`:`${n.length} ${l}`,d=uo(e,t).hydrating,f=Ks(),p=bi(),m=t===`all`?Ys(n):null,h=t===`all`?Cs(Xs(n),{tz:p.resolvedTz,offsetLabel:p.offsetLabel},{clampEndTo:e?.generated_at}):null,g=(0,_.useRef)(new Set),[,v]=(0,_.useState)(0);return(0,_.useLayoutEffect)(()=>{let e=o.filter(e=>!g.current.has(Us(e,`week`)));if(e.length===0)return;e.forEach(e=>g.current.add(Us(e,`week`)));let t=requestAnimationFrame(()=>v(e=>e+1));return()=>cancelAnimationFrame(t)},[o]),(0,q.jsxs)(`section`,{className:`panel accent-cyan`,id:`panel-weekly`,role:`region`,"aria-label":`Weekly usage panel`,"data-panel-kind":`weekly`,"data-source":t,onClick:Oi(()=>K({type:`OPEN_MODAL`,kind:`weekly`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,q.jsxs)(`h2`,{children:[`Weekly`,` `,(0,q.jsx)(`span`,{className:`sub`,children:`(model split)`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`weekly`,panelLabel:`Weekly`,triggerId:`weekly-panel`,onClick:()=>K(gt(`weekly`,`weekly-panel`))}),(0,q.jsx)(Da,{label:`Weekly`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`weekly`})}),(0,q.jsx)(Sa,{})]})]}),t===`all`&&(0,q.jsx)(`div`,{className:`panel-range-note`,children:`by provider`}),(0,q.jsx)(`div`,{className:`panel-body`,children:n.length===0?d?(0,q.jsx)(is,{}):(0,q.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):i?(0,q.jsx)(`div`,{className:`source-all-sections provider-composition provider-composition--panel`,children:i.map(e=>(0,q.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,q.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`weekly-panel-${e.source}-heading`,children:[e.source===`claude`?`Claude`:`Codex`,` weekly quota history`]}),(0,q.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),(0,q.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` `,e.source===`claude`?`weeks`:`cycles`]})]}),e.visible.length===0?(0,q.jsx)(`div`,{className:`panel-source-empty`,children:`No quota history yet.`}):e.visible.map(e=>(0,q.jsx)(Qs,{r:e,isFirstMount:!g.current.has(Us(e,`week`)),reduced:f},Us(e,`week`)))]},e.source))}):o.map(e=>(0,q.jsx)(Qs,{r:e,isFirstMount:!g.current.has(Us(e,`week`)),reduced:f},Us(e,`week`)))}),n.length>0&&(0,q.jsxs)(`div`,{className:`panel-foot period-foot`,children:[s>0?(0,q.jsxs)(`span`,{children:[(0,q.jsxs)(`button`,{type:`button`,className:`period-foot-more`,"aria-label":`Show all ${n.length} ${l}`,onClick:e=>{e.stopPropagation(),K({type:`OPEN_MODAL`,kind:`weekly`})},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[`+`,s,` more`]}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`total`,children:H.usd2(c)})]}):(0,q.jsxs)(`span`,{children:[u,` total`,(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsxs)(`span`,{className:`total`,children:[H.usd2(c),t===`all`?` combined cost`:``]})]}),m&&(0,q.jsxs)(`span`,{className:`period-foot-attribution`,children:[h&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`period-foot-span`,children:h}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),m.map((e,t)=>(0,q.jsxs)(`span`,{className:`period-foot-leg`,children:[t>0&&(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,H.usd2(e.cost)]},e.source))]})]})]})}function ec({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,q.jsxs)(`div`,{className:`period`,children:[(0,q.jsxs)(`div`,{className:`meta`,children:[(0,q.jsxs)(`span`,{className:`label`,children:[e.label,e.is_current&&(0,q.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,q.jsxs)(`span`,{className:`right`,children:[(0,q.jsx)(`span`,{className:`cost`,children:H.usd2(e.cost_usd)}),(0,q.jsx)(`span`,{className:`delta ${i}`,children:H.deltaPct(e.delta_cost_pct)})]})]}),(0,q.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,q.jsx)(`span`,{className:e.chip,style:{...Qa(e.model),width:r?`0%`:`${e.cost_pct}%`},title:`${e.display} ${H.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))}),(0,q.jsx)(js,{models:e.models})]})}function tc(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=ho(e,t,`monthly`),r=(0,_.useContext)(qs),i=t===`all`?[`claude`,`codex`].map(e=>{let t=n.filter(t=>t.source===e);return{source:e,rows:t,...Js(t,r)}}):null,a=Js(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=uo(e,t).hydrating,u=Ks(),d=t===`all`?Ys(n):null,f=t===`all`?Zs(n):null,p=t===`all`?`${n.length} provider ${n.length===1?`month`:`months`}`:`${n.length}mo`,m=(0,_.useRef)(new Set),[,h]=(0,_.useState)(0);return(0,_.useLayoutEffect)(()=>{let e=o.filter(e=>!m.current.has(Us(e,`month`)));if(e.length===0)return;e.forEach(e=>m.current.add(Us(e,`month`)));let t=requestAnimationFrame(()=>h(e=>e+1));return()=>cancelAnimationFrame(t)},[o]),(0,q.jsxs)(`section`,{className:`panel accent-pink`,id:`panel-monthly`,role:`region`,"aria-label":`Monthly usage panel`,"data-panel-kind":`monthly`,"data-source":t,onClick:Oi(()=>K({type:`OPEN_MODAL`,kind:`monthly`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,q.jsxs)(`h2`,{children:[`Monthly`,` `,(0,q.jsx)(`span`,{className:`sub`,children:`(model split)`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`monthly`,panelLabel:`Monthly`,triggerId:`monthly-panel`,onClick:()=>K(gt(`monthly`,`monthly-panel`))}),(0,q.jsx)(Da,{label:`Monthly`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`monthly`})}),(0,q.jsx)(Sa,{})]})]}),t===`all`&&(0,q.jsx)(`div`,{className:`panel-range-note`,children:`by provider`}),(0,q.jsx)(`div`,{className:`panel-body`,children:n.length===0?l?(0,q.jsx)(is,{}):(0,q.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):i?(0,q.jsx)(`div`,{className:`source-all-sections provider-composition provider-composition--panel`,children:i.map(e=>(0,q.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,q.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`monthly-panel-${e.source}-heading`,children:[e.source===`claude`?`Claude`:`Codex`,` monthly history`]}),(0,q.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),(0,q.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` `,e.rows.length===1?`month`:`months`]})]}),e.visible.length===0?(0,q.jsx)(`div`,{className:`panel-source-empty`,children:`No monthly history yet.`}):e.visible.map(e=>(0,q.jsx)(ec,{r:e,isFirstMount:!m.current.has(Us(e,`month`)),reduced:u},Us(e,`month`)))]},e.source))}):o.map(e=>(0,q.jsx)(ec,{r:e,isFirstMount:!m.current.has(Us(e,`month`)),reduced:u},Us(e,`month`)))}),n.length>0&&(0,q.jsxs)(`div`,{className:`panel-foot period-foot`,children:[s>0?(0,q.jsxs)(`span`,{children:[(0,q.jsxs)(`button`,{type:`button`,className:`period-foot-more`,"aria-label":`Show all ${n.length} months`,onClick:e=>{e.stopPropagation(),K({type:`OPEN_MODAL`,kind:`monthly`})},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[`+`,s,` more`]}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`total`,children:H.usd2(c)})]}):(0,q.jsxs)(`span`,{children:[p,` total`,(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsxs)(`span`,{className:`total`,children:[H.usd2(c),t===`all`?` combined cost`:``]})]}),d&&(0,q.jsxs)(`span`,{className:`period-foot-attribution`,children:[f&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`period-foot-span`,children:f}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),d.map((e,t)=>(0,q.jsxs)(`span`,{className:`period-foot-leg`,children:[t>0&&(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,H.usd2(e.cost)]},e.source))]})]})]})}function nc({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,q.jsxs)(`div`,{className:`ra-gauge`+(n?` ra-gauge--compact`:``),children:[(0,q.jsxs)(`div`,{className:`ra-gauge-head`,children:[(0,q.jsx)(`span`,{className:`ra-gauge-check`,"aria-hidden":`true`,children:`✓`}),c]}),(0,q.jsx)(`div`,{className:`ra-gauge-hero`,children:e==null?`—`:`${Math.round(e)}%`}),(0,q.jsxs)(`div`,{className:`ra-gauge-bar`,children:[(0,q.jsx)(`div`,{className:`ra-gauge-fill`,style:{width:`${s}%`}}),t.map((e,t)=>(0,q.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,q.jsx)(`div`,{className:`ra-gauge-copy`,children:l})]})}function rc(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=(0,_.useSyncExternalStore)(G,()=>W().alerts),r=(0,_.useSyncExternalStore)(G,()=>W().prefs.alertsCollapsed),i=e?.sources!=null,a=en(e??null,t),o=fi(t,di(t)),s=o.accountKey!=null,c=A(a,n.map(e=>({...e,source:`claude`,key:e.id})),i),l=(0,_.useSyncExternalStore)(G,()=>W().accountFocus),u={claude:Ut(e,t,`claude`,l),codex:Ut(e,t,`codex`,l)},d=c.some(e=>w(e)!=null),f=[`claude`,`codex`].filter(e=>u[e]!=null),p=f.length>0&&(d||s),m=f.length>0&&!d&&!s,h=D(c,u),g=f.map(t=>(e?.sources?.[t]?.data?.accounts??[]).find(e=>e.accountKey===u[t])??null).filter(e=>e!=null),v=o.card??g[0]??null,y=f.length===1?f[0]:null,b=t===`all`&&y!=null,x=y===`codex`?`Codex`:`Claude`,S=y===`codex`?`Claude`:`Codex`,C=f.length>1?`focused accounts`:`${b?`${x}: `:``}${Nt(v?.label??`focused account`)}`,E=(0,_.useSyncExternalStore)(G,()=>W().alertsConfig),O=e?.sources?.codex?.data?.quota.summary,k=E.weekly_thresholds?.length?E.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`?o.scopesSupported&&o.accountKey==null?null:O?.latest_percent??null:null,N=t===`claude`?k:t===`codex`?j:[...new Set([...k,...j])].sort((e,t)=>e-t),P=bi(),I={tz:P.resolvedTz,offsetLabel:P.offsetLabel},ee=h.slice(0,10),te=h.length,L=()=>{Ac.alerts.openAction()};return(0,q.jsxs)(`section`,{className:`panel accent-amber`+(r?` alerts-collapsed`:``),id:`panel-alerts`,role:`region`,"aria-label":`Recent alerts panel`,"data-panel-kind":`alerts`,onClick:Oi(L),children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#bell`})}),(0,q.jsxs)(`h2`,{children:[`Recent alerts `,(0,q.jsx)(`span`,{className:`sub`,children:`(last 10)`})]}),p&&(0,q.jsxs)(`span`,{className:`alerts-account-note`,"data-testid":`alerts-account-note`,title:f.length>1?`Showing only the focused accounts’ alerts, plus vendor-wide crossings.`:b?`Showing only ${v?.label??`this account`}'s ${x} alerts, plus vendor-wide crossings. ${S} alerts are not filtered by account.`:`Showing only ${v?.label??`this account`}'s alerts, plus vendor-wide crossings.`,children:[C,` only`]}),m&&(0,q.jsx)(`span`,{className:`alerts-unfiltered-note`,"data-testid":`alerts-unfiltered-note`,title:y==null?`These alerts are not filtered by account (showing all accounts).`:`${x} alerts are not filtered by account (showing all accounts).`,children:`all accounts (unfiltered)`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Recent alerts`,onOpen:L}),(0,q.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(),K({type:`SAVE_PREFS`,patch:{alertsCollapsed:!r}})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${r?`chevron-down`:`chevron-up`}`})})}),(0,q.jsx)(Sa,{})]})]}),t===`all`&&(0,q.jsx)(`div`,{className:`panel-range-note`,children:`Both providers, newest first`}),(0,q.jsx)(`div`,{className:`panel-body`,id:`panel-alerts-body`,children:ee.length===0?(0,q.jsx)(nc,{source:t,usedPct:M,thresholds:N,compact:!0}):(0,q.jsx)(`ul`,{className:`alerts-list`,children:ee.map(e=>{let n=F(e),r=w(e),i=H.startedShortOrNull(n.whenIso,I);return(0,q.jsxs)(`li`,{className:`alert-row`,children:[(0,q.jsxs)(`span`,{className:`alert-threshold severity-${n.severity} ${n.severity}`,children:[n.threshold,`%`]}),(0,q.jsx)(`span`,{className:`chip ${n.chipClass}`,children:n.chipLabel}),t===`all`&&(0,q.jsx)(`span`,{className:`source-chip source-chip--${n.source}`,children:n.sourceLabel}),r!=null&&(0,q.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,q.jsx)(`span`,{className:`alert-when`,title:i??void 0,children:H.relativeOrAbsolute(n.whenIso??``,I)})]},T(e))})})}),te>0&&(0,q.jsxs)(`div`,{className:`panel-foot alerts-foot`,children:[ee.length,` of `,te,` shown`]})]})}function ic(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 ac(e,t=`claude`){return t===`codex`?e.cached_input_percent??null:e.cache_hit_percent??null}function oc(e,t=`claude`){let n=ac(e,t);return n===null?null:`${H.pctFloor(n)}%`}function sc(e,t){return e.not_applicable?.[t]??null}var cc=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`}),lc=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 uc(e){return e===`codex`?lc:cc}function dc(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 fc={mini:{chartWidth:272,padX:0,gap:1},large:{chartWidth:800,padX:28,gap:4}};function pc(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}=fc[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 mc={mini:{width:272,height:32,padTop:4,padBot:4},large:{width:800,height:90,padTop:6,padBot:6}},hc=1;function J({days:e,baseline_median_percent:t,today_marker_color:n,size:r,source:i}){let a=i??`claude`,o=uc(a),s=mc[r],c=r===`large`,l=[...e].reverse(),u=l.map((e,t)=>({d:e,i:t,pct:ac(e,a)})).filter(({d:e,pct:t})=>e.observed!==!1&&t!==null),d=c?dc(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,q.jsx)(`svg`,{className:`cr-spark`,...f,viewBox:`0 0 ${s.width} ${s.height}`,"aria-label":`no data`});return c?(0,q.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,q.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:[Math.round(d.hi),`%`]}),e,(0,q.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=>pc(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=ac(_,a),y=_.observed!==!1,b=y&&v!==null,x=m(g),S=x,C=(0,q.jsxs)(`svg`,{className:`cr-spark`,...f,viewBox:`0 0 ${s.width} ${s.height}`,"aria-label":`${o.sparklineLabel}, ${ic(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,q.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,q.jsxs)(q.Fragment,{children:[(0,q.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,q.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,q.jsx)(`polyline`,{points:h,fill:`none`,stroke:`var(--accent-cyan)`,strokeWidth:c?2:1.5}),b?(0,q.jsx)(`circle`,{cx:x,cy:p(v),r:c?5:3.5,fill:n,"data-testid":`cr-spark-today-marker`}):(0,q.jsx)(`line`,{x1:S,x2:S,y1:s.padTop,y2:s.height-s.padBot,stroke:`var(--text-dim)`,strokeWidth:hc,strokeDasharray:`3,3`,"data-testid":`cr-spark-today-unobserved`,children:(0,q.jsx)(`title`,{children:y?`No cache percentage published for today`:`No activity today`})})]});return c?(0,q.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,q.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:[Math.round(d.hi),`%`]}),C,(0,q.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:[Math.round(d.lo),`%`]})]}):C}var gc={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 _c({days:e,size:t,source:n}){let r=uc(n??`claude`),i=gc[t],a=t===`large`,o=[...e].reverse(),s=e=>e.wasted_usd??0;if(o.length===0)return a?(0,q.jsxs)(`div`,{className:`crm-section`,children:[(0,q.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[`Net $ per day`,(0,q.jsx)(`span`,{className:`meta`,children:`no data`})]}),(0,q.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,q.jsx)(`div`,{style:{color:`var(--text-dim)`,fontSize:11,padding:`8px 4px`},children:`No daily activity to render.`})})]}):(0,q.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=>pc(t,e,o.length);return(0,q.jsxs)(`div`,{className:`crm-section`,children:[(0,q.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[r.netBarsHeading,(0,q.jsx)(`span`,{className:`meta`,children:r.netBarsCaption})]}),(0,q.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,q.jsxs)(`svg`,{viewBox:`0 0 ${i.width} ${i.height}`,width:`100%`,height:i.height,"aria-label":`Per-day net dollar chart, ${ic(o)}`,children:[(0,q.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,q.jsxs)(`g`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`pos`,children:[(0,q.jsx)(`rect`,{x:r,y:a-t,width:i,height:t,fill:`var(--accent-green)`,rx:2}),o>0&&(0,q.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,q.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`:H.calDate(e.date);return(0,q.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=>pc(t,e,o.length);return(0,q.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${i.width} ${i.height}`,preserveAspectRatio:`none`,"aria-label":`Net dollar bars, ${ic(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,q.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 vc=[`net_negative`,`cache_drop`];function yc(e,t=vc){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 bc(e){return e===`anomalous`?`⚠`:e===`clean`?`✓`:`·`}function xc(e){return e===`anomalous`?`flag-warn`:e===`clean`?`flag-ok`:`flag-none`}function Sc(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 Cc(e){return e.anomaly_predicates??vc}function wc(e){let t=e.today.baseline_daily_row_count<5,n=e.today.anomaly_triggered&&!t,r=yc(e.today,Cc(e));return{insufficient:t,chromeAmber:n,todayObserved:r.observed,today:r}}var Tc=`var(--accent-teal)`,Ec=`var(--accent-amber)`,Dc=`var(--accent-green)`;function Oc({section:e}){let t=e.value,n=uc(e.source),r=t?.days.reduce((e,t)=>e+t.net_usd,0)??0,i=t==null?null:wc(t);return(0,q.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,q.jsxs)(`div`,{className:`source-provider-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`cache-report-panel-${e.source}-heading`,children:[e.label,` cache report`]}),(0,q.jsx)(Bo,{source:e.source}),e.status!==`available`&&(0,q.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),t==null?(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`provider-summary-kpis`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`provider-summary-label`,children:n.percentLabel}),(0,q.jsx)(`strong`,{className:`provider-summary-value`,children:i.todayObserved?oc(t.today,e.source)??`—`:`—`})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`span`,{className:`provider-summary-label`,children:[t.window_days,`d net`]}),(0,q.jsx)(`strong`,{className:r<0?`provider-summary-value warn`:`provider-summary-value ok`,children:H.usdSigned(r)})]})]}),(0,q.jsxs)(`div`,{className:`provider-summary-foot`,children:[(0,q.jsx)(`span`,{children:i.insufficient?`~ Building baseline · ${t.today.baseline_daily_row_count}/5`:i.chromeAmber?`⚠ anomaly`:i.todayObserved?`✓ healthy`:`· no activity today`}),(0,q.jsxs)(`span`,{children:[t.window_days,`d native report`]})]}),e.reason&&(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason})]})]})}function kc(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=vi(),r=fi(t,di(t)),i=n?` cache-report-collapsed`:``,a=()=>{K({type:`OPEN_MODAL`,kind:`cache-report`})},o=zo(e,t);if(t===`all`)return(0,q.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:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsxs)(`h2`,{style:{color:Tc},children:[`Cache Report `,(0,q.jsx)(`span`,{className:`sub`,children:`by provider`})]})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-body source-all-sections provider-composition provider-composition--panel`,children:o.sections.map(e=>(0,q.jsx)(Oc,{section:e},e.source))})]});let s=o.sections[0],c=s?.value??null,l=uo(e,t).hydrating,u=s&&s.status!==`available`?(0,q.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=uc(t);if(!c&&l&&!p)return(0,q.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:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsxs)(`h2`,{style:{color:Tc},children:[`Cache Report `,(0,q.jsx)(`span`,{className:`sub`,children:`(loading)`})]})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-body`,children:(0,q.jsx)(is,{lines:2})})]});if(p){let e=s?.status===`empty`||f,n=e?null:u,r=e?null:d;return(0,q.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:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsx)(`h2`,{style:{color:Tc},children:`Cache Report`}),n]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`cr-status-row`,children:[(0,q.jsx)(`span`,{className:`cr-glyph empty`,"aria-hidden":`true`,children:`−`}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`cr-headline`,children:[`No `,s?.label??`Claude`,` activity yet`]}),(0,q.jsx)(`div`,{className:`cr-subline`,children:`Run a session to start tracking`}),r&&(0,q.jsx)(`div`,{className:`cr-subline`,children:r})]})]})]})}if(!c)return(0,q.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:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsx)(`h2`,{style:{color:Ec},children:`Cache Report`}),u]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`cr-status-row`,children:[(0,q.jsx)(`span`,{className:`cr-glyph fail`,"aria-hidden":`true`,children:`!`}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`cr-headline`,children:`Cache Report unavailable`}),(0,q.jsx)(`div`,{className:`cr-subline`,children:`The snapshot could not be built. Retrying on the next sync.`}),d&&(0,q.jsx)(`div`,{className:`cr-subline`,children:d})]})]})]});let h=wc(c),g=c.today.anomaly_triggered,{insufficient:v}=h,y=h.todayObserved,b=h.chromeAmber,x=b?`accent-amber`:`accent-teal`,S=b?Ec:Tc,C=b?Ec:Dc,w,T,E=null;if(v){w={icon:`~`,cls:`thin`};let e=c.today.baseline_daily_row_count;T=(0,q.jsxs)(q.Fragment,{children:[`Building baseline · `,e,`/`,5,` days`]}),E=y?(0,q.jsxs)(q.Fragment,{children:[`Today: `,m.percentLabelInline,` `,oc(c.today,t)??`—`,` · net`,` `,H.usdSigned(c.today.net_usd)]}):(0,q.jsx)(q.Fragment,{children:`No activity today`})}else if(g){if(w={icon:`⚠`,cls:`warn`},c.today.anomaly_reasons.includes(`cache_drop`)&&c.today.delta_pp!==null){let e=H.pctFloor(Math.abs(c.today.delta_pp));T=(0,q.jsxs)(q.Fragment,{children:[`Today: `,m.percentLabelInline,` `,(0,q.jsxs)(`span`,{className:`delta-bad`,children:[`↓ `,e,`pp`]})]})}else T=(0,q.jsxs)(q.Fragment,{children:[`Today: net`,` `,(0,q.jsx)(`span`,{className:`delta-bad`,children:H.usdSigned(c.today.net_usd)})]});E=(0,q.jsxs)(q.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:H.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,q.jsx)(`span`,{className:`warn`,children:H.usdSigned(c.today.net_usd)})]})}else y?(w={icon:`✓`,cls:`ok`},T=(0,q.jsxs)(q.Fragment,{children:[`Today: `,m.percentLabelInline,` `,(0,q.jsx)(`span`,{className:`delta-good`,children:oc(c.today,t)??`—`})]}),E=(0,q.jsxs)(q.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:H.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,q.jsx)(`span`,{className:`ok`,children:H.usdSigned(c.today.net_usd)})]})):(w={icon:`·`,cls:`thin`},T=(0,q.jsx)(q.Fragment,{children:`No activity today`}),E=(0,q.jsxs)(q.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:H.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net —`]}));let D=c.days.reduce((e,t)=>e+t.net_usd,0),O=D>=0?`ok`:`warn`,k=v?(0,q.jsxs)(q.Fragment,{children:[`Watchdog activates at `,5,` days of history`]}):(0,q.jsxs)(q.Fragment,{children:[c.window_days,`d net:`,` `,(0,q.jsx)(`span`,{className:O,children:H.usdSigned(D)})]});return(0,q.jsxs)(`section`,{className:`panel ${x}${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report`,onClick:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsxs)(`h2`,{style:{color:S},children:[`Cache Report`,b&&(0,q.jsx)(`span`,{className:`sub`,children:`⚠ Today`})]}),u]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`cr-status-row`,children:[(0,q.jsx)(`span`,{className:`cr-glyph ${w.cls}`,children:w.icon}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`cr-headline`,children:T}),(0,q.jsx)(`div`,{className:`cr-subline`,children:E})]})]}),!v&&c.days.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(J,{days:c.days,baseline_median_percent:c.today.baseline_median_percent,today_marker_color:C,size:`mini`,source:t}),(0,q.jsx)(`div`,{className:`cr-netbars-mini-wrap`,children:(0,q.jsx)(_c,{days:c.days,size:`mini`,source:t})})]}),(0,q.jsx)(`div`,{className:`cr-subline second`,children:k}),d&&(0,q.jsx)(`div`,{className:`provider-section-reason`,children:d})]})}var Ac={forecast:{id:`forecast`,label:`Forecast`,Component:$o,openAction:()=>K({type:`OPEN_MODAL`,kind:`forecast`})},trend:{id:`trend`,label:`Trend`,Component:us,openAction:()=>K({type:`OPEN_MODAL`,kind:`trend`})},sessions:{id:`sessions`,label:`Sessions`,Component:ys,openAction:$i},projects:{id:`projects`,label:`Projects`,Component:ks,openAction:()=>K({type:`OPEN_MODAL`,kind:`projects`})},blocks:{id:`blocks`,label:`Blocks`,Component:Ps,openAction:ea},daily:{id:`daily`,label:`Daily`,Component:Hs,openAction:()=>K({type:`OPEN_MODAL`,kind:`daily`})},weekly:{id:`weekly`,label:`Weekly`,Component:$s,openAction:()=>K({type:`OPEN_MODAL`,kind:`weekly`})},monthly:{id:`monthly`,label:`Monthly`,Component:tc,openAction:()=>K({type:`OPEN_MODAL`,kind:`monthly`})},alerts:{id:`alerts`,label:`Recent alerts`,Component:rc,openAction:()=>K({type:`OPEN_MODAL`,kind:`alerts`})},"cache-report":{id:`cache-report`,label:`Cache Report`,Component:kc,openAction:()=>K({type:`OPEN_MODAL`,kind:`cache-report`})}};function jc({onClose:e,label:t=`Close`,className:n=`modal-close`,disabled:r}){return(0,q.jsx)(`button`,{type:`button`,className:n,"aria-label":t,onClick:e,disabled:r,children:`×`})}function Mc({title:e,titleId:t,className:n=`modal-header`,headerExtras:r,onClose:i,closeLabel:a,closeClassName:o,closeDisabled:s}){return(0,q.jsxs)(`header`,{className:n,children:[(0,q.jsx)(`h2`,{id:t,tabIndex:-1,children:e}),r,i?(0,q.jsx)(jc,{onClose:i,label:a,className:o,disabled:s}):null]})}var Nc=[{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:[`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 Pc({panelOrder:e}){return(0,q.jsx)(`table`,{children:(0,q.jsxs)(`tbody`,{children:[e.map((e,t)=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:t<9?(0,q.jsx)(`kbd`,{children:String(t+1)}):t===9?(0,q.jsx)(`kbd`,{children:`0`}):(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`—`})}),(0,q.jsxs)(`td`,{children:[`Open `,Ac[e]?.label??e,` modal`]})]},e)),Nc.map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:e.keys.map(e=>(0,q.jsx)(`kbd`,{children:e},e)).reduce((e,t)=>[e,` / `,t])}),(0,q.jsx)(`td`,{children:e.desc})]},e.desc)),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:`Hold + drag a card`}),(0,q.jsx)(`td`,{children:`rearrange the dashboard`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`Shift`}),`+`,(0,q.jsx)(`kbd`,{children:`↑`}),`/`,(0,q.jsx)(`kbd`,{children:`↓`})]}),(0,q.jsx)(`td`,{children:`swap focused card with neighbor`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`↑`}),`/`,(0,q.jsx)(`kbd`,{children:`↓`})]}),(0,q.jsx)(`td`,{children:`Select period (Daily / Weekly / Monthly modal)`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:`Click the hero, or focus it and press Enter or Space`}),(0,q.jsx)(`td`,{children:`Open the Current Usage modal`})]})]})})}function Fc(){return(0,q.jsx)(`table`,{className:`help-conversations`,children:(0,q.jsxs)(`tbody`,{children:[(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:2,children:(0,q.jsx)(`strong`,{children:`Conversations`})})}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`j`}),` / `,(0,q.jsx)(`kbd`,{children:`k`})]}),(0,q.jsx)(`td`,{children:`move turns`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`[`}),` / `,(0,q.jsx)(`kbd`,{children:`]`})]}),(0,q.jsx)(`td`,{children:`collapse / expand all`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`g`})}),(0,q.jsx)(`td`,{children:`jump to top`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`e`}),` / `,(0,q.jsx)(`kbd`,{children:`E`})]}),(0,q.jsx)(`td`,{children:`next / prev error`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`u`}),` / `,(0,q.jsx)(`kbd`,{children:`U`})]}),(0,q.jsx)(`td`,{children:`next / prev prompt`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`b`}),` / `,(0,q.jsx)(`kbd`,{children:`B`})]}),(0,q.jsx)(`td`,{children:`next / prev subagent`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`p`}),` / `,(0,q.jsx)(`kbd`,{children:`P`})]}),(0,q.jsx)(`td`,{children:`next / prev plan / question`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`c`}),` / `,(0,q.jsx)(`kbd`,{children:`C`})]}),(0,q.jsx)(`td`,{children:`next / prev cache rebuild`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`m`}),` / `,(0,q.jsx)(`kbd`,{children:`M`})]}),(0,q.jsx)(`td`,{children:`next / prev compaction`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`h`}),` / `,(0,q.jsx)(`kbd`,{children:`H`})]}),(0,q.jsx)(`td`,{children:`next / prev reasoning heading`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`a`})}),(0,q.jsx)(`td`,{children:`jump to last prompt`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`L`})}),(0,q.jsx)(`td`,{children:`jump to last error`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`o`})}),(0,q.jsx)(`td`,{children:`toggle outline`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`v`})}),(0,q.jsx)(`td`,{children:`cycle focus mode`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`/`})}),(0,q.jsx)(`td`,{children:`find in conversation`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`f`})}),(0,q.jsx)(`td`,{children:`focus the conversation-list search`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`Esc`})}),(0,q.jsx)(`td`,{children:`close`})]})]})})}function Ic(){return(0,q.jsxs)(`ul`,{className:`help-gesture-list`,children:[(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Tap the chevron`}),` — expand or collapse a panel`]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Long-press a panel`}),` — drag to rearrange the dashboard`]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Tap ✕ or the dim backdrop`}),` — close a sheet (or `,(0,q.jsx)(`kbd`,{children:`Esc`}),` on tablets)`]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Tap a model chip`}),` — filter Sessions by that model`]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Tap the sync chip`}),` — force a fresh refresh`]})]})}function Lc(){let[e,t]=(0,_.useState)(!1),n=vi(),r=(0,_.useSyncExternalStore)(G,()=>W().prefs.panelOrder),i=(0,_.useSyncExternalStore)(G,()=>W().activeSource),a=qn(),o=(0,_.useSyncExternalStore)(G,()=>W().view),s=(0,_.useMemo)(()=>en(a,i),[a,i]),c=(0,_.useMemo)(()=>tn(r,s),[r,s]);pa([{key:`?`,scope:`global`,view:`any`,action:()=>t(e=>!e)},{key:`Escape`,scope:`overlay`,layer:1e3,action:()=>t(!1),when:()=>e}]);let l=(0,_.useRef)(null);return _a(l,{active:e}),xa(e),(0,_.useEffect)(()=>{if(e)return K({type:`INCREMENT_CHROME_OVERLAY`}),()=>K({type:`DECREMENT_CHROME_OVERLAY`})},[e]),e?(0,q.jsx)(`div`,{id:`help-overlay`,onClick:()=>t(!1),children:(0,q.jsxs)(`div`,{ref:l,className:`help-card`,onClick:e=>e.stopPropagation(),children:[(0,q.jsx)(Mc,{title:n?`Help`:`Keybindings`,className:`help-header`,onClose:()=>t(!1)}),n?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ic,{}),(0,q.jsxs)(`details`,{className:`help-keyboard-disclosure`,children:[(0,q.jsx)(`summary`,{children:`Keyboard shortcuts ▾`}),(0,q.jsx)(Pc,{panelOrder:c}),o===`conversations`&&(0,q.jsx)(Fc,{})]})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Pc,{panelOrder:c}),o===`conversations`&&(0,q.jsx)(Fc,{})]}),(0,q.jsxs)(`p`,{className:`meta`,children:[`cctally · `,(0,q.jsx)(`span`,{id:`help-server-url`,children:window.location.origin})]})]})}):null}var Rc=[`display`,`sessions`,`alerts`,`viewer`,`access`,`restore`,`cli`],zc={display:`Display & time`,sessions:`Recent Sessions`,alerts:`Alerts`,viewer:`Conversation viewer`,access:`Access & updates`,restore:`Restore defaults`,cli:`Managed from the CLI`};function Bc(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 Hc(e){return e.mode===`local`?`local`:e.mode===`utc`?`utc`:e.custom.trim()}function Uc(e){if(!e)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}).format(new Date),!0}catch{return!1}}var Wc=`Enter a whole number between 10 and 1000.`;function Gc(e){let t=e.trim();if(!/^\d+$/.test(t))return{ok:!1,message:Wc};let n=Number.parseInt(t,10);return!Number.isFinite(n)||n<10||n>1e3?{ok:!1,message:Wc}:{ok:!0,value:n}}var Kc=`Enter an amount greater than 0, or leave blank for no budget.`;function qc(e){let t=e.trim();if(t===``)return{ok:!0,value:null};if(!/^\d*\.?\d+$/.test(t))return{ok:!1,message:Kc};let n=Number(t);return!Number.isFinite(n)||n<=0?{ok:!1,message:Kc}:{ok:!0,value:n}}var Jc={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=Hc(e);return e.mode===`custom`&&!Uc(n)?!1:n===t},parse:e=>{let t=Hc(e);return e.mode===`custom`&&!Uc(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},Yc={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})},Xc={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})},Zc={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=qc(e);return n.ok&&n.value===t},parse:qc},Qc={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}]},$c={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=Gc(e);return n.ok&&n.value===t},parse:Gc,commit:e=>[{type:`SAVE_PREFS`,patch:{sessionsPerPage:e}}]},el=[Jc,Yc,Bc({id:`alerts.enabled`,label:`Enable threshold alerts`,path:`alerts.enabled`,section:`alerts`,read:e=>e.alerts.enabled}),Bc({id:`alerts.projected_enabled`,label:`Projected weekly-% pace alerts`,path:`alerts.projected_enabled`,section:`alerts`,read:e=>e.alerts.projected_weekly_enabled??!1}),Zc,Bc({id:`budget.projected_enabled`,label:`Projected budget-$ pace alerts`,path:`budget.projected_enabled`,section:`alerts`,read:e=>e.alerts.projected_budget_enabled??!1}),Bc({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}),Bc({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}),Bc({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}),Bc({id:`dashboard.cache_failure_markers`,label:`Show cache-failure markers`,path:`dashboard.cache_failure_markers`,section:`viewer`,read:e=>e.markersEnabled}),Bc({id:`dashboard.live_tail`,label:`Live-tail new turns`,path:`dashboard.live_tail`,section:`viewer`,read:e=>e.liveTail}),Bc({id:`dashboard.lan_auth`,label:`Require LAN access token`,path:`dashboard.lan_auth`,section:`access`,read:e=>e.lanAuth}),Xc,Qc,$c,{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`}]}],tl=new Map(el.map(e=>[e.id,e]));function nl(e){return tl.get(e)}var rl={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},il=new Map(el.filter(e=>e.kind===`server`).map(e=>[e.path,e.id]));function al(e){let t=il.get(e);if(t!==void 0)return{kind:`leaf`,id:t};if(Object.hasOwn(rl,e)){let t=rl[e];if(t!==null)return{kind:`group`,section:t}}return{kind:`form`}}var ol=new Set([`budget.period`,`budget.codex.amount_usd`,`budget.codex.period`,`budget.codex.alert_thresholds`]);function sl(e){let t=[],n=[];for(let r of e)il.has(r)?n.push(r):ol.has(r)&&t.push(r);return{expected:t,mismatched:n}}var cl=[{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.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(cl.map(e=>[e.key,e]));function ll({sections:e,activeId:t,onJump:n}){return(0,q.jsx)(`nav`,{className:`settings-rail`,"aria-label":`Settings sections`,children:(0,q.jsx)(`ul`,{children:e.map(e=>(0,q.jsx)(`li`,{children:(0,q.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,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:` ●`}),(0,q.jsx)(`span`,{className:`sr-only`,children:` (has unsaved changes)`})]})]})},e.id))})})}function ul(e,t,n){let[r,i]=(0,_.useState)(t[0]??null),a=t.join(`|`),o=(0,_.useRef)(t);o.current=t;let s=(0,_.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,_.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 dl(){return el.filter(e=>e.kind===`server`||e.kind===`browser`)}function fl(e){let t={},n={};for(let r of dl()){let i=r.read(e);n[r.id]=i,t[r.id]=r.toDraft(i)}let r={};for(let e of el)e.kind===`stagedAction`&&(r[e.id]=!1);return{draft:t,server:n,staged:r,sources:e}}function pl(e,t){let n={...e.draft},r={...e.server};for(let e of dl()){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 ml(e,t,n){return{...e,draft:{...e.draft,[t]:n}}}function hl(e,t){return{...e,staged:{...e.staged,[t]:!e.staged[t]}}}function gl(e,t){let n=nl(t);return n?n.kind===`stagedAction`?e.staged[t]===!0:!n.equivalent(e.draft[t],e.server[t]):!1}function _l(e){return el.filter(t=>gl(e,t.id)).map(e=>e.id)}function vl(e){return _l(e).length}function yl(e,t){return el.some(n=>n.section===t&&gl(e,n.id))}function bl(e){let t={};for(let n of dl()){let r=n.parse(e.draft[n.id]);r.ok||(t[n.id]=r.message)}return t}function xl(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 Sl(e){let t={};for(let n of el){if(n.kind!==`server`)continue;let r=n;if(!gl(e,r.id)||r.suppressed?.(e.sources))continue;let i=r.parse(e.draft[r.id]);i.ok&&xl(t,r.path,i.value)}return t}function Cl(e){let t=[];for(let n of el)if(gl(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 wl(e,t){let[n,r]=(0,_.useState)(()=>fl(e)),i=(0,_.useRef)(!1),a=(0,_.useRef)(e);a.current=e,(0,_.useEffect)(()=>{t&&!i.current?r(fl(a.current)):t&&r(e=>pl(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,_.useCallback)((e,t)=>{r(n=>ml(n,e,t))},[]),c=(0,_.useCallback)(e=>{r(t=>hl(t,e))},[]),l=(0,_.useCallback)(()=>{r(fl(a.current))},[]),u=bl(o);return{state:o,drafts:o.draft,dirtyIds:_l(o),dirtyCount:vl(o),issues:u,valid:Object.keys(u).length===0,sectionDirty:e=>yl(o,e),isDirty:e=>gl(o,e),draftOf:e=>o.draft[e],staged:e=>o.staged[e]===!0,setDraft:s,toggleStaged:c,open:l,buildBody:()=>Sl(o),localActions:()=>Cl(o)}}var Tl={weekly_pct:`Weekly %`,budget_usd:`Budget $`,codex_budget_usd:`Codex $`};function El(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 Dl={"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`,"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`},Ol=[{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 kl(e){return[e.label,e.key,e.reason,e.command,`this machine`].join(` `)}function Al(e){return e.focus(),e.ownerDocument.activeElement===e}function jl(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 el){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 Ml(){let[e,t]=(0,_.useState)(!1),n=(0,_.useSyncExternalStore)(G,()=>W().prefs),r=(0,_.useSyncExternalStore)(G,()=>W().filterText),i=bi(),a=Ks(),o=(0,_.useSyncExternalStore)(G,()=>W().alertsConfig),s=(0,_.useSyncExternalStore)(G,()=>On(W())),c=(0,_.useSyncExternalStore)(G,()=>kn(W())),l=(0,_.useSyncExternalStore)(G,()=>An(W())),u=(0,_.useSyncExternalStore)(G,()=>jn(W())),d=(0,_.useSyncExternalStore)(G,()=>W().update.state?.method??`unknown`),f=wl({tz:i.tz,tzPinned:i.pinned,alerts:o,markersEnabled:s,liveTail:c,lanAuth:l,channel:u,sortDefault:n.sortDefault,sessionsPerPage:n.sessionsPerPage,filterText:r},e),[p,m]=(0,_.useState)(!1),[h,g]=(0,_.useState)([]),[v,y]=(0,_.useState)(null),[x,S]=(0,_.useState)(0),[C,w]=(0,_.useState)(!1),[T,E]=(0,_.useState)(!1),[D,O]=(0,_.useState)(null),[k,A]=(0,_.useState)(!1),[j,M]=(0,_.useState)(`weekly`),[N,P]=(0,_.useState)(`weekly_pct`),[F,I]=(0,_.useState)(!1),[ee,te]=(0,_.useState)(``),[L,ne]=(0,_.useState)(null),[R,re]=(0,_.useState)(0),z=(0,_.useRef)(!1);(0,_.useEffect)(()=>{e&&!z.current&&(O(null),A(!1),M(`weekly`),w(!1),I(!1),g([]),y(null),te(``)),z.current=e},[e]),(0,_.useEffect)(()=>{if(!p){S(0);return}let e=setInterval(()=>S(e=>e+1),1e3);return()=>clearInterval(e)},[p]),pa([{key:`s`,scope:`global`,view:`any`,action:()=>t(!0),when:()=>!W().openModal},{key:`Escape`,scope:`modal`,action:()=>Ie(),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 B=(0,_.useRef)(null);_a(B,{active:e});let V=(0,_.useRef)(null),ie=(0,_.useRef)(null),ae=(0,_.useRef)(null),oe=(0,_.useRef)(null),se=(0,_.useRef)(null);(0,_.useEffect)(()=>{F&&V.current?.focus()},[F]),(0,_.useEffect)(()=>{let e=B.current;if(!e)return;for(let t of Array.from(e.children))t instanceof HTMLElement&&(t.classList.contains(`settings-confirm`)||(t.inert=F));let t=e.querySelector(`.modal-body`);t&&(t.inert=F)},[F]),(0,_.useEffect)(()=>{let e=se.current;if(!e||typeof ResizeObserver>`u`)return;let t=()=>re(e.getBoundingClientRect().height);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]);let ce=[...el.map(e=>({key:e.id,section:e.section,index:[e.label,e.id,e.scopeWord,Dl[e.id]??``].join(` `)})),...cl.filter(e=>e.disposition!==`editable`).map(e=>({key:`manifest:${e.key}`,section:e.section,index:kl(e)})),...Ol],le=ee.trim().toLowerCase(),ue=new Set(ce.filter(e=>le===``||e.index.toLowerCase().includes(le)).map(e=>e.key)),de=e=>ce.some(t=>t.section===e&&ue.has(t.key)),fe=Rc.filter(de),pe=ul(ae,fe,R+24);if((0,_.useEffect)(()=>{L&&(jl(B.current,L)||ie.current?.focus(),ne(null))},[L]),xa(e),(0,_.useEffect)(()=>{if(e)return K({type:`INCREMENT_CHROME_OVERLAY`}),()=>K({type:`DECREMENT_CHROME_OVERLAY`})},[e]),!e)return null;let me=f.draftOf(`display.tz`),he=me.mode!==`custom`||Uc(me.custom.trim()),ge=e=>f.setDraft(`display.tz`,{...me,...e}),_e=f.draftOf(`alerts.notifier`),ve=o.command_configured??!1,ye=f.dirtyCount,be=e=>h.find(t=>t.target.kind===`leaf`&&t.target.id===e)?.message,xe=(e,t)=>{f.setDraft(e,t),g(t=>t.filter(t=>t.key!==e))},Se=e=>{let t=f.issues[e];g(n=>{let r=n.filter(t=>t.key!==e);if(!t)return r;let i=nl(e);return[...r,{key:e,message:`${i?.label??e}: ${t}`,target:{kind:`leaf`,id:e}}]})},Ce=e=>{let t=B.current,n=document.activeElement;t&&n&&n!==oe.current&&t.contains(n)&&oe.current?.focus(),te(e)},we=e=>ue.has(e),Te=e=>{if(!jl(B.current,e)){if(e.kind===`leaf`&&!ue.has(e.id)){Ce(``),ne(e);return}if(e.kind===`group`&&!de(e.section)){Ce(``),ne(e);return}ie.current?.focus()}},Ee=e=>{let t=ae.current,n=t?.querySelector(`[data-settings-section="${e}"]`);if(!t||!n)return;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),o=Math.max(0,t.scrollHeight-t.clientHeight),s=t.scrollTop+i.top-r.top-16,c=Math.max(0,Math.min(s,o));typeof t.scrollTo==`function`?t.scrollTo({top:c,behavior:a?`auto`:`smooth`}):t.scrollTop=c,n.focus({preventScroll:!0})},De=ye===0||p,Oe=()=>{p||(I(!1),w(!1),t(!1))},ke=async()=>{let e=f.issues,t=el.filter(t=>e[t.id]!==void 0);if(t.length>0){y(null),g(t.map(t=>({key:t.id,message:`${t.label}: ${e[t.id]}`,target:{kind:`leaf`,id:t.id}}))),Te({kind:`leaf`,id:t[0].id});return}g([]),y(null);let n=f.buildBody();if(Object.keys(n).length>0){m(!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=al(t.field??`$`),r=t.error??`HTTP ${e.status}`;g([{key:t.field??`$`,message:r,target:n}]),m(!1),Te(n);return}let r=sl(t.ignored_fields??[]);if(r.mismatched.length>0){g(r.mismatched.map(e=>{let t=al(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}})),m(!1),Te(al(r.mismatched[0]));return}r.expected.length>0&&y(`Saved. ${r.expected.join(`, `)} ${r.expected.length===1?`is`:`are`} accepted here but kept in the configuration file rather than written by the dashboard.`),t.dashboard&&K({type:`INGEST_DASHBOARD_PREFS`,prefs:t.dashboard})}catch(e){g([{key:`$`,message:e instanceof Error?e.message:`unknown error`,target:{kind:`form`}}]),m(!1),Te({kind:`form`});return}m(!1)}for(let e of f.localActions())K(e);if(f.isDirty(`dashboard.lan_auth`)){w(!0);return}Oe()},Ae=()=>{let e=xn();xe(`prefs.sortDefault`,e.sortDefault),xe(`prefs.sessionsPerPage`,String(e.sessionsPerPage)),xe(`prefs.filterText`,``)},je=xn(),Me=f.draftOf(`prefs.sessionsPerPage`),Ne=f.draftOf(`prefs.sortDefault`)===je.sortDefault&&Me.trim()===String(je.sessionsPerPage)&&f.draftOf(`prefs.filterText`)===``,Pe=!!n.trendSortOverride||!!n.sessionsSortOverride||!!n.projectsSortOverride||!!n.historySortOverrides.week||!!n.historySortOverrides.month,Fe=n.panelOrder.length===nt.length&&n.panelOrder.every((e,t)=>e===nt[t]),Ie=()=>{if(!p){if(F){I(!1);return}if(ye>0){I(!0);return}Oe()}},Le=e=>e?(0,q.jsxs)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:[` `,`●`]}):null,Re=(...e)=>e.some(e=>f.isDirty(e)),ze=f.isDirty(`display.tz`),Be=f.isDirty(`alerts.notifier`),Ve=Re(`alerts.enabled`,`alerts.projected_enabled`,`budget.weekly_usd`,`budget.projected_enabled`,`budget.project_alerts_enabled`),He=Re(`budget.codex.alerts_enabled`,`budget.codex.projected_enabled`),Ue=Re(`dashboard.cache_failure_markers`,`dashboard.live_tail`),We=f.isDirty(`dashboard.lan_auth`),Ge=f.isDirty(`update.channel`),Ke=f.isDirty(`prefs.sortDefault`),qe=f.isDirty(`prefs.sessionsPerPage`),Je=f.isDirty(`prefs.filterText`),H=Re(`restore.tableSort`,`restore.cardOrder`),Ye=p?x>=3?`Still saving and refreshing… ${x}s elapsed. A large history can make this take a while; the dashboard is not stuck.`:``:v??(ye===0?``:`${ye} unsaved change${ye===1?``:`s`}.`),Xe=e=>e===`browser`?(0,q.jsx)(`span`,{className:`settings-scope`,children:` (this browser)`}):(0,q.jsx)(`span`,{className:`sr-only`,children:` Scope: this machine.`}),Ze=e=>(0,q.jsx)(`code`,{className:`settings-key`,children:e}),Qe=e=>(0,q.jsxs)(`div`,{className:`settings-disclosure`,children:[(0,q.jsxs)(`p`,{className:`settings-disclosure-label`,children:[e.label,` `,Ze(e.key),Xe(`machine`)]}),(0,q.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,q.jsxs)(`p`,{className:`settings-hint`,children:[`Default: `,(0,q.jsx)(`code`,{children:e.defaultText})]}),(0,q.jsxs)(`p`,{className:`settings-command`,children:[`Run: `,(0,q.jsx)(`code`,{children:e.command})]})]},e.key),$e=e=>cl.filter(t=>t.section===e&&t.disposition!==`editable`&&we(`manifest:${t.key}`)).map(Qe),et=(e,t)=>(0,q.jsxs)(`h3`,{className:`settings-section-title`,id:`settings-h-${e}`,"data-settings-section":e,tabIndex:-1,children:[zc[e],t&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:` ●`}),(0,q.jsx)(`span`,{className:`sr-only`,children:` (has unsaved changes)`})]})]}),tt=fe.map(e=>({id:e,title:zc[e],dirty:f.sectionDirty(e)})),rt=f.dirtyIds.filter(e=>!ue.has(e)),it=ue.size,at=ce.length,ot=le===``?`${at} settings`:`${it} of ${at} settings match “${ee.trim()}”`;return(0,q.jsxs)(`div`,{id:`settings-root`,children:[(0,q.jsx)(`div`,{className:`modal-backdrop`,onClick:Ie}),(0,q.jsxs)(`div`,{ref:B,className:`modal-card accent-orange settings-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,tabIndex:-1,children:[(0,q.jsx)(Mc,{title:`Settings`,titleId:`settings-title`,onClose:Oe,closeDisabled:p}),(0,q.jsxs)(`div`,{className:`settings-chrome`,children:[(0,q.jsxs)(`div`,{className:`settings-search`,role:`search`,children:[(0,q.jsx)(`label`,{htmlFor:`settings-filter`,children:`Find a setting`}),(0,q.jsx)(`input`,{ref:oe,id:`settings-filter`,type:`search`,value:ee,"aria-controls":`settings-scroller`,"aria-describedby":`settings-filter-count`,placeholder:`name, key path, or “browser”`,onChange:e=>Ce(e.target.value)})]}),(0,q.jsx)(`p`,{className:`settings-filter-count`,id:`settings-filter-count`,"aria-live":`polite`,"aria-atomic":`true`,children:ot}),rt.length>0&&(0,q.jsxs)(`p`,{className:`settings-hidden-dirty`,children:[rt.length===1?`1 unsaved change is hidden by this filter.`:`${rt.length} unsaved changes are hidden by this filter.`,` `,(0,q.jsx)(`button`,{type:`button`,className:`settings-link-btn`,onClick:()=>Ce(``),children:`Show all settings`})]})]}),(0,q.jsxs)(`div`,{className:`settings-main`,children:[(0,q.jsx)(ll,{sections:tt,activeId:pe,onJump:Ee}),(0,q.jsxs)(`div`,{className:`modal-body`,id:`settings-scroller`,ref:ae,children:[fe.length===0&&(0,q.jsxs)(`p`,{className:`settings-empty`,children:[`No setting matches “`,ee.trim(),`”. Try a shorter word, a dotted key path such as `,(0,q.jsx)(`code`,{children:`budget.weekly_usd`}),`, or`,` `,(0,q.jsx)(`button`,{type:`button`,className:`settings-link-btn`,onClick:()=>Ce(``),children:`show all settings`}),`.`]}),de(`display`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-display`,children:[et(`display`,f.sectionDirty(`display`)),we(`display.tz`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${ze?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Display timezone `,Ze(`display.tz`),Xe(`machine`),Le(ze)]}),i.pinned&&(0,q.jsx)(`small`,{children:`Pinned by --tz flag — restart the server without --tz to change here.`}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`local`,checked:me.mode===`local`,onChange:()=>ge({mode:`local`}),disabled:i.pinned}),` `,`Local (`,i.resolvedTz,`)`]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`utc`,checked:me.mode===`utc`,onChange:()=>ge({mode:`utc`}),disabled:i.pinned}),` `,`UTC`]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`custom`,checked:me.mode===`custom`,onChange:()=>ge({mode:`custom`}),disabled:i.pinned}),` `,`Custom`]}),(0,q.jsx)(`label`,{className:`settings-row`,htmlFor:`settings-tz-custom`,children:`Custom zone`}),(0,q.jsx)(`input`,{id:`settings-tz-custom`,type:`text`,"data-settings-field":`display.tz`,value:me.custom,onChange:e=>ge({custom:e.target.value}),onBlur:()=>Se(`display.tz`),disabled:me.mode!==`custom`||i.pinned,placeholder:`America/New_York`,"aria-invalid":be(`display.tz`)!==void 0}),me.mode===`custom`&&me.custom.trim()&&he&&(0,q.jsxs)(`small`,{children:[`resolves to: `,El(me.custom.trim())]})]}),$e(`display`)]}),de(`sessions`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-sessions`,children:[et(`sessions`,f.sectionDirty(`sessions`)),we(`prefs.sortDefault`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Ke?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Sort default`,Xe(`browser`),Le(Ke)]}),bn.map(({key:e,label:t})=>(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`sort-default`,value:e,"data-settings-field":e===bn[0].key?`prefs.sortDefault`:void 0,checked:f.draftOf(`prefs.sortDefault`)===e,onChange:()=>xe(`prefs.sortDefault`,e)}),` `,t]},e))]}),we(`prefs.filterText`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Je?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Remembered filter term`,Xe(`browser`),Le(Je)]}),(0,q.jsx)(`label`,{className:`settings-row`,htmlFor:`settings-filter-term`,children:`Remembered filter term`}),(0,q.jsx)(`input`,{id:`settings-filter-term`,type:`text`,placeholder:`(none)`,"data-settings-field":`prefs.filterText`,value:f.draftOf(`prefs.filterText`),onChange:e=>xe(`prefs.filterText`,e.target.value)})]}),we(`prefs.sessionsPerPage`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${qe?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Sessions per page`,Xe(`browser`),Le(qe)]}),(0,q.jsx)(`label`,{className:`settings-row`,htmlFor:`settings-per-page`,children:`Sessions per page`}),(0,q.jsx)(`input`,{id:`settings-per-page`,type:`number`,min:10,max:1e3,"data-settings-field":`prefs.sessionsPerPage`,value:Me,onChange:e=>xe(`prefs.sessionsPerPage`,e.target.value),onBlur:()=>Se(`prefs.sessionsPerPage`),"aria-invalid":be(`prefs.sessionsPerPage`)!==void 0})]}),$e(`sessions`)]}),de(`alerts`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-alerts`,children:[et(`alerts`,f.sectionDirty(`alerts`)),we(`alerts.notifier`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Be?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Notifications `,Ze(`alerts.notifier`),Xe(`machine`),Le(Be)]}),(0,q.jsxs)(`label`,{className:`settings-row`,children:[`Notifier`,` `,(0,q.jsxs)(`select`,{className:`settings-btn settings-select`,value:_e,"aria-label":`Alert notifier`,"data-settings-field":`alerts.notifier`,onChange:e=>xe(`alerts.notifier`,e.target.value),children:[(0,q.jsx)(`option`,{value:`auto`,children:`Auto-detect`}),(0,q.jsx)(`option`,{value:`osascript`,children:`macOS (osascript)`}),(0,q.jsx)(`option`,{value:`notify-send`,children:`Linux (notify-send)`}),(0,q.jsxs)(`option`,{value:`command`,disabled:!ve,children:[`Custom command`,ve?``:` (set via CLI)`]}),(0,q.jsx)(`option`,{value:`none`,children:`None (log only)`})]})]}),ve&&(0,q.jsx)(`p`,{className:`settings-hint`,children:`Custom command configured (edit via CLI).`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`The notifier backend applies to all alert dispatches (Claude and Codex).`})]}),(we(`alerts.enabled`)||we(`alerts.projected_enabled`)||we(`budget.weekly_usd`)||we(`budget.projected_enabled`)||we(`budget.project_alerts_enabled`))&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Ve?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Claude alerts`,Xe(`machine`),Le(Ve)]}),we(`alerts.enabled`)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`alerts-enabled`,"data-settings-field":`alerts.enabled`,checked:f.draftOf(`alerts.enabled`),onChange:e=>xe(`alerts.enabled`,e.target.checked)}),` `,`Enable threshold alerts `,Ze(`alerts.enabled`)]}),(0,q.jsxs)(`p`,{className:`alerts-summary settings-hint`,children:[`Weekly: `,o.weekly_thresholds.map(e=>`${e}%`).join(`, `),` · `,`5h-block:`,` `,o.five_hour_thresholds.map(e=>`${e}%`).join(`, `),` · `,`Budget:`,` `,(o.budget_thresholds??[]).map(e=>`${e}%`).join(`, `)||`—`]})]}),we(`alerts.projected_enabled`)&&(0,q.jsxs)(`div`,{className:`settings-subgroup`,children:[(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`projected-weekly-enabled`,"data-settings-field":`alerts.projected_enabled`,checked:f.draftOf(`alerts.projected_enabled`),onChange:e=>xe(`alerts.projected_enabled`,e.target.checked)}),` `,`Projected weekly-% pace alerts `,Ze(`alerts.projected_enabled`),Xe(`machine`)]}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Pace is where the week is heading if the last day's rate continues to the reset.`})]}),(we(`budget.weekly_usd`)||we(`budget.projected_enabled`)||we(`budget.project_alerts_enabled`))&&(0,q.jsxs)(`div`,{className:`settings-subgroup`,role:`group`,"aria-label":`Claude budget alerts`,children:[(0,q.jsx)(`p`,{className:`settings-subgroup-label`,children:`Claude budget`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Fire when a configured budget's pace or spend crosses a threshold.`}),we(`budget.weekly_usd`)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{className:`settings-row`,htmlFor:`settings-weekly-budget`,children:[`Weekly budget (equivalent $) `,Ze(`budget.weekly_usd`),Xe(`machine`)]}),(0,q.jsx)(`input`,{id:`settings-weekly-budget`,type:`text`,inputMode:`decimal`,"data-settings-field":`budget.weekly_usd`,value:f.draftOf(`budget.weekly_usd`),onChange:e=>xe(`budget.weekly_usd`,e.target.value),onBlur:()=>Se(`budget.weekly_usd`),placeholder:`none`,"aria-invalid":be(`budget.weekly_usd`)!==void 0,"aria-describedby":`settings-weekly-budget-help`}),(0,q.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.`}),o.weekly_usd===null&&(0,q.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.`})]}),we(`budget.projected_enabled`)&&(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`projected-budget-enabled`,"data-settings-field":`budget.projected_enabled`,checked:f.draftOf(`budget.projected_enabled`),onChange:e=>xe(`budget.projected_enabled`,e.target.checked)}),` `,`Projected budget-$ pace alerts `,Ze(`budget.projected_enabled`),Xe(`machine`)]}),we(`budget.project_alerts_enabled`)&&(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`project-alerts-enabled`,"data-settings-field":`budget.project_alerts_enabled`,checked:f.draftOf(`budget.project_alerts_enabled`),onChange:e=>xe(`budget.project_alerts_enabled`,e.target.checked)}),` `,`Per-project budget alerts `,Ze(`budget.project_alerts_enabled`),Xe(`machine`)]})]})]}),(we(`budget.codex.alerts_enabled`)||we(`budget.codex.projected_enabled`))&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${He?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Codex alerts`,Xe(`machine`),Le(He)]}),(0,q.jsxs)(`div`,{className:`settings-subgroup`,role:`group`,"aria-label":`Codex budget alerts`,children:[(0,q.jsx)(`p`,{className:`settings-subgroup-label`,children:`Codex budget`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Codex's figure is ACTUAL API charges, unlike Claude's equivalent-dollar budget above.`}),we(`budget.codex.alerts_enabled`)&&(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`codex-budget-alerts-enabled`,"data-settings-field":`budget.codex.alerts_enabled`,checked:f.draftOf(`budget.codex.alerts_enabled`),disabled:!o.codex_budget_configured,onChange:e=>xe(`budget.codex.alerts_enabled`,e.target.checked)}),` `,`Codex budget alerts `,Ze(`budget.codex.alerts_enabled`),Xe(`machine`)]}),we(`budget.codex.projected_enabled`)&&(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`codex-projected-enabled`,"data-settings-field":`budget.codex.projected_enabled`,checked:f.draftOf(`budget.codex.projected_enabled`),disabled:!o.codex_budget_configured,onChange:e=>xe(`budget.codex.projected_enabled`,e.target.checked)}),` `,`Codex projected-pace alerts `,Ze(`budget.codex.projected_enabled`),Xe(`machine`)]}),!o.codex_budget_configured&&(0,q.jsxs)(`p`,{className:`settings-hint`,children:[`Set a Codex budget via the CLI first:`,` `,(0,q.jsx)(`code`,{children:`cctally budget set 200 --vendor codex`})]})]}),(0,q.jsxs)(`p`,{className:`settings-hint`,children:[`Codex quota-threshold alert rules are not configurable here — manage them via the CLI (`,(0,q.jsx)(`code`,{children:`cctally codex quota …`}),`).`]})]}),we(`action.test`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs settings-fs-subordinate`,children:[(0,q.jsx)(`legend`,{children:`Send a test alert`}),(0,q.jsxs)(`div`,{className:`alerts-test-row`,children:[(0,q.jsxs)(`label`,{children:[`Alert type`,` `,(0,q.jsx)(`select`,{className:`settings-btn settings-select`,value:j,disabled:T,"aria-label":`Alert type`,onChange:e=>M(e.target.value),children:Object.keys(b).map(e=>(0,q.jsx)(`option`,{value:e,children:b[e]},e))})]}),` `,j===`projected`&&(0,q.jsxs)(`label`,{children:[`Metric`,` `,(0,q.jsx)(`select`,{className:`settings-btn settings-select`,value:N,disabled:T,"aria-label":`Metric`,onChange:e=>P(e.target.value),children:Object.keys(Tl).map(e=>(0,q.jsx)(`option`,{value:e,children:Tl[e]},e))})]}),` `,(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,disabled:T,onClick:async()=>{E(!0),O(null),A(!1);try{let e=await fetch(`/api/alerts/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({axis:j,threshold:90,...j===`projected`?{metric:N}:{}})}),t=await e.json().catch(()=>({}));t.alert&&K({type:`SHOW_ALERT_TOAST`,alert:t.alert}),t.dispatch===`queued`?A(!0):O(t.dispatch??t.reason??`HTTP ${e.status}`)}catch(e){O(e instanceof Error?e.message:`unknown error`)}E(!1)},children:T?`Sending…`:`Send test alert`}),(0,q.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.`})]})]}),$e(`alerts`)]}),de(`viewer`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-viewer`,children:[et(`viewer`,f.sectionDirty(`viewer`)),(we(`dashboard.cache_failure_markers`)||we(`dashboard.live_tail`))&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Ue?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Conversation viewer`,Xe(`machine`),Le(Ue)]}),we(`dashboard.cache_failure_markers`)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`cache-failure-markers`,"data-settings-field":`dashboard.cache_failure_markers`,checked:f.draftOf(`dashboard.cache_failure_markers`),onChange:e=>xe(`dashboard.cache_failure_markers`,e.target.checked)}),` `,`Show cache-failure markers `,Ze(`dashboard.cache_failure_markers`),Xe(`machine`)]}),(0,q.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.`})]}),we(`dashboard.live_tail`)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`live-tail`,"data-settings-field":`dashboard.live_tail`,checked:f.draftOf(`dashboard.live_tail`),onChange:e=>xe(`dashboard.live_tail`,e.target.checked)}),` `,`Live-tail new turns `,Ze(`dashboard.live_tail`),Xe(`machine`)]}),(0,q.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.`})]})]}),$e(`viewer`)]}),de(`access`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-access`,children:[et(`access`,f.sectionDirty(`access`)),we(`dashboard.lan_auth`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${We?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Dashboard access`,Xe(`machine`),Le(We)]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`lan-auth`,"data-settings-field":`dashboard.lan_auth`,checked:f.draftOf(`dashboard.lan_auth`),onChange:e=>{xe(`dashboard.lan_auth`,e.target.checked),w(!1)}}),` `,`Require LAN access token `,Ze(`dashboard.lan_auth`),Xe(`machine`)]}),(0,q.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.`})]}),we(`update.channel`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Ge?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Update channel `,Ze(`update.channel`),Xe(`machine`),Le(Ge)]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`update-channel`,value:`stable`,"data-settings-field":`update.channel`,checked:f.draftOf(`update.channel`)===`stable`,onChange:()=>xe(`update.channel`,`stable`)}),` `,`Stable`]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`update-channel`,value:`beta`,checked:f.draftOf(`update.channel`)===`beta`,onChange:()=>xe(`update.channel`,`beta`)}),` `,`Beta`]}),(0,q.jsxs)(`p`,{className:`settings-hint`,children:[`Beta receives every release as it ships; stable only the maintainer-promoted ones.`,d===`brew`?` This install came from Homebrew, which always tracks stable.`:``]})]}),$e(`access`)]}),de(`restore`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-restore`,children:[et(`restore`,f.sectionDirty(`restore`)),(0,q.jsxs)(`fieldset`,{className:`settings-fs${H?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Restore defaults`,Xe(`browser`),Le(H)]}),we(`restore.viewPrefs`)&&(0,q.jsxs)(`div`,{className:`settings-restore-row settings-restore-immediate`,children:[(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:Ae,disabled:Ne,children:`Restore view preferences`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Fills the three Recent Sessions fields with their defaults right now; nothing is stored until you Save.`})]}),we(`restore.tableSort`)&&(0,q.jsxs)(`div`,{className:`settings-restore-row`,children:[(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,"aria-pressed":f.staged(`restore.tableSort`),onClick:()=>f.toggleStaged(`restore.tableSort`),disabled:!Pe&&!f.staged(`restore.tableSort`),children:f.staged(`restore.tableSort`)?`Table column sorting — staged ✓`:`Table column sorting`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Clears $/1% Trend, Recent Sessions, Projects & Weekly/Monthly column-click sorting on Save.`})]}),we(`restore.cardOrder`)&&(0,q.jsxs)(`div`,{className:`settings-restore-row`,children:[(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,"aria-pressed":f.staged(`restore.cardOrder`),onClick:()=>f.toggleStaged(`restore.cardOrder`),disabled:Fe&&!f.staged(`restore.cardOrder`),children:f.staged(`restore.cardOrder`)?`Card order — staged ✓`:`Card order`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Restores the default panel arrangement on Save.`})]})]}),$e(`restore`)]}),de(`cli`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-cli`,children:[et(`cli`,!1),(0,q.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.`}),$e(`cli`)]})]})]}),(0,q.jsxs)(`div`,{className:`settings-feedback`,children:[p&&(0,q.jsx)(`div`,{className:`settings-saving-bar`,"aria-hidden":`true`}),(0,q.jsx)(`p`,{className:`settings-status`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:Ye}),k&&(0,q.jsx)(`p`,{className:`settings-ok`,children:`Test alert dispatched ✓`}),C&&(0,q.jsx)(`p`,{className:`settings-ok`,children:`Saved. Restart the dashboard to apply LAN access authentication.`}),(0,q.jsxs)(`div`,{ref:ie,className:`settings-error-summary${h.length>0||D?` is-populated`:``}`,role:`alert`,"aria-live":`assertive`,tabIndex:-1,children:[D&&(0,q.jsxs)(`p`,{className:`settings-error-title`,children:[`Test failed: `,D]}),h.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`settings-error-title`,children:h.length===1?`1 problem to fix`:`${h.length} problems to fix`}),(0,q.jsx)(`ul`,{className:`settings-error-list`,children:h.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(`button`,{type:`button`,className:`settings-error-link`,onClick:()=>Te(e.target),children:e.message})},e.key))})]})]})]}),(0,q.jsxs)(`div`,{className:`settings-actions`,ref:se,children:[(0,q.jsx)(`button`,{className:`settings-btn`,id:`settings-save`,type:`button`,onClick:ke,disabled:De,children:p?`Saving…`:ye===0?`Save`:`Save · ${ye} change${ye===1?``:`s`}`}),(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:Oe,disabled:p,children:`Cancel`}),(0,q.jsxs)(`p`,{className:`settings-scope-note`,children:[`Changes apply to this machine unless marked `,(0,q.jsx)(`em`,{children:`this browser`}),`.`]})]}),F&&(0,q.jsx)(`div`,{className:`settings-confirm`,role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":`settings-confirm-title`,children:(0,q.jsxs)(`div`,{className:`settings-confirm-card`,children:[(0,q.jsxs)(`p`,{id:`settings-confirm-title`,children:[`Discard `,ye,` unsaved change`,ye===1?``:`s`,`?`]}),(0,q.jsxs)(`div`,{className:`settings-confirm-actions`,children:[(0,q.jsx)(`button`,{ref:V,className:`settings-btn`,type:`button`,onClick:()=>I(!1),children:`Keep editing`}),(0,q.jsx)(`button`,{className:`settings-btn settings-btn-danger`,type:`button`,onClick:Oe,children:`Discard`})]})]})})]})]})}var Nl=8e3,Pl=`New: hold any card to rearrange the dashboard.`,Fl=`Tap to drill in · long-press to rearrange · ⟳ to refresh`;function Il({suppressed:e=!1}={}){let t=vi(),n=(0,_.useSyncExternalStore)(G,()=>W().prefs.onboardingToastSeen),r=(0,_.useSyncExternalStore)(G,()=>W().prefs.mobileOnboardingToastSeen),i=t?r:n,a=t?`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:`MARK_ONBOARDING_TOAST_SEEN`,o=t?Fl:Pl;return(0,_.useEffect)(()=>{if(i)return;let e=setTimeout(()=>K({type:a}),Nl);return()=>clearTimeout(e)},[i,a]),i?null:(0,q.jsxs)(`div`,{className:`onboarding-toast`,role:`status`,"aria-live":`polite`,hidden:e,children:[(0,q.jsx)(`span`,{className:`onboarding-toast-msg`,children:o}),(0,q.jsx)(jc,{onClose:()=>K({type:a}),label:`Dismiss`,className:`onboarding-toast-dismiss`})]})}function Ll(e){return`source`in e?e:{...e,source:`claude`,key:e.id}}var Rl=2500,zl=8e3;function Bl({alert:e,ctx:t}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`toast--alert-title`,children:e.axis===`projected`?(0,q.jsxs)(q.Fragment,{children:[b.projected,` to reach `,e.threshold,`%`]}):e.axis===`project_budget`?(0,q.jsxs)(q.Fragment,{children:[e.context.project??`Project`,` budget `,e.threshold,`% reached`]}):e.axis===`codex_budget`?(0,q.jsxs)(q.Fragment,{children:[b.codex_budget,` `,e.threshold,`% reached`]}):(0,q.jsxs)(q.Fragment,{children:[b[e.axis],` usage `,e.threshold,`% reached`]})}),e.context.week_start_date&&(0,q.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Week starting `,H.weekStart(e.context.week_start_date,t)??`—`]}),e.context.block_start_at&&(0,q.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Block started `,H.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,q.jsxs)(`div`,{className:`toast--alert-sub`,children:[x(e.context.period),` starting`,` `,H.weekStart((e.context.period_start_at??e.context.week_start_at??``).slice(0,10),t)??`—`]}),(0,q.jsxs)(`div`,{className:`toast--alert-body`,children:[e.context.cumulative_cost_usd!=null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.cumulative_cost_usd.toFixed(2)]}),` spent`,e.context.dollars_per_percent!=null&&(0,q.jsxs)(q.Fragment,{children:[` `,`·`,` `,(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.dollars_per_percent.toFixed(2)]}),` per 1%`]})]}),e.context.block_cost_usd!=null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.block_cost_usd.toFixed(2)]}),` in this block`,e.context.primary_model&&(0,q.jsxs)(q.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,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.spent_usd.toFixed(2)]}),` of`,` `,(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.budget_usd.toFixed(2)]}),` budget`]}),e.axis===`projected`&&(0,q.jsx)(`span`,{className:`num`,children:C(e)??`—`}),e.axis===`project_budget`&&e.context.spent_usd!=null&&e.context.budget_usd!=null&&(0,q.jsxs)(q.Fragment,{children:[e.context.project&&(0,q.jsxs)(q.Fragment,{children:[e.context.project,`: `]}),(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.spent_usd.toFixed(2)]}),` of`,` `,(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.budget_usd.toFixed(2)]}),` budget`]})]})]})}function Vl({row:e}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`toast--alert-title`,children:e.axis===`quota`?`Codex quota ${e.threshold}% reached`:e.axis===`projected`?`Codex projected to reach ${e.threshold}%`:`Codex budget ${e.threshold}% reached`}),e.axis!==`quota`&&(0,q.jsxs)(`div`,{className:`toast--alert-body`,children:[(0,q.jsxs)(`span`,{className:`num`,children:[Math.round(e.value),`%`]}),` of budget`]})]})}function Hl(){let e=(0,_.useSyncExternalStore)(G,()=>W().toast),t=bi(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel};(0,_.useEffect)(()=>{if(e==null)return;let t=e.kind===`alert`?zl:Rl,n=window.setTimeout(()=>K({type:`HIDE_TOAST`}),t);return()=>window.clearTimeout(n)},[e]);let r=e?.kind===`alert`?Ll(e.payload):null,i=r?F(r):null;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Il,{suppressed:e!=null}),e?.kind===`status`&&(0,q.jsx)(`div`,{className:`toast`,role:`status`,"aria-live":`polite`,children:e.text}),r&&i&&(0,q.jsxs)(`div`,{className:`toast toast--alert toast--severity-${i.severity}`,role:`alert`,onClick:()=>K({type:`HIDE_TOAST`}),children:[(0,q.jsxs)(`div`,{className:`toast--alert-head`,children:[(0,q.jsx)(`span`,{className:`chip ${i.chipClass}`,children:i.chipLabel}),(0,q.jsx)(`span`,{className:`source-chip source-chip--${i.source}`,children:i.sourceLabel}),(0,q.jsxs)(`span`,{className:`toast--alert-threshold num`,children:[i.threshold,`%`]}),(0,q.jsx)(`span`,{className:`toast--alert-dismiss-hint`,children:`click to dismiss`})]}),r.source===`claude`?(0,q.jsx)(Bl,{alert:r,ctx:n}):(0,q.jsx)(Vl,{row:r})]})]})}var Ul=l(h());function Wl(){var e=[...arguments];return(0,_.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Gl=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Kl(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function ql(e){return`nodeType`in e}function Jl(e){return e?Kl(e)?e:ql(e)?e.ownerDocument?.defaultView??window:window:window}function Yl(e){let{Document:t}=Jl(e);return e instanceof t}function Xl(e){return Kl(e)?!1:e instanceof Jl(e).HTMLElement}function Zl(e){return e instanceof Jl(e).SVGElement}function Ql(e){return e?Kl(e)?e.document:ql(e)?Yl(e)?e:Xl(e)||Zl(e)?e.ownerDocument:document:document:document}var $l=Gl?_.useLayoutEffect:_.useEffect;function eu(e){let t=(0,_.useRef)(e);return $l(()=>{t.current=e}),(0,_.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function tu(){let e=(0,_.useRef)(null);return[(0,_.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,_.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function nu(e,t){t===void 0&&(t=[e]);let n=(0,_.useRef)(e);return $l(()=>{n.current!==e&&(n.current=e)},t),n}function ru(e,t){let n=(0,_.useRef)();return(0,_.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function iu(e){let t=eu(e),n=(0,_.useRef)(null);return[n,(0,_.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function au(e){let t=(0,_.useRef)();return(0,_.useEffect)(()=>{t.current=e},[e]),t.current}var ou={};function su(e,t){return(0,_.useMemo)(()=>{if(t)return t;let n=ou[e]==null?0:ou[e]+1;return ou[e]=n,e+`-`+n},[e,t])}function cu(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 lu=cu(1),uu=cu(-1);function du(e){return`clientX`in e&&`clientY`in e}function fu(e){if(!e)return!1;let{KeyboardEvent:t}=Jl(e.target);return t&&e instanceof t}function pu(e){if(!e)return!1;let{TouchEvent:t}=Jl(e.target);return t&&e instanceof t}function mu(e){if(pu(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 du(e)?{x:e.clientX,y:e.clientY}:null}var hu=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[hu.Translate.toString(e),hu.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),gu=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function _u(e){return e.matches(gu)?e:e.querySelector(gu)}var vu={display:`none`};function yu(e){let{id:t,value:n}=e;return _.createElement(`div`,{id:t,style:vu},n)}function bu(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return _.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 xu(){let[e,t]=(0,_.useState)(``);return{announce:(0,_.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Su=(0,_.createContext)(null);function Cu(e){let t=(0,_.useContext)(Su);(0,_.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function wu(){let[e]=(0,_.useState)(()=>new Set),t=(0,_.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,_.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Tu={draggable:`
8
+ `+e.stack}return{value:e,source:t,stack:i,digest:null}}function Ds(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Os(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var ks=typeof WeakMap==`function`?WeakMap:Map;function As(e,t,n){n=to(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){sl||(sl=!0,cl=r),Os(e,t)},n}function js(e,t,n){n=to(-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(){Os(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch==`function`&&(n.callback=function(){Os(e,t),typeof r!=`function`&&(ll===null?ll=new Set([this]):ll.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:n===null?``:n})}),n}function Ms(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new ks;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=Wl.bind(null,e,t,n),t.then(e,e))}function Ns(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 Ps(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=to(-1,1),t.tag=2,no(n,t,1))),n.lanes|=1),e)}var Fs=C.ReactCurrentOwner,Is=!1;function Ls(e,t,n,r){t.child=e===null?Ra(t,null,n,r):La(t,e.child,n,r)}function Rs(e,t,n,r,i){n=n.render;var a=t.ref;return Ka(t,i),r=No(e,t,n,r,a,i),n=Po(),e!==null&&!Is?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,ic(e,t,i)):(xa&&n&&_a(t),t.flags|=1,Ls(e,t,r,i),t.child)}function zs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Ql(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Bs(e,t,a,r,i)):(e=tu(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?wr:n,n(o,r)&&e.ref===t.ref)return ic(e,t,i)}return t.flags|=1,e=eu(a,r),e.ref=t.ref,e.return=t,t.child=e}function Bs(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(wr(a,r)&&e.ref===t.ref)if(Is=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Is=!0);else return t.lanes=e.lanes,ic(e,t,i)}return Us(e,t,n,r,i)}function Vs(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},Hi(Xc,Yc),Yc|=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,Hi(Xc,Yc),Yc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a===null?n:a.baseLanes,Hi(Xc,Yc),Yc|=r}else a===null?r=n:(r=a.baseLanes|n,t.memoizedState=null),Hi(Xc,Yc),Yc|=r;return Ls(e,t,i,n),t.child}function Hs(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Us(e,t,n,r,i){var a=Ji(n)?Ki:Wi.current;return a=qi(t,a),Ka(t,i),n=No(e,t,n,r,a,i),r=Po(),e!==null&&!Is?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,ic(e,t,i)):(xa&&r&&_a(t),t.flags|=1,Ls(e,t,n,i),t.child)}function Ws(e,t,n,r,i){if(Ji(n)){var a=!0;Qi(t)}else a=!1;if(Ka(t,i),t.stateNode===null)rc(e,t),Cs(t,n,r),Ts(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=qa(l):(l=Ji(n)?Ki:Wi.current,l=qi(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)&&ws(t,o,r,l),Qa=!1;var f=t.memoizedState;o.state=f,ao(t,r,o,i),c=t.memoizedState,s!==r||f!==c||Gi.current||Qa?(typeof u==`function`&&(bs(t,n,u,r),c=t.memoizedState),(s=Qa||Ss(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,eo(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:ys(t.type,s),o.props=l,d=t.pendingProps,f=o.context,c=n.contextType,typeof c==`object`&&c?c=qa(c):(c=Ji(n)?Ki:Wi.current,c=qi(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)&&ws(t,o,r,c),Qa=!1,f=t.memoizedState,o.state=f,ao(t,r,o,i);var m=t.memoizedState;s!==d||f!==m||Gi.current||Qa?(typeof p==`function`&&(bs(t,n,p,r),m=t.memoizedState),(l=Qa||Ss(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 Gs(e,t,n,r,a,i)}function Gs(e,t,n,r,i,a){Hs(e,t);var o=(t.flags&128)!=0;if(!r&&!o)return i&&$i(t,n,!1),ic(e,t,a);r=t.stateNode,Fs.current=t;var s=o&&typeof n.getDerivedStateFromError!=`function`?null:r.render();return t.flags|=1,e!==null&&o?(t.child=La(t,e.child,null,a),t.child=La(t,null,s,a)):Ls(e,t,s,a),t.memoizedState=r.state,i&&$i(t,n,!0),t.child}function Ks(e){var t=e.stateNode;t.pendingContext?Xi(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Xi(e,t.context,!1),po(e,t.containerInfo)}function qs(e,t,n,r,i){return Aa(),ja(i),t.flags|=256,Ls(e,t,n,r),t.child}var Js={dehydrated:null,treeContext:null,retryLane:0};function Ys(e){return{baseLanes:e,cachePool:null,transitions:null}}function Xs(e,t,n){var r=t.pendingProps,i=_o.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),Hi(_o,i&1),e===null)return Ea(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=ru(o,r,0,null),e=nu(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Ys(n),t.memoizedState=Js,e):Zs(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return $s(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=eu(i,c),r.subtreeFlags=i.subtreeFlags&14680064),s===null?(a=nu(a,o,n,null),a.flags|=2):a=eu(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?Ys(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Js,r}return a=e.child,e=a.sibling,r=eu(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 Zs(e,t){return t=ru({mode:`visible`,children:t},e.mode,0,null),t.return=e,e.child=t}function Qs(e,t,n,r){return r!==null&&ja(r),La(t,e.child,null,n),e=Zs(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function $s(e,t,n,i,a,o,s){if(n)return t.flags&256?(t.flags&=-257,i=Ds(Error(r(422))),Qs(e,t,s,i)):t.memoizedState===null?(o=i.fallback,a=t.mode,i=ru({mode:`visible`,children:i.children},a,0,null),o=nu(o,a,s,null),o.flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,t.mode&1&&La(t,e.child,null,s),t.child.memoizedState=Ys(s),t.memoizedState=Js,o):(t.child=e.child,t.flags|=128,null);if(!(t.mode&1))return Qs(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=Ds(o,i,void 0),Qs(e,t,s,i)}if(c=(s&e.childLanes)!==0,Is||c){if(i=Kc,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,Za(e,a),yl(i,e,a,-1))}return Nl(),i=Ds(Error(r(421))),Qs(e,t,s,i)}return a.data===`$?`?(t.flags|=128,t.child=e.child,t=Kl.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,ba=Ti(a.nextSibling),ya=t,xa=!0,Sa=null,e!==null&&(ua[da++]=pa,ua[da++]=ma,ua[da++]=fa,pa=e.id,ma=e.overflow,fa=t),t=Zs(t,i.children),t.flags|=4096,t)}function ec(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ga(e.return,t,n)}function tc(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 nc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Ls(e,t,r.children,n),r=_o.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&&ec(e,n,t);else if(e.tag===19)ec(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(Hi(_o,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&&vo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),tc(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&&vo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}tc(t,!0,n,null,a);break;case`together`:tc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function rc(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ic(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),$c|=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=eu(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=eu(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function ac(e,t,n){switch(t.tag){case 3:Ks(t),Aa();break;case 5:ho(t);break;case 1:Ji(t.type)&&Qi(t);break;case 4:po(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Hi(za,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Hi(_o,_o.current&1),e=ic(e,t,n),e===null?null:e.sibling):Xs(e,t,n):(Hi(_o,_o.current&1),t.flags|=128,null);Hi(_o,_o.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return nc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Hi(_o,_o.current),r)break;return null;case 22:case 23:return t.lanes=0,Vs(e,t,n)}return ic(e,t,n)}var oc=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}},sc=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,fo(co.current);var o=null;switch(n){case`input`:i=de(e,i),r=de(e,r),o=[];break;case`select`:i=L({},i,{value:void 0}),r=L({},r,{value:void 0}),o=[];break;case`textarea`:i=ye(e,i),r=ye(e,r),o=[];break;default:typeof i.onClick!=`function`&&typeof r.onClick==`function`&&(e.onclick=hi)}Ne(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`&&ti(`scroll`,e),o||c===l||(o=[])):(o||=[]).push(u,l))}n&&(o||=[]).push(`style`,n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},cc=function(e,t,n,r){n!==r&&(t.flags|=4)};function lc(e,t){if(!xa)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 uc(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 dc(e,t,n){var i=t.pendingProps;switch(va(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return uc(t),null;case 1:return Ji(t.type)&&Yi(),uc(t),null;case 3:return i=t.stateNode,mo(),Vi(Gi),Vi(Wi),bo(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Oa(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Sa!==null&&(Cl(Sa),Sa=null))),uc(t),null;case 5:go(t);var o=fo(uo.current);if(n=t.type,e!==null&&t.stateNode!=null)sc(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 uc(t),null}if(e=fo(co.current),Oa(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`:ti(`cancel`,i),ti(`close`,i);break;case`iframe`:case`object`:case`embed`:ti(`load`,i);break;case`video`:case`audio`:for(o=0;o<Zr.length;o++)ti(Zr[o],i);break;case`source`:ti(`error`,i);break;case`img`:case`image`:case`link`:ti(`error`,i),ti(`load`,i);break;case`details`:ti(`toggle`,i);break;case`input`:fe(i,s),ti(`invalid`,i);break;case`select`:i._wrapperState={wasMultiple:!!s.multiple},ti(`invalid`,i);break;case`textarea`:be(i,s),ti(`invalid`,i)}for(var c in Ne(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`&&ti(`scroll`,i)}switch(n){case`input`:ce(i),he(i,s,!0);break;case`textarea`:ce(i),Se(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=Ce(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,oc(e,t,!1,!1),t.stateNode=e;a:{switch(c=Pe(n,i),n){case`dialog`:ti(`cancel`,e),ti(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:ti(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;o<Zr.length;o++)ti(Zr[o],e);o=i;break;case`source`:ti(`error`,e),o=i;break;case`img`:case`image`:case`link`:ti(`error`,e),ti(`load`,e),o=i;break;case`details`:ti(`toggle`,e),o=i;break;case`input`:fe(e,i),o=de(e,i),ti(`invalid`,e);break;case`option`:o=i;break;case`select`:e._wrapperState={wasMultiple:!!i.multiple},o=L({},i,{value:void 0}),ti(`invalid`,e);break;case`textarea`:be(e,i),o=ye(e,i),ti(`invalid`,e);break;default:o=i}for(s in Ne(n,o),l=o,l)if(l.hasOwnProperty(s)){var u=l[s];s===`style`?je(e,u):s===`dangerouslySetInnerHTML`?(u=u?u.__html:void 0,u!=null&&Ee(e,u)):s===`children`?typeof u==`string`?(n!==`textarea`||u!==``)&&De(e,u):typeof u==`number`&&De(e,``+u):s!==`suppressContentEditableWarning`&&s!==`suppressHydrationWarning`&&s!==`autoFocus`&&(a.hasOwnProperty(s)?u!=null&&s===`onScroll`&&ti(`scroll`,e):u!=null&&S(e,s,u,c))}switch(n){case`input`:ce(e),he(e,i,!1);break;case`textarea`:ce(e),Se(e);break;case`option`:i.value!=null&&e.setAttribute(`value`,``+ae(i.value));break;case`select`:e.multiple=!!i.multiple,s=i.value,s==null?i.defaultValue!=null&&ve(e,!!i.multiple,i.defaultValue,!0):ve(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 uc(t),null;case 6:if(e&&t.stateNode!=null)cc(e,t,e.memoizedProps,i);else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(n=fo(uo.current),fo(co.current),Oa(t)){if(i=t.stateNode,n=t.memoizedProps,i[Oi]=t,(s=i.nodeValue!==n)&&(e=ya,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 uc(t),null;case 13:if(Vi(_o),i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(xa&&ba!==null&&t.mode&1&&!(t.flags&128))ka(),Aa(),t.flags|=98560,s=!1;else if(s=Oa(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 Aa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;uc(t),s=!1}else Sa!==null&&(Cl(Sa),Sa=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||_o.current&1?Zc===0&&(Zc=3):Nl())),t.updateQueue!==null&&(t.flags|=4),uc(t),null);case 4:return mo(),e===null&&ii(t.stateNode.containerInfo),uc(t),null;case 10:return Wa(t.type._context),uc(t),null;case 17:return Ji(t.type)&&Yi(),uc(t),null;case 19:if(Vi(_o),s=t.memoizedState,s===null)return uc(t),null;if(i=(t.flags&128)!=0,c=s.rendering,c===null)if(i)lc(s,!1);else{if(Zc!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(c=vo(e),c!==null){for(t.flags|=128,lc(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 Hi(_o,_o.current&1|2),t.child}e=e.sibling}s.tail!==null&&pt()>al&&(t.flags|=128,i=!0,lc(s,!1),t.lanes=4194304)}else{if(!i)if(e=vo(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),lc(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!xa)return uc(t),null}else 2*pt()-s.renderingStartTime>al&&n!==1073741824&&(t.flags|=128,i=!0,lc(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?(uc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=pt(),t.sibling=null,n=_o.current,Hi(_o,i?n&1|2:n&1),t);case 22:case 23:return kl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Yc&1073741824&&(uc(t),t.subtreeFlags&6&&(t.flags|=8192)):uc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function fc(e,t){switch(va(t),t.tag){case 1:return Ji(t.type)&&Yi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return mo(),Vi(Gi),Vi(Wi),bo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return go(t),null;case 13:if(Vi(_o),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Aa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Vi(_o),null;case 4:return mo(),null;case 10:return Wa(t.type._context),null;case 22:case 23:return kl(),null;case 24:return null;default:return null}}var pc=!1,mc=!1,hc=typeof WeakSet==`function`?WeakSet:Set,J=null;function gc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){Ul(e,t,n)}else n.current=null}function _c(e,t,n){try{n()}catch(n){Ul(e,t,n)}}var vc=!1;function yc(e,t){if(gi=fn,e=Or(),kr(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},fn=!1,J=t;J!==null;)if(t=J,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,J=e;else for(;J!==null;){t=J;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:ys(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){Ul(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,J=e;break}J=t.return}return h=vc,vc=!1,h}function bc(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&&_c(t,n,a)}i=i.next}while(i!==r)}}function xc(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 Sc(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 Cc(e){var t=e.alternate;t!==null&&(e.alternate=null,Cc(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 wc(e){return e.tag===5||e.tag===3||e.tag===4}function Tc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||wc(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 Ec(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(Ec(e,t,n),e=e.sibling;e!==null;)Ec(e,t,n),e=e.sibling}function Dc(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(Dc(e,t,n),e=e.sibling;e!==null;)Dc(e,t,n),e=e.sibling}var Oc=null,kc=!1;function Ac(e,t,n){for(n=n.child;n!==null;)jc(e,t,n),n=n.sibling}function jc(e,t,n){if(xt&&typeof xt.onCommitFiberUnmount==`function`)try{xt.onCommitFiberUnmount(bt,n)}catch{}switch(n.tag){case 5:mc||gc(n,t);case 6:var r=Oc,i=kc;Oc=null,Ac(e,t,n),Oc=r,kc=i,Oc!==null&&(kc?(e=Oc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Oc.removeChild(n.stateNode));break;case 18:Oc!==null&&(kc?(e=Oc,n=n.stateNode,e.nodeType===8?wi(e.parentNode,n):e.nodeType===1&&wi(e,n),un(e)):wi(Oc,n.stateNode));break;case 4:r=Oc,i=kc,Oc=n.stateNode.containerInfo,kc=!0,Ac(e,t,n),Oc=r,kc=i;break;case 0:case 11:case 14:case 15:if(!mc&&(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)&&_c(n,t,o),i=i.next}while(i!==r)}Ac(e,t,n);break;case 1:if(!mc&&(gc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Ul(n,t,e)}Ac(e,t,n);break;case 21:Ac(e,t,n);break;case 22:n.mode&1?(mc=(r=mc)||n.memoizedState!==null,Ac(e,t,n),mc=r):Ac(e,t,n);break;default:Ac(e,t,n)}}function Mc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new hc),t.forEach(function(t){var r=ql.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Nc(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:Oc=c.stateNode,kc=!1;break a;case 3:Oc=c.stateNode.containerInfo,kc=!0;break a;case 4:Oc=c.stateNode.containerInfo,kc=!0;break a}c=c.return}if(Oc===null)throw Error(r(160));jc(o,s,a),Oc=null,kc=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(e){Ul(a,t,e)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Pc(t,e),t=t.sibling}function Pc(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Nc(t,e),Fc(e),i&4){try{bc(3,e,e.return),xc(3,e)}catch(t){Ul(e,e.return,t)}try{bc(5,e,e.return)}catch(t){Ul(e,e.return,t)}}break;case 1:Nc(t,e),Fc(e),i&512&&n!==null&&gc(n,n.return);break;case 5:if(Nc(t,e),Fc(e),i&512&&n!==null&&gc(n,n.return),e.flags&32){var a=e.stateNode;try{De(a,``)}catch(t){Ul(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),Pe(c,s);var u=Pe(c,o);for(s=0;s<l.length;s+=2){var d=l[s],f=l[s+1];d===`style`?je(a,f):d===`dangerouslySetInnerHTML`?Ee(a,f):d===`children`?De(a,f):S(a,d,f,u)}switch(c){case`input`:me(a,o);break;case`textarea`:xe(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?ve(a,!!o.multiple,o.multiple?[]:``,!1):ve(a,!!o.multiple,o.defaultValue,!0)):ve(a,!!o.multiple,m,!1)}a[ki]=o}catch(t){Ul(e,e.return,t)}}break;case 6:if(Nc(t,e),Fc(e),i&4){if(e.stateNode===null)throw Error(r(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(t){Ul(e,e.return,t)}}break;case 3:if(Nc(t,e),Fc(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{un(t.containerInfo)}catch(t){Ul(e,e.return,t)}break;case 4:Nc(t,e),Fc(e);break;case 13:Nc(t,e),Fc(e),a=e.child,a.flags&8192&&(o=a.memoizedState!==null,a.stateNode.isHidden=o,!o||a.alternate!==null&&a.alternate.memoizedState!==null||(il=pt())),i&4&&Mc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(mc=(u=mc)||d,Nc(t,e),mc=u):Nc(t,e),Fc(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(J=e,d=e.child;d!==null;){for(f=J=d;J!==null;){switch(p=J,m=p.child,p.tag){case 0:case 11:case 14:case 15:bc(4,p,p.return);break;case 1:gc(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){Ul(i,n,e)}}break;case 5:gc(p,p.return);break;case 22:if(p.memoizedState!==null){zc(f);continue}}m===null?zc(f):(m.return=p,J=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=Ae(`display`,s))}catch(t){Ul(e,e.return,t)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?``:f.memoizedProps}catch(t){Ul(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:Nc(t,e),Fc(e),i&4&&Mc(e);break;case 21:break;default:Nc(t,e),Fc(e)}}function Fc(e){var t=e.flags;if(t&2){try{a:{for(var n=e.return;n!==null;){if(wc(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&&(De(a,``),i.flags&=-33),Dc(e,Tc(e),a);break;case 3:case 4:var o=i.stateNode.containerInfo;Ec(e,Tc(e),o);break;default:throw Error(r(161))}}catch(t){Ul(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Ic(e,t,n){J=e,Lc(e,t,n)}function Lc(e,t,n){for(var r=(e.mode&1)!=0;J!==null;){var i=J,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||pc;if(!o){var s=i.alternate,c=s!==null&&s.memoizedState!==null||mc;s=pc;var l=mc;if(pc=o,(mc=c)&&!l)for(J=i;J!==null;)o=J,c=o.child,o.tag===22&&o.memoizedState!==null||c===null?Bc(i):(c.return=o,J=c);for(;a!==null;)J=a,Lc(a,t,n),a=a.sibling;J=i,pc=s,mc=l}Rc(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,J=a):Rc(e,t,n)}}function Rc(e){for(;J!==null;){var t=J;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:mc||xc(5,t);break;case 1:var i=t.stateNode;if(t.flags&4&&!mc)if(n===null)i.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:ys(t.type,n.memoizedProps);i.componentDidUpdate(a,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&oo(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}oo(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&&un(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}mc||t.flags&512&&Sc(t)}catch(e){Ul(t,t.return,e)}}if(t===e){J=null;break}if(n=t.sibling,n!==null){n.return=t.return,J=n;break}J=t.return}}function zc(e){for(;J!==null;){var t=J;if(t===e){J=null;break}var n=t.sibling;if(n!==null){n.return=t.return,J=n;break}J=t.return}}function Bc(e){for(;J!==null;){var t=J;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{xc(4,t)}catch(e){Ul(t,n,e)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==`function`){var i=t.return;try{r.componentDidMount()}catch(e){Ul(t,i,e)}}var a=t.return;try{Sc(t)}catch(e){Ul(t,a,e)}break;case 5:var o=t.return;try{Sc(t)}catch(e){Ul(t,o,e)}}}catch(e){Ul(t,t.return,e)}if(t===e){J=null;break}var s=t.sibling;if(s!==null){s.return=t.return,J=s;break}J=t.return}}var Vc=Math.ceil,Hc=C.ReactCurrentDispatcher,Uc=C.ReactCurrentOwner,Wc=C.ReactCurrentBatchConfig,Gc=0,Kc=null,qc=null,Jc=0,Yc=0,Xc=Bi(0),Zc=0,Qc=null,$c=0,el=0,tl=0,nl=null,rl=null,il=0,al=1/0,ol=null,sl=!1,cl=null,ll=null,ul=!1,dl=null,fl=0,pl=0,ml=null,hl=-1,gl=0;function _l(){return Gc&6?pt():hl===-1?hl=pt():hl}function vl(e){return e.mode&1?Gc&2&&Jc!==0?Jc&-Jc:Ma.transition===null?(e=zt,e===0?(e=window.event,e=e===void 0?16:vn(e.type),e):e):(gl===0&&(gl=Pt()),gl):1}function yl(e,t,n,i){if(50<pl)throw pl=0,ml=null,Error(r(185));It(e,n,i),(!(Gc&2)||e!==Kc)&&(e===Kc&&(!(Gc&2)&&(el|=n),Zc===4&&Tl(e,Jc)),bl(e,i),n===1&&Gc===0&&!(t.mode&1)&&(al=pt()+500,ta&&aa()))}function bl(e,t){var n=e.callbackNode;Mt(e,t);var r=At(e,e===Kc?Jc:0);if(r===0)n!==null&&ut(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&ut(n),t===1)e.tag===0?ia(El.bind(null,e)):ra(El.bind(null,e)),Si(function(){!(Gc&6)&&aa()}),n=null;else{switch(Bt(r)){case 1:n=ht;break;case 4:n=gt;break;case 16:n=_t;break;case 536870912:n=yt;break;default:n=_t}n=Yl(n,xl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function xl(e,t){if(hl=-1,gl=0,Gc&6)throw Error(r(327));var n=e.callbackNode;if(Vl()&&e.callbackNode!==n)return null;var i=At(e,e===Kc?Jc:0);if(i===0)return null;if(i&30||(i&e.expiredLanes)!==0||t)t=Pl(e,i);else{t=i;var a=Gc;Gc|=2;var o=Ml();(Kc!==e||Jc!==t)&&(ol=null,al=pt()+500,Al(e,t));do try{Il();break}catch(t){jl(e,t)}while(1);Ua(),Hc.current=o,Gc=a,qc===null?(Kc=null,Jc=0,t=Zc):t=0}if(t!==0){if(t===2&&(a=Nt(e),a!==0&&(i=a,t=Sl(e,a))),t===1)throw n=Qc,Al(e,0),Tl(e,i),bl(e,pt()),n;if(t===6)Tl(e,i);else{if(a=e.current.alternate,!(i&30)&&!wl(a)&&(t=Pl(e,i),t===2&&(o=Nt(e),o!==0&&(i=o,t=Sl(e,o))),t===1))throw n=Qc,Al(e,0),Tl(e,i),bl(e,pt()),n;switch(e.finishedWork=a,e.finishedLanes=i,t){case 0:case 1:throw Error(r(345));case 2:zl(e,rl,ol);break;case 3:if(Tl(e,i),(i&130023424)===i&&(t=il+500-pt(),10<t)){if(At(e,0)!==0)break;if(a=e.suspendedLanes,(a&i)!==i){_l(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=yi(zl.bind(null,e,rl,ol),t);break}zl(e,rl,ol);break;case 4:if(Tl(e,i),(i&4194240)===i)break;for(t=e.eventTimes,a=-1;0<i;){var s=31-Ct(i);o=1<<s,s=t[s],s>a&&(a=s),i&=~o}if(i=a,i=pt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Vc(i/1960))-i,10<i){e.timeoutHandle=yi(zl.bind(null,e,rl,ol),i);break}zl(e,rl,ol);break;case 5:zl(e,rl,ol);break;default:throw Error(r(329))}}}return bl(e,pt()),e.callbackNode===n?xl.bind(null,e):null}function Sl(e,t){var n=nl;return e.current.memoizedState.isDehydrated&&(Al(e,t).flags|=256),e=Pl(e,t),e!==2&&(t=rl,rl=n,t!==null&&Cl(t)),e}function Cl(e){rl===null?rl=e:rl.push.apply(rl,e)}function wl(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(!Cr(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 Tl(e,t){for(t&=~tl,t&=~el,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ct(t),r=1<<n;e[n]=-1,t&=~r}}function El(e){if(Gc&6)throw Error(r(327));Vl();var t=At(e,0);if(!(t&1))return bl(e,pt()),null;var n=Pl(e,t);if(e.tag!==0&&n===2){var i=Nt(e);i!==0&&(t=i,n=Sl(e,i))}if(n===1)throw n=Qc,Al(e,0),Tl(e,t),bl(e,pt()),n;if(n===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,zl(e,rl,ol),bl(e,pt()),null}function Dl(e,t){var n=Gc;Gc|=1;try{return e(t)}finally{Gc=n,Gc===0&&(al=pt()+500,ta&&aa())}}function Ol(e){dl!==null&&dl.tag===0&&!(Gc&6)&&Vl();var t=Gc;Gc|=1;var n=Wc.transition,r=zt;try{if(Wc.transition=null,zt=1,e)return e()}finally{zt=r,Wc.transition=n,Gc=t,!(Gc&6)&&aa()}}function kl(){Yc=Xc.current,Vi(Xc)}function Al(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,bi(n)),qc!==null)for(n=qc.return;n!==null;){var r=n;switch(va(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Yi();break;case 3:mo(),Vi(Gi),Vi(Wi),bo();break;case 5:go(r);break;case 4:mo();break;case 13:Vi(_o);break;case 19:Vi(_o);break;case 10:Wa(r.type._context);break;case 22:case 23:kl()}n=n.return}if(Kc=e,qc=e=eu(e.current,null),Jc=Yc=t,Zc=0,Qc=null,tl=el=$c=0,rl=nl=null,Ja!==null){for(t=0;t<Ja.length;t++)if(n=Ja[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}Ja=null}return e}function jl(e,t){do{var n=qc;try{if(Ua(),xo.current=hs,Do){for(var i=wo.memoizedState;i!==null;){var a=i.queue;a!==null&&(a.pending=null),i=i.next}Do=!1}if(Co=0,Eo=To=wo=null,Oo=!1,ko=0,Uc.current=null,n===null||n.return===null){Zc=1,Qc=t,qc=null;break}a:{var o=e,s=n.return,c=n,l=t;if(t=Jc,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=Ns(s);if(m!==null){m.flags&=-257,Ps(m,s,c,o,t),m.mode&1&&Ms(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)){Ms(o,u,t),Nl();break a}l=Error(r(426))}}else if(xa&&c.mode&1){var _=Ns(s);if(_!==null){!(_.flags&65536)&&(_.flags|=256),Ps(_,s,c,o,t),ja(Es(l,c));break a}}o=l=Es(l,c),Zc!==4&&(Zc=2),nl===null?nl=[o]:nl.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var v=As(o,l,t);io(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`&&(ll===null||!ll.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t;var x=js(o,c,t);io(o,x);break a}}o=o.return}while(o!==null)}Rl(n)}catch(e){t=e,qc===n&&n!==null&&(qc=n=n.return);continue}break}while(1)}function Ml(){var e=Hc.current;return Hc.current=hs,e===null?hs:e}function Nl(){(Zc===0||Zc===3||Zc===2)&&(Zc=4),Kc===null||!($c&268435455)&&!(el&268435455)||Tl(Kc,Jc)}function Pl(e,t){var n=Gc;Gc|=2;var i=Ml();(Kc!==e||Jc!==t)&&(ol=null,Al(e,t));do try{Fl();break}catch(t){jl(e,t)}while(1);if(Ua(),Gc=n,Hc.current=i,qc!==null)throw Error(r(261));return Kc=null,Jc=0,Zc}function Fl(){for(;qc!==null;)Ll(qc)}function Il(){for(;qc!==null&&!dt();)Ll(qc)}function Ll(e){var t=Jl(e.alternate,e,Yc);e.memoizedProps=e.pendingProps,t===null?Rl(e):qc=t,Uc.current=null}function Rl(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=fc(n,t),n!==null){n.flags&=32767,qc=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Zc=6,qc=null;return}}else if(n=dc(n,t,Yc),n!==null){qc=n;return}if(t=t.sibling,t!==null){qc=t;return}qc=t=e}while(t!==null);Zc===0&&(Zc=5)}function zl(e,t,n){var r=zt,i=Wc.transition;try{Wc.transition=null,zt=1,Bl(e,t,n,r)}finally{Wc.transition=i,zt=r}return null}function Bl(e,t,n,i){do Vl();while(dl!==null);if(Gc&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(Lt(e,o),e===Kc&&(qc=Kc=null,Jc=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||ul||(ul=!0,Yl(_t,function(){return Vl(),null})),o=(n.flags&15990)!=0,n.subtreeFlags&15990||o){o=Wc.transition,Wc.transition=null;var s=zt;zt=1;var c=Gc;Gc|=4,Uc.current=null,yc(e,n),Pc(n,e),Ar(_i),fn=!!gi,_i=gi=null,e.current=n,Ic(n,e,a),ft(),Gc=c,zt=s,Wc.transition=o}else e.current=n;if(ul&&(ul=!1,dl=e,fl=a),o=e.pendingLanes,o===0&&(ll=null),St(n.stateNode,i),bl(e,pt()),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(sl)throw sl=!1,e=cl,cl=null,e;return fl&1&&e.tag!==0&&Vl(),o=e.pendingLanes,o&1?e===ml?pl++:(pl=0,ml=e):pl=0,aa(),null}function Vl(){if(dl!==null){var e=Bt(fl),t=Wc.transition,n=zt;try{if(Wc.transition=null,zt=16>e?16:e,dl===null)var i=!1;else{if(e=dl,dl=null,fl=0,Gc&6)throw Error(r(331));var a=Gc;for(Gc|=4,J=e.current;J!==null;){var o=J,s=o.child;if(J.flags&16){var c=o.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(J=u;J!==null;){var d=J;switch(d.tag){case 0:case 11:case 15:bc(8,d,o)}var f=d.child;if(f!==null)f.return=d,J=f;else for(;J!==null;){d=J;var p=d.sibling,m=d.return;if(Cc(d),d===u){J=null;break}if(p!==null){p.return=m,J=p;break}J=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)}}J=o}}if(o.subtreeFlags&2064&&s!==null)s.return=o,J=s;else b:for(;J!==null;){if(o=J,o.flags&2048)switch(o.tag){case 0:case 11:case 15:bc(9,o,o.return)}var v=o.sibling;if(v!==null){v.return=o.return,J=v;break b}J=o.return}}var y=e.current;for(J=y;J!==null;){s=J;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,J=b;else b:for(s=y;J!==null;){if(c=J,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:xc(9,c)}}catch(e){Ul(c,c.return,e)}if(c===s){J=null;break b}var x=c.sibling;if(x!==null){x.return=c.return,J=x;break b}J=c.return}}if(Gc=a,aa(),xt&&typeof xt.onPostCommitFiberRoot==`function`)try{xt.onPostCommitFiberRoot(bt,e)}catch{}i=!0}return i}finally{zt=n,Wc.transition=t}}return!1}function Hl(e,t,n){t=Es(n,t),t=As(e,t,1),e=no(e,t,1),t=_l(),e!==null&&(It(e,1,t),bl(e,t))}function Ul(e,t,n){if(e.tag===3)Hl(e,e,n);else for(;t!==null;){if(t.tag===3){Hl(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ll===null||!ll.has(r))){e=Es(n,e),e=js(t,e,1),t=no(t,e,1),e=_l(),t!==null&&(It(t,1,e),bl(t,e));break}}t=t.return}}function Wl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=_l(),e.pingedLanes|=e.suspendedLanes&n,Kc===e&&(Jc&n)===n&&(Zc===4||Zc===3&&(Jc&130023424)===Jc&&500>pt()-il?Al(e,0):tl|=n),bl(e,t)}function Gl(e,t){t===0&&(e.mode&1?(t=Ot,Ot<<=1,!(Ot&130023424)&&(Ot=4194304)):t=1);var n=_l();e=Za(e,t),e!==null&&(It(e,t,n),bl(e,n))}function Kl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gl(e,n)}function ql(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),Gl(e,n)}var Jl=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Gi.current)Is=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Is=!1,ac(e,t,n);Is=!!(e.flags&131072)}else Is=!1,xa&&t.flags&1048576&&ga(t,la,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;rc(e,t),e=t.pendingProps;var a=qi(t,Wi.current);Ka(t,n),a=No(null,t,i,e,a,n);var o=Po();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,Ji(i)?(o=!0,Qi(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,$a(t),a.updater=xs,t.stateNode=a,a._reactInternals=t,Ts(t,i,e,n),t=Gs(null,t,i,!0,o,n)):(t.tag=0,xa&&o&&_a(t),Ls(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch(rc(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=$l(i),e=ys(i,e),a){case 0:t=Us(null,t,i,e,n);break a;case 1:t=Ws(null,t,i,e,n);break a;case 11:t=Rs(null,t,i,e,n);break a;case 14:t=zs(null,t,i,ys(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:ys(i,a),Us(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:ys(i,a),Ws(e,t,i,a,n);case 3:a:{if(Ks(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,eo(e,t),ao(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=Es(Error(r(423)),t),t=qs(e,t,i,n,a);break a}else if(i!==a){a=Es(Error(r(424)),t),t=qs(e,t,i,n,a);break a}else for(ba=Ti(t.stateNode.containerInfo.firstChild),ya=t,xa=!0,Sa=null,n=Ra(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Aa(),i===a){t=ic(e,t,n);break a}Ls(e,t,i,n)}t=t.child}return t;case 5:return ho(t),e===null&&Ea(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),Hs(e,t),Ls(e,t,s,n),t.child;case 6:return e===null&&Ea(t),null;case 13:return Xs(e,t,n);case 4:return po(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=La(t,null,i,n):Ls(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:ys(i,a),Rs(e,t,i,a,n);case 7:return Ls(e,t,t.pendingProps,n),t.child;case 8:return Ls(e,t,t.pendingProps.children,n),t.child;case 12:return Ls(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,Hi(za,i._currentValue),i._currentValue=s,o!==null)if(Cr(o.value,s)){if(o.children===a.children&&!Gi.current){t=ic(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=to(-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),Ga(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),Ga(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}Ls(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ka(t,n),a=qa(a),i=i(a),t.flags|=1,Ls(e,t,i,n),t.child;case 14:return i=t.type,a=ys(i,t.pendingProps),a=ys(i.type,a),zs(e,t,i,a,n);case 15:return Bs(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:ys(i,a),rc(e,t),t.tag=1,Ji(i)?(e=!0,Qi(t)):e=!1,Ka(t,n),Cs(t,i,a),Ts(t,i,a,n),Gs(null,t,i,!0,e,n);case 19:return nc(e,t,n);case 22:return Vs(e,t,n)}throw Error(r(156,t.tag))};function Yl(e,t){return lt(e,t)}function Xl(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 Zl(e,t,n,r){return new Xl(e,t,n,r)}function Ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function $l(e){if(typeof e==`function`)return+!!Ql(e);if(e!=null){if(e=e.$$typeof,e===j)return 11;if(e===P)return 14}return 2}function eu(e,t){var n=e.alternate;return n===null?(n=Zl(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 tu(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)Ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case E:return nu(n.children,a,o,t);case D:s=8,a|=8;break;case O:return e=Zl(12,n,t,a|2),e.elementType=O,e.lanes=o,e;case M:return e=Zl(13,n,t,a),e.elementType=M,e.lanes=o,e;case N:return e=Zl(19,n,t,a),e.elementType=N,e.lanes=o,e;case I:return ru(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case k:s=10;break a;case A:s=9;break a;case j:s=11;break a;case P:s=14;break a;case F:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=Zl(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function nu(e,t,n,r){return e=Zl(7,e,r,t),e.lanes=n,e}function ru(e,t,n,r){return e=Zl(22,e,r,t),e.elementType=I,e.lanes=n,e.stateNode={isHidden:!1},e}function iu(e,t,n){return e=Zl(6,e,null,t),e.lanes=n,e}function au(e,t,n){return t=Zl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ou(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=Ft(0),this.expirationTimes=Ft(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ft(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function su(e,t,n,r,i,a,o,s,c){return e=new ou(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Zl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},$a(a),e}function cu(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:T,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}function lu(e){if(!e)return Ui;e=e._reactInternals;a:{if(rt(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(Ji(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(Ji(n))return Zi(e,n,t)}return t}function uu(e,t,n,r,i,a,o,s,c){return e=su(n,r,!0,e,i,a,o,s,c),e.context=lu(null),n=e.current,r=_l(),i=vl(n),a=to(r,i),a.callback=t??null,no(n,a,i),e.current.lanes=i,It(e,i,r),bl(e,r),e}function du(e,t,n,r){var i=t.current,a=_l(),o=vl(i);return n=lu(n),t.context===null?t.context=n:t.pendingContext=n,t=to(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=no(i,t,o),e!==null&&(yl(e,i,o,a),ro(e,i,o)),o}function fu(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 pu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function mu(e,t){pu(e,t),(e=e.alternate)&&pu(e,t)}function hu(){return null}var gu=typeof reportError==`function`?reportError:function(e){console.error(e)};function _u(e){this._internalRoot=e}vu.prototype.render=_u.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));du(e,t,null,null)},vu.prototype.unmount=_u.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ol(function(){du(null,e,null,null)}),t[Ai]=null}};function vu(e){this._internalRoot=e}vu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Wt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<$t.length&&t!==0&&t<$t[n].priority;n++);$t.splice(n,0,e),n===0&&an(e)}};function yu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function bu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==` react-mount-point-unstable `))}function xu(){}function Su(e,t,n,r,i){if(i){if(typeof r==`function`){var a=r;r=function(){var e=fu(o);a.call(e)}}var o=uu(t,r,e,0,null,!1,!1,``,xu);return e._reactRootContainer=o,e[Ai]=o.current,ii(e.nodeType===8?e.parentNode:e),Ol(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r==`function`){var s=r;r=function(){var e=fu(c);s.call(e)}}var c=su(e,0,!1,null,null,!1,!1,``,xu);return e._reactRootContainer=c,e[Ai]=c.current,ii(e.nodeType===8?e.parentNode:e),Ol(function(){du(t,c,n,r)}),c}function Cu(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=fu(o);s.call(e)}}du(t,o,e,i)}else o=Su(n,t,e,i,r);return fu(o)}Vt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=kt(t.pendingLanes);n!==0&&(Rt(t,n|1),bl(t,pt()),!(Gc&6)&&(al=pt()+500,aa()))}break;case 13:Ol(function(){var t=Za(e,1);t!==null&&yl(t,e,1,_l())}),mu(e,1)}},Ht=function(e){if(e.tag===13){var t=Za(e,134217728);t!==null&&yl(t,e,134217728,_l()),mu(e,134217728)}},Ut=function(e){if(e.tag===13){var t=vl(e),n=Za(e,t);n!==null&&yl(n,e,t,_l()),mu(e,t)}},Wt=function(){return zt},Gt=function(e,t){var n=zt;try{return zt=e,t()}finally{zt=n}},Le=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));le(i),me(i,a)}}}break;case`textarea`:xe(e,n);break;case`select`:t=n.value,t!=null&&ve(e,!!n.multiple,t,!1)}},Ue=Dl,We=Ol;var wu={usingClientEntryPoint:!1,Events:[Fi,Ii,Li,Ve,He,Dl]},Tu={findFiberByHostInstance:Pi,bundleType:0,version:`18.3.1`,rendererPackageName:`react-dom`},Eu={bundleType:Tu.bundleType,version:Tu.version,rendererPackageName:Tu.rendererPackageName,rendererConfig:Tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:C.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=st(e),e===null?null:e.stateNode},findFiberByHostInstance:Tu.findFiberByHostInstance||hu,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 Du=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Du.isDisabled&&Du.supportsFiber)try{bt=Du.inject(Eu),xt=Du}catch{}}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=wu,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!yu(t))throw Error(r(200));return cu(e,t,null,n)},e.createRoot=function(e,t){if(!yu(e))throw Error(r(299));var n=!1,i=``,a=gu;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=su(e,1,!1,null,null,n,!1,i,a),e[Ai]=t.current,ii(e.nodeType===8?e.parentNode:e),new _u(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=st(t),e=e===null?null:e.stateNode,e},e.flushSync=function(e){return Ol(e)},e.hydrate=function(e,t,n){if(!bu(t))throw Error(r(200));return Cu(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){if(!yu(e))throw Error(r(405));var i=n!=null&&n.hydratedSources||null,a=!1,o=``,s=gu;if(n!=null&&(!0===n.unstable_strictMode&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=uu(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 vu(t)},e.render=function(e,t,n){if(!bu(t))throw Error(r(200));return Cu(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(!bu(e))throw Error(r(40));return e._reactRootContainer?(Ol(function(){Cu(null,null,e,!1,function(){e._reactRootContainer=null,e[Ai]=null})}),!0):!1},e.unstable_batchedUpdates=Dl,e.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!bu(n))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return Cu(e,t,n,!1,i)},e.version=`18.3.1-next-f1338f8080-20240426`})),h=o(((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=m()})),g=o((e=>{var t=h();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),_=l(d(),1),v=g(),y={weekly:`WEEKLY`,five_hour:`5H-BLOCK`,budget:`BUDGET`,projected:`PROJECTED`,project_budget:`PROJECT`,codex_budget:`BUDGET`},b={weekly:`Weekly`,five_hour:`5h-block`,budget:`Budget`,projected:`Projected`,project_budget:`Project budget`,codex_budget:`Codex budget`};function x(e){return e===`calendar-month`?`Month`:e===`calendar-week`?`Calendar week`:`Week`}function S(e){let t=e.severity;return t===`info`||t===`warn`||t===`critical`?t:t===`amber`?`warn`:t===`red`||e.threshold>=100?`critical`:e.threshold>=90?`warn`:`info`}function C(e){if(e.axis!==`projected`)return null;let t=e.metric??e.context.metric,n=e.context.projected_value;if(t==null||n==null)return null;if(t===`weekly_pct`)return`projected ${Math.round(n)}% of cap`;if(t===`codex_budget_usd`){let t=e.context.denominator;return t==null?null:`projected $${Math.round(n)} of $${Math.round(t)} · Codex`}let r=e.context.denominator;return r==null?null:`projected $${Math.round(n)} of $${Math.round(r)}`}function w(e){let t=e,n=t.accountKey??t.account_key;return n==null?null:{key:n,label:t.accountLabel??(n===`*`?`All accounts`:n)}}function T(e){let t=e.source===`claude`?`claude:${e.id}`:`codex:${e.key}`,n=w(e);return n==null?t:`${e.source}:${n.key}:${e.source===`claude`?e.id:e.key}`}function E(e){let t=e.source===`claude`?`claude:${e.id}`:`codex:${e.key}`,n=e.source===`claude`?e.id:e.key,r=T(e);return r===t?[t,n]:[r,t,n]}function D(e,t){if(t.claude==null&&t.codex==null)return e;let n={claude:!1,codex:!1};for(let t of e)w(t)!=null&&(n[t.source]=!0);return e.filter(e=>{let r=t[e.source];if(r==null||!n[e.source])return!0;let i=w(e)?.key;return i===r||i===`*`})}function O(e){let t=e?.sources;if(t==null)return[];let n=t.claude?.data?.alerts?.rows??[],r=t.codex?.data?.alerts?.rows??[];return[...n,...r]}function k(e){let t=(e.entry?.data)?.alerts?.rows;return Array.isArray(t)?t:[]}function A(e,t,n){return n?k(e):t}function j(e){let t=e;return t.alerted_at??t.created_at??null}function M(e){let t=e??0;return t>=100?`critical`:t>=90?`warn`:`info`}function N(e,t){return e===`info`||e===`warn`||e===`critical`?e:e===`amber`?`warn`:e===`red`?`critical`:M(t)}var P={claude:`Claude`,codex:`Codex`};function F(e){if(e.source===`claude`)return{source:`claude`,sourceLabel:P.claude,threshold:e.threshold,severity:S(e),chipClass:`chip--${e.axis}`,chipLabel:y[e.axis],whenIso:j(e)};if(e.axis===`quota`)return{source:`codex`,sourceLabel:P.codex,threshold:e.threshold,severity:N(e.severity,e.threshold),chipClass:`chip--quota`,chipLabel:`QUOTA`,whenIso:j(e)};let t=e.axis===`projected`?`chip--projected`:`chip--codex_budget`,n=y[e.axis];return{source:`codex`,sourceLabel:P.codex,threshold:e.threshold,severity:M(e.threshold),chipClass:t,chipLabel:n,whenIso:j(e)}}var I={dateFrom:null,dateTo:null,datePreset:null,projects:[],costMin:null,costMax:null,rebuildMin:null,models:[]};function ee(e){return e.conversation_ref??ne(e.session_id)}function te(e,t,n,r={}){let{innerAnchorKey:i,expandDetails:a,findOccurrence:o}=r;return{...n?{conversation_ref:e}:{},session_id:e.key,uuid:t,...i?{inner_anchor_key:i}:{},...a===void 0?{}:{expand_details:a},...o?{find_occurrence:o}:{}}}function L(e){if(!e||typeof e!=`object`)return!1;let t=e;return(t.source===`claude`||t.source===`codex`)&&typeof t.key==`string`&&t.key.length>0&&(t.account_key===void 0||typeof t.account_key==`string`&&t.account_key.length>0)}function ne(e){return{source:`claude`,key:e}}function R(e){return typeof e==`string`?ne(e):e}function re(e){return R(e).key.startsWith(`v1.`)}function z(e){let t=R(e);return t.account_key===void 0?JSON.stringify([t.source,t.key]):JSON.stringify([t.source,t.key,t.account_key])}function B(e,t){return e===null||t===null?e===t:z(e)===z(t)}function V(e){return e.conversation_ref??ne(e.session_id)}function ie(e){return e.conversation_ref??ne(e.session_id)}var ae=`cctally.conv.readingPos`,oe=new Map;function se(){try{let e=localStorage.getItem(ae);if(!e)return{};let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return t}catch{}return{}}function ce(e){try{localStorage.setItem(ae,JSON.stringify(e))}catch{}}function le(e,t){let n=Object.keys(e);if(n.length<=t)return e;n.sort((t,n)=>(e[t]?.ts??0)-(e[n]?.ts??0));let r=n.slice(0,n.length-t);for(let t of r)delete e[t];return e}function ue(e,t,n=Date.now()){let r=R(e);if(!r.key||!t)return;let i=z(r),a=oe.get(i);if(a!==void 0&&n-a<1e3)return;oe.set(i,n);let o=se();o[i]={uuid:t,ts:n},r.source===`claude`&&delete o[r.key],ce(le(o,50))}function de(e){let t=R(e);if(!t.key)return null;let n=se();return n[z(t)]??(t.source===`claude`?n[t.key]:void 0)??null}var fe=`cctally.conv.bookmarks`;function pe(e){let t={};if(!e||typeof e!=`object`)return t;for(let[n,r]of Object.entries(e))if(r&&typeof r==`object`){let e=r.note,i=r.ts;typeof e==`string`&&typeof i==`number`&&Number.isFinite(i)&&(t[n]={note:e,ts:i})}return t}function me(){try{let e=localStorage.getItem(fe);if(!e)return{};let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t)){let e={};for(let[n,r]of Object.entries(t)){let t=pe(r);Object.keys(t).length&&(e[n]=t)}return e}}catch{}return{}}function he(e){try{localStorage.setItem(fe,JSON.stringify(e))}catch{}}function ge(e){let t=0;for(let n of Object.values(e))t=Math.max(t,n.ts);return t}function _e(e,t){let n=Object.keys(e);if(n.length<=t)return e;n.sort((t,n)=>ge(e[t])-ge(e[n]));for(let r of n.slice(0,n.length-t))delete e[r];return e}function ve(e){let t=R(e);if(!t.key)return{};let n=me();return n[z(t)]??(t.source===`claude`?n[t.key]:void 0)??{}}function ye(e,t,n=Date.now()){let r=R(e);if(!r.key||!t)return;let i=me(),a=z(r),o=i[a]??(r.source===`claude`?i[r.key]:void 0)??{};o[t]?delete o[t]:o[t]={note:``,ts:n},Object.keys(o).length?i[a]=o:delete i[a],r.source===`claude`&&delete i[r.key],he(_e(i,50))}function be(e,t,n,r=Date.now()){let i=R(e);if(!i.key||!t)return;let a=me(),o=z(i),s=a[o]??(i.source===`claude`?a[i.key]:void 0)??{};s[t]={note:n,ts:r},a[o]=s,i.source===`claude`&&delete a[i.key],he(_e(a,50))}var xe=`cctally.conv.railPrefs`,Se=new Set([`recent`,`oldest`,`cost`,`messages`,`project`]);function Ce(){return{filters:I,sort:`recent`}}function we(e){return typeof e==`string`&&Se.has(e)}function Te(e){if(!e||typeof e!=`object`||Array.isArray(e))return I;let t=e,n=e=>typeof e==`string`?e:null,r=e=>typeof e==`number`&&Number.isFinite(e)?e:null,i=e=>Array.isArray(e)?e.filter(e=>typeof e==`string`):[];return{dateFrom:n(t.dateFrom),dateTo:n(t.dateTo),datePreset:n(t.datePreset),projects:i(t.projects),costMin:r(t.costMin),costMax:r(t.costMax),rebuildMin:r(t.rebuildMin),models:i(t.models)}}function Ee(){try{let e=localStorage.getItem(xe);if(!e)return Ce();let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return Ce();let n=t;return{filters:Te(n.filters),sort:we(n.sort)?n.sort:`recent`}}catch{return Ce()}}function De(e){try{localStorage.setItem(xe,JSON.stringify({filters:e.filters,sort:e.sort}))}catch{}}var Oe=`cctally.conv.outlineWidth`;function ke(e){return Number.isFinite(e)?Math.round(Math.min(480,Math.max(230,e))):290}function Ae(){try{let e=localStorage.getItem(Oe);if(e==null)return 290;let t=Number(e);if(Number.isFinite(t))return ke(t)}catch{}return 290}function je(e){try{localStorage.setItem(Oe,String(ke(e)))}catch{}}var Me=e=>String(e).padStart(2,`0`);function Ne(e){if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t}function Pe(e,t,n){let r=new Intl.DateTimeFormat(`en-US`,{...n,timeZone:t}),i={};for(let t of r.formatToParts(e))i[t.type]=t.value;return i}function Fe(e,t){let n=Pe(e,t,{timeZoneName:`short`}).timeZoneName??``;if(n===`GMT`)return`UTC`;let r=n.replace(/^GMT/,``);return r===``?n:r.replace(/^([+-])(\d)$/,`$10$2`)}function Ie(e,t){let n=Ne(e);if(!n)return`—`;let r=Pe(n,t.tz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1});return`${r.month} ${r.day} ${r.hour}:${r.minute} ${Fe(n,t.tz)}`}function Le(e,t){let n=Ne(e);if(!n)return`—`;let r=Pe(n,t.tz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZoneName:`shortOffset`}),i=(r.timeZoneName??``).replace(/^GMT/,``).replace(/^([+-])(\d)$/,`$10$2`);return`${r.month} ${r.day} ${r.hour}:${r.minute}${i||``}`}function Re(e,t){let n=Ne(e);if(!n)return null;let r=Pe(n,t.tz,{month:`short`,day:`2-digit`});return`${r.month} ${r.day}`}function ze(e,t){let n=Ne(e);if(!n)return null;let r=Pe(n,t.tz,{month:`short`,day:`2-digit`,year:`numeric`});return`${r.month} ${r.day} ${r.year}`}function Be(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;let n=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],r=t[2]-1;return r<0||r>11?null:`${n[r]} ${t[3]}`}function Ve(e,t){let n=Ne(e);if(!n)return null;let r=Pe(n,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`});return`${r.year}-${r.month}-${r.day}`}function He(e,t,n={}){let r=Ne(e);if(!r)return`—`;let i=Pe(r,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}),a=`${i.year}-${i.month}-${i.day} ${i.hour}:${i.minute}`;return n.noSuffix?a:`${a} ${Fe(r,t.tz)}`}function Ue(e,t,n={}){return Ne(e)?He(e,t,n):null}function We(e,t,n=Date.now()){let r=Ne(e);if(!r)return`—`;let i=n-r.getTime();if(i<6e4)return`just now`;if(i<36e5)return`${Math.floor(i/6e4)}m ago`;if(i<864e5)return`${Math.floor(i/36e5)}h ago`;let a=Pe(new Date(n),t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`}),o=Pe(r,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`}),s=`${a.year}-${a.month}-${a.day}`,c=`${o.year}-${o.month}-${o.day}`;if(s!==c&&i<1728e5){let e=new Date(0);if(e.setUTCFullYear(Number(a.year),Number(a.month)-1,Number(a.day)-1),c===[e.getUTCFullYear(),Me(e.getUTCMonth()+1),Me(e.getUTCDate())].join(`-`))return`Yesterday`}return Ie(e,t)}function Ge(e,t,n={}){let r=Ne(e);if(!r)return`—`;let i=Pe(r,t.tz,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),a=`${i.hour}:${i.minute}`;return n.noSuffix?a:`${a} ${Fe(r,t.tz)}`}function Ke(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function qe(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let n=6e5;return new Date(Math.round(t/n)*n).toISOString()}function Je(e){let t=Date.parse(e.startAt),n=Date.parse(e.endAt);if(Number.isNaN(t)||Number.isNaN(n))return`last 7 days`;let r=Math.max(1,Math.round((n-t)/864e5));return r===7?`last 7 days`:`last ${Ke(r,`day`)}`}var H={pct0(e){return e==null?`—`:`${Math.round(e)}%`},pct1(e){return e==null?`—`:`${(+e).toFixed(1)}%`},usd2(e){return e==null?`—`:`$${(+e).toFixed(2)}`},usd0(e){if(e==null)return`—`;let t=+e;if(t===0)return`$0`;let n=t<0?`−`:``,r=Math.abs(t);return r<.005?`${n}<$0.01`:Number.isInteger(r)?`${n}$${r.toFixed(0)}`:`${n}$${r.toFixed(2)}`},usdSigned(e){return e==null?`—`:`${e>=0?`+`:`−`}$${Math.abs(+e).toFixed(2)}`},pctFloor(e){return Math.floor(e+1e-9)},usd3(e){return e==null?`—`:`$${(+e).toFixed(3)}`},usd2PerDay(e){return e==null?`—`:`$${(+e).toFixed(2)} / day`},hours1(e){return e==null?`—`:`${(+e).toFixed(1)} h`},ratePctPerHour(e){return e==null?`—`:`from ${(+e).toFixed(4)} %/h`},agoSec(e){return e==null?`—`:`${Math.max(0,e|0)}s ago`},hhmm(e){return e==null?`—`:`${e/3600|0}h ${Me(e%3600/60|0)}m`},durationCompact(e){if(e==null)return`—`;let t=e/3600|0,n=e%3600/60|0;return t===0?`${n}m`:`${t}h ${Me(n)}m`},durationMs(e){if(e==null||!isFinite(e))return`—`;let t=Math.round(e/1e3);if(t<60)return`${(e/1e3).toFixed(1)}s`;let n=Math.floor(t/60),r=t-n*60;return r?`${n}m ${r}s`:`${n}m`},gapDuration(e){if(e==null||!isFinite(e)||e<0)return`—`;let t=Math.round(e/60);return t<60?`${t} min`:`${(e/3600).toFixed(1).replace(/\.0$/,``)} h`},tokens(e){if(e==null||!isFinite(e))return`—`;if(e<1e3)return String(Math.round(e));let t=e=>e.toFixed(1).replace(/\.0$/,``);return e<1e6&&Math.round(e/100)/10<1e3?`${t(e/1e3)}k`:`${t(e/1e6)}M`},ddhh(e){return e==null?`—`:`${e/86400|0}d ${e%86400/3600|0}h`},elapsedHm(e){return e==null?`—`:e<=0?`just now`:`${e/3600|0}h ${e%3600/60|0}m`},datetimeShort:Ie,datetimeShortZ:Le,dateShort:Re,dateShortWithYear:ze,startedShort:He,startedShortOrNull:Ue,timeHHmm:Ge,weekStart:(e,t)=>Be(e),calDate:e=>Be(e),calendarDateKey:Ve,timeOnly:Ge,relativeOrAbsolute:We,delta(e){if(e==null)return`—`;let t=e>0?`↑`:e<0?`↓`:`·`;return`${e>0?`+`:``}${e.toFixed(2)} ${t}`},pp(e){return e==null?`—`:Math.abs(e)<.05?`±0.0pp`:`${e>0?`+`:`−`}${Math.abs(e).toFixed(1)}pp`},deltaPct(e){if(e==null)return`—`;let t=Math.round(e*100);return t===0?`0%`:t>0?`+${t}%`:`−${Math.abs(t)}%`},compact(e,t={}){if(e==null)return`—`;let n=Math.abs(e),r;if(n>=1e9)r=(e/1e9).toFixed(1)+`B`;else if(n>=1e6){let t=e/1e6;r=(t>=100?t.toFixed(0):t.toFixed(1))+`M`}else if(n>=1e3){let t=e/1e3;r=(t>=100?t.toFixed(0):t.toFixed(1))+`k`}else return String(e|0);return r=r.replace(/\.0(?=[kMB]$)/,``),t.upper&&(r=r.replace(/k$/,`K`)),r},deltaCls(e,t){return e==null||t?``:e>0?`delta-pos`:e<0?`delta-neg`:``}},Ye={tz:`Etc/UTC`,offsetLabel:`UTC`};function Xe(e){return e?.display?{tz:e.display.resolved_tz,offsetLabel:e.display.offset_label}:Ye}function Ze(e){let t=e=>(t,n)=>(e(n)??0)-(e(t)??0),n=e=>(t,n)=>{let r=(e(t)||``).toString(),i=(e(n)||``).toString();return r<i?-1:+(r>i)};switch(e){case`cost desc`:return t(e=>e.cost_usd??0);case`duration desc`:return t(e=>e.duration_min);case`model asc`:return n(e=>e.model);case`project asc`:return n(e=>e.project);default:return t(e=>e.started_utc?Date.parse(e.started_utc):0)}}function Qe(e,t){let n=(t||``).toLowerCase();return n?e.filter(e=>(e.project||``).toLowerCase().includes(n)||(e.project_key||``).toLowerCase().includes(n)||(e.model||``).toLowerCase().includes(n)):e}function $e(e,t=Ye){let n=e.started_utc?H.startedShort(e.started_utc,t,{noSuffix:!0}):``,r=e.duration_min==null?``:`${e.duration_min}m`,i=e.cost_usd==null?``:`$${e.cost_usd.toFixed(2)}`;return[n===`—`?``:n,r,e.model||``,e.title||``,e.project||``,e.project_key||``,i].join(` `).toLowerCase()}function et(e,t,n=Ye){let r=(t||``).toLowerCase();if(!r)return[];let i=[];for(let t=0;t<e.length;t++)$e(e[t],n).includes(r)&&i.push(t);return i}function tt(e){let t=e?.trend;return t?t.history.map(e=>({label:e.label,used_pct:e.used_pct,dollar_per_pct:e.dollar_per_pct,delta:e.delta,is_current:e.is_current,cost_usd:e.cost_usd??null,...e.account_labels?{account_labels:e.account_labels}:{}})):[]}var nt=[`sessions`,`trend`,`projects`,`daily`,`cache-report`,`weekly`,`monthly`,`blocks`,`forecast`,`alerts`],rt={sessions:{row:`tall`,span:6},trend:{row:`tall`,span:3},projects:{row:`tall`,span:3},daily:{row:`medium`,span:6},"cache-report":{row:`medium`,span:6},weekly:{row:`medium`,span:6},monthly:{row:`medium`,span:6},blocks:{row:`medium`,span:6},forecast:{row:`medium`,span:6},alerts:{row:`short`,span:12}},it=new Set([`current-week`,`forecast`,`trend`,`sessions`,`projects`,`weekly`,`monthly`,`blocks`,`daily`]),at=4,ot=5,st=new Set([`weekly`,`monthly`,`daily`]);function ct(e,t){if(t>=6)return{panels:e??[],newVersion:t};let n=e?[...e]:[];if(t<2&&n.length>0&&!n.includes(`projects`)&&n.splice(Math.min(at,n.length),0,`projects`),t<3&&(n=n.filter(e=>e!==`current-week`)),t<4&&(n=n.filter(e=>!st.has(e)),n.length>0&&!n.includes(`history`)&&n.splice(Math.min(ot,n.length),0,`history`)),t<5&&(n=n.map(e=>e===`history`?`daily`:e),n.length>0)){let e=n.includes(`cache-report`)?n.indexOf(`cache-report`):n.indexOf(`daily`),t=e>=0?e+1:n.length;for(let e of[`weekly`,`monthly`])n.includes(e)||(n.splice(t,0,e),t+=1)}return t<6&&n.includes(`blocks`)&&n.includes(`forecast`)&&(n.splice(n.indexOf(`blocks`),1),n.splice(n.indexOf(`forecast`),0,`blocks`)),{panels:n,newVersion:6}}function lt(e,t){if(!e||!Array.isArray(e)||e.length===0)return[...t];let n=new Set(t),r=new Set,i=[];for(let t of e)n.has(t)&&(r.has(t)||(r.add(t),i.push(t)));for(let e of t)r.has(e)||i.push(e);return i}function ut(e,t,n){if(!n)return e;let r=t.find(e=>e.id===n.column);if(!r)return e;let i=n.direction===`desc`?-1:1,a=r.nullKey;return e.slice().sort((e,t)=>{if(a){let n=a(e)==null,r=a(t)==null;if(n&&r)return 0;if(n)return 1;if(r)return-1}return i*r.compare(e,t)})}function dt(e,t){return!e||e.column!==t.id?{column:t.id,direction:t.defaultDirection}:e.direction===t.defaultDirection?{column:t.id,direction:e.direction===`asc`?`desc`:`asc`}:null}function ft(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return typeof t.column!=`string`||t.direction!==`asc`&&t.direction!==`desc`?null:{column:t.column,direction:t.direction}}var pt=[{id:`started`,label:`Started`,defaultDirection:`desc`,compare:(e,t)=>(Date.parse(e.started_utc??``)||0)-(Date.parse(t.started_utc??``)||0)},{id:`duration`,label:`Dur`,defaultDirection:`desc`,compare:(e,t)=>(e.duration_min??0)-(t.duration_min??0)},{id:`model`,label:`Model`,defaultDirection:`asc`,compare:(e,t)=>(e.model||``).localeCompare(t.model||``)},{id:`session`,label:`Session`,defaultDirection:`asc`,compare:(e,t)=>(e.title||``).localeCompare(t.title||``)},{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>(e.project||``).localeCompare(t.project||``)},{id:`cache`,label:`Cache`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.cache_hit_pct??null,compare:(e,t)=>(e.cache_hit_pct??0)-(t.cache_hit_pct??0)},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.cost_usd??0)-(t.cost_usd??0)}],mt={shareModal:null,composerModal:null};function ht(e,t){switch(t.type){case`OPEN_SHARE`:{let n=t.source??`claude`,r=t.account??null,i=t.params===void 0?{panel:t.panel,triggerId:t.triggerId,source:n,account:r}:{panel:t.panel,triggerId:t.triggerId,source:n,account:r,params:t.params};return{...e,shareModal:i}}case`CLOSE_SHARE`:return{...e,shareModal:null};case`OPEN_COMPOSER`:return{...e,composerModal:{open:!0}};case`CLOSE_COMPOSER`:return{...e,composerModal:null};default:return e}}function gt(e,t,n){return n===void 0?{type:`OPEN_SHARE`,panel:e,triggerId:t}:{type:`OPEN_SHARE`,panel:e,triggerId:t,params:n}}function _t(){return{type:`CLOSE_SHARE`}}function vt(){return{type:`OPEN_COMPOSER`}}function yt(){return{type:`CLOSE_COMPOSER`}}var bt=`cctally:share:basket`;function xt(e,t){switch(t.type){case`BASKET_ADD`:return e.items.length>=20?{...e,rejectedReason:`capacity`}:{items:[...e.items,t.item],rejectedReason:null};case`BASKET_REMOVE`:return{...e,items:e.items.filter(e=>e.id!==t.id)};case`BASKET_REORDER`:{if(t.fromIdx===t.toIdx||t.fromIdx<0||t.toIdx<0||t.fromIdx>=e.items.length||t.toIdx>=e.items.length)return e;let n=e.items.slice(),[r]=n.splice(t.fromIdx,1);return n.splice(t.toIdx,0,r),{...e,items:n}}case`BASKET_CLEAR`:return{items:[],rejectedReason:null};case`BASKET_CLEAR_REJECTED`:return e.rejectedReason==null?e:{...e,rejectedReason:null};case`BASKET_HYDRATE`:return{items:t.items,rejectedReason:null};default:return e}}function St(e){return{id:e.id??Et(),panel:e.panel,template_id:e.template_id,options:e.options,added_at:e.added_at,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,label_hint:e.label_hint,source:e.source??`claude`,...e.account==null?{}:{account:e.account}}}function Ct(){try{let e=localStorage.getItem(bt);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(Tt).map(e=>({...e,source:e.source??`claude`})):[]}catch{return[]}}function wt(e){try{localStorage.setItem(bt,JSON.stringify(e))}catch{}}function Tt(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&typeof t.panel==`string`&&typeof t.template_id==`string`&&typeof t.added_at==`string`&&typeof t.data_digest_at_add==`string`&&typeof t.kernel_version==`number`&&typeof t.label_hint==`string`&&typeof t.options==`object`&&t.options!==null}function Et(){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``).slice(0,26)}var Dt=`cctally:dashboard:source`,Ot=new Set([`claude`,`codex`,`all`]);function kt(){try{let e=localStorage.getItem(Dt);if(e!=null&&Ot.has(e))return e}catch{}return`claude`}function At(e){try{localStorage.setItem(Dt,e)}catch{}}var jt=`cctally:dashboard:account:`;function Mt(e){return e===`all`?`all`:`provider`}function Nt(e){return e.length<=24?e:`${e.slice(0,12)}…${e.slice(-8)}`}function Pt(e,t){return t===`all`?`${jt}all:${e}`:`${jt}${e}`}function Ft(e,t=`provider`){try{let n=localStorage.getItem(Pt(e,t));if(n!=null&&n!==``)return n}catch{}return`all`}function It(e,t,n=`provider`){try{localStorage.setItem(Pt(e,n),t)}catch{}}function Lt(){return{provider:{claude:Ft(`claude`,`provider`),codex:Ft(`codex`,`provider`)},all:{claude:Ft(`claude`,`all`),codex:Ft(`codex`,`all`)}}}function Rt(e,t,n){return t!==`all`&&t!==n?`all`:e[Mt(t)][n]??`all`}function zt(e){let t=e?.data?.accounts;return!Array.isArray(t)||t.length===0?null:t}function Bt(e,t,n){if(t===`all`||n===`all`||n===``)return null;let r=zt(e?.sources?.[t]??null);return r==null?null:r.some(e=>e.accountKey===n)?n:null}function Vt(e,t){return zt(e?.sources?.[t]??null)!=null}function Ht(e,t){return(t===`all`?[`claude`,`codex`]:[t]).filter(t=>Vt(e,t))}function Ut(e,t,n,r){return Bt(e,n,Rt(r,t,n))}function Wt(e,t){if(e==null||e.length===0)return`all`;let n=[`all`,...e.map(e=>e.accountKey)];return n[((t==null?0:Math.max(0,n.indexOf(t)))+1)%n.length]}var Gt=`codex`;function Kt(e){let t=e?.data?.account_scopes;return typeof t!=`object`||!t||Array.isArray(t)?null:t}function qt(){let e={rows:[],total_cost_usd:0,total_tokens:0,display_tz:`UTC`};return{is_empty:!0,periods:{daily:e,monthly:e,weekly:e},sessions:{rows:[],total_sessions:0,total_cost_usd:0,total_tokens:0},projects:{rows:[],total_cost_usd:0,total_tokens:0},cache_report:null,budget:{status:null,milestones:[],projected:[]},quota:{summary:{window_count:0,active_window_count:0,latest_percent:null,freshness:`unavailable`,active:[]},histories:[],milestones:[],blocks:[],cycle_index:[]},alerts:{rows:[]}}}function Jt(e,t,n,r){let i=(e.cycles??[]).find(e=>e.accountKey===r)??null,a=n.quota.summary.freshness===`stale`;return{cost_usd:t?.spendUsd??0,input_tokens:t?.inputTokens??0,cached_input_tokens:t?.cachedInputTokens??0,output_tokens:t?.outputTokens??0,reasoning_output_tokens:t?.reasoningOutputTokens??0,total_tokens:t?.totalTokens??0,cycle:i==null?null:{window_minutes:i.window_minutes,start_at:i.start_at,resets_at:i.resets_at},...i!=null&&a?{cycle_freshness:`stale`}:{},quota:n.quota.summary,budget:n.budget.status,alerts:{count:n.alerts.rows.length},...e.cycles==null?{}:{cycles:e.cycles}}}function Yt(e,t,n,r){return{...e,hero:Jt(e.hero,n,t,r),periods:t.periods,sessions:t.sessions,projects:t.projects,quota:t.quota,budget:t.budget,alerts:t.alerts,cache_report:t.cache_report??null}}function Xt(e,t,n,r=t===`all`?null:t){let i=r==null?null:e?.sources?.[r]??null,a=i?.data??null,o=r===Gt?Kt(i):null,s=o!=null,c=r==null?null:Bt(e,r,n);if(c==null||!s)return{source:t,provider:r,accountKey:null,requestedKey:c,card:null,scope:null,data:a,isEmpty:!1,scopesSupported:s};let l=(zt(i)??[]).find(e=>e.accountKey===c)??null,u=o[c]??qt();return{source:t,provider:r,accountKey:c,requestedKey:c,card:l,scope:u,data:a==null?null:Yt(a,u,l,c),isEmpty:u.is_empty===!0,scopesSupported:!0}}var Zt=new WeakMap;function Qt(e,t,n){if(e==null)return null;if(t!==Gt&&t!==`all`)return e;let r=e.sources?.[Gt]??null;if(r?.data==null||Kt(r)==null)return e;let i=Bt(e,Gt,n);if(i==null)return e;let a=`${t}\u0000${i}`,o=Zt.get(e);o??(o=new Map,Zt.set(e,o));let s=o.get(a);if(s!=null)return s;let c=Xt(e,t,n,Gt);if(c.accountKey==null||c.data==null)return e;let l={...e.sources,[Gt]:{...r,data:c.data}};if(t===`all`){let e=l.all??null,t=e?.data??null;e!=null&&t?.providers!=null&&(l.all={...e,data:{...t,providers:{...t.providers,codex:c.data}}})}let u={...e,sources:l};return o.set(a,u),u}function $t(e){return e==null?!1:e.data==null&&e.last_success_at==null&&Array.isArray(e.warnings)&&e.warnings.length===0&&e.capabilities!=null&&Object.keys(e.capabilities).length===0}function en(e,t){if(e==null)return{selection:t,entry:null,hydrating:!0,env:null};let n=e.sources;if(n==null)return{selection:t,entry:null,hydrating:t!==`claude`,env:e};let r=n[t]??null;return{selection:t,entry:r,hydrating:$t(r),env:e}}function tn(e,t){return[...e]}function nn(e,t,n){let r=new Set(t),i=0;return e.map(e=>r.has(e)&&i<n.length?n[i++]:e)}function rn(e,t){return e?.trim()||(t===300?`5-hour limit`:t===10080?`7-day limit`:t==null||t<=0?`Codex quota`:t%1440==0?`${t/1440}-day limit`:t%60==0?`${t/60}-hour limit`:`${t}-minute limit`)}function an(e,t){let n=new Map,r=new Map;for(let e of t?.histories??[]){if(e.account_key==null){r.set(e.key,e);continue}let t=n.get(e.account_key)??new Map;t.set(e.key,e),n.set(e.account_key,t)}return(e?.quota?.active??[]).map(e=>{let t=e.account_key==null?r.get(e.key):n.get(e.account_key)?.get(e.key);return{key:e.key,label:rn(t?.label,t?.window_minutes),windowMinutes:t?.window_minutes??null,current:e}})}function on(e){return(e??[]).map(e=>({source:`claude`,key:e.key,title:e.title?.trim()??``,recencyUtc:e.started_utc,models:e.model?[e.model]:[],costUsd:e.cost_usd,durationMin:e.duration_min??null,project:e.project,projectKey:e.project_key??null,cacheHitPct:e.cache_hit_pct??null,tokens:{kind:`claude`},legacy:e}))}function sn(e){return(e??[]).map(e=>({source:`codex`,key:e.key,title:e.label?.trim()??``,recencyUtc:e.last_activity,models:[...e.models??[]],costUsd:e.cost_usd,durationMin:e.duration_min??null,project:e.project??`Project resolving`,projectKey:e.project_key??null,cacheHitPct:e.input_tokens>0?e.cached_input_tokens/e.input_tokens*100:null,tokens:{kind:`codex`,input:e.input_tokens,cachedInput:e.cached_input_tokens,output:e.output_tokens,reasoning:e.reasoning_output_tokens,total:e.total_tokens}}))}function cn(e){if(e.selection===`claude`)return on((e.env?.sessions?.rows??[]).map(e=>({key:e.session_id,source:`claude`,started_utc:e.started_utc,duration_min:e.duration_min,model:e.model,project:e.project,project_key:e.project_key,cost_usd:e.cost_usd,cache_hit_pct:e.cache_hit_pct,title:e.title})));if(e.selection===`codex`){let t=e.entry?.data;return sn(t?.sessions?.rows??[])}if(e.selection===`all`){let t=e.entry?.data?.providers,n=t?.claude??e.env?.sources?.claude?.data??null,r=t?.codex??e.env?.sources?.codex?.data??null,i=n?on(n.sessions?.rows??[]):[],a=r?sn(r.sessions?.rows??[]):[];return[...i,...a]}return[]}function ln(e){return[e.title||``,e.project,e.durationMin==null?``:`${e.durationMin}m`,e.costUsd==null?``:`$${e.costUsd.toFixed(2)}`,...e.models].join(` `).toLowerCase()}function un(e,t){let n=(t||``).toLowerCase();return n?e.filter(e=>ln(e).includes(n)):e}function dn(e,t){let n=(t||``).toLowerCase();if(!n)return[];let r=[];for(let t=0;t<e.length;t++)ln(e[t]).includes(n)&&r.push(t);return r}function fn(e){return e.recencyUtc&&Date.parse(e.recencyUtc)||0}function pn({includeSource:e,oneModel:t}){let n=[];return n.push({id:`started`,label:`Started`,defaultDirection:`desc`,nullKey:e=>e.recencyUtc??null,compare:(e,t)=>fn(e)-fn(t)},{id:`duration`,label:`Dur`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.durationMin,compare:(e,t)=>(e.durationMin??0)-(t.durationMin??0)},...t?[]:[{id:`model`,label:`Model`,defaultDirection:`asc`,compare:(e,t)=>e.models.join(`,`).localeCompare(t.models.join(`,`))}],{id:`session`,label:`Session`,defaultDirection:`asc`,compare:(e,t)=>(e.title||``).localeCompare(t.title||``)},{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>e.project.localeCompare(t.project)},{id:`cache`,label:`Cache`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.cacheHitPct,compare:(e,t)=>(e.cacheHitPct??0)-(t.cacheHitPct??0)},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.costUsd??0)-(t.costUsd??0)}),n}function mn(e,t){let n=e.recencyUtc==null,r=t.recencyUtc==null;return n&&r?0:n?1:r?-1:fn(t)-fn(e)}var hn=`ccusage.dashboard.prefs`,gn=`ccusage.dashboard.filter`,_n=`ccusage.dashboard.sort`,vn=`cctally.conv.outlineOpen`;function yn(){return{state:null,suppress:{skipped_versions:[],remind_after:null},modalOpen:!1,runId:null,status:`idle`,stream:[],errorMessage:null,startedAt:null}}var bn=[{key:`started desc`,label:`Started (newest first)`},{key:`cost desc`,label:`Cost (highest first)`},{key:`duration desc`,label:`Duration (longest first)`},{key:`model asc`,label:`Model (A→Z)`},{key:`project asc`,label:`Project (A→Z)`}];function xn(){return{sortDefault:`started desc`,sessionsPerPage:100,sessionsCollapsed:!0,blocksCollapsed:!0,dailyCollapsed:!0,alertsCollapsed:!1,panelOrder:[...nt],onboardingToastSeen:!1,mobileOnboardingToastSeen:!1,trendSortOverride:null,sessionsSortOverride:null,projectsWindowWeeks:4,projectsTrendYMode:`absolute`,projectsSortOverride:null,panelOrderSchemaVersion:1,historySortOverride:null,historySortOverrides:{week:null,month:null}}}function Sn(e){return{...e,weekly_usd:e.weekly_usd??null}}function Cn(){return{enabled:!1,weekly_thresholds:[90,95],five_hour_thresholds:[90,95],budget_thresholds:[90,100],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 wn(){let e=xn(),t=localStorage.getItem(hn),n=localStorage.getItem(_n);if(t){try{let n=JSON.parse(t);e={...xn(),...n};let r=typeof n.panelOrderSchemaVersion==`number`?n.panelOrderSchemaVersion:1,i=ct(n.panelOrder??null,r);e.panelOrderSchemaVersion=i.newVersion,e.panelOrder=lt(i.panels,nt),e.trendSortOverride=ft(e.trendSortOverride??null),e.sessionsSortOverride=ft(e.sessionsSortOverride??null),e.projectsSortOverride=ft(e.projectsSortOverride??null),e.historySortOverride=null;let a=e.historySortOverrides;e.historySortOverrides={week:ft(a?.week??null),month:ft(a?.month??null)},r!==i.newVersion&&localStorage.setItem(hn,JSON.stringify(e))}catch{e=xn(),e.panelOrderSchemaVersion=6}n!=null&&localStorage.removeItem(_n)}else n?(e={...xn(),sortDefault:n,panelOrderSchemaVersion:6},localStorage.setItem(hn,JSON.stringify(e)),localStorage.removeItem(_n)):e.panelOrderSchemaVersion=6;let r=!0;try{let e=localStorage.getItem(vn);e===`false`?r=!1:e===`true`&&(r=!0)}catch{r=!0}let i=Ee();return{snapshot:null,activeSource:kt(),accountFocus:Lt(),view:`dashboard`,selectedConversationId:null,selectedConversationRef:null,conversationSearch:``,conversationSearchKind:`all`,conversationJump:null,convOutlineOpen:r,convOutlineMobileOpen:!1,convOutlineWidth:Ae(),convFocusMode:`all`,convOutlineTab:`outline`,convCurrentTurnUuid:null,convPinnedUuid:null,convPinnedAnchorKey:null,convBookmarks:{},convFindOpen:!1,conversationFilters:i.filters,convFiltersOpen:!1,conversationRailSort:i.sort,compare:null,comparePick:null,compareCloseFocusPending:!1,conversationTitles:{},openModal:null,openModalSource:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null,sessionsSort:e.sortDefault,filterText:localStorage.getItem(gn)??``,searchText:``,searchMatches:[],searchIndex:-1,inputMode:null,prefs:e,syncErrorFloorUntil:0,syncBusy:!1,syncSuccessFlashUntil:0,toast:null,alerts:[],seenAlertIds:new Set,alertsConfig:Cn(),dashboardPrefs:{},alertToastQueue:[],dragPreviewOrder:null,update:yn(),...mt,basket:{items:Ct(),rejectedReason:null},doctor:null,doctorModalOpen:!1,heroScrolled:!1,chromeOverlayOpen:0,openSourceDetail:null,openSourceDetailSelection:null,sourceSessionsSort:null}}var U=wn(),Tn=new Set,En=``;function Dn(){Tn.forEach(e=>{try{e()}catch(e){console.error(`subscriber error:`,e)}})}function W(){return U}function On(e=U){return e.dashboardPrefs.cache_failure_markers!==!1}function kn(e=U){return e.dashboardPrefs.live_tail!==!1}function An(e=U){return e.dashboardPrefs.lan_auth!==!1}function jn(e=U){return e.update.state?.configured_channel===`beta`?`beta`:`stable`}function Mn(e){return e.composerModal?`composer`:e.shareModal?`share`:e.update.modalOpen?`update`:e.doctorModalOpen?`doctor`:e.openSourceDetail==null?e.openModal==null?null:`panel`:`source-detail`}function G(e){return Tn.add(e),()=>{Tn.delete(e)}}function Nn(e=U){let t=Qe(e.snapshot?.sessions?.rows??[],e.filterText),n=e.prefs.sessionsSortOverride;return(n?ut(t,pt,n):t.slice().sort(Ze(e.sessionsSort))).slice(0,e.prefs.sessionsPerPage)}function Pn(e=U,t=e.activeSource){return Qt(e.snapshot,t,Rt(e.accountFocus,t,`codex`))}function Fn(e=U){if(e.activeSource===`claude`)return on(Nn(e).map(e=>({key:e.session_id,source:`claude`,started_utc:e.started_utc,duration_min:e.duration_min,model:e.model,project:e.project,project_key:e.project_key,cost_usd:e.cost_usd,cache_hit_pct:e.cache_hit_pct,title:e.title})));let t=un(cn(en(Pn(e),e.activeSource)),e.filterText),n=e.sourceSessionsSort;return(n?ut(t,pn({includeSource:e.activeSource===`all`,oneModel:!1}),n):t.slice().sort(mn)).slice(0,e.prefs.sessionsPerPage)}function In(e){if(!e.searchText)return{searchMatches:[],searchIndex:-1};let t=e.activeSource===`claude`?et(Nn(e),e.searchText,Xe(e.snapshot)):dn(Fn(e),e.searchText);return t.length===0?{searchMatches:[],searchIndex:-1}:{searchMatches:t,searchIndex:e.searchIndex<0||e.searchIndex>=t.length?0:e.searchIndex}}function Ln(e){let t=e?.generated_at??``;if(t&&En&&t<En)return!1;t&&(En=t);let n={...U,snapshot:e};return U={...n,...In(n)},Dn(),!0}function Rn(){En=``}var zn={openModal:null,openModalSource:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null,shareModal:null,composerModal:null,openSourceDetail:null,openSourceDetailSelection:null};function Bn(e,t){return e===void 0?typeof t==`string`&&t?ne(t):null:e}function K(e){switch(e.type){case`OPEN_MODAL`:U={...U,openModal:e.kind,openModalSource:U.activeSource,openSessionId:e.sessionId??null,openBlockStartAt:e.blockStartAt??null,openDailyDate:e.dailyDate??null,openProjectKey:e.projectKey??null};break;case`CLOSE_MODAL`:U={...U,openModal:null,openModalSource:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null};break;case`SET_ACTIVE_SOURCE`:if(U.activeSource===e.source)break;At(e.source);{let t={...U,activeSource:e.source};U={...t,...In(t)}}break;case`SET_ACCOUNT_FOCUS`:if(U.accountFocus[e.slot][e.source]===e.account)break;It(e.source,e.account,e.slot),U={...U,accountFocus:{...U.accountFocus,[e.slot]:{...U.accountFocus[e.slot],[e.source]:e.account}},selectedConversationId:null,selectedConversationRef:null,conversationJump:null,convFindOpen:!1,compare:null,comparePick:null};break;case`OPEN_SOURCE_DETAIL`:U={...U,openSourceDetail:{source:e.source,resource:e.resource,key:e.key},openSourceDetailSelection:U.activeSource};break;case`CLOSE_SOURCE_DETAIL`:if(U.openSourceDetail==null)break;U={...U,openSourceDetail:null,openSourceDetailSelection:null};break;case`SET_SOURCE_SESSIONS_SORT`:{let t={...U,sourceSessionsSort:e.override};U={...t,...In(t)};break}case`SET_VIEW`:U={...U,view:e.view,...zn,compare:null,comparePick:null,compareCloseFocusPending:!1,...e.view===`dashboard`?{selectedConversationId:null,selectedConversationRef:null,conversationJump:null,conversationSearch:``,conversationSearchKind:`all`}:{}};break;case`OPEN_CONVERSATION`:{let t=Bn(e.conversationRef,e.sessionId);if(!t)break;let n=!B(t,U.selectedConversationRef);U={...U,view:`conversations`,...zn,compare:null,comparePick:null,compareCloseFocusPending:!1,selectedConversationId:t.source===`claude`?t.key:null,selectedConversationRef:t,conversationJump:e.jump??null,...n?{convFocusMode:`all`,convOutlineTab:`outline`,convCurrentTurnUuid:null,convPinnedUuid:null,convPinnedAnchorKey:null,convFindOpen:!1,convOutlineMobileOpen:!1,convBookmarks:ve(t)}:{}};break}case`SELECT_CONVERSATION`:{let t=Bn(e.conversationRef,e.sessionId),n=!B(t,U.selectedConversationRef);U={...U,...n?{convOutlineMobileOpen:!1,convFindOpen:!1,convBookmarks:t?ve(t):{}}:{},compare:null,comparePick:null,compareCloseFocusPending:!1,selectedConversationId:t?.source===`claude`?t.key:null,selectedConversationRef:t,conversationJump:null,convFocusMode:`all`,convOutlineTab:`outline`,convCurrentTurnUuid:null,convPinnedUuid:null,convPinnedAnchorKey:null};break}case`SET_CONVERSATION_SEARCH`:U={...U,conversationSearch:e.text,...e.text===``?{conversationSearchKind:`all`}:{}};break;case`SET_CONVERSATION_SEARCH_KIND`:U={...U,conversationSearchKind:e.kind};break;case`CLEAR_CONVERSATION_JUMP`:U={...U,conversationJump:null};break;case`TOGGLE_CONV_OUTLINE`:{let e=!U.convOutlineOpen;try{localStorage.setItem(vn,e?`true`:`false`)}catch{}U={...U,convOutlineOpen:e};break}case`SET_CONV_OUTLINE_WIDTH`:{let t=ke(e.px);if(t===U.convOutlineWidth)break;je(t),U={...U,convOutlineWidth:t};break}case`TOGGLE_CONV_OUTLINE_MOBILE`:U={...U,convOutlineMobileOpen:!U.convOutlineMobileOpen};break;case`CLOSE_CONV_OUTLINE_MOBILE`:U={...U,convOutlineMobileOpen:!1};break;case`SET_CONV_FOCUS_MODE`:U={...U,convFocusMode:e.mode};break;case`SET_CONV_OUTLINE_TAB`:U={...U,convOutlineTab:e.tab};break;case`OPEN_CONV_FIND`:U={...U,convFindOpen:!0};break;case`CLOSE_CONV_FIND`:U={...U,convFindOpen:!1};break;case`SET_CONVERSATION_FILTERS`:{let t={...U.conversationFilters,...e.patch};De({filters:t,sort:U.conversationRailSort}),U={...U,conversationFilters:t};break}case`CLEAR_CONVERSATION_FILTERS`:De({filters:I,sort:U.conversationRailSort}),U={...U,conversationFilters:I};break;case`TOGGLE_CONV_FILTERS`:U={...U,convFiltersOpen:!U.convFiltersOpen};break;case`SET_CONV_FILTERS_OPEN`:U={...U,convFiltersOpen:e.open};break;case`SET_CONVERSATION_RAIL_SORT`:De({filters:U.conversationFilters,sort:e.sort}),U={...U,conversationRailSort:e.sort};break;case`START_COMPARE_PICK`:{let t=Bn(e.anchorRef,e.anchor);if(!t||!B(t,U.selectedConversationRef))break;U={...U,comparePick:{anchor:t},convOutlineMobileOpen:!1}}break;case`CANCEL_COMPARE_PICK`:U={...U,comparePick:null,convFiltersOpen:!1,compareCloseFocusPending:!0};break;case`OPEN_COMPARE`:{let t=Bn(e.aRef,e.a),n=Bn(e.bRef,e.b);if(!t||!n||B(t,n))break;U={...U,...zn,view:`conversations`,selectedConversationId:t.source===`claude`?t.key:null,selectedConversationRef:t,conversationJump:null,comparePick:null,convFiltersOpen:!1,compare:{a:t,b:n}};break}case`SWAP_COMPARE`:U={...U,compare:U.compare?{a:U.compare.b,b:U.compare.a}:null};break;case`CLOSE_COMPARE`:U={...U,compare:null,compareCloseFocusPending:!0};break;case`CLEAR_COMPARE_CLOSE_FOCUS`:U={...U,compareCloseFocusPending:!1};break;case`CACHE_CONVERSATION_TITLES`:{let t=!1,n={...U.conversationTitles};for(let[r,i]of e.titles){if(!r||!i)continue;let e=L(r)?z(r):r;n[e]!==i&&(n[e]=i,t=!0)}t&&(U={...U,conversationTitles:n});break}case`SET_CONV_CURRENT_TURN`:if(U.convCurrentTurnUuid===e.uuid)break;e.uuid!=null&&U.selectedConversationRef!=null&&ue(U.selectedConversationRef,e.uuid),U={...U,convCurrentTurnUuid:e.uuid};break;case`SET_CONV_PINNED_TURN`:{let t=e.anchorKey??null;if(U.convPinnedUuid===e.uuid&&U.convPinnedAnchorKey===t)break;U={...U,convPinnedUuid:e.uuid,convPinnedAnchorKey:t};break}case`CLEAR_CONV_PIN`:if(U.convPinnedUuid===null&&U.convPinnedAnchorKey===null)break;U={...U,convPinnedUuid:null,convPinnedAnchorKey:null};break;case`TOGGLE_BOOKMARK`:{let t=Bn(e.conversationRef,e.sessionId)??U.selectedConversationRef;if(!t)break;ye(t,e.uuid),B(t,U.selectedConversationRef)&&(U={...U,convBookmarks:ve(t)});break}case`SET_BOOKMARK_NOTE`:{let t=Bn(e.conversationRef,e.sessionId)??U.selectedConversationRef;if(!t)break;be(t,e.uuid,e.note),B(t,U.selectedConversationRef)&&(U={...U,convBookmarks:ve(t)});break}case`SET_FILTER`:{e.text?localStorage.setItem(gn,e.text):localStorage.removeItem(gn);let t={...U,filterText:e.text};U={...t,...In(t)};break}case`SET_SEARCH`:{let t={...U,searchText:e.text,searchIndex:0};U={...t,...In(t)};break}case`SET_SEARCH_MATCHES`:U={...U,searchMatches:e.matches,searchIndex:e.index};break;case`SET_SORT`:{let t={...U,sessionsSort:e.key};U={...t,...In(t)};break}case`SET_INPUT_MODE`:U={...U,inputMode:e.mode};break;case`SAVE_PREFS`:{let t={...U.prefs,...e.patch};localStorage.setItem(hn,JSON.stringify(t));let n={...U,prefs:t};U={...n,...In(n)};break}case`RESET_PREFS`:{let e=U.prefs.onboardingToastSeen,t=U.prefs.mobileOnboardingToastSeen;localStorage.removeItem(hn),localStorage.removeItem(gn);let n=xn();n.onboardingToastSeen=e,n.mobileOnboardingToastSeen=t,n.panelOrderSchemaVersion=6,localStorage.setItem(hn,JSON.stringify(n)),U={...U,prefs:n,filterText:``,searchText:``,searchMatches:[],searchIndex:-1,sessionsSort:n.sortDefault};break}case`RESET_PANEL_ORDER`:{let e={...U.prefs,panelOrder:[...nt],panelOrderSchemaVersion:6};localStorage.setItem(hn,JSON.stringify(e)),U={...U,prefs:e};break}case`REORDER_PANELS`:{let{from:t,to:n}=e,r=U.prefs.panelOrder,i=tn(r,en(U.snapshot,U.activeSource));if(t===n||t<0||t>=i.length||n<0||n>=i.length)break;let a=i.slice(),[o]=a.splice(t,1);a.splice(n,0,o);let s=nn(r,i,a),c={...U.prefs,panelOrder:s};localStorage.setItem(hn,JSON.stringify(c)),U={...U,prefs:c};break}case`SET_DRAG_PREVIEW`:U={...U,dragPreviewOrder:e.order};break;case`COMMIT_DRAG_PREVIEW`:{let e=U.dragPreviewOrder;if(!e)break;let t={...U.prefs,panelOrder:e};localStorage.setItem(hn,JSON.stringify(t)),U={...U,prefs:t,dragPreviewOrder:null};break}case`CLEAR_DRAG_PREVIEW`:if(U.dragPreviewOrder==null)break;U={...U,dragPreviewOrder:null};break;case`SWAP_PANELS`:{let{index:t,direction:n}=e,r=U.prefs.panelOrder,i=tn(r,en(U.snapshot,U.activeSource));if(t<0||t>=i.length)break;let a=rt[i[t]].row,o=t+n;for(;o>=0&&o<i.length&&rt[i[o]].row!==a;)o+=n;if(o<0||o>=i.length)break;let s=i.slice();[s[t],s[o]]=[s[o],s[t]];let c=nn(r,i,s),l={...U.prefs,panelOrder:c};localStorage.setItem(hn,JSON.stringify(l)),U={...U,prefs:l};break}case`MARK_ONBOARDING_TOAST_SEEN`:{if(U.prefs.onboardingToastSeen)break;let e={...U.prefs,onboardingToastSeen:!0};localStorage.setItem(hn,JSON.stringify(e)),U={...U,prefs:e};break}case`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:{if(U.prefs.mobileOnboardingToastSeen)break;let e={...U.prefs,mobileOnboardingToastSeen:!0};localStorage.setItem(hn,JSON.stringify(e)),U={...U,prefs:e};break}case`SET_SYNC_ERROR_FLOOR`:U={...U,syncErrorFloorUntil:e.untilMs};break;case`SET_SYNC_BUSY`:U={...U,syncBusy:e.busy};break;case`SET_SYNC_SUCCESS_FLASH`:U={...U,syncSuccessFlashUntil:e.untilMs};break;case`SHOW_STATUS_TOAST`:U={...U,toast:{kind:`status`,text:e.text}};break;case`SHOW_ALERT_TOAST`:U={...U,toast:{kind:`alert`,payload:e.alert}};break;case`HIDE_TOAST`:if(U.toast?.kind===`alert`&&U.alertToastQueue.length>0){let[e,...t]=U.alertToastQueue;U={...U,toast:{kind:`alert`,payload:e},alertToastQueue:t}}else U={...U,toast:null};break;case`INGEST_SNAPSHOT_ALERTS`:{let t=new Set(U.seenAlertIds);if(e.isFirstTick){for(let n of e.alerts)t.add(n.id);U={...U,alerts:e.alerts,seenAlertIds:t,alertsConfig:Sn(e.alertsSettings),alertToastQueue:[]};break}let n=e.alerts.filter(e=>!t.has(e.id));for(let e of n)t.add(e.id);let r=U.toast,i=U.alertToastQueue;n.length>0&&(!r||r.kind!==`alert`?(r={kind:`alert`,payload:n[0]},i=[...i,...n.slice(1)]):i=[...i,...n]),U={...U,alerts:e.alerts,seenAlertIds:t,alertsConfig:Sn(e.alertsSettings),alertToastQueue:i,toast:r};break}case`INGEST_SOURCE_ALERTS`:{let t=new Set(U.seenAlertIds);if(e.isFirstTick){for(let n of e.rows)for(let e of E(n))t.add(e);U={...U,seenAlertIds:t,alertsConfig:Sn(e.alertsSettings),alertToastQueue:[]};break}let n=e.rows.filter(e=>!t.has(T(e)));for(let e of n)for(let n of E(e))t.add(n);let r=U.toast,i=U.alertToastQueue;n.length>0&&(!r||r.kind!==`alert`?(r={kind:`alert`,payload:n[0]},i=[...i,...n.slice(1)]):i=[...i,...n]),U={...U,seenAlertIds:t,alertsConfig:Sn(e.alertsSettings),alertToastQueue:i,toast:r};break}case`INGEST_DASHBOARD_PREFS`:U={...U,dashboardPrefs:e.prefs};break;case`SET_TABLE_SORT`:{let t=e.table===`history`?{...U.prefs,historySortOverrides:{...U.prefs.historySortOverrides,[e.periodKind]:e.override}}:{...U.prefs,[e.table===`trend`?`trendSortOverride`:e.table===`projects`?`projectsSortOverride`:`sessionsSortOverride`]:e.override};localStorage.setItem(hn,JSON.stringify(t));let n={...U,prefs:t};U={...n,...In(n)};break}case`CLEAR_TABLE_SORTS`:{let e={...U.prefs,trendSortOverride:null,sessionsSortOverride:null,projectsSortOverride:null,historySortOverride:null,historySortOverrides:{week:null,month:null}};localStorage.setItem(hn,JSON.stringify(e));let t={...U,prefs:e};U={...t,...In(t)};break}case`OPEN_UPDATE_MODAL`:U={...U,update:{...U.update,modalOpen:!0}};break;case`CLOSE_UPDATE_MODAL`:U={...U,update:{...U.update,modalOpen:!1}};break;case`SET_UPDATE_STATE`:U={...U,update:{...U.update,state:e.state,suppress:e.suppress}};break;case`SET_UPDATE_STATUS`:U={...U,update:{...U.update,status:e.status,errorMessage:e.errorMessage===void 0?U.update.errorMessage:e.errorMessage}};break;case`SET_UPDATE_RUN_ID`:U={...U,update:{...U.update,runId:e.runId,startedAt:e.startedAt===void 0?U.update.startedAt:e.startedAt}};break;case`APPEND_UPDATE_STREAM`:U={...U,update:{...U.update,stream:[...U.update.stream,e.event]}};break;case`RESET_UPDATE_RUN`:U={...U,update:{...U.update,status:`idle`,runId:null,stream:[],errorMessage:null,startedAt:null}};break;case`OPEN_SHARE`:case`CLOSE_SHARE`:case`OPEN_COMPOSER`:case`CLOSE_COMPOSER`:{let t=e.type===`OPEN_SHARE`?e.source??(U.openModal==null?null:U.openModalSource)??U.activeSource:U.activeSource,n=e.type===`OPEN_SHARE`?Ut(U.snapshot,t,t===`all`?`codex`:t,U.accountFocus):null,r=e.type===`OPEN_SHARE`?{...e,source:t,account:e.account??n}:e,i=ht({shareModal:U.shareModal,composerModal:U.composerModal},r);U={...U,...i};break}case`BASKET_ADD`:case`BASKET_REMOVE`:case`BASKET_REORDER`:case`BASKET_CLEAR`:case`BASKET_CLEAR_REJECTED`:case`BASKET_HYDRATE`:{let t=xt(U.basket,e);if(t===U.basket)break;let n=t.items!==U.basket.items;U={...U,basket:t},n&&wt(t.items),e.type===`BASKET_ADD`&&t.rejectedReason===`capacity`&&(U={...U,toast:{kind:`status`,text:`Basket is full (20 sections). Remove one to add another.`}});break}case`SET_DOCTOR_AGGREGATE`:U={...U,doctor:e.doctor};break;case`OPEN_DOCTOR_MODAL`:U={...U,doctorModalOpen:!0};break;case`CLOSE_DOCTOR_MODAL`:U={...U,doctorModalOpen:!1};break;case`SET_HERO_SCROLLED`:U.heroScrolled!==e.scrolled&&(U={...U,heroScrolled:e.scrolled});break;case`INCREMENT_CHROME_OVERLAY`:U={...U,chromeOverlayOpen:U.chromeOverlayOpen+1};break;case`DECREMENT_CHROME_OVERLAY`:U={...U,chromeOverlayOpen:Math.max(0,U.chromeOverlayOpen-1)};break}Dn()}var Vn=o((e=>{var t=d(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),q=o(((e,t)=>{t.exports=Vn()}))(),Hn=320;function Un(){return W().basket}function Wn(){let e=(0,_.useSyncExternalStore)(G,Un).items.length,[t,n]=(0,_.useState)(!1),r=(0,_.useRef)(e);if((0,_.useEffect)(()=>{if(e>r.current){n(!0);let t=setTimeout(()=>n(!1),Hn);return r.current=e,()=>clearTimeout(t)}r.current=e},[e]),e===0)return null;let i=e===1?`section`:`sections`;return(0,q.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:()=>K(vt()),children:[(0,q.jsxs)(`svg`,{className:`basket-chip-icon`,width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,focusable:`false`,children:[(0,q.jsx)(`rect`,{x:`2.75`,y:`2`,width:`8.5`,height:`10.5`,rx:`1`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`}),(0,q.jsx)(`rect`,{x:`4.5`,y:`0.75`,width:`5`,height:`2.5`,rx:`0.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]}),(0,q.jsx)(`span`,{className:`basket-chip-count`,children:e})]})}var Gn={ok:`OK`,warn:`WARN`,fail:`FAIL`};function Kn(){let e=(0,_.useSyncExternalStore)(G,()=>W().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: ${Gn[t]} — ${n.ok} OK, ${n.warn} warn, ${n.fail} fail`,o=`Doctor · ${Gn[t]} (click for report)`;try{let e=new Date(r).toLocaleTimeString();o=`Doctor · ${Gn[t]} · checked ${e} (click for report)`}catch{}return(0,q.jsxs)(`button`,{type:`button`,className:`doctor-chip doctor-chip--${t}`,title:o,"aria-label":a,onClick:()=>K({type:`OPEN_DOCTOR_MODAL`}),children:[(0,q.jsx)(`span`,{className:`doctor-chip-label`,children:`Doctor`}),(0,q.jsx)(`span`,{className:`doctor-chip-status`,children:i})]})}function qn(){return(0,_.useSyncExternalStore)(G,()=>W().snapshot)}var Jn=`/api/update/status`,Yn=`/api/update`,Xn=`/api/update/dismiss`;function Zn(e,t=null){return e===`brew`?`brew update --quiet && brew upgrade cctally`:e===`npm`?`npm install -g cctally@${t??`latest`}`:null}function Qn(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 $n(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:tr(a,o,t),method:u,update_command:u===`npm`&&r===`beta`&&o?Zn(`npm`,o):Zn(u,null),release_notes_url:m,check_status:f,checked_at_utc:p,prerelease_note:Qn(a),configured_channel:r}}function er(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 tr(e,t,n){if(!e||!t||!nr(t,e)||n.skipped_versions.includes(t))return!1;let r=n.remind_after;if(r&&r.version&&r.until_utc)try{if(!nr(t,r.version)){let e=Date.parse(r.until_utc);if(Number.isFinite(e)&&Date.now()<e)return!1}}catch{}return!0}function nr(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 rr(){try{let e=await fetch(Jn);if(!e.ok)return;let t=await e.json(),n=er(t?.suppress),r=$n(t?.state,n,t?.configured_channel);K({type:`SET_UPDATE_STATE`,state:r,suppress:n}),W().update.status===`success`&&r?.current_version&&r.current_version===r.latest_version&&(K({type:`CLOSE_UPDATE_MODAL`}),K({type:`RESET_UPDATE_RUN`}))}catch{}}async function ir(){K({type:`RESET_UPDATE_RUN`}),K({type:`SET_UPDATE_STATUS`,status:`running`,errorMessage:null}),K({type:`SET_UPDATE_RUN_ID`,runId:null,startedAt:Date.now()});try{let e=await fetch(Yn,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`}),t=await e.json().catch(()=>({}));if(e.status===202&&typeof t.run_id==`string`){K({type:`SET_UPDATE_RUN_ID`,runId:t.run_id});return}if(e.status===409&&typeof t.run_id_in_progress==`string`){K({type:`SET_UPDATE_RUN_ID`,runId:t.run_id_in_progress});return}K({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:typeof t.error==`string`?t.error:`failed to start update (HTTP ${e.status})`})}catch(e){K({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`network error: `+e.message})}}async function ar(e){if(e){try{if((await fetch(Xn,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`skip`,version:e})})).ok){let t=W().update;t.state&&K({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]}}),K({type:`CLOSE_UPDATE_MODAL`})}}catch{}await rr()}}async function or(e){try{if((await fetch(Xn,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`remind`,days:e})})).ok){let e=W().update;e.state&&K({type:`SET_UPDATE_STATE`,state:{...e.state,available:!1},suppress:e.suppress}),K({type:`CLOSE_UPDATE_MODAL`})}}catch{}await rr()}var sr={refreshState:rr,start:ir,skip:ar,remind:or,open:()=>K({type:`OPEN_UPDATE_MODAL`}),close:()=>K({type:`CLOSE_UPDATE_MODAL`})},cr=null,lr=!1,ur=!1,dr=0,fr=new Set,pr=!0;function mr(){return lr}function hr(){return ur}function gr(e){return fr.add(e),()=>{fr.delete(e)}}function _r(){fr.forEach(e=>{try{e()}catch(e){console.error(`status subscriber error:`,e)}})}function vr(e={}){cr&&=(cr.close(),null),lr=!1,ur=!1;let t=++dr;pr=!0,_r(),Rn(),(async()=>{try{let t=await(await fetch(`/api/data`)).json();Ln(t)&&(ur&&(ur=!1,_r()),br(t),xr(t),Sr(t),Cr(t)),e.onConnect?.()}catch(e){console.error(`initial snapshot failed:`,e),t===dr&&W().snapshot==null&&!ur&&(ur=!0,_r())}})(),cr=new EventSource(`/api/events`),cr.addEventListener(`update`,t=>{try{let n=JSON.parse(t.data);Ln(n)&&(ur&&(ur=!1,_r()),br(n),xr(n),Sr(n),Cr(n)),lr&&(lr=!1,_r(),e.onConnect?.())}catch(e){console.error(`SSE parse failed:`,e)}}),cr.onerror=()=>{lr||(lr=!0,pr=!0,_r(),e.onDisconnect?.())}}var yr={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 br(e){K({type:`INGEST_SOURCE_ALERTS`,rows:O(e),alertsSettings:e.alerts_settings??yr,isFirstTick:pr}),pr=!1}function xr(e){if(!e.update)return;let t=er(e.update.suppress);K({type:`SET_UPDATE_STATE`,state:$n(e.update.state,t,e.update.configured_channel),suppress:t})}function Sr(e){e.doctor&&K({type:`SET_DOCTOR_AGGREGATE`,doctor:e.doctor})}function Cr(e){K({type:`INGEST_DASHBOARD_PREFS`,prefs:e.dashboard_prefs??{}})}function wr(){return{disconnected:(0,_.useSyncExternalStore)(gr,()=>mr()),bootstrapError:(0,_.useSyncExternalStore)(gr,()=>hr())}}function Tr(e){return Number.isFinite(e)&&e>0?Math.floor(e):0}function Er(e){let t=Tr(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 Dr(e){return`${Er(e)} ago`}function Or(e){let t=Tr(e),n=t<300?`fresh`:t<1800?`aging`:`stale`;return{text:Dr(t),bucket:n}}function kr({id:e=`sync-chip`}={}){let t=qn(),{disconnected:n}=wr(),r=(0,_.useSyncExternalStore)(G,()=>W().syncErrorFloorUntil),i=(0,_.useSyncExternalStore)(G,()=>W().syncBusy),a=(0,_.useSyncExternalStore)(G,()=>W().syncSuccessFlashUntil),[o,s]=(0,_.useState)(`sync paused`),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(``),f=(0,_.useRef)(0),[,p]=(0,_.useState)(0),[,m]=(0,_.useState)(0),h=Date.now(),g=h<r,v=h<a;if((0,_.useEffect)(()=>{if(!(g||v)){if(n){s(`disconnected`),l(`var(--accent-red)`),d(``);return}if(t){if(t.last_sync_error){s(t.sync_failure?.label??`⚠ server sync error`),l(`var(--accent-red)`),d(``);return}if(t.sync_age_s==null){s(`sync paused`),l(``),d(``),f.current=0;return}l(``),f.current=t.sync_age_s|0;{let e=Or(f.current);s(`synced ${e.text}`),d(e.bucket)}}}},[t,n,g,v]),(0,_.useEffect)(()=>{let e=window.setInterval(()=>{if(n||Date.now()<W().syncErrorFloorUntil||!t||t.sync_age_s==null||t.last_sync_error)return;f.current+=1;let e=Or(f.current);s(`synced ${e.text}`),d(e.bucket)},1e3);return()=>window.clearInterval(e)},[t,n]),(0,_.useEffect)(()=>{if(!g)return;let e=r-Date.now();if(e<=0)return;let t=window.setTimeout(()=>p(e=>e+1),e);return()=>window.clearTimeout(t)},[r,g]),(0,_.useEffect)(()=>{if(!v)return;let e=a-Date.now();if(e<=0)return;let t=window.setTimeout(()=>m(e=>e+1),e);return()=>window.clearTimeout(t)},[a,v]),i)return(0,q.jsx)(`span`,{className:`sync-chip mute syncing`,id:e,"aria-busy":`true`,"aria-live":`polite`,children:`syncing…`});if(g)return(0,q.jsx)(`span`,{className:`sync-chip mute sync-error`,id:e,"aria-live":`polite`,style:{color:`var(--accent-red)`},children:`⚠ sync request failed`});if(v)return(0,q.jsx)(`span`,{className:`sync-chip mute sync-success`,id:e,"aria-live":`polite`,children:`✓ updated`});let y=!n&&t?.last_sync_error?t.sync_failure:null,b=y?[y.detail,y.action].filter(Boolean).join(` `):void 0;return(0,q.jsx)(`span`,{className:`sync-chip mute`+(u?` sync-chip--${u}`:``)+(y||n?` sync-error`:``),id:e,"aria-live":`polite`,"aria-label":b,title:b,style:{color:c},children:o})}var Ar=[{value:`claude`,label:`Claude`},{value:`codex`,label:`Codex`},{value:`all`,label:`All`}];function jr(){let e=(0,_.useSyncExternalStore)(G,()=>W().activeSource),t=(0,_.useSyncExternalStore)(G,()=>W().view),n=qn(),r=(0,_.useRef)([]),[i,a]=(0,_.useState)(``);if(t!==`dashboard`)return null;let o=e=>n?.sources?.[e]?.availability,s=e=>{let t=Ar[e];K({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)%Ar.length;break;case`ArrowLeft`:case`ArrowUp`:n=(t-1+Ar.length)%Ar.length;break;case`Home`:n=0;break;case`End`:n=Ar.length-1;break;default:return}e.preventDefault(),s(n)};return(0,q.jsxs)(`div`,{className:`source-switcher`,role:`radiogroup`,"aria-label":`Data source`,children:[Ar.map((t,n)=>{let i=t.value===e,a=o(t.value);return(0,q.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,q.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"data-testid":`source-switcher-live`,children:i})]})}var Mr={claude:`hero and alerts only`,codex:`filters every panel`},Nr={claude:`Claude accounts`,codex:`Codex accounts`};function Pr(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 Fr({provider:e,selection:t,labelled:n}){let r=qn(),i=(0,_.useSyncExternalStore)(G,()=>W().accountFocus),a=(0,_.useRef)([]),[o,s]=(0,_.useState)(``),c=(0,_.useRef)(null),l=zt(r?.sources?.[e]??null),u=l==null?null:Ut(r,t,e,i),d=l==null?null:u??`all`,f=d==null?null:d===`all`?`All accounts`:l?.find(e=>e.accountKey===d)?.label??`All accounts`;if((0,_.useEffect)(()=>{if(d==null){c.current=null;return}if(c.current==null){c.current=d;return}c.current!==d&&(c.current=d,s(d===`all`?`All accounts selected`:`${f} account selected`))},[d,f]),l==null)return null;let p=Pr(l),m=`account-focus-${e}-label`,h=n=>{let r=p[n];K({type:`SET_ACCOUNT_FOCUS`,source:e,slot:Mt(t),account:r.key}),a.current[n]?.focus()},g=(e,t)=>{let n;switch(e.key){case`ArrowRight`:case`ArrowDown`:n=(t+1)%p.length;break;case`ArrowLeft`:case`ArrowUp`:n=(t-1+p.length)%p.length;break;case`Home`:n=0;break;case`End`:n=p.length-1;break;default:return}e.preventDefault(),h(n)};return(0,q.jsxs)(`div`,{className:`account-chip-row`,role:`radiogroup`,...n?{"aria-labelledby":m}:{"aria-label":`Account focus`},"data-testid":`account-chip-row`,"data-provider":e,children:[n&&(0,q.jsxs)(`span`,{className:`account-chip-rowlabel`,id:m,children:[(0,q.jsx)(`span`,{className:`account-chip-rowprovider`,children:Nr[e]}),` `,(0,q.jsx)(`span`,{className:`account-chip-rowqualifier`,"data-testid":`account-chip-qualifier-${e}`,children:Mr[e]})]}),p.map((e,t)=>{let n=e.key===d;return(0,q.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:()=>h(t),onKeyDown:e=>g(e,t),children:[(0,q.jsx)(`span`,{className:`account-chip-label`,children:e.label}),e.hint!=null&&(0,q.jsx)(`span`,{className:`account-chip-hint`,children:e.hint})]},e.key)}),(0,q.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"data-testid":`account-chip-live`,children:o})]})}function Ir(){let e=qn(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource);if((0,_.useSyncExternalStore)(G,()=>W().view)!==`dashboard`)return null;let n=Ht(e,t);return n.length===0?null:t===`all`?(0,q.jsx)(`div`,{className:`account-chip-rows`,"data-testid":`account-chip-rows`,children:n.map(e=>(0,q.jsx)(Fr,{provider:e,selection:`all`,labelled:!0},e))}):(0,q.jsx)(Fr,{provider:n[0],selection:t,labelled:!1})}var Lr=new Set([`hero`,`daily`,`weekly`,`monthly`,`sessions`,`projects`,`quota`,`budget`,`forensics`,`alerts`]);function Rr(e){return e!=null&&e.length>0?e[0]:null}function zr(e){let t=e.domain;return t==null||t===`ingest`||t===`read_model`||!Lr.has(t)}function Br(e){return e==null?null:e.find(zr)??Rr(e)}function Vr(e,t){return e==null?null:e.find(zr)??e.find(e=>e.domain===t)??null}function Hr(e){return typeof e==`object`&&e?e:void 0}function Ur(e,t){let n=e.domain_freshness?.[t];return n===`fresh`||n===`stale`?n:e.freshness}var Wr=[`claude`,`codex`];function Gr(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?Kr(e):{code:n.code,message:n.message}}}let r=n.legs;return{value:{costUsd:n.cost_usd,totalTokens:n.total_tokens},legs:r,contributors:Wr.filter(e=>r?.[e]?.state===`current`),qualifications:n.qualifications??[],unavailable:null}}function Kr(e){if(e==null)return null;let t=Vr(e.warnings,`hero`);return t==null?null:{code:t.code,message:t.message}}function qr(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 Jr(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($t(n))return{mode:`skeleton`,noSuccessYet:!1};let r=n.capabilities?.sessions?.status,i=n.last_success_at==null,a=Vr(n.warnings,`sessions`);return r===`deferred`||r===`not_applicable`?{mode:`hidden`,noSuccessYet:!1}:n.availability===`unavailable`||r===`unavailable`?{mode:`degraded`,warning:a,noSuccessYet:i}:Hr(n.data)?.sessions===void 0?{mode:`hidden`,noSuccessYet:!1}:n.availability===`partial`&&(Ur(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 Yr(e){if(e.selection!==`all`)return Jr(e,e.selection);let t=[`claude`,`codex`].map(t=>Jr(en(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 Xr(){let e=(0,_.useSyncExternalStore)(G,()=>W().activeSource),t=(0,_.useSyncExternalStore)(G,()=>W().view),n=qn();if(t!==`dashboard`)return null;let r=en(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=Br(i.warnings),c=i.freshness===`stale`,l=e===`all`?Gr(i).unavailable:null,u,d;u=a?`no successful snapshot yet`:o&&s?Qr(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=$r(u);return(0,q.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,q.jsx)(`span`,{className:`source-status-label source-status-label--full`,"aria-hidden":`true`,children:u}),(0,q.jsx)(`span`,{className:`source-status-label source-status-label--compact`,"aria-hidden":`true`,children:f})]})}var Zr={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`};function Qr(e,t){return e===`projects`&&t===`codex_metadata_incomplete`?`Projects partial`:e==null?`Source degraded`:Zr[e]??`Source degraded`}function $r(e){return e===`no successful snapshot yet`?`No snapshot`:e===`Source degraded`||e===`degraded`?`Degraded`:e===`Projects partial`?`Projects`:e===`Combined withheld`?`Withheld`:e.replace(/ unavailable$/,``)}function ei(){let e=(0,_.useSyncExternalStore)(G,()=>W().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,q.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:()=>sr.open(),children:[(0,q.jsx)(`span`,{className:`badge-update-arrow`,"aria-hidden":`true`,children:`↑`}),(0,q.jsxs)(`span`,{className:`badge-update-version`,children:[`v`,n]}),r&&(0,q.jsx)(`span`,{className:`badge-update-channel`,children:`beta`})]})}function ti(e){return e?.transcriptsEnabled===!0}function ni(){let e=(0,_.useSyncExternalStore)(G,()=>W().view);return ti(qn())?(0,q.jsxs)(`div`,{className:`view-switcher`,role:`group`,"aria-label":`Workspace`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-pressed":e===`dashboard`,className:`view-seg${e===`dashboard`?` is-active`:``}`,onClick:()=>K({type:`SET_VIEW`,view:`dashboard`}),children:`Dashboard`}),(0,q.jsx)(`button`,{type:`button`,"aria-pressed":e===`conversations`,className:`view-seg${e===`conversations`?` is-active`:``}`,onClick:()=>K({type:`SET_VIEW`,view:`conversations`}),children:`Conversations`})]}):null}var ri=3e3,ii=1200,ai=300;async function oi(){if(W().syncBusy)return;let e=Date.now();K({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===503)return;if(e.ok){if(e.status===200){let t=await e.json().catch(()=>({})),n=(Array.isArray(t.warnings)?t.warnings:[]).filter(e=>e?.code&&e.code!==`rate_limited`);if(n.length>0){console.error(`/api/sync warnings:`,n.map(e=>e.code).join(`, `)),K({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+ri});return}}t=!0;return}console.error(`/api/sync failed: ${e.status}`),K({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+ri})}catch(e){console.error(`/api/sync failed:`,e),K({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+ri})}finally{let n=Date.now()-e;n<ai&&await new Promise(e=>setTimeout(e,ai-n)),t&&K({type:`SET_SYNC_SUCCESS_FLASH`,untilMs:Date.now()+ii}),K({type:`SET_SYNC_BUSY`,busy:!1})}}function si(e){document.dispatchEvent(new KeyboardEvent(`keydown`,{key:e}))}function ci(e,t,n,r){if(e===`all`)return null;if(e===`codex`){let e=en(t,`codex`).entry?.data;if(e?.hero==null||e?.quota==null)return null;let n=an(e.hero,e.quota);if(n.length===0)return null;let r=n[0];return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`topbar-condensed-pct`,children:H.pct1(r.current.current_percent)}),(0,q.jsx)(`span`,{className:`topbar-condensed-sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`topbar-condensed-reset`,children:r.label})]})}return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`topbar-condensed-pct`,children:H.pct1(n?.used_pct)}),(0,q.jsx)(`span`,{className:`topbar-condensed-sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsxs)(`span`,{className:`topbar-condensed-reset`,children:[`resets `,H.ddhh(r?.reset_in_sec)]})]})}function li(){let e=(0,_.useSyncExternalStore)(G,()=>W().update).state?.current_version??null,t=(0,_.useSyncExternalStore)(G,()=>W().view),n=(0,_.useSyncExternalStore)(G,()=>W().heroScrolled),r=(0,_.useSyncExternalStore)(G,()=>W().activeSource),i=qn(),a=i?.header,o=ci(r,i,a,i?.current_week??null),s=t===`dashboard`&&n&&o!=null;return(0,q.jsxs)(`header`,{className:`topbar${s?` is-scrolled`:``}`,"data-view":t,children:[(0,q.jsx)(`h1`,{className:`sr-only`,children:`cctally dashboard`}),(0,q.jsxs)(`div`,{className:`stat topbar-brand`,children:[(0,q.jsx)(`span`,{className:`brand-name`,children:`cctally`}),e?(0,q.jsxs)(`span`,{className:`brand-version`,children:[`v`,e]}):null,(0,q.jsx)(ei,{}),i?.channel===`preview`?(0,q.jsx)(`span`,{className:`preview-badge`,title:`Preview channel — running against a real data snapshot, not your live prod dashboard`,children:`PREVIEW`}):null]}),(0,q.jsx)(ni,{}),(0,q.jsx)(jr,{}),(0,q.jsx)(Ir,{}),s&&(0,q.jsx)(`div`,{className:`topbar-condensed`,"data-testid":`topbar-condensed`,"data-source":r,children:o}),(0,q.jsxs)(`div`,{className:`topbar-actions`,children:[(0,q.jsx)(Xr,{}),(0,q.jsx)(Kn,{}),(0,q.jsx)(Wn,{}),(0,q.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-settings`,"aria-label":`Open settings`,onClick:()=>si(`s`),children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#settings`})})}),(0,q.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-help`,"aria-label":`Open help`,onClick:()=>si(`?`),children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#help-circle`})})}),(0,q.jsxs)(`button`,{type:`button`,className:`topbar-sync`,onClick:()=>oi(),title:`Sync now (r)`,"aria-label":`Sync now`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#refresh`})}),(0,q.jsx)(kr,{})]})]})]})}function ui(e){return(0,_.useSyncExternalStore)(G,()=>Pn(void 0,e))}function di(e){return e===`all`?`codex`:e}function fi(e,t){let n=(0,_.useSyncExternalStore)(G,()=>W().snapshot),r=(0,_.useSyncExternalStore)(G,()=>W().activeSource),i=e??r,a=t??(i===`all`?null:i);return Xt(n,i,(0,_.useSyncExternalStore)(G,()=>a==null?`all`:Rt(W().accountFocus,i,a)),a)}var pi=`(max-width: 640px)`,mi=`(min-width: 1101px)`,hi=`(min-width: 900px)`,gi=`(min-width: 1200px)`,_i=`(max-width: 880px)`;function vi(){let[e,t]=(0,_.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(pi).matches);return(0,_.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(pi),n=e=>{t(e.matches)};return e.addEventListener(`change`,n),t(e.matches),()=>{e.removeEventListener(`change`,n)}},[]),e}var yi={tz:`local`,resolvedTz:`Etc/UTC`,offsetLabel:`UTC`,offsetSeconds:0,pinned:!1};function bi(){let e=qn();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}:yi}var xi={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 Si(e){return e==null?null:xi[e]??null}var Ci=900,wi=3600;function Ti(e){return e==null||e<=Ci?`fresh`:e<=wi?`aging`:`stale`}var Ei=`button, a, input, select, textarea, [role="button"], [data-card-region-ignore]`;function Di(e){let t=e;return!!(t&&typeof t.closest==`function`&&t.closest(Ei))}function Oi(e){return t=>{Di(t.target)||e()}}var ki=[`#5b8def`,`#e0913b`,`#3fa66a`,`#b569d6`,`#d15b7f`,`#3fb6b0`];function Ai(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 ${Er(r)}`}function ji(e){return e==null?`—`:`${Math.round(e)}%`}function Mi({card:e,color:t,focused:n}){let r=e.unattributed===!0,i=Date.now(),a=r?null:Ai(e.resetsAt,i);return(0,q.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,q.jsxs)(`div`,{className:`account-hero-card-head`,children:[(0,q.jsx)(`span`,{className:`account-hero-card-label`,children:e.label}),e.plan!=null&&(0,q.jsx)(`span`,{className:`account-hero-card-plan`,children:e.plan}),e.cycleFreshness===`stale`&&(0,q.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,q.jsx)(`span`,{className:`account-hero-card-active`,title:`Active account`,children:`●`})]}),!r&&(0,q.jsxs)(`div`,{className:`account-hero-card-bars`,children:[(0,q.jsxs)(`div`,{className:`account-hero-bar`,"data-metric":`weekly`,children:[(0,q.jsx)(`span`,{className:`account-hero-bar-label`,children:`Weekly`}),(0,q.jsx)(`div`,{className:`account-hero-bar-track`,children:(0,q.jsx)(`div`,{className:`account-hero-bar-fill`,style:{width:`${Math.min(100,e.weeklyPercent??0)}%`}})}),(0,q.jsx)(`span`,{className:`account-hero-bar-value`,children:ji(e.weeklyPercent)})]}),(0,q.jsxs)(`div`,{className:`account-hero-bar`,"data-metric":`five-hour`,children:[(0,q.jsx)(`span`,{className:`account-hero-bar-label`,children:`5h`}),(0,q.jsx)(`div`,{className:`account-hero-bar-track`,children:(0,q.jsx)(`div`,{className:`account-hero-bar-fill`,style:{width:`${Math.min(100,e.fiveHourPercent??0)}%`}})}),(0,q.jsx)(`span`,{className:`account-hero-bar-value`,children:ji(e.fiveHourPercent)})]})]}),(0,q.jsxs)(`div`,{className:`account-hero-card-foot`,children:[(0,q.jsxs)(`span`,{className:`account-hero-card-spend`,children:[`$`,e.spendUsd.toFixed(2)]}),a!=null&&(0,q.jsx)(`span`,{className:`account-hero-card-reset`,children:a}),e.spendWindow!=null&&(0,q.jsx)(`span`,{className:`account-hero-card-window`,"data-testid":`account-card-window`,children:Je(e.spendWindow)}),r&&(0,q.jsx)(`span`,{className:`account-hero-card-note`,children:`totals only`})]})]})}function Ni(){let e=qn(),t=fi(),n=(0,_.useSyncExternalStore)(G,()=>W().activeSource),r=(0,_.useSyncExternalStore)(G,()=>W().accountFocus),i=n===`all`,a=(i?[`claude`,`codex`]:[n]).flatMap(t=>{let n=zt(e?.sources?.[t]??null);return n==null?[]:[{source:t,accounts:n}]});if(a.length===0)return null;let o=a[0].source,s=!i&&t.isEmpty&&t.card!=null?`No ${o===`codex`?`Codex`:`Claude`} activity recorded for ${t.card.label}.`:null;return(0,q.jsxs)(`div`,{className:`account-hero-cards`,"data-testid":`account-hero-cards`,children:[a.map(t=>{let a=Ut(e,n,t.source,r),o=i||a==null?t.accounts:t.accounts.filter(e=>e.accountKey===a);return(0,q.jsxs)(`div`,{className:`account-hero-provider-group`,"data-source":t.source,children:[i&&(0,q.jsxs)(`p`,{className:`account-hero-caption`,"data-testid":`account-hero-caption`,children:[t.source===`claude`?`Claude`:`Codex`,` accounts — each has its own quota cycle.`]}),o.map(e=>{let n=t.accounts.findIndex(t=>t.accountKey===e.accountKey);return(0,q.jsx)(Mi,{card:e,color:ki[(n<0?0:n)%ki.length],focused:a===e.accountKey},e.accountKey)})]},t.source)}),s!=null&&(0,q.jsx)(`p`,{className:`account-hero-empty`,"data-testid":`account-hero-empty`,role:`status`,children:s})]})}var Pi=`Codex quota evidence is stale — this spend is current, but the forecast is paused until Codex reports again.`,Fi=`Spent this week`;function Ii(e){let t=e?.find(e=>e.spendWindow!=null)?.spendWindow;return t==null?null:`Includes accounts with no live cycle, counted over the ${Je(t)}.`}function Li(e){let t=e?.find(e=>e.spendWindow!=null)?.spendWindow;return t==null?null:`Incl. no-cycle accounts · ${Je(t)}`}function Ri(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 zi(e){if(!e||e.files<=0)return null;let t=e.files===1?`session`:`sessions`;return`+${e.files} ${t} still loading`}function Bi(e){return!e||e.files<=0?null:`+${e.files} more`}function Vi(...e){let t=e.filter(e=>!!e);return t.length?t.join(` `):null}var Hi={all:`Combined usage summary`,claude:`Claude week usage summary`,codex:`Codex cycle usage summary`};function Ui(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=e?.header,r=(e?.current_week??null)?.freshness??null,i=Si(n?.forecast_verdict??null),a=Ti(r?.age_seconds),o=bi(),s={tz:o.resolvedTz,offsetLabel:o.offsetLabel},c=(0,_.useRef)(null),l=vi();(0,_.useEffect)(()=>{if(!l)return;let e=c.current;if(!e||typeof IntersectionObserver>`u`)return;let t=new IntersectionObserver(e=>{let t=e[0];t&&K({type:`SET_HERO_SCROLLED`,scrolled:!t.isIntersecting})},{threshold:0,rootMargin:`-64px 0px 0px 0px`});return t.observe(e),()=>{t.disconnect(),K({type:`SET_HERO_SCROLLED`,scrolled:!1})}},[l]);let u=()=>K({type:`OPEN_MODAL`,kind:`current-week`}),d=(0,q.jsx)(Wi,{source:t,env:e,ctx:s,verdict:i,heroLabel:a});return(0,q.jsxs)(`section`,{ref:c,className:`hero-strip`,role:`region`,tabIndex:0,"aria-label":Hi[t],"data-hero-strip":``,"data-source":t,onClick:Oi(u),onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},children:[(0,q.jsx)(`h2`,{className:`sr-only`,children:Hi[t]}),d,(0,q.jsx)(Ni,{})]})}function Wi({source:e,env:t,ctx:n,verdict:r,heroLabel:i}){let a=t?.header,o=t?.current_week??null,s=fi(e,`claude`),c=fi(e,`codex`),l=Ki(t);if(e===`claude`){let e=en(t,`claude`).entry,c=zt(e),u=s.requestedKey==null?null:c?.find(e=>e.accountKey===s.requestedKey)??null,d=c!=null&&u==null,f=qi(u?.resetsAt,l),p=c?.reduce((e,t)=>e+t.spendUsd,0)??null;return(0,q.jsx)(Qi,{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:f,spentUsd:u==null?d?p:o?.spent_usd:u.spendUsd,dollarPerPct:c==null?a?.dollar_per_pct:null,forecastPct:c==null?a?.forecast_pct:null,vsLastWeekDelta:c==null?a?.vs_last_week_delta:null,freshness:c==null?o?.freshness??null:null,ctx:n,verdict:c==null?r:null,heroLabel:i,showFiveHour:!d&&(u?.fiveHourPercent!=null||c==null),perAccountNote:d?`per account`:null,withheldUsedPct:u!=null&&u.weeklyPercent==null})}let u=en(t,`codex`).entry,d=u?.data,f=d?.hero.cycle,p=zt(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?an(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),v=u?.capabilities?.hero?.status===`unavailable`||d?.hero?.cost_usd==null,y=d?.hero?.cycle_freshness===`stale`,b=Ri(d?.ingest_backlog),x=zi(d?.ingest_backlog),S=Bi(d?.ingest_backlog),C=Vr(u?.warnings,`hero`),w=m?.histories.find(e=>e.key===g?.key)?.forecast,T=qi(g?.current.resets_at,l),E=g?Date.parse(g.current.captured_at):NaN,D=Number.isFinite(E)?Math.max(0,(Date.now()-E)/1e3):null,O=Ti(D),k=g?.current.current_percent??null,A=v?null:d?.hero.cost_usd,j=A!=null&&k!=null&&k>0?A/k:null,M=d?.hero.cycle?.start_at?Date.parse(d.hero.cycle.start_at):NaN,N=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(M)&&Number.isFinite(t)&&t<=M}).sort((e,t)=>Date.parse(t.end_at??``)-Date.parse(e.end_at??``))[0]?.dollar_per_pct??null,P=j!=null&&N!=null?j-N:null,F=w?.status===`ok`?w.projected_percent:null,I=F==null?null:Si(F>=100?`capped`:F>=90?`cap`:`ok`),ee=g&&D!=null?{...g.current,label:O,age_seconds:D}:null,te=f?H.dateShort(f.start_at,n):null,L=f?H.dateShort(f.resets_at,n):null,ne=te&&L?`${te}–${L}`:te??L;if(e===`codex`){let e=c.scopesSupported&&c.accountKey==null,t=e?Ii(zt(u)):null,r=e?Li(zt(u)):null,i=e?null:c.card?.spendWindow??null;return(0,q.jsx)(Qi,{weekLabel:e?null:ne,usedPct:e?null:k,fiveHourPct:e?null:_?.current.current_percent,resetInSec:e?null:T,spentUsd:A,dollarPerPct:e?null:j,forecastPct:e?null:F,vsLastWeekDelta:e?null:P,freshness:e?null:ee,ctx:n,verdict:e?null:I,heroLabel:O,showFiveHour:!e&&_!=null,unavailableReason:!e&&v?C?.message??`Cycle accounting unavailable`:null,spentNote:Vi(e||!y?null:Pi,t,b),spentNoteLabel:Vi(t,x),spentNoteCompactLabel:r==null&&S==null?null:Vi(r??t,S??x),spentLabel:i==null?void 0:`SPENT · ${Je(i).toUpperCase()}`,spentLabelSpoken:i==null?void 0:`Spent over the ${Je(i)}`,perAccountNote:e?`per account`:null})}let R=en(t,`all`).entry,re=Gr(R??null),z=re.value!=null,B=z?null:re.unavailable,V=re.legs?.claude??null,ie=re.legs?.codex??null,ae=z?qr(re.contributors):`COMBINED · CURRENT CYCLES`,oe=z&&re.contributors.length>0?re.value:null,se=p&&c.accountKey==null,ce=en(t,`claude`).entry,le=zt(ce),ue=s.requestedKey==null?null:le?.find(e=>e.accountKey===s.requestedKey)??null,de=le!=null&&ue==null,fe=ue==null?de?null:a?.used_pct??null:ue.weeklyPercent,pe=le!=null&&fe==null,me=ue==null?V?.state===`current`?Ji(V.period,l):o?.reset_in_sec??null:qi(ue.resetsAt,l),he=ie?.state===`current`?Ji(ie.period,l):T;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`hero-zone hero-usage`,"data-testid":`shared-hero-usage`,children:[(0,q.jsxs)(`div`,{className:`hu-block`,"data-provider-block":`claude`,children:[(0,q.jsxs)(`div`,{className:`hu-label`,children:[`CLAUDE · WEEK`,de?(0,q.jsx)(`span`,{className:`hu-week`,children:` · per account`}):null]}),(0,q.jsx)(`div`,{className:pe?`hu-num is-blank`:`hu-num`,children:H.pct1(fe)}),(0,q.jsx)(Yi,{provider:`claude`,perAccount:de,resetInSec:me})]}),(0,q.jsxs)(`div`,{className:`hu-block`,"data-provider-block":`codex`,children:[(0,q.jsxs)(`div`,{className:`hu-label`,children:[`CODEX · 7-DAY CYCLE`,se?(0,q.jsx)(`span`,{className:`hu-week`,children:` · per account`}):null]}),(0,q.jsx)(`div`,{className:se?`hu-num is-blank`:`hu-num`,children:se?`—`:H.pct1(g?.current.current_percent)}),(0,q.jsx)(Yi,{provider:`codex`,perAccount:se,resetInSec:he})]})]}),(0,q.jsxs)(`div`,{className:`hero-zone hero-spent`,"data-testid":`shared-hero-spent`,title:B?.message,children:[(0,q.jsx)(`div`,{className:`hs-label`,"data-testid":`hero-combined-heading`,children:ae}),(0,q.jsx)(`div`,{className:oe==null?`hs-big is-blank`:`hs-big`,children:oe==null?`—`:H.usd0(oe.costUsd)}),(0,q.jsx)(`div`,{className:`hs-sub`,children:B==null?oe==null?z?(0,q.jsx)(`span`,{"data-testid":`hero-combined-no-data`,children:`no accounting in either current cycle`}):null:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{children:H.tokens(oe.totalTokens)}),` total tokens`]}):(0,q.jsx)(`span`,{className:`panel-degraded-chip`,"data-testid":`shared-hero-warning`,title:B.message,"aria-label":`Combined total withheld: ${B.message}`,children:`Combined withheld`})}),B==null?null:(0,q.jsx)(`div`,{className:`hs-sub hero-combined-reason`,"data-testid":`hero-combined-reason`,children:B.message}),re.qualifications.length>0?(0,q.jsx)(`div`,{className:`hs-sub hero-combined-qualifications`,children:re.qualifications.map(e=>(0,q.jsx)(`span`,{className:`chip hero-combined-qualification`,"data-testid":`hero-combined-qualification`,"data-code":e.code,title:e.message,"aria-label":e.message,children:Zi(e)},e.code+(e.provider??``)))}):null]}),(0,q.jsxs)(`div`,{className:`hero-zone hero-support`,"data-testid":`shared-hero-support`,children:[(0,q.jsxs)(`div`,{className:`sup-row`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`Claude · week to date`}),(0,q.jsx)(`span`,{className:`sup-v`,"data-testid":`hero-leg-claude`,children:(0,q.jsx)(Xi,{leg:V,perAccount:de,provider:`claude`})})]}),(0,q.jsxs)(`div`,{className:`sup-row`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`Codex · cycle to date`}),(0,q.jsx)(`span`,{className:`sup-v`,"data-testid":`hero-leg-codex`,children:(0,q.jsx)(Xi,{leg:ie,perAccount:se,provider:`codex`})})]})]})]})}var Gi={claude:`Claude`,codex:`Codex`};function Ki(e){let t=Date.parse(e?.generated_at??``);return Number.isFinite(t)?t:Date.now()}function qi(e,t){if(e==null)return null;let n=Date.parse(e);return Number.isFinite(n)?Math.max(0,(n-t)/1e3):null}function Ji(e,t){if(e==null)return null;let n=qi(e.end_at,t);return n!=null&&n>0?n:null}function Yi({provider:e,perAccount:t,resetInSec:n}){let r=Gi[e];return t?(0,q.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,q.jsx)(`span`,{children:`per account`})]}):n==null?null:(0,q.jsxs)(`div`,{className:`hu-reset`,"data-testid":`hero-${e}-reset`,children:[r,` resets in `,(0,q.jsx)(`span`,{children:H.ddhh(n)})]})}function Xi({leg:e,perAccount:t,provider:n}){return t?(0,q.jsx)(`span`,{className:`hero-per-account-value`,"data-testid":`hero-per-account-value`,title:`Each ${Gi[n]} account has its own cycle — independent spend is shown per account below.`,children:`per account`}):e==null||e.state===`empty`?(0,q.jsx)(`span`,{className:`hero-leg-no-data`,children:`no data`}):(0,q.jsx)(q.Fragment,{children:H.usd2(e.cost_usd)})}function Zi(e){return e.code===`codex_ingest_backlog`?`Codex still loading`:e.code===`provider_empty`?`${e.provider?Gi[e.provider]:`A provider`} no data`:`Qualified`}function Qi({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,spentNote:m=null,spentNoteLabel:h=null,spentNoteCompactLabel:g=null,spentLabel:_=`SPENT THIS WEEK`,spentLabelSpoken:v=Fi,perAccountNote:y=null,withheldUsedPct:b=!1}){let x=y==null?null:(0,q.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:y});return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`hero-zone hero-usage`,children:[(0,q.jsxs)(`div`,{className:`hu-block`,children:[(0,q.jsxs)(`div`,{className:`hu-label`,children:[`WEEK USAGE`,e?(0,q.jsxs)(`span`,{className:`hu-week`,children:[` · `,e]}):null]}),(0,q.jsx)(`div`,{className:`hu-num${t==null&&(y!=null||b)?` is-blank`:``}`,children:H.pct1(t)})]}),f&&(0,q.jsxs)(`div`,{className:`hu-block`,"data-testid":`hero-five-hour`,children:[(0,q.jsx)(`div`,{className:`hu-label`,children:`5-HOUR`}),(0,q.jsx)(`div`,{className:`hu-num hu-num--sm`,children:H.pct0(n)})]}),y==null?(0,q.jsxs)(`div`,{className:`hu-reset`,children:[`resets in `,(0,q.jsx)(`span`,{children:H.ddhh(r)})]}):(0,q.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,q.jsx)(`span`,{children:y})]})]}),(0,q.jsxs)(`div`,{className:`hero-zone hero-spent`,title:p??m??void 0,role:`group`,"aria-label":(()=>{let e=p??m;return e?`${v}. ${e}`:v===Fi?void 0:v})(),children:[(0,q.jsx)(`div`,{className:`hs-label`,children:_}),(0,q.jsx)(`div`,{className:`hs-big`,children:H.usd0(i)}),(0,q.jsx)(`div`,{className:`hs-sub`,children:x==null?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{children:H.usd2(a)}),` / 1% used`]}):(0,q.jsxs)(q.Fragment,{children:[`$ / 1% used `,x]})}),p==null&&h!=null?(0,q.jsxs)(`div`,{className:`hs-sub`,"data-testid":`hero-spent-note`,"aria-hidden":`true`,children:[(0,q.jsx)(`span`,{className:g==null?`hero-spent-note-text`:`hero-spent-note-text hero-ingest-backlog-label-full`,children:h}),g==null?null:(0,q.jsx)(`span`,{className:`hero-ingest-backlog-label-compact`,children:g})]}):null]}),(0,q.jsxs)(`div`,{className:`hero-zone hero-support`,children:[(0,q.jsxs)(`div`,{className:`sup-row`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`Forecast @ reset`}),(0,q.jsx)(`span`,{className:`sup-v${l?` is-${l.cls}`:``}`,children:x??H.pct0(o)})]}),(()=>{let e=s;if(e==null)return(0,q.jsxs)(`div`,{className:`sup-row`,"data-metric":`vs-last-week`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`$/1% vs last week`}),(0,q.jsx)(`span`,{className:`sup-v`,children:x??`—`})]});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=H.usd2(Math.abs(e));return(0,q.jsxs)(`div`,{className:`sup-row`,"data-metric":`vs-last-week`,"aria-label":t?`$/1% flat versus last week`:`$/1% ${a} ${o} versus last week`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`$/1% vs last week`}),(0,q.jsxs)(`span`,{className:`sup-v`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,style:{color:i},children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${r}`})}),(0,q.jsx)(`span`,{children:t?`flat`:o})]})]})})(),d&&(0,q.jsxs)(`div`,{className:`sup-row`,children:[(0,q.jsx)(`span`,{className:`sup-l`,children:`Snapshot`}),(0,q.jsxs)(`span`,{className:`sup-v sup-fresh chip-${u}`,"data-freshness":u,title:`Captured ${H.datetimeShort(d.captured_at,c)}`+(u===`stale`?` · stale`:``),children:[u===`stale`?`⚠ stale · `:``,Dr(d.age_seconds)]})]})]})]})}function $i(){let e=(W().snapshot?.sessions?.rows??[])[0]?.session_id;e&&K({type:`OPEN_MODAL`,kind:`session`,sessionId:e})}function ea(){let e=W().snapshot?.blocks?.rows??[];e.length!==0&&K({type:`OPEN_MODAL`,kind:`block`,blockStartAt:(e.find(e=>e.is_active)??e[0]).start_at})}function ta(e){let{searchMatches:t,searchIndex:n}=W();if(t.length===0)return;let r=t.length;K({type:`SET_SEARCH_MATCHES`,matches:t,index:((n<0?0:n)+e+r)%r})}var na=`Can't close this tab — use your browser to close it.`;function ra(){try{window.close()}catch{}window.setTimeout(()=>{window.closed||K({type:`SHOW_STATUS_TOAST`,text:na})},100)}function ia(){return(0,q.jsxs)(`footer`,{className:`footer`,children:[(0,q.jsxs)(`span`,{className:`kb`,children:[(0,q.jsx)(`kbd`,{children:`↑/↓`}),` scroll`]}),(0,q.jsxs)(`span`,{className:`kb`,children:[(0,q.jsx)(`kbd`,{className:`accent-green`,children:`tab`}),` next panel`]}),(0,q.jsxs)(`button`,{className:`kb-btn`,id:`footer-r`,type:`button`,onClick:()=>oi(),children:[(0,q.jsx)(`kbd`,{className:`accent-purple`,children:`r`}),` refresh`]}),(0,q.jsxs)(`button`,{className:`kb-btn`,id:`footer-s`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`s`})),children:[(0,q.jsx)(`kbd`,{children:`s`}),` settings`]}),(0,q.jsxs)(`button`,{className:`kb-btn`,id:`footer-help`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`?`})),children:[(0,q.jsx)(`kbd`,{className:`accent-amber`,children:`?`}),` help`]}),(0,q.jsxs)(`button`,{className:`kb-btn`,id:`footer-q`,type:`button`,onClick:()=>ra(),children:[(0,q.jsx)(`kbd`,{children:`q`}),` quit`]})]})}var aa=new Set,oa=null,sa={overlay:0,modal:1,sessions:2,global:3};function ca(e){return e===`modal`||e===`overlay`?`any`:`dashboard`}function la(e){if(!e||!(e instanceof Element))return!1;let t=e.tagName;if(t===`INPUT`||t===`TEXTAREA`)return!0;if(e instanceof HTMLElement){if(e.isContentEditable)return!0;let t=e.getAttribute(`contenteditable`);if(t===``||t===`true`||t===`plaintext-only`)return!0}return!1}function ua(e){return e.forEach(e=>aa.add(e)),()=>e.forEach(e=>aa.delete(e))}function da(e){if(e.ctrlKey||e.metaKey||e.altKey||la(e.target)&&e.key.length===1)return;let t=W().view,n=[...aa].sort((e,t)=>{let n=sa[e.scope]-sa[t.scope];return n===0?(t.layer??0)-(e.layer??0):n});for(let r of n){if(r.key!==e.key)continue;let n=r.view??ca(r.scope);if(!(n!==`any`&&n!==t)&&!(r.when&&!r.when())){r.action(),e.preventDefault();return}}}function fa(){oa||(oa=da,document.addEventListener(`keydown`,oa))}function pa(e){(0,_.useEffect)(()=>ua(e),[e])}var ma=[`a[href]`,`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`summary`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function ha(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 ga(e){return Array.from(e.querySelectorAll(ma)).filter(e=>!e.hasAttribute(`disabled`)&&!ha(e))}function _a(e,{active:t,trapEnabled:n=!0,triggerId:r,initialFocus:i=`first`}){(0,_.useEffect)(()=>{if(!t)return;let n=(r?document.getElementById(r):null)??document.activeElement,a=e.current;return a&&(i===`container`?a.focus():i===`heading`?(a.querySelector(`[data-modal-heading], #modal-title, h2`)??ga(a)[0]??a).focus():(ga(a)[0]??a).focus()),()=>{if(n&&typeof n.focus==`function`&&document.contains(n))n.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[t,r,i]),(0,_.useEffect)(()=>{if(!t||!n)return;function r(t){if(t.key!==`Tab`)return;let n=e.current;if(!n||!n.contains(document.activeElement))return;let r=ga(n);if(r.length===0){t.preventDefault(),n.focus();return}let i=r[0],a=r[r.length-1],o=document.activeElement;(o?r.indexOf(o):-1)===-1?(t.preventDefault(),(t.shiftKey?a:i).focus()):t.shiftKey&&o===i?(t.preventDefault(),a.focus()):!t.shiftKey&&o===a&&(t.preventDefault(),i.focus())}return document.addEventListener(`keydown`,r,!0),()=>document.removeEventListener(`keydown`,r,!0)},[t,n])}var va=0,ya=``,ba=``;function xa(e){(0,_.useEffect)(()=>{if(e){if(va===0){let e=document.documentElement;ya=e.style.overflow,ba=document.body.style.overflow,e.style.overflow=`hidden`,document.body.style.overflow=`hidden`}return va+=1,()=>{--va,va===0&&(document.documentElement.style.overflow=ya,document.body.style.overflow=ba)}}},[e])}function Sa(){return(0,q.jsx)(`span`,{className:`panel-grip`,"aria-hidden":`true`,"data-card-region-ignore":!0,children:`⋮⋮`})}var Ca={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 wa(e,t){return Ca[e].has(t)}var Ta={claude:`Claude`,codex:`Codex`,all:`All`};function Ea({panel:e,panelLabel:t,onClick:n,triggerId:r,dataTestId:i}){return wa((0,_.useSyncExternalStore)(G,()=>W().activeSource),e)?(0,q.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,q.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,children:[(0,q.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,q.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 Da({label:e,onOpen:t,disabled:n=!1}){let r=e=>{e.stopPropagation(),!n&&t()},i=`${e}: nothing to open yet`;return(0,q.jsx)(`button`,{type:`button`,className:`panel-expand`,"aria-label":n?i:`Open ${e}`,title:n?i:`Expand`,onClick:r,disabled:n,children:(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`⤢`})})}function Oa(e){let t=e.trim();return t.replace(/^claude-/i,``).replace(/-\d{8}$/,``)||t}var ka=137.50776405003785,Aa=[.48,.56],ja=[.14,.18],Ma=96,Na=`#f8fafc`,Pa=`#090b10`;function Fa(e){return e?.trim()?e.trim().toLowerCase().replace(/\[[^\]]+\]$/,``).replace(/-\d{8}$/,``):``}function Ia(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 La(e){return Math.min(1,Math.max(0,e))}function Ra(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function za(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Ba(e){return Math.round(La(e)*255).toString(16).padStart(2,`0`)}function Va(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=Ra(4.0767416621*l-3.3077115913*u+.2309699292*d),p=Ra(-1.2684380046*l+2.6097574011*u-.3413193965*d),m=Ra(-.0041960863*l-.7034186147*u+1.707614701*d);return`#${Ba(f)}${Ba(p)}${Ba(m)}`}function Ha(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 Ua(e){let[t,n,r]=Ha(e).map(za),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 Wa(e,t){let n=Ua(e),r=Ua(t);return Math.hypot(n.l-r.l,n.a-r.a,n.b-r.b)}function Ga(e){let[t,n,r]=Ha(e).map(za);return .2126*t+.7152*n+.0722*r}function Ka(e,t){let n=Ga(e),r=Ga(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function qa(e){let t=Ia(e)%360,n=[],r=new Set;for(let e=0;e<Ma;e+=1){let i=(t+e*ka)%360,a=Aa[e%Aa.length],o=ja[Math.floor(e/Aa.length)%ja.length],s=Va(a,o,i);r.has(s)||(r.add(s),n.push(s))}return n}function Ja(e){return Ka(e,Na)>=Ka(e,Pa)?Na:Pa}function Ya(){let e=new Map;return{styleFor(t){let n=Fa(t);if(!n)return;let r=e.get(n);if(r)return r;let i=[...e.values()].map(e=>e.backgroundColor),a=qa(n),o=a[0],s=-1;if(i.length>0)for(let e of a){let t=Math.min(...i.map(t=>Wa(e,t)));t>s&&(o=e,s=t)}let c={backgroundColor:o,color:Ja(o)};return e.set(n,c),c}}}function Xa(e){return e?e.includes(`opus`)?`opus`:e.includes(`sonnet`)?`sonnet`:e.includes(`haiku`)?`haiku`:e.includes(`fable`)?`fable`:`other`:`other`}var Za=Ya();function Qa(e){return Za.styleFor(e)}function $a(e,t=2){let n=new Set,r=[];for(let t of e){let e=Fa(t);if(!e||n.has(e))continue;n.add(e);let i=Xa(t),a=Oa(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 eo={weekly:12,monthly:8},to=30;function no(e){return e===`claude`?`Claude`:`Codex`}function ro(e,t){return e?.sources?.[t]??null}function io(e,t,n,r,i,a){let o=ro(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=>Ur(o,e)===`stale`);if(n==null){let e=o?.availability===`empty`?`empty`:`unavailable`;return{source:t,label:no(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:no(t),status:`degraded`,reason:s?.message??(l==null?o?.capabilities[c]?.semantics??a:o?.domain_freshness==null?`${no(t)} data is stale.`:`${no(t)} ${l} data is stale.`),value:n}:{source:t,label:no(t),status:`available`,reason:null,value:n}}function ao(e){return e===`all`?[`claude`,`codex`]:[e]}var oo={state:`withheld`,code:`rows_absent`};function so(e){return e.provider==null?{state:`withheld`,code:e.code}:{state:`withheld`,code:e.code,provider:e.provider}}function co(e,t){let n=e?.sources?.all?.data?.aggregates,r=n?.[t];return n==null||r==null||typeof r.state!=`string`?{withheld:oo}:r.state===`withheld`?{withheld:so(r)}:{available:r.qualifications??[]}}function lo(e){return e?.sources?.all?.data?.aggregates?.range??null}function uo(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 fo(e,t){return e>0?[{model:t,display:t===`claude`?`Claude`:`Codex`,chip:t===`claude`?`opus`:`other`,cost_usd:e,cost_pct:100}]:[]}function po(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:Xa(r),cost_usd:i,cost_pct:e>0?i/e*100:0}]})}function mo(e,t,n){let r=po(e.cost_usd,e.model_breakdowns,!0),i=r.length>0?r:fo(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 ho(e,t,n){let r=uo(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)=>mo(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=eo[n];return[...a.slice(0,e),...o.slice(0,e)]}return(t===`codex`?o:a).slice(0,eo[n])}function go(e){return/^\d{4}-\d{2}-\d{2}$/.test(e)?e:/^\d{2}-\d{2}$/.test(e)?`${new Date().getFullYear()}-${e}`:e}function _o(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 vo(e){let t=go(e.label),n=po(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:fo(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 yo(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 bo(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?yo(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 xo(e,t){let n=uo(e,t),r=[...n.codex?.periods?.daily?.rows??[]].sort((e,t)=>t.label.localeCompare(e.label)).map(vo);if(t===`claude`)return{state:`available`,range:null,qualifications:[],rows:(e?.daily?.rows??[]).slice(0,to)};if(t===`codex`)return{state:`available`,range:null,qualifications:[],rows:_o(bo(r,e?.daily?.rows??[],`codex`)).slice(0,to)};let i=co(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 oo;let s=a,c=new Map;for(let e of[...a,...r]){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:lo(e),qualifications:i.available,rows:_o(bo(l,s)).slice(0,to)}}function So(e,t){if(t==null||t===``)return{claude:null,codex:null};let n=uo(e,`all`),r=(n.claude?.periods.daily_aggregate?.rows??[]).find(e=>e.date===t)??null,i=(n.codex?.periods.daily.rows??[]).map(vo).find(e=>e.date===t)??null;return{claude:r==null?null:{...r,source:`claude`},codex:i}}function Co(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 wo(e,t,n){return{source:e,label:no(e),rows:t.map(t=>({...t,source:e})),historyRows:n.map(t=>({...t,source:e}))}}function To(e,t){if(t===`claude`){let n=e?.trend?.weeks??[];return{rows:n,sections:[wo(`claude`,n,e?.trend?.history??n)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}if(t===`all`){let n=e?.trend?.weeks??Co(ho(e,`claude`,`weekly`),`claude`),r=e?.trend?.history??n,i=Co(ho(e,`codex`,`weekly`),`codex`);return{rows:[],sections:[wo(`claude`,n,r),wo(`codex`,i,i)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}let n=Co(ho(e,`codex`,`weekly`),`codex`);return{rows:n,sections:[wo(`codex`,n,n)],title:`$/1% Trend`,chartLabel:`$/1% trend:`,valueLabel:`$/1%`,source:t}}function Eo(e){return new Set((e?.summary.active??[]).map(e=>e.key))}function Do(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=uo(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&&Eo(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 Oo(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&&Eo(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 ko(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}}function Ao(e,t){let n=uo(e,t);return{selection:t,sections:ao(t).map(t=>{let r=t===`claude`?n.claude:n.codex;return io(e,t,r==null?null:ko(r.budget),[`budget`],[],`${no(t)} budget is unavailable.`)})}}function jo(e,t){return{selection:t,sections:ao(t).map(t=>{let n=Do(e,t),r=((t===`codex`?uo(e,t).codex:null)?.quota.histories??[]).filter(e=>!e.model_scoped),i=r.find(e=>e.window_minutes===10080)?.forecast??r[0]?.forecast,a=io(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`],`${no(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 Mo(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 No(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 Po(e,t){let n=uo(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:lo(e),qualifications:[],rows:No(Mo(n))};let r=co(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 oo;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:lo(e),qualifications:r.available,rows:No([...o,...Mo(n)])}}function Fo(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:po(e.cost_usd,e.model_breakdowns),label:e.label,value:e.cost_usd,valueLabel:`$${e.cost_usd.toFixed(2)}`}}function Io(e,t){let n=uo(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`,value:e.cost_usd,valueLabel:`$${e.cost_usd.toFixed(2)}`})),i=(n.codex?.quota.blocks??[]).filter(e=>e.window_minutes===300).map(Fo);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 Lo(e){return[`claude`,`codex`].map(t=>{let n=e.filter(e=>e.source===t);return{source:t,label:no(t),count:n.length,cost:n.reduce((e,t)=>e+t.value,0)}})}function Ro(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 zo(e,t){return{selection:t,sections:ao(t).map(t=>{let n=io(e,t,t===`claude`?e?.cache_report??null:uo(e,t).codex?.cache_report??null,[`forensics`],[`sessions`],`${no(t)} cache report is unavailable.`);return n.value?.is_empty&&n.status===`available`?{...n,status:`empty`,value:null,reason:`No ${no(t)} cache activity is available for this window.`}:n})}}function Bo({source:e}){return(0,q.jsx)(`span`,{className:`source-chip source-chip--${e}`,"data-source":e,children:e===`claude`?`Claude`:`Codex`})}function Vo({gate:e}){let t=e.noSuccessYet?`no successful snapshot yet`:e.warning?.message??`degraded`,n=e.noSuccessYet?`no snapshot`:`partial`;return(0,q.jsx)(`span`,{className:`panel-degraded-chip`,role:`status`,title:t,"aria-label":`Degraded: ${t}`,children:n})}var Ho={claude:`cctally budget set <amount>`,codex:`cctally budget set <amount> --vendor codex`},Uo=`No budget set.`,Wo=`No provider-wide budget set.`,Go={ok:`good`,warn:`warn`,over:`over`};function Ko({source:e,disposition:t}){return t===`account_budgets_only`?(0,q.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,q.jsx)(`p`,{className:`budget-empty-copy`,children:Wo}),(0,q.jsx)(`p`,{className:`budget-empty-hint`,children:`Per-account budgets are configured — see the account cards.`})]}):t===`provider_budget_unset`?(0,q.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:[(0,q.jsx)(`p`,{className:`budget-empty-copy`,children:Uo}),(0,q.jsx)(`p`,{className:`budget-empty-hint`,children:(0,q.jsx)(`code`,{className:`budget-empty-cmd`,children:Ho[e]})})]}):(0,q.jsx)(`div`,{className:`budget-empty`,"data-testid":`budget-empty-${e}`,children:(0,q.jsx)(`p`,{className:`budget-empty-copy`,children:`No budget status to show.`})})}function qo({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,q.jsxs)(`div`,{className:`budget-empty`,"data-testid":`budget-unavailable-${e}`,children:[o!=null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`budget-figures`,children:[(0,q.jsx)(`span`,{className:`budget-target is-lone`,"data-testid":`budget-target-${e}`,children:n?H.usd2(o):H.usd0(o)}),(0,q.jsx)(`span`,{className:`budget-of`,children:`configured`}),s!=null&&(0,q.jsx)(`span`,{className:`budget-period-chip`,"data-testid":`budget-period-${e}`,children:s})]}),(0,q.jsx)(`div`,{className:`budget-window-unresolved`,"data-testid":`budget-window-${e}`,children:`window unresolved`})]}),(0,q.jsx)(`p`,{className:`budget-empty-copy`,children:a}),i.message!==``&&(0,q.jsx)(`p`,{className:`budget-empty-hint`,"data-testid":`budget-message-${e}`,children:i.message}),(0,q.jsx)(`p`,{className:`budget-empty-hint`,"data-testid":`budget-reason-${e}`,children:r})]})}function Jo({source:e,presentation:t,detailed:n,ctx:r}){let i=t.status,a=Go[i.verdict]??`good`,o=Math.min(100,Math.max(0,i.consumption_pct));return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`budget-figures`,children:[(0,q.jsx)(`span`,{className:`budget-spend`,"data-testid":`budget-spend-${e}`,children:n?H.usd2(i.spent_usd):H.usd0(i.spent_usd)}),(0,q.jsx)(`span`,{className:`budget-of`,children:`of`}),(0,q.jsx)(`span`,{className:`budget-target`,"data-testid":`budget-target-${e}`,children:n?H.usd2(i.budget_usd):H.usd0(i.budget_usd)}),(0,q.jsx)(`span`,{className:`budget-period-chip`,"data-testid":`budget-period-${e}`,children:i.period})]}),(0,q.jsx)(`div`,{className:`budget-bar is-${a}`,role:`presentation`,children:(0,q.jsx)(`div`,{className:`budget-bar-fill`,style:{width:`${o}%`}})}),(0,q.jsxs)(`div`,{className:`budget-verdict-line`,children:[(0,q.jsx)(`span`,{className:`budget-consumption`,"data-testid":`budget-consumption-${e}`,children:n?H.pct1(i.consumption_pct):H.pct0(i.consumption_pct)}),(0,q.jsx)(`span`,{className:`budget-verdict-chip is-${a}`,"data-testid":`budget-verdict-${e}`,children:i.verdict}),i.low_confidence&&(0,q.jsx)(`span`,{className:`budget-lowconf`,"data-testid":`budget-lowconf-${e}`,children:`low confidence`})]}),(0,q.jsxs)(`div`,{className:`fc-budget-foot budget-foot`,children:[(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Budget pace`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-pace-${e}`,children:H.usd2PerDay(i.pace.daily_usd)})]}),n&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Remaining`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:H.usd2(i.remaining_usd)})]}),(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Projection`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-projection-${e}`,children:i.pace.projected_low_usd==null||i.pace.projected_high_usd==null?`—`:`${H.usd2(i.pace.projected_low_usd)} – ${H.usd2(i.pace.projected_high_usd)}`})]}),(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Recent-24h`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:H.usd2(i.recent_24h_usd)})]}),(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Alert thresholds`}),(0,q.jsx)(`span`,{className:`fc-foot-v`,"data-testid":`budget-thresholds-${e}`,children:i.alert_thresholds.length===0?`—`:i.alert_thresholds.map(e=>`${e}%`).join(` · `)})]}),(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:`Period`}),(0,q.jsxs)(`span`,{className:`fc-foot-v`,"data-testid":`budget-window-${e}`,children:[H.datetimeShort(i.window_start_at,r),` → `,H.datetimeShort(i.window_end_at,r)]})]})]})]})]})}function Yo({section:e,surface:t,ctx:n}){let r=`budget-${t}-${e.source}-heading`,i=e.value;return(0,q.jsxs)(`div`,{className:`source-provider-section provider-summary-card budget-provider-summary`,"data-budget-section":e.source,"data-surface":t,role:`region`,"aria-labelledby":r,children:[(0,q.jsxs)(`div`,{className:`source-provider-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:r,children:[e.label,` budget`]}),(0,q.jsx)(Bo,{source:e.source}),(0,q.jsx)(`strong`,{className:`budget-block-title`,children:`Budget`}),e.status!==`available`&&i==null&&(0,q.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),i==null?(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}):i.state===`configured`?(0,q.jsx)(Jo,{source:e.source,presentation:i,detailed:t===`modal`,ctx:n}):i.state===`not_configured`?(0,q.jsx)(Ko,{source:e.source,disposition:i.disposition}):(0,q.jsx)(qo,{source:e.source,presentation:i,detailed:t===`modal`}),i!=null&&e.reason!=null&&(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason})]})}function Xo({env:e,selection:t,surface:n}){let r=bi(),i={tz:r.resolvedTz,offsetLabel:r.offsetLabel};return(0,q.jsx)(q.Fragment,{children:Ao(e,t).sections.map(e=>(0,q.jsx)(Yo,{section:e,surface:n,ctx:i},e.source))})}function Zo(){return(0,q.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 Qo({section:e,perAccount:t,env:n}){let r=e.value==null,i=e.value??Do(n,e.source),a=t||r?null:Si(i.verdict),o=a?.cls??`good`,s=t?i.foot.filter(e=>e.label!==`Confidence`):i.foot;return(0,q.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,q.jsxs)(`div`,{className:`source-provider-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`forecast-panel-${e.source}-heading`,children:[e.label,` forecast`]}),(0,q.jsx)(Bo,{source:e.source}),e.status!==`available`&&!t&&!r&&(0,q.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),(0,q.jsxs)(`div`,{className:`provider-summary-kpis`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`provider-summary-label`,children:i.primaryLabel}),(0,q.jsx)(`strong`,{className:`provider-summary-value is-${o}`,children:t?(0,q.jsx)(Zo,{}):o===`over`&&i.projected!=null?`≥100%`:H.pct1(i.projected)})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`provider-summary-label`,children:t?`Current quota`:i.recentLabel}),(0,q.jsx)(`strong`,{className:`provider-summary-value`,children:t?(0,q.jsx)(Zo,{}):H.pct1(i.recent)})]})]}),a&&(0,q.jsxs)(`span`,{className:`fc-verdict-chip is-${o}`,children:[(0,q.jsx)(`span`,{className:`fc-verdict-glyph`,"aria-hidden":`true`,children:a.glyph}),` `,a.label]}),e.reason&&!t&&(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}),s.length>0&&(0,q.jsx)(`div`,{className:`fc-budget-foot`,children:s.map(e=>(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:e.label}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:e.value})]},e.label))})]})}function $o(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=fi(t,di(t)),r=jo(e,t),i=t===`all`?zt(e?.sources?.codex??null)!=null&&n.accountKey==null:n.scopesSupported&&n.accountKey==null;if(t===`all`)return(0,q.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:Oi(()=>K({type:`OPEN_MODAL`,kind:`forecast`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,q.jsxs)(`h2`,{children:[`Forecast `,(0,q.jsx)(`span`,{className:`sub`,children:`by provider`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>K(gt(`forecast`,`forecast-panel`))}),(0,q.jsx)(Da,{label:`Forecast`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`forecast`})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`panel-body source-all-sections provider-composition provider-composition--panel`,children:[r.sections.map(t=>(0,q.jsx)(Qo,{section:t,env:e,perAccount:t.source===`codex`&&i},t.source)),(0,q.jsx)(Xo,{env:e,selection:`all`,surface:`panel`})]})]});let a=Do(e,t),o=t===`codex`&&i,s=o?null:Si(a.verdict),c=s?.cls??`good`,l=!!s?.warn,u=c===`over`&&a.projected!=null?`≥100%`:H.pct1(a.projected);return(0,q.jsxs)(`section`,{className:`panel accent-purple fc-tile fc-esc-${c}${l?` fc-accent-edge`:``}`,id:`panel-forecast`,role:`region`,"aria-label":`Forecast panel`,"data-panel-kind":`forecast`,"data-source":t,onClick:Oi(()=>K({type:`OPEN_MODAL`,kind:`forecast`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,q.jsx)(`h2`,{children:`Forecast`}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>K(gt(`forecast`,`forecast-panel`))}),(0,q.jsx)(Da,{label:`Forecast`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`forecast`})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`panel-body fc-body`,children:[(0,q.jsxs)(`div`,{className:`fc-hero`,children:[(0,q.jsx)(`div`,{className:`fc-eyebrow`,children:a.primaryLabel}),(0,q.jsx)(`div`,{className:`fc-num is-${c}${o?` is-blank`:``}`,children:o?(0,q.jsx)(Zo,{}):u}),s&&(0,q.jsxs)(`span`,{className:`fc-verdict-chip is-${c}`,children:[(0,q.jsx)(`span`,{className:`fc-verdict-glyph`,"aria-hidden":`true`,children:s.glyph}),` `,s.label]})]}),(0,q.jsx)(`div`,{className:`fc-pace is-${c}`,role:`presentation`,children:(0,q.jsx)(`div`,{className:`fc-pace-fill`,style:{width:`${o?0:Math.min(100,Math.max(0,a.projected??0))}%`}})}),(0,q.jsxs)(`div`,{className:`fc-budget-foot`,children:[(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:o?`Current quota`:a.recentLabel}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:o?(0,q.jsx)(Zo,{}):H.pct1(a.recent)})]}),(o?a.foot.filter(e=>e.label!==`Confidence`):a.foot).map(e=>(0,q.jsxs)(`div`,{className:`fc-foot-line`,children:[(0,q.jsx)(`span`,{className:`fc-foot-k`,children:e.label}),(0,q.jsx)(`span`,{className:`fc-foot-v`,children:e.value})]},e.label))]}),(0,q.jsx)(`div`,{className:`fc-budget-block`,children:(0,q.jsx)(Xo,{env:e,selection:t,surface:`panel`})})]})]})}function es({data:e}){let t=e.map(e=>e.spark_height??0),n=Math.max(1,...t);return(0,q.jsx)(q.Fragment,{children:t.map((r,i)=>{let a=i===t.length-1,o={height:`${Math.max(6,r/n*100)}%`};return a&&(o.background=`color-mix(in srgb, var(--accent-purple) 70%, white 30%)`),(0,q.jsx)(`div`,{className:`bar`,style:o},e[i].label+`|`+i)})})}function ts(e,t){return!e||!t?`↕`:t===`asc`?`▲`:`▼`}function ns(e,t){return!e||!t?`none`:t===`asc`?`ascending`:`descending`}function rs({columns:e,override:t,onChange:n,accentVar:r,grid:i}){let a=e=>n(dt(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,q.jsx)(`thead`,{role:i?`rowgroup`:void 0,children:(0,q.jsx)(`tr`,{role:i?`row`:void 0,children:e.map(e=>{if(e.sortable===!1)return(0,q.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,q.jsx)(`th`,{className:c,role:`columnheader`,"aria-sort":ns(n,a),tabIndex:0,"data-col":e.id,title:e.title,style:l,onClick:o(e),onKeyDown:s(e),children:(0,q.jsxs)(`button`,{type:`button`,className:`th-sort-btn`,tabIndex:-1,children:[(0,q.jsx)(`span`,{className:`th-label`,children:e.label}),(0,q.jsx)(`span`,{className:`th-caret`+(n?``:` th-caret--rest`),"aria-hidden":`true`,children:ts(n,a)})]})},e.id)})})})}function is({lines:e=3,label:t=`Loading`}){return(0,q.jsxs)(`div`,{className:`panel-skeleton`,children:[(0,q.jsx)(`span`,{className:`sr-only`,role:`status`,"aria-live":`polite`,children:`${t}…`}),Array.from({length:e}).map((t,n)=>(0,q.jsx)(`div`,{className:`skel skel-line${n===e-1?` short`:``}`,"aria-hidden":`true`},n))]})}var as=[{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`}];function os({labels:e}){return!e||e.length===0?null:(0,q.jsx)(`span`,{className:`period-account-chips`,"aria-label":`Accounts: ${e.join(`, `)}`,children:e.map(e=>(0,q.jsx)(`span`,{className:`period-account-chip`,title:`Weekly cycle owned by ${e}`,children:e},e))})}var ss=as.filter(e=>e.id!==`cost_usd`);function cs(e){if(e.length===0)return`$/1% trend: no data`;let t=e[e.length-1],n=e.length>1?e[e.length-2]:null,r=t.dollar_per_pct==null?`n/a`:H.usd2(t.dollar_per_pct),i=``;if(n&&t.dollar_per_pct!=null&&n.dollar_per_pct!=null){let e=t.dollar_per_pct-n.dollar_per_pct;i=Math.abs(e)<.005?`, flat vs prior week`:e>0?`, up vs prior week`:`, down vs prior week`}return`$/1% trend over ${e.length} weeks; latest ${r}${i}`}function ls({section:e,trendOverride:t,composed:n}){let r=e.rows.map(e=>({...e,spark_height:e.dollar_per_pct??0})),i=r.map((e,t)=>({...e,_chronoIdx:t})),a=ss,o=t?ut(i,a,t):i,s=cs(r),c=n?`trend-spark-${e.source}`:`trend-spark`;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`trend-chart`,children:[(0,q.jsx)(`div`,{className:`trend-spark-title`,children:`$/1% trend:`}),(0,q.jsx)(`div`,{className:`trend-spark`,id:c,role:`img`,"aria-label":`${e.label} ${s}`,style:{gridTemplateColumns:`repeat(${Math.max(1,r.length)}, 1fr)`},children:(0,q.jsx)(es,{data:r})}),(0,q.jsxs)(`div`,{className:`trend-spark-legend`,children:[(0,q.jsx)(`span`,{children:`older`}),(0,q.jsx)(`span`,{className:`line`}),(0,q.jsx)(`span`,{children:`▶ newer`})]})]}),(0,q.jsx)(`div`,{className:`trend-table-wrap`,children:(0,q.jsxs)(`table`,{className:`trend-table`,children:[(0,q.jsx)(rs,{columns:a,override:t,onChange:e=>K({type:`SET_TABLE_SORT`,table:`trend`,override:e}),accentVar:`--accent-amber`}),(0,q.jsx)(`tbody`,{id:n?`trend-rows-${e.source}`:`trend-rows`,children:o.map(t=>(0,q.jsxs)(`tr`,{className:t.is_current?`current`:void 0,children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(os,{labels:t.account_labels}),t.label]}),(0,q.jsx)(`td`,{className:`num`,children:H.pct0(t.used_pct)}),(0,q.jsx)(`td`,{className:`num`+(t.is_current?``:` dollar`),children:H.usd2(t.dollar_per_pct)}),(0,q.jsx)(`td`,{className:`num `+H.deltaCls(t.delta,t.is_current),children:H.delta(t.delta)})]},`${e.source}:${t.label}`))})]})})]})}function us(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=To(e,t),r=(0,_.useSyncExternalStore)(G,()=>W().prefs.trendSortOverride),i=n.sections.reduce((e,t)=>e+t.rows.length,0),a=uo(e,t).hydrating&&i===0,o=n.sections[0],s=t===`all`?`(Claude ${n.sections[0]?.rows.length??0}w · Codex ${n.sections[1]?.rows.length??0}c)`:`(${o?.rows.length??0} week${o?.rows.length===1?``:`s`})`;return(0,q.jsxs)(`section`,{className:`panel accent-amber`,id:`panel-trend`,role:`region`,"aria-label":`$/1% Trend panel`,"data-panel-kind":`trend`,"data-source":t,onClick:Oi(()=>K({type:`OPEN_MODAL`,kind:`trend`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,q.jsxs)(`h2`,{children:[n.title,` `,(0,q.jsx)(`span`,{className:`sub`,children:a?`(loading)`:s})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`trend`,panelLabel:`Trend`,triggerId:`trend-panel`,onClick:()=>K(gt(`trend`,`trend-panel`))}),(0,q.jsx)(Da,{label:`Trend`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`trend`})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-body`,children:e?.hydrating&&i===0?(0,q.jsx)(is,{}):t===`all`?(0,q.jsx)(`div`,{className:`source-all-sections provider-composition trend-provider-composition`,children:n.sections.map(e=>(0,q.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,q.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`trend-panel-${e.source}-heading`,children:[e.label,` $ per 1% trend`]}),(0,q.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.label}),(0,q.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` `,e.source===`claude`?`weeks`:`cycles`]})]}),(0,q.jsx)(ls,{section:e,trendOverride:r,composed:!0})]},e.source))}):o?(0,q.jsx)(ls,{section:o,trendOverride:r,composed:!1}):null})]})}function ds(e){let t=bn.findIndex(t=>t.key===e);return bn[(t===-1?0:t+1)%bn.length].key}function fs(){let e=(0,_.useSyncExternalStore)(G,()=>W().filterText),t=(0,_.useSyncExternalStore)(G,()=>W().searchText),n=(0,_.useSyncExternalStore)(G,()=>W().searchMatches),r=(0,_.useSyncExternalStore)(G,()=>W().searchIndex),i=(0,_.useSyncExternalStore)(G,()=>W().sessionsSort),a=(0,_.useSyncExternalStore)(G,()=>W().prefs.sessionsSortOverride),o=(0,_.useSyncExternalStore)(G,()=>W().activeSource)===`claude`,s=o?`filter project|model…`:`filter session|model…`,c=vi(),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(!1),p=(0,_.useRef)(null),m=(0,_.useRef)(null),h=d||c,g=d||t.length>0,v=()=>u(!0),y=e=>{e?.clear&&K({type:`SET_FILTER`,text:``}),u(!1),K({type:`SET_INPUT_MODE`,mode:null})},b=()=>f(!0),x=e=>{e?.clear&&K({type:`SET_SEARCH`,text:``}),f(!1),K({type:`SET_INPUT_MODE`,mode:null})};(0,_.useEffect)(()=>{l&&(p.current?.focus(),p.current?.select(),K({type:`SET_INPUT_MODE`,mode:`filter`}))},[l]),(0,_.useEffect)(()=>{d&&(m.current?.focus(),m.current?.select(),K({type:`SET_INPUT_MODE`,mode:`search`}))},[d]),pa([{key:`f`,scope:`sessions`,action:v,when:()=>!W().openModal&&!l&&W().chromeOverlayOpen===0},{key:`/`,scope:`sessions`,action:b,when:()=>!W().openModal&&!d&&W().chromeOverlayOpen===0}]);let S=n.length,C=S>0?`${r+1} / ${S}`:`0 / 0`,w=e=>{S!==0&&K({type:`SET_SEARCH_MATCHES`,matches:n,index:((r+e)%S+S)%S})};return(0,q.jsxs)(`div`,{className:`sessions-ctrls`,id:`sessions-ctrls`,children:[l?(0,q.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`filter-input`,placeholder:s,ref:p,value:e,onChange:e=>K({type:`SET_FILTER`,text:e.target.value}),onKeyDown:e=>{e.key===`Enter`?y():e.key===`Escape`&&y({clear:!0})},onBlur:()=>y()}):e?(0,q.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`)){K({type:`SET_FILTER`,text:``});return}v()},children:[(0,q.jsxs)(`span`,{className:`chip`,children:[`filter: `,e]}),(0,q.jsx)(`span`,{className:`chip-x`,title:`Clear`,children:`×`})]}):(0,q.jsx)(`button`,{className:`ctrl-btn`,id:`filter-btn`,type:`button`,title:`Filter (f)`,onClick:v,children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#funnel`})})}),h?(0,q.jsxs)(`div`,{className:`search-container`,id:`search-container`,children:[(0,q.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`search-input`,placeholder:`search…`,ref:m,value:t,onChange:e=>K({type:`SET_SEARCH`,text:e.target.value}),onFocus:()=>{d||f(!0)},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),w(1)):e.key===`Escape`&&x({clear:!0})},onBlur:()=>x()}),g&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`match-count`,id:`search-count`,children:C}),(0,q.jsx)(`button`,{className:`ctrl-btn`,id:`search-prev`,type:`button`,title:`Prev (N)`,onMouseDown:e=>e.preventDefault(),onClick:()=>w(-1),children:`↑`}),(0,q.jsx)(`button`,{className:`ctrl-btn`,id:`search-next`,type:`button`,title:`Next (n)`,onMouseDown:e=>e.preventDefault(),onClick:()=>w(1),children:`↓`})]})]}):(0,q.jsx)(`button`,{className:`ctrl-btn`,id:`search-btn`,type:`button`,title:`Search (/)`,onClick:b,children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#magnifier`})})}),o&&(0,q.jsxs)(`button`,{className:`ctrl-btn`,id:`sort-pill`,type:`button`,title:`Cycle sort`,onClick:()=>{W().prefs.sessionsSortOverride&&K({type:`SET_TABLE_SORT`,table:`sessions`,override:null}),K({type:`SET_SORT`,key:ds(i)})},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#sort-updown`})}),(0,q.jsxs)(`span`,{className:`label`,children:[`sort: `,a?`${a.column} ${a.direction}`:i]})]})]})}function ps({text:e,query:t}){let n=t.trim().toLowerCase();if(!n)return(0,q.jsx)(q.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,q.jsx)(_.Fragment,{children:e.slice(a)},o++));break}t>a&&i.push((0,q.jsx)(_.Fragment,{children:e.slice(a,t)},o++)),i.push((0,q.jsx)(`mark`,{children:e.slice(t,t+n.length)},o++)),a=t+n.length}return(0,q.jsx)(q.Fragment,{children:i})}function ms(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 hs(e){return e==null?`cost-none`:e<.25?`cost-xs`:e<1?`cost-low`:e<3?`cost-mid`:`cost-high`}function gs(e,t){if(!(t>0)||!Number.isFinite(e))return 0;let n=e/t;return n<0?0:n>1?1:n}var _s=`.sess-open-conv, .source-detail-open, .model-chip, .project-cell-link`;function vs(){let e=(0,_.useSyncExternalStore)(G,()=>W().activeSource),t=ui(),n=bi(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel};(0,_.useSyncExternalStore)(G,()=>W().filterText),(0,_.useSyncExternalStore)(G,()=>W().sessionsSort),(0,_.useSyncExternalStore)(G,()=>W().prefs.sessionsPerPage);let i=(0,_.useSyncExternalStore)(G,()=>W().sourceSessionsSort),a=(0,_.useSyncExternalStore)(G,()=>W().prefs.sessionsSortOverride),o=(0,_.useSyncExternalStore)(G,()=>W().searchMatches),s=(0,_.useSyncExternalStore)(G,()=>W().searchIndex),c=(0,_.useSyncExternalStore)(G,()=>W().searchText),l=(0,_.useSyncExternalStore)(G,()=>W().prefs.sessionsCollapsed),u=fi(e,di(e)),d=u.accountKey!=null,f=u.requestedKey!=null&&!u.scopesSupported,p=vi(),m=e===`all`,h=en(t,e),g=Yr(h),v=Fn(),y=cn(h),b=new Set(y.flatMap(e=>e.models)),x=b.size<=1,S=b.size===1?[...b][0]:null,C=pn({includeSource:m,oneModel:x}),w=e===`claude`?a:i,T=ti(t),E=e===`claude`?t?.sessions?.total??v.length:e===`codex`?(h.entry?.data)?.sessions?.total_sessions??v.length:y.length,D=e===`claude`||m?`No sessions yet.`:`No Codex sessions yet.`,O=e===`claude`?`claude-sessions-table`:m?`source-sessions-table`:`codex-sessions-table`,[k,A]=(0,_.useState)(null),j=s>=0?o[s]:-1,M=k?v.findIndex(e=>e.key===k):-1,N=v.length===0?-1:M>=0?M:j>=0?j:0,P=new Set(o),F=j,I=t=>{t.key&&(e===`claude`&&t.source===`claude`?K({type:`OPEN_MODAL`,kind:`session`,sessionId:t.key}):K({type:`OPEN_SOURCE_DETAIL`,source:t.source,resource:`session`,key:t.key}))},ee=(0,_.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(_s)),s=o.filter(e=>e.offsetParent!==null),c=s.length>0?s:o,l=a?-1:c.indexOf(n),u=ms(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&&K(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]),te=g.mode===`skeleton`||e===`claude`&&!!t?.hydrating&&v.length===0;return(0,q.jsxs)(`section`,{className:`panel accent-orange`+(l?` sessions-collapsed`:``),id:`panel-sessions`,role:`region`,"aria-label":`Recent Sessions panel`,"data-panel-kind":`sessions`,"data-source":e,children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`panel-title-wrap`,style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,q.jsxs)(`h2`,{children:[`Recent Sessions `,(0,q.jsx)(`span`,{className:`sub`,children:te?`(loading)`:e===`claude`?`(${E} total)`:`(${v.length} shown)`})]}),S&&(0,q.jsxs)(`span`,{className:`sess-model-caption`,title:`All sessions use ${S}`,children:[(0,q.jsx)(`span`,{className:`ms-dot ${Xa(S)}`,style:Qa(S),"aria-hidden":`true`}),`all · `,S]}),g.mode===`degraded`&&(0,q.jsx)(Vo,{gate:g}),d&&(0,q.jsxs)(`span`,{className:`sessions-account-note`,"data-testid":`sessions-account-note`,title:m?`Showing only ${u.card?.label??`this account`}'s Codex sessions. Claude sessions are not filtered by account.`:`Showing only ${u.card?.label??`this account`}'s sessions.`,children:[m?`Codex: `:``,Nt(u.card?.label??`focused account`),` only`]}),f&&(0,q.jsx)(`span`,{className:`sessions-unfiltered-note`,"data-testid":`sessions-unfiltered-note`,title:di(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,q.jsxs)(`div`,{className:`panel-header-actions`,children:[!p&&(0,q.jsx)(fs,{}),(0,q.jsx)(Ea,{panel:`sessions`,panelLabel:`Sessions`,triggerId:`sessions-panel`,onClick:()=>K(gt(`sessions`,`sessions-panel`))}),(0,q.jsx)(Da,{label:`Sessions`,disabled:v.length===0,onOpen:()=>{let e=v[0];e&&I(e)}}),(0,q.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!l,"aria-controls":`panel-sessions-body`,"aria-label":l?`Expand Recent Sessions`:`Collapse Recent Sessions`,title:l?`Expand (c)`:`Collapse (c)`,onClick:e=>{e.stopPropagation(),K({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!l}})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${l?`chevron-down`:`chevron-up`}`})})}),(0,q.jsx)(Sa,{})]})]}),m&&(0,q.jsx)(`div`,{className:`panel-range-note`,children:`both providers, interleaved`}),p&&(0,q.jsx)(fs,{}),(0,q.jsx)(`div`,{className:`panel-body panel-body--scroll`,id:`panel-sessions-body`,children:te?(0,q.jsx)(is,{lines:4}):v.length===0?(0,q.jsx)(`div`,{className:`panel-empty`,"data-testid":`source-sessions-empty`,children:D}):(0,q.jsxs)(`table`,{className:`sess-table source-sess-table`,role:`grid`,"data-testid":O,children:[(0,q.jsx)(rs,{columns:C,override:w,grid:!0,onChange:t=>K(e===`claude`?{type:`SET_TABLE_SORT`,table:`sessions`,override:t}:{type:`SET_SOURCE_SESSIONS_SORT`,override:t})}),(0,q.jsx)(`tbody`,{id:`sess-rows`,role:`rowgroup`,onKeyDown:ee,children:v.map((t,n)=>{let i=P.has(n),a=n===F,o=t.title||`—`,s=t.recencyUtc?H.startedShort(t.recencyUtc,r,{noSuffix:!0}):`—`;return(0,q.jsxs)(`tr`,{className:`source-session-row session-row`+(i?` search-match`:``)+(a?` search-match-current`:``),role:`row`,tabIndex:n===N?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:()=>I(t),children:[(0,q.jsxs)(`td`,{className:`started recency`,role:`gridcell`,children:[T&&t.source===`claude`&&t.key&&(0,q.jsx)(`button`,{type:`button`,className:`sess-open-conv`,tabIndex:-1,title:`Open conversation`,"aria-label":`Open conversation`,onClick:e=>{e.stopPropagation(),K({type:`OPEN_CONVERSATION`,conversationRef:ne(t.key)})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#file-text`})})}),(0,q.jsx)(ps,{text:s,query:c}),(0,q.jsxs)(`span`,{className:`dur-fold`,children:[` · `,(0,q.jsx)(ps,{text:t.durationMin==null?`—`:`${t.durationMin}m`,query:c})]})]}),(0,q.jsx)(`td`,{className:`dur`,role:`gridcell`,children:(0,q.jsx)(ps,{text:t.durationMin==null?`—`:`${t.durationMin}m`,query:c})}),!x&&(0,q.jsx)(`td`,{className:`model model-chip-cell models`,role:`gridcell`,onClick:e=>e.stopPropagation(),children:t.models.length===0?(0,q.jsx)(`span`,{className:`src-model-empty`,"aria-hidden":`true`,children:`—`}):t.models.map(e=>(0,q.jsx)(`button`,{type:`button`,tabIndex:-1,className:`chip model-chip ${Xa(e)}`,style:Qa(e),"aria-label":`Filter by ${e}`,onClick:()=>K({type:`SET_FILTER`,text:e}),children:(0,q.jsx)(ps,{text:e,query:c})},e))}),(0,q.jsx)(`td`,{className:`session`,role:`gridcell`,title:t.title||void 0,children:t.key?(0,q.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(),I(t)},children:[m&&(0,q.jsx)(Bo,{source:t.source}),t.title?(0,q.jsx)(ps,{text:t.title,query:c}):(0,q.jsx)(`span`,{className:`sess-title-empty`,"aria-hidden":`true`,children:`—`})]}):t.title?(0,q.jsx)(ps,{text:t.title,query:c}):(0,q.jsx)(`span`,{className:`sess-title-empty`,"aria-hidden":`true`,children:`—`})}),(0,q.jsx)(`td`,{className:`project`,role:`gridcell`,children:t.projectKey&&t.projectKey!==`(unknown)`?(0,q.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(),K(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,q.jsx)(ps,{text:t.project,query:c})}):(0,q.jsx)(`span`,{title:`Project still resolving`,children:(0,q.jsx)(ps,{text:t.project,query:c})})}),(0,q.jsx)(`td`,{className:`num cache`,role:`gridcell`,children:t.cacheHitPct==null?`—`:H.pct0(t.cacheHitPct)}),(0,q.jsx)(`td`,{className:`num cost ${hs(t.costUsd)}`,role:`gridcell`,children:(0,q.jsx)(ps,{text:H.usd2(t.costUsd),query:c})})]},t.key)})})]})})]})}function ys(){return(0,q.jsx)(vs,{})}var bs=864e5;function xs(e,t){if(e==null||typeof t!=`number`||!Number.isInteger(t)||t<1)return null;let n=Date.parse(e);if(Number.isNaN(n))return null;let r=n-7*(t-1)*bs,i=n+7*bs-1;return{startAt:new Date(r).toISOString(),endAt:new Date(i).toISOString()}}function Ss(e){let t=e?.projects?.current_week?.week_start_at??e?.sources?.claude?.data?.projects?.current_week?.week_start_at??e?.sources?.all?.data?.providers?.claude?.projects?.current_week?.week_start_at;return typeof t==`string`&&t!==``?t:null}function Cs(e,t,n={}){if(e==null)return null;let r=ws(e,n.clampEndTo),i=Ts(e.startAt,t),a=Ts(r,t),o=i!=null&&a!=null&&i!==a?H.dateShortWithYear:H.dateShort,s=o(e.startAt,t),c=o(r,t);return s==null||c==null?null:s===c?s:`${s} – ${c}`}function ws(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 Ts(e,t){let n=H.dateShortWithYear(e,t);return n==null?null:n.slice(-4)}function Es(e){return e===`codex`?`Codex`:e===`claude`?`Claude`:`A provider`}function Ds(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`${Es(e.provider)} data is unavailable, so the combined ${t} is withheld.`;case`provider_incoherent`:return`${Es(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}).`}}var Os=5;function ks(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=Po(e,t),r=n.state===`available`?n.rows:[],i=n.state===`unavailable`,a=n.state===`withheld`?n:null,o=bi(),s=n.state===`available`?n.range:null,c=Cs(s==null?null:{startAt:s.start_at,endAt:s.end_at},{tz:o.resolvedTz,offsetLabel:o.offsetLabel},{clampEndTo:e?.generated_at}),l=t===`claude`?`share of quota`:`share of cost`,u=uo(e,t).hydrating,d=Vr(uo(e,t).warnings,`projects`),f=u&&r.length===0,p=(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#folder`})}),(0,q.jsxs)(`h2`,{children:[`Projects`,` `,(0,q.jsx)(`span`,{className:`sub`,children:f?`(loading)`:a?`(withheld)`:i?`(unavailable)`:t===`claude`?`(${r.length} this week)`:`(${r.length} projects)`})]}),d&&(0,q.jsx)(Vo,{gate:{mode:`degraded`,warning:d,noSuccessYet:!1}})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`projects`,panelLabel:`Projects`,triggerId:`projects-panel`,onClick:()=>K(gt(`projects`,`projects-panel`))}),(0,q.jsx)(Da,{label:`Projects`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`projects`})}),(0,q.jsx)(Sa,{})]})]});if(i||a)return(0,q.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,"data-source":t,role:`region`,"aria-label":`Projects panel`,children:[p,(0,q.jsx)(`div`,{className:`panel-body projects-body`,children:u?(0,q.jsx)(is,{}):a?(0,q.jsx)(`div`,{className:`panel-empty panel-withheld`,"data-withheld-code":a.code,children:Ds(a,`ranking`)}):(0,q.jsx)(`div`,{className:`panel-empty`,children:`Projects data unavailable — restart the dashboard.`})})]});let m=r.slice(0,Os),h=r.slice(Os),g=h.reduce((e,t)=>e+t.cost,0),v=h.reduce((e,t)=>e+(t.pct??0),0),y=m[0]?.cost||1,b=[c,t===`all`?`by provider`:null].filter(e=>e!=null),x=t===`claude`||b.length===0?null:(0,q.jsx)(`div`,{className:`panel-range-note`,children:b.join(` · `)}),S=()=>{K({type:`OPEN_MODAL`,kind:`projects`})},C=(e,n)=>{K(e===`claude`&&t===`claude`?{type:`OPEN_MODAL`,kind:`projects`,projectKey:n}:{type:`OPEN_SOURCE_DETAIL`,source:e,resource:`project`,key:n})},w=(e,t)=>n=>{n.stopPropagation(),C(e,t)},T=e=>{let n=`${H.usd2(e.cost)}, ${e.pct==null?`no ${l}`:`${H.pct0(e.pct)} ${l}`}`;return t===`claude`?`Open Projects modal for ${e.key}: ${n}`:`Open ${e.source} project details: ${e.label}: ${n}`};return(0,q.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,"data-source":t,role:`region`,"aria-label":`Projects panel`,onClick:Oi(S),children:[p,x,(0,q.jsx)(`div`,{className:`panel-body projects-body`,children:r.length===0?u?(0,q.jsx)(is,{}):(0,q.jsx)(`div`,{className:`panel-empty`,children:t===`claude`?`No project activity yet this week.`:c==null?`No project activity in this window.`:`No project activity in ${c}.`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`projects-legend`,children:[`% = `,l]}),m.map(e=>{let n={"--w":`${e.cost/y*100}%`},r=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`name`,children:t===`all`?`${e.source===`claude`?`Claude`:`Codex`} · ${e.label}`:e.label}),(0,q.jsx)(`div`,{className:`lb-bar`,style:n,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`cost`,children:H.usd2(e.cost)}),(0,q.jsxs)(`span`,{className:`pct`,children:[(0,q.jsx)(`span`,{className:`pct-value`,children:e.pct==null?`—`:H.pct0(e.pct)}),(0,q.jsx)(`span`,{className:`sr-only`,children:e.pct==null?` no ${l}`:` ${l}`})]})]});return e.drillable?(0,q.jsx)(`div`,{className:`projects-row`,"data-project-key":e.key,"data-drillable":`true`,role:`button`,tabIndex:0,"aria-label":T(e),onClick:w(e.source,e.key),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),C(e.source,e.key))},title:e.label,children:r},e.key):(0,q.jsxs)(`div`,{className:`projects-row is-static`,"data-project-key":e.key,"data-drillable":`false`,title:`${e.label} — no detail view is available for this project in this range`,children:[r,(0,q.jsx)(`span`,{className:`projects-row-nodrill`,"data-nodrill-reason":!0,children:`no detail view for this range`})]},e.key)}),h.length>0&&(0,q.jsxs)(`div`,{className:`projects-row tail`,"aria-label":`${h.length} more projects`,children:[(0,q.jsxs)(`span`,{className:`name muted`,children:[`+`,h.length,` more`]}),(0,q.jsx)(`div`,{className:`lb-bar muted`,style:{"--w":`${g/y*100}%`},"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`cost muted`,children:H.usd2(g)}),(0,q.jsx)(`span`,{className:`pct muted`,children:v===0?`—`:H.pct0(v)})]})]})})]})}function As(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 js({models:e}){let{items:t,more:n}=As(e);return t.length===0?null:(0,q.jsxs)(`div`,{className:`model-legend`,role:`presentation`,children:[t.map(e=>(0,q.jsxs)(`span`,{className:`ms-leg`,children:[(0,q.jsx)(`span`,{className:`ms-dot ${e.chip}`,style:Qa(e.model),"aria-hidden":`true`}),e.display,` `,Math.round(e.pct),`%`]},e.model)),n>0&&(0,q.jsxs)(`span`,{className:`ms-leg ms-more`,children:[`+`,n]})]})}function Ms(e){e.source===`claude`?K({type:`OPEN_MODAL`,kind:`block`,blockStartAt:e.start_at}):K({type:`OPEN_SOURCE_DETAIL`,source:e.source,resource:`block`,key:e.key})}function Ns({r:e,maxCost:t,isFirstMount:n,showSource:r,accountLabel:i}){let a=t>0?e.value/t*100:0,o=()=>Ms(e);return(0,q.jsxs)(`div`,{className:`blocks-row`,role:`button`,tabIndex:0,"aria-label":i==null?`Open detail for block starting ${e.label}`:`Open detail for ${i} block starting ${e.label}`,onClick:o,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},children:[(0,q.jsxs)(`div`,{className:`meta`,children:[(0,q.jsxs)(`span`,{className:`label`,children:[r&&(0,q.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),i!=null&&(0,q.jsx)(`span`,{className:`blocks-account-chip`,"data-testid":`block-account-chip`,title:`5-hour window owned by ${i}`,children:i}),e.anchor===`heuristic`&&(0,q.jsx)(`span`,{className:`anchor-marker`,"aria-label":`approximate start`,children:`~`}),e.label,e.is_active&&(0,q.jsx)(`span`,{className:`pill-active`,children:`Active`})]}),(0,q.jsx)(`span`,{className:`cost`,children:e.valueLabel})]}),(0,q.jsx)(`div`,{className:`gauge-track`,children:(0,q.jsx)(`div`,{className:`gauge-fill`,style:{width:n?`0%`:`${a}%`},children:e.models.map(e=>(0,q.jsx)(`span`,{className:`seg-${e.chip}`,style:{...Qa(e.model),width:`${e.cost_pct}%`},title:`${e.display} ${H.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})}),(0,q.jsx)(js,{models:e.models})]})}function Ps(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=(0,_.useSyncExternalStore)(G,()=>W().prefs.blocksCollapsed),r=Io(e,t),i=r,a=en(e,`codex`).entry,o=a?.data,s=o?.quota.histories.some(e=>e.window_minutes===300&&!e.model_scoped)??!1,c=fi(t,di(t)),l=(t===`all`?zt(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=bi(),g=t===`all`?Lo(r):null,v=t===`all`?Cs(Ro(r),{tz:h.resolvedTz,offsetLabel:h.offsetLabel},{clampEndTo:e?.generated_at}):null,y=(0,_.useRef)(new Set),[,b]=(0,_.useState)(0);return(0,_.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,q.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,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#layers`})}),(0,q.jsx)(`h2`,{children:`Blocks`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`blocks`,panelLabel:`5-hour blocks`,triggerId:`blocks-panel`,onClick:()=>K(gt(`blocks`,`blocks-panel`))}),(0,q.jsx)(Da,{label:`Blocks`,onOpen:()=>{let e=r.find(e=>e.is_active)??r[0];e&&Ms(e)},disabled:r.length===0}),(0,q.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(),K({type:`SAVE_PREFS`,patch:{blocksCollapsed:!n}})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${n?`chevron-down`:`chevron-up`}`})})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-range-note`,children:d}),(0,q.jsx)(`div`,{className:`panel-body`,id:`panel-blocks-body`,children:i.length===0?uo(e,t).hydrating?(0,q.jsx)(is,{}):(0,q.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,q.jsx)(Ns,{r:e,maxCost:f,isFirstMount:!y.current.has(e.start_at),showSource:t===`all`,accountLabel:u(e)},e.key))}),r.length>0&&(0,q.jsxs)(`div`,{className:`panel-foot`,children:[(0,q.jsxs)(`span`,{children:[r.length,` blocks`,(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`total`,children:H.usd2(p)}),m&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`legend-anchor`,children:`~ = approximate start`})]})]}),g&&(0,q.jsxs)(`span`,{className:`blocks-foot-attribution`,children:[v&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`blocks-foot-span`,children:[`windows shown span `,v]}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),g.map((e,t)=>(0,q.jsxs)(`span`,{className:`blocks-foot-leg`,children:[t>0&&(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,e.count,` `,e.count===1?`block`:`blocks`,` `,H.usd2(e.cost)]},e.source))]})]})]})}function Fs(){let[e,t]=(0,_.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(hi).matches);return(0,_.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(hi),n=e=>t(e.matches);return e.addEventListener(`change`,n),t(e.matches),()=>e.removeEventListener(`change`,n)},[]),e}var Is=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Ls(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function Rs(e){let t=e.split(`-`).map(Number);return`${Is[t[1]-1]} ${t[2]}`}function zs(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?`${Is[i-1]} ${a} - ${s}`:`${Is[i-1]} ${a} - ${Is[o-1]} ${s}`}function Bs(e,t){return e<=0?`—`:t?`$${Math.ceil(e)}`:H.usd2(e)}function Vs({r:e,staggerIndex:t,compact:n}){let r=e.date.slice(8,10),i=Bs(e.cost_usd,n),a=[`${e.label} · ${e.cost_usd>0?H.usd2(e.cost_usd):`—`}`,...e.models.map(e=>`${e.display} ${e.cost_pct.toFixed(0)}%`)].join(` · `);return(0,q.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:()=>K({type:`OPEN_MODAL`,kind:`daily`,dailyDate:e.date}),children:[(0,q.jsx)(`span`,{className:`d`,children:r}),(0,q.jsx)(`span`,{className:`c`,style:{"--c-len":i.length},children:i})]})}function Hs(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=vi(),r=Fs(),i=n||r,a=(0,_.useSyncExternalStore)(G,()=>W().prefs.dailyCollapsed),o=xo(e,t),s=o.state===`available`?o.rows:[],c=o.state===`withheld`?o:null,l=Ls([...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=uo(e,t).hydrating,p=Vr(uo(e,t).warnings,`daily`);return(0,q.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,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#grid`})}),(0,q.jsxs)(`h2`,{children:[`Daily`,` `,(0,q.jsx)(`span`,{className:`sub`,children:`heatmap`})]}),p&&(0,q.jsx)(Vo,{gate:{mode:`degraded`,warning:p,noSuccessYet:!1}})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`daily`,panelLabel:`Daily`,triggerId:`daily-panel`,onClick:()=>K(gt(`daily`,`daily-panel`))}),(0,q.jsx)(Da,{label:`Daily`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`daily`})}),(0,q.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(),K({type:`SAVE_PREFS`,patch:{dailyCollapsed:!a}})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${a?`chevron-down`:`chevron-up`}`})})}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-range-note`,children:c?`withheld`:`30 days${t===`all`?` · both providers`:``}`}),(0,q.jsx)(`div`,{className:`panel-body`,id:`panel-daily-body`,children:f&&s.length===0?(0,q.jsx)(is,{}):c?(0,q.jsx)(`div`,{className:`panel-empty panel-withheld`,"data-withheld-code":c.code,children:Ds(c,`history`)}):s.length===0?(0,q.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`daily-legend`,"aria-label":`Color intensity legend`,children:[(0,q.jsx)(`span`,{children:`Less`}),(0,q.jsxs)(`span`,{className:`scale`,children:[(0,q.jsx)(`span`,{className:`h0`}),(0,q.jsx)(`span`,{className:`h1`}),(0,q.jsx)(`span`,{className:`h2`}),(0,q.jsx)(`span`,{className:`h3`}),(0,q.jsx)(`span`,{className:`h4`}),(0,q.jsx)(`span`,{className:`h5`})]}),(0,q.jsx)(`span`,{children:`More`})]}),(0,q.jsx)(`div`,{className:`daily-cal-grid`,children:l.map((e,t)=>(0,q.jsxs)(_.Fragment,{children:[(0,q.jsxs)(`div`,{className:`daily-week-label`,children:[(0,q.jsxs)(`span`,{className:`wk`,children:[`W`,t+1]}),(0,q.jsx)(`span`,{className:`rng`,children:zs(e[0].date,e[e.length-1].date)})]}),e.map((e,n)=>(0,q.jsx)(Vs,{r:e,staggerIndex:t*7+n,compact:i},e.date)),e.length<7&&(0,q.jsx)(`div`,{className:`daily-month-continues`,style:{gridColumn:`span ${7-e.length}`},"aria-hidden":`true`,children:`Month continues`})]},t))}),(0,q.jsxs)(`div`,{className:`daily-foot`,children:[(0,q.jsxs)(`div`,{className:`daily-foot-col`,"data-total-cell":!0,children:[(0,q.jsx)(`svg`,{className:`daily-foot-icon icon-total`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),(0,q.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,q.jsxs)(`span`,{className:`lbl`,children:[`Total (`,s.length,` days)`]}),(0,q.jsx)(`span`,{className:`val`,children:H.usd2(u)})]})]}),d&&(0,q.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:()=>K({type:`OPEN_MODAL`,kind:`daily`,dailyDate:d.date}),children:[(0,q.jsx)(`svg`,{className:`daily-foot-icon icon-peak`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,q.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,q.jsx)(`span`,{className:`lbl`,children:`Peak day`}),(0,q.jsxs)(`span`,{className:`val`,children:[(0,q.jsx)(`span`,{className:`d`,children:Rs(d.date)}),(0,q.jsx)(`span`,{className:`a`,children:H.usd2(d.cost_usd)})]})]})]})]})]})})]})}function Us(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 Ws(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 Gs=`(prefers-reduced-motion: reduce)`;function Ks(){return(0,_.useSyncExternalStore)(e=>{if(typeof window>`u`||!window.matchMedia)return()=>{};let t=window.matchMedia(Gs);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)},()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(Gs).matches,()=>!1)}var qs=(0,_.createContext)(`bento`);function Js(e,t){return t===`stack`?{visible:e.slice(0,3),hiddenCount:Math.max(0,e.length-3)}:{visible:e,hiddenCount:0}}function Ys(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 Xs(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 Zs(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 Qs({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,q.jsxs)(`div`,{className:`period`,children:[(0,q.jsxs)(`div`,{className:`meta`,children:[(0,q.jsxs)(`span`,{className:`label`,children:[(0,q.jsx)(os,{labels:e.account_labels}),e.label,e.is_current&&(0,q.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,q.jsxs)(`span`,{className:`right`,children:[(0,q.jsx)(`span`,{className:`cost`,children:H.usd2(e.cost_usd)}),(0,q.jsx)(`span`,{className:`delta ${i}`,children:H.deltaPct(e.delta_cost_pct)})]})]}),(0,q.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,q.jsx)(`span`,{className:e.chip,style:{...Qa(e.model),width:r?`0%`:`${e.cost_pct}%`},title:`${e.display} ${H.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))}),(0,q.jsx)(js,{models:e.models})]})}function $s(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=ho(e,t,`weekly`),r=(0,_.useContext)(qs),i=t===`all`?[`claude`,`codex`].map(e=>{let t=n.filter(t=>t.source===e);return{source:e,rows:t,...Js(t,r)}}):null,a=Js(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===`claude`?`weeks`:t===`codex`?`cycles`:`provider periods`,u=t===`claude`?`${n.length}w`:`${n.length} ${l}`,d=uo(e,t).hydrating,f=Ks(),p=bi(),m=t===`all`?Ys(n):null,h=t===`all`?Cs(Xs(n),{tz:p.resolvedTz,offsetLabel:p.offsetLabel},{clampEndTo:e?.generated_at}):null,g=(0,_.useRef)(new Set),[,v]=(0,_.useState)(0);return(0,_.useLayoutEffect)(()=>{let e=o.filter(e=>!g.current.has(Us(e,`week`)));if(e.length===0)return;e.forEach(e=>g.current.add(Us(e,`week`)));let t=requestAnimationFrame(()=>v(e=>e+1));return()=>cancelAnimationFrame(t)},[o]),(0,q.jsxs)(`section`,{className:`panel accent-cyan`,id:`panel-weekly`,role:`region`,"aria-label":`Weekly usage panel`,"data-panel-kind":`weekly`,"data-source":t,onClick:Oi(()=>K({type:`OPEN_MODAL`,kind:`weekly`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,q.jsxs)(`h2`,{children:[`Weekly`,` `,(0,q.jsx)(`span`,{className:`sub`,children:`(model split)`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`weekly`,panelLabel:`Weekly`,triggerId:`weekly-panel`,onClick:()=>K(gt(`weekly`,`weekly-panel`))}),(0,q.jsx)(Da,{label:`Weekly`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`weekly`})}),(0,q.jsx)(Sa,{})]})]}),t===`all`&&(0,q.jsx)(`div`,{className:`panel-range-note`,children:`by provider`}),(0,q.jsx)(`div`,{className:`panel-body`,children:n.length===0?d?(0,q.jsx)(is,{}):(0,q.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):i?(0,q.jsx)(`div`,{className:`source-all-sections provider-composition provider-composition--panel`,children:i.map(e=>(0,q.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,q.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`weekly-panel-${e.source}-heading`,children:[e.source===`claude`?`Claude`:`Codex`,` weekly quota history`]}),(0,q.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),(0,q.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` `,e.source===`claude`?`weeks`:`cycles`]})]}),e.visible.length===0?(0,q.jsx)(`div`,{className:`panel-source-empty`,children:`No quota history yet.`}):e.visible.map(e=>(0,q.jsx)(Qs,{r:e,isFirstMount:!g.current.has(Us(e,`week`)),reduced:f},Us(e,`week`)))]},e.source))}):o.map(e=>(0,q.jsx)(Qs,{r:e,isFirstMount:!g.current.has(Us(e,`week`)),reduced:f},Us(e,`week`)))}),n.length>0&&(0,q.jsxs)(`div`,{className:`panel-foot period-foot`,children:[s>0?(0,q.jsxs)(`span`,{children:[(0,q.jsxs)(`button`,{type:`button`,className:`period-foot-more`,"aria-label":`Show all ${n.length} ${l}`,onClick:e=>{e.stopPropagation(),K({type:`OPEN_MODAL`,kind:`weekly`})},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[`+`,s,` more`]}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`total`,children:H.usd2(c)})]}):(0,q.jsxs)(`span`,{children:[u,` total`,(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsxs)(`span`,{className:`total`,children:[H.usd2(c),t===`all`?` combined cost`:``]})]}),m&&(0,q.jsxs)(`span`,{className:`period-foot-attribution`,children:[h&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`period-foot-span`,children:h}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),m.map((e,t)=>(0,q.jsxs)(`span`,{className:`period-foot-leg`,children:[t>0&&(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,H.usd2(e.cost)]},e.source))]})]})]})}function ec({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,q.jsxs)(`div`,{className:`period`,children:[(0,q.jsxs)(`div`,{className:`meta`,children:[(0,q.jsxs)(`span`,{className:`label`,children:[e.label,e.is_current&&(0,q.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,q.jsxs)(`span`,{className:`right`,children:[(0,q.jsx)(`span`,{className:`cost`,children:H.usd2(e.cost_usd)}),(0,q.jsx)(`span`,{className:`delta ${i}`,children:H.deltaPct(e.delta_cost_pct)})]})]}),(0,q.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,q.jsx)(`span`,{className:e.chip,style:{...Qa(e.model),width:r?`0%`:`${e.cost_pct}%`},title:`${e.display} ${H.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))}),(0,q.jsx)(js,{models:e.models})]})}function tc(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=ho(e,t,`monthly`),r=(0,_.useContext)(qs),i=t===`all`?[`claude`,`codex`].map(e=>{let t=n.filter(t=>t.source===e);return{source:e,rows:t,...Js(t,r)}}):null,a=Js(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=uo(e,t).hydrating,u=Ks(),d=t===`all`?Ys(n):null,f=t===`all`?Zs(n):null,p=t===`all`?`${n.length} provider ${n.length===1?`month`:`months`}`:`${n.length}mo`,m=(0,_.useRef)(new Set),[,h]=(0,_.useState)(0);return(0,_.useLayoutEffect)(()=>{let e=o.filter(e=>!m.current.has(Us(e,`month`)));if(e.length===0)return;e.forEach(e=>m.current.add(Us(e,`month`)));let t=requestAnimationFrame(()=>h(e=>e+1));return()=>cancelAnimationFrame(t)},[o]),(0,q.jsxs)(`section`,{className:`panel accent-pink`,id:`panel-monthly`,role:`region`,"aria-label":`Monthly usage panel`,"data-panel-kind":`monthly`,"data-source":t,onClick:Oi(()=>K({type:`OPEN_MODAL`,kind:`monthly`})),children:[(0,q.jsxs)(`div`,{className:`panel-header`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,q.jsxs)(`h2`,{children:[`Monthly`,` `,(0,q.jsx)(`span`,{className:`sub`,children:`(model split)`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Ea,{panel:`monthly`,panelLabel:`Monthly`,triggerId:`monthly-panel`,onClick:()=>K(gt(`monthly`,`monthly-panel`))}),(0,q.jsx)(Da,{label:`Monthly`,onOpen:()=>K({type:`OPEN_MODAL`,kind:`monthly`})}),(0,q.jsx)(Sa,{})]})]}),t===`all`&&(0,q.jsx)(`div`,{className:`panel-range-note`,children:`by provider`}),(0,q.jsx)(`div`,{className:`panel-body`,children:n.length===0?l?(0,q.jsx)(is,{}):(0,q.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):i?(0,q.jsx)(`div`,{className:`source-all-sections provider-composition provider-composition--panel`,children:i.map(e=>(0,q.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,q.jsxs)(`div`,{className:`source-provider-head provider-composition-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`monthly-panel-${e.source}-heading`,children:[e.source===`claude`?`Claude`:`Codex`,` monthly history`]}),(0,q.jsx)(`span`,{className:`source-chip source-chip--${e.source}`,children:e.source===`claude`?`Claude`:`Codex`}),(0,q.jsxs)(`span`,{className:`provider-summary-label`,children:[e.rows.length,` `,e.rows.length===1?`month`:`months`]})]}),e.visible.length===0?(0,q.jsx)(`div`,{className:`panel-source-empty`,children:`No monthly history yet.`}):e.visible.map(e=>(0,q.jsx)(ec,{r:e,isFirstMount:!m.current.has(Us(e,`month`)),reduced:u},Us(e,`month`)))]},e.source))}):o.map(e=>(0,q.jsx)(ec,{r:e,isFirstMount:!m.current.has(Us(e,`month`)),reduced:u},Us(e,`month`)))}),n.length>0&&(0,q.jsxs)(`div`,{className:`panel-foot period-foot`,children:[s>0?(0,q.jsxs)(`span`,{children:[(0,q.jsxs)(`button`,{type:`button`,className:`period-foot-more`,"aria-label":`Show all ${n.length} months`,onClick:e=>{e.stopPropagation(),K({type:`OPEN_MODAL`,kind:`monthly`})},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[`+`,s,` more`]}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsx)(`span`,{className:`total`,children:H.usd2(c)})]}):(0,q.jsxs)(`span`,{children:[p,` total`,(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,q.jsxs)(`span`,{className:`total`,children:[H.usd2(c),t===`all`?` combined cost`:``]})]}),d&&(0,q.jsxs)(`span`,{className:`period-foot-attribution`,children:[f&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`period-foot-span`,children:f}),(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `})]}),d.map((e,t)=>(0,q.jsxs)(`span`,{className:`period-foot-leg`,children:[t>0&&(0,q.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),e.label,` `,H.usd2(e.cost)]},e.source))]})]})]})}function nc({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,q.jsxs)(`div`,{className:`ra-gauge`+(n?` ra-gauge--compact`:``),children:[(0,q.jsxs)(`div`,{className:`ra-gauge-head`,children:[(0,q.jsx)(`span`,{className:`ra-gauge-check`,"aria-hidden":`true`,children:`✓`}),c]}),(0,q.jsx)(`div`,{className:`ra-gauge-hero`,children:e==null?`—`:`${Math.round(e)}%`}),(0,q.jsxs)(`div`,{className:`ra-gauge-bar`,children:[(0,q.jsx)(`div`,{className:`ra-gauge-fill`,style:{width:`${s}%`}}),t.map((e,t)=>(0,q.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,q.jsx)(`div`,{className:`ra-gauge-copy`,children:l})]})}function rc(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=(0,_.useSyncExternalStore)(G,()=>W().alerts),r=(0,_.useSyncExternalStore)(G,()=>W().prefs.alertsCollapsed),i=e?.sources!=null,a=en(e??null,t),o=fi(t,di(t)),s=o.accountKey!=null,c=A(a,n.map(e=>({...e,source:`claude`,key:e.id})),i),l=(0,_.useSyncExternalStore)(G,()=>W().accountFocus),u={claude:Ut(e,t,`claude`,l),codex:Ut(e,t,`codex`,l)},d=c.some(e=>w(e)!=null),f=[`claude`,`codex`].filter(e=>u[e]!=null),p=f.length>0&&(d||s),m=f.length>0&&!d&&!s,h=D(c,u),g=f.map(t=>(e?.sources?.[t]?.data?.accounts??[]).find(e=>e.accountKey===u[t])??null).filter(e=>e!=null),v=o.card??g[0]??null,y=f.length===1?f[0]:null,b=t===`all`&&y!=null,x=y===`codex`?`Codex`:`Claude`,S=y===`codex`?`Claude`:`Codex`,C=f.length>1?`focused accounts`:`${b?`${x}: `:``}${Nt(v?.label??`focused account`)}`,E=(0,_.useSyncExternalStore)(G,()=>W().alertsConfig),O=e?.sources?.codex?.data?.quota.summary,k=E.weekly_thresholds?.length?E.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`?o.scopesSupported&&o.accountKey==null?null:O?.latest_percent??null:null,N=t===`claude`?k:t===`codex`?j:[...new Set([...k,...j])].sort((e,t)=>e-t),P=bi(),I={tz:P.resolvedTz,offsetLabel:P.offsetLabel},ee=h.slice(0,10),te=h.length,L=()=>{Ac.alerts.openAction()};return(0,q.jsxs)(`section`,{className:`panel accent-amber`+(r?` alerts-collapsed`:``),id:`panel-alerts`,role:`region`,"aria-label":`Recent alerts panel`,"data-panel-kind":`alerts`,onClick:Oi(L),children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#bell`})}),(0,q.jsxs)(`h2`,{children:[`Recent alerts `,(0,q.jsx)(`span`,{className:`sub`,children:`(last 10)`})]}),p&&(0,q.jsxs)(`span`,{className:`alerts-account-note`,"data-testid":`alerts-account-note`,title:f.length>1?`Showing only the focused accounts’ alerts, plus vendor-wide crossings.`:b?`Showing only ${v?.label??`this account`}'s ${x} alerts, plus vendor-wide crossings. ${S} alerts are not filtered by account.`:`Showing only ${v?.label??`this account`}'s alerts, plus vendor-wide crossings.`,children:[C,` only`]}),m&&(0,q.jsx)(`span`,{className:`alerts-unfiltered-note`,"data-testid":`alerts-unfiltered-note`,title:y==null?`These alerts are not filtered by account (showing all accounts).`:`${x} alerts are not filtered by account (showing all accounts).`,children:`all accounts (unfiltered)`})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Recent alerts`,onOpen:L}),(0,q.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(),K({type:`SAVE_PREFS`,patch:{alertsCollapsed:!r}})},children:(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#${r?`chevron-down`:`chevron-up`}`})})}),(0,q.jsx)(Sa,{})]})]}),t===`all`&&(0,q.jsx)(`div`,{className:`panel-range-note`,children:`Both providers, newest first`}),(0,q.jsx)(`div`,{className:`panel-body`,id:`panel-alerts-body`,children:ee.length===0?(0,q.jsx)(nc,{source:t,usedPct:M,thresholds:N,compact:!0}):(0,q.jsx)(`ul`,{className:`alerts-list`,children:ee.map(e=>{let n=F(e),r=w(e),i=H.startedShortOrNull(n.whenIso,I);return(0,q.jsxs)(`li`,{className:`alert-row`,children:[(0,q.jsxs)(`span`,{className:`alert-threshold severity-${n.severity} ${n.severity}`,children:[n.threshold,`%`]}),(0,q.jsx)(`span`,{className:`chip ${n.chipClass}`,children:n.chipLabel}),t===`all`&&(0,q.jsx)(`span`,{className:`source-chip source-chip--${n.source}`,children:n.sourceLabel}),r!=null&&(0,q.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,q.jsx)(`span`,{className:`alert-when`,title:i??void 0,children:H.relativeOrAbsolute(n.whenIso??``,I)})]},T(e))})})}),te>0&&(0,q.jsxs)(`div`,{className:`panel-foot alerts-foot`,children:[ee.length,` of `,te,` shown`]})]})}function ic(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 ac(e,t=`claude`){return t===`codex`?e.cached_input_percent??null:e.cache_hit_percent??null}function oc(e,t=`claude`){let n=ac(e,t);return n===null?null:`${H.pctFloor(n)}%`}function sc(e,t){return e.not_applicable?.[t]??null}var cc=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`}),lc=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 uc(e){return e===`codex`?lc:cc}function dc(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 fc={mini:{chartWidth:272,padX:0,gap:1},large:{chartWidth:800,padX:28,gap:4}};function pc(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}=fc[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 mc={mini:{width:272,height:32,padTop:4,padBot:4},large:{width:800,height:90,padTop:6,padBot:6}},hc=1;function J({days:e,baseline_median_percent:t,today_marker_color:n,size:r,source:i}){let a=i??`claude`,o=uc(a),s=mc[r],c=r===`large`,l=[...e].reverse(),u=l.map((e,t)=>({d:e,i:t,pct:ac(e,a)})).filter(({d:e,pct:t})=>e.observed!==!1&&t!==null),d=c?dc(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,q.jsx)(`svg`,{className:`cr-spark`,...f,viewBox:`0 0 ${s.width} ${s.height}`,"aria-label":`no data`});return c?(0,q.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,q.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:[Math.round(d.hi),`%`]}),e,(0,q.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=>pc(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=ac(_,a),y=_.observed!==!1,b=y&&v!==null,x=m(g),S=x,C=(0,q.jsxs)(`svg`,{className:`cr-spark`,...f,viewBox:`0 0 ${s.width} ${s.height}`,"aria-label":`${o.sparklineLabel}, ${ic(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,q.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,q.jsxs)(q.Fragment,{children:[(0,q.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,q.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,q.jsx)(`polyline`,{points:h,fill:`none`,stroke:`var(--accent-cyan)`,strokeWidth:c?2:1.5}),b?(0,q.jsx)(`circle`,{cx:x,cy:p(v),r:c?5:3.5,fill:n,"data-testid":`cr-spark-today-marker`}):(0,q.jsx)(`line`,{x1:S,x2:S,y1:s.padTop,y2:s.height-s.padBot,stroke:`var(--text-dim)`,strokeWidth:hc,strokeDasharray:`3,3`,"data-testid":`cr-spark-today-unobserved`,children:(0,q.jsx)(`title`,{children:y?`No cache percentage published for today`:`No activity today`})})]});return c?(0,q.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,q.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:[Math.round(d.hi),`%`]}),C,(0,q.jsxs)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:[Math.round(d.lo),`%`]})]}):C}var gc={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 _c({days:e,size:t,source:n}){let r=uc(n??`claude`),i=gc[t],a=t===`large`,o=[...e].reverse(),s=e=>e.wasted_usd??0;if(o.length===0)return a?(0,q.jsxs)(`div`,{className:`crm-section`,children:[(0,q.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[`Net $ per day`,(0,q.jsx)(`span`,{className:`meta`,children:`no data`})]}),(0,q.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,q.jsx)(`div`,{style:{color:`var(--text-dim)`,fontSize:11,padding:`8px 4px`},children:`No daily activity to render.`})})]}):(0,q.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=>pc(t,e,o.length);return(0,q.jsxs)(`div`,{className:`crm-section`,children:[(0,q.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[r.netBarsHeading,(0,q.jsx)(`span`,{className:`meta`,children:r.netBarsCaption})]}),(0,q.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,q.jsxs)(`svg`,{viewBox:`0 0 ${i.width} ${i.height}`,width:`100%`,height:i.height,"aria-label":`Per-day net dollar chart, ${ic(o)}`,children:[(0,q.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,q.jsxs)(`g`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`pos`,children:[(0,q.jsx)(`rect`,{x:r,y:a-t,width:i,height:t,fill:`var(--accent-green)`,rx:2}),o>0&&(0,q.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,q.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`:H.calDate(e.date);return(0,q.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=>pc(t,e,o.length);return(0,q.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${i.width} ${i.height}`,preserveAspectRatio:`none`,"aria-label":`Net dollar bars, ${ic(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,q.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 vc=[`net_negative`,`cache_drop`];function yc(e,t=vc){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 bc(e){return e===`anomalous`?`⚠`:e===`clean`?`✓`:`·`}function xc(e){return e===`anomalous`?`flag-warn`:e===`clean`?`flag-ok`:`flag-none`}function Sc(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 Cc(e){return e.anomaly_predicates??vc}function wc(e){let t=e.today.baseline_daily_row_count<5,n=e.today.anomaly_triggered&&!t,r=yc(e.today,Cc(e));return{insufficient:t,chromeAmber:n,todayObserved:r.observed,today:r}}var Tc=`var(--accent-teal)`,Ec=`var(--accent-amber)`,Dc=`var(--accent-green)`;function Oc({section:e}){let t=e.value,n=uc(e.source),r=t?.days.reduce((e,t)=>e+t.net_usd,0)??0,i=t==null?null:wc(t);return(0,q.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,q.jsxs)(`div`,{className:`source-provider-head`,children:[(0,q.jsxs)(`h3`,{className:`sr-only`,id:`cache-report-panel-${e.source}-heading`,children:[e.label,` cache report`]}),(0,q.jsx)(Bo,{source:e.source}),e.status!==`available`&&(0,q.jsx)(`span`,{className:`provider-section-status`,children:e.status})]}),t==null?(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`provider-summary-kpis`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`provider-summary-label`,children:n.percentLabel}),(0,q.jsx)(`strong`,{className:`provider-summary-value`,children:i.todayObserved?oc(t.today,e.source)??`—`:`—`})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`span`,{className:`provider-summary-label`,children:[t.window_days,`d net`]}),(0,q.jsx)(`strong`,{className:r<0?`provider-summary-value warn`:`provider-summary-value ok`,children:H.usdSigned(r)})]})]}),(0,q.jsxs)(`div`,{className:`provider-summary-foot`,children:[(0,q.jsx)(`span`,{children:i.insufficient?`~ Building baseline · ${t.today.baseline_daily_row_count}/5`:i.chromeAmber?`⚠ anomaly`:i.todayObserved?`✓ healthy`:`· no activity today`}),(0,q.jsxs)(`span`,{children:[t.window_days,`d native report`]})]}),e.reason&&(0,q.jsx)(`div`,{className:`provider-section-reason`,children:e.reason})]})]})}function kc(){let e=ui(),t=(0,_.useSyncExternalStore)(G,()=>W().activeSource),n=vi(),r=fi(t,di(t)),i=n?` cache-report-collapsed`:``,a=()=>{K({type:`OPEN_MODAL`,kind:`cache-report`})},o=zo(e,t);if(t===`all`)return(0,q.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:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsxs)(`h2`,{style:{color:Tc},children:[`Cache Report `,(0,q.jsx)(`span`,{className:`sub`,children:`by provider`})]})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-body source-all-sections provider-composition provider-composition--panel`,children:o.sections.map(e=>(0,q.jsx)(Oc,{section:e},e.source))})]});let s=o.sections[0],c=s?.value??null,l=uo(e,t).hydrating,u=s&&s.status!==`available`?(0,q.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=uc(t);if(!c&&l&&!p)return(0,q.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:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsxs)(`h2`,{style:{color:Tc},children:[`Cache Report `,(0,q.jsx)(`span`,{className:`sub`,children:`(loading)`})]})]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsx)(`div`,{className:`panel-body`,children:(0,q.jsx)(is,{lines:2})})]});if(p){let e=s?.status===`empty`||f,n=e?null:u,r=e?null:d;return(0,q.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:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsx)(`h2`,{style:{color:Tc},children:`Cache Report`}),n]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`cr-status-row`,children:[(0,q.jsx)(`span`,{className:`cr-glyph empty`,"aria-hidden":`true`,children:`−`}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`cr-headline`,children:[`No `,s?.label??`Claude`,` activity yet`]}),(0,q.jsx)(`div`,{className:`cr-subline`,children:`Run a session to start tracking`}),r&&(0,q.jsx)(`div`,{className:`cr-subline`,children:r})]})]})]})}if(!c)return(0,q.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:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsx)(`h2`,{style:{color:Ec},children:`Cache Report`}),u]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`cr-status-row`,children:[(0,q.jsx)(`span`,{className:`cr-glyph fail`,"aria-hidden":`true`,children:`!`}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`cr-headline`,children:`Cache Report unavailable`}),(0,q.jsx)(`div`,{className:`cr-subline`,children:`The snapshot could not be built. Retrying on the next sync.`}),d&&(0,q.jsx)(`div`,{className:`cr-subline`,children:d})]})]})]});let h=wc(c),g=c.today.anomaly_triggered,{insufficient:v}=h,y=h.todayObserved,b=h.chromeAmber,x=b?`accent-amber`:`accent-teal`,S=b?Ec:Tc,C=b?Ec:Dc,w,T,E=null;if(v){w={icon:`~`,cls:`thin`};let e=c.today.baseline_daily_row_count;T=(0,q.jsxs)(q.Fragment,{children:[`Building baseline · `,e,`/`,5,` days`]}),E=y?(0,q.jsxs)(q.Fragment,{children:[`Today: `,m.percentLabelInline,` `,oc(c.today,t)??`—`,` · net`,` `,H.usdSigned(c.today.net_usd)]}):(0,q.jsx)(q.Fragment,{children:`No activity today`})}else if(g){if(w={icon:`⚠`,cls:`warn`},c.today.anomaly_reasons.includes(`cache_drop`)&&c.today.delta_pp!==null){let e=H.pctFloor(Math.abs(c.today.delta_pp));T=(0,q.jsxs)(q.Fragment,{children:[`Today: `,m.percentLabelInline,` `,(0,q.jsxs)(`span`,{className:`delta-bad`,children:[`↓ `,e,`pp`]})]})}else T=(0,q.jsxs)(q.Fragment,{children:[`Today: net`,` `,(0,q.jsx)(`span`,{className:`delta-bad`,children:H.usdSigned(c.today.net_usd)})]});E=(0,q.jsxs)(q.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:H.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,q.jsx)(`span`,{className:`warn`,children:H.usdSigned(c.today.net_usd)})]})}else y?(w={icon:`✓`,cls:`ok`},T=(0,q.jsxs)(q.Fragment,{children:[`Today: `,m.percentLabelInline,` `,(0,q.jsx)(`span`,{className:`delta-good`,children:oc(c.today,t)??`—`})]}),E=(0,q.jsxs)(q.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:H.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,q.jsx)(`span`,{className:`ok`,children:H.usdSigned(c.today.net_usd)})]})):(w={icon:`·`,cls:`thin`},T=(0,q.jsx)(q.Fragment,{children:`No activity today`}),E=(0,q.jsxs)(q.Fragment,{children:[`vs `,c.window_days,`d median`,` `,c.today.baseline_median_percent===null?`—`:H.pctFloor(c.today.baseline_median_percent)+`%`,` `,`· net —`]}));let D=c.days.reduce((e,t)=>e+t.net_usd,0),O=D>=0?`ok`:`warn`,k=v?(0,q.jsxs)(q.Fragment,{children:[`Watchdog activates at `,5,` days of history`]}):(0,q.jsxs)(q.Fragment,{children:[c.window_days,`d net:`,` `,(0,q.jsx)(`span`,{className:O,children:H.usdSigned(D)})]});return(0,q.jsxs)(`section`,{className:`panel ${x}${i}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,"data-source":t,role:`region`,"aria-label":`Cache Report`,onClick:Oi(a),style:{cursor:`pointer`},children:[(0,q.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,q.jsxs)(`div`,{className:`cr-panel-header-inner`,children:[(0,q.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,q.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,q.jsxs)(`h2`,{style:{color:S},children:[`Cache Report`,b&&(0,q.jsx)(`span`,{className:`sub`,children:`⚠ Today`})]}),u]}),(0,q.jsxs)(`div`,{className:`panel-header-actions`,children:[(0,q.jsx)(Da,{label:`Cache Report`,onOpen:a}),(0,q.jsx)(Sa,{})]})]}),(0,q.jsxs)(`div`,{className:`cr-status-row`,children:[(0,q.jsx)(`span`,{className:`cr-glyph ${w.cls}`,children:w.icon}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`cr-headline`,children:T}),(0,q.jsx)(`div`,{className:`cr-subline`,children:E})]})]}),!v&&c.days.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(J,{days:c.days,baseline_median_percent:c.today.baseline_median_percent,today_marker_color:C,size:`mini`,source:t}),(0,q.jsx)(`div`,{className:`cr-netbars-mini-wrap`,children:(0,q.jsx)(_c,{days:c.days,size:`mini`,source:t})})]}),(0,q.jsx)(`div`,{className:`cr-subline second`,children:k}),d&&(0,q.jsx)(`div`,{className:`provider-section-reason`,children:d})]})}var Ac={forecast:{id:`forecast`,label:`Forecast`,Component:$o,openAction:()=>K({type:`OPEN_MODAL`,kind:`forecast`})},trend:{id:`trend`,label:`Trend`,Component:us,openAction:()=>K({type:`OPEN_MODAL`,kind:`trend`})},sessions:{id:`sessions`,label:`Sessions`,Component:ys,openAction:$i},projects:{id:`projects`,label:`Projects`,Component:ks,openAction:()=>K({type:`OPEN_MODAL`,kind:`projects`})},blocks:{id:`blocks`,label:`Blocks`,Component:Ps,openAction:ea},daily:{id:`daily`,label:`Daily`,Component:Hs,openAction:()=>K({type:`OPEN_MODAL`,kind:`daily`})},weekly:{id:`weekly`,label:`Weekly`,Component:$s,openAction:()=>K({type:`OPEN_MODAL`,kind:`weekly`})},monthly:{id:`monthly`,label:`Monthly`,Component:tc,openAction:()=>K({type:`OPEN_MODAL`,kind:`monthly`})},alerts:{id:`alerts`,label:`Recent alerts`,Component:rc,openAction:()=>K({type:`OPEN_MODAL`,kind:`alerts`})},"cache-report":{id:`cache-report`,label:`Cache Report`,Component:kc,openAction:()=>K({type:`OPEN_MODAL`,kind:`cache-report`})}};function jc({onClose:e,label:t=`Close`,className:n=`modal-close`,disabled:r}){return(0,q.jsx)(`button`,{type:`button`,className:n,"aria-label":t,onClick:e,disabled:r,children:`×`})}function Mc({title:e,titleId:t,className:n=`modal-header`,headerExtras:r,onClose:i,closeLabel:a,closeClassName:o,closeDisabled:s}){return(0,q.jsxs)(`header`,{className:n,children:[(0,q.jsx)(`h2`,{id:t,tabIndex:-1,children:e}),r,i?(0,q.jsx)(jc,{onClose:i,label:a,className:o,disabled:s}):null]})}var Nc=[{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:[`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 Pc({panelOrder:e}){return(0,q.jsx)(`table`,{children:(0,q.jsxs)(`tbody`,{children:[e.map((e,t)=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:t<9?(0,q.jsx)(`kbd`,{children:String(t+1)}):t===9?(0,q.jsx)(`kbd`,{children:`0`}):(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`—`})}),(0,q.jsxs)(`td`,{children:[`Open `,Ac[e]?.label??e,` modal`]})]},e)),Nc.map(e=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:e.keys.map(e=>(0,q.jsx)(`kbd`,{children:e},e)).reduce((e,t)=>[e,` / `,t])}),(0,q.jsx)(`td`,{children:e.desc})]},e.desc)),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:`Hold + drag a card`}),(0,q.jsx)(`td`,{children:`rearrange the dashboard`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`Shift`}),`+`,(0,q.jsx)(`kbd`,{children:`↑`}),`/`,(0,q.jsx)(`kbd`,{children:`↓`})]}),(0,q.jsx)(`td`,{children:`swap focused card with neighbor`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`↑`}),`/`,(0,q.jsx)(`kbd`,{children:`↓`})]}),(0,q.jsx)(`td`,{children:`Select period (Daily / Weekly / Monthly modal)`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:`Click the hero, or focus it and press Enter or Space`}),(0,q.jsx)(`td`,{children:`Open the Current Usage modal`})]})]})})}function Fc(){return(0,q.jsx)(`table`,{className:`help-conversations`,children:(0,q.jsxs)(`tbody`,{children:[(0,q.jsx)(`tr`,{children:(0,q.jsx)(`td`,{colSpan:2,children:(0,q.jsx)(`strong`,{children:`Conversations`})})}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`j`}),` / `,(0,q.jsx)(`kbd`,{children:`k`})]}),(0,q.jsx)(`td`,{children:`move turns`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`[`}),` / `,(0,q.jsx)(`kbd`,{children:`]`})]}),(0,q.jsx)(`td`,{children:`collapse / expand all`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`g`})}),(0,q.jsx)(`td`,{children:`jump to top`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`e`}),` / `,(0,q.jsx)(`kbd`,{children:`E`})]}),(0,q.jsx)(`td`,{children:`next / prev error`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`u`}),` / `,(0,q.jsx)(`kbd`,{children:`U`})]}),(0,q.jsx)(`td`,{children:`next / prev prompt`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`b`}),` / `,(0,q.jsx)(`kbd`,{children:`B`})]}),(0,q.jsx)(`td`,{children:`next / prev subagent`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`p`}),` / `,(0,q.jsx)(`kbd`,{children:`P`})]}),(0,q.jsx)(`td`,{children:`next / prev plan / question`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`c`}),` / `,(0,q.jsx)(`kbd`,{children:`C`})]}),(0,q.jsx)(`td`,{children:`next / prev cache rebuild`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`m`}),` / `,(0,q.jsx)(`kbd`,{children:`M`})]}),(0,q.jsx)(`td`,{children:`next / prev compaction`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsxs)(`td`,{children:[(0,q.jsx)(`kbd`,{children:`h`}),` / `,(0,q.jsx)(`kbd`,{children:`H`})]}),(0,q.jsx)(`td`,{children:`next / prev reasoning heading`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`a`})}),(0,q.jsx)(`td`,{children:`jump to last prompt`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`L`})}),(0,q.jsx)(`td`,{children:`jump to last error`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`o`})}),(0,q.jsx)(`td`,{children:`toggle outline`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`v`})}),(0,q.jsx)(`td`,{children:`cycle focus mode`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`/`})}),(0,q.jsx)(`td`,{children:`find in conversation`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`f`})}),(0,q.jsx)(`td`,{children:`focus the conversation-list search`})]}),(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsx)(`kbd`,{children:`Esc`})}),(0,q.jsx)(`td`,{children:`close`})]})]})})}function Ic(){return(0,q.jsxs)(`ul`,{className:`help-gesture-list`,children:[(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Tap the chevron`}),` — expand or collapse a panel`]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Long-press a panel`}),` — drag to rearrange the dashboard`]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Tap ✕ or the dim backdrop`}),` — close a sheet (or `,(0,q.jsx)(`kbd`,{children:`Esc`}),` on tablets)`]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Tap a model chip`}),` — filter Sessions by that model`]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:`Tap the sync chip`}),` — force a fresh refresh`]})]})}function Lc(){let[e,t]=(0,_.useState)(!1),n=vi(),r=(0,_.useSyncExternalStore)(G,()=>W().prefs.panelOrder),i=(0,_.useSyncExternalStore)(G,()=>W().activeSource),a=qn(),o=(0,_.useSyncExternalStore)(G,()=>W().view),s=(0,_.useMemo)(()=>en(a,i),[a,i]),c=(0,_.useMemo)(()=>tn(r,s),[r,s]);pa([{key:`?`,scope:`global`,view:`any`,action:()=>t(e=>!e)},{key:`Escape`,scope:`overlay`,layer:1e3,action:()=>t(!1),when:()=>e}]);let l=(0,_.useRef)(null);return _a(l,{active:e}),xa(e),(0,_.useEffect)(()=>{if(e)return K({type:`INCREMENT_CHROME_OVERLAY`}),()=>K({type:`DECREMENT_CHROME_OVERLAY`})},[e]),e?(0,q.jsx)(`div`,{id:`help-overlay`,onClick:()=>t(!1),children:(0,q.jsxs)(`div`,{ref:l,className:`help-card`,onClick:e=>e.stopPropagation(),children:[(0,q.jsx)(Mc,{title:n?`Help`:`Keybindings`,className:`help-header`,onClose:()=>t(!1)}),n?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ic,{}),(0,q.jsxs)(`details`,{className:`help-keyboard-disclosure`,children:[(0,q.jsx)(`summary`,{children:`Keyboard shortcuts ▾`}),(0,q.jsx)(Pc,{panelOrder:c}),o===`conversations`&&(0,q.jsx)(Fc,{})]})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Pc,{panelOrder:c}),o===`conversations`&&(0,q.jsx)(Fc,{})]}),(0,q.jsxs)(`p`,{className:`meta`,children:[`cctally · `,(0,q.jsx)(`span`,{id:`help-server-url`,children:window.location.origin})]})]})}):null}var Rc=[`display`,`sessions`,`alerts`,`viewer`,`access`,`restore`,`cli`],zc={display:`Display & time`,sessions:`Recent Sessions`,alerts:`Alerts`,viewer:`Conversation viewer`,access:`Access & updates`,restore:`Restore defaults`,cli:`Managed from the CLI`};function Bc(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 Hc(e){return e.mode===`local`?`local`:e.mode===`utc`?`utc`:e.custom.trim()}function Uc(e){if(!e)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}).format(new Date),!0}catch{return!1}}var Wc=`Enter a whole number between 10 and 1000.`;function Gc(e){let t=e.trim();if(!/^\d+$/.test(t))return{ok:!1,message:Wc};let n=Number.parseInt(t,10);return!Number.isFinite(n)||n<10||n>1e3?{ok:!1,message:Wc}:{ok:!0,value:n}}var Kc=`Enter an amount greater than 0, or leave blank for no budget.`;function qc(e){let t=e.trim();if(t===``)return{ok:!0,value:null};if(!/^\d*\.?\d+$/.test(t))return{ok:!1,message:Kc};let n=Number(t);return!Number.isFinite(n)||n<=0?{ok:!1,message:Kc}:{ok:!0,value:n}}var Jc={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=Hc(e);return e.mode===`custom`&&!Uc(n)?!1:n===t},parse:e=>{let t=Hc(e);return e.mode===`custom`&&!Uc(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},Yc={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})},Xc={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})},Zc={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=qc(e);return n.ok&&n.value===t},parse:qc},Qc={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}]},$c={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=Gc(e);return n.ok&&n.value===t},parse:Gc,commit:e=>[{type:`SAVE_PREFS`,patch:{sessionsPerPage:e}}]},el=[Jc,Yc,Bc({id:`alerts.enabled`,label:`Enable threshold alerts`,path:`alerts.enabled`,section:`alerts`,read:e=>e.alerts.enabled}),Bc({id:`alerts.projected_enabled`,label:`Projected weekly-% pace alerts`,path:`alerts.projected_enabled`,section:`alerts`,read:e=>e.alerts.projected_weekly_enabled??!1}),Zc,Bc({id:`budget.projected_enabled`,label:`Projected budget-$ pace alerts`,path:`budget.projected_enabled`,section:`alerts`,read:e=>e.alerts.projected_budget_enabled??!1}),Bc({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}),Bc({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}),Bc({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}),Bc({id:`dashboard.cache_failure_markers`,label:`Show cache-failure markers`,path:`dashboard.cache_failure_markers`,section:`viewer`,read:e=>e.markersEnabled}),Bc({id:`dashboard.live_tail`,label:`Live-tail new turns`,path:`dashboard.live_tail`,section:`viewer`,read:e=>e.liveTail}),Bc({id:`dashboard.lan_auth`,label:`Require LAN access token`,path:`dashboard.lan_auth`,section:`access`,read:e=>e.lanAuth}),Xc,Qc,$c,{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`}]}],tl=new Map(el.map(e=>[e.id,e]));function nl(e){return tl.get(e)}var rl={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},il=new Map(el.filter(e=>e.kind===`server`).map(e=>[e.path,e.id]));function al(e){let t=il.get(e);if(t!==void 0)return{kind:`leaf`,id:t};if(Object.hasOwn(rl,e)){let t=rl[e];if(t!==null)return{kind:`group`,section:t}}return{kind:`form`}}var ol=new Set([`budget.period`,`budget.codex.amount_usd`,`budget.codex.period`,`budget.codex.alert_thresholds`]);function sl(e){let t=[],n=[];for(let r of e)il.has(r)?n.push(r):ol.has(r)&&t.push(r);return{expected:t,mismatched:n}}var cl=[{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.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(cl.map(e=>[e.key,e]));function ll({sections:e,activeId:t,onJump:n}){return(0,q.jsx)(`nav`,{className:`settings-rail`,"aria-label":`Settings sections`,children:(0,q.jsx)(`ul`,{children:e.map(e=>(0,q.jsx)(`li`,{children:(0,q.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,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:` ●`}),(0,q.jsx)(`span`,{className:`sr-only`,children:` (has unsaved changes)`})]})]})},e.id))})})}function ul(e,t,n){let[r,i]=(0,_.useState)(t[0]??null),a=t.join(`|`),o=(0,_.useRef)(t);o.current=t;let s=(0,_.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,_.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 dl(){return el.filter(e=>e.kind===`server`||e.kind===`browser`)}function fl(e){let t={},n={};for(let r of dl()){let i=r.read(e);n[r.id]=i,t[r.id]=r.toDraft(i)}let r={};for(let e of el)e.kind===`stagedAction`&&(r[e.id]=!1);return{draft:t,server:n,staged:r,sources:e}}function pl(e,t){let n={...e.draft},r={...e.server};for(let e of dl()){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 ml(e,t,n){return{...e,draft:{...e.draft,[t]:n}}}function hl(e,t){return{...e,staged:{...e.staged,[t]:!e.staged[t]}}}function gl(e,t){let n=nl(t);return n?n.kind===`stagedAction`?e.staged[t]===!0:!n.equivalent(e.draft[t],e.server[t]):!1}function _l(e){return el.filter(t=>gl(e,t.id)).map(e=>e.id)}function vl(e){return _l(e).length}function yl(e,t){return el.some(n=>n.section===t&&gl(e,n.id))}function bl(e){let t={};for(let n of dl()){let r=n.parse(e.draft[n.id]);r.ok||(t[n.id]=r.message)}return t}function xl(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 Sl(e){let t={};for(let n of el){if(n.kind!==`server`)continue;let r=n;if(!gl(e,r.id)||r.suppressed?.(e.sources))continue;let i=r.parse(e.draft[r.id]);i.ok&&xl(t,r.path,i.value)}return t}function Cl(e){let t=[];for(let n of el)if(gl(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 wl(e,t){let[n,r]=(0,_.useState)(()=>fl(e)),i=(0,_.useRef)(!1),a=(0,_.useRef)(e);a.current=e,(0,_.useEffect)(()=>{t&&!i.current?r(fl(a.current)):t&&r(e=>pl(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,_.useCallback)((e,t)=>{r(n=>ml(n,e,t))},[]),c=(0,_.useCallback)(e=>{r(t=>hl(t,e))},[]),l=(0,_.useCallback)(()=>{r(fl(a.current))},[]),u=bl(o);return{state:o,drafts:o.draft,dirtyIds:_l(o),dirtyCount:vl(o),issues:u,valid:Object.keys(u).length===0,sectionDirty:e=>yl(o,e),isDirty:e=>gl(o,e),draftOf:e=>o.draft[e],staged:e=>o.staged[e]===!0,setDraft:s,toggleStaged:c,open:l,buildBody:()=>Sl(o),localActions:()=>Cl(o)}}var Tl={weekly_pct:`Weekly %`,budget_usd:`Budget $`,codex_budget_usd:`Codex $`};function El(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 Dl={"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`,"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`},Ol=[{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 kl(e){return[e.label,e.key,e.reason,e.command,`this machine`].join(` `)}function Al(e){return e.focus(),e.ownerDocument.activeElement===e}function jl(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 el){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 Ml(){let[e,t]=(0,_.useState)(!1),n=(0,_.useSyncExternalStore)(G,()=>W().prefs),r=(0,_.useSyncExternalStore)(G,()=>W().filterText),i=bi(),a=Ks(),o=(0,_.useSyncExternalStore)(G,()=>W().alertsConfig),s=(0,_.useSyncExternalStore)(G,()=>On(W())),c=(0,_.useSyncExternalStore)(G,()=>kn(W())),l=(0,_.useSyncExternalStore)(G,()=>An(W())),u=(0,_.useSyncExternalStore)(G,()=>jn(W())),d=(0,_.useSyncExternalStore)(G,()=>W().update.state?.method??`unknown`),f=wl({tz:i.tz,tzPinned:i.pinned,alerts:o,markersEnabled:s,liveTail:c,lanAuth:l,channel:u,sortDefault:n.sortDefault,sessionsPerPage:n.sessionsPerPage,filterText:r},e),[p,m]=(0,_.useState)(!1),[h,g]=(0,_.useState)([]),[v,y]=(0,_.useState)(null),[x,S]=(0,_.useState)(0),[C,w]=(0,_.useState)(!1),[T,E]=(0,_.useState)(!1),[D,O]=(0,_.useState)(null),[k,A]=(0,_.useState)(!1),[j,M]=(0,_.useState)(`weekly`),[N,P]=(0,_.useState)(`weekly_pct`),[F,I]=(0,_.useState)(!1),[ee,te]=(0,_.useState)(``),[L,ne]=(0,_.useState)(null),[R,re]=(0,_.useState)(0),z=(0,_.useRef)(!1);(0,_.useEffect)(()=>{e&&!z.current&&(O(null),A(!1),M(`weekly`),w(!1),I(!1),g([]),y(null),te(``)),z.current=e},[e]),(0,_.useEffect)(()=>{if(!p){S(0);return}let e=setInterval(()=>S(e=>e+1),1e3);return()=>clearInterval(e)},[p]),pa([{key:`s`,scope:`global`,view:`any`,action:()=>t(!0),when:()=>!W().openModal},{key:`Escape`,scope:`modal`,action:()=>Ie(),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 B=(0,_.useRef)(null);_a(B,{active:e});let V=(0,_.useRef)(null),ie=(0,_.useRef)(null),ae=(0,_.useRef)(null),oe=(0,_.useRef)(null),se=(0,_.useRef)(null);(0,_.useEffect)(()=>{F&&V.current?.focus()},[F]),(0,_.useEffect)(()=>{let e=B.current;if(!e)return;for(let t of Array.from(e.children))t instanceof HTMLElement&&(t.classList.contains(`settings-confirm`)||(t.inert=F));let t=e.querySelector(`.modal-body`);t&&(t.inert=F)},[F]),(0,_.useEffect)(()=>{let e=se.current;if(!e||typeof ResizeObserver>`u`)return;let t=()=>re(e.getBoundingClientRect().height);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[e]);let ce=[...el.map(e=>({key:e.id,section:e.section,index:[e.label,e.id,e.scopeWord,Dl[e.id]??``].join(` `)})),...cl.filter(e=>e.disposition!==`editable`).map(e=>({key:`manifest:${e.key}`,section:e.section,index:kl(e)})),...Ol],le=ee.trim().toLowerCase(),ue=new Set(ce.filter(e=>le===``||e.index.toLowerCase().includes(le)).map(e=>e.key)),de=e=>ce.some(t=>t.section===e&&ue.has(t.key)),fe=Rc.filter(de),pe=ul(ae,fe,R+24);if((0,_.useEffect)(()=>{L&&(jl(B.current,L)||ie.current?.focus(),ne(null))},[L]),xa(e),(0,_.useEffect)(()=>{if(e)return K({type:`INCREMENT_CHROME_OVERLAY`}),()=>K({type:`DECREMENT_CHROME_OVERLAY`})},[e]),!e)return null;let me=f.draftOf(`display.tz`),he=me.mode!==`custom`||Uc(me.custom.trim()),ge=e=>f.setDraft(`display.tz`,{...me,...e}),_e=f.draftOf(`alerts.notifier`),ve=o.command_configured??!1,ye=f.dirtyCount,be=e=>h.find(t=>t.target.kind===`leaf`&&t.target.id===e)?.message,xe=(e,t)=>{f.setDraft(e,t),g(t=>t.filter(t=>t.key!==e))},Se=e=>{let t=f.issues[e];g(n=>{let r=n.filter(t=>t.key!==e);if(!t)return r;let i=nl(e);return[...r,{key:e,message:`${i?.label??e}: ${t}`,target:{kind:`leaf`,id:e}}]})},Ce=e=>{let t=B.current,n=document.activeElement;t&&n&&n!==oe.current&&t.contains(n)&&oe.current?.focus(),te(e)},we=e=>ue.has(e),Te=e=>{if(!jl(B.current,e)){if(e.kind===`leaf`&&!ue.has(e.id)){Ce(``),ne(e);return}if(e.kind===`group`&&!de(e.section)){Ce(``),ne(e);return}ie.current?.focus()}},Ee=e=>{let t=ae.current,n=t?.querySelector(`[data-settings-section="${e}"]`);if(!t||!n)return;let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),o=Math.max(0,t.scrollHeight-t.clientHeight),s=t.scrollTop+i.top-r.top-16,c=Math.max(0,Math.min(s,o));typeof t.scrollTo==`function`?t.scrollTo({top:c,behavior:a?`auto`:`smooth`}):t.scrollTop=c,n.focus({preventScroll:!0})},De=ye===0||p,Oe=()=>{p||(I(!1),w(!1),t(!1))},ke=async()=>{let e=f.issues,t=el.filter(t=>e[t.id]!==void 0);if(t.length>0){y(null),g(t.map(t=>({key:t.id,message:`${t.label}: ${e[t.id]}`,target:{kind:`leaf`,id:t.id}}))),Te({kind:`leaf`,id:t[0].id});return}g([]),y(null);let n=f.buildBody();if(Object.keys(n).length>0){m(!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=al(t.field??`$`),r=t.error??`HTTP ${e.status}`;g([{key:t.field??`$`,message:r,target:n}]),m(!1),Te(n);return}let r=sl(t.ignored_fields??[]);if(r.mismatched.length>0){g(r.mismatched.map(e=>{let t=al(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}})),m(!1),Te(al(r.mismatched[0]));return}r.expected.length>0&&y(`Saved. ${r.expected.join(`, `)} ${r.expected.length===1?`is`:`are`} accepted here but kept in the configuration file rather than written by the dashboard.`),t.dashboard&&K({type:`INGEST_DASHBOARD_PREFS`,prefs:t.dashboard})}catch(e){g([{key:`$`,message:e instanceof Error?e.message:`unknown error`,target:{kind:`form`}}]),m(!1),Te({kind:`form`});return}m(!1)}for(let e of f.localActions())K(e);if(f.isDirty(`dashboard.lan_auth`)){w(!0);return}Oe()},Ae=()=>{let e=xn();xe(`prefs.sortDefault`,e.sortDefault),xe(`prefs.sessionsPerPage`,String(e.sessionsPerPage)),xe(`prefs.filterText`,``)},je=xn(),Me=f.draftOf(`prefs.sessionsPerPage`),Ne=f.draftOf(`prefs.sortDefault`)===je.sortDefault&&Me.trim()===String(je.sessionsPerPage)&&f.draftOf(`prefs.filterText`)===``,Pe=!!n.trendSortOverride||!!n.sessionsSortOverride||!!n.projectsSortOverride||!!n.historySortOverrides.week||!!n.historySortOverrides.month,Fe=n.panelOrder.length===nt.length&&n.panelOrder.every((e,t)=>e===nt[t]),Ie=()=>{if(!p){if(F){I(!1);return}if(ye>0){I(!0);return}Oe()}},Le=e=>e?(0,q.jsxs)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:[` `,`●`]}):null,Re=(...e)=>e.some(e=>f.isDirty(e)),ze=f.isDirty(`display.tz`),Be=f.isDirty(`alerts.notifier`),Ve=Re(`alerts.enabled`,`alerts.projected_enabled`,`budget.weekly_usd`,`budget.projected_enabled`,`budget.project_alerts_enabled`),He=Re(`budget.codex.alerts_enabled`,`budget.codex.projected_enabled`),Ue=Re(`dashboard.cache_failure_markers`,`dashboard.live_tail`),We=f.isDirty(`dashboard.lan_auth`),Ge=f.isDirty(`update.channel`),Ke=f.isDirty(`prefs.sortDefault`),qe=f.isDirty(`prefs.sessionsPerPage`),Je=f.isDirty(`prefs.filterText`),H=Re(`restore.tableSort`,`restore.cardOrder`),Ye=p?x>=3?`Still saving and refreshing… ${x}s elapsed. A large history can make this take a while; the dashboard is not stuck.`:``:v??(ye===0?``:`${ye} unsaved change${ye===1?``:`s`}.`),Xe=e=>e===`browser`?(0,q.jsx)(`span`,{className:`settings-scope`,children:` (this browser)`}):(0,q.jsx)(`span`,{className:`sr-only`,children:` Scope: this machine.`}),Ze=e=>(0,q.jsx)(`code`,{className:`settings-key`,children:e}),Qe=e=>(0,q.jsxs)(`div`,{className:`settings-disclosure`,children:[(0,q.jsxs)(`p`,{className:`settings-disclosure-label`,children:[e.label,` `,Ze(e.key),Xe(`machine`)]}),(0,q.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,q.jsxs)(`p`,{className:`settings-hint`,children:[`Default: `,(0,q.jsx)(`code`,{children:e.defaultText})]}),(0,q.jsxs)(`p`,{className:`settings-command`,children:[`Run: `,(0,q.jsx)(`code`,{children:e.command})]})]},e.key),$e=e=>cl.filter(t=>t.section===e&&t.disposition!==`editable`&&we(`manifest:${t.key}`)).map(Qe),et=(e,t)=>(0,q.jsxs)(`h3`,{className:`settings-section-title`,id:`settings-h-${e}`,"data-settings-section":e,tabIndex:-1,children:[zc[e],t&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`fs-changed`,"aria-hidden":`true`,children:` ●`}),(0,q.jsx)(`span`,{className:`sr-only`,children:` (has unsaved changes)`})]})]}),tt=fe.map(e=>({id:e,title:zc[e],dirty:f.sectionDirty(e)})),rt=f.dirtyIds.filter(e=>!ue.has(e)),it=ue.size,at=ce.length,ot=le===``?`${at} settings`:`${it} of ${at} settings match “${ee.trim()}”`;return(0,q.jsxs)(`div`,{id:`settings-root`,children:[(0,q.jsx)(`div`,{className:`modal-backdrop`,onClick:Ie}),(0,q.jsxs)(`div`,{ref:B,className:`modal-card accent-orange settings-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,tabIndex:-1,children:[(0,q.jsx)(Mc,{title:`Settings`,titleId:`settings-title`,onClose:Oe,closeDisabled:p}),(0,q.jsxs)(`div`,{className:`settings-chrome`,children:[(0,q.jsxs)(`div`,{className:`settings-search`,role:`search`,children:[(0,q.jsx)(`label`,{htmlFor:`settings-filter`,children:`Find a setting`}),(0,q.jsx)(`input`,{ref:oe,id:`settings-filter`,type:`search`,value:ee,"aria-controls":`settings-scroller`,"aria-describedby":`settings-filter-count`,placeholder:`name, key path, or “browser”`,onChange:e=>Ce(e.target.value)})]}),(0,q.jsx)(`p`,{className:`settings-filter-count`,id:`settings-filter-count`,"aria-live":`polite`,"aria-atomic":`true`,children:ot}),rt.length>0&&(0,q.jsxs)(`p`,{className:`settings-hidden-dirty`,children:[rt.length===1?`1 unsaved change is hidden by this filter.`:`${rt.length} unsaved changes are hidden by this filter.`,` `,(0,q.jsx)(`button`,{type:`button`,className:`settings-link-btn`,onClick:()=>Ce(``),children:`Show all settings`})]})]}),(0,q.jsxs)(`div`,{className:`settings-main`,children:[(0,q.jsx)(ll,{sections:tt,activeId:pe,onJump:Ee}),(0,q.jsxs)(`div`,{className:`modal-body`,id:`settings-scroller`,ref:ae,children:[fe.length===0&&(0,q.jsxs)(`p`,{className:`settings-empty`,children:[`No setting matches “`,ee.trim(),`”. Try a shorter word, a dotted key path such as `,(0,q.jsx)(`code`,{children:`budget.weekly_usd`}),`, or`,` `,(0,q.jsx)(`button`,{type:`button`,className:`settings-link-btn`,onClick:()=>Ce(``),children:`show all settings`}),`.`]}),de(`display`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-display`,children:[et(`display`,f.sectionDirty(`display`)),we(`display.tz`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${ze?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Display timezone `,Ze(`display.tz`),Xe(`machine`),Le(ze)]}),i.pinned&&(0,q.jsx)(`small`,{children:`Pinned by --tz flag — restart the server without --tz to change here.`}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`local`,checked:me.mode===`local`,onChange:()=>ge({mode:`local`}),disabled:i.pinned}),` `,`Local (`,i.resolvedTz,`)`]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`utc`,checked:me.mode===`utc`,onChange:()=>ge({mode:`utc`}),disabled:i.pinned}),` `,`UTC`]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`custom`,checked:me.mode===`custom`,onChange:()=>ge({mode:`custom`}),disabled:i.pinned}),` `,`Custom`]}),(0,q.jsx)(`label`,{className:`settings-row`,htmlFor:`settings-tz-custom`,children:`Custom zone`}),(0,q.jsx)(`input`,{id:`settings-tz-custom`,type:`text`,"data-settings-field":`display.tz`,value:me.custom,onChange:e=>ge({custom:e.target.value}),onBlur:()=>Se(`display.tz`),disabled:me.mode!==`custom`||i.pinned,placeholder:`America/New_York`,"aria-invalid":be(`display.tz`)!==void 0}),me.mode===`custom`&&me.custom.trim()&&he&&(0,q.jsxs)(`small`,{children:[`resolves to: `,El(me.custom.trim())]})]}),$e(`display`)]}),de(`sessions`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-sessions`,children:[et(`sessions`,f.sectionDirty(`sessions`)),we(`prefs.sortDefault`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Ke?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Sort default`,Xe(`browser`),Le(Ke)]}),bn.map(({key:e,label:t})=>(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`sort-default`,value:e,"data-settings-field":e===bn[0].key?`prefs.sortDefault`:void 0,checked:f.draftOf(`prefs.sortDefault`)===e,onChange:()=>xe(`prefs.sortDefault`,e)}),` `,t]},e))]}),we(`prefs.filterText`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Je?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Remembered filter term`,Xe(`browser`),Le(Je)]}),(0,q.jsx)(`label`,{className:`settings-row`,htmlFor:`settings-filter-term`,children:`Remembered filter term`}),(0,q.jsx)(`input`,{id:`settings-filter-term`,type:`text`,placeholder:`(none)`,"data-settings-field":`prefs.filterText`,value:f.draftOf(`prefs.filterText`),onChange:e=>xe(`prefs.filterText`,e.target.value)})]}),we(`prefs.sessionsPerPage`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${qe?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Sessions per page`,Xe(`browser`),Le(qe)]}),(0,q.jsx)(`label`,{className:`settings-row`,htmlFor:`settings-per-page`,children:`Sessions per page`}),(0,q.jsx)(`input`,{id:`settings-per-page`,type:`number`,min:10,max:1e3,"data-settings-field":`prefs.sessionsPerPage`,value:Me,onChange:e=>xe(`prefs.sessionsPerPage`,e.target.value),onBlur:()=>Se(`prefs.sessionsPerPage`),"aria-invalid":be(`prefs.sessionsPerPage`)!==void 0})]}),$e(`sessions`)]}),de(`alerts`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-alerts`,children:[et(`alerts`,f.sectionDirty(`alerts`)),we(`alerts.notifier`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Be?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Notifications `,Ze(`alerts.notifier`),Xe(`machine`),Le(Be)]}),(0,q.jsxs)(`label`,{className:`settings-row`,children:[`Notifier`,` `,(0,q.jsxs)(`select`,{className:`settings-btn settings-select`,value:_e,"aria-label":`Alert notifier`,"data-settings-field":`alerts.notifier`,onChange:e=>xe(`alerts.notifier`,e.target.value),children:[(0,q.jsx)(`option`,{value:`auto`,children:`Auto-detect`}),(0,q.jsx)(`option`,{value:`osascript`,children:`macOS (osascript)`}),(0,q.jsx)(`option`,{value:`notify-send`,children:`Linux (notify-send)`}),(0,q.jsxs)(`option`,{value:`command`,disabled:!ve,children:[`Custom command`,ve?``:` (set via CLI)`]}),(0,q.jsx)(`option`,{value:`none`,children:`None (log only)`})]})]}),ve&&(0,q.jsx)(`p`,{className:`settings-hint`,children:`Custom command configured (edit via CLI).`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`The notifier backend applies to all alert dispatches (Claude and Codex).`})]}),(we(`alerts.enabled`)||we(`alerts.projected_enabled`)||we(`budget.weekly_usd`)||we(`budget.projected_enabled`)||we(`budget.project_alerts_enabled`))&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Ve?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Claude alerts`,Xe(`machine`),Le(Ve)]}),we(`alerts.enabled`)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`alerts-enabled`,"data-settings-field":`alerts.enabled`,checked:f.draftOf(`alerts.enabled`),onChange:e=>xe(`alerts.enabled`,e.target.checked)}),` `,`Enable threshold alerts `,Ze(`alerts.enabled`)]}),(0,q.jsxs)(`p`,{className:`alerts-summary settings-hint`,children:[`Weekly: `,o.weekly_thresholds.map(e=>`${e}%`).join(`, `),` · `,`5h-block:`,` `,o.five_hour_thresholds.map(e=>`${e}%`).join(`, `),` · `,`Budget:`,` `,(o.budget_thresholds??[]).map(e=>`${e}%`).join(`, `)||`—`]})]}),we(`alerts.projected_enabled`)&&(0,q.jsxs)(`div`,{className:`settings-subgroup`,children:[(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`projected-weekly-enabled`,"data-settings-field":`alerts.projected_enabled`,checked:f.draftOf(`alerts.projected_enabled`),onChange:e=>xe(`alerts.projected_enabled`,e.target.checked)}),` `,`Projected weekly-% pace alerts `,Ze(`alerts.projected_enabled`),Xe(`machine`)]}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Pace is where the week is heading if the last day's rate continues to the reset.`})]}),(we(`budget.weekly_usd`)||we(`budget.projected_enabled`)||we(`budget.project_alerts_enabled`))&&(0,q.jsxs)(`div`,{className:`settings-subgroup`,role:`group`,"aria-label":`Claude budget alerts`,children:[(0,q.jsx)(`p`,{className:`settings-subgroup-label`,children:`Claude budget`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Fire when a configured budget's pace or spend crosses a threshold.`}),we(`budget.weekly_usd`)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{className:`settings-row`,htmlFor:`settings-weekly-budget`,children:[`Weekly budget (equivalent $) `,Ze(`budget.weekly_usd`),Xe(`machine`)]}),(0,q.jsx)(`input`,{id:`settings-weekly-budget`,type:`text`,inputMode:`decimal`,"data-settings-field":`budget.weekly_usd`,value:f.draftOf(`budget.weekly_usd`),onChange:e=>xe(`budget.weekly_usd`,e.target.value),onBlur:()=>Se(`budget.weekly_usd`),placeholder:`none`,"aria-invalid":be(`budget.weekly_usd`)!==void 0,"aria-describedby":`settings-weekly-budget-help`}),(0,q.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.`}),o.weekly_usd===null&&(0,q.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.`})]}),we(`budget.projected_enabled`)&&(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`projected-budget-enabled`,"data-settings-field":`budget.projected_enabled`,checked:f.draftOf(`budget.projected_enabled`),onChange:e=>xe(`budget.projected_enabled`,e.target.checked)}),` `,`Projected budget-$ pace alerts `,Ze(`budget.projected_enabled`),Xe(`machine`)]}),we(`budget.project_alerts_enabled`)&&(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`project-alerts-enabled`,"data-settings-field":`budget.project_alerts_enabled`,checked:f.draftOf(`budget.project_alerts_enabled`),onChange:e=>xe(`budget.project_alerts_enabled`,e.target.checked)}),` `,`Per-project budget alerts `,Ze(`budget.project_alerts_enabled`),Xe(`machine`)]})]})]}),(we(`budget.codex.alerts_enabled`)||we(`budget.codex.projected_enabled`))&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${He?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Codex alerts`,Xe(`machine`),Le(He)]}),(0,q.jsxs)(`div`,{className:`settings-subgroup`,role:`group`,"aria-label":`Codex budget alerts`,children:[(0,q.jsx)(`p`,{className:`settings-subgroup-label`,children:`Codex budget`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Codex's figure is ACTUAL API charges, unlike Claude's equivalent-dollar budget above.`}),we(`budget.codex.alerts_enabled`)&&(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`codex-budget-alerts-enabled`,"data-settings-field":`budget.codex.alerts_enabled`,checked:f.draftOf(`budget.codex.alerts_enabled`),disabled:!o.codex_budget_configured,onChange:e=>xe(`budget.codex.alerts_enabled`,e.target.checked)}),` `,`Codex budget alerts `,Ze(`budget.codex.alerts_enabled`),Xe(`machine`)]}),we(`budget.codex.projected_enabled`)&&(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`codex-projected-enabled`,"data-settings-field":`budget.codex.projected_enabled`,checked:f.draftOf(`budget.codex.projected_enabled`),disabled:!o.codex_budget_configured,onChange:e=>xe(`budget.codex.projected_enabled`,e.target.checked)}),` `,`Codex projected-pace alerts `,Ze(`budget.codex.projected_enabled`),Xe(`machine`)]}),!o.codex_budget_configured&&(0,q.jsxs)(`p`,{className:`settings-hint`,children:[`Set a Codex budget via the CLI first:`,` `,(0,q.jsx)(`code`,{children:`cctally budget set 200 --vendor codex`})]})]}),(0,q.jsxs)(`p`,{className:`settings-hint`,children:[`Codex quota-threshold alert rules are not configurable here — manage them via the CLI (`,(0,q.jsx)(`code`,{children:`cctally codex quota …`}),`).`]})]}),we(`action.test`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs settings-fs-subordinate`,children:[(0,q.jsx)(`legend`,{children:`Send a test alert`}),(0,q.jsxs)(`div`,{className:`alerts-test-row`,children:[(0,q.jsxs)(`label`,{children:[`Alert type`,` `,(0,q.jsx)(`select`,{className:`settings-btn settings-select`,value:j,disabled:T,"aria-label":`Alert type`,onChange:e=>M(e.target.value),children:Object.keys(b).map(e=>(0,q.jsx)(`option`,{value:e,children:b[e]},e))})]}),` `,j===`projected`&&(0,q.jsxs)(`label`,{children:[`Metric`,` `,(0,q.jsx)(`select`,{className:`settings-btn settings-select`,value:N,disabled:T,"aria-label":`Metric`,onChange:e=>P(e.target.value),children:Object.keys(Tl).map(e=>(0,q.jsx)(`option`,{value:e,children:Tl[e]},e))})]}),` `,(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,disabled:T,onClick:async()=>{E(!0),O(null),A(!1);try{let e=await fetch(`/api/alerts/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({axis:j,threshold:90,...j===`projected`?{metric:N}:{}})}),t=await e.json().catch(()=>({}));t.alert&&K({type:`SHOW_ALERT_TOAST`,alert:t.alert}),t.dispatch===`queued`?A(!0):O(t.dispatch??t.reason??`HTTP ${e.status}`)}catch(e){O(e instanceof Error?e.message:`unknown error`)}E(!1)},children:T?`Sending…`:`Send test alert`}),(0,q.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.`})]})]}),$e(`alerts`)]}),de(`viewer`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-viewer`,children:[et(`viewer`,f.sectionDirty(`viewer`)),(we(`dashboard.cache_failure_markers`)||we(`dashboard.live_tail`))&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Ue?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Conversation viewer`,Xe(`machine`),Le(Ue)]}),we(`dashboard.cache_failure_markers`)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`cache-failure-markers`,"data-settings-field":`dashboard.cache_failure_markers`,checked:f.draftOf(`dashboard.cache_failure_markers`),onChange:e=>xe(`dashboard.cache_failure_markers`,e.target.checked)}),` `,`Show cache-failure markers `,Ze(`dashboard.cache_failure_markers`),Xe(`machine`)]}),(0,q.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.`})]}),we(`dashboard.live_tail`)&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`live-tail`,"data-settings-field":`dashboard.live_tail`,checked:f.draftOf(`dashboard.live_tail`),onChange:e=>xe(`dashboard.live_tail`,e.target.checked)}),` `,`Live-tail new turns `,Ze(`dashboard.live_tail`),Xe(`machine`)]}),(0,q.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.`})]})]}),$e(`viewer`)]}),de(`access`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-access`,children:[et(`access`,f.sectionDirty(`access`)),we(`dashboard.lan_auth`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${We?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Dashboard access`,Xe(`machine`),Le(We)]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`checkbox`,name:`lan-auth`,"data-settings-field":`dashboard.lan_auth`,checked:f.draftOf(`dashboard.lan_auth`),onChange:e=>{xe(`dashboard.lan_auth`,e.target.checked),w(!1)}}),` `,`Require LAN access token `,Ze(`dashboard.lan_auth`),Xe(`machine`)]}),(0,q.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.`})]}),we(`update.channel`)&&(0,q.jsxs)(`fieldset`,{className:`settings-fs${Ge?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Update channel `,Ze(`update.channel`),Xe(`machine`),Le(Ge)]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`update-channel`,value:`stable`,"data-settings-field":`update.channel`,checked:f.draftOf(`update.channel`)===`stable`,onChange:()=>xe(`update.channel`,`stable`)}),` `,`Stable`]}),(0,q.jsxs)(`label`,{children:[(0,q.jsx)(`input`,{type:`radio`,name:`update-channel`,value:`beta`,checked:f.draftOf(`update.channel`)===`beta`,onChange:()=>xe(`update.channel`,`beta`)}),` `,`Beta`]}),(0,q.jsxs)(`p`,{className:`settings-hint`,children:[`Beta receives every release as it ships; stable only the maintainer-promoted ones.`,d===`brew`?` This install came from Homebrew, which always tracks stable.`:``]})]}),$e(`access`)]}),de(`restore`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-restore`,children:[et(`restore`,f.sectionDirty(`restore`)),(0,q.jsxs)(`fieldset`,{className:`settings-fs${H?` is-changed`:``}`,children:[(0,q.jsxs)(`legend`,{children:[`Restore defaults`,Xe(`browser`),Le(H)]}),we(`restore.viewPrefs`)&&(0,q.jsxs)(`div`,{className:`settings-restore-row settings-restore-immediate`,children:[(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:Ae,disabled:Ne,children:`Restore view preferences`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Fills the three Recent Sessions fields with their defaults right now; nothing is stored until you Save.`})]}),we(`restore.tableSort`)&&(0,q.jsxs)(`div`,{className:`settings-restore-row`,children:[(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,"aria-pressed":f.staged(`restore.tableSort`),onClick:()=>f.toggleStaged(`restore.tableSort`),disabled:!Pe&&!f.staged(`restore.tableSort`),children:f.staged(`restore.tableSort`)?`Table column sorting — staged ✓`:`Table column sorting`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Clears $/1% Trend, Recent Sessions, Projects & Weekly/Monthly column-click sorting on Save.`})]}),we(`restore.cardOrder`)&&(0,q.jsxs)(`div`,{className:`settings-restore-row`,children:[(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,"aria-pressed":f.staged(`restore.cardOrder`),onClick:()=>f.toggleStaged(`restore.cardOrder`),disabled:Fe&&!f.staged(`restore.cardOrder`),children:f.staged(`restore.cardOrder`)?`Card order — staged ✓`:`Card order`}),(0,q.jsx)(`p`,{className:`settings-hint`,children:`Restores the default panel arrangement on Save.`})]})]}),$e(`restore`)]}),de(`cli`)&&(0,q.jsxs)(`section`,{className:`settings-section`,"aria-labelledby":`settings-h-cli`,children:[et(`cli`,!1),(0,q.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.`}),$e(`cli`)]})]})]}),(0,q.jsxs)(`div`,{className:`settings-feedback`,children:[p&&(0,q.jsx)(`div`,{className:`settings-saving-bar`,"aria-hidden":`true`}),(0,q.jsx)(`p`,{className:`settings-status`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:Ye}),k&&(0,q.jsx)(`p`,{className:`settings-ok`,children:`Test alert dispatched ✓`}),C&&(0,q.jsx)(`p`,{className:`settings-ok`,children:`Saved. Restart the dashboard to apply LAN access authentication.`}),(0,q.jsxs)(`div`,{ref:ie,className:`settings-error-summary${h.length>0||D?` is-populated`:``}`,role:`alert`,"aria-live":`assertive`,tabIndex:-1,children:[D&&(0,q.jsxs)(`p`,{className:`settings-error-title`,children:[`Test failed: `,D]}),h.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`settings-error-title`,children:h.length===1?`1 problem to fix`:`${h.length} problems to fix`}),(0,q.jsx)(`ul`,{className:`settings-error-list`,children:h.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(`button`,{type:`button`,className:`settings-error-link`,onClick:()=>Te(e.target),children:e.message})},e.key))})]})]})]}),(0,q.jsxs)(`div`,{className:`settings-actions`,ref:se,children:[(0,q.jsx)(`button`,{className:`settings-btn`,id:`settings-save`,type:`button`,onClick:ke,disabled:De,children:p?`Saving…`:ye===0?`Save`:`Save · ${ye} change${ye===1?``:`s`}`}),(0,q.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:Oe,disabled:p,children:`Cancel`}),(0,q.jsxs)(`p`,{className:`settings-scope-note`,children:[`Changes apply to this machine unless marked `,(0,q.jsx)(`em`,{children:`this browser`}),`.`]})]}),F&&(0,q.jsx)(`div`,{className:`settings-confirm`,role:`alertdialog`,"aria-modal":`true`,"aria-labelledby":`settings-confirm-title`,children:(0,q.jsxs)(`div`,{className:`settings-confirm-card`,children:[(0,q.jsxs)(`p`,{id:`settings-confirm-title`,children:[`Discard `,ye,` unsaved change`,ye===1?``:`s`,`?`]}),(0,q.jsxs)(`div`,{className:`settings-confirm-actions`,children:[(0,q.jsx)(`button`,{ref:V,className:`settings-btn`,type:`button`,onClick:()=>I(!1),children:`Keep editing`}),(0,q.jsx)(`button`,{className:`settings-btn settings-btn-danger`,type:`button`,onClick:Oe,children:`Discard`})]})]})})]})]})}var Nl=8e3,Pl=`New: hold any card to rearrange the dashboard.`,Fl=`Tap to drill in · long-press to rearrange · ⟳ to refresh`;function Il({suppressed:e=!1}={}){let t=vi(),n=(0,_.useSyncExternalStore)(G,()=>W().prefs.onboardingToastSeen),r=(0,_.useSyncExternalStore)(G,()=>W().prefs.mobileOnboardingToastSeen),i=t?r:n,a=t?`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:`MARK_ONBOARDING_TOAST_SEEN`,o=t?Fl:Pl;return(0,_.useEffect)(()=>{if(i)return;let e=setTimeout(()=>K({type:a}),Nl);return()=>clearTimeout(e)},[i,a]),i?null:(0,q.jsxs)(`div`,{className:`onboarding-toast`,role:`status`,"aria-live":`polite`,hidden:e,children:[(0,q.jsx)(`span`,{className:`onboarding-toast-msg`,children:o}),(0,q.jsx)(jc,{onClose:()=>K({type:a}),label:`Dismiss`,className:`onboarding-toast-dismiss`})]})}function Ll(e){return`source`in e?e:{...e,source:`claude`,key:e.id}}var Rl=2500,zl=8e3;function Bl({alert:e,ctx:t}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`toast--alert-title`,children:e.axis===`projected`?(0,q.jsxs)(q.Fragment,{children:[b.projected,` to reach `,e.threshold,`%`]}):e.axis===`project_budget`?(0,q.jsxs)(q.Fragment,{children:[e.context.project??`Project`,` budget `,e.threshold,`% reached`]}):e.axis===`codex_budget`?(0,q.jsxs)(q.Fragment,{children:[b.codex_budget,` `,e.threshold,`% reached`]}):(0,q.jsxs)(q.Fragment,{children:[b[e.axis],` usage `,e.threshold,`% reached`]})}),e.context.week_start_date&&(0,q.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Week starting `,H.weekStart(e.context.week_start_date,t)??`—`]}),e.context.block_start_at&&(0,q.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Block started `,H.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,q.jsxs)(`div`,{className:`toast--alert-sub`,children:[x(e.context.period),` starting`,` `,H.weekStart((e.context.period_start_at??e.context.week_start_at??``).slice(0,10),t)??`—`]}),(0,q.jsxs)(`div`,{className:`toast--alert-body`,children:[e.context.cumulative_cost_usd!=null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.cumulative_cost_usd.toFixed(2)]}),` spent`,e.context.dollars_per_percent!=null&&(0,q.jsxs)(q.Fragment,{children:[` `,`·`,` `,(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.dollars_per_percent.toFixed(2)]}),` per 1%`]})]}),e.context.block_cost_usd!=null&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.block_cost_usd.toFixed(2)]}),` in this block`,e.context.primary_model&&(0,q.jsxs)(q.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,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.spent_usd.toFixed(2)]}),` of`,` `,(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.budget_usd.toFixed(2)]}),` budget`]}),e.axis===`projected`&&(0,q.jsx)(`span`,{className:`num`,children:C(e)??`—`}),e.axis===`project_budget`&&e.context.spent_usd!=null&&e.context.budget_usd!=null&&(0,q.jsxs)(q.Fragment,{children:[e.context.project&&(0,q.jsxs)(q.Fragment,{children:[e.context.project,`: `]}),(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.spent_usd.toFixed(2)]}),` of`,` `,(0,q.jsxs)(`span`,{className:`num`,children:[`$`,e.context.budget_usd.toFixed(2)]}),` budget`]})]})]})}function Vl({row:e}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`toast--alert-title`,children:e.axis===`quota`?`Codex quota ${e.threshold}% reached`:e.axis===`projected`?`Codex projected to reach ${e.threshold}%`:`Codex budget ${e.threshold}% reached`}),e.axis!==`quota`&&(0,q.jsxs)(`div`,{className:`toast--alert-body`,children:[(0,q.jsxs)(`span`,{className:`num`,children:[Math.round(e.value),`%`]}),` of budget`]})]})}function Hl(){let e=(0,_.useSyncExternalStore)(G,()=>W().toast),t=bi(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel};(0,_.useEffect)(()=>{if(e==null)return;let t=e.kind===`alert`?zl:Rl,n=window.setTimeout(()=>K({type:`HIDE_TOAST`}),t);return()=>window.clearTimeout(n)},[e]);let r=e?.kind===`alert`?Ll(e.payload):null,i=r?F(r):null;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Il,{suppressed:e!=null}),e?.kind===`status`&&(0,q.jsx)(`div`,{className:`toast`,role:`status`,"aria-live":`polite`,children:e.text}),r&&i&&(0,q.jsxs)(`div`,{className:`toast toast--alert toast--severity-${i.severity}`,role:`alert`,onClick:()=>K({type:`HIDE_TOAST`}),children:[(0,q.jsxs)(`div`,{className:`toast--alert-head`,children:[(0,q.jsx)(`span`,{className:`chip ${i.chipClass}`,children:i.chipLabel}),(0,q.jsx)(`span`,{className:`source-chip source-chip--${i.source}`,children:i.sourceLabel}),(0,q.jsxs)(`span`,{className:`toast--alert-threshold num`,children:[i.threshold,`%`]}),(0,q.jsx)(`span`,{className:`toast--alert-dismiss-hint`,children:`click to dismiss`})]}),r.source===`claude`?(0,q.jsx)(Bl,{alert:r,ctx:n}):(0,q.jsx)(Vl,{row:r})]})]})}var Ul=l(h());function Wl(){var e=[...arguments];return(0,_.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Gl=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Kl(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function ql(e){return`nodeType`in e}function Jl(e){return e?Kl(e)?e:ql(e)?e.ownerDocument?.defaultView??window:window:window}function Yl(e){let{Document:t}=Jl(e);return e instanceof t}function Xl(e){return Kl(e)?!1:e instanceof Jl(e).HTMLElement}function Zl(e){return e instanceof Jl(e).SVGElement}function Ql(e){return e?Kl(e)?e.document:ql(e)?Yl(e)?e:Xl(e)||Zl(e)?e.ownerDocument:document:document:document}var $l=Gl?_.useLayoutEffect:_.useEffect;function eu(e){let t=(0,_.useRef)(e);return $l(()=>{t.current=e}),(0,_.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function tu(){let e=(0,_.useRef)(null);return[(0,_.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,_.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function nu(e,t){t===void 0&&(t=[e]);let n=(0,_.useRef)(e);return $l(()=>{n.current!==e&&(n.current=e)},t),n}function ru(e,t){let n=(0,_.useRef)();return(0,_.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function iu(e){let t=eu(e),n=(0,_.useRef)(null);return[n,(0,_.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function au(e){let t=(0,_.useRef)();return(0,_.useEffect)(()=>{t.current=e},[e]),t.current}var ou={};function su(e,t){return(0,_.useMemo)(()=>{if(t)return t;let n=ou[e]==null?0:ou[e]+1;return ou[e]=n,e+`-`+n},[e,t])}function cu(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 lu=cu(1),uu=cu(-1);function du(e){return`clientX`in e&&`clientY`in e}function fu(e){if(!e)return!1;let{KeyboardEvent:t}=Jl(e.target);return t&&e instanceof t}function pu(e){if(!e)return!1;let{TouchEvent:t}=Jl(e.target);return t&&e instanceof t}function mu(e){if(pu(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 du(e)?{x:e.clientX,y:e.clientY}:null}var hu=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[hu.Translate.toString(e),hu.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),gu=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function _u(e){return e.matches(gu)?e:e.querySelector(gu)}var vu={display:`none`};function yu(e){let{id:t,value:n}=e;return _.createElement(`div`,{id:t,style:vu},n)}function bu(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return _.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 xu(){let[e,t]=(0,_.useState)(``);return{announce:(0,_.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Su=(0,_.createContext)(null);function Cu(e){let t=(0,_.useContext)(Su);(0,_.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function wu(){let[e]=(0,_.useState)(()=>new Set),t=(0,_.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,_.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Tu={draggable:`
9
9
  To pick up a draggable item, press the space bar.
10
10
  While dragging, use the arrow keys to move the item.
11
11
  Press space again to drop the item in its new position, or press escape to cancel.