herm-tui 1.6.0-dev.2 → 1.6.0-dev.4

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.
Files changed (2) hide show
  1. package/index.js +19 -19
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -7,7 +7,7 @@ var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defP
7
7
  `);for(namePropDescriptor=RunInRootFrame=0;RunInRootFrame<sampleLines.length&&!sampleLines[RunInRootFrame].includes("DetermineComponentFrameRoot");)RunInRootFrame++;for(;namePropDescriptor<controlLines.length&&!controlLines[namePropDescriptor].includes("DetermineComponentFrameRoot");)namePropDescriptor++;if(RunInRootFrame===sampleLines.length||namePropDescriptor===controlLines.length)for(RunInRootFrame=sampleLines.length-1,namePropDescriptor=controlLines.length-1;1<=RunInRootFrame&&0<=namePropDescriptor&&sampleLines[RunInRootFrame]!==controlLines[namePropDescriptor];)namePropDescriptor--;for(;1<=RunInRootFrame&&0<=namePropDescriptor;RunInRootFrame--,namePropDescriptor--)if(sampleLines[RunInRootFrame]!==controlLines[namePropDescriptor]){if(RunInRootFrame!==1||namePropDescriptor!==1)do if(RunInRootFrame--,namePropDescriptor--,0>namePropDescriptor||sampleLines[RunInRootFrame]!==controlLines[namePropDescriptor]){var frame=`
8
8
  `+sampleLines[RunInRootFrame].replace(" at new "," at ");return fn.displayName&&frame.includes("<anonymous>")&&(frame=frame.replace("<anonymous>",fn.displayName)),frame}while(1<=RunInRootFrame&&0<=namePropDescriptor);break}}}finally{reentry=!1,Error.prepareStackTrace=previousPrepareStackTrace}return(previousPrepareStackTrace=fn?fn.displayName||fn.name:"")?describeBuiltInComponentFrame(previousPrepareStackTrace):""}function describeFiber(fiber){switch(fiber.tag){case 26:case 27:case 5:return describeBuiltInComponentFrame(fiber.type);case 16:return describeBuiltInComponentFrame("Lazy");case 13:return describeBuiltInComponentFrame("Suspense");case 19:return describeBuiltInComponentFrame("SuspenseList");case 0:case 15:return describeNativeComponentFrame(fiber.type,!1);case 11:return describeNativeComponentFrame(fiber.type.render,!1);case 1:return describeNativeComponentFrame(fiber.type,!0);case 31:return describeBuiltInComponentFrame("Activity");default:return""}}function getStackByFiberInDevAndProd(workInProgress2){try{var info="";do info+=describeFiber(workInProgress2),workInProgress2=workInProgress2.return;while(workInProgress2);return info}catch(x2){return`
9
9
  Error generating stack: `+x2.message+`
10
- `+x2.stack}}function createCapturedValueAtFiber(value,source){if(typeof value==="object"&&value!==null){var existing=CapturedStacks.get(value);if(existing!==void 0)return existing;return source={value,source,stack:getStackByFiberInDevAndProd(source)},CapturedStacks.set(value,source),source}return{value,source,stack:getStackByFiberInDevAndProd(source)}}function pushTreeFork(workInProgress2,totalChildren){forkStack[forkStackIndex++]=treeForkCount,forkStack[forkStackIndex++]=treeForkProvider,treeForkProvider=workInProgress2,treeForkCount=totalChildren}function pushTreeId(workInProgress2,totalChildren,index){idStack[idStackIndex++]=treeContextId,idStack[idStackIndex++]=treeContextOverflow,idStack[idStackIndex++]=treeContextProvider,treeContextProvider=workInProgress2;var baseIdWithLeadingBit=treeContextId;workInProgress2=treeContextOverflow;var baseLength=32-clz32(baseIdWithLeadingBit)-1;baseIdWithLeadingBit&=~(1<<baseLength),index+=1;var length=32-clz32(totalChildren)+baseLength;if(30<length){var numberOfOverflowBits=baseLength-baseLength%5;length=(baseIdWithLeadingBit&(1<<numberOfOverflowBits)-1).toString(32),baseIdWithLeadingBit>>=numberOfOverflowBits,baseLength-=numberOfOverflowBits,treeContextId=1<<32-clz32(totalChildren)+baseLength|index<<baseLength|baseIdWithLeadingBit,treeContextOverflow=length+workInProgress2}else treeContextId=1<<length|index<<baseLength|baseIdWithLeadingBit,treeContextOverflow=workInProgress2}function pushMaterializedTreeId(workInProgress2){workInProgress2.return!==null&&(pushTreeFork(workInProgress2,1),pushTreeId(workInProgress2,1,0))}function popTreeContext(workInProgress2){for(;workInProgress2===treeForkProvider;)treeForkProvider=forkStack[--forkStackIndex],forkStack[forkStackIndex]=null,treeForkCount=forkStack[--forkStackIndex],forkStack[forkStackIndex]=null;for(;workInProgress2===treeContextProvider;)treeContextProvider=idStack[--idStackIndex],idStack[idStackIndex]=null,treeContextOverflow=idStack[--idStackIndex],idStack[idStackIndex]=null,treeContextId=idStack[--idStackIndex],idStack[idStackIndex]=null}function pushHostContainer(fiber,nextRootInstance){push2(rootInstanceStackCursor,nextRootInstance),push2(contextFiberStackCursor,fiber),push2(contextStackCursor,null),fiber=getRootHostContext(nextRootInstance),pop2(contextStackCursor),push2(contextStackCursor,fiber)}function popHostContainer(){pop2(contextStackCursor),pop2(contextFiberStackCursor),pop2(rootInstanceStackCursor)}function pushHostContext(fiber){fiber.memoizedState!==null&&push2(hostTransitionProviderCursor,fiber);var context=contextStackCursor.current,nextContext=getChildHostContext(context,fiber.type);context!==nextContext&&(push2(contextFiberStackCursor,fiber),push2(contextStackCursor,nextContext))}function popHostContext(fiber){contextFiberStackCursor.current===fiber&&(pop2(contextStackCursor),pop2(contextFiberStackCursor)),hostTransitionProviderCursor.current===fiber&&(pop2(hostTransitionProviderCursor),isPrimaryRenderer?HostTransitionContext._currentValue=NotPendingTransition:HostTransitionContext._currentValue2=NotPendingTransition)}function throwOnHydrationMismatch(fiber){var error=Error(formatProdErrorMessage(418,""));throw queueHydrationError(createCapturedValueAtFiber(error,fiber)),HydrationMismatchException}function prepareToHydrateHostInstance(fiber,hostContext){if(!supportsHydration)throw Error(formatProdErrorMessage(175));hydrateInstance(fiber.stateNode,fiber.type,fiber.memoizedProps,hostContext,fiber)||throwOnHydrationMismatch(fiber)}function popToNextHostParent(fiber){for(hydrationParentFiber=fiber.return;hydrationParentFiber;)switch(hydrationParentFiber.tag){case 5:case 13:rootOrSingletonContext=!1;return;case 27:case 3:rootOrSingletonContext=!0;return;default:hydrationParentFiber=hydrationParentFiber.return}}function popHydrationState(fiber){if(!supportsHydration||fiber!==hydrationParentFiber)return!1;if(!isHydrating)return popToNextHostParent(fiber),isHydrating=!0,!1;var tag=fiber.tag;if(supportsSingletons?tag!==3&&tag!==27&&(tag!==5||shouldDeleteUnhydratedTailInstances(fiber.type)&&!shouldSetTextContent(fiber.type,fiber.memoizedProps))&&nextHydratableInstance&&throwOnHydrationMismatch(fiber):tag!==3&&(tag!==5||shouldDeleteUnhydratedTailInstances(fiber.type)&&!shouldSetTextContent(fiber.type,fiber.memoizedProps))&&nextHydratableInstance&&throwOnHydrationMismatch(fiber),popToNextHostParent(fiber),tag===13){if(!supportsHydration)throw Error(formatProdErrorMessage(316));if(fiber=fiber.memoizedState,fiber=fiber!==null?fiber.dehydrated:null,!fiber)throw Error(formatProdErrorMessage(317));nextHydratableInstance=getNextHydratableInstanceAfterSuspenseInstance(fiber)}else nextHydratableInstance=supportsSingletons&&tag===27?getNextHydratableSiblingAfterSingleton(fiber.type,nextHydratableInstance):hydrationParentFiber?getNextHydratableSibling(fiber.stateNode):null;return!0}function resetHydrationState(){supportsHydration&&(nextHydratableInstance=hydrationParentFiber=null,isHydrating=!1)}function upgradeHydrationErrorsToRecoverable(){var queuedErrors=hydrationErrors;return queuedErrors!==null&&(workInProgressRootRecoverableErrors===null?workInProgressRootRecoverableErrors=queuedErrors:workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors,queuedErrors),hydrationErrors=null),queuedErrors}function queueHydrationError(error){hydrationErrors===null?hydrationErrors=[error]:hydrationErrors.push(error)}function is(x2,y2){return x2===y2&&(x2!==0||1/x2===1/y2)||x2!==x2&&y2!==y2}function pushProvider(providerFiber,context,nextValue){isPrimaryRenderer?(push2(valueCursor,context._currentValue),context._currentValue=nextValue):(push2(valueCursor,context._currentValue2),context._currentValue2=nextValue)}function popProvider(context){var currentValue=valueCursor.current;isPrimaryRenderer?context._currentValue=currentValue:context._currentValue2=currentValue,pop2(valueCursor)}function scheduleContextWorkOnParentPath(parent,renderLanes2,propagationRoot){for(;parent!==null;){var alternate=parent.alternate;if((parent.childLanes&renderLanes2)!==renderLanes2?(parent.childLanes|=renderLanes2,alternate!==null&&(alternate.childLanes|=renderLanes2)):alternate!==null&&(alternate.childLanes&renderLanes2)!==renderLanes2&&(alternate.childLanes|=renderLanes2),parent===propagationRoot)break;parent=parent.return}}function propagateContextChanges(workInProgress2,contexts,renderLanes2,forcePropagateEntireTree){var fiber=workInProgress2.child;fiber!==null&&(fiber.return=workInProgress2);for(;fiber!==null;){var list=fiber.dependencies;if(list!==null){var nextFiber=fiber.child;list=list.firstContext;a:for(;list!==null;){var dependency=list;list=fiber;for(var i=0;i<contexts.length;i++)if(dependency.context===contexts[i]){list.lanes|=renderLanes2,dependency=list.alternate,dependency!==null&&(dependency.lanes|=renderLanes2),scheduleContextWorkOnParentPath(list.return,renderLanes2,workInProgress2),forcePropagateEntireTree||(nextFiber=null);break a}list=dependency.next}}else if(fiber.tag===18){if(nextFiber=fiber.return,nextFiber===null)throw Error(formatProdErrorMessage(341));nextFiber.lanes|=renderLanes2,list=nextFiber.alternate,list!==null&&(list.lanes|=renderLanes2),scheduleContextWorkOnParentPath(nextFiber,renderLanes2,workInProgress2),nextFiber=null}else nextFiber=fiber.child;if(nextFiber!==null)nextFiber.return=fiber;else for(nextFiber=fiber;nextFiber!==null;){if(nextFiber===workInProgress2){nextFiber=null;break}if(fiber=nextFiber.sibling,fiber!==null){fiber.return=nextFiber.return,nextFiber=fiber;break}nextFiber=nextFiber.return}fiber=nextFiber}}function propagateParentContextChanges(current,workInProgress2,renderLanes2,forcePropagateEntireTree){current=null;for(var parent=workInProgress2,isInsidePropagationBailout=!1;parent!==null;){if(!isInsidePropagationBailout){if((parent.flags&524288)!==0)isInsidePropagationBailout=!0;else if((parent.flags&262144)!==0)break}if(parent.tag===10){var currentParent=parent.alternate;if(currentParent===null)throw Error(formatProdErrorMessage(387));if(currentParent=currentParent.memoizedProps,currentParent!==null){var context=parent.type;objectIs(parent.pendingProps.value,currentParent.value)||(current!==null?current.push(context):current=[context])}}else if(parent===hostTransitionProviderCursor.current){if(currentParent=parent.alternate,currentParent===null)throw Error(formatProdErrorMessage(387));currentParent.memoizedState.memoizedState!==parent.memoizedState.memoizedState&&(current!==null?current.push(HostTransitionContext):current=[HostTransitionContext])}parent=parent.return}current!==null&&propagateContextChanges(workInProgress2,current,renderLanes2,forcePropagateEntireTree),workInProgress2.flags|=262144}function checkIfContextChanged(currentDependencies){for(currentDependencies=currentDependencies.firstContext;currentDependencies!==null;){var context=currentDependencies.context;if(!objectIs(isPrimaryRenderer?context._currentValue:context._currentValue2,currentDependencies.memoizedValue))return!0;currentDependencies=currentDependencies.next}return!1}function prepareToReadContext(workInProgress2){currentlyRenderingFiber$1=workInProgress2,lastContextDependency=null,workInProgress2=workInProgress2.dependencies,workInProgress2!==null&&(workInProgress2.firstContext=null)}function readContext(context){return readContextForConsumer(currentlyRenderingFiber$1,context)}function readContextDuringReconciliation(consumer,context){return currentlyRenderingFiber$1===null&&prepareToReadContext(consumer),readContextForConsumer(consumer,context)}function readContextForConsumer(consumer,context){var value=isPrimaryRenderer?context._currentValue:context._currentValue2;if(context={context,memoizedValue:value,next:null},lastContextDependency===null){if(consumer===null)throw Error(formatProdErrorMessage(308));lastContextDependency=context,consumer.dependencies={lanes:0,firstContext:context},consumer.flags|=524288}else lastContextDependency=lastContextDependency.next=context;return value}function createCache(){return{controller:new AbortControllerLocal,data:new Map,refCount:0}}function releaseCache(cache){cache.refCount--,cache.refCount===0&&scheduleCallback$2(NormalPriority,function(){cache.controller.abort()})}function ensureRootIsScheduled(root){root!==lastScheduledRoot&&root.next===null&&(lastScheduledRoot===null?firstScheduledRoot=lastScheduledRoot=root:lastScheduledRoot=lastScheduledRoot.next=root),mightHavePendingSyncWork=!0,didScheduleMicrotask||(didScheduleMicrotask=!0,scheduleImmediateRootScheduleTask())}function flushSyncWorkAcrossRoots_impl(syncTransitionLanes,onlyLegacy){if(!isFlushingWork&&mightHavePendingSyncWork){isFlushingWork=!0;do{var didPerformSomeWork=!1;for(var root=firstScheduledRoot;root!==null;){if(!onlyLegacy)if(syncTransitionLanes!==0){var pendingLanes=root.pendingLanes;if(pendingLanes===0)var JSCompiler_inline_result=0;else{var{suspendedLanes,pingedLanes}=root;JSCompiler_inline_result=(1<<31-clz32(42|syncTransitionLanes)+1)-1,JSCompiler_inline_result&=pendingLanes&~(suspendedLanes&~pingedLanes),JSCompiler_inline_result=JSCompiler_inline_result&201326741?JSCompiler_inline_result&201326741|1:JSCompiler_inline_result?JSCompiler_inline_result|2:0}JSCompiler_inline_result!==0&&(didPerformSomeWork=!0,performSyncWorkOnRoot(root,JSCompiler_inline_result))}else JSCompiler_inline_result=workInProgressRootRenderLanes,JSCompiler_inline_result=getNextLanes(root,root===workInProgressRoot?JSCompiler_inline_result:0,root.cancelPendingCommit!==null||root.timeoutHandle!==noTimeout),(JSCompiler_inline_result&3)===0||checkIfRootIsPrerendering(root,JSCompiler_inline_result)||(didPerformSomeWork=!0,performSyncWorkOnRoot(root,JSCompiler_inline_result));root=root.next}}while(didPerformSomeWork);isFlushingWork=!1}}function processRootScheduleInImmediateTask(){processRootScheduleInMicrotask()}function processRootScheduleInMicrotask(){mightHavePendingSyncWork=didScheduleMicrotask=!1;var syncTransitionLanes=0;currentEventTransitionLane!==0&&(shouldAttemptEagerTransition()&&(syncTransitionLanes=currentEventTransitionLane),currentEventTransitionLane=0);for(var currentTime=now(),prev=null,root=firstScheduledRoot;root!==null;){var next=root.next,nextLanes=scheduleTaskForRootDuringMicrotask(root,currentTime);if(nextLanes===0)root.next=null,prev===null?firstScheduledRoot=next:prev.next=next,next===null&&(lastScheduledRoot=prev);else if(prev=root,syncTransitionLanes!==0||(nextLanes&3)!==0)mightHavePendingSyncWork=!0;root=next}flushSyncWorkAcrossRoots_impl(syncTransitionLanes,!1)}function scheduleTaskForRootDuringMicrotask(root,currentTime){for(var{suspendedLanes,pingedLanes,expirationTimes}=root,lanes=root.pendingLanes&-62914561;0<lanes;){var index$3=31-clz32(lanes),lane=1<<index$3,expirationTime=expirationTimes[index$3];if(expirationTime===-1){if((lane&suspendedLanes)===0||(lane&pingedLanes)!==0)expirationTimes[index$3]=computeExpirationTime(lane,currentTime)}else expirationTime<=currentTime&&(root.expiredLanes|=lane);lanes&=~lane}if(currentTime=workInProgressRoot,suspendedLanes=workInProgressRootRenderLanes,suspendedLanes=getNextLanes(root,root===currentTime?suspendedLanes:0,root.cancelPendingCommit!==null||root.timeoutHandle!==noTimeout),pingedLanes=root.callbackNode,suspendedLanes===0||root===currentTime&&(workInProgressSuspendedReason===2||workInProgressSuspendedReason===9)||root.cancelPendingCommit!==null)return pingedLanes!==null&&pingedLanes!==null&&cancelCallback$1(pingedLanes),root.callbackNode=null,root.callbackPriority=0;if((suspendedLanes&3)===0||checkIfRootIsPrerendering(root,suspendedLanes)){if(currentTime=suspendedLanes&-suspendedLanes,currentTime===root.callbackPriority)return currentTime;switch(pingedLanes!==null&&cancelCallback$1(pingedLanes),lanesToEventPriority(suspendedLanes)){case 2:case 8:suspendedLanes=UserBlockingPriority;break;case 32:suspendedLanes=NormalPriority$1;break;case 268435456:suspendedLanes=IdlePriority;break;default:suspendedLanes=NormalPriority$1}return pingedLanes=performWorkOnRootViaSchedulerTask.bind(null,root),suspendedLanes=scheduleCallback$3(suspendedLanes,pingedLanes),root.callbackPriority=currentTime,root.callbackNode=suspendedLanes,currentTime}return pingedLanes!==null&&pingedLanes!==null&&cancelCallback$1(pingedLanes),root.callbackPriority=2,root.callbackNode=null,2}function performWorkOnRootViaSchedulerTask(root,didTimeout){if(pendingEffectsStatus!==0&&pendingEffectsStatus!==5)return root.callbackNode=null,root.callbackPriority=0,null;var originalCallbackNode=root.callbackNode;if(flushPendingEffects(!0)&&root.callbackNode!==originalCallbackNode)return null;var workInProgressRootRenderLanes$jscomp$0=workInProgressRootRenderLanes;if(workInProgressRootRenderLanes$jscomp$0=getNextLanes(root,root===workInProgressRoot?workInProgressRootRenderLanes$jscomp$0:0,root.cancelPendingCommit!==null||root.timeoutHandle!==noTimeout),workInProgressRootRenderLanes$jscomp$0===0)return null;return performWorkOnRoot(root,workInProgressRootRenderLanes$jscomp$0,didTimeout),scheduleTaskForRootDuringMicrotask(root,now()),root.callbackNode!=null&&root.callbackNode===originalCallbackNode?performWorkOnRootViaSchedulerTask.bind(null,root):null}function performSyncWorkOnRoot(root,lanes){if(flushPendingEffects())return null;performWorkOnRoot(root,lanes,!0)}function scheduleImmediateRootScheduleTask(){supportsMicrotasks?scheduleMicrotask(function(){(executionContext&6)!==0?scheduleCallback$3(ImmediatePriority,processRootScheduleInImmediateTask):processRootScheduleInMicrotask()}):scheduleCallback$3(ImmediatePriority,processRootScheduleInImmediateTask)}function requestTransitionLane(){return currentEventTransitionLane===0&&(currentEventTransitionLane=claimNextTransitionLane()),currentEventTransitionLane}function entangleAsyncAction(transition,thenable){if(currentEntangledListeners===null){var entangledListeners=currentEntangledListeners=[];currentEntangledPendingCount=0,currentEntangledLane=requestTransitionLane(),currentEntangledActionThenable={status:"pending",value:void 0,then:function(resolve4){entangledListeners.push(resolve4)}}}return currentEntangledPendingCount++,thenable.then(pingEngtangledActionScope,pingEngtangledActionScope),thenable}function pingEngtangledActionScope(){if(--currentEntangledPendingCount===0&&currentEntangledListeners!==null){currentEntangledActionThenable!==null&&(currentEntangledActionThenable.status="fulfilled");var listeners=currentEntangledListeners;currentEntangledListeners=null,currentEntangledLane=0,currentEntangledActionThenable=null;for(var i=0;i<listeners.length;i++)(0,listeners[i])()}}function chainThenableValue(thenable,result){var listeners=[],thenableWithOverride={status:"pending",value:null,reason:null,then:function(resolve4){listeners.push(resolve4)}};return thenable.then(function(){thenableWithOverride.status="fulfilled",thenableWithOverride.value=result;for(var i=0;i<listeners.length;i++)(0,listeners[i])(result)},function(error){thenableWithOverride.status="rejected",thenableWithOverride.reason=error;for(error=0;error<listeners.length;error++)(0,listeners[error])(void 0)}),thenableWithOverride}function peekCacheFromPool(){var cacheResumedFromPreviousRender=resumedCache.current;return cacheResumedFromPreviousRender!==null?cacheResumedFromPreviousRender:workInProgressRoot.pooledCache}function pushTransition(offscreenWorkInProgress,prevCachePool){prevCachePool===null?push2(resumedCache,resumedCache.current):push2(resumedCache,prevCachePool.pool)}function getSuspendedCache(){var cacheFromPool=peekCacheFromPool();return cacheFromPool===null?null:{parent:isPrimaryRenderer?CacheContext._currentValue:CacheContext._currentValue2,pool:cacheFromPool}}function shallowEqual(objA,objB){if(objectIs(objA,objB))return!0;if(typeof objA!=="object"||objA===null||typeof objB!=="object"||objB===null)return!1;var keysA=Object.keys(objA),keysB=Object.keys(objB);if(keysA.length!==keysB.length)return!1;for(keysB=0;keysB<keysA.length;keysB++){var currentKey=keysA[keysB];if(!hasOwnProperty.call(objB,currentKey)||!objectIs(objA[currentKey],objB[currentKey]))return!1}return!0}function isThenableResolved(thenable){return thenable=thenable.status,thenable==="fulfilled"||thenable==="rejected"}function noop$1(){}function trackUsedThenable(thenableState2,thenable,index){switch(index=thenableState2[index],index===void 0?thenableState2.push(thenable):index!==thenable&&(thenable.then(noop$1,noop$1),thenable=index),thenable.status){case"fulfilled":return thenable.value;case"rejected":throw thenableState2=thenable.reason,checkIfUseWrappedInAsyncCatch(thenableState2),thenableState2;default:if(typeof thenable.status==="string")thenable.then(noop$1,noop$1);else{if(thenableState2=workInProgressRoot,thenableState2!==null&&100<thenableState2.shellSuspendCounter)throw Error(formatProdErrorMessage(482));thenableState2=thenable,thenableState2.status="pending",thenableState2.then(function(fulfilledValue){if(thenable.status==="pending"){var fulfilledThenable=thenable;fulfilledThenable.status="fulfilled",fulfilledThenable.value=fulfilledValue}},function(error){if(thenable.status==="pending"){var rejectedThenable=thenable;rejectedThenable.status="rejected",rejectedThenable.reason=error}})}switch(thenable.status){case"fulfilled":return thenable.value;case"rejected":throw thenableState2=thenable.reason,checkIfUseWrappedInAsyncCatch(thenableState2),thenableState2}throw suspendedThenable=thenable,SuspenseException}}function getSuspendedThenable(){if(suspendedThenable===null)throw Error(formatProdErrorMessage(459));var thenable=suspendedThenable;return suspendedThenable=null,thenable}function checkIfUseWrappedInAsyncCatch(rejectedReason){if(rejectedReason===SuspenseException||rejectedReason===SuspenseActionException)throw Error(formatProdErrorMessage(483))}function finishQueueingConcurrentUpdates(){for(var endIndex=concurrentQueuesIndex,i=concurrentlyUpdatedLanes=concurrentQueuesIndex=0;i<endIndex;){var fiber=concurrentQueues[i];concurrentQueues[i++]=null;var queue=concurrentQueues[i];concurrentQueues[i++]=null;var update=concurrentQueues[i];concurrentQueues[i++]=null;var lane=concurrentQueues[i];if(concurrentQueues[i++]=null,queue!==null&&update!==null){var pending=queue.pending;pending===null?update.next=update:(update.next=pending.next,pending.next=update),queue.pending=update}lane!==0&&markUpdateLaneFromFiberToRoot(fiber,update,lane)}}function enqueueUpdate$1(fiber,queue,update,lane){concurrentQueues[concurrentQueuesIndex++]=fiber,concurrentQueues[concurrentQueuesIndex++]=queue,concurrentQueues[concurrentQueuesIndex++]=update,concurrentQueues[concurrentQueuesIndex++]=lane,concurrentlyUpdatedLanes|=lane,fiber.lanes|=lane,fiber=fiber.alternate,fiber!==null&&(fiber.lanes|=lane)}function enqueueConcurrentHookUpdate(fiber,queue,update,lane){return enqueueUpdate$1(fiber,queue,update,lane),getRootForUpdatedFiber(fiber)}function enqueueConcurrentRenderForLane(fiber,lane){return enqueueUpdate$1(fiber,null,null,lane),getRootForUpdatedFiber(fiber)}function markUpdateLaneFromFiberToRoot(sourceFiber,update,lane){sourceFiber.lanes|=lane;var alternate=sourceFiber.alternate;alternate!==null&&(alternate.lanes|=lane);for(var isHidden=!1,parent=sourceFiber.return;parent!==null;)parent.childLanes|=lane,alternate=parent.alternate,alternate!==null&&(alternate.childLanes|=lane),parent.tag===22&&(sourceFiber=parent.stateNode,sourceFiber===null||sourceFiber._visibility&1||(isHidden=!0)),sourceFiber=parent,parent=parent.return;return sourceFiber.tag===3?(parent=sourceFiber.stateNode,isHidden&&update!==null&&(isHidden=31-clz32(lane),sourceFiber=parent.hiddenUpdates,alternate=sourceFiber[isHidden],alternate===null?sourceFiber[isHidden]=[update]:alternate.push(update),update.lane=lane|536870912),parent):null}function getRootForUpdatedFiber(sourceFiber){if(50<nestedUpdateCount)throw nestedUpdateCount=0,rootWithNestedUpdates=null,Error(formatProdErrorMessage(185));for(var parent=sourceFiber.return;parent!==null;)sourceFiber=parent,parent=sourceFiber.return;return sourceFiber.tag===3?sourceFiber.stateNode:null}function initializeUpdateQueue(fiber){fiber.updateQueue={baseState:fiber.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function cloneUpdateQueue(current,workInProgress2){current=current.updateQueue,workInProgress2.updateQueue===current&&(workInProgress2.updateQueue={baseState:current.baseState,firstBaseUpdate:current.firstBaseUpdate,lastBaseUpdate:current.lastBaseUpdate,shared:current.shared,callbacks:null})}function createUpdate(lane){return{lane,tag:0,payload:null,callback:null,next:null}}function enqueueUpdate(fiber,update,lane){var updateQueue=fiber.updateQueue;if(updateQueue===null)return null;if(updateQueue=updateQueue.shared,(executionContext&2)!==0){var pending=updateQueue.pending;return pending===null?update.next=update:(update.next=pending.next,pending.next=update),updateQueue.pending=update,update=getRootForUpdatedFiber(fiber),markUpdateLaneFromFiberToRoot(fiber,null,lane),update}return enqueueUpdate$1(fiber,updateQueue,update,lane),getRootForUpdatedFiber(fiber)}function entangleTransitions(root,fiber,lane){if(fiber=fiber.updateQueue,fiber!==null&&(fiber=fiber.shared,(lane&4194048)!==0)){var queueLanes=fiber.lanes;queueLanes&=root.pendingLanes,lane|=queueLanes,fiber.lanes=lane,markRootEntangled(root,lane)}}function enqueueCapturedUpdate(workInProgress2,capturedUpdate){var{updateQueue:queue,alternate:current}=workInProgress2;if(current!==null&&(current=current.updateQueue,queue===current)){var newFirst=null,newLast=null;if(queue=queue.firstBaseUpdate,queue!==null){do{var clone={lane:queue.lane,tag:queue.tag,payload:queue.payload,callback:null,next:null};newLast===null?newFirst=newLast=clone:newLast=newLast.next=clone,queue=queue.next}while(queue!==null);newLast===null?newFirst=newLast=capturedUpdate:newLast=newLast.next=capturedUpdate}else newFirst=newLast=capturedUpdate;queue={baseState:current.baseState,firstBaseUpdate:newFirst,lastBaseUpdate:newLast,shared:current.shared,callbacks:current.callbacks},workInProgress2.updateQueue=queue;return}workInProgress2=queue.lastBaseUpdate,workInProgress2===null?queue.firstBaseUpdate=capturedUpdate:workInProgress2.next=capturedUpdate,queue.lastBaseUpdate=capturedUpdate}function suspendIfUpdateReadFromEntangledAsyncAction(){if(didReadFromEntangledAsyncAction){var entangledActionThenable=currentEntangledActionThenable;if(entangledActionThenable!==null)throw entangledActionThenable}}function processUpdateQueue(workInProgress$jscomp$0,props,instance$jscomp$0,renderLanes2){didReadFromEntangledAsyncAction=!1;var queue=workInProgress$jscomp$0.updateQueue;hasForceUpdate=!1;var{firstBaseUpdate,lastBaseUpdate}=queue,pendingQueue=queue.shared.pending;if(pendingQueue!==null){queue.shared.pending=null;var lastPendingUpdate=pendingQueue,firstPendingUpdate=lastPendingUpdate.next;lastPendingUpdate.next=null,lastBaseUpdate===null?firstBaseUpdate=firstPendingUpdate:lastBaseUpdate.next=firstPendingUpdate,lastBaseUpdate=lastPendingUpdate;var current=workInProgress$jscomp$0.alternate;current!==null&&(current=current.updateQueue,pendingQueue=current.lastBaseUpdate,pendingQueue!==lastBaseUpdate&&(pendingQueue===null?current.firstBaseUpdate=firstPendingUpdate:pendingQueue.next=firstPendingUpdate,current.lastBaseUpdate=lastPendingUpdate))}if(firstBaseUpdate!==null){var newState=queue.baseState;lastBaseUpdate=0,current=firstPendingUpdate=lastPendingUpdate=null,pendingQueue=firstBaseUpdate;do{var updateLane=pendingQueue.lane&-536870913,isHiddenUpdate=updateLane!==pendingQueue.lane;if(isHiddenUpdate?(workInProgressRootRenderLanes&updateLane)===updateLane:(renderLanes2&updateLane)===updateLane){updateLane!==0&&updateLane===currentEntangledLane&&(didReadFromEntangledAsyncAction=!0),current!==null&&(current=current.next={lane:0,tag:pendingQueue.tag,payload:pendingQueue.payload,callback:null,next:null});a:{var workInProgress2=workInProgress$jscomp$0,update=pendingQueue;updateLane=props;var instance=instance$jscomp$0;switch(update.tag){case 1:if(workInProgress2=update.payload,typeof workInProgress2==="function"){newState=workInProgress2.call(instance,newState,updateLane);break a}newState=workInProgress2;break a;case 3:workInProgress2.flags=workInProgress2.flags&-65537|128;case 0:if(workInProgress2=update.payload,updateLane=typeof workInProgress2==="function"?workInProgress2.call(instance,newState,updateLane):workInProgress2,updateLane===null||updateLane===void 0)break a;newState=assign({},newState,updateLane);break a;case 2:hasForceUpdate=!0}}updateLane=pendingQueue.callback,updateLane!==null&&(workInProgress$jscomp$0.flags|=64,isHiddenUpdate&&(workInProgress$jscomp$0.flags|=8192),isHiddenUpdate=queue.callbacks,isHiddenUpdate===null?queue.callbacks=[updateLane]:isHiddenUpdate.push(updateLane))}else isHiddenUpdate={lane:updateLane,tag:pendingQueue.tag,payload:pendingQueue.payload,callback:pendingQueue.callback,next:null},current===null?(firstPendingUpdate=current=isHiddenUpdate,lastPendingUpdate=newState):current=current.next=isHiddenUpdate,lastBaseUpdate|=updateLane;if(pendingQueue=pendingQueue.next,pendingQueue===null)if(pendingQueue=queue.shared.pending,pendingQueue===null)break;else isHiddenUpdate=pendingQueue,pendingQueue=isHiddenUpdate.next,isHiddenUpdate.next=null,queue.lastBaseUpdate=isHiddenUpdate,queue.shared.pending=null}while(1);current===null&&(lastPendingUpdate=newState),queue.baseState=lastPendingUpdate,queue.firstBaseUpdate=firstPendingUpdate,queue.lastBaseUpdate=current,firstBaseUpdate===null&&(queue.shared.lanes=0),workInProgressRootSkippedLanes|=lastBaseUpdate,workInProgress$jscomp$0.lanes=lastBaseUpdate,workInProgress$jscomp$0.memoizedState=newState}}function callCallback(callback,context){if(typeof callback!=="function")throw Error(formatProdErrorMessage(191,callback));callback.call(context)}function commitCallbacks(updateQueue,context){var callbacks=updateQueue.callbacks;if(callbacks!==null)for(updateQueue.callbacks=null,updateQueue=0;updateQueue<callbacks.length;updateQueue++)callCallback(callbacks[updateQueue],context)}function pushHiddenContext(fiber,context){fiber=entangledRenderLanes,push2(prevEntangledRenderLanesCursor,fiber),push2(currentTreeHiddenStackCursor,context),entangledRenderLanes=fiber|context.baseLanes}function reuseHiddenContextOnStack(){push2(prevEntangledRenderLanesCursor,entangledRenderLanes),push2(currentTreeHiddenStackCursor,currentTreeHiddenStackCursor.current)}function popHiddenContext(){entangledRenderLanes=prevEntangledRenderLanesCursor.current,pop2(currentTreeHiddenStackCursor),pop2(prevEntangledRenderLanesCursor)}function throwInvalidHookError(){throw Error(formatProdErrorMessage(321))}function areHookInputsEqual(nextDeps,prevDeps){if(prevDeps===null)return!1;for(var i=0;i<prevDeps.length&&i<nextDeps.length;i++)if(!objectIs(nextDeps[i],prevDeps[i]))return!1;return!0}function renderWithHooks(current,workInProgress2,Component,props,secondArg,nextRenderLanes){return renderLanes=nextRenderLanes,currentlyRenderingFiber=workInProgress2,workInProgress2.memoizedState=null,workInProgress2.updateQueue=null,workInProgress2.lanes=0,ReactSharedInternals.H=current===null||current.memoizedState===null?HooksDispatcherOnMount:HooksDispatcherOnUpdate,shouldDoubleInvokeUserFnsInHooksDEV=!1,nextRenderLanes=Component(props,secondArg),shouldDoubleInvokeUserFnsInHooksDEV=!1,didScheduleRenderPhaseUpdateDuringThisPass&&(nextRenderLanes=renderWithHooksAgain(workInProgress2,Component,props,secondArg)),finishRenderingHooks(current),nextRenderLanes}function finishRenderingHooks(current){ReactSharedInternals.H=ContextOnlyDispatcher;var didRenderTooFewHooks=currentHook!==null&&currentHook.next!==null;if(renderLanes=0,workInProgressHook=currentHook=currentlyRenderingFiber=null,didScheduleRenderPhaseUpdate=!1,thenableIndexCounter$1=0,thenableState$1=null,didRenderTooFewHooks)throw Error(formatProdErrorMessage(300));current===null||didReceiveUpdate||(current=current.dependencies,current!==null&&checkIfContextChanged(current)&&(didReceiveUpdate=!0))}function renderWithHooksAgain(workInProgress2,Component,props,secondArg){currentlyRenderingFiber=workInProgress2;var numberOfReRenders=0;do{if(didScheduleRenderPhaseUpdateDuringThisPass&&(thenableState$1=null),thenableIndexCounter$1=0,didScheduleRenderPhaseUpdateDuringThisPass=!1,25<=numberOfReRenders)throw Error(formatProdErrorMessage(301));if(numberOfReRenders+=1,workInProgressHook=currentHook=null,workInProgress2.updateQueue!=null){var children=workInProgress2.updateQueue;children.lastEffect=null,children.events=null,children.stores=null,children.memoCache!=null&&(children.memoCache.index=0)}ReactSharedInternals.H=HooksDispatcherOnRerender,children=Component(props,secondArg)}while(didScheduleRenderPhaseUpdateDuringThisPass);return children}function TransitionAwareHostComponent(){var dispatcher=ReactSharedInternals.H,maybeThenable=dispatcher.useState()[0];return maybeThenable=typeof maybeThenable.then==="function"?useThenable(maybeThenable):maybeThenable,dispatcher=dispatcher.useState()[0],(currentHook!==null?currentHook.memoizedState:null)!==dispatcher&&(currentlyRenderingFiber.flags|=1024),maybeThenable}function checkDidRenderIdHook(){var didRenderIdHook=localIdCounter!==0;return localIdCounter=0,didRenderIdHook}function bailoutHooks(current,workInProgress2,lanes){workInProgress2.updateQueue=current.updateQueue,workInProgress2.flags&=-2053,current.lanes&=~lanes}function resetHooksOnUnwind(workInProgress2){if(didScheduleRenderPhaseUpdate){for(workInProgress2=workInProgress2.memoizedState;workInProgress2!==null;){var queue=workInProgress2.queue;queue!==null&&(queue.pending=null),workInProgress2=workInProgress2.next}didScheduleRenderPhaseUpdate=!1}renderLanes=0,workInProgressHook=currentHook=currentlyRenderingFiber=null,didScheduleRenderPhaseUpdateDuringThisPass=!1,thenableIndexCounter$1=localIdCounter=0,thenableState$1=null}function mountWorkInProgressHook(){var hook={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return workInProgressHook===null?currentlyRenderingFiber.memoizedState=workInProgressHook=hook:workInProgressHook=workInProgressHook.next=hook,workInProgressHook}function updateWorkInProgressHook(){if(currentHook===null){var nextCurrentHook=currentlyRenderingFiber.alternate;nextCurrentHook=nextCurrentHook!==null?nextCurrentHook.memoizedState:null}else nextCurrentHook=currentHook.next;var nextWorkInProgressHook=workInProgressHook===null?currentlyRenderingFiber.memoizedState:workInProgressHook.next;if(nextWorkInProgressHook!==null)workInProgressHook=nextWorkInProgressHook,currentHook=nextCurrentHook;else{if(nextCurrentHook===null){if(currentlyRenderingFiber.alternate===null)throw Error(formatProdErrorMessage(467));throw Error(formatProdErrorMessage(310))}currentHook=nextCurrentHook,nextCurrentHook={memoizedState:currentHook.memoizedState,baseState:currentHook.baseState,baseQueue:currentHook.baseQueue,queue:currentHook.queue,next:null},workInProgressHook===null?currentlyRenderingFiber.memoizedState=workInProgressHook=nextCurrentHook:workInProgressHook=workInProgressHook.next=nextCurrentHook}return workInProgressHook}function createFunctionComponentUpdateQueue(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function useThenable(thenable){var index=thenableIndexCounter$1;return thenableIndexCounter$1+=1,thenableState$1===null&&(thenableState$1=[]),thenable=trackUsedThenable(thenableState$1,thenable,index),index=currentlyRenderingFiber,(workInProgressHook===null?index.memoizedState:workInProgressHook.next)===null&&(index=index.alternate,ReactSharedInternals.H=index===null||index.memoizedState===null?HooksDispatcherOnMount:HooksDispatcherOnUpdate),thenable}function use(usable){if(usable!==null&&typeof usable==="object"){if(typeof usable.then==="function")return useThenable(usable);if(usable.$$typeof===REACT_CONTEXT_TYPE)return readContext(usable)}throw Error(formatProdErrorMessage(438,String(usable)))}function useMemoCache(size){var memoCache=null,updateQueue=currentlyRenderingFiber.updateQueue;if(updateQueue!==null&&(memoCache=updateQueue.memoCache),memoCache==null){var current=currentlyRenderingFiber.alternate;current!==null&&(current=current.updateQueue,current!==null&&(current=current.memoCache,current!=null&&(memoCache={data:current.data.map(function(array){return array.slice()}),index:0})))}if(memoCache==null&&(memoCache={data:[],index:0}),updateQueue===null&&(updateQueue=createFunctionComponentUpdateQueue(),currentlyRenderingFiber.updateQueue=updateQueue),updateQueue.memoCache=memoCache,updateQueue=memoCache.data[memoCache.index],updateQueue===void 0)for(updateQueue=memoCache.data[memoCache.index]=Array(size),current=0;current<size;current++)updateQueue[current]=REACT_MEMO_CACHE_SENTINEL;return memoCache.index++,updateQueue}function basicStateReducer(state,action){return typeof action==="function"?action(state):action}function updateReducer(reducer){var hook=updateWorkInProgressHook();return updateReducerImpl(hook,currentHook,reducer)}function updateReducerImpl(hook,current,reducer){var queue=hook.queue;if(queue===null)throw Error(formatProdErrorMessage(311));queue.lastRenderedReducer=reducer;var baseQueue=hook.baseQueue,pendingQueue=queue.pending;if(pendingQueue!==null){if(baseQueue!==null){var baseFirst=baseQueue.next;baseQueue.next=pendingQueue.next,pendingQueue.next=baseFirst}current.baseQueue=baseQueue=pendingQueue,queue.pending=null}if(pendingQueue=hook.baseState,baseQueue===null)hook.memoizedState=pendingQueue;else{current=baseQueue.next;var newBaseQueueFirst=baseFirst=null,newBaseQueueLast=null,update=current,didReadFromEntangledAsyncAction$23=!1;do{var updateLane=update.lane&-536870913;if(updateLane!==update.lane?(workInProgressRootRenderLanes&updateLane)===updateLane:(renderLanes&updateLane)===updateLane){var revertLane=update.revertLane;if(revertLane===0)newBaseQueueLast!==null&&(newBaseQueueLast=newBaseQueueLast.next={lane:0,revertLane:0,action:update.action,hasEagerState:update.hasEagerState,eagerState:update.eagerState,next:null}),updateLane===currentEntangledLane&&(didReadFromEntangledAsyncAction$23=!0);else if((renderLanes&revertLane)===revertLane){update=update.next,revertLane===currentEntangledLane&&(didReadFromEntangledAsyncAction$23=!0);continue}else updateLane={lane:0,revertLane:update.revertLane,action:update.action,hasEagerState:update.hasEagerState,eagerState:update.eagerState,next:null},newBaseQueueLast===null?(newBaseQueueFirst=newBaseQueueLast=updateLane,baseFirst=pendingQueue):newBaseQueueLast=newBaseQueueLast.next=updateLane,currentlyRenderingFiber.lanes|=revertLane,workInProgressRootSkippedLanes|=revertLane;updateLane=update.action,shouldDoubleInvokeUserFnsInHooksDEV&&reducer(pendingQueue,updateLane),pendingQueue=update.hasEagerState?update.eagerState:reducer(pendingQueue,updateLane)}else revertLane={lane:updateLane,revertLane:update.revertLane,action:update.action,hasEagerState:update.hasEagerState,eagerState:update.eagerState,next:null},newBaseQueueLast===null?(newBaseQueueFirst=newBaseQueueLast=revertLane,baseFirst=pendingQueue):newBaseQueueLast=newBaseQueueLast.next=revertLane,currentlyRenderingFiber.lanes|=updateLane,workInProgressRootSkippedLanes|=updateLane;update=update.next}while(update!==null&&update!==current);if(newBaseQueueLast===null?baseFirst=pendingQueue:newBaseQueueLast.next=newBaseQueueFirst,!objectIs(pendingQueue,hook.memoizedState)&&(didReceiveUpdate=!0,didReadFromEntangledAsyncAction$23&&(reducer=currentEntangledActionThenable,reducer!==null)))throw reducer;hook.memoizedState=pendingQueue,hook.baseState=baseFirst,hook.baseQueue=newBaseQueueLast,queue.lastRenderedState=pendingQueue}return baseQueue===null&&(queue.lanes=0),[hook.memoizedState,queue.dispatch]}function rerenderReducer(reducer){var hook=updateWorkInProgressHook(),queue=hook.queue;if(queue===null)throw Error(formatProdErrorMessage(311));queue.lastRenderedReducer=reducer;var{dispatch,pending:lastRenderPhaseUpdate}=queue,newState=hook.memoizedState;if(lastRenderPhaseUpdate!==null){queue.pending=null;var update=lastRenderPhaseUpdate=lastRenderPhaseUpdate.next;do newState=reducer(newState,update.action),update=update.next;while(update!==lastRenderPhaseUpdate);objectIs(newState,hook.memoizedState)||(didReceiveUpdate=!0),hook.memoizedState=newState,hook.baseQueue===null&&(hook.baseState=newState),queue.lastRenderedState=newState}return[newState,dispatch]}function updateSyncExternalStore(subscribe,getSnapshot,getServerSnapshot){var fiber=currentlyRenderingFiber,hook=updateWorkInProgressHook(),isHydrating$jscomp$0=isHydrating;if(isHydrating$jscomp$0){if(getServerSnapshot===void 0)throw Error(formatProdErrorMessage(407));getServerSnapshot=getServerSnapshot()}else getServerSnapshot=getSnapshot();var snapshotChanged=!objectIs((currentHook||hook).memoizedState,getServerSnapshot);snapshotChanged&&(hook.memoizedState=getServerSnapshot,didReceiveUpdate=!0),hook=hook.queue;var create=subscribeToStore.bind(null,fiber,hook,subscribe);if(updateEffectImpl(2048,8,create,[subscribe]),hook.getSnapshot!==getSnapshot||snapshotChanged||workInProgressHook!==null&&workInProgressHook.memoizedState.tag&1){if(fiber.flags|=2048,pushSimpleEffect(9,createEffectInstance(),updateStoreInstance.bind(null,fiber,hook,getServerSnapshot,getSnapshot),null),workInProgressRoot===null)throw Error(formatProdErrorMessage(349));isHydrating$jscomp$0||(renderLanes&124)!==0||pushStoreConsistencyCheck(fiber,getSnapshot,getServerSnapshot)}return getServerSnapshot}function pushStoreConsistencyCheck(fiber,getSnapshot,renderedSnapshot){fiber.flags|=16384,fiber={getSnapshot,value:renderedSnapshot},getSnapshot=currentlyRenderingFiber.updateQueue,getSnapshot===null?(getSnapshot=createFunctionComponentUpdateQueue(),currentlyRenderingFiber.updateQueue=getSnapshot,getSnapshot.stores=[fiber]):(renderedSnapshot=getSnapshot.stores,renderedSnapshot===null?getSnapshot.stores=[fiber]:renderedSnapshot.push(fiber))}function updateStoreInstance(fiber,inst,nextSnapshot,getSnapshot){inst.value=nextSnapshot,inst.getSnapshot=getSnapshot,checkIfSnapshotChanged(inst)&&forceStoreRerender(fiber)}function subscribeToStore(fiber,inst,subscribe){return subscribe(function(){checkIfSnapshotChanged(inst)&&forceStoreRerender(fiber)})}function checkIfSnapshotChanged(inst){var latestGetSnapshot=inst.getSnapshot;inst=inst.value;try{var nextValue=latestGetSnapshot();return!objectIs(inst,nextValue)}catch(error){return!0}}function forceStoreRerender(fiber){var root=enqueueConcurrentRenderForLane(fiber,2);root!==null&&scheduleUpdateOnFiber(root,fiber,2)}function mountStateImpl(initialState){var hook=mountWorkInProgressHook();if(typeof initialState==="function"){var initialStateInitializer=initialState;if(initialState=initialStateInitializer(),shouldDoubleInvokeUserFnsInHooksDEV){setIsStrictModeForDevtools(!0);try{initialStateInitializer()}finally{setIsStrictModeForDevtools(!1)}}}return hook.memoizedState=hook.baseState=initialState,hook.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:basicStateReducer,lastRenderedState:initialState},hook}function updateOptimisticImpl(hook,current,passthrough,reducer){return hook.baseState=passthrough,updateReducerImpl(hook,currentHook,typeof reducer==="function"?reducer:basicStateReducer)}function dispatchActionState(fiber,actionQueue,setPendingState,setState,payload){if(isRenderPhaseUpdate(fiber))throw Error(formatProdErrorMessage(485));if(fiber=actionQueue.action,fiber!==null){var actionNode={payload,action:fiber,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(listener){actionNode.listeners.push(listener)}};ReactSharedInternals.T!==null?setPendingState(!0):actionNode.isTransition=!1,setState(actionNode),setPendingState=actionQueue.pending,setPendingState===null?(actionNode.next=actionQueue.pending=actionNode,runActionStateAction(actionQueue,actionNode)):(actionNode.next=setPendingState.next,actionQueue.pending=setPendingState.next=actionNode)}}function runActionStateAction(actionQueue,node){var{action,payload}=node,prevState=actionQueue.state;if(node.isTransition){var prevTransition=ReactSharedInternals.T,currentTransition={};ReactSharedInternals.T=currentTransition;try{var returnValue=action(prevState,payload),onStartTransitionFinish=ReactSharedInternals.S;onStartTransitionFinish!==null&&onStartTransitionFinish(currentTransition,returnValue),handleActionReturnValue(actionQueue,node,returnValue)}catch(error){onActionError(actionQueue,node,error)}finally{ReactSharedInternals.T=prevTransition}}else try{prevTransition=action(prevState,payload),handleActionReturnValue(actionQueue,node,prevTransition)}catch(error$27){onActionError(actionQueue,node,error$27)}}function handleActionReturnValue(actionQueue,node,returnValue){returnValue!==null&&typeof returnValue==="object"&&typeof returnValue.then==="function"?returnValue.then(function(nextState){onActionSuccess(actionQueue,node,nextState)},function(error){return onActionError(actionQueue,node,error)}):onActionSuccess(actionQueue,node,returnValue)}function onActionSuccess(actionQueue,actionNode,nextState){actionNode.status="fulfilled",actionNode.value=nextState,notifyActionListeners(actionNode),actionQueue.state=nextState,actionNode=actionQueue.pending,actionNode!==null&&(nextState=actionNode.next,nextState===actionNode?actionQueue.pending=null:(nextState=nextState.next,actionNode.next=nextState,runActionStateAction(actionQueue,nextState)))}function onActionError(actionQueue,actionNode,error){var last=actionQueue.pending;if(actionQueue.pending=null,last!==null){last=last.next;do actionNode.status="rejected",actionNode.reason=error,notifyActionListeners(actionNode),actionNode=actionNode.next;while(actionNode!==last)}actionQueue.action=null}function notifyActionListeners(actionNode){actionNode=actionNode.listeners;for(var i=0;i<actionNode.length;i++)(0,actionNode[i])()}function actionStateReducer(oldState,newState){return newState}function mountActionState(action,initialStateProp){if(isHydrating){var ssrFormState=workInProgressRoot.formState;if(ssrFormState!==null){a:{var JSCompiler_inline_result=currentlyRenderingFiber;if(isHydrating){if(nextHydratableInstance){var markerInstance=canHydrateFormStateMarker(nextHydratableInstance,rootOrSingletonContext);if(markerInstance){nextHydratableInstance=getNextHydratableSibling(markerInstance),JSCompiler_inline_result=isFormStateMarkerMatching(markerInstance);break a}}throwOnHydrationMismatch(JSCompiler_inline_result)}JSCompiler_inline_result=!1}JSCompiler_inline_result&&(initialStateProp=ssrFormState[0])}}ssrFormState=mountWorkInProgressHook(),ssrFormState.memoizedState=ssrFormState.baseState=initialStateProp,JSCompiler_inline_result={pending:null,lanes:0,dispatch:null,lastRenderedReducer:actionStateReducer,lastRenderedState:initialStateProp},ssrFormState.queue=JSCompiler_inline_result,ssrFormState=dispatchSetState.bind(null,currentlyRenderingFiber,JSCompiler_inline_result),JSCompiler_inline_result.dispatch=ssrFormState,JSCompiler_inline_result=mountStateImpl(!1);var setPendingState=dispatchOptimisticSetState.bind(null,currentlyRenderingFiber,!1,JSCompiler_inline_result.queue);return JSCompiler_inline_result=mountWorkInProgressHook(),markerInstance={state:initialStateProp,dispatch:null,action,pending:null},JSCompiler_inline_result.queue=markerInstance,ssrFormState=dispatchActionState.bind(null,currentlyRenderingFiber,markerInstance,setPendingState,ssrFormState),markerInstance.dispatch=ssrFormState,JSCompiler_inline_result.memoizedState=action,[initialStateProp,ssrFormState,!1]}function updateActionState(action){var stateHook=updateWorkInProgressHook();return updateActionStateImpl(stateHook,currentHook,action)}function updateActionStateImpl(stateHook,currentStateHook,action){if(currentStateHook=updateReducerImpl(stateHook,currentStateHook,actionStateReducer)[0],stateHook=updateReducer(basicStateReducer)[0],typeof currentStateHook==="object"&&currentStateHook!==null&&typeof currentStateHook.then==="function")try{var state=useThenable(currentStateHook)}catch(x2){if(x2===SuspenseException)throw SuspenseActionException;throw x2}else state=currentStateHook;currentStateHook=updateWorkInProgressHook();var actionQueue=currentStateHook.queue,dispatch=actionQueue.dispatch;return action!==currentStateHook.memoizedState&&(currentlyRenderingFiber.flags|=2048,pushSimpleEffect(9,createEffectInstance(),actionStateActionEffect.bind(null,actionQueue,action),null)),[state,dispatch,stateHook]}function actionStateActionEffect(actionQueue,action){actionQueue.action=action}function rerenderActionState(action){var stateHook=updateWorkInProgressHook(),currentStateHook=currentHook;if(currentStateHook!==null)return updateActionStateImpl(stateHook,currentStateHook,action);updateWorkInProgressHook(),stateHook=stateHook.memoizedState,currentStateHook=updateWorkInProgressHook();var dispatch=currentStateHook.queue.dispatch;return currentStateHook.memoizedState=action,[stateHook,dispatch,!1]}function pushSimpleEffect(tag,inst,create,createDeps){return tag={tag,create,deps:createDeps,inst,next:null},inst=currentlyRenderingFiber.updateQueue,inst===null&&(inst=createFunctionComponentUpdateQueue(),currentlyRenderingFiber.updateQueue=inst),create=inst.lastEffect,create===null?inst.lastEffect=tag.next=tag:(createDeps=create.next,create.next=tag,tag.next=createDeps,inst.lastEffect=tag),tag}function createEffectInstance(){return{destroy:void 0,resource:void 0}}function updateRef(){return updateWorkInProgressHook().memoizedState}function mountEffectImpl(fiberFlags,hookFlags,create,createDeps){var hook=mountWorkInProgressHook();createDeps=createDeps===void 0?null:createDeps,currentlyRenderingFiber.flags|=fiberFlags,hook.memoizedState=pushSimpleEffect(1|hookFlags,createEffectInstance(),create,createDeps)}function updateEffectImpl(fiberFlags,hookFlags,create,deps){var hook=updateWorkInProgressHook();deps=deps===void 0?null:deps;var inst=hook.memoizedState.inst;currentHook!==null&&deps!==null&&areHookInputsEqual(deps,currentHook.memoizedState.deps)?hook.memoizedState=pushSimpleEffect(hookFlags,inst,create,deps):(currentlyRenderingFiber.flags|=fiberFlags,hook.memoizedState=pushSimpleEffect(1|hookFlags,inst,create,deps))}function mountEffect(create,createDeps){mountEffectImpl(8390656,8,create,createDeps)}function updateEffect(create,createDeps){updateEffectImpl(2048,8,create,createDeps)}function updateInsertionEffect(create,deps){return updateEffectImpl(4,2,create,deps)}function updateLayoutEffect(create,deps){return updateEffectImpl(4,4,create,deps)}function imperativeHandleEffect(create,ref){if(typeof ref==="function"){create=create();var refCleanup=ref(create);return function(){typeof refCleanup==="function"?refCleanup():ref(null)}}if(ref!==null&&ref!==void 0)return create=create(),ref.current=create,function(){ref.current=null}}function updateImperativeHandle(ref,create,deps){deps=deps!==null&&deps!==void 0?deps.concat([ref]):null,updateEffectImpl(4,4,imperativeHandleEffect.bind(null,create,ref),deps)}function mountDebugValue(){}function updateCallback(callback,deps){var hook=updateWorkInProgressHook();deps=deps===void 0?null:deps;var prevState=hook.memoizedState;if(deps!==null&&areHookInputsEqual(deps,prevState[1]))return prevState[0];return hook.memoizedState=[callback,deps],callback}function updateMemo(nextCreate,deps){var hook=updateWorkInProgressHook();deps=deps===void 0?null:deps;var prevState=hook.memoizedState;if(deps!==null&&areHookInputsEqual(deps,prevState[1]))return prevState[0];if(prevState=nextCreate(),shouldDoubleInvokeUserFnsInHooksDEV){setIsStrictModeForDevtools(!0);try{nextCreate()}finally{setIsStrictModeForDevtools(!1)}}return hook.memoizedState=[prevState,deps],prevState}function mountDeferredValueImpl(hook,value,initialValue){if(initialValue===void 0||(renderLanes&1073741824)!==0)return hook.memoizedState=value;return hook.memoizedState=initialValue,hook=requestDeferredLane(),currentlyRenderingFiber.lanes|=hook,workInProgressRootSkippedLanes|=hook,initialValue}function updateDeferredValueImpl(hook,prevValue,value,initialValue){if(objectIs(value,prevValue))return value;if(currentTreeHiddenStackCursor.current!==null)return hook=mountDeferredValueImpl(hook,value,initialValue),objectIs(hook,prevValue)||(didReceiveUpdate=!0),hook;if((renderLanes&42)===0)return didReceiveUpdate=!0,hook.memoizedState=value;return hook=requestDeferredLane(),currentlyRenderingFiber.lanes|=hook,workInProgressRootSkippedLanes|=hook,prevValue}function startTransition(fiber,queue,pendingState,finishedState,callback){var previousPriority=getCurrentUpdatePriority();setCurrentUpdatePriority(previousPriority!==0&&8>previousPriority?previousPriority:8);var prevTransition=ReactSharedInternals.T,currentTransition={};ReactSharedInternals.T=currentTransition,dispatchOptimisticSetState(fiber,!1,queue,pendingState);try{var returnValue=callback(),onStartTransitionFinish=ReactSharedInternals.S;if(onStartTransitionFinish!==null&&onStartTransitionFinish(currentTransition,returnValue),returnValue!==null&&typeof returnValue==="object"&&typeof returnValue.then==="function"){var thenableForFinishedState=chainThenableValue(returnValue,finishedState);dispatchSetStateInternal(fiber,queue,thenableForFinishedState,requestUpdateLane(fiber))}else dispatchSetStateInternal(fiber,queue,finishedState,requestUpdateLane(fiber))}catch(error){dispatchSetStateInternal(fiber,queue,{then:function(){},status:"rejected",reason:error},requestUpdateLane())}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=prevTransition}}function ensureFormComponentIsStateful(formFiber){var existingStateHook=formFiber.memoizedState;if(existingStateHook!==null)return existingStateHook;existingStateHook={memoizedState:NotPendingTransition,baseState:NotPendingTransition,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:basicStateReducer,lastRenderedState:NotPendingTransition},next:null};var initialResetState={};return existingStateHook.next={memoizedState:initialResetState,baseState:initialResetState,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:basicStateReducer,lastRenderedState:initialResetState},next:null},formFiber.memoizedState=existingStateHook,formFiber=formFiber.alternate,formFiber!==null&&(formFiber.memoizedState=existingStateHook),existingStateHook}function useHostTransitionStatus(){return readContext(HostTransitionContext)}function updateId(){return updateWorkInProgressHook().memoizedState}function updateRefresh(){return updateWorkInProgressHook().memoizedState}function refreshCache(fiber){for(var provider=fiber.return;provider!==null;){switch(provider.tag){case 24:case 3:var lane=requestUpdateLane();fiber=createUpdate(lane);var root=enqueueUpdate(provider,fiber,lane);root!==null&&(scheduleUpdateOnFiber(root,provider,lane),entangleTransitions(root,provider,lane)),provider={cache:createCache()},fiber.payload=provider;return}provider=provider.return}}function dispatchReducerAction(fiber,queue,action){var lane=requestUpdateLane();action={lane,revertLane:0,action,hasEagerState:!1,eagerState:null,next:null},isRenderPhaseUpdate(fiber)?enqueueRenderPhaseUpdate(queue,action):(action=enqueueConcurrentHookUpdate(fiber,queue,action,lane),action!==null&&(scheduleUpdateOnFiber(action,fiber,lane),entangleTransitionUpdate(action,queue,lane)))}function dispatchSetState(fiber,queue,action){var lane=requestUpdateLane();dispatchSetStateInternal(fiber,queue,action,lane)}function dispatchSetStateInternal(fiber,queue,action,lane){var update={lane,revertLane:0,action,hasEagerState:!1,eagerState:null,next:null};if(isRenderPhaseUpdate(fiber))enqueueRenderPhaseUpdate(queue,update);else{var alternate=fiber.alternate;if(fiber.lanes===0&&(alternate===null||alternate.lanes===0)&&(alternate=queue.lastRenderedReducer,alternate!==null))try{var currentState=queue.lastRenderedState,eagerState=alternate(currentState,action);if(update.hasEagerState=!0,update.eagerState=eagerState,objectIs(eagerState,currentState))return enqueueUpdate$1(fiber,queue,update,0),workInProgressRoot===null&&finishQueueingConcurrentUpdates(),!1}catch(error){}finally{}if(action=enqueueConcurrentHookUpdate(fiber,queue,update,lane),action!==null)return scheduleUpdateOnFiber(action,fiber,lane),entangleTransitionUpdate(action,queue,lane),!0}return!1}function dispatchOptimisticSetState(fiber,throwIfDuringRender,queue,action){if(action={lane:2,revertLane:requestTransitionLane(),action,hasEagerState:!1,eagerState:null,next:null},isRenderPhaseUpdate(fiber)){if(throwIfDuringRender)throw Error(formatProdErrorMessage(479))}else throwIfDuringRender=enqueueConcurrentHookUpdate(fiber,queue,action,2),throwIfDuringRender!==null&&scheduleUpdateOnFiber(throwIfDuringRender,fiber,2)}function isRenderPhaseUpdate(fiber){var alternate=fiber.alternate;return fiber===currentlyRenderingFiber||alternate!==null&&alternate===currentlyRenderingFiber}function enqueueRenderPhaseUpdate(queue,update){didScheduleRenderPhaseUpdateDuringThisPass=didScheduleRenderPhaseUpdate=!0;var pending=queue.pending;pending===null?update.next=update:(update.next=pending.next,pending.next=update),queue.pending=update}function entangleTransitionUpdate(root,queue,lane){if((lane&4194048)!==0){var queueLanes=queue.lanes;queueLanes&=root.pendingLanes,lane|=queueLanes,queue.lanes=lane,markRootEntangled(root,lane)}}function unwrapThenable(thenable){var index=thenableIndexCounter;return thenableIndexCounter+=1,thenableState===null&&(thenableState=[]),trackUsedThenable(thenableState,thenable,index)}function coerceRef(workInProgress2,element){element=element.props.ref,workInProgress2.ref=element!==void 0?element:null}function throwOnInvalidObjectType(returnFiber,newChild){if(newChild.$$typeof===REACT_LEGACY_ELEMENT_TYPE)throw Error(formatProdErrorMessage(525));throw returnFiber=Object.prototype.toString.call(newChild),Error(formatProdErrorMessage(31,returnFiber==="[object Object]"?"object with keys {"+Object.keys(newChild).join(", ")+"}":returnFiber))}function resolveLazy(lazyType){var init=lazyType._init;return init(lazyType._payload)}function createChildReconciler(shouldTrackSideEffects){function deleteChild(returnFiber,childToDelete){if(shouldTrackSideEffects){var deletions=returnFiber.deletions;deletions===null?(returnFiber.deletions=[childToDelete],returnFiber.flags|=16):deletions.push(childToDelete)}}function deleteRemainingChildren(returnFiber,currentFirstChild){if(!shouldTrackSideEffects)return null;for(;currentFirstChild!==null;)deleteChild(returnFiber,currentFirstChild),currentFirstChild=currentFirstChild.sibling;return null}function mapRemainingChildren(currentFirstChild){for(var existingChildren=new Map;currentFirstChild!==null;)currentFirstChild.key!==null?existingChildren.set(currentFirstChild.key,currentFirstChild):existingChildren.set(currentFirstChild.index,currentFirstChild),currentFirstChild=currentFirstChild.sibling;return existingChildren}function useFiber(fiber,pendingProps){return fiber=createWorkInProgress(fiber,pendingProps),fiber.index=0,fiber.sibling=null,fiber}function placeChild(newFiber,lastPlacedIndex,newIndex){if(newFiber.index=newIndex,!shouldTrackSideEffects)return newFiber.flags|=1048576,lastPlacedIndex;if(newIndex=newFiber.alternate,newIndex!==null)return newIndex=newIndex.index,newIndex<lastPlacedIndex?(newFiber.flags|=67108866,lastPlacedIndex):newIndex;return newFiber.flags|=67108866,lastPlacedIndex}function placeSingleChild(newFiber){return shouldTrackSideEffects&&newFiber.alternate===null&&(newFiber.flags|=67108866),newFiber}function updateTextNode(returnFiber,current,textContent,lanes){if(current===null||current.tag!==6)return current=createFiberFromText(textContent,returnFiber.mode,lanes),current.return=returnFiber,current;return current=useFiber(current,textContent),current.return=returnFiber,current}function updateElement(returnFiber,current,element,lanes){var elementType=element.type;if(elementType===REACT_FRAGMENT_TYPE2)return updateFragment(returnFiber,current,element.props.children,lanes,element.key);if(current!==null&&(current.elementType===elementType||typeof elementType==="object"&&elementType!==null&&elementType.$$typeof===REACT_LAZY_TYPE&&resolveLazy(elementType)===current.type))return current=useFiber(current,element.props),coerceRef(current,element),current.return=returnFiber,current;return current=createFiberFromTypeAndProps(element.type,element.key,element.props,null,returnFiber.mode,lanes),coerceRef(current,element),current.return=returnFiber,current}function updatePortal(returnFiber,current,portal,lanes){if(current===null||current.tag!==4||current.stateNode.containerInfo!==portal.containerInfo||current.stateNode.implementation!==portal.implementation)return current=createFiberFromPortal(portal,returnFiber.mode,lanes),current.return=returnFiber,current;return current=useFiber(current,portal.children||[]),current.return=returnFiber,current}function updateFragment(returnFiber,current,fragment,lanes,key){if(current===null||current.tag!==7)return current=createFiberFromFragment(fragment,returnFiber.mode,lanes,key),current.return=returnFiber,current;return current=useFiber(current,fragment),current.return=returnFiber,current}function createChild(returnFiber,newChild,lanes){if(typeof newChild==="string"&&newChild!==""||typeof newChild==="number"||typeof newChild==="bigint")return newChild=createFiberFromText(""+newChild,returnFiber.mode,lanes),newChild.return=returnFiber,newChild;if(typeof newChild==="object"&&newChild!==null){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE:return lanes=createFiberFromTypeAndProps(newChild.type,newChild.key,newChild.props,null,returnFiber.mode,lanes),coerceRef(lanes,newChild),lanes.return=returnFiber,lanes;case REACT_PORTAL_TYPE:return newChild=createFiberFromPortal(newChild,returnFiber.mode,lanes),newChild.return=returnFiber,newChild;case REACT_LAZY_TYPE:var init=newChild._init;return newChild=init(newChild._payload),createChild(returnFiber,newChild,lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return newChild=createFiberFromFragment(newChild,returnFiber.mode,lanes,null),newChild.return=returnFiber,newChild;if(typeof newChild.then==="function")return createChild(returnFiber,unwrapThenable(newChild),lanes);if(newChild.$$typeof===REACT_CONTEXT_TYPE)return createChild(returnFiber,readContextDuringReconciliation(returnFiber,newChild),lanes);throwOnInvalidObjectType(returnFiber,newChild)}return null}function updateSlot(returnFiber,oldFiber,newChild,lanes){var key=oldFiber!==null?oldFiber.key:null;if(typeof newChild==="string"&&newChild!==""||typeof newChild==="number"||typeof newChild==="bigint")return key!==null?null:updateTextNode(returnFiber,oldFiber,""+newChild,lanes);if(typeof newChild==="object"&&newChild!==null){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE:return newChild.key===key?updateElement(returnFiber,oldFiber,newChild,lanes):null;case REACT_PORTAL_TYPE:return newChild.key===key?updatePortal(returnFiber,oldFiber,newChild,lanes):null;case REACT_LAZY_TYPE:return key=newChild._init,newChild=key(newChild._payload),updateSlot(returnFiber,oldFiber,newChild,lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return key!==null?null:updateFragment(returnFiber,oldFiber,newChild,lanes,null);if(typeof newChild.then==="function")return updateSlot(returnFiber,oldFiber,unwrapThenable(newChild),lanes);if(newChild.$$typeof===REACT_CONTEXT_TYPE)return updateSlot(returnFiber,oldFiber,readContextDuringReconciliation(returnFiber,newChild),lanes);throwOnInvalidObjectType(returnFiber,newChild)}return null}function updateFromMap(existingChildren,returnFiber,newIdx,newChild,lanes){if(typeof newChild==="string"&&newChild!==""||typeof newChild==="number"||typeof newChild==="bigint")return existingChildren=existingChildren.get(newIdx)||null,updateTextNode(returnFiber,existingChildren,""+newChild,lanes);if(typeof newChild==="object"&&newChild!==null){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE:return existingChildren=existingChildren.get(newChild.key===null?newIdx:newChild.key)||null,updateElement(returnFiber,existingChildren,newChild,lanes);case REACT_PORTAL_TYPE:return existingChildren=existingChildren.get(newChild.key===null?newIdx:newChild.key)||null,updatePortal(returnFiber,existingChildren,newChild,lanes);case REACT_LAZY_TYPE:var init=newChild._init;return newChild=init(newChild._payload),updateFromMap(existingChildren,returnFiber,newIdx,newChild,lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return existingChildren=existingChildren.get(newIdx)||null,updateFragment(returnFiber,existingChildren,newChild,lanes,null);if(typeof newChild.then==="function")return updateFromMap(existingChildren,returnFiber,newIdx,unwrapThenable(newChild),lanes);if(newChild.$$typeof===REACT_CONTEXT_TYPE)return updateFromMap(existingChildren,returnFiber,newIdx,readContextDuringReconciliation(returnFiber,newChild),lanes);throwOnInvalidObjectType(returnFiber,newChild)}return null}function reconcileChildrenArray(returnFiber,currentFirstChild,newChildren,lanes){for(var resultingFirstChild=null,previousNewFiber=null,oldFiber=currentFirstChild,newIdx=currentFirstChild=0,nextOldFiber=null;oldFiber!==null&&newIdx<newChildren.length;newIdx++){oldFiber.index>newIdx?(nextOldFiber=oldFiber,oldFiber=null):nextOldFiber=oldFiber.sibling;var newFiber=updateSlot(returnFiber,oldFiber,newChildren[newIdx],lanes);if(newFiber===null){oldFiber===null&&(oldFiber=nextOldFiber);break}shouldTrackSideEffects&&oldFiber&&newFiber.alternate===null&&deleteChild(returnFiber,oldFiber),currentFirstChild=placeChild(newFiber,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=newFiber:previousNewFiber.sibling=newFiber,previousNewFiber=newFiber,oldFiber=nextOldFiber}if(newIdx===newChildren.length)return deleteRemainingChildren(returnFiber,oldFiber),isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild;if(oldFiber===null){for(;newIdx<newChildren.length;newIdx++)oldFiber=createChild(returnFiber,newChildren[newIdx],lanes),oldFiber!==null&&(currentFirstChild=placeChild(oldFiber,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=oldFiber:previousNewFiber.sibling=oldFiber,previousNewFiber=oldFiber);return isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild}for(oldFiber=mapRemainingChildren(oldFiber);newIdx<newChildren.length;newIdx++)nextOldFiber=updateFromMap(oldFiber,returnFiber,newIdx,newChildren[newIdx],lanes),nextOldFiber!==null&&(shouldTrackSideEffects&&nextOldFiber.alternate!==null&&oldFiber.delete(nextOldFiber.key===null?newIdx:nextOldFiber.key),currentFirstChild=placeChild(nextOldFiber,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=nextOldFiber:previousNewFiber.sibling=nextOldFiber,previousNewFiber=nextOldFiber);return shouldTrackSideEffects&&oldFiber.forEach(function(child){return deleteChild(returnFiber,child)}),isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild}function reconcileChildrenIterator(returnFiber,currentFirstChild,newChildren,lanes){if(newChildren==null)throw Error(formatProdErrorMessage(151));for(var resultingFirstChild=null,previousNewFiber=null,oldFiber=currentFirstChild,newIdx=currentFirstChild=0,nextOldFiber=null,step=newChildren.next();oldFiber!==null&&!step.done;newIdx++,step=newChildren.next()){oldFiber.index>newIdx?(nextOldFiber=oldFiber,oldFiber=null):nextOldFiber=oldFiber.sibling;var newFiber=updateSlot(returnFiber,oldFiber,step.value,lanes);if(newFiber===null){oldFiber===null&&(oldFiber=nextOldFiber);break}shouldTrackSideEffects&&oldFiber&&newFiber.alternate===null&&deleteChild(returnFiber,oldFiber),currentFirstChild=placeChild(newFiber,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=newFiber:previousNewFiber.sibling=newFiber,previousNewFiber=newFiber,oldFiber=nextOldFiber}if(step.done)return deleteRemainingChildren(returnFiber,oldFiber),isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild;if(oldFiber===null){for(;!step.done;newIdx++,step=newChildren.next())step=createChild(returnFiber,step.value,lanes),step!==null&&(currentFirstChild=placeChild(step,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=step:previousNewFiber.sibling=step,previousNewFiber=step);return isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild}for(oldFiber=mapRemainingChildren(oldFiber);!step.done;newIdx++,step=newChildren.next())step=updateFromMap(oldFiber,returnFiber,newIdx,step.value,lanes),step!==null&&(shouldTrackSideEffects&&step.alternate!==null&&oldFiber.delete(step.key===null?newIdx:step.key),currentFirstChild=placeChild(step,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=step:previousNewFiber.sibling=step,previousNewFiber=step);return shouldTrackSideEffects&&oldFiber.forEach(function(child){return deleteChild(returnFiber,child)}),isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild}function reconcileChildFibersImpl(returnFiber,currentFirstChild,newChild,lanes){if(typeof newChild==="object"&&newChild!==null&&newChild.type===REACT_FRAGMENT_TYPE2&&newChild.key===null&&(newChild=newChild.props.children),typeof newChild==="object"&&newChild!==null){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE:a:{for(var key=newChild.key;currentFirstChild!==null;){if(currentFirstChild.key===key){if(key=newChild.type,key===REACT_FRAGMENT_TYPE2){if(currentFirstChild.tag===7){deleteRemainingChildren(returnFiber,currentFirstChild.sibling),lanes=useFiber(currentFirstChild,newChild.props.children),lanes.return=returnFiber,returnFiber=lanes;break a}}else if(currentFirstChild.elementType===key||typeof key==="object"&&key!==null&&key.$$typeof===REACT_LAZY_TYPE&&resolveLazy(key)===currentFirstChild.type){deleteRemainingChildren(returnFiber,currentFirstChild.sibling),lanes=useFiber(currentFirstChild,newChild.props),coerceRef(lanes,newChild),lanes.return=returnFiber,returnFiber=lanes;break a}deleteRemainingChildren(returnFiber,currentFirstChild);break}else deleteChild(returnFiber,currentFirstChild);currentFirstChild=currentFirstChild.sibling}newChild.type===REACT_FRAGMENT_TYPE2?(lanes=createFiberFromFragment(newChild.props.children,returnFiber.mode,lanes,newChild.key),lanes.return=returnFiber,returnFiber=lanes):(lanes=createFiberFromTypeAndProps(newChild.type,newChild.key,newChild.props,null,returnFiber.mode,lanes),coerceRef(lanes,newChild),lanes.return=returnFiber,returnFiber=lanes)}return placeSingleChild(returnFiber);case REACT_PORTAL_TYPE:a:{for(key=newChild.key;currentFirstChild!==null;){if(currentFirstChild.key===key)if(currentFirstChild.tag===4&&currentFirstChild.stateNode.containerInfo===newChild.containerInfo&&currentFirstChild.stateNode.implementation===newChild.implementation){deleteRemainingChildren(returnFiber,currentFirstChild.sibling),lanes=useFiber(currentFirstChild,newChild.children||[]),lanes.return=returnFiber,returnFiber=lanes;break a}else{deleteRemainingChildren(returnFiber,currentFirstChild);break}else deleteChild(returnFiber,currentFirstChild);currentFirstChild=currentFirstChild.sibling}lanes=createFiberFromPortal(newChild,returnFiber.mode,lanes),lanes.return=returnFiber,returnFiber=lanes}return placeSingleChild(returnFiber);case REACT_LAZY_TYPE:return key=newChild._init,newChild=key(newChild._payload),reconcileChildFibersImpl(returnFiber,currentFirstChild,newChild,lanes)}if(isArrayImpl(newChild))return reconcileChildrenArray(returnFiber,currentFirstChild,newChild,lanes);if(getIteratorFn(newChild)){if(key=getIteratorFn(newChild),typeof key!=="function")throw Error(formatProdErrorMessage(150));return newChild=key.call(newChild),reconcileChildrenIterator(returnFiber,currentFirstChild,newChild,lanes)}if(typeof newChild.then==="function")return reconcileChildFibersImpl(returnFiber,currentFirstChild,unwrapThenable(newChild),lanes);if(newChild.$$typeof===REACT_CONTEXT_TYPE)return reconcileChildFibersImpl(returnFiber,currentFirstChild,readContextDuringReconciliation(returnFiber,newChild),lanes);throwOnInvalidObjectType(returnFiber,newChild)}return typeof newChild==="string"&&newChild!==""||typeof newChild==="number"||typeof newChild==="bigint"?(newChild=""+newChild,currentFirstChild!==null&&currentFirstChild.tag===6?(deleteRemainingChildren(returnFiber,currentFirstChild.sibling),lanes=useFiber(currentFirstChild,newChild),lanes.return=returnFiber,returnFiber=lanes):(deleteRemainingChildren(returnFiber,currentFirstChild),lanes=createFiberFromText(newChild,returnFiber.mode,lanes),lanes.return=returnFiber,returnFiber=lanes),placeSingleChild(returnFiber)):deleteRemainingChildren(returnFiber,currentFirstChild)}return function(returnFiber,currentFirstChild,newChild,lanes){try{thenableIndexCounter=0;var firstChildFiber=reconcileChildFibersImpl(returnFiber,currentFirstChild,newChild,lanes);return thenableState=null,firstChildFiber}catch(x2){if(x2===SuspenseException||x2===SuspenseActionException)throw x2;var fiber=createFiber(29,x2,null,returnFiber.mode);return fiber.lanes=lanes,fiber.return=returnFiber,fiber}finally{}}}function pushPrimaryTreeSuspenseHandler(handler){var current=handler.alternate;push2(suspenseStackCursor,suspenseStackCursor.current&1),push2(suspenseHandlerStackCursor,handler),shellBoundary===null&&(current===null||currentTreeHiddenStackCursor.current!==null?shellBoundary=handler:current.memoizedState!==null&&(shellBoundary=handler))}function pushOffscreenSuspenseHandler(fiber){if(fiber.tag===22){if(push2(suspenseStackCursor,suspenseStackCursor.current),push2(suspenseHandlerStackCursor,fiber),shellBoundary===null){var current=fiber.alternate;current!==null&&current.memoizedState!==null&&(shellBoundary=fiber)}}else reuseSuspenseHandlerOnStack(fiber)}function reuseSuspenseHandlerOnStack(){push2(suspenseStackCursor,suspenseStackCursor.current),push2(suspenseHandlerStackCursor,suspenseHandlerStackCursor.current)}function popSuspenseHandler(fiber){pop2(suspenseHandlerStackCursor),shellBoundary===fiber&&(shellBoundary=null),pop2(suspenseStackCursor)}function findFirstSuspended(row){for(var node=row;node!==null;){if(node.tag===13){var state=node.memoizedState;if(state!==null&&(state=state.dehydrated,state===null||isSuspenseInstancePending(state)||isSuspenseInstanceFallback(state)))return node}else if(node.tag===19&&node.memoizedProps.revealOrder!==void 0){if((node.flags&128)!==0)return node}else if(node.child!==null){node.child.return=node,node=node.child;continue}if(node===row)break;for(;node.sibling===null;){if(node.return===null||node.return===row)return null;node=node.return}node.sibling.return=node.return,node=node.sibling}return null}function applyDerivedStateFromProps(workInProgress2,ctor,getDerivedStateFromProps,nextProps){ctor=workInProgress2.memoizedState,getDerivedStateFromProps=getDerivedStateFromProps(nextProps,ctor),getDerivedStateFromProps=getDerivedStateFromProps===null||getDerivedStateFromProps===void 0?ctor:assign({},ctor,getDerivedStateFromProps),workInProgress2.memoizedState=getDerivedStateFromProps,workInProgress2.lanes===0&&(workInProgress2.updateQueue.baseState=getDerivedStateFromProps)}function checkShouldComponentUpdate(workInProgress2,ctor,oldProps,newProps,oldState,newState,nextContext){return workInProgress2=workInProgress2.stateNode,typeof workInProgress2.shouldComponentUpdate==="function"?workInProgress2.shouldComponentUpdate(newProps,newState,nextContext):ctor.prototype&&ctor.prototype.isPureReactComponent?!shallowEqual(oldProps,newProps)||!shallowEqual(oldState,newState):!0}function callComponentWillReceiveProps(workInProgress2,instance,newProps,nextContext){workInProgress2=instance.state,typeof instance.componentWillReceiveProps==="function"&&instance.componentWillReceiveProps(newProps,nextContext),typeof instance.UNSAFE_componentWillReceiveProps==="function"&&instance.UNSAFE_componentWillReceiveProps(newProps,nextContext),instance.state!==workInProgress2&&classComponentUpdater.enqueueReplaceState(instance,instance.state,null)}function resolveClassComponentProps(Component,baseProps){var newProps=baseProps;if("ref"in baseProps){newProps={};for(var propName in baseProps)propName!=="ref"&&(newProps[propName]=baseProps[propName])}if(Component=Component.defaultProps){newProps===baseProps&&(newProps=assign({},newProps));for(var propName$57 in Component)newProps[propName$57]===void 0&&(newProps[propName$57]=Component[propName$57])}return newProps}function logUncaughtError(root,errorInfo){try{var onUncaughtError=root.onUncaughtError;onUncaughtError(errorInfo.value,{componentStack:errorInfo.stack})}catch(e){setTimeout(function(){throw e})}}function logCaughtError(root,boundary,errorInfo){try{var onCaughtError=root.onCaughtError;onCaughtError(errorInfo.value,{componentStack:errorInfo.stack,errorBoundary:boundary.tag===1?boundary.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function createRootErrorUpdate(root,errorInfo,lane){return lane=createUpdate(lane),lane.tag=3,lane.payload={element:null},lane.callback=function(){logUncaughtError(root,errorInfo)},lane}function createClassErrorUpdate(lane){return lane=createUpdate(lane),lane.tag=3,lane}function initializeClassErrorUpdate(update,root,fiber,errorInfo){var getDerivedStateFromError=fiber.type.getDerivedStateFromError;if(typeof getDerivedStateFromError==="function"){var error=errorInfo.value;update.payload=function(){return getDerivedStateFromError(error)},update.callback=function(){logCaughtError(root,fiber,errorInfo)}}var inst=fiber.stateNode;inst!==null&&typeof inst.componentDidCatch==="function"&&(update.callback=function(){logCaughtError(root,fiber,errorInfo),typeof getDerivedStateFromError!=="function"&&(legacyErrorBoundariesThatAlreadyFailed===null?legacyErrorBoundariesThatAlreadyFailed=new Set([this]):legacyErrorBoundariesThatAlreadyFailed.add(this));var stack=errorInfo.stack;this.componentDidCatch(errorInfo.value,{componentStack:stack!==null?stack:""})})}function throwException(root,returnFiber,sourceFiber,value,rootRenderLanes){if(sourceFiber.flags|=32768,value!==null&&typeof value==="object"&&typeof value.then==="function"){if(returnFiber=sourceFiber.alternate,returnFiber!==null&&propagateParentContextChanges(returnFiber,sourceFiber,rootRenderLanes,!0),sourceFiber=suspenseHandlerStackCursor.current,sourceFiber!==null){switch(sourceFiber.tag){case 13:return shellBoundary===null?renderDidSuspendDelayIfPossible():sourceFiber.alternate===null&&workInProgressRootExitStatus===0&&(workInProgressRootExitStatus=3),sourceFiber.flags&=-257,sourceFiber.flags|=65536,sourceFiber.lanes=rootRenderLanes,value===noopSuspenseyCommitThenable?sourceFiber.flags|=16384:(returnFiber=sourceFiber.updateQueue,returnFiber===null?sourceFiber.updateQueue=new Set([value]):returnFiber.add(value),attachPingListener(root,value,rootRenderLanes)),!1;case 22:return sourceFiber.flags|=65536,value===noopSuspenseyCommitThenable?sourceFiber.flags|=16384:(returnFiber=sourceFiber.updateQueue,returnFiber===null?(returnFiber={transitions:null,markerInstances:null,retryQueue:new Set([value])},sourceFiber.updateQueue=returnFiber):(sourceFiber=returnFiber.retryQueue,sourceFiber===null?returnFiber.retryQueue=new Set([value]):sourceFiber.add(value)),attachPingListener(root,value,rootRenderLanes)),!1}throw Error(formatProdErrorMessage(435,sourceFiber.tag))}return attachPingListener(root,value,rootRenderLanes),renderDidSuspendDelayIfPossible(),!1}if(isHydrating)return returnFiber=suspenseHandlerStackCursor.current,returnFiber!==null?((returnFiber.flags&65536)===0&&(returnFiber.flags|=256),returnFiber.flags|=65536,returnFiber.lanes=rootRenderLanes,value!==HydrationMismatchException&&(root=Error(formatProdErrorMessage(422),{cause:value}),queueHydrationError(createCapturedValueAtFiber(root,sourceFiber)))):(value!==HydrationMismatchException&&(returnFiber=Error(formatProdErrorMessage(423),{cause:value}),queueHydrationError(createCapturedValueAtFiber(returnFiber,sourceFiber))),root=root.current.alternate,root.flags|=65536,rootRenderLanes&=-rootRenderLanes,root.lanes|=rootRenderLanes,value=createCapturedValueAtFiber(value,sourceFiber),rootRenderLanes=createRootErrorUpdate(root.stateNode,value,rootRenderLanes),enqueueCapturedUpdate(root,rootRenderLanes),workInProgressRootExitStatus!==4&&(workInProgressRootExitStatus=2)),!1;var wrapperError=Error(formatProdErrorMessage(520),{cause:value});if(wrapperError=createCapturedValueAtFiber(wrapperError,sourceFiber),workInProgressRootConcurrentErrors===null?workInProgressRootConcurrentErrors=[wrapperError]:workInProgressRootConcurrentErrors.push(wrapperError),workInProgressRootExitStatus!==4&&(workInProgressRootExitStatus=2),returnFiber===null)return!0;value=createCapturedValueAtFiber(value,sourceFiber),sourceFiber=returnFiber;do{switch(sourceFiber.tag){case 3:return sourceFiber.flags|=65536,root=rootRenderLanes&-rootRenderLanes,sourceFiber.lanes|=root,root=createRootErrorUpdate(sourceFiber.stateNode,value,root),enqueueCapturedUpdate(sourceFiber,root),!1;case 1:if(returnFiber=sourceFiber.type,wrapperError=sourceFiber.stateNode,(sourceFiber.flags&128)===0&&(typeof returnFiber.getDerivedStateFromError==="function"||wrapperError!==null&&typeof wrapperError.componentDidCatch==="function"&&(legacyErrorBoundariesThatAlreadyFailed===null||!legacyErrorBoundariesThatAlreadyFailed.has(wrapperError))))return sourceFiber.flags|=65536,rootRenderLanes&=-rootRenderLanes,sourceFiber.lanes|=rootRenderLanes,rootRenderLanes=createClassErrorUpdate(rootRenderLanes),initializeClassErrorUpdate(rootRenderLanes,root,sourceFiber,value),enqueueCapturedUpdate(sourceFiber,rootRenderLanes),!1}sourceFiber=sourceFiber.return}while(sourceFiber!==null);return!1}function reconcileChildren(current,workInProgress2,nextChildren,renderLanes2){workInProgress2.child=current===null?mountChildFibers(workInProgress2,null,nextChildren,renderLanes2):reconcileChildFibers(workInProgress2,current.child,nextChildren,renderLanes2)}function updateForwardRef(current,workInProgress2,Component,nextProps,renderLanes2){Component=Component.render;var ref=workInProgress2.ref;if("ref"in nextProps){var propsWithoutRef={};for(var key in nextProps)key!=="ref"&&(propsWithoutRef[key]=nextProps[key])}else propsWithoutRef=nextProps;if(prepareToReadContext(workInProgress2),nextProps=renderWithHooks(current,workInProgress2,Component,propsWithoutRef,ref,renderLanes2),key=checkDidRenderIdHook(),current!==null&&!didReceiveUpdate)return bailoutHooks(current,workInProgress2,renderLanes2),bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2);return isHydrating&&key&&pushMaterializedTreeId(workInProgress2),workInProgress2.flags|=1,reconcileChildren(current,workInProgress2,nextProps,renderLanes2),workInProgress2.child}function updateMemoComponent(current,workInProgress2,Component,nextProps,renderLanes2){if(current===null){var type=Component.type;if(typeof type==="function"&&!shouldConstruct(type)&&type.defaultProps===void 0&&Component.compare===null)return workInProgress2.tag=15,workInProgress2.type=type,updateSimpleMemoComponent(current,workInProgress2,type,nextProps,renderLanes2);return current=createFiberFromTypeAndProps(Component.type,null,nextProps,workInProgress2,workInProgress2.mode,renderLanes2),current.ref=workInProgress2.ref,current.return=workInProgress2,workInProgress2.child=current}if(type=current.child,!checkScheduledUpdateOrContext(current,renderLanes2)){var prevProps=type.memoizedProps;if(Component=Component.compare,Component=Component!==null?Component:shallowEqual,Component(prevProps,nextProps)&&current.ref===workInProgress2.ref)return bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2)}return workInProgress2.flags|=1,current=createWorkInProgress(type,nextProps),current.ref=workInProgress2.ref,current.return=workInProgress2,workInProgress2.child=current}function updateSimpleMemoComponent(current,workInProgress2,Component,nextProps,renderLanes2){if(current!==null){var prevProps=current.memoizedProps;if(shallowEqual(prevProps,nextProps)&&current.ref===workInProgress2.ref)if(didReceiveUpdate=!1,workInProgress2.pendingProps=nextProps=prevProps,checkScheduledUpdateOrContext(current,renderLanes2))(current.flags&131072)!==0&&(didReceiveUpdate=!0);else return workInProgress2.lanes=current.lanes,bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2)}return updateFunctionComponent(current,workInProgress2,Component,nextProps,renderLanes2)}function updateOffscreenComponent(current,workInProgress2,renderLanes2){var nextProps=workInProgress2.pendingProps,nextChildren=nextProps.children,prevState=current!==null?current.memoizedState:null;if(nextProps.mode==="hidden"){if((workInProgress2.flags&128)!==0){if(nextProps=prevState!==null?prevState.baseLanes|renderLanes2:renderLanes2,current!==null){nextChildren=workInProgress2.child=current.child;for(prevState=0;nextChildren!==null;)prevState=prevState|nextChildren.lanes|nextChildren.childLanes,nextChildren=nextChildren.sibling;workInProgress2.childLanes=prevState&~nextProps}else workInProgress2.childLanes=0,workInProgress2.child=null;return deferHiddenOffscreenComponent(current,workInProgress2,nextProps,renderLanes2)}if((renderLanes2&536870912)!==0)workInProgress2.memoizedState={baseLanes:0,cachePool:null},current!==null&&pushTransition(workInProgress2,prevState!==null?prevState.cachePool:null),prevState!==null?pushHiddenContext(workInProgress2,prevState):reuseHiddenContextOnStack(),pushOffscreenSuspenseHandler(workInProgress2);else return workInProgress2.lanes=workInProgress2.childLanes=536870912,deferHiddenOffscreenComponent(current,workInProgress2,prevState!==null?prevState.baseLanes|renderLanes2:renderLanes2,renderLanes2)}else prevState!==null?(pushTransition(workInProgress2,prevState.cachePool),pushHiddenContext(workInProgress2,prevState),reuseSuspenseHandlerOnStack(workInProgress2),workInProgress2.memoizedState=null):(current!==null&&pushTransition(workInProgress2,null),reuseHiddenContextOnStack(),reuseSuspenseHandlerOnStack(workInProgress2));return reconcileChildren(current,workInProgress2,nextChildren,renderLanes2),workInProgress2.child}function deferHiddenOffscreenComponent(current,workInProgress2,nextBaseLanes,renderLanes2){var JSCompiler_inline_result=peekCacheFromPool();return JSCompiler_inline_result=JSCompiler_inline_result===null?null:{parent:isPrimaryRenderer?CacheContext._currentValue:CacheContext._currentValue2,pool:JSCompiler_inline_result},workInProgress2.memoizedState={baseLanes:nextBaseLanes,cachePool:JSCompiler_inline_result},current!==null&&pushTransition(workInProgress2,null),reuseHiddenContextOnStack(),pushOffscreenSuspenseHandler(workInProgress2),current!==null&&propagateParentContextChanges(current,workInProgress2,renderLanes2,!0),null}function markRef(current,workInProgress2){var ref=workInProgress2.ref;if(ref===null)current!==null&&current.ref!==null&&(workInProgress2.flags|=4194816);else{if(typeof ref!=="function"&&typeof ref!=="object")throw Error(formatProdErrorMessage(284));if(current===null||current.ref!==ref)workInProgress2.flags|=4194816}}function updateFunctionComponent(current,workInProgress2,Component,nextProps,renderLanes2){if(prepareToReadContext(workInProgress2),Component=renderWithHooks(current,workInProgress2,Component,nextProps,void 0,renderLanes2),nextProps=checkDidRenderIdHook(),current!==null&&!didReceiveUpdate)return bailoutHooks(current,workInProgress2,renderLanes2),bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2);return isHydrating&&nextProps&&pushMaterializedTreeId(workInProgress2),workInProgress2.flags|=1,reconcileChildren(current,workInProgress2,Component,renderLanes2),workInProgress2.child}function replayFunctionComponent(current,workInProgress2,nextProps,Component,secondArg,renderLanes2){if(prepareToReadContext(workInProgress2),workInProgress2.updateQueue=null,nextProps=renderWithHooksAgain(workInProgress2,Component,nextProps,secondArg),finishRenderingHooks(current),Component=checkDidRenderIdHook(),current!==null&&!didReceiveUpdate)return bailoutHooks(current,workInProgress2,renderLanes2),bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2);return isHydrating&&Component&&pushMaterializedTreeId(workInProgress2),workInProgress2.flags|=1,reconcileChildren(current,workInProgress2,nextProps,renderLanes2),workInProgress2.child}function updateClassComponent(current,workInProgress2,Component,nextProps,renderLanes2){if(prepareToReadContext(workInProgress2),workInProgress2.stateNode===null){var context=emptyContextObject,contextType=Component.contextType;typeof contextType==="object"&&contextType!==null&&(context=readContext(contextType)),context=new Component(nextProps,context),workInProgress2.memoizedState=context.state!==null&&context.state!==void 0?context.state:null,context.updater=classComponentUpdater,workInProgress2.stateNode=context,context._reactInternals=workInProgress2,context=workInProgress2.stateNode,context.props=nextProps,context.state=workInProgress2.memoizedState,context.refs={},initializeUpdateQueue(workInProgress2),contextType=Component.contextType,context.context=typeof contextType==="object"&&contextType!==null?readContext(contextType):emptyContextObject,context.state=workInProgress2.memoizedState,contextType=Component.getDerivedStateFromProps,typeof contextType==="function"&&(applyDerivedStateFromProps(workInProgress2,Component,contextType,nextProps),context.state=workInProgress2.memoizedState),typeof Component.getDerivedStateFromProps==="function"||typeof context.getSnapshotBeforeUpdate==="function"||typeof context.UNSAFE_componentWillMount!=="function"&&typeof context.componentWillMount!=="function"||(contextType=context.state,typeof context.componentWillMount==="function"&&context.componentWillMount(),typeof context.UNSAFE_componentWillMount==="function"&&context.UNSAFE_componentWillMount(),contextType!==context.state&&classComponentUpdater.enqueueReplaceState(context,context.state,null),processUpdateQueue(workInProgress2,nextProps,context,renderLanes2),suspendIfUpdateReadFromEntangledAsyncAction(),context.state=workInProgress2.memoizedState),typeof context.componentDidMount==="function"&&(workInProgress2.flags|=4194308),nextProps=!0}else if(current===null){context=workInProgress2.stateNode;var unresolvedOldProps=workInProgress2.memoizedProps,oldProps=resolveClassComponentProps(Component,unresolvedOldProps);context.props=oldProps;var oldContext=context.context,contextType$jscomp$0=Component.contextType;contextType=emptyContextObject,typeof contextType$jscomp$0==="object"&&contextType$jscomp$0!==null&&(contextType=readContext(contextType$jscomp$0));var getDerivedStateFromProps=Component.getDerivedStateFromProps;contextType$jscomp$0=typeof getDerivedStateFromProps==="function"||typeof context.getSnapshotBeforeUpdate==="function",unresolvedOldProps=workInProgress2.pendingProps!==unresolvedOldProps,contextType$jscomp$0||typeof context.UNSAFE_componentWillReceiveProps!=="function"&&typeof context.componentWillReceiveProps!=="function"||(unresolvedOldProps||oldContext!==contextType)&&callComponentWillReceiveProps(workInProgress2,context,nextProps,contextType),hasForceUpdate=!1;var oldState=workInProgress2.memoizedState;context.state=oldState,processUpdateQueue(workInProgress2,nextProps,context,renderLanes2),suspendIfUpdateReadFromEntangledAsyncAction(),oldContext=workInProgress2.memoizedState,unresolvedOldProps||oldState!==oldContext||hasForceUpdate?(typeof getDerivedStateFromProps==="function"&&(applyDerivedStateFromProps(workInProgress2,Component,getDerivedStateFromProps,nextProps),oldContext=workInProgress2.memoizedState),(oldProps=hasForceUpdate||checkShouldComponentUpdate(workInProgress2,Component,oldProps,nextProps,oldState,oldContext,contextType))?(contextType$jscomp$0||typeof context.UNSAFE_componentWillMount!=="function"&&typeof context.componentWillMount!=="function"||(typeof context.componentWillMount==="function"&&context.componentWillMount(),typeof context.UNSAFE_componentWillMount==="function"&&context.UNSAFE_componentWillMount()),typeof context.componentDidMount==="function"&&(workInProgress2.flags|=4194308)):(typeof context.componentDidMount==="function"&&(workInProgress2.flags|=4194308),workInProgress2.memoizedProps=nextProps,workInProgress2.memoizedState=oldContext),context.props=nextProps,context.state=oldContext,context.context=contextType,nextProps=oldProps):(typeof context.componentDidMount==="function"&&(workInProgress2.flags|=4194308),nextProps=!1)}else{context=workInProgress2.stateNode,cloneUpdateQueue(current,workInProgress2),contextType=workInProgress2.memoizedProps,contextType$jscomp$0=resolveClassComponentProps(Component,contextType),context.props=contextType$jscomp$0,getDerivedStateFromProps=workInProgress2.pendingProps,oldState=context.context,oldContext=Component.contextType,oldProps=emptyContextObject,typeof oldContext==="object"&&oldContext!==null&&(oldProps=readContext(oldContext)),unresolvedOldProps=Component.getDerivedStateFromProps,(oldContext=typeof unresolvedOldProps==="function"||typeof context.getSnapshotBeforeUpdate==="function")||typeof context.UNSAFE_componentWillReceiveProps!=="function"&&typeof context.componentWillReceiveProps!=="function"||(contextType!==getDerivedStateFromProps||oldState!==oldProps)&&callComponentWillReceiveProps(workInProgress2,context,nextProps,oldProps),hasForceUpdate=!1,oldState=workInProgress2.memoizedState,context.state=oldState,processUpdateQueue(workInProgress2,nextProps,context,renderLanes2),suspendIfUpdateReadFromEntangledAsyncAction();var newState=workInProgress2.memoizedState;contextType!==getDerivedStateFromProps||oldState!==newState||hasForceUpdate||current!==null&&current.dependencies!==null&&checkIfContextChanged(current.dependencies)?(typeof unresolvedOldProps==="function"&&(applyDerivedStateFromProps(workInProgress2,Component,unresolvedOldProps,nextProps),newState=workInProgress2.memoizedState),(contextType$jscomp$0=hasForceUpdate||checkShouldComponentUpdate(workInProgress2,Component,contextType$jscomp$0,nextProps,oldState,newState,oldProps)||current!==null&&current.dependencies!==null&&checkIfContextChanged(current.dependencies))?(oldContext||typeof context.UNSAFE_componentWillUpdate!=="function"&&typeof context.componentWillUpdate!=="function"||(typeof context.componentWillUpdate==="function"&&context.componentWillUpdate(nextProps,newState,oldProps),typeof context.UNSAFE_componentWillUpdate==="function"&&context.UNSAFE_componentWillUpdate(nextProps,newState,oldProps)),typeof context.componentDidUpdate==="function"&&(workInProgress2.flags|=4),typeof context.getSnapshotBeforeUpdate==="function"&&(workInProgress2.flags|=1024)):(typeof context.componentDidUpdate!=="function"||contextType===current.memoizedProps&&oldState===current.memoizedState||(workInProgress2.flags|=4),typeof context.getSnapshotBeforeUpdate!=="function"||contextType===current.memoizedProps&&oldState===current.memoizedState||(workInProgress2.flags|=1024),workInProgress2.memoizedProps=nextProps,workInProgress2.memoizedState=newState),context.props=nextProps,context.state=newState,context.context=oldProps,nextProps=contextType$jscomp$0):(typeof context.componentDidUpdate!=="function"||contextType===current.memoizedProps&&oldState===current.memoizedState||(workInProgress2.flags|=4),typeof context.getSnapshotBeforeUpdate!=="function"||contextType===current.memoizedProps&&oldState===current.memoizedState||(workInProgress2.flags|=1024),nextProps=!1)}return context=nextProps,markRef(current,workInProgress2),nextProps=(workInProgress2.flags&128)!==0,context||nextProps?(context=workInProgress2.stateNode,Component=nextProps&&typeof Component.getDerivedStateFromError!=="function"?null:context.render(),workInProgress2.flags|=1,current!==null&&nextProps?(workInProgress2.child=reconcileChildFibers(workInProgress2,current.child,null,renderLanes2),workInProgress2.child=reconcileChildFibers(workInProgress2,null,Component,renderLanes2)):reconcileChildren(current,workInProgress2,Component,renderLanes2),workInProgress2.memoizedState=context.state,current=workInProgress2.child):current=bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2),current}function mountHostRootWithoutHydrating(current,workInProgress2,nextChildren,renderLanes2){return resetHydrationState(),workInProgress2.flags|=256,reconcileChildren(current,workInProgress2,nextChildren,renderLanes2),workInProgress2.child}function mountSuspenseOffscreenState(renderLanes2){return{baseLanes:renderLanes2,cachePool:getSuspendedCache()}}function getRemainingWorkInPrimaryTree(current,primaryTreeDidDefer,renderLanes2){return current=current!==null?current.childLanes&~renderLanes2:0,primaryTreeDidDefer&&(current|=workInProgressDeferredLane),current}function updateSuspenseComponent(current,workInProgress2,renderLanes2){var nextProps=workInProgress2.pendingProps,showFallback=!1,didSuspend=(workInProgress2.flags&128)!==0,JSCompiler_temp;if((JSCompiler_temp=didSuspend)||(JSCompiler_temp=current!==null&&current.memoizedState===null?!1:(suspenseStackCursor.current&2)!==0),JSCompiler_temp&&(showFallback=!0,workInProgress2.flags&=-129),JSCompiler_temp=(workInProgress2.flags&32)!==0,workInProgress2.flags&=-33,current===null){if(isHydrating){if(showFallback?pushPrimaryTreeSuspenseHandler(workInProgress2):reuseSuspenseHandlerOnStack(workInProgress2),isHydrating){var nextInstance=nextHydratableInstance,JSCompiler_temp$jscomp$0;if(JSCompiler_temp$jscomp$0=nextInstance)nextInstance=canHydrateSuspenseInstance(nextInstance,rootOrSingletonContext),nextInstance!==null?(workInProgress2.memoizedState={dehydrated:nextInstance,treeContext:treeContextProvider!==null?{id:treeContextId,overflow:treeContextOverflow}:null,retryLane:536870912,hydrationErrors:null},JSCompiler_temp$jscomp$0=createFiber(18,null,null,0),JSCompiler_temp$jscomp$0.stateNode=nextInstance,JSCompiler_temp$jscomp$0.return=workInProgress2,workInProgress2.child=JSCompiler_temp$jscomp$0,hydrationParentFiber=workInProgress2,nextHydratableInstance=null,JSCompiler_temp$jscomp$0=!0):JSCompiler_temp$jscomp$0=!1;JSCompiler_temp$jscomp$0||throwOnHydrationMismatch(workInProgress2)}if(nextInstance=workInProgress2.memoizedState,nextInstance!==null&&(nextInstance=nextInstance.dehydrated,nextInstance!==null))return isSuspenseInstanceFallback(nextInstance)?workInProgress2.lanes=32:workInProgress2.lanes=536870912,null;popSuspenseHandler(workInProgress2)}if(nextInstance=nextProps.children,nextProps=nextProps.fallback,showFallback)return reuseSuspenseHandlerOnStack(workInProgress2),showFallback=workInProgress2.mode,nextInstance=mountWorkInProgressOffscreenFiber({mode:"hidden",children:nextInstance},showFallback),nextProps=createFiberFromFragment(nextProps,showFallback,renderLanes2,null),nextInstance.return=workInProgress2,nextProps.return=workInProgress2,nextInstance.sibling=nextProps,workInProgress2.child=nextInstance,showFallback=workInProgress2.child,showFallback.memoizedState=mountSuspenseOffscreenState(renderLanes2),showFallback.childLanes=getRemainingWorkInPrimaryTree(current,JSCompiler_temp,renderLanes2),workInProgress2.memoizedState=SUSPENDED_MARKER,nextProps;return pushPrimaryTreeSuspenseHandler(workInProgress2),mountSuspensePrimaryChildren(workInProgress2,nextInstance)}if(JSCompiler_temp$jscomp$0=current.memoizedState,JSCompiler_temp$jscomp$0!==null&&(nextInstance=JSCompiler_temp$jscomp$0.dehydrated,nextInstance!==null)){if(didSuspend)workInProgress2.flags&256?(pushPrimaryTreeSuspenseHandler(workInProgress2),workInProgress2.flags&=-257,workInProgress2=retrySuspenseComponentWithoutHydrating(current,workInProgress2,renderLanes2)):workInProgress2.memoizedState!==null?(reuseSuspenseHandlerOnStack(workInProgress2),workInProgress2.child=current.child,workInProgress2.flags|=128,workInProgress2=null):(reuseSuspenseHandlerOnStack(workInProgress2),showFallback=nextProps.fallback,nextInstance=workInProgress2.mode,nextProps=mountWorkInProgressOffscreenFiber({mode:"visible",children:nextProps.children},nextInstance),showFallback=createFiberFromFragment(showFallback,nextInstance,renderLanes2,null),showFallback.flags|=2,nextProps.return=workInProgress2,showFallback.return=workInProgress2,nextProps.sibling=showFallback,workInProgress2.child=nextProps,reconcileChildFibers(workInProgress2,current.child,null,renderLanes2),nextProps=workInProgress2.child,nextProps.memoizedState=mountSuspenseOffscreenState(renderLanes2),nextProps.childLanes=getRemainingWorkInPrimaryTree(current,JSCompiler_temp,renderLanes2),workInProgress2.memoizedState=SUSPENDED_MARKER,workInProgress2=showFallback);else if(pushPrimaryTreeSuspenseHandler(workInProgress2),isSuspenseInstanceFallback(nextInstance))JSCompiler_temp=getSuspenseInstanceFallbackErrorDetails(nextInstance).digest,nextProps=Error(formatProdErrorMessage(419)),nextProps.stack="",nextProps.digest=JSCompiler_temp,queueHydrationError({value:nextProps,source:null,stack:null}),workInProgress2=retrySuspenseComponentWithoutHydrating(current,workInProgress2,renderLanes2);else if(didReceiveUpdate||propagateParentContextChanges(current,workInProgress2,renderLanes2,!1),JSCompiler_temp=(renderLanes2&current.childLanes)!==0,didReceiveUpdate||JSCompiler_temp){if(JSCompiler_temp=workInProgressRoot,JSCompiler_temp!==null&&(nextProps=renderLanes2&-renderLanes2,nextProps=(nextProps&42)!==0?1:getBumpedLaneForHydrationByLane(nextProps),nextProps=(nextProps&(JSCompiler_temp.suspendedLanes|renderLanes2))!==0?0:nextProps,nextProps!==0&&nextProps!==JSCompiler_temp$jscomp$0.retryLane))throw JSCompiler_temp$jscomp$0.retryLane=nextProps,enqueueConcurrentRenderForLane(current,nextProps),scheduleUpdateOnFiber(JSCompiler_temp,current,nextProps),SelectiveHydrationException;isSuspenseInstancePending(nextInstance)||renderDidSuspendDelayIfPossible(),workInProgress2=retrySuspenseComponentWithoutHydrating(current,workInProgress2,renderLanes2)}else isSuspenseInstancePending(nextInstance)?(workInProgress2.flags|=192,workInProgress2.child=current.child,workInProgress2=null):(current=JSCompiler_temp$jscomp$0.treeContext,supportsHydration&&(nextHydratableInstance=getFirstHydratableChildWithinSuspenseInstance(nextInstance),hydrationParentFiber=workInProgress2,isHydrating=!0,hydrationErrors=null,rootOrSingletonContext=!1,current!==null&&(idStack[idStackIndex++]=treeContextId,idStack[idStackIndex++]=treeContextOverflow,idStack[idStackIndex++]=treeContextProvider,treeContextId=current.id,treeContextOverflow=current.overflow,treeContextProvider=workInProgress2)),workInProgress2=mountSuspensePrimaryChildren(workInProgress2,nextProps.children),workInProgress2.flags|=4096);return workInProgress2}if(showFallback)return reuseSuspenseHandlerOnStack(workInProgress2),showFallback=nextProps.fallback,nextInstance=workInProgress2.mode,JSCompiler_temp$jscomp$0=current.child,didSuspend=JSCompiler_temp$jscomp$0.sibling,nextProps=createWorkInProgress(JSCompiler_temp$jscomp$0,{mode:"hidden",children:nextProps.children}),nextProps.subtreeFlags=JSCompiler_temp$jscomp$0.subtreeFlags&65011712,didSuspend!==null?showFallback=createWorkInProgress(didSuspend,showFallback):(showFallback=createFiberFromFragment(showFallback,nextInstance,renderLanes2,null),showFallback.flags|=2),showFallback.return=workInProgress2,nextProps.return=workInProgress2,nextProps.sibling=showFallback,workInProgress2.child=nextProps,nextProps=showFallback,showFallback=workInProgress2.child,nextInstance=current.child.memoizedState,nextInstance===null?nextInstance=mountSuspenseOffscreenState(renderLanes2):(JSCompiler_temp$jscomp$0=nextInstance.cachePool,JSCompiler_temp$jscomp$0!==null?(didSuspend=isPrimaryRenderer?CacheContext._currentValue:CacheContext._currentValue2,JSCompiler_temp$jscomp$0=JSCompiler_temp$jscomp$0.parent!==didSuspend?{parent:didSuspend,pool:didSuspend}:JSCompiler_temp$jscomp$0):JSCompiler_temp$jscomp$0=getSuspendedCache(),nextInstance={baseLanes:nextInstance.baseLanes|renderLanes2,cachePool:JSCompiler_temp$jscomp$0}),showFallback.memoizedState=nextInstance,showFallback.childLanes=getRemainingWorkInPrimaryTree(current,JSCompiler_temp,renderLanes2),workInProgress2.memoizedState=SUSPENDED_MARKER,nextProps;return pushPrimaryTreeSuspenseHandler(workInProgress2),renderLanes2=current.child,current=renderLanes2.sibling,renderLanes2=createWorkInProgress(renderLanes2,{mode:"visible",children:nextProps.children}),renderLanes2.return=workInProgress2,renderLanes2.sibling=null,current!==null&&(JSCompiler_temp=workInProgress2.deletions,JSCompiler_temp===null?(workInProgress2.deletions=[current],workInProgress2.flags|=16):JSCompiler_temp.push(current)),workInProgress2.child=renderLanes2,workInProgress2.memoizedState=null,renderLanes2}function mountSuspensePrimaryChildren(workInProgress2,primaryChildren){return primaryChildren=mountWorkInProgressOffscreenFiber({mode:"visible",children:primaryChildren},workInProgress2.mode),primaryChildren.return=workInProgress2,workInProgress2.child=primaryChildren}function mountWorkInProgressOffscreenFiber(offscreenProps,mode){return offscreenProps=createFiber(22,offscreenProps,null,mode),offscreenProps.lanes=0,offscreenProps.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},offscreenProps}function retrySuspenseComponentWithoutHydrating(current,workInProgress2,renderLanes2){return reconcileChildFibers(workInProgress2,current.child,null,renderLanes2),current=mountSuspensePrimaryChildren(workInProgress2,workInProgress2.pendingProps.children),current.flags|=2,workInProgress2.memoizedState=null,current}function scheduleSuspenseWorkOnFiber(fiber,renderLanes2,propagationRoot){fiber.lanes|=renderLanes2;var alternate=fiber.alternate;alternate!==null&&(alternate.lanes|=renderLanes2),scheduleContextWorkOnParentPath(fiber.return,renderLanes2,propagationRoot)}function initSuspenseListRenderState(workInProgress2,isBackwards,tail,lastContentRow,tailMode){var renderState=workInProgress2.memoizedState;renderState===null?workInProgress2.memoizedState={isBackwards,rendering:null,renderingStartTime:0,last:lastContentRow,tail,tailMode}:(renderState.isBackwards=isBackwards,renderState.rendering=null,renderState.renderingStartTime=0,renderState.last=lastContentRow,renderState.tail=tail,renderState.tailMode=tailMode)}function updateSuspenseListComponent(current,workInProgress2,renderLanes2){var nextProps=workInProgress2.pendingProps,revealOrder=nextProps.revealOrder,tailMode=nextProps.tail;if(reconcileChildren(current,workInProgress2,nextProps.children,renderLanes2),nextProps=suspenseStackCursor.current,(nextProps&2)!==0)nextProps=nextProps&1|2,workInProgress2.flags|=128;else{if(current!==null&&(current.flags&128)!==0)a:for(current=workInProgress2.child;current!==null;){if(current.tag===13)current.memoizedState!==null&&scheduleSuspenseWorkOnFiber(current,renderLanes2,workInProgress2);else if(current.tag===19)scheduleSuspenseWorkOnFiber(current,renderLanes2,workInProgress2);else if(current.child!==null){current.child.return=current,current=current.child;continue}if(current===workInProgress2)break a;for(;current.sibling===null;){if(current.return===null||current.return===workInProgress2)break a;current=current.return}current.sibling.return=current.return,current=current.sibling}nextProps&=1}switch(push2(suspenseStackCursor,nextProps),revealOrder){case"forwards":renderLanes2=workInProgress2.child;for(revealOrder=null;renderLanes2!==null;)current=renderLanes2.alternate,current!==null&&findFirstSuspended(current)===null&&(revealOrder=renderLanes2),renderLanes2=renderLanes2.sibling;renderLanes2=revealOrder,renderLanes2===null?(revealOrder=workInProgress2.child,workInProgress2.child=null):(revealOrder=renderLanes2.sibling,renderLanes2.sibling=null),initSuspenseListRenderState(workInProgress2,!1,revealOrder,renderLanes2,tailMode);break;case"backwards":renderLanes2=null,revealOrder=workInProgress2.child;for(workInProgress2.child=null;revealOrder!==null;){if(current=revealOrder.alternate,current!==null&&findFirstSuspended(current)===null){workInProgress2.child=revealOrder;break}current=revealOrder.sibling,revealOrder.sibling=renderLanes2,renderLanes2=revealOrder,revealOrder=current}initSuspenseListRenderState(workInProgress2,!0,renderLanes2,null,tailMode);break;case"together":initSuspenseListRenderState(workInProgress2,!1,null,null,void 0);break;default:workInProgress2.memoizedState=null}return workInProgress2.child}function bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2){if(current!==null&&(workInProgress2.dependencies=current.dependencies),workInProgressRootSkippedLanes|=workInProgress2.lanes,(renderLanes2&workInProgress2.childLanes)===0)if(current!==null){if(propagateParentContextChanges(current,workInProgress2,renderLanes2,!1),(renderLanes2&workInProgress2.childLanes)===0)return null}else return null;if(current!==null&&workInProgress2.child!==current.child)throw Error(formatProdErrorMessage(153));if(workInProgress2.child!==null){current=workInProgress2.child,renderLanes2=createWorkInProgress(current,current.pendingProps),workInProgress2.child=renderLanes2;for(renderLanes2.return=workInProgress2;current.sibling!==null;)current=current.sibling,renderLanes2=renderLanes2.sibling=createWorkInProgress(current,current.pendingProps),renderLanes2.return=workInProgress2;renderLanes2.sibling=null}return workInProgress2.child}function checkScheduledUpdateOrContext(current,renderLanes2){if((current.lanes&renderLanes2)!==0)return!0;return current=current.dependencies,current!==null&&checkIfContextChanged(current)?!0:!1}function attemptEarlyBailoutIfNoScheduledUpdate(current,workInProgress2,renderLanes2){switch(workInProgress2.tag){case 3:pushHostContainer(workInProgress2,workInProgress2.stateNode.containerInfo),pushProvider(workInProgress2,CacheContext,current.memoizedState.cache),resetHydrationState();break;case 27:case 5:pushHostContext(workInProgress2);break;case 4:pushHostContainer(workInProgress2,workInProgress2.stateNode.containerInfo);break;case 10:pushProvider(workInProgress2,workInProgress2.type,workInProgress2.memoizedProps.value);break;case 13:var state=workInProgress2.memoizedState;if(state!==null){if(state.dehydrated!==null)return pushPrimaryTreeSuspenseHandler(workInProgress2),workInProgress2.flags|=128,null;if((renderLanes2&workInProgress2.child.childLanes)!==0)return updateSuspenseComponent(current,workInProgress2,renderLanes2);return pushPrimaryTreeSuspenseHandler(workInProgress2),current=bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2),current!==null?current.sibling:null}pushPrimaryTreeSuspenseHandler(workInProgress2);break;case 19:var didSuspendBefore=(current.flags&128)!==0;if(state=(renderLanes2&workInProgress2.childLanes)!==0,state||(propagateParentContextChanges(current,workInProgress2,renderLanes2,!1),state=(renderLanes2&workInProgress2.childLanes)!==0),didSuspendBefore){if(state)return updateSuspenseListComponent(current,workInProgress2,renderLanes2);workInProgress2.flags|=128}if(didSuspendBefore=workInProgress2.memoizedState,didSuspendBefore!==null&&(didSuspendBefore.rendering=null,didSuspendBefore.tail=null,didSuspendBefore.lastEffect=null),push2(suspenseStackCursor,suspenseStackCursor.current),state)break;else return null;case 22:case 23:return workInProgress2.lanes=0,updateOffscreenComponent(current,workInProgress2,renderLanes2);case 24:pushProvider(workInProgress2,CacheContext,current.memoizedState.cache)}return bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2)}function beginWork(current,workInProgress2,renderLanes2){if(current!==null)if(current.memoizedProps!==workInProgress2.pendingProps)didReceiveUpdate=!0;else{if(!checkScheduledUpdateOrContext(current,renderLanes2)&&(workInProgress2.flags&128)===0)return didReceiveUpdate=!1,attemptEarlyBailoutIfNoScheduledUpdate(current,workInProgress2,renderLanes2);didReceiveUpdate=(current.flags&131072)!==0?!0:!1}else didReceiveUpdate=!1,isHydrating&&(workInProgress2.flags&1048576)!==0&&pushTreeId(workInProgress2,treeForkCount,workInProgress2.index);switch(workInProgress2.lanes=0,workInProgress2.tag){case 16:a:{current=workInProgress2.pendingProps;var lazyComponent=workInProgress2.elementType,init=lazyComponent._init;if(lazyComponent=init(lazyComponent._payload),workInProgress2.type=lazyComponent,typeof lazyComponent==="function")shouldConstruct(lazyComponent)?(current=resolveClassComponentProps(lazyComponent,current),workInProgress2.tag=1,workInProgress2=updateClassComponent(null,workInProgress2,lazyComponent,current,renderLanes2)):(workInProgress2.tag=0,workInProgress2=updateFunctionComponent(null,workInProgress2,lazyComponent,current,renderLanes2));else{if(lazyComponent!==void 0&&lazyComponent!==null){if(init=lazyComponent.$$typeof,init===REACT_FORWARD_REF_TYPE){workInProgress2.tag=11,workInProgress2=updateForwardRef(null,workInProgress2,lazyComponent,current,renderLanes2);break a}else if(init===REACT_MEMO_TYPE){workInProgress2.tag=14,workInProgress2=updateMemoComponent(null,workInProgress2,lazyComponent,current,renderLanes2);break a}}throw workInProgress2=getComponentNameFromType(lazyComponent)||lazyComponent,Error(formatProdErrorMessage(306,workInProgress2,""))}}return workInProgress2;case 0:return updateFunctionComponent(current,workInProgress2,workInProgress2.type,workInProgress2.pendingProps,renderLanes2);case 1:return lazyComponent=workInProgress2.type,init=resolveClassComponentProps(lazyComponent,workInProgress2.pendingProps),updateClassComponent(current,workInProgress2,lazyComponent,init,renderLanes2);case 3:a:{if(pushHostContainer(workInProgress2,workInProgress2.stateNode.containerInfo),current===null)throw Error(formatProdErrorMessage(387));var nextProps=workInProgress2.pendingProps;init=workInProgress2.memoizedState,lazyComponent=init.element,cloneUpdateQueue(current,workInProgress2),processUpdateQueue(workInProgress2,nextProps,null,renderLanes2);var nextState=workInProgress2.memoizedState;if(nextProps=nextState.cache,pushProvider(workInProgress2,CacheContext,nextProps),nextProps!==init.cache&&propagateContextChanges(workInProgress2,[CacheContext],renderLanes2,!0),suspendIfUpdateReadFromEntangledAsyncAction(),nextProps=nextState.element,supportsHydration&&init.isDehydrated)if(init={element:nextProps,isDehydrated:!1,cache:nextState.cache},workInProgress2.updateQueue.baseState=init,workInProgress2.memoizedState=init,workInProgress2.flags&256){workInProgress2=mountHostRootWithoutHydrating(current,workInProgress2,nextProps,renderLanes2);break a}else if(nextProps!==lazyComponent){lazyComponent=createCapturedValueAtFiber(Error(formatProdErrorMessage(424)),workInProgress2),queueHydrationError(lazyComponent),workInProgress2=mountHostRootWithoutHydrating(current,workInProgress2,nextProps,renderLanes2);break a}else for(supportsHydration&&(nextHydratableInstance=getFirstHydratableChildWithinContainer(workInProgress2.stateNode.containerInfo),hydrationParentFiber=workInProgress2,isHydrating=!0,hydrationErrors=null,rootOrSingletonContext=!0),renderLanes2=mountChildFibers(workInProgress2,null,nextProps,renderLanes2),workInProgress2.child=renderLanes2;renderLanes2;)renderLanes2.flags=renderLanes2.flags&-3|4096,renderLanes2=renderLanes2.sibling;else{if(resetHydrationState(),nextProps===lazyComponent){workInProgress2=bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2);break a}reconcileChildren(current,workInProgress2,nextProps,renderLanes2)}workInProgress2=workInProgress2.child}return workInProgress2;case 26:if(supportsResources)return markRef(current,workInProgress2),current===null?(renderLanes2=getResource(workInProgress2.type,null,workInProgress2.pendingProps,null))?workInProgress2.memoizedState=renderLanes2:isHydrating||(workInProgress2.stateNode=createHoistableInstance(workInProgress2.type,workInProgress2.pendingProps,rootInstanceStackCursor.current,workInProgress2)):workInProgress2.memoizedState=getResource(workInProgress2.type,current.memoizedProps,workInProgress2.pendingProps,current.memoizedState),null;case 27:if(supportsSingletons)return pushHostContext(workInProgress2),current===null&&supportsSingletons&&isHydrating&&(lazyComponent=workInProgress2.stateNode=resolveSingletonInstance(workInProgress2.type,workInProgress2.pendingProps,rootInstanceStackCursor.current,contextStackCursor.current,!1),hydrationParentFiber=workInProgress2,rootOrSingletonContext=!0,nextHydratableInstance=getFirstHydratableChildWithinSingleton(workInProgress2.type,lazyComponent,nextHydratableInstance)),reconcileChildren(current,workInProgress2,workInProgress2.pendingProps.children,renderLanes2),markRef(current,workInProgress2),current===null&&(workInProgress2.flags|=4194304),workInProgress2.child;case 5:if(current===null&&isHydrating){if(validateHydratableInstance(workInProgress2.type,workInProgress2.pendingProps,contextStackCursor.current),init=lazyComponent=nextHydratableInstance)lazyComponent=canHydrateInstance(lazyComponent,workInProgress2.type,workInProgress2.pendingProps,rootOrSingletonContext),lazyComponent!==null?(workInProgress2.stateNode=lazyComponent,hydrationParentFiber=workInProgress2,nextHydratableInstance=getFirstHydratableChild(lazyComponent),rootOrSingletonContext=!1,init=!0):init=!1;init||throwOnHydrationMismatch(workInProgress2)}return pushHostContext(workInProgress2),init=workInProgress2.type,nextProps=workInProgress2.pendingProps,nextState=current!==null?current.memoizedProps:null,lazyComponent=nextProps.children,shouldSetTextContent(init,nextProps)?lazyComponent=null:nextState!==null&&shouldSetTextContent(init,nextState)&&(workInProgress2.flags|=32),workInProgress2.memoizedState!==null&&(init=renderWithHooks(current,workInProgress2,TransitionAwareHostComponent,null,null,renderLanes2),isPrimaryRenderer?HostTransitionContext._currentValue=init:HostTransitionContext._currentValue2=init),markRef(current,workInProgress2),reconcileChildren(current,workInProgress2,lazyComponent,renderLanes2),workInProgress2.child;case 6:if(current===null&&isHydrating){if(validateHydratableTextInstance(workInProgress2.pendingProps,contextStackCursor.current),current=renderLanes2=nextHydratableInstance)renderLanes2=canHydrateTextInstance(renderLanes2,workInProgress2.pendingProps,rootOrSingletonContext),renderLanes2!==null?(workInProgress2.stateNode=renderLanes2,hydrationParentFiber=workInProgress2,nextHydratableInstance=null,current=!0):current=!1;current||throwOnHydrationMismatch(workInProgress2)}return null;case 13:return updateSuspenseComponent(current,workInProgress2,renderLanes2);case 4:return pushHostContainer(workInProgress2,workInProgress2.stateNode.containerInfo),lazyComponent=workInProgress2.pendingProps,current===null?workInProgress2.child=reconcileChildFibers(workInProgress2,null,lazyComponent,renderLanes2):reconcileChildren(current,workInProgress2,lazyComponent,renderLanes2),workInProgress2.child;case 11:return updateForwardRef(current,workInProgress2,workInProgress2.type,workInProgress2.pendingProps,renderLanes2);case 7:return reconcileChildren(current,workInProgress2,workInProgress2.pendingProps,renderLanes2),workInProgress2.child;case 8:return reconcileChildren(current,workInProgress2,workInProgress2.pendingProps.children,renderLanes2),workInProgress2.child;case 12:return reconcileChildren(current,workInProgress2,workInProgress2.pendingProps.children,renderLanes2),workInProgress2.child;case 10:return lazyComponent=workInProgress2.pendingProps,pushProvider(workInProgress2,workInProgress2.type,lazyComponent.value),reconcileChildren(current,workInProgress2,lazyComponent.children,renderLanes2),workInProgress2.child;case 9:return init=workInProgress2.type._context,lazyComponent=workInProgress2.pendingProps.children,prepareToReadContext(workInProgress2),init=readContext(init),lazyComponent=lazyComponent(init),workInProgress2.flags|=1,reconcileChildren(current,workInProgress2,lazyComponent,renderLanes2),workInProgress2.child;case 14:return updateMemoComponent(current,workInProgress2,workInProgress2.type,workInProgress2.pendingProps,renderLanes2);case 15:return updateSimpleMemoComponent(current,workInProgress2,workInProgress2.type,workInProgress2.pendingProps,renderLanes2);case 19:return updateSuspenseListComponent(current,workInProgress2,renderLanes2);case 31:return lazyComponent=workInProgress2.pendingProps,renderLanes2=workInProgress2.mode,lazyComponent={mode:lazyComponent.mode,children:lazyComponent.children},current===null?(renderLanes2=mountWorkInProgressOffscreenFiber(lazyComponent,renderLanes2),renderLanes2.ref=workInProgress2.ref,workInProgress2.child=renderLanes2,renderLanes2.return=workInProgress2,workInProgress2=renderLanes2):(renderLanes2=createWorkInProgress(current.child,lazyComponent),renderLanes2.ref=workInProgress2.ref,workInProgress2.child=renderLanes2,renderLanes2.return=workInProgress2,workInProgress2=renderLanes2),workInProgress2;case 22:return updateOffscreenComponent(current,workInProgress2,renderLanes2);case 24:return prepareToReadContext(workInProgress2),lazyComponent=readContext(CacheContext),current===null?(init=peekCacheFromPool(),init===null&&(init=workInProgressRoot,nextProps=createCache(),init.pooledCache=nextProps,nextProps.refCount++,nextProps!==null&&(init.pooledCacheLanes|=renderLanes2),init=nextProps),workInProgress2.memoizedState={parent:lazyComponent,cache:init},initializeUpdateQueue(workInProgress2),pushProvider(workInProgress2,CacheContext,init)):((current.lanes&renderLanes2)!==0&&(cloneUpdateQueue(current,workInProgress2),processUpdateQueue(workInProgress2,null,null,renderLanes2),suspendIfUpdateReadFromEntangledAsyncAction()),init=current.memoizedState,nextProps=workInProgress2.memoizedState,init.parent!==lazyComponent?(init={parent:lazyComponent,cache:lazyComponent},workInProgress2.memoizedState=init,workInProgress2.lanes===0&&(workInProgress2.memoizedState=workInProgress2.updateQueue.baseState=init),pushProvider(workInProgress2,CacheContext,lazyComponent)):(lazyComponent=nextProps.cache,pushProvider(workInProgress2,CacheContext,lazyComponent),lazyComponent!==init.cache&&propagateContextChanges(workInProgress2,[CacheContext],renderLanes2,!0))),reconcileChildren(current,workInProgress2,workInProgress2.pendingProps.children,renderLanes2),workInProgress2.child;case 29:throw workInProgress2.pendingProps}throw Error(formatProdErrorMessage(156,workInProgress2.tag))}function markUpdate(workInProgress2){workInProgress2.flags|=4}function doesRequireClone(current,completedWork){if(current!==null&&current.child===completedWork.child)return!1;if((completedWork.flags&16)!==0)return!0;for(current=completedWork.child;current!==null;){if((current.flags&13878)!==0||(current.subtreeFlags&13878)!==0)return!0;current=current.sibling}return!1}function appendAllChildren(parent,workInProgress2,needsVisibilityToggle,isHidden){if(supportsMutation)for(needsVisibilityToggle=workInProgress2.child;needsVisibilityToggle!==null;){if(needsVisibilityToggle.tag===5||needsVisibilityToggle.tag===6)appendInitialChild(parent,needsVisibilityToggle.stateNode);else if(!(needsVisibilityToggle.tag===4||supportsSingletons&&needsVisibilityToggle.tag===27)&&needsVisibilityToggle.child!==null){needsVisibilityToggle.child.return=needsVisibilityToggle,needsVisibilityToggle=needsVisibilityToggle.child;continue}if(needsVisibilityToggle===workInProgress2)break;for(;needsVisibilityToggle.sibling===null;){if(needsVisibilityToggle.return===null||needsVisibilityToggle.return===workInProgress2)return;needsVisibilityToggle=needsVisibilityToggle.return}needsVisibilityToggle.sibling.return=needsVisibilityToggle.return,needsVisibilityToggle=needsVisibilityToggle.sibling}else if(supportsPersistence)for(var node$93=workInProgress2.child;node$93!==null;){if(node$93.tag===5){var instance=node$93.stateNode;needsVisibilityToggle&&isHidden&&(instance=cloneHiddenInstance(instance,node$93.type,node$93.memoizedProps)),appendInitialChild(parent,instance)}else if(node$93.tag===6)instance=node$93.stateNode,needsVisibilityToggle&&isHidden&&(instance=cloneHiddenTextInstance(instance,node$93.memoizedProps)),appendInitialChild(parent,instance);else if(node$93.tag!==4){if(node$93.tag===22&&node$93.memoizedState!==null)instance=node$93.child,instance!==null&&(instance.return=node$93),appendAllChildren(parent,node$93,!0,!0);else if(node$93.child!==null){node$93.child.return=node$93,node$93=node$93.child;continue}}if(node$93===workInProgress2)break;for(;node$93.sibling===null;){if(node$93.return===null||node$93.return===workInProgress2)return;node$93=node$93.return}node$93.sibling.return=node$93.return,node$93=node$93.sibling}}function appendAllChildrenToContainer(containerChildSet,workInProgress2,needsVisibilityToggle,isHidden){var hasOffscreenComponentChild=!1;if(supportsPersistence)for(var node=workInProgress2.child;node!==null;){if(node.tag===5){var instance=node.stateNode;needsVisibilityToggle&&isHidden&&(instance=cloneHiddenInstance(instance,node.type,node.memoizedProps)),appendChildToContainerChildSet(containerChildSet,instance)}else if(node.tag===6)instance=node.stateNode,needsVisibilityToggle&&isHidden&&(instance=cloneHiddenTextInstance(instance,node.memoizedProps)),appendChildToContainerChildSet(containerChildSet,instance);else if(node.tag!==4){if(node.tag===22&&node.memoizedState!==null)hasOffscreenComponentChild=node.child,hasOffscreenComponentChild!==null&&(hasOffscreenComponentChild.return=node),appendAllChildrenToContainer(containerChildSet,node,!0,!0),hasOffscreenComponentChild=!0;else if(node.child!==null){node.child.return=node,node=node.child;continue}}if(node===workInProgress2)break;for(;node.sibling===null;){if(node.return===null||node.return===workInProgress2)return hasOffscreenComponentChild;node=node.return}node.sibling.return=node.return,node=node.sibling}return hasOffscreenComponentChild}function updateHostContainer(current,workInProgress2){if(supportsPersistence&&doesRequireClone(current,workInProgress2)){current=workInProgress2.stateNode;var container=current.containerInfo,newChildSet=createContainerChildSet();appendAllChildrenToContainer(newChildSet,workInProgress2,!1,!1),current.pendingChildren=newChildSet,markUpdate(workInProgress2),finalizeContainerChildren(container,newChildSet)}}function updateHostComponent(current,workInProgress2,type,newProps){if(supportsMutation)current.memoizedProps!==newProps&&markUpdate(workInProgress2);else if(supportsPersistence){var{stateNode:currentInstance,memoizedProps:oldProps$96}=current;if((current=doesRequireClone(current,workInProgress2))||oldProps$96!==newProps){var currentHostContext=contextStackCursor.current;oldProps$96=cloneInstance(currentInstance,type,oldProps$96,newProps,!current,null),oldProps$96===currentInstance?workInProgress2.stateNode=currentInstance:(finalizeInitialChildren(oldProps$96,type,newProps,currentHostContext)&&markUpdate(workInProgress2),workInProgress2.stateNode=oldProps$96,current?appendAllChildren(oldProps$96,workInProgress2,!1,!1):markUpdate(workInProgress2))}else workInProgress2.stateNode=currentInstance}}function preloadInstanceAndSuspendIfNeeded(workInProgress2,type,props){if(maySuspendCommit(type,props)){if(workInProgress2.flags|=16777216,!preloadInstance(type,props))if(shouldRemainOnPreviousScreen())workInProgress2.flags|=8192;else throw suspendedThenable=noopSuspenseyCommitThenable,SuspenseyCommitException}else workInProgress2.flags&=-16777217}function preloadResourceAndSuspendIfNeeded(workInProgress2,resource){if(mayResourceSuspendCommit(resource)){if(workInProgress2.flags|=16777216,!preloadResource(resource))if(shouldRemainOnPreviousScreen())workInProgress2.flags|=8192;else throw suspendedThenable=noopSuspenseyCommitThenable,SuspenseyCommitException}else workInProgress2.flags&=-16777217}function scheduleRetryEffect(workInProgress2,retryQueue){retryQueue!==null&&(workInProgress2.flags|=4),workInProgress2.flags&16384&&(retryQueue=workInProgress2.tag!==22?claimNextRetryLane():536870912,workInProgress2.lanes|=retryQueue,workInProgressSuspendedRetryLanes|=retryQueue)}function cutOffTailIfNeeded(renderState,hasRenderedATailFallback){if(!isHydrating)switch(renderState.tailMode){case"hidden":hasRenderedATailFallback=renderState.tail;for(var lastTailNode=null;hasRenderedATailFallback!==null;)hasRenderedATailFallback.alternate!==null&&(lastTailNode=hasRenderedATailFallback),hasRenderedATailFallback=hasRenderedATailFallback.sibling;lastTailNode===null?renderState.tail=null:lastTailNode.sibling=null;break;case"collapsed":lastTailNode=renderState.tail;for(var lastTailNode$98=null;lastTailNode!==null;)lastTailNode.alternate!==null&&(lastTailNode$98=lastTailNode),lastTailNode=lastTailNode.sibling;lastTailNode$98===null?hasRenderedATailFallback||renderState.tail===null?renderState.tail=null:renderState.tail.sibling=null:lastTailNode$98.sibling=null}}function bubbleProperties(completedWork){var didBailout=completedWork.alternate!==null&&completedWork.alternate.child===completedWork.child,newChildLanes=0,subtreeFlags=0;if(didBailout)for(var child$99=completedWork.child;child$99!==null;)newChildLanes|=child$99.lanes|child$99.childLanes,subtreeFlags|=child$99.subtreeFlags&65011712,subtreeFlags|=child$99.flags&65011712,child$99.return=completedWork,child$99=child$99.sibling;else for(child$99=completedWork.child;child$99!==null;)newChildLanes|=child$99.lanes|child$99.childLanes,subtreeFlags|=child$99.subtreeFlags,subtreeFlags|=child$99.flags,child$99.return=completedWork,child$99=child$99.sibling;return completedWork.subtreeFlags|=subtreeFlags,completedWork.childLanes=newChildLanes,didBailout}function completeWork(current,workInProgress2,renderLanes2){var newProps=workInProgress2.pendingProps;switch(popTreeContext(workInProgress2),workInProgress2.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return bubbleProperties(workInProgress2),null;case 1:return bubbleProperties(workInProgress2),null;case 3:if(renderLanes2=workInProgress2.stateNode,newProps=null,current!==null&&(newProps=current.memoizedState.cache),workInProgress2.memoizedState.cache!==newProps&&(workInProgress2.flags|=2048),popProvider(CacheContext),popHostContainer(),renderLanes2.pendingContext&&(renderLanes2.context=renderLanes2.pendingContext,renderLanes2.pendingContext=null),current===null||current.child===null)popHydrationState(workInProgress2)?markUpdate(workInProgress2):current===null||current.memoizedState.isDehydrated&&(workInProgress2.flags&256)===0||(workInProgress2.flags|=1024,upgradeHydrationErrorsToRecoverable());return updateHostContainer(current,workInProgress2),bubbleProperties(workInProgress2),null;case 26:if(supportsResources){renderLanes2=workInProgress2.type;var nextResource=workInProgress2.memoizedState;return current===null?(markUpdate(workInProgress2),nextResource!==null?(bubbleProperties(workInProgress2),preloadResourceAndSuspendIfNeeded(workInProgress2,nextResource)):(bubbleProperties(workInProgress2),preloadInstanceAndSuspendIfNeeded(workInProgress2,renderLanes2,newProps))):nextResource?nextResource!==current.memoizedState?(markUpdate(workInProgress2),bubbleProperties(workInProgress2),preloadResourceAndSuspendIfNeeded(workInProgress2,nextResource)):(bubbleProperties(workInProgress2),workInProgress2.flags&=-16777217):(supportsMutation?current.memoizedProps!==newProps&&markUpdate(workInProgress2):updateHostComponent(current,workInProgress2,renderLanes2,newProps),bubbleProperties(workInProgress2),preloadInstanceAndSuspendIfNeeded(workInProgress2,renderLanes2,newProps)),null}case 27:if(supportsSingletons){if(popHostContext(workInProgress2),renderLanes2=rootInstanceStackCursor.current,nextResource=workInProgress2.type,current!==null&&workInProgress2.stateNode!=null)supportsMutation?current.memoizedProps!==newProps&&markUpdate(workInProgress2):updateHostComponent(current,workInProgress2,nextResource,newProps);else{if(!newProps){if(workInProgress2.stateNode===null)throw Error(formatProdErrorMessage(166));return bubbleProperties(workInProgress2),null}current=contextStackCursor.current,popHydrationState(workInProgress2)?prepareToHydrateHostInstance(workInProgress2,current):(current=resolveSingletonInstance(nextResource,newProps,renderLanes2,current,!0),workInProgress2.stateNode=current,markUpdate(workInProgress2))}return bubbleProperties(workInProgress2),null}case 5:if(popHostContext(workInProgress2),renderLanes2=workInProgress2.type,current!==null&&workInProgress2.stateNode!=null)updateHostComponent(current,workInProgress2,renderLanes2,newProps);else{if(!newProps){if(workInProgress2.stateNode===null)throw Error(formatProdErrorMessage(166));return bubbleProperties(workInProgress2),null}current=contextStackCursor.current,popHydrationState(workInProgress2)?prepareToHydrateHostInstance(workInProgress2,current):(nextResource=createInstance(renderLanes2,newProps,rootInstanceStackCursor.current,current,workInProgress2),appendAllChildren(nextResource,workInProgress2,!1,!1),workInProgress2.stateNode=nextResource,finalizeInitialChildren(nextResource,renderLanes2,newProps,current)&&markUpdate(workInProgress2))}return bubbleProperties(workInProgress2),preloadInstanceAndSuspendIfNeeded(workInProgress2,workInProgress2.type,workInProgress2.pendingProps),null;case 6:if(current&&workInProgress2.stateNode!=null)renderLanes2=current.memoizedProps,supportsMutation?renderLanes2!==newProps&&markUpdate(workInProgress2):supportsPersistence&&(renderLanes2!==newProps?(workInProgress2.stateNode=createTextInstance(newProps,rootInstanceStackCursor.current,contextStackCursor.current,workInProgress2),markUpdate(workInProgress2)):workInProgress2.stateNode=current.stateNode);else{if(typeof newProps!=="string"&&workInProgress2.stateNode===null)throw Error(formatProdErrorMessage(166));if(current=rootInstanceStackCursor.current,renderLanes2=contextStackCursor.current,popHydrationState(workInProgress2)){if(!supportsHydration)throw Error(formatProdErrorMessage(176));if(current=workInProgress2.stateNode,renderLanes2=workInProgress2.memoizedProps,newProps=null,nextResource=hydrationParentFiber,nextResource!==null)switch(nextResource.tag){case 27:case 5:newProps=nextResource.memoizedProps}hydrateTextInstance(current,renderLanes2,workInProgress2,newProps)||throwOnHydrationMismatch(workInProgress2)}else workInProgress2.stateNode=createTextInstance(newProps,current,renderLanes2,workInProgress2)}return bubbleProperties(workInProgress2),null;case 13:if(newProps=workInProgress2.memoizedState,current===null||current.memoizedState!==null&&current.memoizedState.dehydrated!==null){if(nextResource=popHydrationState(workInProgress2),newProps!==null&&newProps.dehydrated!==null){if(current===null){if(!nextResource)throw Error(formatProdErrorMessage(318));if(!supportsHydration)throw Error(formatProdErrorMessage(344));if(nextResource=workInProgress2.memoizedState,nextResource=nextResource!==null?nextResource.dehydrated:null,!nextResource)throw Error(formatProdErrorMessage(317));hydrateSuspenseInstance(nextResource,workInProgress2)}else resetHydrationState(),(workInProgress2.flags&128)===0&&(workInProgress2.memoizedState=null),workInProgress2.flags|=4;bubbleProperties(workInProgress2),nextResource=!1}else nextResource=upgradeHydrationErrorsToRecoverable(),current!==null&&current.memoizedState!==null&&(current.memoizedState.hydrationErrors=nextResource),nextResource=!0;if(!nextResource){if(workInProgress2.flags&256)return popSuspenseHandler(workInProgress2),workInProgress2;return popSuspenseHandler(workInProgress2),null}}if(popSuspenseHandler(workInProgress2),(workInProgress2.flags&128)!==0)return workInProgress2.lanes=renderLanes2,workInProgress2;if(renderLanes2=newProps!==null,current=current!==null&&current.memoizedState!==null,renderLanes2){newProps=workInProgress2.child,nextResource=null,newProps.alternate!==null&&newProps.alternate.memoizedState!==null&&newProps.alternate.memoizedState.cachePool!==null&&(nextResource=newProps.alternate.memoizedState.cachePool.pool);var cache$113=null;newProps.memoizedState!==null&&newProps.memoizedState.cachePool!==null&&(cache$113=newProps.memoizedState.cachePool.pool),cache$113!==nextResource&&(newProps.flags|=2048)}return renderLanes2!==current&&renderLanes2&&(workInProgress2.child.flags|=8192),scheduleRetryEffect(workInProgress2,workInProgress2.updateQueue),bubbleProperties(workInProgress2),null;case 4:return popHostContainer(),updateHostContainer(current,workInProgress2),current===null&&preparePortalMount(workInProgress2.stateNode.containerInfo),bubbleProperties(workInProgress2),null;case 10:return popProvider(workInProgress2.type),bubbleProperties(workInProgress2),null;case 19:if(pop2(suspenseStackCursor),nextResource=workInProgress2.memoizedState,nextResource===null)return bubbleProperties(workInProgress2),null;if(newProps=(workInProgress2.flags&128)!==0,cache$113=nextResource.rendering,cache$113===null)if(newProps)cutOffTailIfNeeded(nextResource,!1);else{if(workInProgressRootExitStatus!==0||current!==null&&(current.flags&128)!==0)for(current=workInProgress2.child;current!==null;){if(cache$113=findFirstSuspended(current),cache$113!==null){workInProgress2.flags|=128,cutOffTailIfNeeded(nextResource,!1),current=cache$113.updateQueue,workInProgress2.updateQueue=current,scheduleRetryEffect(workInProgress2,current),workInProgress2.subtreeFlags=0,current=renderLanes2;for(renderLanes2=workInProgress2.child;renderLanes2!==null;)resetWorkInProgress(renderLanes2,current),renderLanes2=renderLanes2.sibling;return push2(suspenseStackCursor,suspenseStackCursor.current&1|2),workInProgress2.child}current=current.sibling}nextResource.tail!==null&&now()>workInProgressRootRenderTargetTime&&(workInProgress2.flags|=128,newProps=!0,cutOffTailIfNeeded(nextResource,!1),workInProgress2.lanes=4194304)}else{if(!newProps)if(current=findFirstSuspended(cache$113),current!==null){if(workInProgress2.flags|=128,newProps=!0,current=current.updateQueue,workInProgress2.updateQueue=current,scheduleRetryEffect(workInProgress2,current),cutOffTailIfNeeded(nextResource,!0),nextResource.tail===null&&nextResource.tailMode==="hidden"&&!cache$113.alternate&&!isHydrating)return bubbleProperties(workInProgress2),null}else 2*now()-nextResource.renderingStartTime>workInProgressRootRenderTargetTime&&renderLanes2!==536870912&&(workInProgress2.flags|=128,newProps=!0,cutOffTailIfNeeded(nextResource,!1),workInProgress2.lanes=4194304);nextResource.isBackwards?(cache$113.sibling=workInProgress2.child,workInProgress2.child=cache$113):(current=nextResource.last,current!==null?current.sibling=cache$113:workInProgress2.child=cache$113,nextResource.last=cache$113)}if(nextResource.tail!==null)return workInProgress2=nextResource.tail,nextResource.rendering=workInProgress2,nextResource.tail=workInProgress2.sibling,nextResource.renderingStartTime=now(),workInProgress2.sibling=null,current=suspenseStackCursor.current,push2(suspenseStackCursor,newProps?current&1|2:current&1),workInProgress2;return bubbleProperties(workInProgress2),null;case 22:case 23:return popSuspenseHandler(workInProgress2),popHiddenContext(),newProps=workInProgress2.memoizedState!==null,current!==null?current.memoizedState!==null!==newProps&&(workInProgress2.flags|=8192):newProps&&(workInProgress2.flags|=8192),newProps?(renderLanes2&536870912)!==0&&(workInProgress2.flags&128)===0&&(bubbleProperties(workInProgress2),workInProgress2.subtreeFlags&6&&(workInProgress2.flags|=8192)):bubbleProperties(workInProgress2),renderLanes2=workInProgress2.updateQueue,renderLanes2!==null&&scheduleRetryEffect(workInProgress2,renderLanes2.retryQueue),renderLanes2=null,current!==null&&current.memoizedState!==null&&current.memoizedState.cachePool!==null&&(renderLanes2=current.memoizedState.cachePool.pool),newProps=null,workInProgress2.memoizedState!==null&&workInProgress2.memoizedState.cachePool!==null&&(newProps=workInProgress2.memoizedState.cachePool.pool),newProps!==renderLanes2&&(workInProgress2.flags|=2048),current!==null&&pop2(resumedCache),null;case 24:return renderLanes2=null,current!==null&&(renderLanes2=current.memoizedState.cache),workInProgress2.memoizedState.cache!==renderLanes2&&(workInProgress2.flags|=2048),popProvider(CacheContext),bubbleProperties(workInProgress2),null;case 25:return null;case 30:return null}throw Error(formatProdErrorMessage(156,workInProgress2.tag))}function unwindWork(current,workInProgress2){switch(popTreeContext(workInProgress2),workInProgress2.tag){case 1:return current=workInProgress2.flags,current&65536?(workInProgress2.flags=current&-65537|128,workInProgress2):null;case 3:return popProvider(CacheContext),popHostContainer(),current=workInProgress2.flags,(current&65536)!==0&&(current&128)===0?(workInProgress2.flags=current&-65537|128,workInProgress2):null;case 26:case 27:case 5:return popHostContext(workInProgress2),null;case 13:if(popSuspenseHandler(workInProgress2),current=workInProgress2.memoizedState,current!==null&&current.dehydrated!==null){if(workInProgress2.alternate===null)throw Error(formatProdErrorMessage(340));resetHydrationState()}return current=workInProgress2.flags,current&65536?(workInProgress2.flags=current&-65537|128,workInProgress2):null;case 19:return pop2(suspenseStackCursor),null;case 4:return popHostContainer(),null;case 10:return popProvider(workInProgress2.type),null;case 22:case 23:return popSuspenseHandler(workInProgress2),popHiddenContext(),current!==null&&pop2(resumedCache),current=workInProgress2.flags,current&65536?(workInProgress2.flags=current&-65537|128,workInProgress2):null;case 24:return popProvider(CacheContext),null;case 25:return null;default:return null}}function unwindInterruptedWork(current,interruptedWork){switch(popTreeContext(interruptedWork),interruptedWork.tag){case 3:popProvider(CacheContext),popHostContainer();break;case 26:case 27:case 5:popHostContext(interruptedWork);break;case 4:popHostContainer();break;case 13:popSuspenseHandler(interruptedWork);break;case 19:pop2(suspenseStackCursor);break;case 10:popProvider(interruptedWork.type);break;case 22:case 23:popSuspenseHandler(interruptedWork),popHiddenContext(),current!==null&&pop2(resumedCache);break;case 24:popProvider(CacheContext)}}function commitHookEffectListMount(flags,finishedWork){try{var updateQueue=finishedWork.updateQueue,lastEffect=updateQueue!==null?updateQueue.lastEffect:null;if(lastEffect!==null){var firstEffect=lastEffect.next;updateQueue=firstEffect;do{if((updateQueue.tag&flags)===flags){lastEffect=void 0;var{create,inst}=updateQueue;lastEffect=create(),inst.destroy=lastEffect}updateQueue=updateQueue.next}while(updateQueue!==firstEffect)}}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitHookEffectListUnmount(flags,finishedWork,nearestMountedAncestor$jscomp$0){try{var updateQueue=finishedWork.updateQueue,lastEffect=updateQueue!==null?updateQueue.lastEffect:null;if(lastEffect!==null){var firstEffect=lastEffect.next;updateQueue=firstEffect;do{if((updateQueue.tag&flags)===flags){var inst=updateQueue.inst,destroy=inst.destroy;if(destroy!==void 0){inst.destroy=void 0,lastEffect=finishedWork;var nearestMountedAncestor=nearestMountedAncestor$jscomp$0,destroy_=destroy;try{destroy_()}catch(error){captureCommitPhaseError(lastEffect,nearestMountedAncestor,error)}}}updateQueue=updateQueue.next}while(updateQueue!==firstEffect)}}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitClassCallbacks(finishedWork){var updateQueue=finishedWork.updateQueue;if(updateQueue!==null){var instance=finishedWork.stateNode;try{commitCallbacks(updateQueue,instance)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}}function safelyCallComponentWillUnmount(current,nearestMountedAncestor,instance){instance.props=resolveClassComponentProps(current.type,current.memoizedProps),instance.state=current.memoizedState;try{instance.componentWillUnmount()}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,error)}}function safelyAttachRef(current,nearestMountedAncestor){try{var ref=current.ref;if(ref!==null){switch(current.tag){case 26:case 27:case 5:var instanceToUse=getPublicInstance(current.stateNode);break;case 30:instanceToUse=current.stateNode;break;default:instanceToUse=current.stateNode}typeof ref==="function"?current.refCleanup=ref(instanceToUse):ref.current=instanceToUse}}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,error)}}function safelyDetachRef(current,nearestMountedAncestor){var{ref,refCleanup}=current;if(ref!==null)if(typeof refCleanup==="function")try{refCleanup()}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,error)}finally{current.refCleanup=null,current=current.alternate,current!=null&&(current.refCleanup=null)}else if(typeof ref==="function")try{ref(null)}catch(error$129){captureCommitPhaseError(current,nearestMountedAncestor,error$129)}else ref.current=null}function commitHostMount(finishedWork){var{type,memoizedProps:props,stateNode:instance}=finishedWork;try{commitMount(instance,type,props,finishedWork)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitHostUpdate(finishedWork,newProps,oldProps){try{commitUpdate(finishedWork.stateNode,finishedWork.type,oldProps,newProps,finishedWork)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function isHostParent(fiber){return fiber.tag===5||fiber.tag===3||(supportsResources?fiber.tag===26:!1)||(supportsSingletons?fiber.tag===27&&isSingletonScope(fiber.type):!1)||fiber.tag===4}function getHostSibling(fiber){a:for(;;){for(;fiber.sibling===null;){if(fiber.return===null||isHostParent(fiber.return))return null;fiber=fiber.return}fiber.sibling.return=fiber.return;for(fiber=fiber.sibling;fiber.tag!==5&&fiber.tag!==6&&fiber.tag!==18;){if(supportsSingletons&&fiber.tag===27&&isSingletonScope(fiber.type))continue a;if(fiber.flags&2)continue a;if(fiber.child===null||fiber.tag===4)continue a;else fiber.child.return=fiber,fiber=fiber.child}if(!(fiber.flags&2))return fiber.stateNode}}function insertOrAppendPlacementNodeIntoContainer(node,before,parent){var tag=node.tag;if(tag===5||tag===6)node=node.stateNode,before?insertInContainerBefore(parent,node,before):appendChildToContainer(parent,node);else if(tag!==4&&(supportsSingletons&&tag===27&&isSingletonScope(node.type)&&(parent=node.stateNode,before=null),node=node.child,node!==null))for(insertOrAppendPlacementNodeIntoContainer(node,before,parent),node=node.sibling;node!==null;)insertOrAppendPlacementNodeIntoContainer(node,before,parent),node=node.sibling}function insertOrAppendPlacementNode(node,before,parent){var tag=node.tag;if(tag===5||tag===6)node=node.stateNode,before?insertBefore(parent,node,before):appendChild(parent,node);else if(tag!==4&&(supportsSingletons&&tag===27&&isSingletonScope(node.type)&&(parent=node.stateNode),node=node.child,node!==null))for(insertOrAppendPlacementNode(node,before,parent),node=node.sibling;node!==null;)insertOrAppendPlacementNode(node,before,parent),node=node.sibling}function commitHostPortalContainerChildren(portal,finishedWork,pendingChildren){portal=portal.containerInfo;try{replaceContainerChildren(portal,pendingChildren)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitHostSingletonAcquisition(finishedWork){var{stateNode:singleton2,memoizedProps:props}=finishedWork;try{acquireSingletonInstance(finishedWork.type,props,singleton2,finishedWork)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitBeforeMutationEffects(root,firstChild){prepareForCommit(root.containerInfo);for(nextEffect=firstChild;nextEffect!==null;)if(root=nextEffect,firstChild=root.child,(root.subtreeFlags&1024)!==0&&firstChild!==null)firstChild.return=root,nextEffect=firstChild;else for(;nextEffect!==null;){root=nextEffect;var current=root.alternate;switch(firstChild=root.flags,root.tag){case 0:break;case 11:case 15:break;case 1:if((firstChild&1024)!==0&&current!==null){firstChild=void 0;var finishedWork=root,prevProps=current.memoizedProps;current=current.memoizedState;var instance=finishedWork.stateNode;try{var resolvedPrevProps=resolveClassComponentProps(finishedWork.type,prevProps,finishedWork.elementType===finishedWork.type);firstChild=instance.getSnapshotBeforeUpdate(resolvedPrevProps,current),instance.__reactInternalSnapshotBeforeUpdate=firstChild}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}break;case 3:(firstChild&1024)!==0&&supportsMutation&&clearContainer(root.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((firstChild&1024)!==0)throw Error(formatProdErrorMessage(163))}if(firstChild=root.sibling,firstChild!==null){firstChild.return=root.return,nextEffect=firstChild;break}nextEffect=root.return}}function commitLayoutEffectOnFiber(finishedRoot,current,finishedWork){var flags=finishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),flags&4&&commitHookEffectListMount(5,finishedWork);break;case 1:if(recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),flags&4)if(finishedRoot=finishedWork.stateNode,current===null)try{finishedRoot.componentDidMount()}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}else{var prevProps=resolveClassComponentProps(finishedWork.type,current.memoizedProps);current=current.memoizedState;try{finishedRoot.componentDidUpdate(prevProps,current,finishedRoot.__reactInternalSnapshotBeforeUpdate)}catch(error$128){captureCommitPhaseError(finishedWork,finishedWork.return,error$128)}}flags&64&&commitClassCallbacks(finishedWork),flags&512&&safelyAttachRef(finishedWork,finishedWork.return);break;case 3:if(recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),flags&64&&(finishedRoot=finishedWork.updateQueue,finishedRoot!==null)){if(current=null,finishedWork.child!==null)switch(finishedWork.child.tag){case 27:case 5:current=getPublicInstance(finishedWork.child.stateNode);break;case 1:current=finishedWork.child.stateNode}try{commitCallbacks(finishedRoot,current)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}break;case 27:supportsSingletons&&current===null&&flags&4&&commitHostSingletonAcquisition(finishedWork);case 26:case 5:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),current===null&&flags&4&&commitHostMount(finishedWork),flags&512&&safelyAttachRef(finishedWork,finishedWork.return);break;case 12:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork);break;case 13:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),flags&4&&commitSuspenseHydrationCallbacks(finishedRoot,finishedWork),flags&64&&(finishedRoot=finishedWork.memoizedState,finishedRoot!==null&&(finishedRoot=finishedRoot.dehydrated,finishedRoot!==null&&(finishedWork=retryDehydratedSuspenseBoundary.bind(null,finishedWork),registerSuspenseInstanceRetry(finishedRoot,finishedWork))));break;case 22:if(flags=finishedWork.memoizedState!==null||offscreenSubtreeIsHidden,!flags){current=current!==null&&current.memoizedState!==null||offscreenSubtreeWasHidden,prevProps=offscreenSubtreeIsHidden;var prevOffscreenSubtreeWasHidden=offscreenSubtreeWasHidden;offscreenSubtreeIsHidden=flags,(offscreenSubtreeWasHidden=current)&&!prevOffscreenSubtreeWasHidden?recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,(finishedWork.subtreeFlags&8772)!==0):recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),offscreenSubtreeIsHidden=prevProps,offscreenSubtreeWasHidden=prevOffscreenSubtreeWasHidden}break;case 30:break;default:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork)}}function detachFiberAfterEffects(fiber){var alternate=fiber.alternate;alternate!==null&&(fiber.alternate=null,detachFiberAfterEffects(alternate)),fiber.child=null,fiber.deletions=null,fiber.sibling=null,fiber.tag===5&&(alternate=fiber.stateNode,alternate!==null&&detachDeletedInstance(alternate)),fiber.stateNode=null,fiber.return=null,fiber.dependencies=null,fiber.memoizedProps=null,fiber.memoizedState=null,fiber.pendingProps=null,fiber.stateNode=null,fiber.updateQueue=null}function recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,parent){for(parent=parent.child;parent!==null;)commitDeletionEffectsOnFiber(finishedRoot,nearestMountedAncestor,parent),parent=parent.sibling}function commitDeletionEffectsOnFiber(finishedRoot,nearestMountedAncestor,deletedFiber){if(injectedHook&&typeof injectedHook.onCommitFiberUnmount==="function")try{injectedHook.onCommitFiberUnmount(rendererID,deletedFiber)}catch(err){}switch(deletedFiber.tag){case 26:if(supportsResources){offscreenSubtreeWasHidden||safelyDetachRef(deletedFiber,nearestMountedAncestor),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),deletedFiber.memoizedState?releaseResource(deletedFiber.memoizedState):deletedFiber.stateNode&&unmountHoistable(deletedFiber.stateNode);break}case 27:if(supportsSingletons){offscreenSubtreeWasHidden||safelyDetachRef(deletedFiber,nearestMountedAncestor);var prevHostParent=hostParent,prevHostParentIsContainer=hostParentIsContainer;isSingletonScope(deletedFiber.type)&&(hostParent=deletedFiber.stateNode,hostParentIsContainer=!1),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),releaseSingletonInstance(deletedFiber.stateNode),hostParent=prevHostParent,hostParentIsContainer=prevHostParentIsContainer;break}case 5:offscreenSubtreeWasHidden||safelyDetachRef(deletedFiber,nearestMountedAncestor);case 6:if(supportsMutation){if(prevHostParent=hostParent,prevHostParentIsContainer=hostParentIsContainer,hostParent=null,recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),hostParent=prevHostParent,hostParentIsContainer=prevHostParentIsContainer,hostParent!==null)if(hostParentIsContainer)try{removeChildFromContainer(hostParent,deletedFiber.stateNode)}catch(error){captureCommitPhaseError(deletedFiber,nearestMountedAncestor,error)}else try{removeChild(hostParent,deletedFiber.stateNode)}catch(error){captureCommitPhaseError(deletedFiber,nearestMountedAncestor,error)}}else recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 18:supportsMutation&&hostParent!==null&&(hostParentIsContainer?clearSuspenseBoundaryFromContainer(hostParent,deletedFiber.stateNode):clearSuspenseBoundary(hostParent,deletedFiber.stateNode));break;case 4:supportsMutation?(prevHostParent=hostParent,prevHostParentIsContainer=hostParentIsContainer,hostParent=deletedFiber.stateNode.containerInfo,hostParentIsContainer=!0,recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),hostParent=prevHostParent,hostParentIsContainer=prevHostParentIsContainer):(supportsPersistence&&commitHostPortalContainerChildren(deletedFiber.stateNode,deletedFiber,createContainerChildSet()),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber));break;case 0:case 11:case 14:case 15:offscreenSubtreeWasHidden||commitHookEffectListUnmount(2,deletedFiber,nearestMountedAncestor),offscreenSubtreeWasHidden||commitHookEffectListUnmount(4,deletedFiber,nearestMountedAncestor),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 1:offscreenSubtreeWasHidden||(safelyDetachRef(deletedFiber,nearestMountedAncestor),prevHostParent=deletedFiber.stateNode,typeof prevHostParent.componentWillUnmount==="function"&&safelyCallComponentWillUnmount(deletedFiber,nearestMountedAncestor,prevHostParent)),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 21:recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 22:offscreenSubtreeWasHidden=(prevHostParent=offscreenSubtreeWasHidden)||deletedFiber.memoizedState!==null,recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),offscreenSubtreeWasHidden=prevHostParent;break;default:recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber)}}function commitSuspenseHydrationCallbacks(finishedRoot,finishedWork){if(supportsHydration&&finishedWork.memoizedState===null&&(finishedRoot=finishedWork.alternate,finishedRoot!==null&&(finishedRoot=finishedRoot.memoizedState,finishedRoot!==null&&(finishedRoot=finishedRoot.dehydrated,finishedRoot!==null))))try{commitHydratedSuspenseInstance(finishedRoot)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function getRetryCache(finishedWork){switch(finishedWork.tag){case 13:case 19:var retryCache=finishedWork.stateNode;return retryCache===null&&(retryCache=finishedWork.stateNode=new PossiblyWeakSet),retryCache;case 22:return finishedWork=finishedWork.stateNode,retryCache=finishedWork._retryCache,retryCache===null&&(retryCache=finishedWork._retryCache=new PossiblyWeakSet),retryCache;default:throw Error(formatProdErrorMessage(435,finishedWork.tag))}}function attachSuspenseRetryListeners(finishedWork,wakeables){var retryCache=getRetryCache(finishedWork);wakeables.forEach(function(wakeable){var retry=resolveRetryWakeable.bind(null,finishedWork,wakeable);retryCache.has(wakeable)||(retryCache.add(wakeable),wakeable.then(retry,retry))})}function recursivelyTraverseMutationEffects(root$jscomp$0,parentFiber){var deletions=parentFiber.deletions;if(deletions!==null)for(var i=0;i<deletions.length;i++){var childToDelete=deletions[i],root=root$jscomp$0,returnFiber=parentFiber;if(supportsMutation){var parent=returnFiber;a:for(;parent!==null;){switch(parent.tag){case 27:if(supportsSingletons){if(isSingletonScope(parent.type)){hostParent=parent.stateNode,hostParentIsContainer=!1;break a}break}case 5:hostParent=parent.stateNode,hostParentIsContainer=!1;break a;case 3:case 4:hostParent=parent.stateNode.containerInfo,hostParentIsContainer=!0;break a}parent=parent.return}if(hostParent===null)throw Error(formatProdErrorMessage(160));commitDeletionEffectsOnFiber(root,returnFiber,childToDelete),hostParent=null,hostParentIsContainer=!1}else commitDeletionEffectsOnFiber(root,returnFiber,childToDelete);root=childToDelete.alternate,root!==null&&(root.return=null),childToDelete.return=null}if(parentFiber.subtreeFlags&13878)for(parentFiber=parentFiber.child;parentFiber!==null;)commitMutationEffectsOnFiber(parentFiber,root$jscomp$0),parentFiber=parentFiber.sibling}function commitMutationEffectsOnFiber(finishedWork,root){var{alternate:current,flags}=finishedWork;switch(finishedWork.tag){case 0:case 11:case 14:case 15:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&4&&(commitHookEffectListUnmount(3,finishedWork,finishedWork.return),commitHookEffectListMount(3,finishedWork),commitHookEffectListUnmount(5,finishedWork,finishedWork.return));break;case 1:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&512&&(offscreenSubtreeWasHidden||current===null||safelyDetachRef(current,current.return)),flags&64&&offscreenSubtreeIsHidden&&(finishedWork=finishedWork.updateQueue,finishedWork!==null&&(flags=finishedWork.callbacks,flags!==null&&(current=finishedWork.shared.hiddenCallbacks,finishedWork.shared.hiddenCallbacks=current===null?flags:current.concat(flags))));break;case 26:if(supportsResources){var hoistableRoot=currentHoistableRoot;if(recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&512&&(offscreenSubtreeWasHidden||current===null||safelyDetachRef(current,current.return)),flags&4){flags=current!==null?current.memoizedState:null;var newResource=finishedWork.memoizedState;current===null?newResource===null?finishedWork.stateNode===null?finishedWork.stateNode=hydrateHoistable(hoistableRoot,finishedWork.type,finishedWork.memoizedProps,finishedWork):mountHoistable(hoistableRoot,finishedWork.type,finishedWork.stateNode):finishedWork.stateNode=acquireResource(hoistableRoot,newResource,finishedWork.memoizedProps):flags!==newResource?(flags===null?current.stateNode!==null&&unmountHoistable(current.stateNode):releaseResource(flags),newResource===null?mountHoistable(hoistableRoot,finishedWork.type,finishedWork.stateNode):acquireResource(hoistableRoot,newResource,finishedWork.memoizedProps)):newResource===null&&finishedWork.stateNode!==null&&commitHostUpdate(finishedWork,finishedWork.memoizedProps,current.memoizedProps)}break}case 27:if(supportsSingletons){recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&512&&(offscreenSubtreeWasHidden||current===null||safelyDetachRef(current,current.return)),current!==null&&flags&4&&commitHostUpdate(finishedWork,finishedWork.memoizedProps,current.memoizedProps);break}case 5:if(recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&512&&(offscreenSubtreeWasHidden||current===null||safelyDetachRef(current,current.return)),supportsMutation){if(finishedWork.flags&32){hoistableRoot=finishedWork.stateNode;try{resetTextContent(hoistableRoot)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}flags&4&&finishedWork.stateNode!=null&&(hoistableRoot=finishedWork.memoizedProps,commitHostUpdate(finishedWork,hoistableRoot,current!==null?current.memoizedProps:hoistableRoot)),flags&1024&&(needsFormReset=!0)}break;case 6:if(recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&4&&supportsMutation){if(finishedWork.stateNode===null)throw Error(formatProdErrorMessage(162));flags=finishedWork.memoizedProps,current=current!==null?current.memoizedProps:flags,hoistableRoot=finishedWork.stateNode;try{commitTextUpdate(hoistableRoot,current,flags)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}break;case 3:if(supportsResources?(prepareToCommitHoistables(),hoistableRoot=currentHoistableRoot,currentHoistableRoot=getHoistableRoot(root.containerInfo),recursivelyTraverseMutationEffects(root,finishedWork),currentHoistableRoot=hoistableRoot):recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&4){if(supportsMutation&&supportsHydration&&current!==null&&current.memoizedState.isDehydrated)try{commitHydratedContainer(root.containerInfo)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}if(supportsPersistence){flags=root.containerInfo,current=root.pendingChildren;try{replaceContainerChildren(flags,current)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}}needsFormReset&&(needsFormReset=!1,recursivelyResetForms(finishedWork));break;case 4:supportsResources?(current=currentHoistableRoot,currentHoistableRoot=getHoistableRoot(finishedWork.stateNode.containerInfo),recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),currentHoistableRoot=current):(recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork)),flags&4&&supportsPersistence&&commitHostPortalContainerChildren(finishedWork.stateNode,finishedWork,finishedWork.stateNode.pendingChildren);break;case 12:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork);break;case 13:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),finishedWork.child.flags&8192&&finishedWork.memoizedState!==null!==(current!==null&&current.memoizedState!==null)&&(globalMostRecentFallbackTime=now()),flags&4&&(flags=finishedWork.updateQueue,flags!==null&&(finishedWork.updateQueue=null,attachSuspenseRetryListeners(finishedWork,flags)));break;case 22:hoistableRoot=finishedWork.memoizedState!==null;var wasHidden=current!==null&&current.memoizedState!==null,prevOffscreenSubtreeIsHidden=offscreenSubtreeIsHidden,prevOffscreenSubtreeWasHidden=offscreenSubtreeWasHidden;if(offscreenSubtreeIsHidden=prevOffscreenSubtreeIsHidden||hoistableRoot,offscreenSubtreeWasHidden=prevOffscreenSubtreeWasHidden||wasHidden,recursivelyTraverseMutationEffects(root,finishedWork),offscreenSubtreeWasHidden=prevOffscreenSubtreeWasHidden,offscreenSubtreeIsHidden=prevOffscreenSubtreeIsHidden,commitReconciliationEffects(finishedWork),flags&8192&&(root=finishedWork.stateNode,root._visibility=hoistableRoot?root._visibility&-2:root._visibility|1,hoistableRoot&&(current===null||wasHidden||offscreenSubtreeIsHidden||offscreenSubtreeWasHidden||recursivelyTraverseDisappearLayoutEffects(finishedWork)),supportsMutation)){a:if(current=null,supportsMutation)for(root=finishedWork;;){if(root.tag===5||supportsResources&&root.tag===26){if(current===null){wasHidden=current=root;try{newResource=wasHidden.stateNode,hoistableRoot?hideInstance(newResource):unhideInstance(wasHidden.stateNode,wasHidden.memoizedProps)}catch(error){captureCommitPhaseError(wasHidden,wasHidden.return,error)}}}else if(root.tag===6){if(current===null){wasHidden=root;try{var instance=wasHidden.stateNode;hoistableRoot?hideTextInstance(instance):unhideTextInstance(instance,wasHidden.memoizedProps)}catch(error){captureCommitPhaseError(wasHidden,wasHidden.return,error)}}}else if((root.tag!==22&&root.tag!==23||root.memoizedState===null||root===finishedWork)&&root.child!==null){root.child.return=root,root=root.child;continue}if(root===finishedWork)break a;for(;root.sibling===null;){if(root.return===null||root.return===finishedWork)break a;current===root&&(current=null),root=root.return}current===root&&(current=null),root.sibling.return=root.return,root=root.sibling}}flags&4&&(flags=finishedWork.updateQueue,flags!==null&&(current=flags.retryQueue,current!==null&&(flags.retryQueue=null,attachSuspenseRetryListeners(finishedWork,current))));break;case 19:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&4&&(flags=finishedWork.updateQueue,flags!==null&&(finishedWork.updateQueue=null,attachSuspenseRetryListeners(finishedWork,flags)));break;case 30:break;case 21:break;default:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork)}}function commitReconciliationEffects(finishedWork){var flags=finishedWork.flags;if(flags&2){try{if(supportsMutation){for(var hostParentFiber,parentFiber=finishedWork.return;parentFiber!==null;){if(isHostParent(parentFiber)){hostParentFiber=parentFiber;break}parentFiber=parentFiber.return}if(hostParentFiber==null)throw Error(formatProdErrorMessage(160));switch(hostParentFiber.tag){case 27:if(supportsSingletons){var parent=hostParentFiber.stateNode,before=getHostSibling(finishedWork);insertOrAppendPlacementNode(finishedWork,before,parent);break}case 5:var parent$130=hostParentFiber.stateNode;hostParentFiber.flags&32&&(resetTextContent(parent$130),hostParentFiber.flags&=-33);var before$131=getHostSibling(finishedWork);insertOrAppendPlacementNode(finishedWork,before$131,parent$130);break;case 3:case 4:var parent$132=hostParentFiber.stateNode.containerInfo,before$133=getHostSibling(finishedWork);insertOrAppendPlacementNodeIntoContainer(finishedWork,before$133,parent$132);break;default:throw Error(formatProdErrorMessage(161))}}}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}finishedWork.flags&=-3}flags&4096&&(finishedWork.flags&=-4097)}function recursivelyResetForms(parentFiber){if(parentFiber.subtreeFlags&1024)for(parentFiber=parentFiber.child;parentFiber!==null;){var fiber=parentFiber;recursivelyResetForms(fiber),fiber.tag===5&&fiber.flags&1024&&resetFormInstance(fiber.stateNode),parentFiber=parentFiber.sibling}}function recursivelyTraverseLayoutEffects(root,parentFiber){if(parentFiber.subtreeFlags&8772)for(parentFiber=parentFiber.child;parentFiber!==null;)commitLayoutEffectOnFiber(root,parentFiber.alternate,parentFiber),parentFiber=parentFiber.sibling}function recursivelyTraverseDisappearLayoutEffects(parentFiber){for(parentFiber=parentFiber.child;parentFiber!==null;){var finishedWork=parentFiber;switch(finishedWork.tag){case 0:case 11:case 14:case 15:commitHookEffectListUnmount(4,finishedWork,finishedWork.return),recursivelyTraverseDisappearLayoutEffects(finishedWork);break;case 1:safelyDetachRef(finishedWork,finishedWork.return);var instance=finishedWork.stateNode;typeof instance.componentWillUnmount==="function"&&safelyCallComponentWillUnmount(finishedWork,finishedWork.return,instance),recursivelyTraverseDisappearLayoutEffects(finishedWork);break;case 27:supportsSingletons&&releaseSingletonInstance(finishedWork.stateNode);case 26:case 5:safelyDetachRef(finishedWork,finishedWork.return),recursivelyTraverseDisappearLayoutEffects(finishedWork);break;case 22:finishedWork.memoizedState===null&&recursivelyTraverseDisappearLayoutEffects(finishedWork);break;case 30:recursivelyTraverseDisappearLayoutEffects(finishedWork);break;default:recursivelyTraverseDisappearLayoutEffects(finishedWork)}parentFiber=parentFiber.sibling}}function recursivelyTraverseReappearLayoutEffects(finishedRoot$jscomp$0,parentFiber,includeWorkInProgressEffects){includeWorkInProgressEffects=includeWorkInProgressEffects&&(parentFiber.subtreeFlags&8772)!==0;for(parentFiber=parentFiber.child;parentFiber!==null;){var current=parentFiber.alternate,finishedRoot=finishedRoot$jscomp$0,finishedWork=parentFiber,flags=finishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),commitHookEffectListMount(4,finishedWork);break;case 1:if(recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),current=finishedWork,finishedRoot=current.stateNode,typeof finishedRoot.componentDidMount==="function")try{finishedRoot.componentDidMount()}catch(error){captureCommitPhaseError(current,current.return,error)}if(current=finishedWork,finishedRoot=current.updateQueue,finishedRoot!==null){var instance=current.stateNode;try{var hiddenCallbacks=finishedRoot.shared.hiddenCallbacks;if(hiddenCallbacks!==null)for(finishedRoot.shared.hiddenCallbacks=null,finishedRoot=0;finishedRoot<hiddenCallbacks.length;finishedRoot++)callCallback(hiddenCallbacks[finishedRoot],instance)}catch(error){captureCommitPhaseError(current,current.return,error)}}includeWorkInProgressEffects&&flags&64&&commitClassCallbacks(finishedWork),safelyAttachRef(finishedWork,finishedWork.return);break;case 27:supportsSingletons&&commitHostSingletonAcquisition(finishedWork);case 26:case 5:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),includeWorkInProgressEffects&&current===null&&flags&4&&commitHostMount(finishedWork),safelyAttachRef(finishedWork,finishedWork.return);break;case 12:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects);break;case 13:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),includeWorkInProgressEffects&&flags&4&&commitSuspenseHydrationCallbacks(finishedRoot,finishedWork);break;case 22:finishedWork.memoizedState===null&&recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),safelyAttachRef(finishedWork,finishedWork.return);break;case 30:break;default:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects)}parentFiber=parentFiber.sibling}}function commitOffscreenPassiveMountEffects(current,finishedWork){var previousCache=null;current!==null&&current.memoizedState!==null&&current.memoizedState.cachePool!==null&&(previousCache=current.memoizedState.cachePool.pool),current=null,finishedWork.memoizedState!==null&&finishedWork.memoizedState.cachePool!==null&&(current=finishedWork.memoizedState.cachePool.pool),current!==previousCache&&(current!=null&&current.refCount++,previousCache!=null&&releaseCache(previousCache))}function commitCachePassiveMountEffect(current,finishedWork){current=null,finishedWork.alternate!==null&&(current=finishedWork.alternate.memoizedState.cache),finishedWork=finishedWork.memoizedState.cache,finishedWork!==current&&(finishedWork.refCount++,current!=null&&releaseCache(current))}function recursivelyTraversePassiveMountEffects(root,parentFiber,committedLanes,committedTransitions){if(parentFiber.subtreeFlags&10256)for(parentFiber=parentFiber.child;parentFiber!==null;)commitPassiveMountOnFiber(root,parentFiber,committedLanes,committedTransitions),parentFiber=parentFiber.sibling}function commitPassiveMountOnFiber(finishedRoot,finishedWork,committedLanes,committedTransitions){var flags=finishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions),flags&2048&&commitHookEffectListMount(9,finishedWork);break;case 1:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions);break;case 3:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions),flags&2048&&(finishedRoot=null,finishedWork.alternate!==null&&(finishedRoot=finishedWork.alternate.memoizedState.cache),finishedWork=finishedWork.memoizedState.cache,finishedWork!==finishedRoot&&(finishedWork.refCount++,finishedRoot!=null&&releaseCache(finishedRoot)));break;case 12:if(flags&2048){recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions),finishedRoot=finishedWork.stateNode;try{var _finishedWork$memoize2=finishedWork.memoizedProps,id=_finishedWork$memoize2.id,onPostCommit=_finishedWork$memoize2.onPostCommit;typeof onPostCommit==="function"&&onPostCommit(id,finishedWork.alternate===null?"mount":"update",finishedRoot.passiveEffectDuration,-0)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}else recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions);break;case 13:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions);break;case 23:break;case 22:_finishedWork$memoize2=finishedWork.stateNode,id=finishedWork.alternate,finishedWork.memoizedState!==null?_finishedWork$memoize2._visibility&2?recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions):recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork):_finishedWork$memoize2._visibility&2?recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions):(_finishedWork$memoize2._visibility|=2,recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,(finishedWork.subtreeFlags&10256)!==0)),flags&2048&&commitOffscreenPassiveMountEffects(id,finishedWork);break;case 24:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions),flags&2048&&commitCachePassiveMountEffect(finishedWork.alternate,finishedWork);break;default:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions)}}function recursivelyTraverseReconnectPassiveEffects(finishedRoot$jscomp$0,parentFiber,committedLanes$jscomp$0,committedTransitions$jscomp$0,includeWorkInProgressEffects){includeWorkInProgressEffects=includeWorkInProgressEffects&&(parentFiber.subtreeFlags&10256)!==0;for(parentFiber=parentFiber.child;parentFiber!==null;){var finishedRoot=finishedRoot$jscomp$0,finishedWork=parentFiber,committedLanes=committedLanes$jscomp$0,committedTransitions=committedTransitions$jscomp$0,flags=finishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects),commitHookEffectListMount(8,finishedWork);break;case 23:break;case 22:var instance=finishedWork.stateNode;finishedWork.memoizedState!==null?instance._visibility&2?recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects):recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork):(instance._visibility|=2,recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects)),includeWorkInProgressEffects&&flags&2048&&commitOffscreenPassiveMountEffects(finishedWork.alternate,finishedWork);break;case 24:recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects),includeWorkInProgressEffects&&flags&2048&&commitCachePassiveMountEffect(finishedWork.alternate,finishedWork);break;default:recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects)}parentFiber=parentFiber.sibling}}function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0,parentFiber){if(parentFiber.subtreeFlags&10256)for(parentFiber=parentFiber.child;parentFiber!==null;){var finishedRoot=finishedRoot$jscomp$0,finishedWork=parentFiber,flags=finishedWork.flags;switch(finishedWork.tag){case 22:recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork),flags&2048&&commitOffscreenPassiveMountEffects(finishedWork.alternate,finishedWork);break;case 24:recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork),flags&2048&&commitCachePassiveMountEffect(finishedWork.alternate,finishedWork);break;default:recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork)}parentFiber=parentFiber.sibling}}function recursivelyAccumulateSuspenseyCommit(parentFiber){if(parentFiber.subtreeFlags&suspenseyCommitFlag)for(parentFiber=parentFiber.child;parentFiber!==null;)accumulateSuspenseyCommitOnFiber(parentFiber),parentFiber=parentFiber.sibling}function accumulateSuspenseyCommitOnFiber(fiber){switch(fiber.tag){case 26:recursivelyAccumulateSuspenseyCommit(fiber),fiber.flags&suspenseyCommitFlag&&(fiber.memoizedState!==null?suspendResource(currentHoistableRoot,fiber.memoizedState,fiber.memoizedProps):suspendInstance(fiber.type,fiber.memoizedProps));break;case 5:recursivelyAccumulateSuspenseyCommit(fiber),fiber.flags&suspenseyCommitFlag&&suspendInstance(fiber.type,fiber.memoizedProps);break;case 3:case 4:if(supportsResources){var previousHoistableRoot=currentHoistableRoot;currentHoistableRoot=getHoistableRoot(fiber.stateNode.containerInfo),recursivelyAccumulateSuspenseyCommit(fiber),currentHoistableRoot=previousHoistableRoot}else recursivelyAccumulateSuspenseyCommit(fiber);break;case 22:fiber.memoizedState===null&&(previousHoistableRoot=fiber.alternate,previousHoistableRoot!==null&&previousHoistableRoot.memoizedState!==null?(previousHoistableRoot=suspenseyCommitFlag,suspenseyCommitFlag=16777216,recursivelyAccumulateSuspenseyCommit(fiber),suspenseyCommitFlag=previousHoistableRoot):recursivelyAccumulateSuspenseyCommit(fiber));break;default:recursivelyAccumulateSuspenseyCommit(fiber)}}function detachAlternateSiblings(parentFiber){var previousFiber=parentFiber.alternate;if(previousFiber!==null&&(parentFiber=previousFiber.child,parentFiber!==null)){previousFiber.child=null;do previousFiber=parentFiber.sibling,parentFiber.sibling=null,parentFiber=previousFiber;while(parentFiber!==null)}}function recursivelyTraversePassiveUnmountEffects(parentFiber){var deletions=parentFiber.deletions;if((parentFiber.flags&16)!==0){if(deletions!==null)for(var i=0;i<deletions.length;i++){var childToDelete=deletions[i];nextEffect=childToDelete,commitPassiveUnmountEffectsInsideOfDeletedTree_begin(childToDelete,parentFiber)}detachAlternateSiblings(parentFiber)}if(parentFiber.subtreeFlags&10256)for(parentFiber=parentFiber.child;parentFiber!==null;)commitPassiveUnmountOnFiber(parentFiber),parentFiber=parentFiber.sibling}function commitPassiveUnmountOnFiber(finishedWork){switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraversePassiveUnmountEffects(finishedWork),finishedWork.flags&2048&&commitHookEffectListUnmount(9,finishedWork,finishedWork.return);break;case 3:recursivelyTraversePassiveUnmountEffects(finishedWork);break;case 12:recursivelyTraversePassiveUnmountEffects(finishedWork);break;case 22:var instance=finishedWork.stateNode;finishedWork.memoizedState!==null&&instance._visibility&2&&(finishedWork.return===null||finishedWork.return.tag!==13)?(instance._visibility&=-3,recursivelyTraverseDisconnectPassiveEffects(finishedWork)):recursivelyTraversePassiveUnmountEffects(finishedWork);break;default:recursivelyTraversePassiveUnmountEffects(finishedWork)}}function recursivelyTraverseDisconnectPassiveEffects(parentFiber){var deletions=parentFiber.deletions;if((parentFiber.flags&16)!==0){if(deletions!==null)for(var i=0;i<deletions.length;i++){var childToDelete=deletions[i];nextEffect=childToDelete,commitPassiveUnmountEffectsInsideOfDeletedTree_begin(childToDelete,parentFiber)}detachAlternateSiblings(parentFiber)}for(parentFiber=parentFiber.child;parentFiber!==null;){switch(deletions=parentFiber,deletions.tag){case 0:case 11:case 15:commitHookEffectListUnmount(8,deletions,deletions.return),recursivelyTraverseDisconnectPassiveEffects(deletions);break;case 22:i=deletions.stateNode,i._visibility&2&&(i._visibility&=-3,recursivelyTraverseDisconnectPassiveEffects(deletions));break;default:recursivelyTraverseDisconnectPassiveEffects(deletions)}parentFiber=parentFiber.sibling}}function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot,nearestMountedAncestor){for(;nextEffect!==null;){var fiber=nextEffect;switch(fiber.tag){case 0:case 11:case 15:commitHookEffectListUnmount(8,fiber,nearestMountedAncestor);break;case 23:case 22:if(fiber.memoizedState!==null&&fiber.memoizedState.cachePool!==null){var cache=fiber.memoizedState.cachePool.pool;cache!=null&&cache.refCount++}break;case 24:releaseCache(fiber.memoizedState.cache)}if(cache=fiber.child,cache!==null)cache.return=fiber,nextEffect=cache;else a:for(fiber=deletedSubtreeRoot;nextEffect!==null;){cache=nextEffect;var{sibling,return:returnFiber}=cache;if(detachFiberAfterEffects(cache),cache===fiber){nextEffect=null;break a}if(sibling!==null){sibling.return=returnFiber,nextEffect=sibling;break a}nextEffect=returnFiber}}}function findFiberRootForHostRoot(hostRoot){var maybeFiber=getInstanceFromNode(hostRoot);if(maybeFiber!=null){if(typeof maybeFiber.memoizedProps["data-testname"]!=="string")throw Error(formatProdErrorMessage(364));return maybeFiber}if(hostRoot=findFiberRoot(hostRoot),hostRoot===null)throw Error(formatProdErrorMessage(362));return hostRoot.stateNode.current}function matchSelector(fiber$jscomp$0,selector){var tag=fiber$jscomp$0.tag;switch(selector.$$typeof){case COMPONENT_TYPE:if(fiber$jscomp$0.type===selector.value)return!0;break;case HAS_PSEUDO_CLASS_TYPE:a:{selector=selector.value,fiber$jscomp$0=[fiber$jscomp$0,0];for(tag=0;tag<fiber$jscomp$0.length;){var fiber=fiber$jscomp$0[tag++],tag$jscomp$0=fiber.tag,selectorIndex=fiber$jscomp$0[tag++],selector$jscomp$0=selector[selectorIndex];if(tag$jscomp$0!==5&&tag$jscomp$0!==26&&tag$jscomp$0!==27||!isHiddenSubtree(fiber)){for(;selector$jscomp$0!=null&&matchSelector(fiber,selector$jscomp$0);)selectorIndex++,selector$jscomp$0=selector[selectorIndex];if(selectorIndex===selector.length){selector=!0;break a}else for(fiber=fiber.child;fiber!==null;)fiber$jscomp$0.push(fiber,selectorIndex),fiber=fiber.sibling}}selector=!1}return selector;case ROLE_TYPE:if((tag===5||tag===26||tag===27)&&matchAccessibilityRole(fiber$jscomp$0.stateNode,selector.value))return!0;break;case TEXT_TYPE:if(tag===5||tag===6||tag===26||tag===27){if(fiber$jscomp$0=getTextContent(fiber$jscomp$0),fiber$jscomp$0!==null&&0<=fiber$jscomp$0.indexOf(selector.value))return!0}break;case TEST_NAME_TYPE:if(tag===5||tag===26||tag===27){if(fiber$jscomp$0=fiber$jscomp$0.memoizedProps["data-testname"],typeof fiber$jscomp$0==="string"&&fiber$jscomp$0.toLowerCase()===selector.value.toLowerCase())return!0}break;default:throw Error(formatProdErrorMessage(365))}return!1}function selectorToString(selector){switch(selector.$$typeof){case COMPONENT_TYPE:return"<"+(getComponentNameFromType(selector.value)||"Unknown")+">";case HAS_PSEUDO_CLASS_TYPE:return":has("+(selectorToString(selector)||"")+")";case ROLE_TYPE:return'[role="'+selector.value+'"]';case TEXT_TYPE:return'"'+selector.value+'"';case TEST_NAME_TYPE:return'[data-testname="'+selector.value+'"]';default:throw Error(formatProdErrorMessage(365))}}function findPaths(root,selectors){var matchingFibers=[];root=[root,0];for(var index=0;index<root.length;){var fiber=root[index++],tag=fiber.tag,selectorIndex=root[index++],selector=selectors[selectorIndex];if(tag!==5&&tag!==26&&tag!==27||!isHiddenSubtree(fiber)){for(;selector!=null&&matchSelector(fiber,selector);)selectorIndex++,selector=selectors[selectorIndex];if(selectorIndex===selectors.length)matchingFibers.push(fiber);else for(fiber=fiber.child;fiber!==null;)root.push(fiber,selectorIndex),fiber=fiber.sibling}}return matchingFibers}function findAllNodes(hostRoot,selectors){if(!supportsTestSelectors)throw Error(formatProdErrorMessage(363));hostRoot=findFiberRootForHostRoot(hostRoot),hostRoot=findPaths(hostRoot,selectors),selectors=[],hostRoot=Array.from(hostRoot);for(var index=0;index<hostRoot.length;){var node=hostRoot[index++],tag=node.tag;if(tag===5||tag===26||tag===27)isHiddenSubtree(node)||selectors.push(node.stateNode);else for(node=node.child;node!==null;)hostRoot.push(node),node=node.sibling}return selectors}function requestUpdateLane(){if((executionContext&2)!==0&&workInProgressRootRenderLanes!==0)return workInProgressRootRenderLanes&-workInProgressRootRenderLanes;if(ReactSharedInternals.T!==null){var actionScopeLane=currentEntangledLane;return actionScopeLane!==0?actionScopeLane:requestTransitionLane()}return resolveUpdatePriority()}function requestDeferredLane(){workInProgressDeferredLane===0&&(workInProgressDeferredLane=(workInProgressRootRenderLanes&536870912)===0||isHydrating?claimNextTransitionLane():536870912);var suspenseHandler=suspenseHandlerStackCursor.current;return suspenseHandler!==null&&(suspenseHandler.flags|=32),workInProgressDeferredLane}function scheduleUpdateOnFiber(root,fiber,lane){if(root===workInProgressRoot&&(workInProgressSuspendedReason===2||workInProgressSuspendedReason===9)||root.cancelPendingCommit!==null)prepareFreshStack(root,0),markRootSuspended(root,workInProgressRootRenderLanes,workInProgressDeferredLane,!1);if(markRootUpdated$1(root,lane),(executionContext&2)===0||root!==workInProgressRoot)root===workInProgressRoot&&((executionContext&2)===0&&(workInProgressRootInterleavedUpdatedLanes|=lane),workInProgressRootExitStatus===4&&markRootSuspended(root,workInProgressRootRenderLanes,workInProgressDeferredLane,!1)),ensureRootIsScheduled(root)}function performWorkOnRoot(root$jscomp$0,lanes,forceSync){if((executionContext&6)!==0)throw Error(formatProdErrorMessage(327));var shouldTimeSlice=!forceSync&&(lanes&124)===0&&(lanes&root$jscomp$0.expiredLanes)===0||checkIfRootIsPrerendering(root$jscomp$0,lanes),exitStatus=shouldTimeSlice?renderRootConcurrent(root$jscomp$0,lanes):renderRootSync(root$jscomp$0,lanes,!0),renderWasConcurrent=shouldTimeSlice;do{if(exitStatus===0){workInProgressRootIsPrerendering&&!shouldTimeSlice&&markRootSuspended(root$jscomp$0,lanes,0,!1);break}else{if(forceSync=root$jscomp$0.current.alternate,renderWasConcurrent&&!isRenderConsistentWithExternalStores(forceSync)){exitStatus=renderRootSync(root$jscomp$0,lanes,!1),renderWasConcurrent=!1;continue}if(exitStatus===2){if(renderWasConcurrent=lanes,root$jscomp$0.errorRecoveryDisabledLanes&renderWasConcurrent)var JSCompiler_inline_result=0;else JSCompiler_inline_result=root$jscomp$0.pendingLanes&-536870913,JSCompiler_inline_result=JSCompiler_inline_result!==0?JSCompiler_inline_result:JSCompiler_inline_result&536870912?536870912:0;if(JSCompiler_inline_result!==0){lanes=JSCompiler_inline_result;a:{var root=root$jscomp$0;exitStatus=workInProgressRootConcurrentErrors;var wasRootDehydrated=supportsHydration&&root.current.memoizedState.isDehydrated;if(wasRootDehydrated&&(prepareFreshStack(root,JSCompiler_inline_result).flags|=256),JSCompiler_inline_result=renderRootSync(root,JSCompiler_inline_result,!1),JSCompiler_inline_result!==2){if(workInProgressRootDidAttachPingListener&&!wasRootDehydrated){root.errorRecoveryDisabledLanes|=renderWasConcurrent,workInProgressRootInterleavedUpdatedLanes|=renderWasConcurrent,exitStatus=4;break a}renderWasConcurrent=workInProgressRootRecoverableErrors,workInProgressRootRecoverableErrors=exitStatus,renderWasConcurrent!==null&&(workInProgressRootRecoverableErrors===null?workInProgressRootRecoverableErrors=renderWasConcurrent:workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors,renderWasConcurrent))}exitStatus=JSCompiler_inline_result}if(renderWasConcurrent=!1,exitStatus!==2)continue}}if(exitStatus===1){prepareFreshStack(root$jscomp$0,0),markRootSuspended(root$jscomp$0,lanes,0,!0);break}a:{switch(shouldTimeSlice=root$jscomp$0,renderWasConcurrent=exitStatus,renderWasConcurrent){case 0:case 1:throw Error(formatProdErrorMessage(345));case 4:if((lanes&4194048)!==lanes)break;case 6:markRootSuspended(shouldTimeSlice,lanes,workInProgressDeferredLane,!workInProgressRootDidSkipSuspendedSiblings);break a;case 2:workInProgressRootRecoverableErrors=null;break;case 3:case 5:break;default:throw Error(formatProdErrorMessage(329))}if((lanes&62914560)===lanes&&(exitStatus=globalMostRecentFallbackTime+300-now(),10<exitStatus)){if(markRootSuspended(shouldTimeSlice,lanes,workInProgressDeferredLane,!workInProgressRootDidSkipSuspendedSiblings),getNextLanes(shouldTimeSlice,0,!0)!==0)break a;shouldTimeSlice.timeoutHandle=scheduleTimeout(commitRootWhenReady.bind(null,shouldTimeSlice,forceSync,workInProgressRootRecoverableErrors,workInProgressTransitions,workInProgressRootDidIncludeRecursiveRenderUpdate,lanes,workInProgressDeferredLane,workInProgressRootInterleavedUpdatedLanes,workInProgressSuspendedRetryLanes,workInProgressRootDidSkipSuspendedSiblings,renderWasConcurrent,2,-0,0),exitStatus);break a}commitRootWhenReady(shouldTimeSlice,forceSync,workInProgressRootRecoverableErrors,workInProgressTransitions,workInProgressRootDidIncludeRecursiveRenderUpdate,lanes,workInProgressDeferredLane,workInProgressRootInterleavedUpdatedLanes,workInProgressSuspendedRetryLanes,workInProgressRootDidSkipSuspendedSiblings,renderWasConcurrent,0,-0,0)}}break}while(1);ensureRootIsScheduled(root$jscomp$0)}function commitRootWhenReady(root,finishedWork,recoverableErrors,transitions,didIncludeRenderPhaseUpdate,lanes,spawnedLane,updatedLanes,suspendedRetryLanes,didSkipSuspendedSiblings,exitStatus,suspendedCommitReason,completedRenderStartTime,completedRenderEndTime){if(root.timeoutHandle=noTimeout,suspendedCommitReason=finishedWork.subtreeFlags,suspendedCommitReason&8192||(suspendedCommitReason&16785408)===16785408){if(startSuspendingCommit(),accumulateSuspenseyCommitOnFiber(finishedWork),suspendedCommitReason=waitForCommitToBeReady(),suspendedCommitReason!==null){root.cancelPendingCommit=suspendedCommitReason(commitRoot.bind(null,root,finishedWork,lanes,recoverableErrors,transitions,didIncludeRenderPhaseUpdate,spawnedLane,updatedLanes,suspendedRetryLanes,exitStatus,1,completedRenderStartTime,completedRenderEndTime)),markRootSuspended(root,lanes,spawnedLane,!didSkipSuspendedSiblings);return}}commitRoot(root,finishedWork,lanes,recoverableErrors,transitions,didIncludeRenderPhaseUpdate,spawnedLane,updatedLanes,suspendedRetryLanes)}function isRenderConsistentWithExternalStores(finishedWork){for(var node=finishedWork;;){var tag=node.tag;if((tag===0||tag===11||tag===15)&&node.flags&16384&&(tag=node.updateQueue,tag!==null&&(tag=tag.stores,tag!==null)))for(var i=0;i<tag.length;i++){var check=tag[i],getSnapshot=check.getSnapshot;check=check.value;try{if(!objectIs(getSnapshot(),check))return!1}catch(error){return!1}}if(tag=node.child,node.subtreeFlags&16384&&tag!==null)tag.return=node,node=tag;else{if(node===finishedWork)break;for(;node.sibling===null;){if(node.return===null||node.return===finishedWork)return!0;node=node.return}node.sibling.return=node.return,node=node.sibling}}return!0}function markRootSuspended(root,suspendedLanes,spawnedLane,didAttemptEntireTree){suspendedLanes&=~workInProgressRootPingedLanes,suspendedLanes&=~workInProgressRootInterleavedUpdatedLanes,root.suspendedLanes|=suspendedLanes,root.pingedLanes&=~suspendedLanes,didAttemptEntireTree&&(root.warmLanes|=suspendedLanes),didAttemptEntireTree=root.expirationTimes;for(var lanes=suspendedLanes;0<lanes;){var index$4=31-clz32(lanes),lane=1<<index$4;didAttemptEntireTree[index$4]=-1,lanes&=~lane}spawnedLane!==0&&markSpawnedDeferredLane(root,spawnedLane,suspendedLanes)}function flushSyncWork(){return(executionContext&6)===0?(flushSyncWorkAcrossRoots_impl(0,!1),!1):!0}function resetWorkInProgressStack(){if(workInProgress!==null){if(workInProgressSuspendedReason===0)var interruptedWork=workInProgress.return;else interruptedWork=workInProgress,lastContextDependency=currentlyRenderingFiber$1=null,resetHooksOnUnwind(interruptedWork),thenableState=null,thenableIndexCounter=0,interruptedWork=workInProgress;for(;interruptedWork!==null;)unwindInterruptedWork(interruptedWork.alternate,interruptedWork),interruptedWork=interruptedWork.return;workInProgress=null}}function prepareFreshStack(root,lanes){var timeoutHandle=root.timeoutHandle;timeoutHandle!==noTimeout&&(root.timeoutHandle=noTimeout,cancelTimeout(timeoutHandle)),timeoutHandle=root.cancelPendingCommit,timeoutHandle!==null&&(root.cancelPendingCommit=null,timeoutHandle()),resetWorkInProgressStack(),workInProgressRoot=root,workInProgress=timeoutHandle=createWorkInProgress(root.current,null),workInProgressRootRenderLanes=lanes,workInProgressSuspendedReason=0,workInProgressThrownValue=null,workInProgressRootDidSkipSuspendedSiblings=!1,workInProgressRootIsPrerendering=checkIfRootIsPrerendering(root,lanes),workInProgressRootDidAttachPingListener=!1,workInProgressSuspendedRetryLanes=workInProgressDeferredLane=workInProgressRootPingedLanes=workInProgressRootInterleavedUpdatedLanes=workInProgressRootSkippedLanes=workInProgressRootExitStatus=0,workInProgressRootRecoverableErrors=workInProgressRootConcurrentErrors=null,workInProgressRootDidIncludeRecursiveRenderUpdate=!1,(lanes&8)!==0&&(lanes|=lanes&32);var allEntangledLanes=root.entangledLanes;if(allEntangledLanes!==0)for(root=root.entanglements,allEntangledLanes&=lanes;0<allEntangledLanes;){var index$2=31-clz32(allEntangledLanes),lane=1<<index$2;lanes|=root[index$2],allEntangledLanes&=~lane}return entangledRenderLanes=lanes,finishQueueingConcurrentUpdates(),timeoutHandle}function handleThrow(root,thrownValue){currentlyRenderingFiber=null,ReactSharedInternals.H=ContextOnlyDispatcher,thrownValue===SuspenseException||thrownValue===SuspenseActionException?(thrownValue=getSuspendedThenable(),workInProgressSuspendedReason=3):thrownValue===SuspenseyCommitException?(thrownValue=getSuspendedThenable(),workInProgressSuspendedReason=4):workInProgressSuspendedReason=thrownValue===SelectiveHydrationException?8:thrownValue!==null&&typeof thrownValue==="object"&&typeof thrownValue.then==="function"?6:1,workInProgressThrownValue=thrownValue,workInProgress===null&&(workInProgressRootExitStatus=1,logUncaughtError(root,createCapturedValueAtFiber(thrownValue,root.current)))}function shouldRemainOnPreviousScreen(){var handler=suspenseHandlerStackCursor.current;return handler===null?!0:(workInProgressRootRenderLanes&4194048)===workInProgressRootRenderLanes?shellBoundary===null?!0:!1:(workInProgressRootRenderLanes&62914560)===workInProgressRootRenderLanes||(workInProgressRootRenderLanes&536870912)!==0?handler===shellBoundary:!1}function pushDispatcher(){var prevDispatcher=ReactSharedInternals.H;return ReactSharedInternals.H=ContextOnlyDispatcher,prevDispatcher===null?ContextOnlyDispatcher:prevDispatcher}function pushAsyncDispatcher(){var prevAsyncDispatcher=ReactSharedInternals.A;return ReactSharedInternals.A=DefaultAsyncDispatcher,prevAsyncDispatcher}function renderDidSuspendDelayIfPossible(){workInProgressRootExitStatus=4,workInProgressRootDidSkipSuspendedSiblings||(workInProgressRootRenderLanes&4194048)!==workInProgressRootRenderLanes&&suspenseHandlerStackCursor.current!==null||(workInProgressRootIsPrerendering=!0),(workInProgressRootSkippedLanes&134217727)===0&&(workInProgressRootInterleavedUpdatedLanes&134217727)===0||workInProgressRoot===null||markRootSuspended(workInProgressRoot,workInProgressRootRenderLanes,workInProgressDeferredLane,!1)}function renderRootSync(root,lanes,shouldYieldForPrerendering){var prevExecutionContext=executionContext;executionContext|=2;var prevDispatcher=pushDispatcher(),prevAsyncDispatcher=pushAsyncDispatcher();if(workInProgressRoot!==root||workInProgressRootRenderLanes!==lanes)workInProgressTransitions=null,prepareFreshStack(root,lanes);lanes=!1;var exitStatus=workInProgressRootExitStatus;a:do try{if(workInProgressSuspendedReason!==0&&workInProgress!==null){var unitOfWork=workInProgress,thrownValue=workInProgressThrownValue;switch(workInProgressSuspendedReason){case 8:resetWorkInProgressStack(),exitStatus=6;break a;case 3:case 2:case 9:case 6:suspenseHandlerStackCursor.current===null&&(lanes=!0);var reason=workInProgressSuspendedReason;if(workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,unitOfWork,thrownValue,reason),shouldYieldForPrerendering&&workInProgressRootIsPrerendering){exitStatus=0;break a}break;default:reason=workInProgressSuspendedReason,workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,unitOfWork,thrownValue,reason)}}workLoopSync(),exitStatus=workInProgressRootExitStatus;break}catch(thrownValue$155){handleThrow(root,thrownValue$155)}while(1);return lanes&&root.shellSuspendCounter++,lastContextDependency=currentlyRenderingFiber$1=null,executionContext=prevExecutionContext,ReactSharedInternals.H=prevDispatcher,ReactSharedInternals.A=prevAsyncDispatcher,workInProgress===null&&(workInProgressRoot=null,workInProgressRootRenderLanes=0,finishQueueingConcurrentUpdates()),exitStatus}function workLoopSync(){for(;workInProgress!==null;)performUnitOfWork(workInProgress)}function renderRootConcurrent(root,lanes){var prevExecutionContext=executionContext;executionContext|=2;var prevDispatcher=pushDispatcher(),prevAsyncDispatcher=pushAsyncDispatcher();workInProgressRoot!==root||workInProgressRootRenderLanes!==lanes?(workInProgressTransitions=null,workInProgressRootRenderTargetTime=now()+500,prepareFreshStack(root,lanes)):workInProgressRootIsPrerendering=checkIfRootIsPrerendering(root,lanes);a:do try{if(workInProgressSuspendedReason!==0&&workInProgress!==null){lanes=workInProgress;var thrownValue=workInProgressThrownValue;b:switch(workInProgressSuspendedReason){case 1:workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,lanes,thrownValue,1);break;case 2:case 9:if(isThenableResolved(thrownValue)){workInProgressSuspendedReason=0,workInProgressThrownValue=null,replaySuspendedUnitOfWork(lanes);break}lanes=function(){workInProgressSuspendedReason!==2&&workInProgressSuspendedReason!==9||workInProgressRoot!==root||(workInProgressSuspendedReason=7),ensureRootIsScheduled(root)},thrownValue.then(lanes,lanes);break a;case 3:workInProgressSuspendedReason=7;break a;case 4:workInProgressSuspendedReason=5;break a;case 7:isThenableResolved(thrownValue)?(workInProgressSuspendedReason=0,workInProgressThrownValue=null,replaySuspendedUnitOfWork(lanes)):(workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,lanes,thrownValue,7));break;case 5:var resource=null;switch(workInProgress.tag){case 26:resource=workInProgress.memoizedState;case 5:case 27:var hostFiber=workInProgress,type=hostFiber.type,props=hostFiber.pendingProps;if(resource?preloadResource(resource):preloadInstance(type,props)){workInProgressSuspendedReason=0,workInProgressThrownValue=null;var sibling=hostFiber.sibling;if(sibling!==null)workInProgress=sibling;else{var returnFiber=hostFiber.return;returnFiber!==null?(workInProgress=returnFiber,completeUnitOfWork(returnFiber)):workInProgress=null}break b}}workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,lanes,thrownValue,5);break;case 6:workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,lanes,thrownValue,6);break;case 8:resetWorkInProgressStack(),workInProgressRootExitStatus=6;break a;default:throw Error(formatProdErrorMessage(462))}}workLoopConcurrentByScheduler();break}catch(thrownValue$157){handleThrow(root,thrownValue$157)}while(1);if(lastContextDependency=currentlyRenderingFiber$1=null,ReactSharedInternals.H=prevDispatcher,ReactSharedInternals.A=prevAsyncDispatcher,executionContext=prevExecutionContext,workInProgress!==null)return 0;return workInProgressRoot=null,workInProgressRootRenderLanes=0,finishQueueingConcurrentUpdates(),workInProgressRootExitStatus}function workLoopConcurrentByScheduler(){for(;workInProgress!==null&&!shouldYield();)performUnitOfWork(workInProgress)}function performUnitOfWork(unitOfWork){var next=beginWork(unitOfWork.alternate,unitOfWork,entangledRenderLanes);unitOfWork.memoizedProps=unitOfWork.pendingProps,next===null?completeUnitOfWork(unitOfWork):workInProgress=next}function replaySuspendedUnitOfWork(unitOfWork){var next=unitOfWork,current=next.alternate;switch(next.tag){case 15:case 0:next=replayFunctionComponent(current,next,next.pendingProps,next.type,void 0,workInProgressRootRenderLanes);break;case 11:next=replayFunctionComponent(current,next,next.pendingProps,next.type.render,next.ref,workInProgressRootRenderLanes);break;case 5:resetHooksOnUnwind(next);default:unwindInterruptedWork(current,next),next=workInProgress=resetWorkInProgress(next,entangledRenderLanes),next=beginWork(current,next,entangledRenderLanes)}unitOfWork.memoizedProps=unitOfWork.pendingProps,next===null?completeUnitOfWork(unitOfWork):workInProgress=next}function throwAndUnwindWorkLoop(root,unitOfWork,thrownValue,suspendedReason){lastContextDependency=currentlyRenderingFiber$1=null,resetHooksOnUnwind(unitOfWork),thenableState=null,thenableIndexCounter=0;var returnFiber=unitOfWork.return;try{if(throwException(root,returnFiber,unitOfWork,thrownValue,workInProgressRootRenderLanes)){workInProgressRootExitStatus=1,logUncaughtError(root,createCapturedValueAtFiber(thrownValue,root.current)),workInProgress=null;return}}catch(error){if(returnFiber!==null)throw workInProgress=returnFiber,error;workInProgressRootExitStatus=1,logUncaughtError(root,createCapturedValueAtFiber(thrownValue,root.current)),workInProgress=null;return}if(unitOfWork.flags&32768){if(isHydrating||suspendedReason===1)root=!0;else if(workInProgressRootIsPrerendering||(workInProgressRootRenderLanes&536870912)!==0)root=!1;else if(workInProgressRootDidSkipSuspendedSiblings=root=!0,suspendedReason===2||suspendedReason===9||suspendedReason===3||suspendedReason===6)suspendedReason=suspenseHandlerStackCursor.current,suspendedReason!==null&&suspendedReason.tag===13&&(suspendedReason.flags|=16384);unwindUnitOfWork(unitOfWork,root)}else completeUnitOfWork(unitOfWork)}function completeUnitOfWork(unitOfWork){var completedWork=unitOfWork;do{if((completedWork.flags&32768)!==0){unwindUnitOfWork(completedWork,workInProgressRootDidSkipSuspendedSiblings);return}unitOfWork=completedWork.return;var next=completeWork(completedWork.alternate,completedWork,entangledRenderLanes);if(next!==null){workInProgress=next;return}if(completedWork=completedWork.sibling,completedWork!==null){workInProgress=completedWork;return}workInProgress=completedWork=unitOfWork}while(completedWork!==null);workInProgressRootExitStatus===0&&(workInProgressRootExitStatus=5)}function unwindUnitOfWork(unitOfWork,skipSiblings){do{var next=unwindWork(unitOfWork.alternate,unitOfWork);if(next!==null){next.flags&=32767,workInProgress=next;return}if(next=unitOfWork.return,next!==null&&(next.flags|=32768,next.subtreeFlags=0,next.deletions=null),!skipSiblings&&(unitOfWork=unitOfWork.sibling,unitOfWork!==null)){workInProgress=unitOfWork;return}workInProgress=unitOfWork=next}while(unitOfWork!==null);workInProgressRootExitStatus=6,workInProgress=null}function commitRoot(root,finishedWork,lanes,recoverableErrors,transitions,didIncludeRenderPhaseUpdate,spawnedLane,updatedLanes,suspendedRetryLanes){root.cancelPendingCommit=null;do flushPendingEffects();while(pendingEffectsStatus!==0);if((executionContext&6)!==0)throw Error(formatProdErrorMessage(327));if(finishedWork!==null){if(finishedWork===root.current)throw Error(formatProdErrorMessage(177));if(didIncludeRenderPhaseUpdate=finishedWork.lanes|finishedWork.childLanes,didIncludeRenderPhaseUpdate|=concurrentlyUpdatedLanes,markRootFinished(root,lanes,didIncludeRenderPhaseUpdate,spawnedLane,updatedLanes,suspendedRetryLanes),root===workInProgressRoot&&(workInProgress=workInProgressRoot=null,workInProgressRootRenderLanes=0),pendingFinishedWork=finishedWork,pendingEffectsRoot=root,pendingEffectsLanes=lanes,pendingEffectsRemainingLanes=didIncludeRenderPhaseUpdate,pendingPassiveTransitions=transitions,pendingRecoverableErrors=recoverableErrors,(finishedWork.subtreeFlags&10256)!==0||(finishedWork.flags&10256)!==0?(root.callbackNode=null,root.callbackPriority=0,scheduleCallback(NormalPriority$1,function(){return flushPassiveEffects(!0),null})):(root.callbackNode=null,root.callbackPriority=0),recoverableErrors=(finishedWork.flags&13878)!==0,(finishedWork.subtreeFlags&13878)!==0||recoverableErrors){recoverableErrors=ReactSharedInternals.T,ReactSharedInternals.T=null,transitions=getCurrentUpdatePriority(),setCurrentUpdatePriority(2),spawnedLane=executionContext,executionContext|=4;try{commitBeforeMutationEffects(root,finishedWork,lanes)}finally{executionContext=spawnedLane,setCurrentUpdatePriority(transitions),ReactSharedInternals.T=recoverableErrors}}pendingEffectsStatus=1,flushMutationEffects(),flushLayoutEffects(),flushSpawnedWork()}}function flushMutationEffects(){if(pendingEffectsStatus===1){pendingEffectsStatus=0;var root=pendingEffectsRoot,finishedWork=pendingFinishedWork,rootMutationHasEffect=(finishedWork.flags&13878)!==0;if((finishedWork.subtreeFlags&13878)!==0||rootMutationHasEffect){rootMutationHasEffect=ReactSharedInternals.T,ReactSharedInternals.T=null;var previousPriority=getCurrentUpdatePriority();setCurrentUpdatePriority(2);var prevExecutionContext=executionContext;executionContext|=4;try{commitMutationEffectsOnFiber(finishedWork,root),resetAfterCommit(root.containerInfo)}finally{executionContext=prevExecutionContext,setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=rootMutationHasEffect}}root.current=finishedWork,pendingEffectsStatus=2}}function flushLayoutEffects(){if(pendingEffectsStatus===2){pendingEffectsStatus=0;var root=pendingEffectsRoot,finishedWork=pendingFinishedWork,rootHasLayoutEffect=(finishedWork.flags&8772)!==0;if((finishedWork.subtreeFlags&8772)!==0||rootHasLayoutEffect){rootHasLayoutEffect=ReactSharedInternals.T,ReactSharedInternals.T=null;var previousPriority=getCurrentUpdatePriority();setCurrentUpdatePriority(2);var prevExecutionContext=executionContext;executionContext|=4;try{commitLayoutEffectOnFiber(root,finishedWork.alternate,finishedWork)}finally{executionContext=prevExecutionContext,setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=rootHasLayoutEffect}}pendingEffectsStatus=3}}function flushSpawnedWork(){if(pendingEffectsStatus===4||pendingEffectsStatus===3){pendingEffectsStatus=0,requestPaint();var root=pendingEffectsRoot,finishedWork=pendingFinishedWork,lanes=pendingEffectsLanes,recoverableErrors=pendingRecoverableErrors;(finishedWork.subtreeFlags&10256)!==0||(finishedWork.flags&10256)!==0?pendingEffectsStatus=5:(pendingEffectsStatus=0,pendingFinishedWork=pendingEffectsRoot=null,releaseRootPooledCache(root,root.pendingLanes));var remainingLanes=root.pendingLanes;if(remainingLanes===0&&(legacyErrorBoundariesThatAlreadyFailed=null),lanesToEventPriority(lanes),finishedWork=finishedWork.stateNode,injectedHook&&typeof injectedHook.onCommitFiberRoot==="function")try{injectedHook.onCommitFiberRoot(rendererID,finishedWork,void 0,(finishedWork.current.flags&128)===128)}catch(err){}if(recoverableErrors!==null){finishedWork=ReactSharedInternals.T,remainingLanes=getCurrentUpdatePriority(),setCurrentUpdatePriority(2),ReactSharedInternals.T=null;try{for(var onRecoverableError=root.onRecoverableError,i=0;i<recoverableErrors.length;i++){var recoverableError=recoverableErrors[i];onRecoverableError(recoverableError.value,{componentStack:recoverableError.stack})}}finally{ReactSharedInternals.T=finishedWork,setCurrentUpdatePriority(remainingLanes)}}(pendingEffectsLanes&3)!==0&&flushPendingEffects(),ensureRootIsScheduled(root),remainingLanes=root.pendingLanes,(lanes&4194090)!==0&&(remainingLanes&42)!==0?root===rootWithNestedUpdates?nestedUpdateCount++:(nestedUpdateCount=0,rootWithNestedUpdates=root):nestedUpdateCount=0,flushSyncWorkAcrossRoots_impl(0,!1)}}function releaseRootPooledCache(root,remainingLanes){(root.pooledCacheLanes&=remainingLanes)===0&&(remainingLanes=root.pooledCache,remainingLanes!=null&&(root.pooledCache=null,releaseCache(remainingLanes)))}function flushPendingEffects(wasDelayedCommit){return flushMutationEffects(),flushLayoutEffects(),flushSpawnedWork(),flushPassiveEffects(wasDelayedCommit)}function flushPassiveEffects(){if(pendingEffectsStatus!==5)return!1;var root=pendingEffectsRoot,remainingLanes=pendingEffectsRemainingLanes;pendingEffectsRemainingLanes=0;var renderPriority=lanesToEventPriority(pendingEffectsLanes),priority=32>renderPriority?32:renderPriority;renderPriority=ReactSharedInternals.T;var previousPriority=getCurrentUpdatePriority();try{setCurrentUpdatePriority(priority),ReactSharedInternals.T=null,priority=pendingPassiveTransitions,pendingPassiveTransitions=null;var root$jscomp$0=pendingEffectsRoot,lanes=pendingEffectsLanes;if(pendingEffectsStatus=0,pendingFinishedWork=pendingEffectsRoot=null,pendingEffectsLanes=0,(executionContext&6)!==0)throw Error(formatProdErrorMessage(331));var prevExecutionContext=executionContext;if(executionContext|=4,commitPassiveUnmountOnFiber(root$jscomp$0.current),commitPassiveMountOnFiber(root$jscomp$0,root$jscomp$0.current,lanes,priority),executionContext=prevExecutionContext,flushSyncWorkAcrossRoots_impl(0,!1),injectedHook&&typeof injectedHook.onPostCommitFiberRoot==="function")try{injectedHook.onPostCommitFiberRoot(rendererID,root$jscomp$0)}catch(err){}return!0}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=renderPriority,releaseRootPooledCache(root,remainingLanes)}}function captureCommitPhaseErrorOnRoot(rootFiber,sourceFiber,error){sourceFiber=createCapturedValueAtFiber(error,sourceFiber),sourceFiber=createRootErrorUpdate(rootFiber.stateNode,sourceFiber,2),rootFiber=enqueueUpdate(rootFiber,sourceFiber,2),rootFiber!==null&&(markRootUpdated$1(rootFiber,2),ensureRootIsScheduled(rootFiber))}function captureCommitPhaseError(sourceFiber,nearestMountedAncestor,error){if(sourceFiber.tag===3)captureCommitPhaseErrorOnRoot(sourceFiber,sourceFiber,error);else for(;nearestMountedAncestor!==null;){if(nearestMountedAncestor.tag===3){captureCommitPhaseErrorOnRoot(nearestMountedAncestor,sourceFiber,error);break}else if(nearestMountedAncestor.tag===1){var instance=nearestMountedAncestor.stateNode;if(typeof nearestMountedAncestor.type.getDerivedStateFromError==="function"||typeof instance.componentDidCatch==="function"&&(legacyErrorBoundariesThatAlreadyFailed===null||!legacyErrorBoundariesThatAlreadyFailed.has(instance))){sourceFiber=createCapturedValueAtFiber(error,sourceFiber),error=createClassErrorUpdate(2),instance=enqueueUpdate(nearestMountedAncestor,error,2),instance!==null&&(initializeClassErrorUpdate(error,instance,nearestMountedAncestor,sourceFiber),markRootUpdated$1(instance,2),ensureRootIsScheduled(instance));break}}nearestMountedAncestor=nearestMountedAncestor.return}}function attachPingListener(root,wakeable,lanes){var pingCache=root.pingCache;if(pingCache===null){pingCache=root.pingCache=new PossiblyWeakMap;var threadIDs=new Set;pingCache.set(wakeable,threadIDs)}else threadIDs=pingCache.get(wakeable),threadIDs===void 0&&(threadIDs=new Set,pingCache.set(wakeable,threadIDs));threadIDs.has(lanes)||(workInProgressRootDidAttachPingListener=!0,threadIDs.add(lanes),root=pingSuspendedRoot.bind(null,root,wakeable,lanes),wakeable.then(root,root))}function pingSuspendedRoot(root,wakeable,pingedLanes){var pingCache=root.pingCache;pingCache!==null&&pingCache.delete(wakeable),root.pingedLanes|=root.suspendedLanes&pingedLanes,root.warmLanes&=~pingedLanes,workInProgressRoot===root&&(workInProgressRootRenderLanes&pingedLanes)===pingedLanes&&(workInProgressRootExitStatus===4||workInProgressRootExitStatus===3&&(workInProgressRootRenderLanes&62914560)===workInProgressRootRenderLanes&&300>now()-globalMostRecentFallbackTime?(executionContext&2)===0&&prepareFreshStack(root,0):workInProgressRootPingedLanes|=pingedLanes,workInProgressSuspendedRetryLanes===workInProgressRootRenderLanes&&(workInProgressSuspendedRetryLanes=0)),ensureRootIsScheduled(root)}function retryTimedOutBoundary(boundaryFiber,retryLane){retryLane===0&&(retryLane=claimNextRetryLane()),boundaryFiber=enqueueConcurrentRenderForLane(boundaryFiber,retryLane),boundaryFiber!==null&&(markRootUpdated$1(boundaryFiber,retryLane),ensureRootIsScheduled(boundaryFiber))}function retryDehydratedSuspenseBoundary(boundaryFiber){var suspenseState=boundaryFiber.memoizedState,retryLane=0;suspenseState!==null&&(retryLane=suspenseState.retryLane),retryTimedOutBoundary(boundaryFiber,retryLane)}function resolveRetryWakeable(boundaryFiber,wakeable){var retryLane=0;switch(boundaryFiber.tag){case 13:var{stateNode:retryCache,memoizedState:suspenseState}=boundaryFiber;suspenseState!==null&&(retryLane=suspenseState.retryLane);break;case 19:retryCache=boundaryFiber.stateNode;break;case 22:retryCache=boundaryFiber.stateNode._retryCache;break;default:throw Error(formatProdErrorMessage(314))}retryCache!==null&&retryCache.delete(wakeable),retryTimedOutBoundary(boundaryFiber,retryLane)}function scheduleCallback(priorityLevel,callback){return scheduleCallback$3(priorityLevel,callback)}function FiberNode(tag,pendingProps,key,mode){this.tag=tag,this.key=key,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=pendingProps,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=mode,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function shouldConstruct(Component){return Component=Component.prototype,!(!Component||!Component.isReactComponent)}function createWorkInProgress(current,pendingProps){var workInProgress2=current.alternate;return workInProgress2===null?(workInProgress2=createFiber(current.tag,pendingProps,current.key,current.mode),workInProgress2.elementType=current.elementType,workInProgress2.type=current.type,workInProgress2.stateNode=current.stateNode,workInProgress2.alternate=current,current.alternate=workInProgress2):(workInProgress2.pendingProps=pendingProps,workInProgress2.type=current.type,workInProgress2.flags=0,workInProgress2.subtreeFlags=0,workInProgress2.deletions=null),workInProgress2.flags=current.flags&65011712,workInProgress2.childLanes=current.childLanes,workInProgress2.lanes=current.lanes,workInProgress2.child=current.child,workInProgress2.memoizedProps=current.memoizedProps,workInProgress2.memoizedState=current.memoizedState,workInProgress2.updateQueue=current.updateQueue,pendingProps=current.dependencies,workInProgress2.dependencies=pendingProps===null?null:{lanes:pendingProps.lanes,firstContext:pendingProps.firstContext},workInProgress2.sibling=current.sibling,workInProgress2.index=current.index,workInProgress2.ref=current.ref,workInProgress2.refCleanup=current.refCleanup,workInProgress2}function resetWorkInProgress(workInProgress2,renderLanes2){workInProgress2.flags&=65011714;var current=workInProgress2.alternate;return current===null?(workInProgress2.childLanes=0,workInProgress2.lanes=renderLanes2,workInProgress2.child=null,workInProgress2.subtreeFlags=0,workInProgress2.memoizedProps=null,workInProgress2.memoizedState=null,workInProgress2.updateQueue=null,workInProgress2.dependencies=null,workInProgress2.stateNode=null):(workInProgress2.childLanes=current.childLanes,workInProgress2.lanes=current.lanes,workInProgress2.child=current.child,workInProgress2.subtreeFlags=0,workInProgress2.deletions=null,workInProgress2.memoizedProps=current.memoizedProps,workInProgress2.memoizedState=current.memoizedState,workInProgress2.updateQueue=current.updateQueue,workInProgress2.type=current.type,renderLanes2=current.dependencies,workInProgress2.dependencies=renderLanes2===null?null:{lanes:renderLanes2.lanes,firstContext:renderLanes2.firstContext}),workInProgress2}function createFiberFromTypeAndProps(type,key,pendingProps,owner,mode,lanes){var fiberTag=0;if(owner=type,typeof type==="function")shouldConstruct(type)&&(fiberTag=1);else if(typeof type==="string")fiberTag=supportsResources&&supportsSingletons?isHostHoistableType(type,pendingProps,contextStackCursor.current)?26:isHostSingletonType(type)?27:5:supportsResources?isHostHoistableType(type,pendingProps,contextStackCursor.current)?26:5:supportsSingletons?isHostSingletonType(type)?27:5:5;else a:switch(type){case REACT_ACTIVITY_TYPE:return type=createFiber(31,pendingProps,key,mode),type.elementType=REACT_ACTIVITY_TYPE,type.lanes=lanes,type;case REACT_FRAGMENT_TYPE2:return createFiberFromFragment(pendingProps.children,mode,lanes,key);case REACT_STRICT_MODE_TYPE:fiberTag=8,mode|=24;break;case REACT_PROFILER_TYPE:return type=createFiber(12,pendingProps,key,mode|2),type.elementType=REACT_PROFILER_TYPE,type.lanes=lanes,type;case REACT_SUSPENSE_TYPE:return type=createFiber(13,pendingProps,key,mode),type.elementType=REACT_SUSPENSE_TYPE,type.lanes=lanes,type;case REACT_SUSPENSE_LIST_TYPE:return type=createFiber(19,pendingProps,key,mode),type.elementType=REACT_SUSPENSE_LIST_TYPE,type.lanes=lanes,type;default:if(typeof type==="object"&&type!==null)switch(type.$$typeof){case REACT_PROVIDER_TYPE:case REACT_CONTEXT_TYPE:fiberTag=10;break a;case REACT_CONSUMER_TYPE:fiberTag=9;break a;case REACT_FORWARD_REF_TYPE:fiberTag=11;break a;case REACT_MEMO_TYPE:fiberTag=14;break a;case REACT_LAZY_TYPE:fiberTag=16,owner=null;break a}fiberTag=29,pendingProps=Error(formatProdErrorMessage(130,type===null?"null":typeof type,"")),owner=null}return key=createFiber(fiberTag,pendingProps,key,mode),key.elementType=type,key.type=owner,key.lanes=lanes,key}function createFiberFromFragment(elements,mode,lanes,key){return elements=createFiber(7,elements,key,mode),elements.lanes=lanes,elements}function createFiberFromText(content,mode,lanes){return content=createFiber(6,content,null,mode),content.lanes=lanes,content}function createFiberFromPortal(portal,mode,lanes){return mode=createFiber(4,portal.children!==null?portal.children:[],portal.key,mode),mode.lanes=lanes,mode.stateNode={containerInfo:portal.containerInfo,pendingChildren:null,implementation:portal.implementation},mode}function FiberRootNode(containerInfo,tag,hydrate,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,formState){this.tag=1,this.containerInfo=containerInfo,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=noTimeout,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=createLaneMap(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=createLaneMap(0),this.hiddenUpdates=createLaneMap(null),this.identifierPrefix=identifierPrefix,this.onUncaughtError=onUncaughtError,this.onCaughtError=onCaughtError,this.onRecoverableError=onRecoverableError,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=formState,this.incompleteTransitions=new Map}function createFiberRoot(containerInfo,tag,hydrate,initialChildren,hydrationCallbacks,isStrictMode,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks,formState){return containerInfo=new FiberRootNode(containerInfo,tag,hydrate,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,formState),tag=1,isStrictMode===!0&&(tag|=24),isStrictMode=createFiber(3,null,null,tag),containerInfo.current=isStrictMode,isStrictMode.stateNode=containerInfo,tag=createCache(),tag.refCount++,containerInfo.pooledCache=tag,tag.refCount++,isStrictMode.memoizedState={element:initialChildren,isDehydrated:hydrate,cache:tag},initializeUpdateQueue(isStrictMode),containerInfo}function getContextForSubtree(parentComponent){if(!parentComponent)return emptyContextObject;return parentComponent=emptyContextObject,parentComponent}function findHostInstance(component){var fiber=component._reactInternals;if(fiber===void 0){if(typeof component.render==="function")throw Error(formatProdErrorMessage(188));throw component=Object.keys(component).join(","),Error(formatProdErrorMessage(268,component))}return component=findCurrentFiberUsingSlowPath(fiber),component=component!==null?findCurrentHostFiberImpl(component):null,component===null?null:getPublicInstance(component.stateNode)}function updateContainerImpl(rootFiber,lane,element,container,parentComponent,callback){parentComponent=getContextForSubtree(parentComponent),container.context===null?container.context=parentComponent:container.pendingContext=parentComponent,container=createUpdate(lane),container.payload={element},callback=callback===void 0?null:callback,callback!==null&&(container.callback=callback),element=enqueueUpdate(rootFiber,container,lane),element!==null&&(scheduleUpdateOnFiber(element,rootFiber,lane),entangleTransitions(element,rootFiber,lane))}function markRetryLaneImpl(fiber,retryLane){if(fiber=fiber.memoizedState,fiber!==null&&fiber.dehydrated!==null){var a=fiber.retryLane;fiber.retryLane=a!==0&&a<retryLane?a:retryLane}}function markRetryLaneIfNotHydrated(fiber,retryLane){markRetryLaneImpl(fiber,retryLane),(fiber=fiber.alternate)&&markRetryLaneImpl(fiber,retryLane)}var exports2={},assign=Object.assign,REACT_LEGACY_ELEMENT_TYPE=Symbol.for("react.element"),REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE2=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_PROVIDER_TYPE=Symbol.for("react.provider"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_ACTIVITY_TYPE=Symbol.for("react.activity"),REACT_MEMO_CACHE_SENTINEL=Symbol.for("react.memo_cache_sentinel"),MAYBE_ITERATOR_SYMBOL=Symbol.iterator,REACT_CLIENT_REFERENCE=Symbol.for("react.client.reference"),isArrayImpl=Array.isArray,ReactSharedInternals=React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,rendererVersion=$$$config.rendererVersion,rendererPackageName=$$$config.rendererPackageName,extraDevToolsConfig=$$$config.extraDevToolsConfig,getPublicInstance=$$$config.getPublicInstance,getRootHostContext=$$$config.getRootHostContext,getChildHostContext=$$$config.getChildHostContext,prepareForCommit=$$$config.prepareForCommit,resetAfterCommit=$$$config.resetAfterCommit,createInstance=$$$config.createInstance;$$$config.cloneMutableInstance;var{appendInitialChild,finalizeInitialChildren,shouldSetTextContent,createTextInstance}=$$$config;$$$config.cloneMutableTextInstance;var{scheduleTimeout,cancelTimeout,noTimeout,isPrimaryRenderer}=$$$config;$$$config.warnsIfNotActing;var{supportsMutation,supportsPersistence,supportsHydration,getInstanceFromNode}=$$$config;$$$config.beforeActiveInstanceBlur;var preparePortalMount=$$$config.preparePortalMount;$$$config.prepareScopeUpdate,$$$config.getInstanceFromScope;var{setCurrentUpdatePriority,getCurrentUpdatePriority,resolveUpdatePriority}=$$$config;$$$config.trackSchedulerEvent,$$$config.resolveEventType,$$$config.resolveEventTimeStamp;var{shouldAttemptEagerTransition,detachDeletedInstance}=$$$config;$$$config.requestPostPaintCallback;var{maySuspendCommit,preloadInstance,startSuspendingCommit,suspendInstance}=$$$config;$$$config.suspendOnActiveViewTransition;var{waitForCommitToBeReady,NotPendingTransition,HostTransitionContext,resetFormInstance}=$$$config;$$$config.bindToConsole;var{supportsMicrotasks,scheduleMicrotask,supportsTestSelectors,findFiberRoot,getBoundingRect,getTextContent,isHiddenSubtree,matchAccessibilityRole,setFocusIfFocusable,setupIntersectionObserver,appendChild,appendChildToContainer,commitTextUpdate,commitMount,commitUpdate,insertBefore,insertInContainerBefore,removeChild,removeChildFromContainer,resetTextContent,hideInstance,hideTextInstance,unhideInstance,unhideTextInstance}=$$$config;$$$config.cancelViewTransitionName,$$$config.cancelRootViewTransitionName,$$$config.restoreRootViewTransitionName,$$$config.cloneRootViewTransitionContainer,$$$config.removeRootViewTransitionClone,$$$config.measureClonedInstance,$$$config.hasInstanceChanged,$$$config.hasInstanceAffectedParent,$$$config.startViewTransition,$$$config.startGestureTransition,$$$config.stopGestureTransition,$$$config.getCurrentGestureOffset,$$$config.subscribeToGestureDirection,$$$config.createViewTransitionInstance;var clearContainer=$$$config.clearContainer;$$$config.createFragmentInstance,$$$config.updateFragmentInstanceFiber,$$$config.commitNewChildToFragmentInstance,$$$config.deleteChildFromFragmentInstance;var{cloneInstance,createContainerChildSet,appendChildToContainerChildSet,finalizeContainerChildren,replaceContainerChildren,cloneHiddenInstance,cloneHiddenTextInstance,isSuspenseInstancePending,isSuspenseInstanceFallback,getSuspenseInstanceFallbackErrorDetails,registerSuspenseInstanceRetry,canHydrateFormStateMarker,isFormStateMarkerMatching,getNextHydratableSibling,getNextHydratableSiblingAfterSingleton,getFirstHydratableChild,getFirstHydratableChildWithinContainer,getFirstHydratableChildWithinSuspenseInstance,getFirstHydratableChildWithinSingleton,canHydrateInstance,canHydrateTextInstance,canHydrateSuspenseInstance,hydrateInstance,hydrateTextInstance,hydrateSuspenseInstance,getNextHydratableInstanceAfterSuspenseInstance,commitHydratedContainer,commitHydratedSuspenseInstance,clearSuspenseBoundary,clearSuspenseBoundaryFromContainer,shouldDeleteUnhydratedTailInstances}=$$$config;$$$config.diffHydratedPropsForDevWarnings,$$$config.diffHydratedTextForDevWarnings,$$$config.describeHydratableInstanceForDevWarnings;var{validateHydratableInstance,validateHydratableTextInstance,supportsResources,isHostHoistableType,getHoistableRoot,getResource,acquireResource,releaseResource,hydrateHoistable,mountHoistable,unmountHoistable,createHoistableInstance,prepareToCommitHoistables,mayResourceSuspendCommit,preloadResource,suspendResource,supportsSingletons,resolveSingletonInstance,acquireSingletonInstance,releaseSingletonInstance,isHostSingletonType,isSingletonScope}=$$$config,valueStack=[],index$jscomp$0=-1,emptyContextObject={},clz32=Math.clz32?Math.clz32:clz32Fallback,log$1=Math.log,LN2=Math.LN2,nextTransitionLane=256,nextRetryLane=4194304,scheduleCallback$3=$unstable_scheduleCallback,cancelCallback$1=$unstable_cancelCallback,shouldYield=$unstable_shouldYield,requestPaint=$unstable_requestPaint,now=$unstable_now,ImmediatePriority=$unstable_ImmediatePriority,UserBlockingPriority=$unstable_UserBlockingPriority,NormalPriority$1=$unstable_NormalPriority,IdlePriority=$unstable_IdlePriority,log2=void 0,unstable_setDisableYieldValue2=void 0,rendererID=null,injectedHook=null,prefix,suffix2,reentry=!1,CapturedStacks=new WeakMap,forkStack=[],forkStackIndex=0,treeForkProvider=null,treeForkCount=0,idStack=[],idStackIndex=0,treeContextProvider=null,treeContextId=1,treeContextOverflow="",contextStackCursor=createCursor(null),contextFiberStackCursor=createCursor(null),rootInstanceStackCursor=createCursor(null),hostTransitionProviderCursor=createCursor(null),hydrationParentFiber=null,nextHydratableInstance=null,isHydrating=!1,hydrationErrors=null,rootOrSingletonContext=!1,HydrationMismatchException=Error(formatProdErrorMessage(519)),objectIs=typeof Object.is==="function"?Object.is:is,valueCursor=createCursor(null),currentlyRenderingFiber$1=null,lastContextDependency=null,AbortControllerLocal=typeof AbortController<"u"?AbortController:function(){var listeners=[],signal=this.signal={aborted:!1,addEventListener:function(type,listener){listeners.push(listener)}};this.abort=function(){signal.aborted=!0,listeners.forEach(function(listener){return listener()})}},scheduleCallback$2=$unstable_scheduleCallback,NormalPriority=$unstable_NormalPriority,CacheContext={$$typeof:REACT_CONTEXT_TYPE,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},firstScheduledRoot=null,lastScheduledRoot=null,didScheduleMicrotask=!1,mightHavePendingSyncWork=!1,isFlushingWork=!1,currentEventTransitionLane=0,currentEntangledListeners=null,currentEntangledPendingCount=0,currentEntangledLane=0,currentEntangledActionThenable=null,prevOnStartTransitionFinish=ReactSharedInternals.S;ReactSharedInternals.S=function(transition,returnValue){typeof returnValue==="object"&&returnValue!==null&&typeof returnValue.then==="function"&&entangleAsyncAction(transition,returnValue),prevOnStartTransitionFinish!==null&&prevOnStartTransitionFinish(transition,returnValue)};var resumedCache=createCursor(null),hasOwnProperty=Object.prototype.hasOwnProperty,SuspenseException=Error(formatProdErrorMessage(460)),SuspenseyCommitException=Error(formatProdErrorMessage(474)),SuspenseActionException=Error(formatProdErrorMessage(542)),noopSuspenseyCommitThenable={then:function(){}},suspendedThenable=null,concurrentQueues=[],concurrentQueuesIndex=0,concurrentlyUpdatedLanes=0,hasForceUpdate=!1,didReadFromEntangledAsyncAction=!1,currentTreeHiddenStackCursor=createCursor(null),prevEntangledRenderLanesCursor=createCursor(0),renderLanes=0,currentlyRenderingFiber=null,currentHook=null,workInProgressHook=null,didScheduleRenderPhaseUpdate=!1,didScheduleRenderPhaseUpdateDuringThisPass=!1,shouldDoubleInvokeUserFnsInHooksDEV=!1,localIdCounter=0,thenableIndexCounter$1=0,thenableState$1=null,globalClientIdCounter=0,ContextOnlyDispatcher={readContext,use,useCallback:throwInvalidHookError,useContext:throwInvalidHookError,useEffect:throwInvalidHookError,useImperativeHandle:throwInvalidHookError,useLayoutEffect:throwInvalidHookError,useInsertionEffect:throwInvalidHookError,useMemo:throwInvalidHookError,useReducer:throwInvalidHookError,useRef:throwInvalidHookError,useState:throwInvalidHookError,useDebugValue:throwInvalidHookError,useDeferredValue:throwInvalidHookError,useTransition:throwInvalidHookError,useSyncExternalStore:throwInvalidHookError,useId:throwInvalidHookError,useHostTransitionStatus:throwInvalidHookError,useFormState:throwInvalidHookError,useActionState:throwInvalidHookError,useOptimistic:throwInvalidHookError,useMemoCache:throwInvalidHookError,useCacheRefresh:throwInvalidHookError},HooksDispatcherOnMount={readContext,use,useCallback:function(callback,deps){return mountWorkInProgressHook().memoizedState=[callback,deps===void 0?null:deps],callback},useContext:readContext,useEffect:mountEffect,useImperativeHandle:function(ref,create,deps){deps=deps!==null&&deps!==void 0?deps.concat([ref]):null,mountEffectImpl(4194308,4,imperativeHandleEffect.bind(null,create,ref),deps)},useLayoutEffect:function(create,deps){return mountEffectImpl(4194308,4,create,deps)},useInsertionEffect:function(create,deps){mountEffectImpl(4,2,create,deps)},useMemo:function(nextCreate,deps){var hook=mountWorkInProgressHook();deps=deps===void 0?null:deps;var nextValue=nextCreate();if(shouldDoubleInvokeUserFnsInHooksDEV){setIsStrictModeForDevtools(!0);try{nextCreate()}finally{setIsStrictModeForDevtools(!1)}}return hook.memoizedState=[nextValue,deps],nextValue},useReducer:function(reducer,initialArg,init){var hook=mountWorkInProgressHook();if(init!==void 0){var initialState=init(initialArg);if(shouldDoubleInvokeUserFnsInHooksDEV){setIsStrictModeForDevtools(!0);try{init(initialArg)}finally{setIsStrictModeForDevtools(!1)}}}else initialState=initialArg;return hook.memoizedState=hook.baseState=initialState,reducer={pending:null,lanes:0,dispatch:null,lastRenderedReducer:reducer,lastRenderedState:initialState},hook.queue=reducer,reducer=reducer.dispatch=dispatchReducerAction.bind(null,currentlyRenderingFiber,reducer),[hook.memoizedState,reducer]},useRef:function(initialValue){var hook=mountWorkInProgressHook();return initialValue={current:initialValue},hook.memoizedState=initialValue},useState:function(initialState){initialState=mountStateImpl(initialState);var queue=initialState.queue,dispatch=dispatchSetState.bind(null,currentlyRenderingFiber,queue);return queue.dispatch=dispatch,[initialState.memoizedState,dispatch]},useDebugValue:mountDebugValue,useDeferredValue:function(value,initialValue){var hook=mountWorkInProgressHook();return mountDeferredValueImpl(hook,value,initialValue)},useTransition:function(){var stateHook=mountStateImpl(!1);return stateHook=startTransition.bind(null,currentlyRenderingFiber,stateHook.queue,!0,!1),mountWorkInProgressHook().memoizedState=stateHook,[!1,stateHook]},useSyncExternalStore:function(subscribe,getSnapshot,getServerSnapshot){var fiber=currentlyRenderingFiber,hook=mountWorkInProgressHook();if(isHydrating){if(getServerSnapshot===void 0)throw Error(formatProdErrorMessage(407));getServerSnapshot=getServerSnapshot()}else{if(getServerSnapshot=getSnapshot(),workInProgressRoot===null)throw Error(formatProdErrorMessage(349));(workInProgressRootRenderLanes&124)!==0||pushStoreConsistencyCheck(fiber,getSnapshot,getServerSnapshot)}hook.memoizedState=getServerSnapshot;var inst={value:getServerSnapshot,getSnapshot};return hook.queue=inst,mountEffect(subscribeToStore.bind(null,fiber,inst,subscribe),[subscribe]),fiber.flags|=2048,pushSimpleEffect(9,createEffectInstance(),updateStoreInstance.bind(null,fiber,inst,getServerSnapshot,getSnapshot),null),getServerSnapshot},useId:function(){var hook=mountWorkInProgressHook(),identifierPrefix=workInProgressRoot.identifierPrefix;if(isHydrating){var JSCompiler_inline_result=treeContextOverflow,idWithLeadingBit=treeContextId;JSCompiler_inline_result=(idWithLeadingBit&~(1<<32-clz32(idWithLeadingBit)-1)).toString(32)+JSCompiler_inline_result,identifierPrefix="\xAB"+identifierPrefix+"R"+JSCompiler_inline_result,JSCompiler_inline_result=localIdCounter++,0<JSCompiler_inline_result&&(identifierPrefix+="H"+JSCompiler_inline_result.toString(32)),identifierPrefix+="\xBB"}else JSCompiler_inline_result=globalClientIdCounter++,identifierPrefix="\xAB"+identifierPrefix+"r"+JSCompiler_inline_result.toString(32)+"\xBB";return hook.memoizedState=identifierPrefix},useHostTransitionStatus,useFormState:mountActionState,useActionState:mountActionState,useOptimistic:function(passthrough){var hook=mountWorkInProgressHook();hook.memoizedState=hook.baseState=passthrough;var queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return hook.queue=queue,hook=dispatchOptimisticSetState.bind(null,currentlyRenderingFiber,!0,queue),queue.dispatch=hook,[passthrough,hook]},useMemoCache,useCacheRefresh:function(){return mountWorkInProgressHook().memoizedState=refreshCache.bind(null,currentlyRenderingFiber)}},HooksDispatcherOnUpdate={readContext,use,useCallback:updateCallback,useContext:readContext,useEffect:updateEffect,useImperativeHandle:updateImperativeHandle,useInsertionEffect:updateInsertionEffect,useLayoutEffect:updateLayoutEffect,useMemo:updateMemo,useReducer:updateReducer,useRef:updateRef,useState:function(){return updateReducer(basicStateReducer)},useDebugValue:mountDebugValue,useDeferredValue:function(value,initialValue){var hook=updateWorkInProgressHook();return updateDeferredValueImpl(hook,currentHook.memoizedState,value,initialValue)},useTransition:function(){var booleanOrThenable=updateReducer(basicStateReducer)[0],start=updateWorkInProgressHook().memoizedState;return[typeof booleanOrThenable==="boolean"?booleanOrThenable:useThenable(booleanOrThenable),start]},useSyncExternalStore:updateSyncExternalStore,useId:updateId,useHostTransitionStatus,useFormState:updateActionState,useActionState:updateActionState,useOptimistic:function(passthrough,reducer){var hook=updateWorkInProgressHook();return updateOptimisticImpl(hook,currentHook,passthrough,reducer)},useMemoCache,useCacheRefresh:updateRefresh},HooksDispatcherOnRerender={readContext,use,useCallback:updateCallback,useContext:readContext,useEffect:updateEffect,useImperativeHandle:updateImperativeHandle,useInsertionEffect:updateInsertionEffect,useLayoutEffect:updateLayoutEffect,useMemo:updateMemo,useReducer:rerenderReducer,useRef:updateRef,useState:function(){return rerenderReducer(basicStateReducer)},useDebugValue:mountDebugValue,useDeferredValue:function(value,initialValue){var hook=updateWorkInProgressHook();return currentHook===null?mountDeferredValueImpl(hook,value,initialValue):updateDeferredValueImpl(hook,currentHook.memoizedState,value,initialValue)},useTransition:function(){var booleanOrThenable=rerenderReducer(basicStateReducer)[0],start=updateWorkInProgressHook().memoizedState;return[typeof booleanOrThenable==="boolean"?booleanOrThenable:useThenable(booleanOrThenable),start]},useSyncExternalStore:updateSyncExternalStore,useId:updateId,useHostTransitionStatus,useFormState:rerenderActionState,useActionState:rerenderActionState,useOptimistic:function(passthrough,reducer){var hook=updateWorkInProgressHook();if(currentHook!==null)return updateOptimisticImpl(hook,currentHook,passthrough,reducer);return hook.baseState=passthrough,[passthrough,hook.queue.dispatch]},useMemoCache,useCacheRefresh:updateRefresh},thenableState=null,thenableIndexCounter=0,reconcileChildFibers=createChildReconciler(!0),mountChildFibers=createChildReconciler(!1),suspenseHandlerStackCursor=createCursor(null),shellBoundary=null,suspenseStackCursor=createCursor(0),classComponentUpdater={enqueueSetState:function(inst,payload,callback){inst=inst._reactInternals;var lane=requestUpdateLane(),update=createUpdate(lane);update.payload=payload,callback!==void 0&&callback!==null&&(update.callback=callback),payload=enqueueUpdate(inst,update,lane),payload!==null&&(scheduleUpdateOnFiber(payload,inst,lane),entangleTransitions(payload,inst,lane))},enqueueReplaceState:function(inst,payload,callback){inst=inst._reactInternals;var lane=requestUpdateLane(),update=createUpdate(lane);update.tag=1,update.payload=payload,callback!==void 0&&callback!==null&&(update.callback=callback),payload=enqueueUpdate(inst,update,lane),payload!==null&&(scheduleUpdateOnFiber(payload,inst,lane),entangleTransitions(payload,inst,lane))},enqueueForceUpdate:function(inst,callback){inst=inst._reactInternals;var lane=requestUpdateLane(),update=createUpdate(lane);update.tag=2,callback!==void 0&&callback!==null&&(update.callback=callback),callback=enqueueUpdate(inst,update,lane),callback!==null&&(scheduleUpdateOnFiber(callback,inst,lane),entangleTransitions(callback,inst,lane))}},reportGlobalError=typeof reportError==="function"?reportError:function(error){if(typeof window==="object"&&typeof window.ErrorEvent==="function"){var event=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof error==="object"&&error!==null&&typeof error.message==="string"?String(error.message):String(error),error});if(!window.dispatchEvent(event))return}else if(typeof process==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",error);return}console.error(error)},SelectiveHydrationException=Error(formatProdErrorMessage(461)),didReceiveUpdate=!1,SUSPENDED_MARKER={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null},offscreenSubtreeIsHidden=!1,offscreenSubtreeWasHidden=!1,needsFormReset=!1,PossiblyWeakSet=typeof WeakSet==="function"?WeakSet:Set,nextEffect=null,hostParent=null,hostParentIsContainer=!1,currentHoistableRoot=null,suspenseyCommitFlag=8192,DefaultAsyncDispatcher={getCacheForType:function(resourceType){var cache=readContext(CacheContext),cacheForType=cache.data.get(resourceType);return cacheForType===void 0&&(cacheForType=resourceType(),cache.data.set(resourceType,cacheForType)),cacheForType}},COMPONENT_TYPE=0,HAS_PSEUDO_CLASS_TYPE=1,ROLE_TYPE=2,TEST_NAME_TYPE=3,TEXT_TYPE=4;if(typeof Symbol==="function"&&Symbol.for){var symbolFor=Symbol.for;COMPONENT_TYPE=symbolFor("selector.component"),HAS_PSEUDO_CLASS_TYPE=symbolFor("selector.has_pseudo_class"),ROLE_TYPE=symbolFor("selector.role"),TEST_NAME_TYPE=symbolFor("selector.test_id"),TEXT_TYPE=symbolFor("selector.text")}var PossiblyWeakMap=typeof WeakMap==="function"?WeakMap:Map,executionContext=0,workInProgressRoot=null,workInProgress=null,workInProgressRootRenderLanes=0,workInProgressSuspendedReason=0,workInProgressThrownValue=null,workInProgressRootDidSkipSuspendedSiblings=!1,workInProgressRootIsPrerendering=!1,workInProgressRootDidAttachPingListener=!1,entangledRenderLanes=0,workInProgressRootExitStatus=0,workInProgressRootSkippedLanes=0,workInProgressRootInterleavedUpdatedLanes=0,workInProgressRootPingedLanes=0,workInProgressDeferredLane=0,workInProgressSuspendedRetryLanes=0,workInProgressRootConcurrentErrors=null,workInProgressRootRecoverableErrors=null,workInProgressRootDidIncludeRecursiveRenderUpdate=!1,globalMostRecentFallbackTime=0,workInProgressRootRenderTargetTime=1/0,workInProgressTransitions=null,legacyErrorBoundariesThatAlreadyFailed=null,pendingEffectsStatus=0,pendingEffectsRoot=null,pendingFinishedWork=null,pendingEffectsLanes=0,pendingEffectsRemainingLanes=0,pendingPassiveTransitions=null,pendingRecoverableErrors=null,nestedUpdateCount=0,rootWithNestedUpdates=null;return exports2.attemptContinuousHydration=function(fiber){if(fiber.tag===13){var root=enqueueConcurrentRenderForLane(fiber,67108864);root!==null&&scheduleUpdateOnFiber(root,fiber,67108864),markRetryLaneIfNotHydrated(fiber,67108864)}},exports2.attemptHydrationAtCurrentPriority=function(fiber){if(fiber.tag===13){var lane=requestUpdateLane();lane=getBumpedLaneForHydrationByLane(lane);var root=enqueueConcurrentRenderForLane(fiber,lane);root!==null&&scheduleUpdateOnFiber(root,fiber,lane),markRetryLaneIfNotHydrated(fiber,lane)}},exports2.attemptSynchronousHydration=function(fiber){switch(fiber.tag){case 3:if(fiber=fiber.stateNode,fiber.current.memoizedState.isDehydrated){var lanes=getHighestPriorityLanes(fiber.pendingLanes);if(lanes!==0){fiber.pendingLanes|=2;for(fiber.entangledLanes|=2;lanes;){var lane=1<<31-clz32(lanes);fiber.entanglements[1]|=lane,lanes&=~lane}ensureRootIsScheduled(fiber),(executionContext&6)===0&&(workInProgressRootRenderTargetTime=now()+500,flushSyncWorkAcrossRoots_impl(0,!1))}}break;case 13:lanes=enqueueConcurrentRenderForLane(fiber,2),lanes!==null&&scheduleUpdateOnFiber(lanes,fiber,2),flushSyncWork(),markRetryLaneIfNotHydrated(fiber,2)}},exports2.batchedUpdates=function(fn,a){return fn(a)},exports2.createComponentSelector=function(component){return{$$typeof:COMPONENT_TYPE,value:component}},exports2.createContainer=function(containerInfo,tag,hydrationCallbacks,isStrictMode,concurrentUpdatesByDefaultOverride,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks){return createFiberRoot(containerInfo,tag,!1,null,hydrationCallbacks,isStrictMode,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks,null)},exports2.createHasPseudoClassSelector=function(selectors){return{$$typeof:HAS_PSEUDO_CLASS_TYPE,value:selectors}},exports2.createHydrationContainer=function(initialChildren,callback,containerInfo,tag,hydrationCallbacks,isStrictMode,concurrentUpdatesByDefaultOverride,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks,formState){return initialChildren=createFiberRoot(containerInfo,tag,!0,initialChildren,hydrationCallbacks,isStrictMode,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks,formState),initialChildren.context=getContextForSubtree(null),containerInfo=initialChildren.current,tag=requestUpdateLane(),tag=getBumpedLaneForHydrationByLane(tag),hydrationCallbacks=createUpdate(tag),hydrationCallbacks.callback=callback!==void 0&&callback!==null?callback:null,enqueueUpdate(containerInfo,hydrationCallbacks,tag),callback=tag,initialChildren.current.lanes=callback,markRootUpdated$1(initialChildren,callback),ensureRootIsScheduled(initialChildren),initialChildren},exports2.createPortal=function(children,containerInfo,implementation){var key=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:REACT_PORTAL_TYPE,key:key==null?null:""+key,children,containerInfo,implementation}},exports2.createRoleSelector=function(role){return{$$typeof:ROLE_TYPE,value:role}},exports2.createTestNameSelector=function(id){return{$$typeof:TEST_NAME_TYPE,value:id}},exports2.createTextSelector=function(text){return{$$typeof:TEXT_TYPE,value:text}},exports2.defaultOnCaughtError=function(error){console.error(error)},exports2.defaultOnRecoverableError=function(error){reportGlobalError(error)},exports2.defaultOnUncaughtError=function(error){reportGlobalError(error)},exports2.deferredUpdates=function(fn){var prevTransition=ReactSharedInternals.T,previousPriority=getCurrentUpdatePriority();try{return setCurrentUpdatePriority(32),ReactSharedInternals.T=null,fn()}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=prevTransition}},exports2.discreteUpdates=function(fn,a,b2,c,d2){var prevTransition=ReactSharedInternals.T,previousPriority=getCurrentUpdatePriority();try{return setCurrentUpdatePriority(2),ReactSharedInternals.T=null,fn(a,b2,c,d2)}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=prevTransition,executionContext===0&&(workInProgressRootRenderTargetTime=now()+500)}},exports2.findAllNodes=findAllNodes,exports2.findBoundingRects=function(hostRoot,selectors){if(!supportsTestSelectors)throw Error(formatProdErrorMessage(363));selectors=findAllNodes(hostRoot,selectors),hostRoot=[];for(var i=0;i<selectors.length;i++)hostRoot.push(getBoundingRect(selectors[i]));for(selectors=hostRoot.length-1;0<selectors;selectors--){i=hostRoot[selectors];for(var targetLeft=i.x,targetRight=targetLeft+i.width,targetTop=i.y,targetBottom=targetTop+i.height,j2=selectors-1;0<=j2;j2--)if(selectors!==j2){var otherRect=hostRoot[j2],otherLeft=otherRect.x,otherRight=otherLeft+otherRect.width,otherTop=otherRect.y,otherBottom=otherTop+otherRect.height;if(targetLeft>=otherLeft&&targetTop>=otherTop&&targetRight<=otherRight&&targetBottom<=otherBottom){hostRoot.splice(selectors,1);break}else if(!(targetLeft!==otherLeft||i.width!==otherRect.width||otherBottom<targetTop||otherTop>targetBottom)){otherTop>targetTop&&(otherRect.height+=otherTop-targetTop,otherRect.y=targetTop),otherBottom<targetBottom&&(otherRect.height=targetBottom-otherTop),hostRoot.splice(selectors,1);break}else if(!(targetTop!==otherTop||i.height!==otherRect.height||otherRight<targetLeft||otherLeft>targetRight)){otherLeft>targetLeft&&(otherRect.width+=otherLeft-targetLeft,otherRect.x=targetLeft),otherRight<targetRight&&(otherRect.width=targetRight-otherLeft),hostRoot.splice(selectors,1);break}}}return hostRoot},exports2.findHostInstance=findHostInstance,exports2.findHostInstanceWithNoPortals=function(fiber){return fiber=findCurrentFiberUsingSlowPath(fiber),fiber=fiber!==null?findCurrentHostFiberWithNoPortalsImpl(fiber):null,fiber===null?null:getPublicInstance(fiber.stateNode)},exports2.findHostInstanceWithWarning=function(component){return findHostInstance(component)},exports2.flushPassiveEffects=flushPendingEffects,exports2.flushSyncFromReconciler=function(fn){var prevExecutionContext=executionContext;executionContext|=1;var prevTransition=ReactSharedInternals.T,previousPriority=getCurrentUpdatePriority();try{if(setCurrentUpdatePriority(2),ReactSharedInternals.T=null,fn)return fn()}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=prevTransition,executionContext=prevExecutionContext,(executionContext&6)===0&&flushSyncWorkAcrossRoots_impl(0,!1)}},exports2.flushSyncWork=flushSyncWork,exports2.focusWithin=function(hostRoot,selectors){if(!supportsTestSelectors)throw Error(formatProdErrorMessage(363));hostRoot=findFiberRootForHostRoot(hostRoot),selectors=findPaths(hostRoot,selectors),selectors=Array.from(selectors);for(hostRoot=0;hostRoot<selectors.length;){var fiber=selectors[hostRoot++],tag=fiber.tag;if(!isHiddenSubtree(fiber)){if((tag===5||tag===26||tag===27)&&setFocusIfFocusable(fiber.stateNode))return!0;for(fiber=fiber.child;fiber!==null;)selectors.push(fiber),fiber=fiber.sibling}}return!1},exports2.getFindAllNodesFailureDescription=function(hostRoot,selectors){if(!supportsTestSelectors)throw Error(formatProdErrorMessage(363));var maxSelectorIndex=0,matchedNames=[];hostRoot=[findFiberRootForHostRoot(hostRoot),0];for(var index=0;index<hostRoot.length;){var fiber=hostRoot[index++],tag=fiber.tag,selectorIndex=hostRoot[index++],selector=selectors[selectorIndex];if(tag!==5&&tag!==26&&tag!==27||!isHiddenSubtree(fiber)){if(matchSelector(fiber,selector)&&(matchedNames.push(selectorToString(selector)),selectorIndex++,selectorIndex>maxSelectorIndex&&(maxSelectorIndex=selectorIndex)),selectorIndex<selectors.length)for(fiber=fiber.child;fiber!==null;)hostRoot.push(fiber,selectorIndex),fiber=fiber.sibling}}if(maxSelectorIndex<selectors.length){for(hostRoot=[];maxSelectorIndex<selectors.length;maxSelectorIndex++)hostRoot.push(selectorToString(selectors[maxSelectorIndex]));return`findAllNodes was able to match part of the selector:
10
+ `+x2.stack}}function createCapturedValueAtFiber(value,source){if(typeof value==="object"&&value!==null){var existing=CapturedStacks.get(value);if(existing!==void 0)return existing;return source={value,source,stack:getStackByFiberInDevAndProd(source)},CapturedStacks.set(value,source),source}return{value,source,stack:getStackByFiberInDevAndProd(source)}}function pushTreeFork(workInProgress2,totalChildren){forkStack[forkStackIndex++]=treeForkCount,forkStack[forkStackIndex++]=treeForkProvider,treeForkProvider=workInProgress2,treeForkCount=totalChildren}function pushTreeId(workInProgress2,totalChildren,index){idStack[idStackIndex++]=treeContextId,idStack[idStackIndex++]=treeContextOverflow,idStack[idStackIndex++]=treeContextProvider,treeContextProvider=workInProgress2;var baseIdWithLeadingBit=treeContextId;workInProgress2=treeContextOverflow;var baseLength=32-clz32(baseIdWithLeadingBit)-1;baseIdWithLeadingBit&=~(1<<baseLength),index+=1;var length=32-clz32(totalChildren)+baseLength;if(30<length){var numberOfOverflowBits=baseLength-baseLength%5;length=(baseIdWithLeadingBit&(1<<numberOfOverflowBits)-1).toString(32),baseIdWithLeadingBit>>=numberOfOverflowBits,baseLength-=numberOfOverflowBits,treeContextId=1<<32-clz32(totalChildren)+baseLength|index<<baseLength|baseIdWithLeadingBit,treeContextOverflow=length+workInProgress2}else treeContextId=1<<length|index<<baseLength|baseIdWithLeadingBit,treeContextOverflow=workInProgress2}function pushMaterializedTreeId(workInProgress2){workInProgress2.return!==null&&(pushTreeFork(workInProgress2,1),pushTreeId(workInProgress2,1,0))}function popTreeContext(workInProgress2){for(;workInProgress2===treeForkProvider;)treeForkProvider=forkStack[--forkStackIndex],forkStack[forkStackIndex]=null,treeForkCount=forkStack[--forkStackIndex],forkStack[forkStackIndex]=null;for(;workInProgress2===treeContextProvider;)treeContextProvider=idStack[--idStackIndex],idStack[idStackIndex]=null,treeContextOverflow=idStack[--idStackIndex],idStack[idStackIndex]=null,treeContextId=idStack[--idStackIndex],idStack[idStackIndex]=null}function pushHostContainer(fiber,nextRootInstance){push2(rootInstanceStackCursor,nextRootInstance),push2(contextFiberStackCursor,fiber),push2(contextStackCursor,null),fiber=getRootHostContext(nextRootInstance),pop2(contextStackCursor),push2(contextStackCursor,fiber)}function popHostContainer(){pop2(contextStackCursor),pop2(contextFiberStackCursor),pop2(rootInstanceStackCursor)}function pushHostContext(fiber){fiber.memoizedState!==null&&push2(hostTransitionProviderCursor,fiber);var context=contextStackCursor.current,nextContext=getChildHostContext(context,fiber.type);context!==nextContext&&(push2(contextFiberStackCursor,fiber),push2(contextStackCursor,nextContext))}function popHostContext(fiber){contextFiberStackCursor.current===fiber&&(pop2(contextStackCursor),pop2(contextFiberStackCursor)),hostTransitionProviderCursor.current===fiber&&(pop2(hostTransitionProviderCursor),isPrimaryRenderer?HostTransitionContext._currentValue=NotPendingTransition:HostTransitionContext._currentValue2=NotPendingTransition)}function throwOnHydrationMismatch(fiber){var error=Error(formatProdErrorMessage(418,""));throw queueHydrationError(createCapturedValueAtFiber(error,fiber)),HydrationMismatchException}function prepareToHydrateHostInstance(fiber,hostContext){if(!supportsHydration)throw Error(formatProdErrorMessage(175));hydrateInstance(fiber.stateNode,fiber.type,fiber.memoizedProps,hostContext,fiber)||throwOnHydrationMismatch(fiber)}function popToNextHostParent(fiber){for(hydrationParentFiber=fiber.return;hydrationParentFiber;)switch(hydrationParentFiber.tag){case 5:case 13:rootOrSingletonContext=!1;return;case 27:case 3:rootOrSingletonContext=!0;return;default:hydrationParentFiber=hydrationParentFiber.return}}function popHydrationState(fiber){if(!supportsHydration||fiber!==hydrationParentFiber)return!1;if(!isHydrating)return popToNextHostParent(fiber),isHydrating=!0,!1;var tag=fiber.tag;if(supportsSingletons?tag!==3&&tag!==27&&(tag!==5||shouldDeleteUnhydratedTailInstances(fiber.type)&&!shouldSetTextContent(fiber.type,fiber.memoizedProps))&&nextHydratableInstance&&throwOnHydrationMismatch(fiber):tag!==3&&(tag!==5||shouldDeleteUnhydratedTailInstances(fiber.type)&&!shouldSetTextContent(fiber.type,fiber.memoizedProps))&&nextHydratableInstance&&throwOnHydrationMismatch(fiber),popToNextHostParent(fiber),tag===13){if(!supportsHydration)throw Error(formatProdErrorMessage(316));if(fiber=fiber.memoizedState,fiber=fiber!==null?fiber.dehydrated:null,!fiber)throw Error(formatProdErrorMessage(317));nextHydratableInstance=getNextHydratableInstanceAfterSuspenseInstance(fiber)}else nextHydratableInstance=supportsSingletons&&tag===27?getNextHydratableSiblingAfterSingleton(fiber.type,nextHydratableInstance):hydrationParentFiber?getNextHydratableSibling(fiber.stateNode):null;return!0}function resetHydrationState(){supportsHydration&&(nextHydratableInstance=hydrationParentFiber=null,isHydrating=!1)}function upgradeHydrationErrorsToRecoverable(){var queuedErrors=hydrationErrors;return queuedErrors!==null&&(workInProgressRootRecoverableErrors===null?workInProgressRootRecoverableErrors=queuedErrors:workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors,queuedErrors),hydrationErrors=null),queuedErrors}function queueHydrationError(error){hydrationErrors===null?hydrationErrors=[error]:hydrationErrors.push(error)}function is(x2,y2){return x2===y2&&(x2!==0||1/x2===1/y2)||x2!==x2&&y2!==y2}function pushProvider(providerFiber,context,nextValue){isPrimaryRenderer?(push2(valueCursor,context._currentValue),context._currentValue=nextValue):(push2(valueCursor,context._currentValue2),context._currentValue2=nextValue)}function popProvider(context){var currentValue=valueCursor.current;isPrimaryRenderer?context._currentValue=currentValue:context._currentValue2=currentValue,pop2(valueCursor)}function scheduleContextWorkOnParentPath(parent,renderLanes2,propagationRoot){for(;parent!==null;){var alternate=parent.alternate;if((parent.childLanes&renderLanes2)!==renderLanes2?(parent.childLanes|=renderLanes2,alternate!==null&&(alternate.childLanes|=renderLanes2)):alternate!==null&&(alternate.childLanes&renderLanes2)!==renderLanes2&&(alternate.childLanes|=renderLanes2),parent===propagationRoot)break;parent=parent.return}}function propagateContextChanges(workInProgress2,contexts,renderLanes2,forcePropagateEntireTree){var fiber=workInProgress2.child;fiber!==null&&(fiber.return=workInProgress2);for(;fiber!==null;){var list=fiber.dependencies;if(list!==null){var nextFiber=fiber.child;list=list.firstContext;a:for(;list!==null;){var dependency=list;list=fiber;for(var i=0;i<contexts.length;i++)if(dependency.context===contexts[i]){list.lanes|=renderLanes2,dependency=list.alternate,dependency!==null&&(dependency.lanes|=renderLanes2),scheduleContextWorkOnParentPath(list.return,renderLanes2,workInProgress2),forcePropagateEntireTree||(nextFiber=null);break a}list=dependency.next}}else if(fiber.tag===18){if(nextFiber=fiber.return,nextFiber===null)throw Error(formatProdErrorMessage(341));nextFiber.lanes|=renderLanes2,list=nextFiber.alternate,list!==null&&(list.lanes|=renderLanes2),scheduleContextWorkOnParentPath(nextFiber,renderLanes2,workInProgress2),nextFiber=null}else nextFiber=fiber.child;if(nextFiber!==null)nextFiber.return=fiber;else for(nextFiber=fiber;nextFiber!==null;){if(nextFiber===workInProgress2){nextFiber=null;break}if(fiber=nextFiber.sibling,fiber!==null){fiber.return=nextFiber.return,nextFiber=fiber;break}nextFiber=nextFiber.return}fiber=nextFiber}}function propagateParentContextChanges(current,workInProgress2,renderLanes2,forcePropagateEntireTree){current=null;for(var parent=workInProgress2,isInsidePropagationBailout=!1;parent!==null;){if(!isInsidePropagationBailout){if((parent.flags&524288)!==0)isInsidePropagationBailout=!0;else if((parent.flags&262144)!==0)break}if(parent.tag===10){var currentParent=parent.alternate;if(currentParent===null)throw Error(formatProdErrorMessage(387));if(currentParent=currentParent.memoizedProps,currentParent!==null){var context=parent.type;objectIs(parent.pendingProps.value,currentParent.value)||(current!==null?current.push(context):current=[context])}}else if(parent===hostTransitionProviderCursor.current){if(currentParent=parent.alternate,currentParent===null)throw Error(formatProdErrorMessage(387));currentParent.memoizedState.memoizedState!==parent.memoizedState.memoizedState&&(current!==null?current.push(HostTransitionContext):current=[HostTransitionContext])}parent=parent.return}current!==null&&propagateContextChanges(workInProgress2,current,renderLanes2,forcePropagateEntireTree),workInProgress2.flags|=262144}function checkIfContextChanged(currentDependencies){for(currentDependencies=currentDependencies.firstContext;currentDependencies!==null;){var context=currentDependencies.context;if(!objectIs(isPrimaryRenderer?context._currentValue:context._currentValue2,currentDependencies.memoizedValue))return!0;currentDependencies=currentDependencies.next}return!1}function prepareToReadContext(workInProgress2){currentlyRenderingFiber$1=workInProgress2,lastContextDependency=null,workInProgress2=workInProgress2.dependencies,workInProgress2!==null&&(workInProgress2.firstContext=null)}function readContext(context){return readContextForConsumer(currentlyRenderingFiber$1,context)}function readContextDuringReconciliation(consumer,context){return currentlyRenderingFiber$1===null&&prepareToReadContext(consumer),readContextForConsumer(consumer,context)}function readContextForConsumer(consumer,context){var value=isPrimaryRenderer?context._currentValue:context._currentValue2;if(context={context,memoizedValue:value,next:null},lastContextDependency===null){if(consumer===null)throw Error(formatProdErrorMessage(308));lastContextDependency=context,consumer.dependencies={lanes:0,firstContext:context},consumer.flags|=524288}else lastContextDependency=lastContextDependency.next=context;return value}function createCache(){return{controller:new AbortControllerLocal,data:new Map,refCount:0}}function releaseCache(cache){cache.refCount--,cache.refCount===0&&scheduleCallback$2(NormalPriority,function(){cache.controller.abort()})}function ensureRootIsScheduled(root){root!==lastScheduledRoot&&root.next===null&&(lastScheduledRoot===null?firstScheduledRoot=lastScheduledRoot=root:lastScheduledRoot=lastScheduledRoot.next=root),mightHavePendingSyncWork=!0,didScheduleMicrotask||(didScheduleMicrotask=!0,scheduleImmediateRootScheduleTask())}function flushSyncWorkAcrossRoots_impl(syncTransitionLanes,onlyLegacy){if(!isFlushingWork&&mightHavePendingSyncWork){isFlushingWork=!0;do{var didPerformSomeWork=!1;for(var root=firstScheduledRoot;root!==null;){if(!onlyLegacy)if(syncTransitionLanes!==0){var pendingLanes=root.pendingLanes;if(pendingLanes===0)var JSCompiler_inline_result=0;else{var{suspendedLanes,pingedLanes}=root;JSCompiler_inline_result=(1<<31-clz32(42|syncTransitionLanes)+1)-1,JSCompiler_inline_result&=pendingLanes&~(suspendedLanes&~pingedLanes),JSCompiler_inline_result=JSCompiler_inline_result&201326741?JSCompiler_inline_result&201326741|1:JSCompiler_inline_result?JSCompiler_inline_result|2:0}JSCompiler_inline_result!==0&&(didPerformSomeWork=!0,performSyncWorkOnRoot(root,JSCompiler_inline_result))}else JSCompiler_inline_result=workInProgressRootRenderLanes,JSCompiler_inline_result=getNextLanes(root,root===workInProgressRoot?JSCompiler_inline_result:0,root.cancelPendingCommit!==null||root.timeoutHandle!==noTimeout),(JSCompiler_inline_result&3)===0||checkIfRootIsPrerendering(root,JSCompiler_inline_result)||(didPerformSomeWork=!0,performSyncWorkOnRoot(root,JSCompiler_inline_result));root=root.next}}while(didPerformSomeWork);isFlushingWork=!1}}function processRootScheduleInImmediateTask(){processRootScheduleInMicrotask()}function processRootScheduleInMicrotask(){mightHavePendingSyncWork=didScheduleMicrotask=!1;var syncTransitionLanes=0;currentEventTransitionLane!==0&&(shouldAttemptEagerTransition()&&(syncTransitionLanes=currentEventTransitionLane),currentEventTransitionLane=0);for(var currentTime=now(),prev=null,root=firstScheduledRoot;root!==null;){var next=root.next,nextLanes=scheduleTaskForRootDuringMicrotask(root,currentTime);if(nextLanes===0)root.next=null,prev===null?firstScheduledRoot=next:prev.next=next,next===null&&(lastScheduledRoot=prev);else if(prev=root,syncTransitionLanes!==0||(nextLanes&3)!==0)mightHavePendingSyncWork=!0;root=next}flushSyncWorkAcrossRoots_impl(syncTransitionLanes,!1)}function scheduleTaskForRootDuringMicrotask(root,currentTime){for(var{suspendedLanes,pingedLanes,expirationTimes}=root,lanes=root.pendingLanes&-62914561;0<lanes;){var index$3=31-clz32(lanes),lane=1<<index$3,expirationTime=expirationTimes[index$3];if(expirationTime===-1){if((lane&suspendedLanes)===0||(lane&pingedLanes)!==0)expirationTimes[index$3]=computeExpirationTime(lane,currentTime)}else expirationTime<=currentTime&&(root.expiredLanes|=lane);lanes&=~lane}if(currentTime=workInProgressRoot,suspendedLanes=workInProgressRootRenderLanes,suspendedLanes=getNextLanes(root,root===currentTime?suspendedLanes:0,root.cancelPendingCommit!==null||root.timeoutHandle!==noTimeout),pingedLanes=root.callbackNode,suspendedLanes===0||root===currentTime&&(workInProgressSuspendedReason===2||workInProgressSuspendedReason===9)||root.cancelPendingCommit!==null)return pingedLanes!==null&&pingedLanes!==null&&cancelCallback$1(pingedLanes),root.callbackNode=null,root.callbackPriority=0;if((suspendedLanes&3)===0||checkIfRootIsPrerendering(root,suspendedLanes)){if(currentTime=suspendedLanes&-suspendedLanes,currentTime===root.callbackPriority)return currentTime;switch(pingedLanes!==null&&cancelCallback$1(pingedLanes),lanesToEventPriority(suspendedLanes)){case 2:case 8:suspendedLanes=UserBlockingPriority;break;case 32:suspendedLanes=NormalPriority$1;break;case 268435456:suspendedLanes=IdlePriority;break;default:suspendedLanes=NormalPriority$1}return pingedLanes=performWorkOnRootViaSchedulerTask.bind(null,root),suspendedLanes=scheduleCallback$3(suspendedLanes,pingedLanes),root.callbackPriority=currentTime,root.callbackNode=suspendedLanes,currentTime}return pingedLanes!==null&&pingedLanes!==null&&cancelCallback$1(pingedLanes),root.callbackPriority=2,root.callbackNode=null,2}function performWorkOnRootViaSchedulerTask(root,didTimeout){if(pendingEffectsStatus!==0&&pendingEffectsStatus!==5)return root.callbackNode=null,root.callbackPriority=0,null;var originalCallbackNode=root.callbackNode;if(flushPendingEffects(!0)&&root.callbackNode!==originalCallbackNode)return null;var workInProgressRootRenderLanes$jscomp$0=workInProgressRootRenderLanes;if(workInProgressRootRenderLanes$jscomp$0=getNextLanes(root,root===workInProgressRoot?workInProgressRootRenderLanes$jscomp$0:0,root.cancelPendingCommit!==null||root.timeoutHandle!==noTimeout),workInProgressRootRenderLanes$jscomp$0===0)return null;return performWorkOnRoot(root,workInProgressRootRenderLanes$jscomp$0,didTimeout),scheduleTaskForRootDuringMicrotask(root,now()),root.callbackNode!=null&&root.callbackNode===originalCallbackNode?performWorkOnRootViaSchedulerTask.bind(null,root):null}function performSyncWorkOnRoot(root,lanes){if(flushPendingEffects())return null;performWorkOnRoot(root,lanes,!0)}function scheduleImmediateRootScheduleTask(){supportsMicrotasks?scheduleMicrotask(function(){(executionContext&6)!==0?scheduleCallback$3(ImmediatePriority,processRootScheduleInImmediateTask):processRootScheduleInMicrotask()}):scheduleCallback$3(ImmediatePriority,processRootScheduleInImmediateTask)}function requestTransitionLane(){return currentEventTransitionLane===0&&(currentEventTransitionLane=claimNextTransitionLane()),currentEventTransitionLane}function entangleAsyncAction(transition,thenable){if(currentEntangledListeners===null){var entangledListeners=currentEntangledListeners=[];currentEntangledPendingCount=0,currentEntangledLane=requestTransitionLane(),currentEntangledActionThenable={status:"pending",value:void 0,then:function(resolve4){entangledListeners.push(resolve4)}}}return currentEntangledPendingCount++,thenable.then(pingEngtangledActionScope,pingEngtangledActionScope),thenable}function pingEngtangledActionScope(){if(--currentEntangledPendingCount===0&&currentEntangledListeners!==null){currentEntangledActionThenable!==null&&(currentEntangledActionThenable.status="fulfilled");var listeners=currentEntangledListeners;currentEntangledListeners=null,currentEntangledLane=0,currentEntangledActionThenable=null;for(var i=0;i<listeners.length;i++)(0,listeners[i])()}}function chainThenableValue(thenable,result){var listeners=[],thenableWithOverride={status:"pending",value:null,reason:null,then:function(resolve4){listeners.push(resolve4)}};return thenable.then(function(){thenableWithOverride.status="fulfilled",thenableWithOverride.value=result;for(var i=0;i<listeners.length;i++)(0,listeners[i])(result)},function(error){thenableWithOverride.status="rejected",thenableWithOverride.reason=error;for(error=0;error<listeners.length;error++)(0,listeners[error])(void 0)}),thenableWithOverride}function peekCacheFromPool(){var cacheResumedFromPreviousRender=resumedCache.current;return cacheResumedFromPreviousRender!==null?cacheResumedFromPreviousRender:workInProgressRoot.pooledCache}function pushTransition(offscreenWorkInProgress,prevCachePool){prevCachePool===null?push2(resumedCache,resumedCache.current):push2(resumedCache,prevCachePool.pool)}function getSuspendedCache(){var cacheFromPool=peekCacheFromPool();return cacheFromPool===null?null:{parent:isPrimaryRenderer?CacheContext._currentValue:CacheContext._currentValue2,pool:cacheFromPool}}function shallowEqual(objA,objB){if(objectIs(objA,objB))return!0;if(typeof objA!=="object"||objA===null||typeof objB!=="object"||objB===null)return!1;var keysA=Object.keys(objA),keysB=Object.keys(objB);if(keysA.length!==keysB.length)return!1;for(keysB=0;keysB<keysA.length;keysB++){var currentKey=keysA[keysB];if(!hasOwnProperty.call(objB,currentKey)||!objectIs(objA[currentKey],objB[currentKey]))return!1}return!0}function isThenableResolved(thenable){return thenable=thenable.status,thenable==="fulfilled"||thenable==="rejected"}function noop$1(){}function trackUsedThenable(thenableState2,thenable,index){switch(index=thenableState2[index],index===void 0?thenableState2.push(thenable):index!==thenable&&(thenable.then(noop$1,noop$1),thenable=index),thenable.status){case"fulfilled":return thenable.value;case"rejected":throw thenableState2=thenable.reason,checkIfUseWrappedInAsyncCatch(thenableState2),thenableState2;default:if(typeof thenable.status==="string")thenable.then(noop$1,noop$1);else{if(thenableState2=workInProgressRoot,thenableState2!==null&&100<thenableState2.shellSuspendCounter)throw Error(formatProdErrorMessage(482));thenableState2=thenable,thenableState2.status="pending",thenableState2.then(function(fulfilledValue){if(thenable.status==="pending"){var fulfilledThenable=thenable;fulfilledThenable.status="fulfilled",fulfilledThenable.value=fulfilledValue}},function(error){if(thenable.status==="pending"){var rejectedThenable=thenable;rejectedThenable.status="rejected",rejectedThenable.reason=error}})}switch(thenable.status){case"fulfilled":return thenable.value;case"rejected":throw thenableState2=thenable.reason,checkIfUseWrappedInAsyncCatch(thenableState2),thenableState2}throw suspendedThenable=thenable,SuspenseException}}function getSuspendedThenable(){if(suspendedThenable===null)throw Error(formatProdErrorMessage(459));var thenable=suspendedThenable;return suspendedThenable=null,thenable}function checkIfUseWrappedInAsyncCatch(rejectedReason){if(rejectedReason===SuspenseException||rejectedReason===SuspenseActionException)throw Error(formatProdErrorMessage(483))}function finishQueueingConcurrentUpdates(){for(var endIndex=concurrentQueuesIndex,i=concurrentlyUpdatedLanes=concurrentQueuesIndex=0;i<endIndex;){var fiber=concurrentQueues[i];concurrentQueues[i++]=null;var queue=concurrentQueues[i];concurrentQueues[i++]=null;var update=concurrentQueues[i];concurrentQueues[i++]=null;var lane=concurrentQueues[i];if(concurrentQueues[i++]=null,queue!==null&&update!==null){var pending=queue.pending;pending===null?update.next=update:(update.next=pending.next,pending.next=update),queue.pending=update}lane!==0&&markUpdateLaneFromFiberToRoot(fiber,update,lane)}}function enqueueUpdate$1(fiber,queue,update,lane){concurrentQueues[concurrentQueuesIndex++]=fiber,concurrentQueues[concurrentQueuesIndex++]=queue,concurrentQueues[concurrentQueuesIndex++]=update,concurrentQueues[concurrentQueuesIndex++]=lane,concurrentlyUpdatedLanes|=lane,fiber.lanes|=lane,fiber=fiber.alternate,fiber!==null&&(fiber.lanes|=lane)}function enqueueConcurrentHookUpdate(fiber,queue,update,lane){return enqueueUpdate$1(fiber,queue,update,lane),getRootForUpdatedFiber(fiber)}function enqueueConcurrentRenderForLane(fiber,lane){return enqueueUpdate$1(fiber,null,null,lane),getRootForUpdatedFiber(fiber)}function markUpdateLaneFromFiberToRoot(sourceFiber,update,lane){sourceFiber.lanes|=lane;var alternate=sourceFiber.alternate;alternate!==null&&(alternate.lanes|=lane);for(var isHidden=!1,parent=sourceFiber.return;parent!==null;)parent.childLanes|=lane,alternate=parent.alternate,alternate!==null&&(alternate.childLanes|=lane),parent.tag===22&&(sourceFiber=parent.stateNode,sourceFiber===null||sourceFiber._visibility&1||(isHidden=!0)),sourceFiber=parent,parent=parent.return;return sourceFiber.tag===3?(parent=sourceFiber.stateNode,isHidden&&update!==null&&(isHidden=31-clz32(lane),sourceFiber=parent.hiddenUpdates,alternate=sourceFiber[isHidden],alternate===null?sourceFiber[isHidden]=[update]:alternate.push(update),update.lane=lane|536870912),parent):null}function getRootForUpdatedFiber(sourceFiber){if(50<nestedUpdateCount)throw nestedUpdateCount=0,rootWithNestedUpdates=null,Error(formatProdErrorMessage(185));for(var parent=sourceFiber.return;parent!==null;)sourceFiber=parent,parent=sourceFiber.return;return sourceFiber.tag===3?sourceFiber.stateNode:null}function initializeUpdateQueue(fiber){fiber.updateQueue={baseState:fiber.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function cloneUpdateQueue(current,workInProgress2){current=current.updateQueue,workInProgress2.updateQueue===current&&(workInProgress2.updateQueue={baseState:current.baseState,firstBaseUpdate:current.firstBaseUpdate,lastBaseUpdate:current.lastBaseUpdate,shared:current.shared,callbacks:null})}function createUpdate(lane){return{lane,tag:0,payload:null,callback:null,next:null}}function enqueueUpdate(fiber,update,lane){var updateQueue=fiber.updateQueue;if(updateQueue===null)return null;if(updateQueue=updateQueue.shared,(executionContext&2)!==0){var pending=updateQueue.pending;return pending===null?update.next=update:(update.next=pending.next,pending.next=update),updateQueue.pending=update,update=getRootForUpdatedFiber(fiber),markUpdateLaneFromFiberToRoot(fiber,null,lane),update}return enqueueUpdate$1(fiber,updateQueue,update,lane),getRootForUpdatedFiber(fiber)}function entangleTransitions(root,fiber,lane){if(fiber=fiber.updateQueue,fiber!==null&&(fiber=fiber.shared,(lane&4194048)!==0)){var queueLanes=fiber.lanes;queueLanes&=root.pendingLanes,lane|=queueLanes,fiber.lanes=lane,markRootEntangled(root,lane)}}function enqueueCapturedUpdate(workInProgress2,capturedUpdate){var{updateQueue:queue,alternate:current}=workInProgress2;if(current!==null&&(current=current.updateQueue,queue===current)){var newFirst=null,newLast=null;if(queue=queue.firstBaseUpdate,queue!==null){do{var clone={lane:queue.lane,tag:queue.tag,payload:queue.payload,callback:null,next:null};newLast===null?newFirst=newLast=clone:newLast=newLast.next=clone,queue=queue.next}while(queue!==null);newLast===null?newFirst=newLast=capturedUpdate:newLast=newLast.next=capturedUpdate}else newFirst=newLast=capturedUpdate;queue={baseState:current.baseState,firstBaseUpdate:newFirst,lastBaseUpdate:newLast,shared:current.shared,callbacks:current.callbacks},workInProgress2.updateQueue=queue;return}workInProgress2=queue.lastBaseUpdate,workInProgress2===null?queue.firstBaseUpdate=capturedUpdate:workInProgress2.next=capturedUpdate,queue.lastBaseUpdate=capturedUpdate}function suspendIfUpdateReadFromEntangledAsyncAction(){if(didReadFromEntangledAsyncAction){var entangledActionThenable=currentEntangledActionThenable;if(entangledActionThenable!==null)throw entangledActionThenable}}function processUpdateQueue(workInProgress$jscomp$0,props,instance$jscomp$0,renderLanes2){didReadFromEntangledAsyncAction=!1;var queue=workInProgress$jscomp$0.updateQueue;hasForceUpdate=!1;var{firstBaseUpdate,lastBaseUpdate}=queue,pendingQueue=queue.shared.pending;if(pendingQueue!==null){queue.shared.pending=null;var lastPendingUpdate=pendingQueue,firstPendingUpdate=lastPendingUpdate.next;lastPendingUpdate.next=null,lastBaseUpdate===null?firstBaseUpdate=firstPendingUpdate:lastBaseUpdate.next=firstPendingUpdate,lastBaseUpdate=lastPendingUpdate;var current=workInProgress$jscomp$0.alternate;current!==null&&(current=current.updateQueue,pendingQueue=current.lastBaseUpdate,pendingQueue!==lastBaseUpdate&&(pendingQueue===null?current.firstBaseUpdate=firstPendingUpdate:pendingQueue.next=firstPendingUpdate,current.lastBaseUpdate=lastPendingUpdate))}if(firstBaseUpdate!==null){var newState=queue.baseState;lastBaseUpdate=0,current=firstPendingUpdate=lastPendingUpdate=null,pendingQueue=firstBaseUpdate;do{var updateLane=pendingQueue.lane&-536870913,isHiddenUpdate=updateLane!==pendingQueue.lane;if(isHiddenUpdate?(workInProgressRootRenderLanes&updateLane)===updateLane:(renderLanes2&updateLane)===updateLane){updateLane!==0&&updateLane===currentEntangledLane&&(didReadFromEntangledAsyncAction=!0),current!==null&&(current=current.next={lane:0,tag:pendingQueue.tag,payload:pendingQueue.payload,callback:null,next:null});a:{var workInProgress2=workInProgress$jscomp$0,update=pendingQueue;updateLane=props;var instance=instance$jscomp$0;switch(update.tag){case 1:if(workInProgress2=update.payload,typeof workInProgress2==="function"){newState=workInProgress2.call(instance,newState,updateLane);break a}newState=workInProgress2;break a;case 3:workInProgress2.flags=workInProgress2.flags&-65537|128;case 0:if(workInProgress2=update.payload,updateLane=typeof workInProgress2==="function"?workInProgress2.call(instance,newState,updateLane):workInProgress2,updateLane===null||updateLane===void 0)break a;newState=assign({},newState,updateLane);break a;case 2:hasForceUpdate=!0}}updateLane=pendingQueue.callback,updateLane!==null&&(workInProgress$jscomp$0.flags|=64,isHiddenUpdate&&(workInProgress$jscomp$0.flags|=8192),isHiddenUpdate=queue.callbacks,isHiddenUpdate===null?queue.callbacks=[updateLane]:isHiddenUpdate.push(updateLane))}else isHiddenUpdate={lane:updateLane,tag:pendingQueue.tag,payload:pendingQueue.payload,callback:pendingQueue.callback,next:null},current===null?(firstPendingUpdate=current=isHiddenUpdate,lastPendingUpdate=newState):current=current.next=isHiddenUpdate,lastBaseUpdate|=updateLane;if(pendingQueue=pendingQueue.next,pendingQueue===null)if(pendingQueue=queue.shared.pending,pendingQueue===null)break;else isHiddenUpdate=pendingQueue,pendingQueue=isHiddenUpdate.next,isHiddenUpdate.next=null,queue.lastBaseUpdate=isHiddenUpdate,queue.shared.pending=null}while(1);current===null&&(lastPendingUpdate=newState),queue.baseState=lastPendingUpdate,queue.firstBaseUpdate=firstPendingUpdate,queue.lastBaseUpdate=current,firstBaseUpdate===null&&(queue.shared.lanes=0),workInProgressRootSkippedLanes|=lastBaseUpdate,workInProgress$jscomp$0.lanes=lastBaseUpdate,workInProgress$jscomp$0.memoizedState=newState}}function callCallback(callback,context){if(typeof callback!=="function")throw Error(formatProdErrorMessage(191,callback));callback.call(context)}function commitCallbacks(updateQueue,context){var callbacks=updateQueue.callbacks;if(callbacks!==null)for(updateQueue.callbacks=null,updateQueue=0;updateQueue<callbacks.length;updateQueue++)callCallback(callbacks[updateQueue],context)}function pushHiddenContext(fiber,context){fiber=entangledRenderLanes,push2(prevEntangledRenderLanesCursor,fiber),push2(currentTreeHiddenStackCursor,context),entangledRenderLanes=fiber|context.baseLanes}function reuseHiddenContextOnStack(){push2(prevEntangledRenderLanesCursor,entangledRenderLanes),push2(currentTreeHiddenStackCursor,currentTreeHiddenStackCursor.current)}function popHiddenContext(){entangledRenderLanes=prevEntangledRenderLanesCursor.current,pop2(currentTreeHiddenStackCursor),pop2(prevEntangledRenderLanesCursor)}function throwInvalidHookError(){throw Error(formatProdErrorMessage(321))}function areHookInputsEqual(nextDeps,prevDeps){if(prevDeps===null)return!1;for(var i=0;i<prevDeps.length&&i<nextDeps.length;i++)if(!objectIs(nextDeps[i],prevDeps[i]))return!1;return!0}function renderWithHooks(current,workInProgress2,Component,props,secondArg,nextRenderLanes){return renderLanes=nextRenderLanes,currentlyRenderingFiber=workInProgress2,workInProgress2.memoizedState=null,workInProgress2.updateQueue=null,workInProgress2.lanes=0,ReactSharedInternals.H=current===null||current.memoizedState===null?HooksDispatcherOnMount:HooksDispatcherOnUpdate,shouldDoubleInvokeUserFnsInHooksDEV=!1,nextRenderLanes=Component(props,secondArg),shouldDoubleInvokeUserFnsInHooksDEV=!1,didScheduleRenderPhaseUpdateDuringThisPass&&(nextRenderLanes=renderWithHooksAgain(workInProgress2,Component,props,secondArg)),finishRenderingHooks(current),nextRenderLanes}function finishRenderingHooks(current){ReactSharedInternals.H=ContextOnlyDispatcher;var didRenderTooFewHooks=currentHook!==null&&currentHook.next!==null;if(renderLanes=0,workInProgressHook=currentHook=currentlyRenderingFiber=null,didScheduleRenderPhaseUpdate=!1,thenableIndexCounter$1=0,thenableState$1=null,didRenderTooFewHooks)throw Error(formatProdErrorMessage(300));current===null||didReceiveUpdate||(current=current.dependencies,current!==null&&checkIfContextChanged(current)&&(didReceiveUpdate=!0))}function renderWithHooksAgain(workInProgress2,Component,props,secondArg){currentlyRenderingFiber=workInProgress2;var numberOfReRenders=0;do{if(didScheduleRenderPhaseUpdateDuringThisPass&&(thenableState$1=null),thenableIndexCounter$1=0,didScheduleRenderPhaseUpdateDuringThisPass=!1,25<=numberOfReRenders)throw Error(formatProdErrorMessage(301));if(numberOfReRenders+=1,workInProgressHook=currentHook=null,workInProgress2.updateQueue!=null){var children=workInProgress2.updateQueue;children.lastEffect=null,children.events=null,children.stores=null,children.memoCache!=null&&(children.memoCache.index=0)}ReactSharedInternals.H=HooksDispatcherOnRerender,children=Component(props,secondArg)}while(didScheduleRenderPhaseUpdateDuringThisPass);return children}function TransitionAwareHostComponent(){var dispatcher=ReactSharedInternals.H,maybeThenable=dispatcher.useState()[0];return maybeThenable=typeof maybeThenable.then==="function"?useThenable(maybeThenable):maybeThenable,dispatcher=dispatcher.useState()[0],(currentHook!==null?currentHook.memoizedState:null)!==dispatcher&&(currentlyRenderingFiber.flags|=1024),maybeThenable}function checkDidRenderIdHook(){var didRenderIdHook=localIdCounter!==0;return localIdCounter=0,didRenderIdHook}function bailoutHooks(current,workInProgress2,lanes){workInProgress2.updateQueue=current.updateQueue,workInProgress2.flags&=-2053,current.lanes&=~lanes}function resetHooksOnUnwind(workInProgress2){if(didScheduleRenderPhaseUpdate){for(workInProgress2=workInProgress2.memoizedState;workInProgress2!==null;){var queue=workInProgress2.queue;queue!==null&&(queue.pending=null),workInProgress2=workInProgress2.next}didScheduleRenderPhaseUpdate=!1}renderLanes=0,workInProgressHook=currentHook=currentlyRenderingFiber=null,didScheduleRenderPhaseUpdateDuringThisPass=!1,thenableIndexCounter$1=localIdCounter=0,thenableState$1=null}function mountWorkInProgressHook(){var hook={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return workInProgressHook===null?currentlyRenderingFiber.memoizedState=workInProgressHook=hook:workInProgressHook=workInProgressHook.next=hook,workInProgressHook}function updateWorkInProgressHook(){if(currentHook===null){var nextCurrentHook=currentlyRenderingFiber.alternate;nextCurrentHook=nextCurrentHook!==null?nextCurrentHook.memoizedState:null}else nextCurrentHook=currentHook.next;var nextWorkInProgressHook=workInProgressHook===null?currentlyRenderingFiber.memoizedState:workInProgressHook.next;if(nextWorkInProgressHook!==null)workInProgressHook=nextWorkInProgressHook,currentHook=nextCurrentHook;else{if(nextCurrentHook===null){if(currentlyRenderingFiber.alternate===null)throw Error(formatProdErrorMessage(467));throw Error(formatProdErrorMessage(310))}currentHook=nextCurrentHook,nextCurrentHook={memoizedState:currentHook.memoizedState,baseState:currentHook.baseState,baseQueue:currentHook.baseQueue,queue:currentHook.queue,next:null},workInProgressHook===null?currentlyRenderingFiber.memoizedState=workInProgressHook=nextCurrentHook:workInProgressHook=workInProgressHook.next=nextCurrentHook}return workInProgressHook}function createFunctionComponentUpdateQueue(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function useThenable(thenable){var index=thenableIndexCounter$1;return thenableIndexCounter$1+=1,thenableState$1===null&&(thenableState$1=[]),thenable=trackUsedThenable(thenableState$1,thenable,index),index=currentlyRenderingFiber,(workInProgressHook===null?index.memoizedState:workInProgressHook.next)===null&&(index=index.alternate,ReactSharedInternals.H=index===null||index.memoizedState===null?HooksDispatcherOnMount:HooksDispatcherOnUpdate),thenable}function use(usable){if(usable!==null&&typeof usable==="object"){if(typeof usable.then==="function")return useThenable(usable);if(usable.$$typeof===REACT_CONTEXT_TYPE)return readContext(usable)}throw Error(formatProdErrorMessage(438,String(usable)))}function useMemoCache(size){var memoCache=null,updateQueue=currentlyRenderingFiber.updateQueue;if(updateQueue!==null&&(memoCache=updateQueue.memoCache),memoCache==null){var current=currentlyRenderingFiber.alternate;current!==null&&(current=current.updateQueue,current!==null&&(current=current.memoCache,current!=null&&(memoCache={data:current.data.map(function(array){return array.slice()}),index:0})))}if(memoCache==null&&(memoCache={data:[],index:0}),updateQueue===null&&(updateQueue=createFunctionComponentUpdateQueue(),currentlyRenderingFiber.updateQueue=updateQueue),updateQueue.memoCache=memoCache,updateQueue=memoCache.data[memoCache.index],updateQueue===void 0)for(updateQueue=memoCache.data[memoCache.index]=Array(size),current=0;current<size;current++)updateQueue[current]=REACT_MEMO_CACHE_SENTINEL;return memoCache.index++,updateQueue}function basicStateReducer(state,action){return typeof action==="function"?action(state):action}function updateReducer(reducer){var hook=updateWorkInProgressHook();return updateReducerImpl(hook,currentHook,reducer)}function updateReducerImpl(hook,current,reducer){var queue=hook.queue;if(queue===null)throw Error(formatProdErrorMessage(311));queue.lastRenderedReducer=reducer;var baseQueue=hook.baseQueue,pendingQueue=queue.pending;if(pendingQueue!==null){if(baseQueue!==null){var baseFirst=baseQueue.next;baseQueue.next=pendingQueue.next,pendingQueue.next=baseFirst}current.baseQueue=baseQueue=pendingQueue,queue.pending=null}if(pendingQueue=hook.baseState,baseQueue===null)hook.memoizedState=pendingQueue;else{current=baseQueue.next;var newBaseQueueFirst=baseFirst=null,newBaseQueueLast=null,update=current,didReadFromEntangledAsyncAction$23=!1;do{var updateLane=update.lane&-536870913;if(updateLane!==update.lane?(workInProgressRootRenderLanes&updateLane)===updateLane:(renderLanes&updateLane)===updateLane){var revertLane=update.revertLane;if(revertLane===0)newBaseQueueLast!==null&&(newBaseQueueLast=newBaseQueueLast.next={lane:0,revertLane:0,action:update.action,hasEagerState:update.hasEagerState,eagerState:update.eagerState,next:null}),updateLane===currentEntangledLane&&(didReadFromEntangledAsyncAction$23=!0);else if((renderLanes&revertLane)===revertLane){update=update.next,revertLane===currentEntangledLane&&(didReadFromEntangledAsyncAction$23=!0);continue}else updateLane={lane:0,revertLane:update.revertLane,action:update.action,hasEagerState:update.hasEagerState,eagerState:update.eagerState,next:null},newBaseQueueLast===null?(newBaseQueueFirst=newBaseQueueLast=updateLane,baseFirst=pendingQueue):newBaseQueueLast=newBaseQueueLast.next=updateLane,currentlyRenderingFiber.lanes|=revertLane,workInProgressRootSkippedLanes|=revertLane;updateLane=update.action,shouldDoubleInvokeUserFnsInHooksDEV&&reducer(pendingQueue,updateLane),pendingQueue=update.hasEagerState?update.eagerState:reducer(pendingQueue,updateLane)}else revertLane={lane:updateLane,revertLane:update.revertLane,action:update.action,hasEagerState:update.hasEagerState,eagerState:update.eagerState,next:null},newBaseQueueLast===null?(newBaseQueueFirst=newBaseQueueLast=revertLane,baseFirst=pendingQueue):newBaseQueueLast=newBaseQueueLast.next=revertLane,currentlyRenderingFiber.lanes|=updateLane,workInProgressRootSkippedLanes|=updateLane;update=update.next}while(update!==null&&update!==current);if(newBaseQueueLast===null?baseFirst=pendingQueue:newBaseQueueLast.next=newBaseQueueFirst,!objectIs(pendingQueue,hook.memoizedState)&&(didReceiveUpdate=!0,didReadFromEntangledAsyncAction$23&&(reducer=currentEntangledActionThenable,reducer!==null)))throw reducer;hook.memoizedState=pendingQueue,hook.baseState=baseFirst,hook.baseQueue=newBaseQueueLast,queue.lastRenderedState=pendingQueue}return baseQueue===null&&(queue.lanes=0),[hook.memoizedState,queue.dispatch]}function rerenderReducer(reducer){var hook=updateWorkInProgressHook(),queue=hook.queue;if(queue===null)throw Error(formatProdErrorMessage(311));queue.lastRenderedReducer=reducer;var{dispatch,pending:lastRenderPhaseUpdate}=queue,newState=hook.memoizedState;if(lastRenderPhaseUpdate!==null){queue.pending=null;var update=lastRenderPhaseUpdate=lastRenderPhaseUpdate.next;do newState=reducer(newState,update.action),update=update.next;while(update!==lastRenderPhaseUpdate);objectIs(newState,hook.memoizedState)||(didReceiveUpdate=!0),hook.memoizedState=newState,hook.baseQueue===null&&(hook.baseState=newState),queue.lastRenderedState=newState}return[newState,dispatch]}function updateSyncExternalStore(subscribe,getSnapshot,getServerSnapshot){var fiber=currentlyRenderingFiber,hook=updateWorkInProgressHook(),isHydrating$jscomp$0=isHydrating;if(isHydrating$jscomp$0){if(getServerSnapshot===void 0)throw Error(formatProdErrorMessage(407));getServerSnapshot=getServerSnapshot()}else getServerSnapshot=getSnapshot();var snapshotChanged=!objectIs((currentHook||hook).memoizedState,getServerSnapshot);snapshotChanged&&(hook.memoizedState=getServerSnapshot,didReceiveUpdate=!0),hook=hook.queue;var create=subscribeToStore.bind(null,fiber,hook,subscribe);if(updateEffectImpl(2048,8,create,[subscribe]),hook.getSnapshot!==getSnapshot||snapshotChanged||workInProgressHook!==null&&workInProgressHook.memoizedState.tag&1){if(fiber.flags|=2048,pushSimpleEffect(9,createEffectInstance(),updateStoreInstance.bind(null,fiber,hook,getServerSnapshot,getSnapshot),null),workInProgressRoot===null)throw Error(formatProdErrorMessage(349));isHydrating$jscomp$0||(renderLanes&124)!==0||pushStoreConsistencyCheck(fiber,getSnapshot,getServerSnapshot)}return getServerSnapshot}function pushStoreConsistencyCheck(fiber,getSnapshot,renderedSnapshot){fiber.flags|=16384,fiber={getSnapshot,value:renderedSnapshot},getSnapshot=currentlyRenderingFiber.updateQueue,getSnapshot===null?(getSnapshot=createFunctionComponentUpdateQueue(),currentlyRenderingFiber.updateQueue=getSnapshot,getSnapshot.stores=[fiber]):(renderedSnapshot=getSnapshot.stores,renderedSnapshot===null?getSnapshot.stores=[fiber]:renderedSnapshot.push(fiber))}function updateStoreInstance(fiber,inst,nextSnapshot,getSnapshot){inst.value=nextSnapshot,inst.getSnapshot=getSnapshot,checkIfSnapshotChanged(inst)&&forceStoreRerender(fiber)}function subscribeToStore(fiber,inst,subscribe){return subscribe(function(){checkIfSnapshotChanged(inst)&&forceStoreRerender(fiber)})}function checkIfSnapshotChanged(inst){var latestGetSnapshot=inst.getSnapshot;inst=inst.value;try{var nextValue=latestGetSnapshot();return!objectIs(inst,nextValue)}catch(error){return!0}}function forceStoreRerender(fiber){var root=enqueueConcurrentRenderForLane(fiber,2);root!==null&&scheduleUpdateOnFiber(root,fiber,2)}function mountStateImpl(initialState){var hook=mountWorkInProgressHook();if(typeof initialState==="function"){var initialStateInitializer=initialState;if(initialState=initialStateInitializer(),shouldDoubleInvokeUserFnsInHooksDEV){setIsStrictModeForDevtools(!0);try{initialStateInitializer()}finally{setIsStrictModeForDevtools(!1)}}}return hook.memoizedState=hook.baseState=initialState,hook.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:basicStateReducer,lastRenderedState:initialState},hook}function updateOptimisticImpl(hook,current,passthrough,reducer){return hook.baseState=passthrough,updateReducerImpl(hook,currentHook,typeof reducer==="function"?reducer:basicStateReducer)}function dispatchActionState(fiber,actionQueue,setPendingState,setState,payload){if(isRenderPhaseUpdate(fiber))throw Error(formatProdErrorMessage(485));if(fiber=actionQueue.action,fiber!==null){var actionNode={payload,action:fiber,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(listener){actionNode.listeners.push(listener)}};ReactSharedInternals.T!==null?setPendingState(!0):actionNode.isTransition=!1,setState(actionNode),setPendingState=actionQueue.pending,setPendingState===null?(actionNode.next=actionQueue.pending=actionNode,runActionStateAction(actionQueue,actionNode)):(actionNode.next=setPendingState.next,actionQueue.pending=setPendingState.next=actionNode)}}function runActionStateAction(actionQueue,node){var{action,payload}=node,prevState=actionQueue.state;if(node.isTransition){var prevTransition=ReactSharedInternals.T,currentTransition={};ReactSharedInternals.T=currentTransition;try{var returnValue=action(prevState,payload),onStartTransitionFinish=ReactSharedInternals.S;onStartTransitionFinish!==null&&onStartTransitionFinish(currentTransition,returnValue),handleActionReturnValue(actionQueue,node,returnValue)}catch(error){onActionError(actionQueue,node,error)}finally{ReactSharedInternals.T=prevTransition}}else try{prevTransition=action(prevState,payload),handleActionReturnValue(actionQueue,node,prevTransition)}catch(error$27){onActionError(actionQueue,node,error$27)}}function handleActionReturnValue(actionQueue,node,returnValue){returnValue!==null&&typeof returnValue==="object"&&typeof returnValue.then==="function"?returnValue.then(function(nextState){onActionSuccess(actionQueue,node,nextState)},function(error){return onActionError(actionQueue,node,error)}):onActionSuccess(actionQueue,node,returnValue)}function onActionSuccess(actionQueue,actionNode,nextState){actionNode.status="fulfilled",actionNode.value=nextState,notifyActionListeners(actionNode),actionQueue.state=nextState,actionNode=actionQueue.pending,actionNode!==null&&(nextState=actionNode.next,nextState===actionNode?actionQueue.pending=null:(nextState=nextState.next,actionNode.next=nextState,runActionStateAction(actionQueue,nextState)))}function onActionError(actionQueue,actionNode,error){var last=actionQueue.pending;if(actionQueue.pending=null,last!==null){last=last.next;do actionNode.status="rejected",actionNode.reason=error,notifyActionListeners(actionNode),actionNode=actionNode.next;while(actionNode!==last)}actionQueue.action=null}function notifyActionListeners(actionNode){actionNode=actionNode.listeners;for(var i=0;i<actionNode.length;i++)(0,actionNode[i])()}function actionStateReducer(oldState,newState){return newState}function mountActionState(action,initialStateProp){if(isHydrating){var ssrFormState=workInProgressRoot.formState;if(ssrFormState!==null){a:{var JSCompiler_inline_result=currentlyRenderingFiber;if(isHydrating){if(nextHydratableInstance){var markerInstance=canHydrateFormStateMarker(nextHydratableInstance,rootOrSingletonContext);if(markerInstance){nextHydratableInstance=getNextHydratableSibling(markerInstance),JSCompiler_inline_result=isFormStateMarkerMatching(markerInstance);break a}}throwOnHydrationMismatch(JSCompiler_inline_result)}JSCompiler_inline_result=!1}JSCompiler_inline_result&&(initialStateProp=ssrFormState[0])}}ssrFormState=mountWorkInProgressHook(),ssrFormState.memoizedState=ssrFormState.baseState=initialStateProp,JSCompiler_inline_result={pending:null,lanes:0,dispatch:null,lastRenderedReducer:actionStateReducer,lastRenderedState:initialStateProp},ssrFormState.queue=JSCompiler_inline_result,ssrFormState=dispatchSetState.bind(null,currentlyRenderingFiber,JSCompiler_inline_result),JSCompiler_inline_result.dispatch=ssrFormState,JSCompiler_inline_result=mountStateImpl(!1);var setPendingState=dispatchOptimisticSetState.bind(null,currentlyRenderingFiber,!1,JSCompiler_inline_result.queue);return JSCompiler_inline_result=mountWorkInProgressHook(),markerInstance={state:initialStateProp,dispatch:null,action,pending:null},JSCompiler_inline_result.queue=markerInstance,ssrFormState=dispatchActionState.bind(null,currentlyRenderingFiber,markerInstance,setPendingState,ssrFormState),markerInstance.dispatch=ssrFormState,JSCompiler_inline_result.memoizedState=action,[initialStateProp,ssrFormState,!1]}function updateActionState(action){var stateHook=updateWorkInProgressHook();return updateActionStateImpl(stateHook,currentHook,action)}function updateActionStateImpl(stateHook,currentStateHook,action){if(currentStateHook=updateReducerImpl(stateHook,currentStateHook,actionStateReducer)[0],stateHook=updateReducer(basicStateReducer)[0],typeof currentStateHook==="object"&&currentStateHook!==null&&typeof currentStateHook.then==="function")try{var state=useThenable(currentStateHook)}catch(x2){if(x2===SuspenseException)throw SuspenseActionException;throw x2}else state=currentStateHook;currentStateHook=updateWorkInProgressHook();var actionQueue=currentStateHook.queue,dispatch=actionQueue.dispatch;return action!==currentStateHook.memoizedState&&(currentlyRenderingFiber.flags|=2048,pushSimpleEffect(9,createEffectInstance(),actionStateActionEffect.bind(null,actionQueue,action),null)),[state,dispatch,stateHook]}function actionStateActionEffect(actionQueue,action){actionQueue.action=action}function rerenderActionState(action){var stateHook=updateWorkInProgressHook(),currentStateHook=currentHook;if(currentStateHook!==null)return updateActionStateImpl(stateHook,currentStateHook,action);updateWorkInProgressHook(),stateHook=stateHook.memoizedState,currentStateHook=updateWorkInProgressHook();var dispatch=currentStateHook.queue.dispatch;return currentStateHook.memoizedState=action,[stateHook,dispatch,!1]}function pushSimpleEffect(tag,inst,create,createDeps){return tag={tag,create,deps:createDeps,inst,next:null},inst=currentlyRenderingFiber.updateQueue,inst===null&&(inst=createFunctionComponentUpdateQueue(),currentlyRenderingFiber.updateQueue=inst),create=inst.lastEffect,create===null?inst.lastEffect=tag.next=tag:(createDeps=create.next,create.next=tag,tag.next=createDeps,inst.lastEffect=tag),tag}function createEffectInstance(){return{destroy:void 0,resource:void 0}}function updateRef(){return updateWorkInProgressHook().memoizedState}function mountEffectImpl(fiberFlags,hookFlags,create,createDeps){var hook=mountWorkInProgressHook();createDeps=createDeps===void 0?null:createDeps,currentlyRenderingFiber.flags|=fiberFlags,hook.memoizedState=pushSimpleEffect(1|hookFlags,createEffectInstance(),create,createDeps)}function updateEffectImpl(fiberFlags,hookFlags,create,deps){var hook=updateWorkInProgressHook();deps=deps===void 0?null:deps;var inst=hook.memoizedState.inst;currentHook!==null&&deps!==null&&areHookInputsEqual(deps,currentHook.memoizedState.deps)?hook.memoizedState=pushSimpleEffect(hookFlags,inst,create,deps):(currentlyRenderingFiber.flags|=fiberFlags,hook.memoizedState=pushSimpleEffect(1|hookFlags,inst,create,deps))}function mountEffect(create,createDeps){mountEffectImpl(8390656,8,create,createDeps)}function updateEffect(create,createDeps){updateEffectImpl(2048,8,create,createDeps)}function updateInsertionEffect(create,deps){return updateEffectImpl(4,2,create,deps)}function updateLayoutEffect(create,deps){return updateEffectImpl(4,4,create,deps)}function imperativeHandleEffect(create,ref){if(typeof ref==="function"){create=create();var refCleanup=ref(create);return function(){typeof refCleanup==="function"?refCleanup():ref(null)}}if(ref!==null&&ref!==void 0)return create=create(),ref.current=create,function(){ref.current=null}}function updateImperativeHandle(ref,create,deps){deps=deps!==null&&deps!==void 0?deps.concat([ref]):null,updateEffectImpl(4,4,imperativeHandleEffect.bind(null,create,ref),deps)}function mountDebugValue(){}function updateCallback(callback,deps){var hook=updateWorkInProgressHook();deps=deps===void 0?null:deps;var prevState=hook.memoizedState;if(deps!==null&&areHookInputsEqual(deps,prevState[1]))return prevState[0];return hook.memoizedState=[callback,deps],callback}function updateMemo(nextCreate,deps){var hook=updateWorkInProgressHook();deps=deps===void 0?null:deps;var prevState=hook.memoizedState;if(deps!==null&&areHookInputsEqual(deps,prevState[1]))return prevState[0];if(prevState=nextCreate(),shouldDoubleInvokeUserFnsInHooksDEV){setIsStrictModeForDevtools(!0);try{nextCreate()}finally{setIsStrictModeForDevtools(!1)}}return hook.memoizedState=[prevState,deps],prevState}function mountDeferredValueImpl(hook,value,initialValue){if(initialValue===void 0||(renderLanes&1073741824)!==0)return hook.memoizedState=value;return hook.memoizedState=initialValue,hook=requestDeferredLane(),currentlyRenderingFiber.lanes|=hook,workInProgressRootSkippedLanes|=hook,initialValue}function updateDeferredValueImpl(hook,prevValue,value,initialValue){if(objectIs(value,prevValue))return value;if(currentTreeHiddenStackCursor.current!==null)return hook=mountDeferredValueImpl(hook,value,initialValue),objectIs(hook,prevValue)||(didReceiveUpdate=!0),hook;if((renderLanes&42)===0)return didReceiveUpdate=!0,hook.memoizedState=value;return hook=requestDeferredLane(),currentlyRenderingFiber.lanes|=hook,workInProgressRootSkippedLanes|=hook,prevValue}function startTransition(fiber,queue,pendingState,finishedState,callback){var previousPriority=getCurrentUpdatePriority();setCurrentUpdatePriority(previousPriority!==0&&8>previousPriority?previousPriority:8);var prevTransition=ReactSharedInternals.T,currentTransition={};ReactSharedInternals.T=currentTransition,dispatchOptimisticSetState(fiber,!1,queue,pendingState);try{var returnValue=callback(),onStartTransitionFinish=ReactSharedInternals.S;if(onStartTransitionFinish!==null&&onStartTransitionFinish(currentTransition,returnValue),returnValue!==null&&typeof returnValue==="object"&&typeof returnValue.then==="function"){var thenableForFinishedState=chainThenableValue(returnValue,finishedState);dispatchSetStateInternal(fiber,queue,thenableForFinishedState,requestUpdateLane(fiber))}else dispatchSetStateInternal(fiber,queue,finishedState,requestUpdateLane(fiber))}catch(error){dispatchSetStateInternal(fiber,queue,{then:function(){},status:"rejected",reason:error},requestUpdateLane())}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=prevTransition}}function ensureFormComponentIsStateful(formFiber){var existingStateHook=formFiber.memoizedState;if(existingStateHook!==null)return existingStateHook;existingStateHook={memoizedState:NotPendingTransition,baseState:NotPendingTransition,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:basicStateReducer,lastRenderedState:NotPendingTransition},next:null};var initialResetState={};return existingStateHook.next={memoizedState:initialResetState,baseState:initialResetState,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:basicStateReducer,lastRenderedState:initialResetState},next:null},formFiber.memoizedState=existingStateHook,formFiber=formFiber.alternate,formFiber!==null&&(formFiber.memoizedState=existingStateHook),existingStateHook}function useHostTransitionStatus(){return readContext(HostTransitionContext)}function updateId(){return updateWorkInProgressHook().memoizedState}function updateRefresh(){return updateWorkInProgressHook().memoizedState}function refreshCache(fiber){for(var provider=fiber.return;provider!==null;){switch(provider.tag){case 24:case 3:var lane=requestUpdateLane();fiber=createUpdate(lane);var root=enqueueUpdate(provider,fiber,lane);root!==null&&(scheduleUpdateOnFiber(root,provider,lane),entangleTransitions(root,provider,lane)),provider={cache:createCache()},fiber.payload=provider;return}provider=provider.return}}function dispatchReducerAction(fiber,queue,action){var lane=requestUpdateLane();action={lane,revertLane:0,action,hasEagerState:!1,eagerState:null,next:null},isRenderPhaseUpdate(fiber)?enqueueRenderPhaseUpdate(queue,action):(action=enqueueConcurrentHookUpdate(fiber,queue,action,lane),action!==null&&(scheduleUpdateOnFiber(action,fiber,lane),entangleTransitionUpdate(action,queue,lane)))}function dispatchSetState(fiber,queue,action){var lane=requestUpdateLane();dispatchSetStateInternal(fiber,queue,action,lane)}function dispatchSetStateInternal(fiber,queue,action,lane){var update={lane,revertLane:0,action,hasEagerState:!1,eagerState:null,next:null};if(isRenderPhaseUpdate(fiber))enqueueRenderPhaseUpdate(queue,update);else{var alternate=fiber.alternate;if(fiber.lanes===0&&(alternate===null||alternate.lanes===0)&&(alternate=queue.lastRenderedReducer,alternate!==null))try{var currentState=queue.lastRenderedState,eagerState=alternate(currentState,action);if(update.hasEagerState=!0,update.eagerState=eagerState,objectIs(eagerState,currentState))return enqueueUpdate$1(fiber,queue,update,0),workInProgressRoot===null&&finishQueueingConcurrentUpdates(),!1}catch(error){}finally{}if(action=enqueueConcurrentHookUpdate(fiber,queue,update,lane),action!==null)return scheduleUpdateOnFiber(action,fiber,lane),entangleTransitionUpdate(action,queue,lane),!0}return!1}function dispatchOptimisticSetState(fiber,throwIfDuringRender,queue,action){if(action={lane:2,revertLane:requestTransitionLane(),action,hasEagerState:!1,eagerState:null,next:null},isRenderPhaseUpdate(fiber)){if(throwIfDuringRender)throw Error(formatProdErrorMessage(479))}else throwIfDuringRender=enqueueConcurrentHookUpdate(fiber,queue,action,2),throwIfDuringRender!==null&&scheduleUpdateOnFiber(throwIfDuringRender,fiber,2)}function isRenderPhaseUpdate(fiber){var alternate=fiber.alternate;return fiber===currentlyRenderingFiber||alternate!==null&&alternate===currentlyRenderingFiber}function enqueueRenderPhaseUpdate(queue,update){didScheduleRenderPhaseUpdateDuringThisPass=didScheduleRenderPhaseUpdate=!0;var pending=queue.pending;pending===null?update.next=update:(update.next=pending.next,pending.next=update),queue.pending=update}function entangleTransitionUpdate(root,queue,lane){if((lane&4194048)!==0){var queueLanes=queue.lanes;queueLanes&=root.pendingLanes,lane|=queueLanes,queue.lanes=lane,markRootEntangled(root,lane)}}function unwrapThenable(thenable){var index=thenableIndexCounter;return thenableIndexCounter+=1,thenableState===null&&(thenableState=[]),trackUsedThenable(thenableState,thenable,index)}function coerceRef(workInProgress2,element){element=element.props.ref,workInProgress2.ref=element!==void 0?element:null}function throwOnInvalidObjectType(returnFiber,newChild){if(newChild.$$typeof===REACT_LEGACY_ELEMENT_TYPE)throw Error(formatProdErrorMessage(525));throw returnFiber=Object.prototype.toString.call(newChild),Error(formatProdErrorMessage(31,returnFiber==="[object Object]"?"object with keys {"+Object.keys(newChild).join(", ")+"}":returnFiber))}function resolveLazy(lazyType){var init=lazyType._init;return init(lazyType._payload)}function createChildReconciler(shouldTrackSideEffects){function deleteChild(returnFiber,childToDelete){if(shouldTrackSideEffects){var deletions=returnFiber.deletions;deletions===null?(returnFiber.deletions=[childToDelete],returnFiber.flags|=16):deletions.push(childToDelete)}}function deleteRemainingChildren(returnFiber,currentFirstChild){if(!shouldTrackSideEffects)return null;for(;currentFirstChild!==null;)deleteChild(returnFiber,currentFirstChild),currentFirstChild=currentFirstChild.sibling;return null}function mapRemainingChildren(currentFirstChild){for(var existingChildren=new Map;currentFirstChild!==null;)currentFirstChild.key!==null?existingChildren.set(currentFirstChild.key,currentFirstChild):existingChildren.set(currentFirstChild.index,currentFirstChild),currentFirstChild=currentFirstChild.sibling;return existingChildren}function useFiber(fiber,pendingProps){return fiber=createWorkInProgress(fiber,pendingProps),fiber.index=0,fiber.sibling=null,fiber}function placeChild(newFiber,lastPlacedIndex,newIndex){if(newFiber.index=newIndex,!shouldTrackSideEffects)return newFiber.flags|=1048576,lastPlacedIndex;if(newIndex=newFiber.alternate,newIndex!==null)return newIndex=newIndex.index,newIndex<lastPlacedIndex?(newFiber.flags|=67108866,lastPlacedIndex):newIndex;return newFiber.flags|=67108866,lastPlacedIndex}function placeSingleChild(newFiber){return shouldTrackSideEffects&&newFiber.alternate===null&&(newFiber.flags|=67108866),newFiber}function updateTextNode(returnFiber,current,textContent,lanes){if(current===null||current.tag!==6)return current=createFiberFromText(textContent,returnFiber.mode,lanes),current.return=returnFiber,current;return current=useFiber(current,textContent),current.return=returnFiber,current}function updateElement(returnFiber,current,element,lanes){var elementType=element.type;if(elementType===REACT_FRAGMENT_TYPE2)return updateFragment(returnFiber,current,element.props.children,lanes,element.key);if(current!==null&&(current.elementType===elementType||typeof elementType==="object"&&elementType!==null&&elementType.$$typeof===REACT_LAZY_TYPE&&resolveLazy(elementType)===current.type))return current=useFiber(current,element.props),coerceRef(current,element),current.return=returnFiber,current;return current=createFiberFromTypeAndProps(element.type,element.key,element.props,null,returnFiber.mode,lanes),coerceRef(current,element),current.return=returnFiber,current}function updatePortal(returnFiber,current,portal,lanes){if(current===null||current.tag!==4||current.stateNode.containerInfo!==portal.containerInfo||current.stateNode.implementation!==portal.implementation)return current=createFiberFromPortal(portal,returnFiber.mode,lanes),current.return=returnFiber,current;return current=useFiber(current,portal.children||[]),current.return=returnFiber,current}function updateFragment(returnFiber,current,fragment,lanes,key){if(current===null||current.tag!==7)return current=createFiberFromFragment(fragment,returnFiber.mode,lanes,key),current.return=returnFiber,current;return current=useFiber(current,fragment),current.return=returnFiber,current}function createChild(returnFiber,newChild,lanes){if(typeof newChild==="string"&&newChild!==""||typeof newChild==="number"||typeof newChild==="bigint")return newChild=createFiberFromText(""+newChild,returnFiber.mode,lanes),newChild.return=returnFiber,newChild;if(typeof newChild==="object"&&newChild!==null){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE2:return lanes=createFiberFromTypeAndProps(newChild.type,newChild.key,newChild.props,null,returnFiber.mode,lanes),coerceRef(lanes,newChild),lanes.return=returnFiber,lanes;case REACT_PORTAL_TYPE:return newChild=createFiberFromPortal(newChild,returnFiber.mode,lanes),newChild.return=returnFiber,newChild;case REACT_LAZY_TYPE:var init=newChild._init;return newChild=init(newChild._payload),createChild(returnFiber,newChild,lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return newChild=createFiberFromFragment(newChild,returnFiber.mode,lanes,null),newChild.return=returnFiber,newChild;if(typeof newChild.then==="function")return createChild(returnFiber,unwrapThenable(newChild),lanes);if(newChild.$$typeof===REACT_CONTEXT_TYPE)return createChild(returnFiber,readContextDuringReconciliation(returnFiber,newChild),lanes);throwOnInvalidObjectType(returnFiber,newChild)}return null}function updateSlot(returnFiber,oldFiber,newChild,lanes){var key=oldFiber!==null?oldFiber.key:null;if(typeof newChild==="string"&&newChild!==""||typeof newChild==="number"||typeof newChild==="bigint")return key!==null?null:updateTextNode(returnFiber,oldFiber,""+newChild,lanes);if(typeof newChild==="object"&&newChild!==null){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE2:return newChild.key===key?updateElement(returnFiber,oldFiber,newChild,lanes):null;case REACT_PORTAL_TYPE:return newChild.key===key?updatePortal(returnFiber,oldFiber,newChild,lanes):null;case REACT_LAZY_TYPE:return key=newChild._init,newChild=key(newChild._payload),updateSlot(returnFiber,oldFiber,newChild,lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return key!==null?null:updateFragment(returnFiber,oldFiber,newChild,lanes,null);if(typeof newChild.then==="function")return updateSlot(returnFiber,oldFiber,unwrapThenable(newChild),lanes);if(newChild.$$typeof===REACT_CONTEXT_TYPE)return updateSlot(returnFiber,oldFiber,readContextDuringReconciliation(returnFiber,newChild),lanes);throwOnInvalidObjectType(returnFiber,newChild)}return null}function updateFromMap(existingChildren,returnFiber,newIdx,newChild,lanes){if(typeof newChild==="string"&&newChild!==""||typeof newChild==="number"||typeof newChild==="bigint")return existingChildren=existingChildren.get(newIdx)||null,updateTextNode(returnFiber,existingChildren,""+newChild,lanes);if(typeof newChild==="object"&&newChild!==null){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE2:return existingChildren=existingChildren.get(newChild.key===null?newIdx:newChild.key)||null,updateElement(returnFiber,existingChildren,newChild,lanes);case REACT_PORTAL_TYPE:return existingChildren=existingChildren.get(newChild.key===null?newIdx:newChild.key)||null,updatePortal(returnFiber,existingChildren,newChild,lanes);case REACT_LAZY_TYPE:var init=newChild._init;return newChild=init(newChild._payload),updateFromMap(existingChildren,returnFiber,newIdx,newChild,lanes)}if(isArrayImpl(newChild)||getIteratorFn(newChild))return existingChildren=existingChildren.get(newIdx)||null,updateFragment(returnFiber,existingChildren,newChild,lanes,null);if(typeof newChild.then==="function")return updateFromMap(existingChildren,returnFiber,newIdx,unwrapThenable(newChild),lanes);if(newChild.$$typeof===REACT_CONTEXT_TYPE)return updateFromMap(existingChildren,returnFiber,newIdx,readContextDuringReconciliation(returnFiber,newChild),lanes);throwOnInvalidObjectType(returnFiber,newChild)}return null}function reconcileChildrenArray(returnFiber,currentFirstChild,newChildren,lanes){for(var resultingFirstChild=null,previousNewFiber=null,oldFiber=currentFirstChild,newIdx=currentFirstChild=0,nextOldFiber=null;oldFiber!==null&&newIdx<newChildren.length;newIdx++){oldFiber.index>newIdx?(nextOldFiber=oldFiber,oldFiber=null):nextOldFiber=oldFiber.sibling;var newFiber=updateSlot(returnFiber,oldFiber,newChildren[newIdx],lanes);if(newFiber===null){oldFiber===null&&(oldFiber=nextOldFiber);break}shouldTrackSideEffects&&oldFiber&&newFiber.alternate===null&&deleteChild(returnFiber,oldFiber),currentFirstChild=placeChild(newFiber,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=newFiber:previousNewFiber.sibling=newFiber,previousNewFiber=newFiber,oldFiber=nextOldFiber}if(newIdx===newChildren.length)return deleteRemainingChildren(returnFiber,oldFiber),isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild;if(oldFiber===null){for(;newIdx<newChildren.length;newIdx++)oldFiber=createChild(returnFiber,newChildren[newIdx],lanes),oldFiber!==null&&(currentFirstChild=placeChild(oldFiber,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=oldFiber:previousNewFiber.sibling=oldFiber,previousNewFiber=oldFiber);return isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild}for(oldFiber=mapRemainingChildren(oldFiber);newIdx<newChildren.length;newIdx++)nextOldFiber=updateFromMap(oldFiber,returnFiber,newIdx,newChildren[newIdx],lanes),nextOldFiber!==null&&(shouldTrackSideEffects&&nextOldFiber.alternate!==null&&oldFiber.delete(nextOldFiber.key===null?newIdx:nextOldFiber.key),currentFirstChild=placeChild(nextOldFiber,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=nextOldFiber:previousNewFiber.sibling=nextOldFiber,previousNewFiber=nextOldFiber);return shouldTrackSideEffects&&oldFiber.forEach(function(child){return deleteChild(returnFiber,child)}),isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild}function reconcileChildrenIterator(returnFiber,currentFirstChild,newChildren,lanes){if(newChildren==null)throw Error(formatProdErrorMessage(151));for(var resultingFirstChild=null,previousNewFiber=null,oldFiber=currentFirstChild,newIdx=currentFirstChild=0,nextOldFiber=null,step=newChildren.next();oldFiber!==null&&!step.done;newIdx++,step=newChildren.next()){oldFiber.index>newIdx?(nextOldFiber=oldFiber,oldFiber=null):nextOldFiber=oldFiber.sibling;var newFiber=updateSlot(returnFiber,oldFiber,step.value,lanes);if(newFiber===null){oldFiber===null&&(oldFiber=nextOldFiber);break}shouldTrackSideEffects&&oldFiber&&newFiber.alternate===null&&deleteChild(returnFiber,oldFiber),currentFirstChild=placeChild(newFiber,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=newFiber:previousNewFiber.sibling=newFiber,previousNewFiber=newFiber,oldFiber=nextOldFiber}if(step.done)return deleteRemainingChildren(returnFiber,oldFiber),isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild;if(oldFiber===null){for(;!step.done;newIdx++,step=newChildren.next())step=createChild(returnFiber,step.value,lanes),step!==null&&(currentFirstChild=placeChild(step,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=step:previousNewFiber.sibling=step,previousNewFiber=step);return isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild}for(oldFiber=mapRemainingChildren(oldFiber);!step.done;newIdx++,step=newChildren.next())step=updateFromMap(oldFiber,returnFiber,newIdx,step.value,lanes),step!==null&&(shouldTrackSideEffects&&step.alternate!==null&&oldFiber.delete(step.key===null?newIdx:step.key),currentFirstChild=placeChild(step,currentFirstChild,newIdx),previousNewFiber===null?resultingFirstChild=step:previousNewFiber.sibling=step,previousNewFiber=step);return shouldTrackSideEffects&&oldFiber.forEach(function(child){return deleteChild(returnFiber,child)}),isHydrating&&pushTreeFork(returnFiber,newIdx),resultingFirstChild}function reconcileChildFibersImpl(returnFiber,currentFirstChild,newChild,lanes){if(typeof newChild==="object"&&newChild!==null&&newChild.type===REACT_FRAGMENT_TYPE2&&newChild.key===null&&(newChild=newChild.props.children),typeof newChild==="object"&&newChild!==null){switch(newChild.$$typeof){case REACT_ELEMENT_TYPE2:a:{for(var key=newChild.key;currentFirstChild!==null;){if(currentFirstChild.key===key){if(key=newChild.type,key===REACT_FRAGMENT_TYPE2){if(currentFirstChild.tag===7){deleteRemainingChildren(returnFiber,currentFirstChild.sibling),lanes=useFiber(currentFirstChild,newChild.props.children),lanes.return=returnFiber,returnFiber=lanes;break a}}else if(currentFirstChild.elementType===key||typeof key==="object"&&key!==null&&key.$$typeof===REACT_LAZY_TYPE&&resolveLazy(key)===currentFirstChild.type){deleteRemainingChildren(returnFiber,currentFirstChild.sibling),lanes=useFiber(currentFirstChild,newChild.props),coerceRef(lanes,newChild),lanes.return=returnFiber,returnFiber=lanes;break a}deleteRemainingChildren(returnFiber,currentFirstChild);break}else deleteChild(returnFiber,currentFirstChild);currentFirstChild=currentFirstChild.sibling}newChild.type===REACT_FRAGMENT_TYPE2?(lanes=createFiberFromFragment(newChild.props.children,returnFiber.mode,lanes,newChild.key),lanes.return=returnFiber,returnFiber=lanes):(lanes=createFiberFromTypeAndProps(newChild.type,newChild.key,newChild.props,null,returnFiber.mode,lanes),coerceRef(lanes,newChild),lanes.return=returnFiber,returnFiber=lanes)}return placeSingleChild(returnFiber);case REACT_PORTAL_TYPE:a:{for(key=newChild.key;currentFirstChild!==null;){if(currentFirstChild.key===key)if(currentFirstChild.tag===4&&currentFirstChild.stateNode.containerInfo===newChild.containerInfo&&currentFirstChild.stateNode.implementation===newChild.implementation){deleteRemainingChildren(returnFiber,currentFirstChild.sibling),lanes=useFiber(currentFirstChild,newChild.children||[]),lanes.return=returnFiber,returnFiber=lanes;break a}else{deleteRemainingChildren(returnFiber,currentFirstChild);break}else deleteChild(returnFiber,currentFirstChild);currentFirstChild=currentFirstChild.sibling}lanes=createFiberFromPortal(newChild,returnFiber.mode,lanes),lanes.return=returnFiber,returnFiber=lanes}return placeSingleChild(returnFiber);case REACT_LAZY_TYPE:return key=newChild._init,newChild=key(newChild._payload),reconcileChildFibersImpl(returnFiber,currentFirstChild,newChild,lanes)}if(isArrayImpl(newChild))return reconcileChildrenArray(returnFiber,currentFirstChild,newChild,lanes);if(getIteratorFn(newChild)){if(key=getIteratorFn(newChild),typeof key!=="function")throw Error(formatProdErrorMessage(150));return newChild=key.call(newChild),reconcileChildrenIterator(returnFiber,currentFirstChild,newChild,lanes)}if(typeof newChild.then==="function")return reconcileChildFibersImpl(returnFiber,currentFirstChild,unwrapThenable(newChild),lanes);if(newChild.$$typeof===REACT_CONTEXT_TYPE)return reconcileChildFibersImpl(returnFiber,currentFirstChild,readContextDuringReconciliation(returnFiber,newChild),lanes);throwOnInvalidObjectType(returnFiber,newChild)}return typeof newChild==="string"&&newChild!==""||typeof newChild==="number"||typeof newChild==="bigint"?(newChild=""+newChild,currentFirstChild!==null&&currentFirstChild.tag===6?(deleteRemainingChildren(returnFiber,currentFirstChild.sibling),lanes=useFiber(currentFirstChild,newChild),lanes.return=returnFiber,returnFiber=lanes):(deleteRemainingChildren(returnFiber,currentFirstChild),lanes=createFiberFromText(newChild,returnFiber.mode,lanes),lanes.return=returnFiber,returnFiber=lanes),placeSingleChild(returnFiber)):deleteRemainingChildren(returnFiber,currentFirstChild)}return function(returnFiber,currentFirstChild,newChild,lanes){try{thenableIndexCounter=0;var firstChildFiber=reconcileChildFibersImpl(returnFiber,currentFirstChild,newChild,lanes);return thenableState=null,firstChildFiber}catch(x2){if(x2===SuspenseException||x2===SuspenseActionException)throw x2;var fiber=createFiber(29,x2,null,returnFiber.mode);return fiber.lanes=lanes,fiber.return=returnFiber,fiber}finally{}}}function pushPrimaryTreeSuspenseHandler(handler){var current=handler.alternate;push2(suspenseStackCursor,suspenseStackCursor.current&1),push2(suspenseHandlerStackCursor,handler),shellBoundary===null&&(current===null||currentTreeHiddenStackCursor.current!==null?shellBoundary=handler:current.memoizedState!==null&&(shellBoundary=handler))}function pushOffscreenSuspenseHandler(fiber){if(fiber.tag===22){if(push2(suspenseStackCursor,suspenseStackCursor.current),push2(suspenseHandlerStackCursor,fiber),shellBoundary===null){var current=fiber.alternate;current!==null&&current.memoizedState!==null&&(shellBoundary=fiber)}}else reuseSuspenseHandlerOnStack(fiber)}function reuseSuspenseHandlerOnStack(){push2(suspenseStackCursor,suspenseStackCursor.current),push2(suspenseHandlerStackCursor,suspenseHandlerStackCursor.current)}function popSuspenseHandler(fiber){pop2(suspenseHandlerStackCursor),shellBoundary===fiber&&(shellBoundary=null),pop2(suspenseStackCursor)}function findFirstSuspended(row){for(var node=row;node!==null;){if(node.tag===13){var state=node.memoizedState;if(state!==null&&(state=state.dehydrated,state===null||isSuspenseInstancePending(state)||isSuspenseInstanceFallback(state)))return node}else if(node.tag===19&&node.memoizedProps.revealOrder!==void 0){if((node.flags&128)!==0)return node}else if(node.child!==null){node.child.return=node,node=node.child;continue}if(node===row)break;for(;node.sibling===null;){if(node.return===null||node.return===row)return null;node=node.return}node.sibling.return=node.return,node=node.sibling}return null}function applyDerivedStateFromProps(workInProgress2,ctor,getDerivedStateFromProps,nextProps){ctor=workInProgress2.memoizedState,getDerivedStateFromProps=getDerivedStateFromProps(nextProps,ctor),getDerivedStateFromProps=getDerivedStateFromProps===null||getDerivedStateFromProps===void 0?ctor:assign({},ctor,getDerivedStateFromProps),workInProgress2.memoizedState=getDerivedStateFromProps,workInProgress2.lanes===0&&(workInProgress2.updateQueue.baseState=getDerivedStateFromProps)}function checkShouldComponentUpdate(workInProgress2,ctor,oldProps,newProps,oldState,newState,nextContext){return workInProgress2=workInProgress2.stateNode,typeof workInProgress2.shouldComponentUpdate==="function"?workInProgress2.shouldComponentUpdate(newProps,newState,nextContext):ctor.prototype&&ctor.prototype.isPureReactComponent?!shallowEqual(oldProps,newProps)||!shallowEqual(oldState,newState):!0}function callComponentWillReceiveProps(workInProgress2,instance,newProps,nextContext){workInProgress2=instance.state,typeof instance.componentWillReceiveProps==="function"&&instance.componentWillReceiveProps(newProps,nextContext),typeof instance.UNSAFE_componentWillReceiveProps==="function"&&instance.UNSAFE_componentWillReceiveProps(newProps,nextContext),instance.state!==workInProgress2&&classComponentUpdater.enqueueReplaceState(instance,instance.state,null)}function resolveClassComponentProps(Component,baseProps){var newProps=baseProps;if("ref"in baseProps){newProps={};for(var propName in baseProps)propName!=="ref"&&(newProps[propName]=baseProps[propName])}if(Component=Component.defaultProps){newProps===baseProps&&(newProps=assign({},newProps));for(var propName$57 in Component)newProps[propName$57]===void 0&&(newProps[propName$57]=Component[propName$57])}return newProps}function logUncaughtError(root,errorInfo){try{var onUncaughtError=root.onUncaughtError;onUncaughtError(errorInfo.value,{componentStack:errorInfo.stack})}catch(e){setTimeout(function(){throw e})}}function logCaughtError(root,boundary,errorInfo){try{var onCaughtError=root.onCaughtError;onCaughtError(errorInfo.value,{componentStack:errorInfo.stack,errorBoundary:boundary.tag===1?boundary.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function createRootErrorUpdate(root,errorInfo,lane){return lane=createUpdate(lane),lane.tag=3,lane.payload={element:null},lane.callback=function(){logUncaughtError(root,errorInfo)},lane}function createClassErrorUpdate(lane){return lane=createUpdate(lane),lane.tag=3,lane}function initializeClassErrorUpdate(update,root,fiber,errorInfo){var getDerivedStateFromError=fiber.type.getDerivedStateFromError;if(typeof getDerivedStateFromError==="function"){var error=errorInfo.value;update.payload=function(){return getDerivedStateFromError(error)},update.callback=function(){logCaughtError(root,fiber,errorInfo)}}var inst=fiber.stateNode;inst!==null&&typeof inst.componentDidCatch==="function"&&(update.callback=function(){logCaughtError(root,fiber,errorInfo),typeof getDerivedStateFromError!=="function"&&(legacyErrorBoundariesThatAlreadyFailed===null?legacyErrorBoundariesThatAlreadyFailed=new Set([this]):legacyErrorBoundariesThatAlreadyFailed.add(this));var stack=errorInfo.stack;this.componentDidCatch(errorInfo.value,{componentStack:stack!==null?stack:""})})}function throwException(root,returnFiber,sourceFiber,value,rootRenderLanes){if(sourceFiber.flags|=32768,value!==null&&typeof value==="object"&&typeof value.then==="function"){if(returnFiber=sourceFiber.alternate,returnFiber!==null&&propagateParentContextChanges(returnFiber,sourceFiber,rootRenderLanes,!0),sourceFiber=suspenseHandlerStackCursor.current,sourceFiber!==null){switch(sourceFiber.tag){case 13:return shellBoundary===null?renderDidSuspendDelayIfPossible():sourceFiber.alternate===null&&workInProgressRootExitStatus===0&&(workInProgressRootExitStatus=3),sourceFiber.flags&=-257,sourceFiber.flags|=65536,sourceFiber.lanes=rootRenderLanes,value===noopSuspenseyCommitThenable?sourceFiber.flags|=16384:(returnFiber=sourceFiber.updateQueue,returnFiber===null?sourceFiber.updateQueue=new Set([value]):returnFiber.add(value),attachPingListener(root,value,rootRenderLanes)),!1;case 22:return sourceFiber.flags|=65536,value===noopSuspenseyCommitThenable?sourceFiber.flags|=16384:(returnFiber=sourceFiber.updateQueue,returnFiber===null?(returnFiber={transitions:null,markerInstances:null,retryQueue:new Set([value])},sourceFiber.updateQueue=returnFiber):(sourceFiber=returnFiber.retryQueue,sourceFiber===null?returnFiber.retryQueue=new Set([value]):sourceFiber.add(value)),attachPingListener(root,value,rootRenderLanes)),!1}throw Error(formatProdErrorMessage(435,sourceFiber.tag))}return attachPingListener(root,value,rootRenderLanes),renderDidSuspendDelayIfPossible(),!1}if(isHydrating)return returnFiber=suspenseHandlerStackCursor.current,returnFiber!==null?((returnFiber.flags&65536)===0&&(returnFiber.flags|=256),returnFiber.flags|=65536,returnFiber.lanes=rootRenderLanes,value!==HydrationMismatchException&&(root=Error(formatProdErrorMessage(422),{cause:value}),queueHydrationError(createCapturedValueAtFiber(root,sourceFiber)))):(value!==HydrationMismatchException&&(returnFiber=Error(formatProdErrorMessage(423),{cause:value}),queueHydrationError(createCapturedValueAtFiber(returnFiber,sourceFiber))),root=root.current.alternate,root.flags|=65536,rootRenderLanes&=-rootRenderLanes,root.lanes|=rootRenderLanes,value=createCapturedValueAtFiber(value,sourceFiber),rootRenderLanes=createRootErrorUpdate(root.stateNode,value,rootRenderLanes),enqueueCapturedUpdate(root,rootRenderLanes),workInProgressRootExitStatus!==4&&(workInProgressRootExitStatus=2)),!1;var wrapperError=Error(formatProdErrorMessage(520),{cause:value});if(wrapperError=createCapturedValueAtFiber(wrapperError,sourceFiber),workInProgressRootConcurrentErrors===null?workInProgressRootConcurrentErrors=[wrapperError]:workInProgressRootConcurrentErrors.push(wrapperError),workInProgressRootExitStatus!==4&&(workInProgressRootExitStatus=2),returnFiber===null)return!0;value=createCapturedValueAtFiber(value,sourceFiber),sourceFiber=returnFiber;do{switch(sourceFiber.tag){case 3:return sourceFiber.flags|=65536,root=rootRenderLanes&-rootRenderLanes,sourceFiber.lanes|=root,root=createRootErrorUpdate(sourceFiber.stateNode,value,root),enqueueCapturedUpdate(sourceFiber,root),!1;case 1:if(returnFiber=sourceFiber.type,wrapperError=sourceFiber.stateNode,(sourceFiber.flags&128)===0&&(typeof returnFiber.getDerivedStateFromError==="function"||wrapperError!==null&&typeof wrapperError.componentDidCatch==="function"&&(legacyErrorBoundariesThatAlreadyFailed===null||!legacyErrorBoundariesThatAlreadyFailed.has(wrapperError))))return sourceFiber.flags|=65536,rootRenderLanes&=-rootRenderLanes,sourceFiber.lanes|=rootRenderLanes,rootRenderLanes=createClassErrorUpdate(rootRenderLanes),initializeClassErrorUpdate(rootRenderLanes,root,sourceFiber,value),enqueueCapturedUpdate(sourceFiber,rootRenderLanes),!1}sourceFiber=sourceFiber.return}while(sourceFiber!==null);return!1}function reconcileChildren(current,workInProgress2,nextChildren,renderLanes2){workInProgress2.child=current===null?mountChildFibers(workInProgress2,null,nextChildren,renderLanes2):reconcileChildFibers(workInProgress2,current.child,nextChildren,renderLanes2)}function updateForwardRef(current,workInProgress2,Component,nextProps,renderLanes2){Component=Component.render;var ref=workInProgress2.ref;if("ref"in nextProps){var propsWithoutRef={};for(var key in nextProps)key!=="ref"&&(propsWithoutRef[key]=nextProps[key])}else propsWithoutRef=nextProps;if(prepareToReadContext(workInProgress2),nextProps=renderWithHooks(current,workInProgress2,Component,propsWithoutRef,ref,renderLanes2),key=checkDidRenderIdHook(),current!==null&&!didReceiveUpdate)return bailoutHooks(current,workInProgress2,renderLanes2),bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2);return isHydrating&&key&&pushMaterializedTreeId(workInProgress2),workInProgress2.flags|=1,reconcileChildren(current,workInProgress2,nextProps,renderLanes2),workInProgress2.child}function updateMemoComponent(current,workInProgress2,Component,nextProps,renderLanes2){if(current===null){var type=Component.type;if(typeof type==="function"&&!shouldConstruct(type)&&type.defaultProps===void 0&&Component.compare===null)return workInProgress2.tag=15,workInProgress2.type=type,updateSimpleMemoComponent(current,workInProgress2,type,nextProps,renderLanes2);return current=createFiberFromTypeAndProps(Component.type,null,nextProps,workInProgress2,workInProgress2.mode,renderLanes2),current.ref=workInProgress2.ref,current.return=workInProgress2,workInProgress2.child=current}if(type=current.child,!checkScheduledUpdateOrContext(current,renderLanes2)){var prevProps=type.memoizedProps;if(Component=Component.compare,Component=Component!==null?Component:shallowEqual,Component(prevProps,nextProps)&&current.ref===workInProgress2.ref)return bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2)}return workInProgress2.flags|=1,current=createWorkInProgress(type,nextProps),current.ref=workInProgress2.ref,current.return=workInProgress2,workInProgress2.child=current}function updateSimpleMemoComponent(current,workInProgress2,Component,nextProps,renderLanes2){if(current!==null){var prevProps=current.memoizedProps;if(shallowEqual(prevProps,nextProps)&&current.ref===workInProgress2.ref)if(didReceiveUpdate=!1,workInProgress2.pendingProps=nextProps=prevProps,checkScheduledUpdateOrContext(current,renderLanes2))(current.flags&131072)!==0&&(didReceiveUpdate=!0);else return workInProgress2.lanes=current.lanes,bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2)}return updateFunctionComponent(current,workInProgress2,Component,nextProps,renderLanes2)}function updateOffscreenComponent(current,workInProgress2,renderLanes2){var nextProps=workInProgress2.pendingProps,nextChildren=nextProps.children,prevState=current!==null?current.memoizedState:null;if(nextProps.mode==="hidden"){if((workInProgress2.flags&128)!==0){if(nextProps=prevState!==null?prevState.baseLanes|renderLanes2:renderLanes2,current!==null){nextChildren=workInProgress2.child=current.child;for(prevState=0;nextChildren!==null;)prevState=prevState|nextChildren.lanes|nextChildren.childLanes,nextChildren=nextChildren.sibling;workInProgress2.childLanes=prevState&~nextProps}else workInProgress2.childLanes=0,workInProgress2.child=null;return deferHiddenOffscreenComponent(current,workInProgress2,nextProps,renderLanes2)}if((renderLanes2&536870912)!==0)workInProgress2.memoizedState={baseLanes:0,cachePool:null},current!==null&&pushTransition(workInProgress2,prevState!==null?prevState.cachePool:null),prevState!==null?pushHiddenContext(workInProgress2,prevState):reuseHiddenContextOnStack(),pushOffscreenSuspenseHandler(workInProgress2);else return workInProgress2.lanes=workInProgress2.childLanes=536870912,deferHiddenOffscreenComponent(current,workInProgress2,prevState!==null?prevState.baseLanes|renderLanes2:renderLanes2,renderLanes2)}else prevState!==null?(pushTransition(workInProgress2,prevState.cachePool),pushHiddenContext(workInProgress2,prevState),reuseSuspenseHandlerOnStack(workInProgress2),workInProgress2.memoizedState=null):(current!==null&&pushTransition(workInProgress2,null),reuseHiddenContextOnStack(),reuseSuspenseHandlerOnStack(workInProgress2));return reconcileChildren(current,workInProgress2,nextChildren,renderLanes2),workInProgress2.child}function deferHiddenOffscreenComponent(current,workInProgress2,nextBaseLanes,renderLanes2){var JSCompiler_inline_result=peekCacheFromPool();return JSCompiler_inline_result=JSCompiler_inline_result===null?null:{parent:isPrimaryRenderer?CacheContext._currentValue:CacheContext._currentValue2,pool:JSCompiler_inline_result},workInProgress2.memoizedState={baseLanes:nextBaseLanes,cachePool:JSCompiler_inline_result},current!==null&&pushTransition(workInProgress2,null),reuseHiddenContextOnStack(),pushOffscreenSuspenseHandler(workInProgress2),current!==null&&propagateParentContextChanges(current,workInProgress2,renderLanes2,!0),null}function markRef(current,workInProgress2){var ref=workInProgress2.ref;if(ref===null)current!==null&&current.ref!==null&&(workInProgress2.flags|=4194816);else{if(typeof ref!=="function"&&typeof ref!=="object")throw Error(formatProdErrorMessage(284));if(current===null||current.ref!==ref)workInProgress2.flags|=4194816}}function updateFunctionComponent(current,workInProgress2,Component,nextProps,renderLanes2){if(prepareToReadContext(workInProgress2),Component=renderWithHooks(current,workInProgress2,Component,nextProps,void 0,renderLanes2),nextProps=checkDidRenderIdHook(),current!==null&&!didReceiveUpdate)return bailoutHooks(current,workInProgress2,renderLanes2),bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2);return isHydrating&&nextProps&&pushMaterializedTreeId(workInProgress2),workInProgress2.flags|=1,reconcileChildren(current,workInProgress2,Component,renderLanes2),workInProgress2.child}function replayFunctionComponent(current,workInProgress2,nextProps,Component,secondArg,renderLanes2){if(prepareToReadContext(workInProgress2),workInProgress2.updateQueue=null,nextProps=renderWithHooksAgain(workInProgress2,Component,nextProps,secondArg),finishRenderingHooks(current),Component=checkDidRenderIdHook(),current!==null&&!didReceiveUpdate)return bailoutHooks(current,workInProgress2,renderLanes2),bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2);return isHydrating&&Component&&pushMaterializedTreeId(workInProgress2),workInProgress2.flags|=1,reconcileChildren(current,workInProgress2,nextProps,renderLanes2),workInProgress2.child}function updateClassComponent(current,workInProgress2,Component,nextProps,renderLanes2){if(prepareToReadContext(workInProgress2),workInProgress2.stateNode===null){var context=emptyContextObject,contextType=Component.contextType;typeof contextType==="object"&&contextType!==null&&(context=readContext(contextType)),context=new Component(nextProps,context),workInProgress2.memoizedState=context.state!==null&&context.state!==void 0?context.state:null,context.updater=classComponentUpdater,workInProgress2.stateNode=context,context._reactInternals=workInProgress2,context=workInProgress2.stateNode,context.props=nextProps,context.state=workInProgress2.memoizedState,context.refs={},initializeUpdateQueue(workInProgress2),contextType=Component.contextType,context.context=typeof contextType==="object"&&contextType!==null?readContext(contextType):emptyContextObject,context.state=workInProgress2.memoizedState,contextType=Component.getDerivedStateFromProps,typeof contextType==="function"&&(applyDerivedStateFromProps(workInProgress2,Component,contextType,nextProps),context.state=workInProgress2.memoizedState),typeof Component.getDerivedStateFromProps==="function"||typeof context.getSnapshotBeforeUpdate==="function"||typeof context.UNSAFE_componentWillMount!=="function"&&typeof context.componentWillMount!=="function"||(contextType=context.state,typeof context.componentWillMount==="function"&&context.componentWillMount(),typeof context.UNSAFE_componentWillMount==="function"&&context.UNSAFE_componentWillMount(),contextType!==context.state&&classComponentUpdater.enqueueReplaceState(context,context.state,null),processUpdateQueue(workInProgress2,nextProps,context,renderLanes2),suspendIfUpdateReadFromEntangledAsyncAction(),context.state=workInProgress2.memoizedState),typeof context.componentDidMount==="function"&&(workInProgress2.flags|=4194308),nextProps=!0}else if(current===null){context=workInProgress2.stateNode;var unresolvedOldProps=workInProgress2.memoizedProps,oldProps=resolveClassComponentProps(Component,unresolvedOldProps);context.props=oldProps;var oldContext=context.context,contextType$jscomp$0=Component.contextType;contextType=emptyContextObject,typeof contextType$jscomp$0==="object"&&contextType$jscomp$0!==null&&(contextType=readContext(contextType$jscomp$0));var getDerivedStateFromProps=Component.getDerivedStateFromProps;contextType$jscomp$0=typeof getDerivedStateFromProps==="function"||typeof context.getSnapshotBeforeUpdate==="function",unresolvedOldProps=workInProgress2.pendingProps!==unresolvedOldProps,contextType$jscomp$0||typeof context.UNSAFE_componentWillReceiveProps!=="function"&&typeof context.componentWillReceiveProps!=="function"||(unresolvedOldProps||oldContext!==contextType)&&callComponentWillReceiveProps(workInProgress2,context,nextProps,contextType),hasForceUpdate=!1;var oldState=workInProgress2.memoizedState;context.state=oldState,processUpdateQueue(workInProgress2,nextProps,context,renderLanes2),suspendIfUpdateReadFromEntangledAsyncAction(),oldContext=workInProgress2.memoizedState,unresolvedOldProps||oldState!==oldContext||hasForceUpdate?(typeof getDerivedStateFromProps==="function"&&(applyDerivedStateFromProps(workInProgress2,Component,getDerivedStateFromProps,nextProps),oldContext=workInProgress2.memoizedState),(oldProps=hasForceUpdate||checkShouldComponentUpdate(workInProgress2,Component,oldProps,nextProps,oldState,oldContext,contextType))?(contextType$jscomp$0||typeof context.UNSAFE_componentWillMount!=="function"&&typeof context.componentWillMount!=="function"||(typeof context.componentWillMount==="function"&&context.componentWillMount(),typeof context.UNSAFE_componentWillMount==="function"&&context.UNSAFE_componentWillMount()),typeof context.componentDidMount==="function"&&(workInProgress2.flags|=4194308)):(typeof context.componentDidMount==="function"&&(workInProgress2.flags|=4194308),workInProgress2.memoizedProps=nextProps,workInProgress2.memoizedState=oldContext),context.props=nextProps,context.state=oldContext,context.context=contextType,nextProps=oldProps):(typeof context.componentDidMount==="function"&&(workInProgress2.flags|=4194308),nextProps=!1)}else{context=workInProgress2.stateNode,cloneUpdateQueue(current,workInProgress2),contextType=workInProgress2.memoizedProps,contextType$jscomp$0=resolveClassComponentProps(Component,contextType),context.props=contextType$jscomp$0,getDerivedStateFromProps=workInProgress2.pendingProps,oldState=context.context,oldContext=Component.contextType,oldProps=emptyContextObject,typeof oldContext==="object"&&oldContext!==null&&(oldProps=readContext(oldContext)),unresolvedOldProps=Component.getDerivedStateFromProps,(oldContext=typeof unresolvedOldProps==="function"||typeof context.getSnapshotBeforeUpdate==="function")||typeof context.UNSAFE_componentWillReceiveProps!=="function"&&typeof context.componentWillReceiveProps!=="function"||(contextType!==getDerivedStateFromProps||oldState!==oldProps)&&callComponentWillReceiveProps(workInProgress2,context,nextProps,oldProps),hasForceUpdate=!1,oldState=workInProgress2.memoizedState,context.state=oldState,processUpdateQueue(workInProgress2,nextProps,context,renderLanes2),suspendIfUpdateReadFromEntangledAsyncAction();var newState=workInProgress2.memoizedState;contextType!==getDerivedStateFromProps||oldState!==newState||hasForceUpdate||current!==null&&current.dependencies!==null&&checkIfContextChanged(current.dependencies)?(typeof unresolvedOldProps==="function"&&(applyDerivedStateFromProps(workInProgress2,Component,unresolvedOldProps,nextProps),newState=workInProgress2.memoizedState),(contextType$jscomp$0=hasForceUpdate||checkShouldComponentUpdate(workInProgress2,Component,contextType$jscomp$0,nextProps,oldState,newState,oldProps)||current!==null&&current.dependencies!==null&&checkIfContextChanged(current.dependencies))?(oldContext||typeof context.UNSAFE_componentWillUpdate!=="function"&&typeof context.componentWillUpdate!=="function"||(typeof context.componentWillUpdate==="function"&&context.componentWillUpdate(nextProps,newState,oldProps),typeof context.UNSAFE_componentWillUpdate==="function"&&context.UNSAFE_componentWillUpdate(nextProps,newState,oldProps)),typeof context.componentDidUpdate==="function"&&(workInProgress2.flags|=4),typeof context.getSnapshotBeforeUpdate==="function"&&(workInProgress2.flags|=1024)):(typeof context.componentDidUpdate!=="function"||contextType===current.memoizedProps&&oldState===current.memoizedState||(workInProgress2.flags|=4),typeof context.getSnapshotBeforeUpdate!=="function"||contextType===current.memoizedProps&&oldState===current.memoizedState||(workInProgress2.flags|=1024),workInProgress2.memoizedProps=nextProps,workInProgress2.memoizedState=newState),context.props=nextProps,context.state=newState,context.context=oldProps,nextProps=contextType$jscomp$0):(typeof context.componentDidUpdate!=="function"||contextType===current.memoizedProps&&oldState===current.memoizedState||(workInProgress2.flags|=4),typeof context.getSnapshotBeforeUpdate!=="function"||contextType===current.memoizedProps&&oldState===current.memoizedState||(workInProgress2.flags|=1024),nextProps=!1)}return context=nextProps,markRef(current,workInProgress2),nextProps=(workInProgress2.flags&128)!==0,context||nextProps?(context=workInProgress2.stateNode,Component=nextProps&&typeof Component.getDerivedStateFromError!=="function"?null:context.render(),workInProgress2.flags|=1,current!==null&&nextProps?(workInProgress2.child=reconcileChildFibers(workInProgress2,current.child,null,renderLanes2),workInProgress2.child=reconcileChildFibers(workInProgress2,null,Component,renderLanes2)):reconcileChildren(current,workInProgress2,Component,renderLanes2),workInProgress2.memoizedState=context.state,current=workInProgress2.child):current=bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2),current}function mountHostRootWithoutHydrating(current,workInProgress2,nextChildren,renderLanes2){return resetHydrationState(),workInProgress2.flags|=256,reconcileChildren(current,workInProgress2,nextChildren,renderLanes2),workInProgress2.child}function mountSuspenseOffscreenState(renderLanes2){return{baseLanes:renderLanes2,cachePool:getSuspendedCache()}}function getRemainingWorkInPrimaryTree(current,primaryTreeDidDefer,renderLanes2){return current=current!==null?current.childLanes&~renderLanes2:0,primaryTreeDidDefer&&(current|=workInProgressDeferredLane),current}function updateSuspenseComponent(current,workInProgress2,renderLanes2){var nextProps=workInProgress2.pendingProps,showFallback=!1,didSuspend=(workInProgress2.flags&128)!==0,JSCompiler_temp;if((JSCompiler_temp=didSuspend)||(JSCompiler_temp=current!==null&&current.memoizedState===null?!1:(suspenseStackCursor.current&2)!==0),JSCompiler_temp&&(showFallback=!0,workInProgress2.flags&=-129),JSCompiler_temp=(workInProgress2.flags&32)!==0,workInProgress2.flags&=-33,current===null){if(isHydrating){if(showFallback?pushPrimaryTreeSuspenseHandler(workInProgress2):reuseSuspenseHandlerOnStack(workInProgress2),isHydrating){var nextInstance=nextHydratableInstance,JSCompiler_temp$jscomp$0;if(JSCompiler_temp$jscomp$0=nextInstance)nextInstance=canHydrateSuspenseInstance(nextInstance,rootOrSingletonContext),nextInstance!==null?(workInProgress2.memoizedState={dehydrated:nextInstance,treeContext:treeContextProvider!==null?{id:treeContextId,overflow:treeContextOverflow}:null,retryLane:536870912,hydrationErrors:null},JSCompiler_temp$jscomp$0=createFiber(18,null,null,0),JSCompiler_temp$jscomp$0.stateNode=nextInstance,JSCompiler_temp$jscomp$0.return=workInProgress2,workInProgress2.child=JSCompiler_temp$jscomp$0,hydrationParentFiber=workInProgress2,nextHydratableInstance=null,JSCompiler_temp$jscomp$0=!0):JSCompiler_temp$jscomp$0=!1;JSCompiler_temp$jscomp$0||throwOnHydrationMismatch(workInProgress2)}if(nextInstance=workInProgress2.memoizedState,nextInstance!==null&&(nextInstance=nextInstance.dehydrated,nextInstance!==null))return isSuspenseInstanceFallback(nextInstance)?workInProgress2.lanes=32:workInProgress2.lanes=536870912,null;popSuspenseHandler(workInProgress2)}if(nextInstance=nextProps.children,nextProps=nextProps.fallback,showFallback)return reuseSuspenseHandlerOnStack(workInProgress2),showFallback=workInProgress2.mode,nextInstance=mountWorkInProgressOffscreenFiber({mode:"hidden",children:nextInstance},showFallback),nextProps=createFiberFromFragment(nextProps,showFallback,renderLanes2,null),nextInstance.return=workInProgress2,nextProps.return=workInProgress2,nextInstance.sibling=nextProps,workInProgress2.child=nextInstance,showFallback=workInProgress2.child,showFallback.memoizedState=mountSuspenseOffscreenState(renderLanes2),showFallback.childLanes=getRemainingWorkInPrimaryTree(current,JSCompiler_temp,renderLanes2),workInProgress2.memoizedState=SUSPENDED_MARKER,nextProps;return pushPrimaryTreeSuspenseHandler(workInProgress2),mountSuspensePrimaryChildren(workInProgress2,nextInstance)}if(JSCompiler_temp$jscomp$0=current.memoizedState,JSCompiler_temp$jscomp$0!==null&&(nextInstance=JSCompiler_temp$jscomp$0.dehydrated,nextInstance!==null)){if(didSuspend)workInProgress2.flags&256?(pushPrimaryTreeSuspenseHandler(workInProgress2),workInProgress2.flags&=-257,workInProgress2=retrySuspenseComponentWithoutHydrating(current,workInProgress2,renderLanes2)):workInProgress2.memoizedState!==null?(reuseSuspenseHandlerOnStack(workInProgress2),workInProgress2.child=current.child,workInProgress2.flags|=128,workInProgress2=null):(reuseSuspenseHandlerOnStack(workInProgress2),showFallback=nextProps.fallback,nextInstance=workInProgress2.mode,nextProps=mountWorkInProgressOffscreenFiber({mode:"visible",children:nextProps.children},nextInstance),showFallback=createFiberFromFragment(showFallback,nextInstance,renderLanes2,null),showFallback.flags|=2,nextProps.return=workInProgress2,showFallback.return=workInProgress2,nextProps.sibling=showFallback,workInProgress2.child=nextProps,reconcileChildFibers(workInProgress2,current.child,null,renderLanes2),nextProps=workInProgress2.child,nextProps.memoizedState=mountSuspenseOffscreenState(renderLanes2),nextProps.childLanes=getRemainingWorkInPrimaryTree(current,JSCompiler_temp,renderLanes2),workInProgress2.memoizedState=SUSPENDED_MARKER,workInProgress2=showFallback);else if(pushPrimaryTreeSuspenseHandler(workInProgress2),isSuspenseInstanceFallback(nextInstance))JSCompiler_temp=getSuspenseInstanceFallbackErrorDetails(nextInstance).digest,nextProps=Error(formatProdErrorMessage(419)),nextProps.stack="",nextProps.digest=JSCompiler_temp,queueHydrationError({value:nextProps,source:null,stack:null}),workInProgress2=retrySuspenseComponentWithoutHydrating(current,workInProgress2,renderLanes2);else if(didReceiveUpdate||propagateParentContextChanges(current,workInProgress2,renderLanes2,!1),JSCompiler_temp=(renderLanes2&current.childLanes)!==0,didReceiveUpdate||JSCompiler_temp){if(JSCompiler_temp=workInProgressRoot,JSCompiler_temp!==null&&(nextProps=renderLanes2&-renderLanes2,nextProps=(nextProps&42)!==0?1:getBumpedLaneForHydrationByLane(nextProps),nextProps=(nextProps&(JSCompiler_temp.suspendedLanes|renderLanes2))!==0?0:nextProps,nextProps!==0&&nextProps!==JSCompiler_temp$jscomp$0.retryLane))throw JSCompiler_temp$jscomp$0.retryLane=nextProps,enqueueConcurrentRenderForLane(current,nextProps),scheduleUpdateOnFiber(JSCompiler_temp,current,nextProps),SelectiveHydrationException;isSuspenseInstancePending(nextInstance)||renderDidSuspendDelayIfPossible(),workInProgress2=retrySuspenseComponentWithoutHydrating(current,workInProgress2,renderLanes2)}else isSuspenseInstancePending(nextInstance)?(workInProgress2.flags|=192,workInProgress2.child=current.child,workInProgress2=null):(current=JSCompiler_temp$jscomp$0.treeContext,supportsHydration&&(nextHydratableInstance=getFirstHydratableChildWithinSuspenseInstance(nextInstance),hydrationParentFiber=workInProgress2,isHydrating=!0,hydrationErrors=null,rootOrSingletonContext=!1,current!==null&&(idStack[idStackIndex++]=treeContextId,idStack[idStackIndex++]=treeContextOverflow,idStack[idStackIndex++]=treeContextProvider,treeContextId=current.id,treeContextOverflow=current.overflow,treeContextProvider=workInProgress2)),workInProgress2=mountSuspensePrimaryChildren(workInProgress2,nextProps.children),workInProgress2.flags|=4096);return workInProgress2}if(showFallback)return reuseSuspenseHandlerOnStack(workInProgress2),showFallback=nextProps.fallback,nextInstance=workInProgress2.mode,JSCompiler_temp$jscomp$0=current.child,didSuspend=JSCompiler_temp$jscomp$0.sibling,nextProps=createWorkInProgress(JSCompiler_temp$jscomp$0,{mode:"hidden",children:nextProps.children}),nextProps.subtreeFlags=JSCompiler_temp$jscomp$0.subtreeFlags&65011712,didSuspend!==null?showFallback=createWorkInProgress(didSuspend,showFallback):(showFallback=createFiberFromFragment(showFallback,nextInstance,renderLanes2,null),showFallback.flags|=2),showFallback.return=workInProgress2,nextProps.return=workInProgress2,nextProps.sibling=showFallback,workInProgress2.child=nextProps,nextProps=showFallback,showFallback=workInProgress2.child,nextInstance=current.child.memoizedState,nextInstance===null?nextInstance=mountSuspenseOffscreenState(renderLanes2):(JSCompiler_temp$jscomp$0=nextInstance.cachePool,JSCompiler_temp$jscomp$0!==null?(didSuspend=isPrimaryRenderer?CacheContext._currentValue:CacheContext._currentValue2,JSCompiler_temp$jscomp$0=JSCompiler_temp$jscomp$0.parent!==didSuspend?{parent:didSuspend,pool:didSuspend}:JSCompiler_temp$jscomp$0):JSCompiler_temp$jscomp$0=getSuspendedCache(),nextInstance={baseLanes:nextInstance.baseLanes|renderLanes2,cachePool:JSCompiler_temp$jscomp$0}),showFallback.memoizedState=nextInstance,showFallback.childLanes=getRemainingWorkInPrimaryTree(current,JSCompiler_temp,renderLanes2),workInProgress2.memoizedState=SUSPENDED_MARKER,nextProps;return pushPrimaryTreeSuspenseHandler(workInProgress2),renderLanes2=current.child,current=renderLanes2.sibling,renderLanes2=createWorkInProgress(renderLanes2,{mode:"visible",children:nextProps.children}),renderLanes2.return=workInProgress2,renderLanes2.sibling=null,current!==null&&(JSCompiler_temp=workInProgress2.deletions,JSCompiler_temp===null?(workInProgress2.deletions=[current],workInProgress2.flags|=16):JSCompiler_temp.push(current)),workInProgress2.child=renderLanes2,workInProgress2.memoizedState=null,renderLanes2}function mountSuspensePrimaryChildren(workInProgress2,primaryChildren){return primaryChildren=mountWorkInProgressOffscreenFiber({mode:"visible",children:primaryChildren},workInProgress2.mode),primaryChildren.return=workInProgress2,workInProgress2.child=primaryChildren}function mountWorkInProgressOffscreenFiber(offscreenProps,mode){return offscreenProps=createFiber(22,offscreenProps,null,mode),offscreenProps.lanes=0,offscreenProps.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},offscreenProps}function retrySuspenseComponentWithoutHydrating(current,workInProgress2,renderLanes2){return reconcileChildFibers(workInProgress2,current.child,null,renderLanes2),current=mountSuspensePrimaryChildren(workInProgress2,workInProgress2.pendingProps.children),current.flags|=2,workInProgress2.memoizedState=null,current}function scheduleSuspenseWorkOnFiber(fiber,renderLanes2,propagationRoot){fiber.lanes|=renderLanes2;var alternate=fiber.alternate;alternate!==null&&(alternate.lanes|=renderLanes2),scheduleContextWorkOnParentPath(fiber.return,renderLanes2,propagationRoot)}function initSuspenseListRenderState(workInProgress2,isBackwards,tail,lastContentRow,tailMode){var renderState=workInProgress2.memoizedState;renderState===null?workInProgress2.memoizedState={isBackwards,rendering:null,renderingStartTime:0,last:lastContentRow,tail,tailMode}:(renderState.isBackwards=isBackwards,renderState.rendering=null,renderState.renderingStartTime=0,renderState.last=lastContentRow,renderState.tail=tail,renderState.tailMode=tailMode)}function updateSuspenseListComponent(current,workInProgress2,renderLanes2){var nextProps=workInProgress2.pendingProps,revealOrder=nextProps.revealOrder,tailMode=nextProps.tail;if(reconcileChildren(current,workInProgress2,nextProps.children,renderLanes2),nextProps=suspenseStackCursor.current,(nextProps&2)!==0)nextProps=nextProps&1|2,workInProgress2.flags|=128;else{if(current!==null&&(current.flags&128)!==0)a:for(current=workInProgress2.child;current!==null;){if(current.tag===13)current.memoizedState!==null&&scheduleSuspenseWorkOnFiber(current,renderLanes2,workInProgress2);else if(current.tag===19)scheduleSuspenseWorkOnFiber(current,renderLanes2,workInProgress2);else if(current.child!==null){current.child.return=current,current=current.child;continue}if(current===workInProgress2)break a;for(;current.sibling===null;){if(current.return===null||current.return===workInProgress2)break a;current=current.return}current.sibling.return=current.return,current=current.sibling}nextProps&=1}switch(push2(suspenseStackCursor,nextProps),revealOrder){case"forwards":renderLanes2=workInProgress2.child;for(revealOrder=null;renderLanes2!==null;)current=renderLanes2.alternate,current!==null&&findFirstSuspended(current)===null&&(revealOrder=renderLanes2),renderLanes2=renderLanes2.sibling;renderLanes2=revealOrder,renderLanes2===null?(revealOrder=workInProgress2.child,workInProgress2.child=null):(revealOrder=renderLanes2.sibling,renderLanes2.sibling=null),initSuspenseListRenderState(workInProgress2,!1,revealOrder,renderLanes2,tailMode);break;case"backwards":renderLanes2=null,revealOrder=workInProgress2.child;for(workInProgress2.child=null;revealOrder!==null;){if(current=revealOrder.alternate,current!==null&&findFirstSuspended(current)===null){workInProgress2.child=revealOrder;break}current=revealOrder.sibling,revealOrder.sibling=renderLanes2,renderLanes2=revealOrder,revealOrder=current}initSuspenseListRenderState(workInProgress2,!0,renderLanes2,null,tailMode);break;case"together":initSuspenseListRenderState(workInProgress2,!1,null,null,void 0);break;default:workInProgress2.memoizedState=null}return workInProgress2.child}function bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2){if(current!==null&&(workInProgress2.dependencies=current.dependencies),workInProgressRootSkippedLanes|=workInProgress2.lanes,(renderLanes2&workInProgress2.childLanes)===0)if(current!==null){if(propagateParentContextChanges(current,workInProgress2,renderLanes2,!1),(renderLanes2&workInProgress2.childLanes)===0)return null}else return null;if(current!==null&&workInProgress2.child!==current.child)throw Error(formatProdErrorMessage(153));if(workInProgress2.child!==null){current=workInProgress2.child,renderLanes2=createWorkInProgress(current,current.pendingProps),workInProgress2.child=renderLanes2;for(renderLanes2.return=workInProgress2;current.sibling!==null;)current=current.sibling,renderLanes2=renderLanes2.sibling=createWorkInProgress(current,current.pendingProps),renderLanes2.return=workInProgress2;renderLanes2.sibling=null}return workInProgress2.child}function checkScheduledUpdateOrContext(current,renderLanes2){if((current.lanes&renderLanes2)!==0)return!0;return current=current.dependencies,current!==null&&checkIfContextChanged(current)?!0:!1}function attemptEarlyBailoutIfNoScheduledUpdate(current,workInProgress2,renderLanes2){switch(workInProgress2.tag){case 3:pushHostContainer(workInProgress2,workInProgress2.stateNode.containerInfo),pushProvider(workInProgress2,CacheContext,current.memoizedState.cache),resetHydrationState();break;case 27:case 5:pushHostContext(workInProgress2);break;case 4:pushHostContainer(workInProgress2,workInProgress2.stateNode.containerInfo);break;case 10:pushProvider(workInProgress2,workInProgress2.type,workInProgress2.memoizedProps.value);break;case 13:var state=workInProgress2.memoizedState;if(state!==null){if(state.dehydrated!==null)return pushPrimaryTreeSuspenseHandler(workInProgress2),workInProgress2.flags|=128,null;if((renderLanes2&workInProgress2.child.childLanes)!==0)return updateSuspenseComponent(current,workInProgress2,renderLanes2);return pushPrimaryTreeSuspenseHandler(workInProgress2),current=bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2),current!==null?current.sibling:null}pushPrimaryTreeSuspenseHandler(workInProgress2);break;case 19:var didSuspendBefore=(current.flags&128)!==0;if(state=(renderLanes2&workInProgress2.childLanes)!==0,state||(propagateParentContextChanges(current,workInProgress2,renderLanes2,!1),state=(renderLanes2&workInProgress2.childLanes)!==0),didSuspendBefore){if(state)return updateSuspenseListComponent(current,workInProgress2,renderLanes2);workInProgress2.flags|=128}if(didSuspendBefore=workInProgress2.memoizedState,didSuspendBefore!==null&&(didSuspendBefore.rendering=null,didSuspendBefore.tail=null,didSuspendBefore.lastEffect=null),push2(suspenseStackCursor,suspenseStackCursor.current),state)break;else return null;case 22:case 23:return workInProgress2.lanes=0,updateOffscreenComponent(current,workInProgress2,renderLanes2);case 24:pushProvider(workInProgress2,CacheContext,current.memoizedState.cache)}return bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2)}function beginWork(current,workInProgress2,renderLanes2){if(current!==null)if(current.memoizedProps!==workInProgress2.pendingProps)didReceiveUpdate=!0;else{if(!checkScheduledUpdateOrContext(current,renderLanes2)&&(workInProgress2.flags&128)===0)return didReceiveUpdate=!1,attemptEarlyBailoutIfNoScheduledUpdate(current,workInProgress2,renderLanes2);didReceiveUpdate=(current.flags&131072)!==0?!0:!1}else didReceiveUpdate=!1,isHydrating&&(workInProgress2.flags&1048576)!==0&&pushTreeId(workInProgress2,treeForkCount,workInProgress2.index);switch(workInProgress2.lanes=0,workInProgress2.tag){case 16:a:{current=workInProgress2.pendingProps;var lazyComponent=workInProgress2.elementType,init=lazyComponent._init;if(lazyComponent=init(lazyComponent._payload),workInProgress2.type=lazyComponent,typeof lazyComponent==="function")shouldConstruct(lazyComponent)?(current=resolveClassComponentProps(lazyComponent,current),workInProgress2.tag=1,workInProgress2=updateClassComponent(null,workInProgress2,lazyComponent,current,renderLanes2)):(workInProgress2.tag=0,workInProgress2=updateFunctionComponent(null,workInProgress2,lazyComponent,current,renderLanes2));else{if(lazyComponent!==void 0&&lazyComponent!==null){if(init=lazyComponent.$$typeof,init===REACT_FORWARD_REF_TYPE){workInProgress2.tag=11,workInProgress2=updateForwardRef(null,workInProgress2,lazyComponent,current,renderLanes2);break a}else if(init===REACT_MEMO_TYPE){workInProgress2.tag=14,workInProgress2=updateMemoComponent(null,workInProgress2,lazyComponent,current,renderLanes2);break a}}throw workInProgress2=getComponentNameFromType(lazyComponent)||lazyComponent,Error(formatProdErrorMessage(306,workInProgress2,""))}}return workInProgress2;case 0:return updateFunctionComponent(current,workInProgress2,workInProgress2.type,workInProgress2.pendingProps,renderLanes2);case 1:return lazyComponent=workInProgress2.type,init=resolveClassComponentProps(lazyComponent,workInProgress2.pendingProps),updateClassComponent(current,workInProgress2,lazyComponent,init,renderLanes2);case 3:a:{if(pushHostContainer(workInProgress2,workInProgress2.stateNode.containerInfo),current===null)throw Error(formatProdErrorMessage(387));var nextProps=workInProgress2.pendingProps;init=workInProgress2.memoizedState,lazyComponent=init.element,cloneUpdateQueue(current,workInProgress2),processUpdateQueue(workInProgress2,nextProps,null,renderLanes2);var nextState=workInProgress2.memoizedState;if(nextProps=nextState.cache,pushProvider(workInProgress2,CacheContext,nextProps),nextProps!==init.cache&&propagateContextChanges(workInProgress2,[CacheContext],renderLanes2,!0),suspendIfUpdateReadFromEntangledAsyncAction(),nextProps=nextState.element,supportsHydration&&init.isDehydrated)if(init={element:nextProps,isDehydrated:!1,cache:nextState.cache},workInProgress2.updateQueue.baseState=init,workInProgress2.memoizedState=init,workInProgress2.flags&256){workInProgress2=mountHostRootWithoutHydrating(current,workInProgress2,nextProps,renderLanes2);break a}else if(nextProps!==lazyComponent){lazyComponent=createCapturedValueAtFiber(Error(formatProdErrorMessage(424)),workInProgress2),queueHydrationError(lazyComponent),workInProgress2=mountHostRootWithoutHydrating(current,workInProgress2,nextProps,renderLanes2);break a}else for(supportsHydration&&(nextHydratableInstance=getFirstHydratableChildWithinContainer(workInProgress2.stateNode.containerInfo),hydrationParentFiber=workInProgress2,isHydrating=!0,hydrationErrors=null,rootOrSingletonContext=!0),renderLanes2=mountChildFibers(workInProgress2,null,nextProps,renderLanes2),workInProgress2.child=renderLanes2;renderLanes2;)renderLanes2.flags=renderLanes2.flags&-3|4096,renderLanes2=renderLanes2.sibling;else{if(resetHydrationState(),nextProps===lazyComponent){workInProgress2=bailoutOnAlreadyFinishedWork(current,workInProgress2,renderLanes2);break a}reconcileChildren(current,workInProgress2,nextProps,renderLanes2)}workInProgress2=workInProgress2.child}return workInProgress2;case 26:if(supportsResources)return markRef(current,workInProgress2),current===null?(renderLanes2=getResource(workInProgress2.type,null,workInProgress2.pendingProps,null))?workInProgress2.memoizedState=renderLanes2:isHydrating||(workInProgress2.stateNode=createHoistableInstance(workInProgress2.type,workInProgress2.pendingProps,rootInstanceStackCursor.current,workInProgress2)):workInProgress2.memoizedState=getResource(workInProgress2.type,current.memoizedProps,workInProgress2.pendingProps,current.memoizedState),null;case 27:if(supportsSingletons)return pushHostContext(workInProgress2),current===null&&supportsSingletons&&isHydrating&&(lazyComponent=workInProgress2.stateNode=resolveSingletonInstance(workInProgress2.type,workInProgress2.pendingProps,rootInstanceStackCursor.current,contextStackCursor.current,!1),hydrationParentFiber=workInProgress2,rootOrSingletonContext=!0,nextHydratableInstance=getFirstHydratableChildWithinSingleton(workInProgress2.type,lazyComponent,nextHydratableInstance)),reconcileChildren(current,workInProgress2,workInProgress2.pendingProps.children,renderLanes2),markRef(current,workInProgress2),current===null&&(workInProgress2.flags|=4194304),workInProgress2.child;case 5:if(current===null&&isHydrating){if(validateHydratableInstance(workInProgress2.type,workInProgress2.pendingProps,contextStackCursor.current),init=lazyComponent=nextHydratableInstance)lazyComponent=canHydrateInstance(lazyComponent,workInProgress2.type,workInProgress2.pendingProps,rootOrSingletonContext),lazyComponent!==null?(workInProgress2.stateNode=lazyComponent,hydrationParentFiber=workInProgress2,nextHydratableInstance=getFirstHydratableChild(lazyComponent),rootOrSingletonContext=!1,init=!0):init=!1;init||throwOnHydrationMismatch(workInProgress2)}return pushHostContext(workInProgress2),init=workInProgress2.type,nextProps=workInProgress2.pendingProps,nextState=current!==null?current.memoizedProps:null,lazyComponent=nextProps.children,shouldSetTextContent(init,nextProps)?lazyComponent=null:nextState!==null&&shouldSetTextContent(init,nextState)&&(workInProgress2.flags|=32),workInProgress2.memoizedState!==null&&(init=renderWithHooks(current,workInProgress2,TransitionAwareHostComponent,null,null,renderLanes2),isPrimaryRenderer?HostTransitionContext._currentValue=init:HostTransitionContext._currentValue2=init),markRef(current,workInProgress2),reconcileChildren(current,workInProgress2,lazyComponent,renderLanes2),workInProgress2.child;case 6:if(current===null&&isHydrating){if(validateHydratableTextInstance(workInProgress2.pendingProps,contextStackCursor.current),current=renderLanes2=nextHydratableInstance)renderLanes2=canHydrateTextInstance(renderLanes2,workInProgress2.pendingProps,rootOrSingletonContext),renderLanes2!==null?(workInProgress2.stateNode=renderLanes2,hydrationParentFiber=workInProgress2,nextHydratableInstance=null,current=!0):current=!1;current||throwOnHydrationMismatch(workInProgress2)}return null;case 13:return updateSuspenseComponent(current,workInProgress2,renderLanes2);case 4:return pushHostContainer(workInProgress2,workInProgress2.stateNode.containerInfo),lazyComponent=workInProgress2.pendingProps,current===null?workInProgress2.child=reconcileChildFibers(workInProgress2,null,lazyComponent,renderLanes2):reconcileChildren(current,workInProgress2,lazyComponent,renderLanes2),workInProgress2.child;case 11:return updateForwardRef(current,workInProgress2,workInProgress2.type,workInProgress2.pendingProps,renderLanes2);case 7:return reconcileChildren(current,workInProgress2,workInProgress2.pendingProps,renderLanes2),workInProgress2.child;case 8:return reconcileChildren(current,workInProgress2,workInProgress2.pendingProps.children,renderLanes2),workInProgress2.child;case 12:return reconcileChildren(current,workInProgress2,workInProgress2.pendingProps.children,renderLanes2),workInProgress2.child;case 10:return lazyComponent=workInProgress2.pendingProps,pushProvider(workInProgress2,workInProgress2.type,lazyComponent.value),reconcileChildren(current,workInProgress2,lazyComponent.children,renderLanes2),workInProgress2.child;case 9:return init=workInProgress2.type._context,lazyComponent=workInProgress2.pendingProps.children,prepareToReadContext(workInProgress2),init=readContext(init),lazyComponent=lazyComponent(init),workInProgress2.flags|=1,reconcileChildren(current,workInProgress2,lazyComponent,renderLanes2),workInProgress2.child;case 14:return updateMemoComponent(current,workInProgress2,workInProgress2.type,workInProgress2.pendingProps,renderLanes2);case 15:return updateSimpleMemoComponent(current,workInProgress2,workInProgress2.type,workInProgress2.pendingProps,renderLanes2);case 19:return updateSuspenseListComponent(current,workInProgress2,renderLanes2);case 31:return lazyComponent=workInProgress2.pendingProps,renderLanes2=workInProgress2.mode,lazyComponent={mode:lazyComponent.mode,children:lazyComponent.children},current===null?(renderLanes2=mountWorkInProgressOffscreenFiber(lazyComponent,renderLanes2),renderLanes2.ref=workInProgress2.ref,workInProgress2.child=renderLanes2,renderLanes2.return=workInProgress2,workInProgress2=renderLanes2):(renderLanes2=createWorkInProgress(current.child,lazyComponent),renderLanes2.ref=workInProgress2.ref,workInProgress2.child=renderLanes2,renderLanes2.return=workInProgress2,workInProgress2=renderLanes2),workInProgress2;case 22:return updateOffscreenComponent(current,workInProgress2,renderLanes2);case 24:return prepareToReadContext(workInProgress2),lazyComponent=readContext(CacheContext),current===null?(init=peekCacheFromPool(),init===null&&(init=workInProgressRoot,nextProps=createCache(),init.pooledCache=nextProps,nextProps.refCount++,nextProps!==null&&(init.pooledCacheLanes|=renderLanes2),init=nextProps),workInProgress2.memoizedState={parent:lazyComponent,cache:init},initializeUpdateQueue(workInProgress2),pushProvider(workInProgress2,CacheContext,init)):((current.lanes&renderLanes2)!==0&&(cloneUpdateQueue(current,workInProgress2),processUpdateQueue(workInProgress2,null,null,renderLanes2),suspendIfUpdateReadFromEntangledAsyncAction()),init=current.memoizedState,nextProps=workInProgress2.memoizedState,init.parent!==lazyComponent?(init={parent:lazyComponent,cache:lazyComponent},workInProgress2.memoizedState=init,workInProgress2.lanes===0&&(workInProgress2.memoizedState=workInProgress2.updateQueue.baseState=init),pushProvider(workInProgress2,CacheContext,lazyComponent)):(lazyComponent=nextProps.cache,pushProvider(workInProgress2,CacheContext,lazyComponent),lazyComponent!==init.cache&&propagateContextChanges(workInProgress2,[CacheContext],renderLanes2,!0))),reconcileChildren(current,workInProgress2,workInProgress2.pendingProps.children,renderLanes2),workInProgress2.child;case 29:throw workInProgress2.pendingProps}throw Error(formatProdErrorMessage(156,workInProgress2.tag))}function markUpdate(workInProgress2){workInProgress2.flags|=4}function doesRequireClone(current,completedWork){if(current!==null&&current.child===completedWork.child)return!1;if((completedWork.flags&16)!==0)return!0;for(current=completedWork.child;current!==null;){if((current.flags&13878)!==0||(current.subtreeFlags&13878)!==0)return!0;current=current.sibling}return!1}function appendAllChildren(parent,workInProgress2,needsVisibilityToggle,isHidden){if(supportsMutation)for(needsVisibilityToggle=workInProgress2.child;needsVisibilityToggle!==null;){if(needsVisibilityToggle.tag===5||needsVisibilityToggle.tag===6)appendInitialChild(parent,needsVisibilityToggle.stateNode);else if(!(needsVisibilityToggle.tag===4||supportsSingletons&&needsVisibilityToggle.tag===27)&&needsVisibilityToggle.child!==null){needsVisibilityToggle.child.return=needsVisibilityToggle,needsVisibilityToggle=needsVisibilityToggle.child;continue}if(needsVisibilityToggle===workInProgress2)break;for(;needsVisibilityToggle.sibling===null;){if(needsVisibilityToggle.return===null||needsVisibilityToggle.return===workInProgress2)return;needsVisibilityToggle=needsVisibilityToggle.return}needsVisibilityToggle.sibling.return=needsVisibilityToggle.return,needsVisibilityToggle=needsVisibilityToggle.sibling}else if(supportsPersistence)for(var node$93=workInProgress2.child;node$93!==null;){if(node$93.tag===5){var instance=node$93.stateNode;needsVisibilityToggle&&isHidden&&(instance=cloneHiddenInstance(instance,node$93.type,node$93.memoizedProps)),appendInitialChild(parent,instance)}else if(node$93.tag===6)instance=node$93.stateNode,needsVisibilityToggle&&isHidden&&(instance=cloneHiddenTextInstance(instance,node$93.memoizedProps)),appendInitialChild(parent,instance);else if(node$93.tag!==4){if(node$93.tag===22&&node$93.memoizedState!==null)instance=node$93.child,instance!==null&&(instance.return=node$93),appendAllChildren(parent,node$93,!0,!0);else if(node$93.child!==null){node$93.child.return=node$93,node$93=node$93.child;continue}}if(node$93===workInProgress2)break;for(;node$93.sibling===null;){if(node$93.return===null||node$93.return===workInProgress2)return;node$93=node$93.return}node$93.sibling.return=node$93.return,node$93=node$93.sibling}}function appendAllChildrenToContainer(containerChildSet,workInProgress2,needsVisibilityToggle,isHidden){var hasOffscreenComponentChild=!1;if(supportsPersistence)for(var node=workInProgress2.child;node!==null;){if(node.tag===5){var instance=node.stateNode;needsVisibilityToggle&&isHidden&&(instance=cloneHiddenInstance(instance,node.type,node.memoizedProps)),appendChildToContainerChildSet(containerChildSet,instance)}else if(node.tag===6)instance=node.stateNode,needsVisibilityToggle&&isHidden&&(instance=cloneHiddenTextInstance(instance,node.memoizedProps)),appendChildToContainerChildSet(containerChildSet,instance);else if(node.tag!==4){if(node.tag===22&&node.memoizedState!==null)hasOffscreenComponentChild=node.child,hasOffscreenComponentChild!==null&&(hasOffscreenComponentChild.return=node),appendAllChildrenToContainer(containerChildSet,node,!0,!0),hasOffscreenComponentChild=!0;else if(node.child!==null){node.child.return=node,node=node.child;continue}}if(node===workInProgress2)break;for(;node.sibling===null;){if(node.return===null||node.return===workInProgress2)return hasOffscreenComponentChild;node=node.return}node.sibling.return=node.return,node=node.sibling}return hasOffscreenComponentChild}function updateHostContainer(current,workInProgress2){if(supportsPersistence&&doesRequireClone(current,workInProgress2)){current=workInProgress2.stateNode;var container=current.containerInfo,newChildSet=createContainerChildSet();appendAllChildrenToContainer(newChildSet,workInProgress2,!1,!1),current.pendingChildren=newChildSet,markUpdate(workInProgress2),finalizeContainerChildren(container,newChildSet)}}function updateHostComponent(current,workInProgress2,type,newProps){if(supportsMutation)current.memoizedProps!==newProps&&markUpdate(workInProgress2);else if(supportsPersistence){var{stateNode:currentInstance,memoizedProps:oldProps$96}=current;if((current=doesRequireClone(current,workInProgress2))||oldProps$96!==newProps){var currentHostContext=contextStackCursor.current;oldProps$96=cloneInstance(currentInstance,type,oldProps$96,newProps,!current,null),oldProps$96===currentInstance?workInProgress2.stateNode=currentInstance:(finalizeInitialChildren(oldProps$96,type,newProps,currentHostContext)&&markUpdate(workInProgress2),workInProgress2.stateNode=oldProps$96,current?appendAllChildren(oldProps$96,workInProgress2,!1,!1):markUpdate(workInProgress2))}else workInProgress2.stateNode=currentInstance}}function preloadInstanceAndSuspendIfNeeded(workInProgress2,type,props){if(maySuspendCommit(type,props)){if(workInProgress2.flags|=16777216,!preloadInstance(type,props))if(shouldRemainOnPreviousScreen())workInProgress2.flags|=8192;else throw suspendedThenable=noopSuspenseyCommitThenable,SuspenseyCommitException}else workInProgress2.flags&=-16777217}function preloadResourceAndSuspendIfNeeded(workInProgress2,resource){if(mayResourceSuspendCommit(resource)){if(workInProgress2.flags|=16777216,!preloadResource(resource))if(shouldRemainOnPreviousScreen())workInProgress2.flags|=8192;else throw suspendedThenable=noopSuspenseyCommitThenable,SuspenseyCommitException}else workInProgress2.flags&=-16777217}function scheduleRetryEffect(workInProgress2,retryQueue){retryQueue!==null&&(workInProgress2.flags|=4),workInProgress2.flags&16384&&(retryQueue=workInProgress2.tag!==22?claimNextRetryLane():536870912,workInProgress2.lanes|=retryQueue,workInProgressSuspendedRetryLanes|=retryQueue)}function cutOffTailIfNeeded(renderState,hasRenderedATailFallback){if(!isHydrating)switch(renderState.tailMode){case"hidden":hasRenderedATailFallback=renderState.tail;for(var lastTailNode=null;hasRenderedATailFallback!==null;)hasRenderedATailFallback.alternate!==null&&(lastTailNode=hasRenderedATailFallback),hasRenderedATailFallback=hasRenderedATailFallback.sibling;lastTailNode===null?renderState.tail=null:lastTailNode.sibling=null;break;case"collapsed":lastTailNode=renderState.tail;for(var lastTailNode$98=null;lastTailNode!==null;)lastTailNode.alternate!==null&&(lastTailNode$98=lastTailNode),lastTailNode=lastTailNode.sibling;lastTailNode$98===null?hasRenderedATailFallback||renderState.tail===null?renderState.tail=null:renderState.tail.sibling=null:lastTailNode$98.sibling=null}}function bubbleProperties(completedWork){var didBailout=completedWork.alternate!==null&&completedWork.alternate.child===completedWork.child,newChildLanes=0,subtreeFlags=0;if(didBailout)for(var child$99=completedWork.child;child$99!==null;)newChildLanes|=child$99.lanes|child$99.childLanes,subtreeFlags|=child$99.subtreeFlags&65011712,subtreeFlags|=child$99.flags&65011712,child$99.return=completedWork,child$99=child$99.sibling;else for(child$99=completedWork.child;child$99!==null;)newChildLanes|=child$99.lanes|child$99.childLanes,subtreeFlags|=child$99.subtreeFlags,subtreeFlags|=child$99.flags,child$99.return=completedWork,child$99=child$99.sibling;return completedWork.subtreeFlags|=subtreeFlags,completedWork.childLanes=newChildLanes,didBailout}function completeWork(current,workInProgress2,renderLanes2){var newProps=workInProgress2.pendingProps;switch(popTreeContext(workInProgress2),workInProgress2.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return bubbleProperties(workInProgress2),null;case 1:return bubbleProperties(workInProgress2),null;case 3:if(renderLanes2=workInProgress2.stateNode,newProps=null,current!==null&&(newProps=current.memoizedState.cache),workInProgress2.memoizedState.cache!==newProps&&(workInProgress2.flags|=2048),popProvider(CacheContext),popHostContainer(),renderLanes2.pendingContext&&(renderLanes2.context=renderLanes2.pendingContext,renderLanes2.pendingContext=null),current===null||current.child===null)popHydrationState(workInProgress2)?markUpdate(workInProgress2):current===null||current.memoizedState.isDehydrated&&(workInProgress2.flags&256)===0||(workInProgress2.flags|=1024,upgradeHydrationErrorsToRecoverable());return updateHostContainer(current,workInProgress2),bubbleProperties(workInProgress2),null;case 26:if(supportsResources){renderLanes2=workInProgress2.type;var nextResource=workInProgress2.memoizedState;return current===null?(markUpdate(workInProgress2),nextResource!==null?(bubbleProperties(workInProgress2),preloadResourceAndSuspendIfNeeded(workInProgress2,nextResource)):(bubbleProperties(workInProgress2),preloadInstanceAndSuspendIfNeeded(workInProgress2,renderLanes2,newProps))):nextResource?nextResource!==current.memoizedState?(markUpdate(workInProgress2),bubbleProperties(workInProgress2),preloadResourceAndSuspendIfNeeded(workInProgress2,nextResource)):(bubbleProperties(workInProgress2),workInProgress2.flags&=-16777217):(supportsMutation?current.memoizedProps!==newProps&&markUpdate(workInProgress2):updateHostComponent(current,workInProgress2,renderLanes2,newProps),bubbleProperties(workInProgress2),preloadInstanceAndSuspendIfNeeded(workInProgress2,renderLanes2,newProps)),null}case 27:if(supportsSingletons){if(popHostContext(workInProgress2),renderLanes2=rootInstanceStackCursor.current,nextResource=workInProgress2.type,current!==null&&workInProgress2.stateNode!=null)supportsMutation?current.memoizedProps!==newProps&&markUpdate(workInProgress2):updateHostComponent(current,workInProgress2,nextResource,newProps);else{if(!newProps){if(workInProgress2.stateNode===null)throw Error(formatProdErrorMessage(166));return bubbleProperties(workInProgress2),null}current=contextStackCursor.current,popHydrationState(workInProgress2)?prepareToHydrateHostInstance(workInProgress2,current):(current=resolveSingletonInstance(nextResource,newProps,renderLanes2,current,!0),workInProgress2.stateNode=current,markUpdate(workInProgress2))}return bubbleProperties(workInProgress2),null}case 5:if(popHostContext(workInProgress2),renderLanes2=workInProgress2.type,current!==null&&workInProgress2.stateNode!=null)updateHostComponent(current,workInProgress2,renderLanes2,newProps);else{if(!newProps){if(workInProgress2.stateNode===null)throw Error(formatProdErrorMessage(166));return bubbleProperties(workInProgress2),null}current=contextStackCursor.current,popHydrationState(workInProgress2)?prepareToHydrateHostInstance(workInProgress2,current):(nextResource=createInstance(renderLanes2,newProps,rootInstanceStackCursor.current,current,workInProgress2),appendAllChildren(nextResource,workInProgress2,!1,!1),workInProgress2.stateNode=nextResource,finalizeInitialChildren(nextResource,renderLanes2,newProps,current)&&markUpdate(workInProgress2))}return bubbleProperties(workInProgress2),preloadInstanceAndSuspendIfNeeded(workInProgress2,workInProgress2.type,workInProgress2.pendingProps),null;case 6:if(current&&workInProgress2.stateNode!=null)renderLanes2=current.memoizedProps,supportsMutation?renderLanes2!==newProps&&markUpdate(workInProgress2):supportsPersistence&&(renderLanes2!==newProps?(workInProgress2.stateNode=createTextInstance(newProps,rootInstanceStackCursor.current,contextStackCursor.current,workInProgress2),markUpdate(workInProgress2)):workInProgress2.stateNode=current.stateNode);else{if(typeof newProps!=="string"&&workInProgress2.stateNode===null)throw Error(formatProdErrorMessage(166));if(current=rootInstanceStackCursor.current,renderLanes2=contextStackCursor.current,popHydrationState(workInProgress2)){if(!supportsHydration)throw Error(formatProdErrorMessage(176));if(current=workInProgress2.stateNode,renderLanes2=workInProgress2.memoizedProps,newProps=null,nextResource=hydrationParentFiber,nextResource!==null)switch(nextResource.tag){case 27:case 5:newProps=nextResource.memoizedProps}hydrateTextInstance(current,renderLanes2,workInProgress2,newProps)||throwOnHydrationMismatch(workInProgress2)}else workInProgress2.stateNode=createTextInstance(newProps,current,renderLanes2,workInProgress2)}return bubbleProperties(workInProgress2),null;case 13:if(newProps=workInProgress2.memoizedState,current===null||current.memoizedState!==null&&current.memoizedState.dehydrated!==null){if(nextResource=popHydrationState(workInProgress2),newProps!==null&&newProps.dehydrated!==null){if(current===null){if(!nextResource)throw Error(formatProdErrorMessage(318));if(!supportsHydration)throw Error(formatProdErrorMessage(344));if(nextResource=workInProgress2.memoizedState,nextResource=nextResource!==null?nextResource.dehydrated:null,!nextResource)throw Error(formatProdErrorMessage(317));hydrateSuspenseInstance(nextResource,workInProgress2)}else resetHydrationState(),(workInProgress2.flags&128)===0&&(workInProgress2.memoizedState=null),workInProgress2.flags|=4;bubbleProperties(workInProgress2),nextResource=!1}else nextResource=upgradeHydrationErrorsToRecoverable(),current!==null&&current.memoizedState!==null&&(current.memoizedState.hydrationErrors=nextResource),nextResource=!0;if(!nextResource){if(workInProgress2.flags&256)return popSuspenseHandler(workInProgress2),workInProgress2;return popSuspenseHandler(workInProgress2),null}}if(popSuspenseHandler(workInProgress2),(workInProgress2.flags&128)!==0)return workInProgress2.lanes=renderLanes2,workInProgress2;if(renderLanes2=newProps!==null,current=current!==null&&current.memoizedState!==null,renderLanes2){newProps=workInProgress2.child,nextResource=null,newProps.alternate!==null&&newProps.alternate.memoizedState!==null&&newProps.alternate.memoizedState.cachePool!==null&&(nextResource=newProps.alternate.memoizedState.cachePool.pool);var cache$113=null;newProps.memoizedState!==null&&newProps.memoizedState.cachePool!==null&&(cache$113=newProps.memoizedState.cachePool.pool),cache$113!==nextResource&&(newProps.flags|=2048)}return renderLanes2!==current&&renderLanes2&&(workInProgress2.child.flags|=8192),scheduleRetryEffect(workInProgress2,workInProgress2.updateQueue),bubbleProperties(workInProgress2),null;case 4:return popHostContainer(),updateHostContainer(current,workInProgress2),current===null&&preparePortalMount(workInProgress2.stateNode.containerInfo),bubbleProperties(workInProgress2),null;case 10:return popProvider(workInProgress2.type),bubbleProperties(workInProgress2),null;case 19:if(pop2(suspenseStackCursor),nextResource=workInProgress2.memoizedState,nextResource===null)return bubbleProperties(workInProgress2),null;if(newProps=(workInProgress2.flags&128)!==0,cache$113=nextResource.rendering,cache$113===null)if(newProps)cutOffTailIfNeeded(nextResource,!1);else{if(workInProgressRootExitStatus!==0||current!==null&&(current.flags&128)!==0)for(current=workInProgress2.child;current!==null;){if(cache$113=findFirstSuspended(current),cache$113!==null){workInProgress2.flags|=128,cutOffTailIfNeeded(nextResource,!1),current=cache$113.updateQueue,workInProgress2.updateQueue=current,scheduleRetryEffect(workInProgress2,current),workInProgress2.subtreeFlags=0,current=renderLanes2;for(renderLanes2=workInProgress2.child;renderLanes2!==null;)resetWorkInProgress(renderLanes2,current),renderLanes2=renderLanes2.sibling;return push2(suspenseStackCursor,suspenseStackCursor.current&1|2),workInProgress2.child}current=current.sibling}nextResource.tail!==null&&now()>workInProgressRootRenderTargetTime&&(workInProgress2.flags|=128,newProps=!0,cutOffTailIfNeeded(nextResource,!1),workInProgress2.lanes=4194304)}else{if(!newProps)if(current=findFirstSuspended(cache$113),current!==null){if(workInProgress2.flags|=128,newProps=!0,current=current.updateQueue,workInProgress2.updateQueue=current,scheduleRetryEffect(workInProgress2,current),cutOffTailIfNeeded(nextResource,!0),nextResource.tail===null&&nextResource.tailMode==="hidden"&&!cache$113.alternate&&!isHydrating)return bubbleProperties(workInProgress2),null}else 2*now()-nextResource.renderingStartTime>workInProgressRootRenderTargetTime&&renderLanes2!==536870912&&(workInProgress2.flags|=128,newProps=!0,cutOffTailIfNeeded(nextResource,!1),workInProgress2.lanes=4194304);nextResource.isBackwards?(cache$113.sibling=workInProgress2.child,workInProgress2.child=cache$113):(current=nextResource.last,current!==null?current.sibling=cache$113:workInProgress2.child=cache$113,nextResource.last=cache$113)}if(nextResource.tail!==null)return workInProgress2=nextResource.tail,nextResource.rendering=workInProgress2,nextResource.tail=workInProgress2.sibling,nextResource.renderingStartTime=now(),workInProgress2.sibling=null,current=suspenseStackCursor.current,push2(suspenseStackCursor,newProps?current&1|2:current&1),workInProgress2;return bubbleProperties(workInProgress2),null;case 22:case 23:return popSuspenseHandler(workInProgress2),popHiddenContext(),newProps=workInProgress2.memoizedState!==null,current!==null?current.memoizedState!==null!==newProps&&(workInProgress2.flags|=8192):newProps&&(workInProgress2.flags|=8192),newProps?(renderLanes2&536870912)!==0&&(workInProgress2.flags&128)===0&&(bubbleProperties(workInProgress2),workInProgress2.subtreeFlags&6&&(workInProgress2.flags|=8192)):bubbleProperties(workInProgress2),renderLanes2=workInProgress2.updateQueue,renderLanes2!==null&&scheduleRetryEffect(workInProgress2,renderLanes2.retryQueue),renderLanes2=null,current!==null&&current.memoizedState!==null&&current.memoizedState.cachePool!==null&&(renderLanes2=current.memoizedState.cachePool.pool),newProps=null,workInProgress2.memoizedState!==null&&workInProgress2.memoizedState.cachePool!==null&&(newProps=workInProgress2.memoizedState.cachePool.pool),newProps!==renderLanes2&&(workInProgress2.flags|=2048),current!==null&&pop2(resumedCache),null;case 24:return renderLanes2=null,current!==null&&(renderLanes2=current.memoizedState.cache),workInProgress2.memoizedState.cache!==renderLanes2&&(workInProgress2.flags|=2048),popProvider(CacheContext),bubbleProperties(workInProgress2),null;case 25:return null;case 30:return null}throw Error(formatProdErrorMessage(156,workInProgress2.tag))}function unwindWork(current,workInProgress2){switch(popTreeContext(workInProgress2),workInProgress2.tag){case 1:return current=workInProgress2.flags,current&65536?(workInProgress2.flags=current&-65537|128,workInProgress2):null;case 3:return popProvider(CacheContext),popHostContainer(),current=workInProgress2.flags,(current&65536)!==0&&(current&128)===0?(workInProgress2.flags=current&-65537|128,workInProgress2):null;case 26:case 27:case 5:return popHostContext(workInProgress2),null;case 13:if(popSuspenseHandler(workInProgress2),current=workInProgress2.memoizedState,current!==null&&current.dehydrated!==null){if(workInProgress2.alternate===null)throw Error(formatProdErrorMessage(340));resetHydrationState()}return current=workInProgress2.flags,current&65536?(workInProgress2.flags=current&-65537|128,workInProgress2):null;case 19:return pop2(suspenseStackCursor),null;case 4:return popHostContainer(),null;case 10:return popProvider(workInProgress2.type),null;case 22:case 23:return popSuspenseHandler(workInProgress2),popHiddenContext(),current!==null&&pop2(resumedCache),current=workInProgress2.flags,current&65536?(workInProgress2.flags=current&-65537|128,workInProgress2):null;case 24:return popProvider(CacheContext),null;case 25:return null;default:return null}}function unwindInterruptedWork(current,interruptedWork){switch(popTreeContext(interruptedWork),interruptedWork.tag){case 3:popProvider(CacheContext),popHostContainer();break;case 26:case 27:case 5:popHostContext(interruptedWork);break;case 4:popHostContainer();break;case 13:popSuspenseHandler(interruptedWork);break;case 19:pop2(suspenseStackCursor);break;case 10:popProvider(interruptedWork.type);break;case 22:case 23:popSuspenseHandler(interruptedWork),popHiddenContext(),current!==null&&pop2(resumedCache);break;case 24:popProvider(CacheContext)}}function commitHookEffectListMount(flags,finishedWork){try{var updateQueue=finishedWork.updateQueue,lastEffect=updateQueue!==null?updateQueue.lastEffect:null;if(lastEffect!==null){var firstEffect=lastEffect.next;updateQueue=firstEffect;do{if((updateQueue.tag&flags)===flags){lastEffect=void 0;var{create,inst}=updateQueue;lastEffect=create(),inst.destroy=lastEffect}updateQueue=updateQueue.next}while(updateQueue!==firstEffect)}}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitHookEffectListUnmount(flags,finishedWork,nearestMountedAncestor$jscomp$0){try{var updateQueue=finishedWork.updateQueue,lastEffect=updateQueue!==null?updateQueue.lastEffect:null;if(lastEffect!==null){var firstEffect=lastEffect.next;updateQueue=firstEffect;do{if((updateQueue.tag&flags)===flags){var inst=updateQueue.inst,destroy=inst.destroy;if(destroy!==void 0){inst.destroy=void 0,lastEffect=finishedWork;var nearestMountedAncestor=nearestMountedAncestor$jscomp$0,destroy_=destroy;try{destroy_()}catch(error){captureCommitPhaseError(lastEffect,nearestMountedAncestor,error)}}}updateQueue=updateQueue.next}while(updateQueue!==firstEffect)}}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitClassCallbacks(finishedWork){var updateQueue=finishedWork.updateQueue;if(updateQueue!==null){var instance=finishedWork.stateNode;try{commitCallbacks(updateQueue,instance)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}}function safelyCallComponentWillUnmount(current,nearestMountedAncestor,instance){instance.props=resolveClassComponentProps(current.type,current.memoizedProps),instance.state=current.memoizedState;try{instance.componentWillUnmount()}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,error)}}function safelyAttachRef(current,nearestMountedAncestor){try{var ref=current.ref;if(ref!==null){switch(current.tag){case 26:case 27:case 5:var instanceToUse=getPublicInstance(current.stateNode);break;case 30:instanceToUse=current.stateNode;break;default:instanceToUse=current.stateNode}typeof ref==="function"?current.refCleanup=ref(instanceToUse):ref.current=instanceToUse}}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,error)}}function safelyDetachRef(current,nearestMountedAncestor){var{ref,refCleanup}=current;if(ref!==null)if(typeof refCleanup==="function")try{refCleanup()}catch(error){captureCommitPhaseError(current,nearestMountedAncestor,error)}finally{current.refCleanup=null,current=current.alternate,current!=null&&(current.refCleanup=null)}else if(typeof ref==="function")try{ref(null)}catch(error$129){captureCommitPhaseError(current,nearestMountedAncestor,error$129)}else ref.current=null}function commitHostMount(finishedWork){var{type,memoizedProps:props,stateNode:instance}=finishedWork;try{commitMount(instance,type,props,finishedWork)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitHostUpdate(finishedWork,newProps,oldProps){try{commitUpdate(finishedWork.stateNode,finishedWork.type,oldProps,newProps,finishedWork)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function isHostParent(fiber){return fiber.tag===5||fiber.tag===3||(supportsResources?fiber.tag===26:!1)||(supportsSingletons?fiber.tag===27&&isSingletonScope(fiber.type):!1)||fiber.tag===4}function getHostSibling(fiber){a:for(;;){for(;fiber.sibling===null;){if(fiber.return===null||isHostParent(fiber.return))return null;fiber=fiber.return}fiber.sibling.return=fiber.return;for(fiber=fiber.sibling;fiber.tag!==5&&fiber.tag!==6&&fiber.tag!==18;){if(supportsSingletons&&fiber.tag===27&&isSingletonScope(fiber.type))continue a;if(fiber.flags&2)continue a;if(fiber.child===null||fiber.tag===4)continue a;else fiber.child.return=fiber,fiber=fiber.child}if(!(fiber.flags&2))return fiber.stateNode}}function insertOrAppendPlacementNodeIntoContainer(node,before,parent){var tag=node.tag;if(tag===5||tag===6)node=node.stateNode,before?insertInContainerBefore(parent,node,before):appendChildToContainer(parent,node);else if(tag!==4&&(supportsSingletons&&tag===27&&isSingletonScope(node.type)&&(parent=node.stateNode,before=null),node=node.child,node!==null))for(insertOrAppendPlacementNodeIntoContainer(node,before,parent),node=node.sibling;node!==null;)insertOrAppendPlacementNodeIntoContainer(node,before,parent),node=node.sibling}function insertOrAppendPlacementNode(node,before,parent){var tag=node.tag;if(tag===5||tag===6)node=node.stateNode,before?insertBefore(parent,node,before):appendChild(parent,node);else if(tag!==4&&(supportsSingletons&&tag===27&&isSingletonScope(node.type)&&(parent=node.stateNode),node=node.child,node!==null))for(insertOrAppendPlacementNode(node,before,parent),node=node.sibling;node!==null;)insertOrAppendPlacementNode(node,before,parent),node=node.sibling}function commitHostPortalContainerChildren(portal,finishedWork,pendingChildren){portal=portal.containerInfo;try{replaceContainerChildren(portal,pendingChildren)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitHostSingletonAcquisition(finishedWork){var{stateNode:singleton2,memoizedProps:props}=finishedWork;try{acquireSingletonInstance(finishedWork.type,props,singleton2,finishedWork)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function commitBeforeMutationEffects(root,firstChild){prepareForCommit(root.containerInfo);for(nextEffect=firstChild;nextEffect!==null;)if(root=nextEffect,firstChild=root.child,(root.subtreeFlags&1024)!==0&&firstChild!==null)firstChild.return=root,nextEffect=firstChild;else for(;nextEffect!==null;){root=nextEffect;var current=root.alternate;switch(firstChild=root.flags,root.tag){case 0:break;case 11:case 15:break;case 1:if((firstChild&1024)!==0&&current!==null){firstChild=void 0;var finishedWork=root,prevProps=current.memoizedProps;current=current.memoizedState;var instance=finishedWork.stateNode;try{var resolvedPrevProps=resolveClassComponentProps(finishedWork.type,prevProps,finishedWork.elementType===finishedWork.type);firstChild=instance.getSnapshotBeforeUpdate(resolvedPrevProps,current),instance.__reactInternalSnapshotBeforeUpdate=firstChild}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}break;case 3:(firstChild&1024)!==0&&supportsMutation&&clearContainer(root.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((firstChild&1024)!==0)throw Error(formatProdErrorMessage(163))}if(firstChild=root.sibling,firstChild!==null){firstChild.return=root.return,nextEffect=firstChild;break}nextEffect=root.return}}function commitLayoutEffectOnFiber(finishedRoot,current,finishedWork){var flags=finishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),flags&4&&commitHookEffectListMount(5,finishedWork);break;case 1:if(recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),flags&4)if(finishedRoot=finishedWork.stateNode,current===null)try{finishedRoot.componentDidMount()}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}else{var prevProps=resolveClassComponentProps(finishedWork.type,current.memoizedProps);current=current.memoizedState;try{finishedRoot.componentDidUpdate(prevProps,current,finishedRoot.__reactInternalSnapshotBeforeUpdate)}catch(error$128){captureCommitPhaseError(finishedWork,finishedWork.return,error$128)}}flags&64&&commitClassCallbacks(finishedWork),flags&512&&safelyAttachRef(finishedWork,finishedWork.return);break;case 3:if(recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),flags&64&&(finishedRoot=finishedWork.updateQueue,finishedRoot!==null)){if(current=null,finishedWork.child!==null)switch(finishedWork.child.tag){case 27:case 5:current=getPublicInstance(finishedWork.child.stateNode);break;case 1:current=finishedWork.child.stateNode}try{commitCallbacks(finishedRoot,current)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}break;case 27:supportsSingletons&&current===null&&flags&4&&commitHostSingletonAcquisition(finishedWork);case 26:case 5:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),current===null&&flags&4&&commitHostMount(finishedWork),flags&512&&safelyAttachRef(finishedWork,finishedWork.return);break;case 12:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork);break;case 13:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),flags&4&&commitSuspenseHydrationCallbacks(finishedRoot,finishedWork),flags&64&&(finishedRoot=finishedWork.memoizedState,finishedRoot!==null&&(finishedRoot=finishedRoot.dehydrated,finishedRoot!==null&&(finishedWork=retryDehydratedSuspenseBoundary.bind(null,finishedWork),registerSuspenseInstanceRetry(finishedRoot,finishedWork))));break;case 22:if(flags=finishedWork.memoizedState!==null||offscreenSubtreeIsHidden,!flags){current=current!==null&&current.memoizedState!==null||offscreenSubtreeWasHidden,prevProps=offscreenSubtreeIsHidden;var prevOffscreenSubtreeWasHidden=offscreenSubtreeWasHidden;offscreenSubtreeIsHidden=flags,(offscreenSubtreeWasHidden=current)&&!prevOffscreenSubtreeWasHidden?recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,(finishedWork.subtreeFlags&8772)!==0):recursivelyTraverseLayoutEffects(finishedRoot,finishedWork),offscreenSubtreeIsHidden=prevProps,offscreenSubtreeWasHidden=prevOffscreenSubtreeWasHidden}break;case 30:break;default:recursivelyTraverseLayoutEffects(finishedRoot,finishedWork)}}function detachFiberAfterEffects(fiber){var alternate=fiber.alternate;alternate!==null&&(fiber.alternate=null,detachFiberAfterEffects(alternate)),fiber.child=null,fiber.deletions=null,fiber.sibling=null,fiber.tag===5&&(alternate=fiber.stateNode,alternate!==null&&detachDeletedInstance(alternate)),fiber.stateNode=null,fiber.return=null,fiber.dependencies=null,fiber.memoizedProps=null,fiber.memoizedState=null,fiber.pendingProps=null,fiber.stateNode=null,fiber.updateQueue=null}function recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,parent){for(parent=parent.child;parent!==null;)commitDeletionEffectsOnFiber(finishedRoot,nearestMountedAncestor,parent),parent=parent.sibling}function commitDeletionEffectsOnFiber(finishedRoot,nearestMountedAncestor,deletedFiber){if(injectedHook&&typeof injectedHook.onCommitFiberUnmount==="function")try{injectedHook.onCommitFiberUnmount(rendererID,deletedFiber)}catch(err){}switch(deletedFiber.tag){case 26:if(supportsResources){offscreenSubtreeWasHidden||safelyDetachRef(deletedFiber,nearestMountedAncestor),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),deletedFiber.memoizedState?releaseResource(deletedFiber.memoizedState):deletedFiber.stateNode&&unmountHoistable(deletedFiber.stateNode);break}case 27:if(supportsSingletons){offscreenSubtreeWasHidden||safelyDetachRef(deletedFiber,nearestMountedAncestor);var prevHostParent=hostParent,prevHostParentIsContainer=hostParentIsContainer;isSingletonScope(deletedFiber.type)&&(hostParent=deletedFiber.stateNode,hostParentIsContainer=!1),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),releaseSingletonInstance(deletedFiber.stateNode),hostParent=prevHostParent,hostParentIsContainer=prevHostParentIsContainer;break}case 5:offscreenSubtreeWasHidden||safelyDetachRef(deletedFiber,nearestMountedAncestor);case 6:if(supportsMutation){if(prevHostParent=hostParent,prevHostParentIsContainer=hostParentIsContainer,hostParent=null,recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),hostParent=prevHostParent,hostParentIsContainer=prevHostParentIsContainer,hostParent!==null)if(hostParentIsContainer)try{removeChildFromContainer(hostParent,deletedFiber.stateNode)}catch(error){captureCommitPhaseError(deletedFiber,nearestMountedAncestor,error)}else try{removeChild(hostParent,deletedFiber.stateNode)}catch(error){captureCommitPhaseError(deletedFiber,nearestMountedAncestor,error)}}else recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 18:supportsMutation&&hostParent!==null&&(hostParentIsContainer?clearSuspenseBoundaryFromContainer(hostParent,deletedFiber.stateNode):clearSuspenseBoundary(hostParent,deletedFiber.stateNode));break;case 4:supportsMutation?(prevHostParent=hostParent,prevHostParentIsContainer=hostParentIsContainer,hostParent=deletedFiber.stateNode.containerInfo,hostParentIsContainer=!0,recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),hostParent=prevHostParent,hostParentIsContainer=prevHostParentIsContainer):(supportsPersistence&&commitHostPortalContainerChildren(deletedFiber.stateNode,deletedFiber,createContainerChildSet()),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber));break;case 0:case 11:case 14:case 15:offscreenSubtreeWasHidden||commitHookEffectListUnmount(2,deletedFiber,nearestMountedAncestor),offscreenSubtreeWasHidden||commitHookEffectListUnmount(4,deletedFiber,nearestMountedAncestor),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 1:offscreenSubtreeWasHidden||(safelyDetachRef(deletedFiber,nearestMountedAncestor),prevHostParent=deletedFiber.stateNode,typeof prevHostParent.componentWillUnmount==="function"&&safelyCallComponentWillUnmount(deletedFiber,nearestMountedAncestor,prevHostParent)),recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 21:recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber);break;case 22:offscreenSubtreeWasHidden=(prevHostParent=offscreenSubtreeWasHidden)||deletedFiber.memoizedState!==null,recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber),offscreenSubtreeWasHidden=prevHostParent;break;default:recursivelyTraverseDeletionEffects(finishedRoot,nearestMountedAncestor,deletedFiber)}}function commitSuspenseHydrationCallbacks(finishedRoot,finishedWork){if(supportsHydration&&finishedWork.memoizedState===null&&(finishedRoot=finishedWork.alternate,finishedRoot!==null&&(finishedRoot=finishedRoot.memoizedState,finishedRoot!==null&&(finishedRoot=finishedRoot.dehydrated,finishedRoot!==null))))try{commitHydratedSuspenseInstance(finishedRoot)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}function getRetryCache(finishedWork){switch(finishedWork.tag){case 13:case 19:var retryCache=finishedWork.stateNode;return retryCache===null&&(retryCache=finishedWork.stateNode=new PossiblyWeakSet),retryCache;case 22:return finishedWork=finishedWork.stateNode,retryCache=finishedWork._retryCache,retryCache===null&&(retryCache=finishedWork._retryCache=new PossiblyWeakSet),retryCache;default:throw Error(formatProdErrorMessage(435,finishedWork.tag))}}function attachSuspenseRetryListeners(finishedWork,wakeables){var retryCache=getRetryCache(finishedWork);wakeables.forEach(function(wakeable){var retry=resolveRetryWakeable.bind(null,finishedWork,wakeable);retryCache.has(wakeable)||(retryCache.add(wakeable),wakeable.then(retry,retry))})}function recursivelyTraverseMutationEffects(root$jscomp$0,parentFiber){var deletions=parentFiber.deletions;if(deletions!==null)for(var i=0;i<deletions.length;i++){var childToDelete=deletions[i],root=root$jscomp$0,returnFiber=parentFiber;if(supportsMutation){var parent=returnFiber;a:for(;parent!==null;){switch(parent.tag){case 27:if(supportsSingletons){if(isSingletonScope(parent.type)){hostParent=parent.stateNode,hostParentIsContainer=!1;break a}break}case 5:hostParent=parent.stateNode,hostParentIsContainer=!1;break a;case 3:case 4:hostParent=parent.stateNode.containerInfo,hostParentIsContainer=!0;break a}parent=parent.return}if(hostParent===null)throw Error(formatProdErrorMessage(160));commitDeletionEffectsOnFiber(root,returnFiber,childToDelete),hostParent=null,hostParentIsContainer=!1}else commitDeletionEffectsOnFiber(root,returnFiber,childToDelete);root=childToDelete.alternate,root!==null&&(root.return=null),childToDelete.return=null}if(parentFiber.subtreeFlags&13878)for(parentFiber=parentFiber.child;parentFiber!==null;)commitMutationEffectsOnFiber(parentFiber,root$jscomp$0),parentFiber=parentFiber.sibling}function commitMutationEffectsOnFiber(finishedWork,root){var{alternate:current,flags}=finishedWork;switch(finishedWork.tag){case 0:case 11:case 14:case 15:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&4&&(commitHookEffectListUnmount(3,finishedWork,finishedWork.return),commitHookEffectListMount(3,finishedWork),commitHookEffectListUnmount(5,finishedWork,finishedWork.return));break;case 1:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&512&&(offscreenSubtreeWasHidden||current===null||safelyDetachRef(current,current.return)),flags&64&&offscreenSubtreeIsHidden&&(finishedWork=finishedWork.updateQueue,finishedWork!==null&&(flags=finishedWork.callbacks,flags!==null&&(current=finishedWork.shared.hiddenCallbacks,finishedWork.shared.hiddenCallbacks=current===null?flags:current.concat(flags))));break;case 26:if(supportsResources){var hoistableRoot=currentHoistableRoot;if(recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&512&&(offscreenSubtreeWasHidden||current===null||safelyDetachRef(current,current.return)),flags&4){flags=current!==null?current.memoizedState:null;var newResource=finishedWork.memoizedState;current===null?newResource===null?finishedWork.stateNode===null?finishedWork.stateNode=hydrateHoistable(hoistableRoot,finishedWork.type,finishedWork.memoizedProps,finishedWork):mountHoistable(hoistableRoot,finishedWork.type,finishedWork.stateNode):finishedWork.stateNode=acquireResource(hoistableRoot,newResource,finishedWork.memoizedProps):flags!==newResource?(flags===null?current.stateNode!==null&&unmountHoistable(current.stateNode):releaseResource(flags),newResource===null?mountHoistable(hoistableRoot,finishedWork.type,finishedWork.stateNode):acquireResource(hoistableRoot,newResource,finishedWork.memoizedProps)):newResource===null&&finishedWork.stateNode!==null&&commitHostUpdate(finishedWork,finishedWork.memoizedProps,current.memoizedProps)}break}case 27:if(supportsSingletons){recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&512&&(offscreenSubtreeWasHidden||current===null||safelyDetachRef(current,current.return)),current!==null&&flags&4&&commitHostUpdate(finishedWork,finishedWork.memoizedProps,current.memoizedProps);break}case 5:if(recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&512&&(offscreenSubtreeWasHidden||current===null||safelyDetachRef(current,current.return)),supportsMutation){if(finishedWork.flags&32){hoistableRoot=finishedWork.stateNode;try{resetTextContent(hoistableRoot)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}flags&4&&finishedWork.stateNode!=null&&(hoistableRoot=finishedWork.memoizedProps,commitHostUpdate(finishedWork,hoistableRoot,current!==null?current.memoizedProps:hoistableRoot)),flags&1024&&(needsFormReset=!0)}break;case 6:if(recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&4&&supportsMutation){if(finishedWork.stateNode===null)throw Error(formatProdErrorMessage(162));flags=finishedWork.memoizedProps,current=current!==null?current.memoizedProps:flags,hoistableRoot=finishedWork.stateNode;try{commitTextUpdate(hoistableRoot,current,flags)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}break;case 3:if(supportsResources?(prepareToCommitHoistables(),hoistableRoot=currentHoistableRoot,currentHoistableRoot=getHoistableRoot(root.containerInfo),recursivelyTraverseMutationEffects(root,finishedWork),currentHoistableRoot=hoistableRoot):recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&4){if(supportsMutation&&supportsHydration&&current!==null&&current.memoizedState.isDehydrated)try{commitHydratedContainer(root.containerInfo)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}if(supportsPersistence){flags=root.containerInfo,current=root.pendingChildren;try{replaceContainerChildren(flags,current)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}}needsFormReset&&(needsFormReset=!1,recursivelyResetForms(finishedWork));break;case 4:supportsResources?(current=currentHoistableRoot,currentHoistableRoot=getHoistableRoot(finishedWork.stateNode.containerInfo),recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),currentHoistableRoot=current):(recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork)),flags&4&&supportsPersistence&&commitHostPortalContainerChildren(finishedWork.stateNode,finishedWork,finishedWork.stateNode.pendingChildren);break;case 12:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork);break;case 13:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),finishedWork.child.flags&8192&&finishedWork.memoizedState!==null!==(current!==null&&current.memoizedState!==null)&&(globalMostRecentFallbackTime=now()),flags&4&&(flags=finishedWork.updateQueue,flags!==null&&(finishedWork.updateQueue=null,attachSuspenseRetryListeners(finishedWork,flags)));break;case 22:hoistableRoot=finishedWork.memoizedState!==null;var wasHidden=current!==null&&current.memoizedState!==null,prevOffscreenSubtreeIsHidden=offscreenSubtreeIsHidden,prevOffscreenSubtreeWasHidden=offscreenSubtreeWasHidden;if(offscreenSubtreeIsHidden=prevOffscreenSubtreeIsHidden||hoistableRoot,offscreenSubtreeWasHidden=prevOffscreenSubtreeWasHidden||wasHidden,recursivelyTraverseMutationEffects(root,finishedWork),offscreenSubtreeWasHidden=prevOffscreenSubtreeWasHidden,offscreenSubtreeIsHidden=prevOffscreenSubtreeIsHidden,commitReconciliationEffects(finishedWork),flags&8192&&(root=finishedWork.stateNode,root._visibility=hoistableRoot?root._visibility&-2:root._visibility|1,hoistableRoot&&(current===null||wasHidden||offscreenSubtreeIsHidden||offscreenSubtreeWasHidden||recursivelyTraverseDisappearLayoutEffects(finishedWork)),supportsMutation)){a:if(current=null,supportsMutation)for(root=finishedWork;;){if(root.tag===5||supportsResources&&root.tag===26){if(current===null){wasHidden=current=root;try{newResource=wasHidden.stateNode,hoistableRoot?hideInstance(newResource):unhideInstance(wasHidden.stateNode,wasHidden.memoizedProps)}catch(error){captureCommitPhaseError(wasHidden,wasHidden.return,error)}}}else if(root.tag===6){if(current===null){wasHidden=root;try{var instance=wasHidden.stateNode;hoistableRoot?hideTextInstance(instance):unhideTextInstance(instance,wasHidden.memoizedProps)}catch(error){captureCommitPhaseError(wasHidden,wasHidden.return,error)}}}else if((root.tag!==22&&root.tag!==23||root.memoizedState===null||root===finishedWork)&&root.child!==null){root.child.return=root,root=root.child;continue}if(root===finishedWork)break a;for(;root.sibling===null;){if(root.return===null||root.return===finishedWork)break a;current===root&&(current=null),root=root.return}current===root&&(current=null),root.sibling.return=root.return,root=root.sibling}}flags&4&&(flags=finishedWork.updateQueue,flags!==null&&(current=flags.retryQueue,current!==null&&(flags.retryQueue=null,attachSuspenseRetryListeners(finishedWork,current))));break;case 19:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork),flags&4&&(flags=finishedWork.updateQueue,flags!==null&&(finishedWork.updateQueue=null,attachSuspenseRetryListeners(finishedWork,flags)));break;case 30:break;case 21:break;default:recursivelyTraverseMutationEffects(root,finishedWork),commitReconciliationEffects(finishedWork)}}function commitReconciliationEffects(finishedWork){var flags=finishedWork.flags;if(flags&2){try{if(supportsMutation){for(var hostParentFiber,parentFiber=finishedWork.return;parentFiber!==null;){if(isHostParent(parentFiber)){hostParentFiber=parentFiber;break}parentFiber=parentFiber.return}if(hostParentFiber==null)throw Error(formatProdErrorMessage(160));switch(hostParentFiber.tag){case 27:if(supportsSingletons){var parent=hostParentFiber.stateNode,before=getHostSibling(finishedWork);insertOrAppendPlacementNode(finishedWork,before,parent);break}case 5:var parent$130=hostParentFiber.stateNode;hostParentFiber.flags&32&&(resetTextContent(parent$130),hostParentFiber.flags&=-33);var before$131=getHostSibling(finishedWork);insertOrAppendPlacementNode(finishedWork,before$131,parent$130);break;case 3:case 4:var parent$132=hostParentFiber.stateNode.containerInfo,before$133=getHostSibling(finishedWork);insertOrAppendPlacementNodeIntoContainer(finishedWork,before$133,parent$132);break;default:throw Error(formatProdErrorMessage(161))}}}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}finishedWork.flags&=-3}flags&4096&&(finishedWork.flags&=-4097)}function recursivelyResetForms(parentFiber){if(parentFiber.subtreeFlags&1024)for(parentFiber=parentFiber.child;parentFiber!==null;){var fiber=parentFiber;recursivelyResetForms(fiber),fiber.tag===5&&fiber.flags&1024&&resetFormInstance(fiber.stateNode),parentFiber=parentFiber.sibling}}function recursivelyTraverseLayoutEffects(root,parentFiber){if(parentFiber.subtreeFlags&8772)for(parentFiber=parentFiber.child;parentFiber!==null;)commitLayoutEffectOnFiber(root,parentFiber.alternate,parentFiber),parentFiber=parentFiber.sibling}function recursivelyTraverseDisappearLayoutEffects(parentFiber){for(parentFiber=parentFiber.child;parentFiber!==null;){var finishedWork=parentFiber;switch(finishedWork.tag){case 0:case 11:case 14:case 15:commitHookEffectListUnmount(4,finishedWork,finishedWork.return),recursivelyTraverseDisappearLayoutEffects(finishedWork);break;case 1:safelyDetachRef(finishedWork,finishedWork.return);var instance=finishedWork.stateNode;typeof instance.componentWillUnmount==="function"&&safelyCallComponentWillUnmount(finishedWork,finishedWork.return,instance),recursivelyTraverseDisappearLayoutEffects(finishedWork);break;case 27:supportsSingletons&&releaseSingletonInstance(finishedWork.stateNode);case 26:case 5:safelyDetachRef(finishedWork,finishedWork.return),recursivelyTraverseDisappearLayoutEffects(finishedWork);break;case 22:finishedWork.memoizedState===null&&recursivelyTraverseDisappearLayoutEffects(finishedWork);break;case 30:recursivelyTraverseDisappearLayoutEffects(finishedWork);break;default:recursivelyTraverseDisappearLayoutEffects(finishedWork)}parentFiber=parentFiber.sibling}}function recursivelyTraverseReappearLayoutEffects(finishedRoot$jscomp$0,parentFiber,includeWorkInProgressEffects){includeWorkInProgressEffects=includeWorkInProgressEffects&&(parentFiber.subtreeFlags&8772)!==0;for(parentFiber=parentFiber.child;parentFiber!==null;){var current=parentFiber.alternate,finishedRoot=finishedRoot$jscomp$0,finishedWork=parentFiber,flags=finishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),commitHookEffectListMount(4,finishedWork);break;case 1:if(recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),current=finishedWork,finishedRoot=current.stateNode,typeof finishedRoot.componentDidMount==="function")try{finishedRoot.componentDidMount()}catch(error){captureCommitPhaseError(current,current.return,error)}if(current=finishedWork,finishedRoot=current.updateQueue,finishedRoot!==null){var instance=current.stateNode;try{var hiddenCallbacks=finishedRoot.shared.hiddenCallbacks;if(hiddenCallbacks!==null)for(finishedRoot.shared.hiddenCallbacks=null,finishedRoot=0;finishedRoot<hiddenCallbacks.length;finishedRoot++)callCallback(hiddenCallbacks[finishedRoot],instance)}catch(error){captureCommitPhaseError(current,current.return,error)}}includeWorkInProgressEffects&&flags&64&&commitClassCallbacks(finishedWork),safelyAttachRef(finishedWork,finishedWork.return);break;case 27:supportsSingletons&&commitHostSingletonAcquisition(finishedWork);case 26:case 5:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),includeWorkInProgressEffects&&current===null&&flags&4&&commitHostMount(finishedWork),safelyAttachRef(finishedWork,finishedWork.return);break;case 12:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects);break;case 13:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),includeWorkInProgressEffects&&flags&4&&commitSuspenseHydrationCallbacks(finishedRoot,finishedWork);break;case 22:finishedWork.memoizedState===null&&recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects),safelyAttachRef(finishedWork,finishedWork.return);break;case 30:break;default:recursivelyTraverseReappearLayoutEffects(finishedRoot,finishedWork,includeWorkInProgressEffects)}parentFiber=parentFiber.sibling}}function commitOffscreenPassiveMountEffects(current,finishedWork){var previousCache=null;current!==null&&current.memoizedState!==null&&current.memoizedState.cachePool!==null&&(previousCache=current.memoizedState.cachePool.pool),current=null,finishedWork.memoizedState!==null&&finishedWork.memoizedState.cachePool!==null&&(current=finishedWork.memoizedState.cachePool.pool),current!==previousCache&&(current!=null&&current.refCount++,previousCache!=null&&releaseCache(previousCache))}function commitCachePassiveMountEffect(current,finishedWork){current=null,finishedWork.alternate!==null&&(current=finishedWork.alternate.memoizedState.cache),finishedWork=finishedWork.memoizedState.cache,finishedWork!==current&&(finishedWork.refCount++,current!=null&&releaseCache(current))}function recursivelyTraversePassiveMountEffects(root,parentFiber,committedLanes,committedTransitions){if(parentFiber.subtreeFlags&10256)for(parentFiber=parentFiber.child;parentFiber!==null;)commitPassiveMountOnFiber(root,parentFiber,committedLanes,committedTransitions),parentFiber=parentFiber.sibling}function commitPassiveMountOnFiber(finishedRoot,finishedWork,committedLanes,committedTransitions){var flags=finishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions),flags&2048&&commitHookEffectListMount(9,finishedWork);break;case 1:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions);break;case 3:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions),flags&2048&&(finishedRoot=null,finishedWork.alternate!==null&&(finishedRoot=finishedWork.alternate.memoizedState.cache),finishedWork=finishedWork.memoizedState.cache,finishedWork!==finishedRoot&&(finishedWork.refCount++,finishedRoot!=null&&releaseCache(finishedRoot)));break;case 12:if(flags&2048){recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions),finishedRoot=finishedWork.stateNode;try{var _finishedWork$memoize2=finishedWork.memoizedProps,id=_finishedWork$memoize2.id,onPostCommit=_finishedWork$memoize2.onPostCommit;typeof onPostCommit==="function"&&onPostCommit(id,finishedWork.alternate===null?"mount":"update",finishedRoot.passiveEffectDuration,-0)}catch(error){captureCommitPhaseError(finishedWork,finishedWork.return,error)}}else recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions);break;case 13:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions);break;case 23:break;case 22:_finishedWork$memoize2=finishedWork.stateNode,id=finishedWork.alternate,finishedWork.memoizedState!==null?_finishedWork$memoize2._visibility&2?recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions):recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork):_finishedWork$memoize2._visibility&2?recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions):(_finishedWork$memoize2._visibility|=2,recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,(finishedWork.subtreeFlags&10256)!==0)),flags&2048&&commitOffscreenPassiveMountEffects(id,finishedWork);break;case 24:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions),flags&2048&&commitCachePassiveMountEffect(finishedWork.alternate,finishedWork);break;default:recursivelyTraversePassiveMountEffects(finishedRoot,finishedWork,committedLanes,committedTransitions)}}function recursivelyTraverseReconnectPassiveEffects(finishedRoot$jscomp$0,parentFiber,committedLanes$jscomp$0,committedTransitions$jscomp$0,includeWorkInProgressEffects){includeWorkInProgressEffects=includeWorkInProgressEffects&&(parentFiber.subtreeFlags&10256)!==0;for(parentFiber=parentFiber.child;parentFiber!==null;){var finishedRoot=finishedRoot$jscomp$0,finishedWork=parentFiber,committedLanes=committedLanes$jscomp$0,committedTransitions=committedTransitions$jscomp$0,flags=finishedWork.flags;switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects),commitHookEffectListMount(8,finishedWork);break;case 23:break;case 22:var instance=finishedWork.stateNode;finishedWork.memoizedState!==null?instance._visibility&2?recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects):recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork):(instance._visibility|=2,recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects)),includeWorkInProgressEffects&&flags&2048&&commitOffscreenPassiveMountEffects(finishedWork.alternate,finishedWork);break;case 24:recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects),includeWorkInProgressEffects&&flags&2048&&commitCachePassiveMountEffect(finishedWork.alternate,finishedWork);break;default:recursivelyTraverseReconnectPassiveEffects(finishedRoot,finishedWork,committedLanes,committedTransitions,includeWorkInProgressEffects)}parentFiber=parentFiber.sibling}}function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0,parentFiber){if(parentFiber.subtreeFlags&10256)for(parentFiber=parentFiber.child;parentFiber!==null;){var finishedRoot=finishedRoot$jscomp$0,finishedWork=parentFiber,flags=finishedWork.flags;switch(finishedWork.tag){case 22:recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork),flags&2048&&commitOffscreenPassiveMountEffects(finishedWork.alternate,finishedWork);break;case 24:recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork),flags&2048&&commitCachePassiveMountEffect(finishedWork.alternate,finishedWork);break;default:recursivelyTraverseAtomicPassiveEffects(finishedRoot,finishedWork)}parentFiber=parentFiber.sibling}}function recursivelyAccumulateSuspenseyCommit(parentFiber){if(parentFiber.subtreeFlags&suspenseyCommitFlag)for(parentFiber=parentFiber.child;parentFiber!==null;)accumulateSuspenseyCommitOnFiber(parentFiber),parentFiber=parentFiber.sibling}function accumulateSuspenseyCommitOnFiber(fiber){switch(fiber.tag){case 26:recursivelyAccumulateSuspenseyCommit(fiber),fiber.flags&suspenseyCommitFlag&&(fiber.memoizedState!==null?suspendResource(currentHoistableRoot,fiber.memoizedState,fiber.memoizedProps):suspendInstance(fiber.type,fiber.memoizedProps));break;case 5:recursivelyAccumulateSuspenseyCommit(fiber),fiber.flags&suspenseyCommitFlag&&suspendInstance(fiber.type,fiber.memoizedProps);break;case 3:case 4:if(supportsResources){var previousHoistableRoot=currentHoistableRoot;currentHoistableRoot=getHoistableRoot(fiber.stateNode.containerInfo),recursivelyAccumulateSuspenseyCommit(fiber),currentHoistableRoot=previousHoistableRoot}else recursivelyAccumulateSuspenseyCommit(fiber);break;case 22:fiber.memoizedState===null&&(previousHoistableRoot=fiber.alternate,previousHoistableRoot!==null&&previousHoistableRoot.memoizedState!==null?(previousHoistableRoot=suspenseyCommitFlag,suspenseyCommitFlag=16777216,recursivelyAccumulateSuspenseyCommit(fiber),suspenseyCommitFlag=previousHoistableRoot):recursivelyAccumulateSuspenseyCommit(fiber));break;default:recursivelyAccumulateSuspenseyCommit(fiber)}}function detachAlternateSiblings(parentFiber){var previousFiber=parentFiber.alternate;if(previousFiber!==null&&(parentFiber=previousFiber.child,parentFiber!==null)){previousFiber.child=null;do previousFiber=parentFiber.sibling,parentFiber.sibling=null,parentFiber=previousFiber;while(parentFiber!==null)}}function recursivelyTraversePassiveUnmountEffects(parentFiber){var deletions=parentFiber.deletions;if((parentFiber.flags&16)!==0){if(deletions!==null)for(var i=0;i<deletions.length;i++){var childToDelete=deletions[i];nextEffect=childToDelete,commitPassiveUnmountEffectsInsideOfDeletedTree_begin(childToDelete,parentFiber)}detachAlternateSiblings(parentFiber)}if(parentFiber.subtreeFlags&10256)for(parentFiber=parentFiber.child;parentFiber!==null;)commitPassiveUnmountOnFiber(parentFiber),parentFiber=parentFiber.sibling}function commitPassiveUnmountOnFiber(finishedWork){switch(finishedWork.tag){case 0:case 11:case 15:recursivelyTraversePassiveUnmountEffects(finishedWork),finishedWork.flags&2048&&commitHookEffectListUnmount(9,finishedWork,finishedWork.return);break;case 3:recursivelyTraversePassiveUnmountEffects(finishedWork);break;case 12:recursivelyTraversePassiveUnmountEffects(finishedWork);break;case 22:var instance=finishedWork.stateNode;finishedWork.memoizedState!==null&&instance._visibility&2&&(finishedWork.return===null||finishedWork.return.tag!==13)?(instance._visibility&=-3,recursivelyTraverseDisconnectPassiveEffects(finishedWork)):recursivelyTraversePassiveUnmountEffects(finishedWork);break;default:recursivelyTraversePassiveUnmountEffects(finishedWork)}}function recursivelyTraverseDisconnectPassiveEffects(parentFiber){var deletions=parentFiber.deletions;if((parentFiber.flags&16)!==0){if(deletions!==null)for(var i=0;i<deletions.length;i++){var childToDelete=deletions[i];nextEffect=childToDelete,commitPassiveUnmountEffectsInsideOfDeletedTree_begin(childToDelete,parentFiber)}detachAlternateSiblings(parentFiber)}for(parentFiber=parentFiber.child;parentFiber!==null;){switch(deletions=parentFiber,deletions.tag){case 0:case 11:case 15:commitHookEffectListUnmount(8,deletions,deletions.return),recursivelyTraverseDisconnectPassiveEffects(deletions);break;case 22:i=deletions.stateNode,i._visibility&2&&(i._visibility&=-3,recursivelyTraverseDisconnectPassiveEffects(deletions));break;default:recursivelyTraverseDisconnectPassiveEffects(deletions)}parentFiber=parentFiber.sibling}}function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot,nearestMountedAncestor){for(;nextEffect!==null;){var fiber=nextEffect;switch(fiber.tag){case 0:case 11:case 15:commitHookEffectListUnmount(8,fiber,nearestMountedAncestor);break;case 23:case 22:if(fiber.memoizedState!==null&&fiber.memoizedState.cachePool!==null){var cache=fiber.memoizedState.cachePool.pool;cache!=null&&cache.refCount++}break;case 24:releaseCache(fiber.memoizedState.cache)}if(cache=fiber.child,cache!==null)cache.return=fiber,nextEffect=cache;else a:for(fiber=deletedSubtreeRoot;nextEffect!==null;){cache=nextEffect;var{sibling,return:returnFiber}=cache;if(detachFiberAfterEffects(cache),cache===fiber){nextEffect=null;break a}if(sibling!==null){sibling.return=returnFiber,nextEffect=sibling;break a}nextEffect=returnFiber}}}function findFiberRootForHostRoot(hostRoot){var maybeFiber=getInstanceFromNode(hostRoot);if(maybeFiber!=null){if(typeof maybeFiber.memoizedProps["data-testname"]!=="string")throw Error(formatProdErrorMessage(364));return maybeFiber}if(hostRoot=findFiberRoot(hostRoot),hostRoot===null)throw Error(formatProdErrorMessage(362));return hostRoot.stateNode.current}function matchSelector(fiber$jscomp$0,selector){var tag=fiber$jscomp$0.tag;switch(selector.$$typeof){case COMPONENT_TYPE:if(fiber$jscomp$0.type===selector.value)return!0;break;case HAS_PSEUDO_CLASS_TYPE:a:{selector=selector.value,fiber$jscomp$0=[fiber$jscomp$0,0];for(tag=0;tag<fiber$jscomp$0.length;){var fiber=fiber$jscomp$0[tag++],tag$jscomp$0=fiber.tag,selectorIndex=fiber$jscomp$0[tag++],selector$jscomp$0=selector[selectorIndex];if(tag$jscomp$0!==5&&tag$jscomp$0!==26&&tag$jscomp$0!==27||!isHiddenSubtree(fiber)){for(;selector$jscomp$0!=null&&matchSelector(fiber,selector$jscomp$0);)selectorIndex++,selector$jscomp$0=selector[selectorIndex];if(selectorIndex===selector.length){selector=!0;break a}else for(fiber=fiber.child;fiber!==null;)fiber$jscomp$0.push(fiber,selectorIndex),fiber=fiber.sibling}}selector=!1}return selector;case ROLE_TYPE:if((tag===5||tag===26||tag===27)&&matchAccessibilityRole(fiber$jscomp$0.stateNode,selector.value))return!0;break;case TEXT_TYPE:if(tag===5||tag===6||tag===26||tag===27){if(fiber$jscomp$0=getTextContent(fiber$jscomp$0),fiber$jscomp$0!==null&&0<=fiber$jscomp$0.indexOf(selector.value))return!0}break;case TEST_NAME_TYPE:if(tag===5||tag===26||tag===27){if(fiber$jscomp$0=fiber$jscomp$0.memoizedProps["data-testname"],typeof fiber$jscomp$0==="string"&&fiber$jscomp$0.toLowerCase()===selector.value.toLowerCase())return!0}break;default:throw Error(formatProdErrorMessage(365))}return!1}function selectorToString(selector){switch(selector.$$typeof){case COMPONENT_TYPE:return"<"+(getComponentNameFromType(selector.value)||"Unknown")+">";case HAS_PSEUDO_CLASS_TYPE:return":has("+(selectorToString(selector)||"")+")";case ROLE_TYPE:return'[role="'+selector.value+'"]';case TEXT_TYPE:return'"'+selector.value+'"';case TEST_NAME_TYPE:return'[data-testname="'+selector.value+'"]';default:throw Error(formatProdErrorMessage(365))}}function findPaths(root,selectors){var matchingFibers=[];root=[root,0];for(var index=0;index<root.length;){var fiber=root[index++],tag=fiber.tag,selectorIndex=root[index++],selector=selectors[selectorIndex];if(tag!==5&&tag!==26&&tag!==27||!isHiddenSubtree(fiber)){for(;selector!=null&&matchSelector(fiber,selector);)selectorIndex++,selector=selectors[selectorIndex];if(selectorIndex===selectors.length)matchingFibers.push(fiber);else for(fiber=fiber.child;fiber!==null;)root.push(fiber,selectorIndex),fiber=fiber.sibling}}return matchingFibers}function findAllNodes(hostRoot,selectors){if(!supportsTestSelectors)throw Error(formatProdErrorMessage(363));hostRoot=findFiberRootForHostRoot(hostRoot),hostRoot=findPaths(hostRoot,selectors),selectors=[],hostRoot=Array.from(hostRoot);for(var index=0;index<hostRoot.length;){var node=hostRoot[index++],tag=node.tag;if(tag===5||tag===26||tag===27)isHiddenSubtree(node)||selectors.push(node.stateNode);else for(node=node.child;node!==null;)hostRoot.push(node),node=node.sibling}return selectors}function requestUpdateLane(){if((executionContext&2)!==0&&workInProgressRootRenderLanes!==0)return workInProgressRootRenderLanes&-workInProgressRootRenderLanes;if(ReactSharedInternals.T!==null){var actionScopeLane=currentEntangledLane;return actionScopeLane!==0?actionScopeLane:requestTransitionLane()}return resolveUpdatePriority()}function requestDeferredLane(){workInProgressDeferredLane===0&&(workInProgressDeferredLane=(workInProgressRootRenderLanes&536870912)===0||isHydrating?claimNextTransitionLane():536870912);var suspenseHandler=suspenseHandlerStackCursor.current;return suspenseHandler!==null&&(suspenseHandler.flags|=32),workInProgressDeferredLane}function scheduleUpdateOnFiber(root,fiber,lane){if(root===workInProgressRoot&&(workInProgressSuspendedReason===2||workInProgressSuspendedReason===9)||root.cancelPendingCommit!==null)prepareFreshStack(root,0),markRootSuspended(root,workInProgressRootRenderLanes,workInProgressDeferredLane,!1);if(markRootUpdated$1(root,lane),(executionContext&2)===0||root!==workInProgressRoot)root===workInProgressRoot&&((executionContext&2)===0&&(workInProgressRootInterleavedUpdatedLanes|=lane),workInProgressRootExitStatus===4&&markRootSuspended(root,workInProgressRootRenderLanes,workInProgressDeferredLane,!1)),ensureRootIsScheduled(root)}function performWorkOnRoot(root$jscomp$0,lanes,forceSync){if((executionContext&6)!==0)throw Error(formatProdErrorMessage(327));var shouldTimeSlice=!forceSync&&(lanes&124)===0&&(lanes&root$jscomp$0.expiredLanes)===0||checkIfRootIsPrerendering(root$jscomp$0,lanes),exitStatus=shouldTimeSlice?renderRootConcurrent(root$jscomp$0,lanes):renderRootSync(root$jscomp$0,lanes,!0),renderWasConcurrent=shouldTimeSlice;do{if(exitStatus===0){workInProgressRootIsPrerendering&&!shouldTimeSlice&&markRootSuspended(root$jscomp$0,lanes,0,!1);break}else{if(forceSync=root$jscomp$0.current.alternate,renderWasConcurrent&&!isRenderConsistentWithExternalStores(forceSync)){exitStatus=renderRootSync(root$jscomp$0,lanes,!1),renderWasConcurrent=!1;continue}if(exitStatus===2){if(renderWasConcurrent=lanes,root$jscomp$0.errorRecoveryDisabledLanes&renderWasConcurrent)var JSCompiler_inline_result=0;else JSCompiler_inline_result=root$jscomp$0.pendingLanes&-536870913,JSCompiler_inline_result=JSCompiler_inline_result!==0?JSCompiler_inline_result:JSCompiler_inline_result&536870912?536870912:0;if(JSCompiler_inline_result!==0){lanes=JSCompiler_inline_result;a:{var root=root$jscomp$0;exitStatus=workInProgressRootConcurrentErrors;var wasRootDehydrated=supportsHydration&&root.current.memoizedState.isDehydrated;if(wasRootDehydrated&&(prepareFreshStack(root,JSCompiler_inline_result).flags|=256),JSCompiler_inline_result=renderRootSync(root,JSCompiler_inline_result,!1),JSCompiler_inline_result!==2){if(workInProgressRootDidAttachPingListener&&!wasRootDehydrated){root.errorRecoveryDisabledLanes|=renderWasConcurrent,workInProgressRootInterleavedUpdatedLanes|=renderWasConcurrent,exitStatus=4;break a}renderWasConcurrent=workInProgressRootRecoverableErrors,workInProgressRootRecoverableErrors=exitStatus,renderWasConcurrent!==null&&(workInProgressRootRecoverableErrors===null?workInProgressRootRecoverableErrors=renderWasConcurrent:workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors,renderWasConcurrent))}exitStatus=JSCompiler_inline_result}if(renderWasConcurrent=!1,exitStatus!==2)continue}}if(exitStatus===1){prepareFreshStack(root$jscomp$0,0),markRootSuspended(root$jscomp$0,lanes,0,!0);break}a:{switch(shouldTimeSlice=root$jscomp$0,renderWasConcurrent=exitStatus,renderWasConcurrent){case 0:case 1:throw Error(formatProdErrorMessage(345));case 4:if((lanes&4194048)!==lanes)break;case 6:markRootSuspended(shouldTimeSlice,lanes,workInProgressDeferredLane,!workInProgressRootDidSkipSuspendedSiblings);break a;case 2:workInProgressRootRecoverableErrors=null;break;case 3:case 5:break;default:throw Error(formatProdErrorMessage(329))}if((lanes&62914560)===lanes&&(exitStatus=globalMostRecentFallbackTime+300-now(),10<exitStatus)){if(markRootSuspended(shouldTimeSlice,lanes,workInProgressDeferredLane,!workInProgressRootDidSkipSuspendedSiblings),getNextLanes(shouldTimeSlice,0,!0)!==0)break a;shouldTimeSlice.timeoutHandle=scheduleTimeout(commitRootWhenReady.bind(null,shouldTimeSlice,forceSync,workInProgressRootRecoverableErrors,workInProgressTransitions,workInProgressRootDidIncludeRecursiveRenderUpdate,lanes,workInProgressDeferredLane,workInProgressRootInterleavedUpdatedLanes,workInProgressSuspendedRetryLanes,workInProgressRootDidSkipSuspendedSiblings,renderWasConcurrent,2,-0,0),exitStatus);break a}commitRootWhenReady(shouldTimeSlice,forceSync,workInProgressRootRecoverableErrors,workInProgressTransitions,workInProgressRootDidIncludeRecursiveRenderUpdate,lanes,workInProgressDeferredLane,workInProgressRootInterleavedUpdatedLanes,workInProgressSuspendedRetryLanes,workInProgressRootDidSkipSuspendedSiblings,renderWasConcurrent,0,-0,0)}}break}while(1);ensureRootIsScheduled(root$jscomp$0)}function commitRootWhenReady(root,finishedWork,recoverableErrors,transitions,didIncludeRenderPhaseUpdate,lanes,spawnedLane,updatedLanes,suspendedRetryLanes,didSkipSuspendedSiblings,exitStatus,suspendedCommitReason,completedRenderStartTime,completedRenderEndTime){if(root.timeoutHandle=noTimeout,suspendedCommitReason=finishedWork.subtreeFlags,suspendedCommitReason&8192||(suspendedCommitReason&16785408)===16785408){if(startSuspendingCommit(),accumulateSuspenseyCommitOnFiber(finishedWork),suspendedCommitReason=waitForCommitToBeReady(),suspendedCommitReason!==null){root.cancelPendingCommit=suspendedCommitReason(commitRoot.bind(null,root,finishedWork,lanes,recoverableErrors,transitions,didIncludeRenderPhaseUpdate,spawnedLane,updatedLanes,suspendedRetryLanes,exitStatus,1,completedRenderStartTime,completedRenderEndTime)),markRootSuspended(root,lanes,spawnedLane,!didSkipSuspendedSiblings);return}}commitRoot(root,finishedWork,lanes,recoverableErrors,transitions,didIncludeRenderPhaseUpdate,spawnedLane,updatedLanes,suspendedRetryLanes)}function isRenderConsistentWithExternalStores(finishedWork){for(var node=finishedWork;;){var tag=node.tag;if((tag===0||tag===11||tag===15)&&node.flags&16384&&(tag=node.updateQueue,tag!==null&&(tag=tag.stores,tag!==null)))for(var i=0;i<tag.length;i++){var check=tag[i],getSnapshot=check.getSnapshot;check=check.value;try{if(!objectIs(getSnapshot(),check))return!1}catch(error){return!1}}if(tag=node.child,node.subtreeFlags&16384&&tag!==null)tag.return=node,node=tag;else{if(node===finishedWork)break;for(;node.sibling===null;){if(node.return===null||node.return===finishedWork)return!0;node=node.return}node.sibling.return=node.return,node=node.sibling}}return!0}function markRootSuspended(root,suspendedLanes,spawnedLane,didAttemptEntireTree){suspendedLanes&=~workInProgressRootPingedLanes,suspendedLanes&=~workInProgressRootInterleavedUpdatedLanes,root.suspendedLanes|=suspendedLanes,root.pingedLanes&=~suspendedLanes,didAttemptEntireTree&&(root.warmLanes|=suspendedLanes),didAttemptEntireTree=root.expirationTimes;for(var lanes=suspendedLanes;0<lanes;){var index$4=31-clz32(lanes),lane=1<<index$4;didAttemptEntireTree[index$4]=-1,lanes&=~lane}spawnedLane!==0&&markSpawnedDeferredLane(root,spawnedLane,suspendedLanes)}function flushSyncWork(){return(executionContext&6)===0?(flushSyncWorkAcrossRoots_impl(0,!1),!1):!0}function resetWorkInProgressStack(){if(workInProgress!==null){if(workInProgressSuspendedReason===0)var interruptedWork=workInProgress.return;else interruptedWork=workInProgress,lastContextDependency=currentlyRenderingFiber$1=null,resetHooksOnUnwind(interruptedWork),thenableState=null,thenableIndexCounter=0,interruptedWork=workInProgress;for(;interruptedWork!==null;)unwindInterruptedWork(interruptedWork.alternate,interruptedWork),interruptedWork=interruptedWork.return;workInProgress=null}}function prepareFreshStack(root,lanes){var timeoutHandle=root.timeoutHandle;timeoutHandle!==noTimeout&&(root.timeoutHandle=noTimeout,cancelTimeout(timeoutHandle)),timeoutHandle=root.cancelPendingCommit,timeoutHandle!==null&&(root.cancelPendingCommit=null,timeoutHandle()),resetWorkInProgressStack(),workInProgressRoot=root,workInProgress=timeoutHandle=createWorkInProgress(root.current,null),workInProgressRootRenderLanes=lanes,workInProgressSuspendedReason=0,workInProgressThrownValue=null,workInProgressRootDidSkipSuspendedSiblings=!1,workInProgressRootIsPrerendering=checkIfRootIsPrerendering(root,lanes),workInProgressRootDidAttachPingListener=!1,workInProgressSuspendedRetryLanes=workInProgressDeferredLane=workInProgressRootPingedLanes=workInProgressRootInterleavedUpdatedLanes=workInProgressRootSkippedLanes=workInProgressRootExitStatus=0,workInProgressRootRecoverableErrors=workInProgressRootConcurrentErrors=null,workInProgressRootDidIncludeRecursiveRenderUpdate=!1,(lanes&8)!==0&&(lanes|=lanes&32);var allEntangledLanes=root.entangledLanes;if(allEntangledLanes!==0)for(root=root.entanglements,allEntangledLanes&=lanes;0<allEntangledLanes;){var index$2=31-clz32(allEntangledLanes),lane=1<<index$2;lanes|=root[index$2],allEntangledLanes&=~lane}return entangledRenderLanes=lanes,finishQueueingConcurrentUpdates(),timeoutHandle}function handleThrow(root,thrownValue){currentlyRenderingFiber=null,ReactSharedInternals.H=ContextOnlyDispatcher,thrownValue===SuspenseException||thrownValue===SuspenseActionException?(thrownValue=getSuspendedThenable(),workInProgressSuspendedReason=3):thrownValue===SuspenseyCommitException?(thrownValue=getSuspendedThenable(),workInProgressSuspendedReason=4):workInProgressSuspendedReason=thrownValue===SelectiveHydrationException?8:thrownValue!==null&&typeof thrownValue==="object"&&typeof thrownValue.then==="function"?6:1,workInProgressThrownValue=thrownValue,workInProgress===null&&(workInProgressRootExitStatus=1,logUncaughtError(root,createCapturedValueAtFiber(thrownValue,root.current)))}function shouldRemainOnPreviousScreen(){var handler=suspenseHandlerStackCursor.current;return handler===null?!0:(workInProgressRootRenderLanes&4194048)===workInProgressRootRenderLanes?shellBoundary===null?!0:!1:(workInProgressRootRenderLanes&62914560)===workInProgressRootRenderLanes||(workInProgressRootRenderLanes&536870912)!==0?handler===shellBoundary:!1}function pushDispatcher(){var prevDispatcher=ReactSharedInternals.H;return ReactSharedInternals.H=ContextOnlyDispatcher,prevDispatcher===null?ContextOnlyDispatcher:prevDispatcher}function pushAsyncDispatcher(){var prevAsyncDispatcher=ReactSharedInternals.A;return ReactSharedInternals.A=DefaultAsyncDispatcher,prevAsyncDispatcher}function renderDidSuspendDelayIfPossible(){workInProgressRootExitStatus=4,workInProgressRootDidSkipSuspendedSiblings||(workInProgressRootRenderLanes&4194048)!==workInProgressRootRenderLanes&&suspenseHandlerStackCursor.current!==null||(workInProgressRootIsPrerendering=!0),(workInProgressRootSkippedLanes&134217727)===0&&(workInProgressRootInterleavedUpdatedLanes&134217727)===0||workInProgressRoot===null||markRootSuspended(workInProgressRoot,workInProgressRootRenderLanes,workInProgressDeferredLane,!1)}function renderRootSync(root,lanes,shouldYieldForPrerendering){var prevExecutionContext=executionContext;executionContext|=2;var prevDispatcher=pushDispatcher(),prevAsyncDispatcher=pushAsyncDispatcher();if(workInProgressRoot!==root||workInProgressRootRenderLanes!==lanes)workInProgressTransitions=null,prepareFreshStack(root,lanes);lanes=!1;var exitStatus=workInProgressRootExitStatus;a:do try{if(workInProgressSuspendedReason!==0&&workInProgress!==null){var unitOfWork=workInProgress,thrownValue=workInProgressThrownValue;switch(workInProgressSuspendedReason){case 8:resetWorkInProgressStack(),exitStatus=6;break a;case 3:case 2:case 9:case 6:suspenseHandlerStackCursor.current===null&&(lanes=!0);var reason=workInProgressSuspendedReason;if(workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,unitOfWork,thrownValue,reason),shouldYieldForPrerendering&&workInProgressRootIsPrerendering){exitStatus=0;break a}break;default:reason=workInProgressSuspendedReason,workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,unitOfWork,thrownValue,reason)}}workLoopSync(),exitStatus=workInProgressRootExitStatus;break}catch(thrownValue$155){handleThrow(root,thrownValue$155)}while(1);return lanes&&root.shellSuspendCounter++,lastContextDependency=currentlyRenderingFiber$1=null,executionContext=prevExecutionContext,ReactSharedInternals.H=prevDispatcher,ReactSharedInternals.A=prevAsyncDispatcher,workInProgress===null&&(workInProgressRoot=null,workInProgressRootRenderLanes=0,finishQueueingConcurrentUpdates()),exitStatus}function workLoopSync(){for(;workInProgress!==null;)performUnitOfWork(workInProgress)}function renderRootConcurrent(root,lanes){var prevExecutionContext=executionContext;executionContext|=2;var prevDispatcher=pushDispatcher(),prevAsyncDispatcher=pushAsyncDispatcher();workInProgressRoot!==root||workInProgressRootRenderLanes!==lanes?(workInProgressTransitions=null,workInProgressRootRenderTargetTime=now()+500,prepareFreshStack(root,lanes)):workInProgressRootIsPrerendering=checkIfRootIsPrerendering(root,lanes);a:do try{if(workInProgressSuspendedReason!==0&&workInProgress!==null){lanes=workInProgress;var thrownValue=workInProgressThrownValue;b:switch(workInProgressSuspendedReason){case 1:workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,lanes,thrownValue,1);break;case 2:case 9:if(isThenableResolved(thrownValue)){workInProgressSuspendedReason=0,workInProgressThrownValue=null,replaySuspendedUnitOfWork(lanes);break}lanes=function(){workInProgressSuspendedReason!==2&&workInProgressSuspendedReason!==9||workInProgressRoot!==root||(workInProgressSuspendedReason=7),ensureRootIsScheduled(root)},thrownValue.then(lanes,lanes);break a;case 3:workInProgressSuspendedReason=7;break a;case 4:workInProgressSuspendedReason=5;break a;case 7:isThenableResolved(thrownValue)?(workInProgressSuspendedReason=0,workInProgressThrownValue=null,replaySuspendedUnitOfWork(lanes)):(workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,lanes,thrownValue,7));break;case 5:var resource=null;switch(workInProgress.tag){case 26:resource=workInProgress.memoizedState;case 5:case 27:var hostFiber=workInProgress,type=hostFiber.type,props=hostFiber.pendingProps;if(resource?preloadResource(resource):preloadInstance(type,props)){workInProgressSuspendedReason=0,workInProgressThrownValue=null;var sibling=hostFiber.sibling;if(sibling!==null)workInProgress=sibling;else{var returnFiber=hostFiber.return;returnFiber!==null?(workInProgress=returnFiber,completeUnitOfWork(returnFiber)):workInProgress=null}break b}}workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,lanes,thrownValue,5);break;case 6:workInProgressSuspendedReason=0,workInProgressThrownValue=null,throwAndUnwindWorkLoop(root,lanes,thrownValue,6);break;case 8:resetWorkInProgressStack(),workInProgressRootExitStatus=6;break a;default:throw Error(formatProdErrorMessage(462))}}workLoopConcurrentByScheduler();break}catch(thrownValue$157){handleThrow(root,thrownValue$157)}while(1);if(lastContextDependency=currentlyRenderingFiber$1=null,ReactSharedInternals.H=prevDispatcher,ReactSharedInternals.A=prevAsyncDispatcher,executionContext=prevExecutionContext,workInProgress!==null)return 0;return workInProgressRoot=null,workInProgressRootRenderLanes=0,finishQueueingConcurrentUpdates(),workInProgressRootExitStatus}function workLoopConcurrentByScheduler(){for(;workInProgress!==null&&!shouldYield();)performUnitOfWork(workInProgress)}function performUnitOfWork(unitOfWork){var next=beginWork(unitOfWork.alternate,unitOfWork,entangledRenderLanes);unitOfWork.memoizedProps=unitOfWork.pendingProps,next===null?completeUnitOfWork(unitOfWork):workInProgress=next}function replaySuspendedUnitOfWork(unitOfWork){var next=unitOfWork,current=next.alternate;switch(next.tag){case 15:case 0:next=replayFunctionComponent(current,next,next.pendingProps,next.type,void 0,workInProgressRootRenderLanes);break;case 11:next=replayFunctionComponent(current,next,next.pendingProps,next.type.render,next.ref,workInProgressRootRenderLanes);break;case 5:resetHooksOnUnwind(next);default:unwindInterruptedWork(current,next),next=workInProgress=resetWorkInProgress(next,entangledRenderLanes),next=beginWork(current,next,entangledRenderLanes)}unitOfWork.memoizedProps=unitOfWork.pendingProps,next===null?completeUnitOfWork(unitOfWork):workInProgress=next}function throwAndUnwindWorkLoop(root,unitOfWork,thrownValue,suspendedReason){lastContextDependency=currentlyRenderingFiber$1=null,resetHooksOnUnwind(unitOfWork),thenableState=null,thenableIndexCounter=0;var returnFiber=unitOfWork.return;try{if(throwException(root,returnFiber,unitOfWork,thrownValue,workInProgressRootRenderLanes)){workInProgressRootExitStatus=1,logUncaughtError(root,createCapturedValueAtFiber(thrownValue,root.current)),workInProgress=null;return}}catch(error){if(returnFiber!==null)throw workInProgress=returnFiber,error;workInProgressRootExitStatus=1,logUncaughtError(root,createCapturedValueAtFiber(thrownValue,root.current)),workInProgress=null;return}if(unitOfWork.flags&32768){if(isHydrating||suspendedReason===1)root=!0;else if(workInProgressRootIsPrerendering||(workInProgressRootRenderLanes&536870912)!==0)root=!1;else if(workInProgressRootDidSkipSuspendedSiblings=root=!0,suspendedReason===2||suspendedReason===9||suspendedReason===3||suspendedReason===6)suspendedReason=suspenseHandlerStackCursor.current,suspendedReason!==null&&suspendedReason.tag===13&&(suspendedReason.flags|=16384);unwindUnitOfWork(unitOfWork,root)}else completeUnitOfWork(unitOfWork)}function completeUnitOfWork(unitOfWork){var completedWork=unitOfWork;do{if((completedWork.flags&32768)!==0){unwindUnitOfWork(completedWork,workInProgressRootDidSkipSuspendedSiblings);return}unitOfWork=completedWork.return;var next=completeWork(completedWork.alternate,completedWork,entangledRenderLanes);if(next!==null){workInProgress=next;return}if(completedWork=completedWork.sibling,completedWork!==null){workInProgress=completedWork;return}workInProgress=completedWork=unitOfWork}while(completedWork!==null);workInProgressRootExitStatus===0&&(workInProgressRootExitStatus=5)}function unwindUnitOfWork(unitOfWork,skipSiblings){do{var next=unwindWork(unitOfWork.alternate,unitOfWork);if(next!==null){next.flags&=32767,workInProgress=next;return}if(next=unitOfWork.return,next!==null&&(next.flags|=32768,next.subtreeFlags=0,next.deletions=null),!skipSiblings&&(unitOfWork=unitOfWork.sibling,unitOfWork!==null)){workInProgress=unitOfWork;return}workInProgress=unitOfWork=next}while(unitOfWork!==null);workInProgressRootExitStatus=6,workInProgress=null}function commitRoot(root,finishedWork,lanes,recoverableErrors,transitions,didIncludeRenderPhaseUpdate,spawnedLane,updatedLanes,suspendedRetryLanes){root.cancelPendingCommit=null;do flushPendingEffects();while(pendingEffectsStatus!==0);if((executionContext&6)!==0)throw Error(formatProdErrorMessage(327));if(finishedWork!==null){if(finishedWork===root.current)throw Error(formatProdErrorMessage(177));if(didIncludeRenderPhaseUpdate=finishedWork.lanes|finishedWork.childLanes,didIncludeRenderPhaseUpdate|=concurrentlyUpdatedLanes,markRootFinished(root,lanes,didIncludeRenderPhaseUpdate,spawnedLane,updatedLanes,suspendedRetryLanes),root===workInProgressRoot&&(workInProgress=workInProgressRoot=null,workInProgressRootRenderLanes=0),pendingFinishedWork=finishedWork,pendingEffectsRoot=root,pendingEffectsLanes=lanes,pendingEffectsRemainingLanes=didIncludeRenderPhaseUpdate,pendingPassiveTransitions=transitions,pendingRecoverableErrors=recoverableErrors,(finishedWork.subtreeFlags&10256)!==0||(finishedWork.flags&10256)!==0?(root.callbackNode=null,root.callbackPriority=0,scheduleCallback(NormalPriority$1,function(){return flushPassiveEffects(!0),null})):(root.callbackNode=null,root.callbackPriority=0),recoverableErrors=(finishedWork.flags&13878)!==0,(finishedWork.subtreeFlags&13878)!==0||recoverableErrors){recoverableErrors=ReactSharedInternals.T,ReactSharedInternals.T=null,transitions=getCurrentUpdatePriority(),setCurrentUpdatePriority(2),spawnedLane=executionContext,executionContext|=4;try{commitBeforeMutationEffects(root,finishedWork,lanes)}finally{executionContext=spawnedLane,setCurrentUpdatePriority(transitions),ReactSharedInternals.T=recoverableErrors}}pendingEffectsStatus=1,flushMutationEffects(),flushLayoutEffects(),flushSpawnedWork()}}function flushMutationEffects(){if(pendingEffectsStatus===1){pendingEffectsStatus=0;var root=pendingEffectsRoot,finishedWork=pendingFinishedWork,rootMutationHasEffect=(finishedWork.flags&13878)!==0;if((finishedWork.subtreeFlags&13878)!==0||rootMutationHasEffect){rootMutationHasEffect=ReactSharedInternals.T,ReactSharedInternals.T=null;var previousPriority=getCurrentUpdatePriority();setCurrentUpdatePriority(2);var prevExecutionContext=executionContext;executionContext|=4;try{commitMutationEffectsOnFiber(finishedWork,root),resetAfterCommit(root.containerInfo)}finally{executionContext=prevExecutionContext,setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=rootMutationHasEffect}}root.current=finishedWork,pendingEffectsStatus=2}}function flushLayoutEffects(){if(pendingEffectsStatus===2){pendingEffectsStatus=0;var root=pendingEffectsRoot,finishedWork=pendingFinishedWork,rootHasLayoutEffect=(finishedWork.flags&8772)!==0;if((finishedWork.subtreeFlags&8772)!==0||rootHasLayoutEffect){rootHasLayoutEffect=ReactSharedInternals.T,ReactSharedInternals.T=null;var previousPriority=getCurrentUpdatePriority();setCurrentUpdatePriority(2);var prevExecutionContext=executionContext;executionContext|=4;try{commitLayoutEffectOnFiber(root,finishedWork.alternate,finishedWork)}finally{executionContext=prevExecutionContext,setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=rootHasLayoutEffect}}pendingEffectsStatus=3}}function flushSpawnedWork(){if(pendingEffectsStatus===4||pendingEffectsStatus===3){pendingEffectsStatus=0,requestPaint();var root=pendingEffectsRoot,finishedWork=pendingFinishedWork,lanes=pendingEffectsLanes,recoverableErrors=pendingRecoverableErrors;(finishedWork.subtreeFlags&10256)!==0||(finishedWork.flags&10256)!==0?pendingEffectsStatus=5:(pendingEffectsStatus=0,pendingFinishedWork=pendingEffectsRoot=null,releaseRootPooledCache(root,root.pendingLanes));var remainingLanes=root.pendingLanes;if(remainingLanes===0&&(legacyErrorBoundariesThatAlreadyFailed=null),lanesToEventPriority(lanes),finishedWork=finishedWork.stateNode,injectedHook&&typeof injectedHook.onCommitFiberRoot==="function")try{injectedHook.onCommitFiberRoot(rendererID,finishedWork,void 0,(finishedWork.current.flags&128)===128)}catch(err){}if(recoverableErrors!==null){finishedWork=ReactSharedInternals.T,remainingLanes=getCurrentUpdatePriority(),setCurrentUpdatePriority(2),ReactSharedInternals.T=null;try{for(var onRecoverableError=root.onRecoverableError,i=0;i<recoverableErrors.length;i++){var recoverableError=recoverableErrors[i];onRecoverableError(recoverableError.value,{componentStack:recoverableError.stack})}}finally{ReactSharedInternals.T=finishedWork,setCurrentUpdatePriority(remainingLanes)}}(pendingEffectsLanes&3)!==0&&flushPendingEffects(),ensureRootIsScheduled(root),remainingLanes=root.pendingLanes,(lanes&4194090)!==0&&(remainingLanes&42)!==0?root===rootWithNestedUpdates?nestedUpdateCount++:(nestedUpdateCount=0,rootWithNestedUpdates=root):nestedUpdateCount=0,flushSyncWorkAcrossRoots_impl(0,!1)}}function releaseRootPooledCache(root,remainingLanes){(root.pooledCacheLanes&=remainingLanes)===0&&(remainingLanes=root.pooledCache,remainingLanes!=null&&(root.pooledCache=null,releaseCache(remainingLanes)))}function flushPendingEffects(wasDelayedCommit){return flushMutationEffects(),flushLayoutEffects(),flushSpawnedWork(),flushPassiveEffects(wasDelayedCommit)}function flushPassiveEffects(){if(pendingEffectsStatus!==5)return!1;var root=pendingEffectsRoot,remainingLanes=pendingEffectsRemainingLanes;pendingEffectsRemainingLanes=0;var renderPriority=lanesToEventPriority(pendingEffectsLanes),priority=32>renderPriority?32:renderPriority;renderPriority=ReactSharedInternals.T;var previousPriority=getCurrentUpdatePriority();try{setCurrentUpdatePriority(priority),ReactSharedInternals.T=null,priority=pendingPassiveTransitions,pendingPassiveTransitions=null;var root$jscomp$0=pendingEffectsRoot,lanes=pendingEffectsLanes;if(pendingEffectsStatus=0,pendingFinishedWork=pendingEffectsRoot=null,pendingEffectsLanes=0,(executionContext&6)!==0)throw Error(formatProdErrorMessage(331));var prevExecutionContext=executionContext;if(executionContext|=4,commitPassiveUnmountOnFiber(root$jscomp$0.current),commitPassiveMountOnFiber(root$jscomp$0,root$jscomp$0.current,lanes,priority),executionContext=prevExecutionContext,flushSyncWorkAcrossRoots_impl(0,!1),injectedHook&&typeof injectedHook.onPostCommitFiberRoot==="function")try{injectedHook.onPostCommitFiberRoot(rendererID,root$jscomp$0)}catch(err){}return!0}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=renderPriority,releaseRootPooledCache(root,remainingLanes)}}function captureCommitPhaseErrorOnRoot(rootFiber,sourceFiber,error){sourceFiber=createCapturedValueAtFiber(error,sourceFiber),sourceFiber=createRootErrorUpdate(rootFiber.stateNode,sourceFiber,2),rootFiber=enqueueUpdate(rootFiber,sourceFiber,2),rootFiber!==null&&(markRootUpdated$1(rootFiber,2),ensureRootIsScheduled(rootFiber))}function captureCommitPhaseError(sourceFiber,nearestMountedAncestor,error){if(sourceFiber.tag===3)captureCommitPhaseErrorOnRoot(sourceFiber,sourceFiber,error);else for(;nearestMountedAncestor!==null;){if(nearestMountedAncestor.tag===3){captureCommitPhaseErrorOnRoot(nearestMountedAncestor,sourceFiber,error);break}else if(nearestMountedAncestor.tag===1){var instance=nearestMountedAncestor.stateNode;if(typeof nearestMountedAncestor.type.getDerivedStateFromError==="function"||typeof instance.componentDidCatch==="function"&&(legacyErrorBoundariesThatAlreadyFailed===null||!legacyErrorBoundariesThatAlreadyFailed.has(instance))){sourceFiber=createCapturedValueAtFiber(error,sourceFiber),error=createClassErrorUpdate(2),instance=enqueueUpdate(nearestMountedAncestor,error,2),instance!==null&&(initializeClassErrorUpdate(error,instance,nearestMountedAncestor,sourceFiber),markRootUpdated$1(instance,2),ensureRootIsScheduled(instance));break}}nearestMountedAncestor=nearestMountedAncestor.return}}function attachPingListener(root,wakeable,lanes){var pingCache=root.pingCache;if(pingCache===null){pingCache=root.pingCache=new PossiblyWeakMap;var threadIDs=new Set;pingCache.set(wakeable,threadIDs)}else threadIDs=pingCache.get(wakeable),threadIDs===void 0&&(threadIDs=new Set,pingCache.set(wakeable,threadIDs));threadIDs.has(lanes)||(workInProgressRootDidAttachPingListener=!0,threadIDs.add(lanes),root=pingSuspendedRoot.bind(null,root,wakeable,lanes),wakeable.then(root,root))}function pingSuspendedRoot(root,wakeable,pingedLanes){var pingCache=root.pingCache;pingCache!==null&&pingCache.delete(wakeable),root.pingedLanes|=root.suspendedLanes&pingedLanes,root.warmLanes&=~pingedLanes,workInProgressRoot===root&&(workInProgressRootRenderLanes&pingedLanes)===pingedLanes&&(workInProgressRootExitStatus===4||workInProgressRootExitStatus===3&&(workInProgressRootRenderLanes&62914560)===workInProgressRootRenderLanes&&300>now()-globalMostRecentFallbackTime?(executionContext&2)===0&&prepareFreshStack(root,0):workInProgressRootPingedLanes|=pingedLanes,workInProgressSuspendedRetryLanes===workInProgressRootRenderLanes&&(workInProgressSuspendedRetryLanes=0)),ensureRootIsScheduled(root)}function retryTimedOutBoundary(boundaryFiber,retryLane){retryLane===0&&(retryLane=claimNextRetryLane()),boundaryFiber=enqueueConcurrentRenderForLane(boundaryFiber,retryLane),boundaryFiber!==null&&(markRootUpdated$1(boundaryFiber,retryLane),ensureRootIsScheduled(boundaryFiber))}function retryDehydratedSuspenseBoundary(boundaryFiber){var suspenseState=boundaryFiber.memoizedState,retryLane=0;suspenseState!==null&&(retryLane=suspenseState.retryLane),retryTimedOutBoundary(boundaryFiber,retryLane)}function resolveRetryWakeable(boundaryFiber,wakeable){var retryLane=0;switch(boundaryFiber.tag){case 13:var{stateNode:retryCache,memoizedState:suspenseState}=boundaryFiber;suspenseState!==null&&(retryLane=suspenseState.retryLane);break;case 19:retryCache=boundaryFiber.stateNode;break;case 22:retryCache=boundaryFiber.stateNode._retryCache;break;default:throw Error(formatProdErrorMessage(314))}retryCache!==null&&retryCache.delete(wakeable),retryTimedOutBoundary(boundaryFiber,retryLane)}function scheduleCallback(priorityLevel,callback){return scheduleCallback$3(priorityLevel,callback)}function FiberNode(tag,pendingProps,key,mode){this.tag=tag,this.key=key,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=pendingProps,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=mode,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function shouldConstruct(Component){return Component=Component.prototype,!(!Component||!Component.isReactComponent)}function createWorkInProgress(current,pendingProps){var workInProgress2=current.alternate;return workInProgress2===null?(workInProgress2=createFiber(current.tag,pendingProps,current.key,current.mode),workInProgress2.elementType=current.elementType,workInProgress2.type=current.type,workInProgress2.stateNode=current.stateNode,workInProgress2.alternate=current,current.alternate=workInProgress2):(workInProgress2.pendingProps=pendingProps,workInProgress2.type=current.type,workInProgress2.flags=0,workInProgress2.subtreeFlags=0,workInProgress2.deletions=null),workInProgress2.flags=current.flags&65011712,workInProgress2.childLanes=current.childLanes,workInProgress2.lanes=current.lanes,workInProgress2.child=current.child,workInProgress2.memoizedProps=current.memoizedProps,workInProgress2.memoizedState=current.memoizedState,workInProgress2.updateQueue=current.updateQueue,pendingProps=current.dependencies,workInProgress2.dependencies=pendingProps===null?null:{lanes:pendingProps.lanes,firstContext:pendingProps.firstContext},workInProgress2.sibling=current.sibling,workInProgress2.index=current.index,workInProgress2.ref=current.ref,workInProgress2.refCleanup=current.refCleanup,workInProgress2}function resetWorkInProgress(workInProgress2,renderLanes2){workInProgress2.flags&=65011714;var current=workInProgress2.alternate;return current===null?(workInProgress2.childLanes=0,workInProgress2.lanes=renderLanes2,workInProgress2.child=null,workInProgress2.subtreeFlags=0,workInProgress2.memoizedProps=null,workInProgress2.memoizedState=null,workInProgress2.updateQueue=null,workInProgress2.dependencies=null,workInProgress2.stateNode=null):(workInProgress2.childLanes=current.childLanes,workInProgress2.lanes=current.lanes,workInProgress2.child=current.child,workInProgress2.subtreeFlags=0,workInProgress2.deletions=null,workInProgress2.memoizedProps=current.memoizedProps,workInProgress2.memoizedState=current.memoizedState,workInProgress2.updateQueue=current.updateQueue,workInProgress2.type=current.type,renderLanes2=current.dependencies,workInProgress2.dependencies=renderLanes2===null?null:{lanes:renderLanes2.lanes,firstContext:renderLanes2.firstContext}),workInProgress2}function createFiberFromTypeAndProps(type,key,pendingProps,owner,mode,lanes){var fiberTag=0;if(owner=type,typeof type==="function")shouldConstruct(type)&&(fiberTag=1);else if(typeof type==="string")fiberTag=supportsResources&&supportsSingletons?isHostHoistableType(type,pendingProps,contextStackCursor.current)?26:isHostSingletonType(type)?27:5:supportsResources?isHostHoistableType(type,pendingProps,contextStackCursor.current)?26:5:supportsSingletons?isHostSingletonType(type)?27:5:5;else a:switch(type){case REACT_ACTIVITY_TYPE:return type=createFiber(31,pendingProps,key,mode),type.elementType=REACT_ACTIVITY_TYPE,type.lanes=lanes,type;case REACT_FRAGMENT_TYPE2:return createFiberFromFragment(pendingProps.children,mode,lanes,key);case REACT_STRICT_MODE_TYPE:fiberTag=8,mode|=24;break;case REACT_PROFILER_TYPE:return type=createFiber(12,pendingProps,key,mode|2),type.elementType=REACT_PROFILER_TYPE,type.lanes=lanes,type;case REACT_SUSPENSE_TYPE:return type=createFiber(13,pendingProps,key,mode),type.elementType=REACT_SUSPENSE_TYPE,type.lanes=lanes,type;case REACT_SUSPENSE_LIST_TYPE:return type=createFiber(19,pendingProps,key,mode),type.elementType=REACT_SUSPENSE_LIST_TYPE,type.lanes=lanes,type;default:if(typeof type==="object"&&type!==null)switch(type.$$typeof){case REACT_PROVIDER_TYPE:case REACT_CONTEXT_TYPE:fiberTag=10;break a;case REACT_CONSUMER_TYPE:fiberTag=9;break a;case REACT_FORWARD_REF_TYPE:fiberTag=11;break a;case REACT_MEMO_TYPE:fiberTag=14;break a;case REACT_LAZY_TYPE:fiberTag=16,owner=null;break a}fiberTag=29,pendingProps=Error(formatProdErrorMessage(130,type===null?"null":typeof type,"")),owner=null}return key=createFiber(fiberTag,pendingProps,key,mode),key.elementType=type,key.type=owner,key.lanes=lanes,key}function createFiberFromFragment(elements,mode,lanes,key){return elements=createFiber(7,elements,key,mode),elements.lanes=lanes,elements}function createFiberFromText(content,mode,lanes){return content=createFiber(6,content,null,mode),content.lanes=lanes,content}function createFiberFromPortal(portal,mode,lanes){return mode=createFiber(4,portal.children!==null?portal.children:[],portal.key,mode),mode.lanes=lanes,mode.stateNode={containerInfo:portal.containerInfo,pendingChildren:null,implementation:portal.implementation},mode}function FiberRootNode(containerInfo,tag,hydrate,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,formState){this.tag=1,this.containerInfo=containerInfo,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=noTimeout,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=createLaneMap(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=createLaneMap(0),this.hiddenUpdates=createLaneMap(null),this.identifierPrefix=identifierPrefix,this.onUncaughtError=onUncaughtError,this.onCaughtError=onCaughtError,this.onRecoverableError=onRecoverableError,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=formState,this.incompleteTransitions=new Map}function createFiberRoot(containerInfo,tag,hydrate,initialChildren,hydrationCallbacks,isStrictMode,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks,formState){return containerInfo=new FiberRootNode(containerInfo,tag,hydrate,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,formState),tag=1,isStrictMode===!0&&(tag|=24),isStrictMode=createFiber(3,null,null,tag),containerInfo.current=isStrictMode,isStrictMode.stateNode=containerInfo,tag=createCache(),tag.refCount++,containerInfo.pooledCache=tag,tag.refCount++,isStrictMode.memoizedState={element:initialChildren,isDehydrated:hydrate,cache:tag},initializeUpdateQueue(isStrictMode),containerInfo}function getContextForSubtree(parentComponent){if(!parentComponent)return emptyContextObject;return parentComponent=emptyContextObject,parentComponent}function findHostInstance(component){var fiber=component._reactInternals;if(fiber===void 0){if(typeof component.render==="function")throw Error(formatProdErrorMessage(188));throw component=Object.keys(component).join(","),Error(formatProdErrorMessage(268,component))}return component=findCurrentFiberUsingSlowPath(fiber),component=component!==null?findCurrentHostFiberImpl(component):null,component===null?null:getPublicInstance(component.stateNode)}function updateContainerImpl(rootFiber,lane,element,container,parentComponent,callback){parentComponent=getContextForSubtree(parentComponent),container.context===null?container.context=parentComponent:container.pendingContext=parentComponent,container=createUpdate(lane),container.payload={element},callback=callback===void 0?null:callback,callback!==null&&(container.callback=callback),element=enqueueUpdate(rootFiber,container,lane),element!==null&&(scheduleUpdateOnFiber(element,rootFiber,lane),entangleTransitions(element,rootFiber,lane))}function markRetryLaneImpl(fiber,retryLane){if(fiber=fiber.memoizedState,fiber!==null&&fiber.dehydrated!==null){var a=fiber.retryLane;fiber.retryLane=a!==0&&a<retryLane?a:retryLane}}function markRetryLaneIfNotHydrated(fiber,retryLane){markRetryLaneImpl(fiber,retryLane),(fiber=fiber.alternate)&&markRetryLaneImpl(fiber,retryLane)}var exports2={},assign=Object.assign,REACT_LEGACY_ELEMENT_TYPE=Symbol.for("react.element"),REACT_ELEMENT_TYPE2=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE2=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_PROVIDER_TYPE=Symbol.for("react.provider"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_ACTIVITY_TYPE=Symbol.for("react.activity"),REACT_MEMO_CACHE_SENTINEL=Symbol.for("react.memo_cache_sentinel"),MAYBE_ITERATOR_SYMBOL=Symbol.iterator,REACT_CLIENT_REFERENCE=Symbol.for("react.client.reference"),isArrayImpl=Array.isArray,ReactSharedInternals=React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,rendererVersion=$$$config.rendererVersion,rendererPackageName=$$$config.rendererPackageName,extraDevToolsConfig=$$$config.extraDevToolsConfig,getPublicInstance=$$$config.getPublicInstance,getRootHostContext=$$$config.getRootHostContext,getChildHostContext=$$$config.getChildHostContext,prepareForCommit=$$$config.prepareForCommit,resetAfterCommit=$$$config.resetAfterCommit,createInstance=$$$config.createInstance;$$$config.cloneMutableInstance;var{appendInitialChild,finalizeInitialChildren,shouldSetTextContent,createTextInstance}=$$$config;$$$config.cloneMutableTextInstance;var{scheduleTimeout,cancelTimeout,noTimeout,isPrimaryRenderer}=$$$config;$$$config.warnsIfNotActing;var{supportsMutation,supportsPersistence,supportsHydration,getInstanceFromNode}=$$$config;$$$config.beforeActiveInstanceBlur;var preparePortalMount=$$$config.preparePortalMount;$$$config.prepareScopeUpdate,$$$config.getInstanceFromScope;var{setCurrentUpdatePriority,getCurrentUpdatePriority,resolveUpdatePriority}=$$$config;$$$config.trackSchedulerEvent,$$$config.resolveEventType,$$$config.resolveEventTimeStamp;var{shouldAttemptEagerTransition,detachDeletedInstance}=$$$config;$$$config.requestPostPaintCallback;var{maySuspendCommit,preloadInstance,startSuspendingCommit,suspendInstance}=$$$config;$$$config.suspendOnActiveViewTransition;var{waitForCommitToBeReady,NotPendingTransition,HostTransitionContext,resetFormInstance}=$$$config;$$$config.bindToConsole;var{supportsMicrotasks,scheduleMicrotask,supportsTestSelectors,findFiberRoot,getBoundingRect,getTextContent,isHiddenSubtree,matchAccessibilityRole,setFocusIfFocusable,setupIntersectionObserver,appendChild,appendChildToContainer,commitTextUpdate,commitMount,commitUpdate,insertBefore,insertInContainerBefore,removeChild,removeChildFromContainer,resetTextContent,hideInstance,hideTextInstance,unhideInstance,unhideTextInstance}=$$$config;$$$config.cancelViewTransitionName,$$$config.cancelRootViewTransitionName,$$$config.restoreRootViewTransitionName,$$$config.cloneRootViewTransitionContainer,$$$config.removeRootViewTransitionClone,$$$config.measureClonedInstance,$$$config.hasInstanceChanged,$$$config.hasInstanceAffectedParent,$$$config.startViewTransition,$$$config.startGestureTransition,$$$config.stopGestureTransition,$$$config.getCurrentGestureOffset,$$$config.subscribeToGestureDirection,$$$config.createViewTransitionInstance;var clearContainer=$$$config.clearContainer;$$$config.createFragmentInstance,$$$config.updateFragmentInstanceFiber,$$$config.commitNewChildToFragmentInstance,$$$config.deleteChildFromFragmentInstance;var{cloneInstance,createContainerChildSet,appendChildToContainerChildSet,finalizeContainerChildren,replaceContainerChildren,cloneHiddenInstance,cloneHiddenTextInstance,isSuspenseInstancePending,isSuspenseInstanceFallback,getSuspenseInstanceFallbackErrorDetails,registerSuspenseInstanceRetry,canHydrateFormStateMarker,isFormStateMarkerMatching,getNextHydratableSibling,getNextHydratableSiblingAfterSingleton,getFirstHydratableChild,getFirstHydratableChildWithinContainer,getFirstHydratableChildWithinSuspenseInstance,getFirstHydratableChildWithinSingleton,canHydrateInstance,canHydrateTextInstance,canHydrateSuspenseInstance,hydrateInstance,hydrateTextInstance,hydrateSuspenseInstance,getNextHydratableInstanceAfterSuspenseInstance,commitHydratedContainer,commitHydratedSuspenseInstance,clearSuspenseBoundary,clearSuspenseBoundaryFromContainer,shouldDeleteUnhydratedTailInstances}=$$$config;$$$config.diffHydratedPropsForDevWarnings,$$$config.diffHydratedTextForDevWarnings,$$$config.describeHydratableInstanceForDevWarnings;var{validateHydratableInstance,validateHydratableTextInstance,supportsResources,isHostHoistableType,getHoistableRoot,getResource,acquireResource,releaseResource,hydrateHoistable,mountHoistable,unmountHoistable,createHoistableInstance,prepareToCommitHoistables,mayResourceSuspendCommit,preloadResource,suspendResource,supportsSingletons,resolveSingletonInstance,acquireSingletonInstance,releaseSingletonInstance,isHostSingletonType,isSingletonScope}=$$$config,valueStack=[],index$jscomp$0=-1,emptyContextObject={},clz32=Math.clz32?Math.clz32:clz32Fallback,log$1=Math.log,LN2=Math.LN2,nextTransitionLane=256,nextRetryLane=4194304,scheduleCallback$3=$unstable_scheduleCallback,cancelCallback$1=$unstable_cancelCallback,shouldYield=$unstable_shouldYield,requestPaint=$unstable_requestPaint,now=$unstable_now,ImmediatePriority=$unstable_ImmediatePriority,UserBlockingPriority=$unstable_UserBlockingPriority,NormalPriority$1=$unstable_NormalPriority,IdlePriority=$unstable_IdlePriority,log2=void 0,unstable_setDisableYieldValue2=void 0,rendererID=null,injectedHook=null,prefix,suffix2,reentry=!1,CapturedStacks=new WeakMap,forkStack=[],forkStackIndex=0,treeForkProvider=null,treeForkCount=0,idStack=[],idStackIndex=0,treeContextProvider=null,treeContextId=1,treeContextOverflow="",contextStackCursor=createCursor(null),contextFiberStackCursor=createCursor(null),rootInstanceStackCursor=createCursor(null),hostTransitionProviderCursor=createCursor(null),hydrationParentFiber=null,nextHydratableInstance=null,isHydrating=!1,hydrationErrors=null,rootOrSingletonContext=!1,HydrationMismatchException=Error(formatProdErrorMessage(519)),objectIs=typeof Object.is==="function"?Object.is:is,valueCursor=createCursor(null),currentlyRenderingFiber$1=null,lastContextDependency=null,AbortControllerLocal=typeof AbortController<"u"?AbortController:function(){var listeners=[],signal=this.signal={aborted:!1,addEventListener:function(type,listener){listeners.push(listener)}};this.abort=function(){signal.aborted=!0,listeners.forEach(function(listener){return listener()})}},scheduleCallback$2=$unstable_scheduleCallback,NormalPriority=$unstable_NormalPriority,CacheContext={$$typeof:REACT_CONTEXT_TYPE,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},firstScheduledRoot=null,lastScheduledRoot=null,didScheduleMicrotask=!1,mightHavePendingSyncWork=!1,isFlushingWork=!1,currentEventTransitionLane=0,currentEntangledListeners=null,currentEntangledPendingCount=0,currentEntangledLane=0,currentEntangledActionThenable=null,prevOnStartTransitionFinish=ReactSharedInternals.S;ReactSharedInternals.S=function(transition,returnValue){typeof returnValue==="object"&&returnValue!==null&&typeof returnValue.then==="function"&&entangleAsyncAction(transition,returnValue),prevOnStartTransitionFinish!==null&&prevOnStartTransitionFinish(transition,returnValue)};var resumedCache=createCursor(null),hasOwnProperty=Object.prototype.hasOwnProperty,SuspenseException=Error(formatProdErrorMessage(460)),SuspenseyCommitException=Error(formatProdErrorMessage(474)),SuspenseActionException=Error(formatProdErrorMessage(542)),noopSuspenseyCommitThenable={then:function(){}},suspendedThenable=null,concurrentQueues=[],concurrentQueuesIndex=0,concurrentlyUpdatedLanes=0,hasForceUpdate=!1,didReadFromEntangledAsyncAction=!1,currentTreeHiddenStackCursor=createCursor(null),prevEntangledRenderLanesCursor=createCursor(0),renderLanes=0,currentlyRenderingFiber=null,currentHook=null,workInProgressHook=null,didScheduleRenderPhaseUpdate=!1,didScheduleRenderPhaseUpdateDuringThisPass=!1,shouldDoubleInvokeUserFnsInHooksDEV=!1,localIdCounter=0,thenableIndexCounter$1=0,thenableState$1=null,globalClientIdCounter=0,ContextOnlyDispatcher={readContext,use,useCallback:throwInvalidHookError,useContext:throwInvalidHookError,useEffect:throwInvalidHookError,useImperativeHandle:throwInvalidHookError,useLayoutEffect:throwInvalidHookError,useInsertionEffect:throwInvalidHookError,useMemo:throwInvalidHookError,useReducer:throwInvalidHookError,useRef:throwInvalidHookError,useState:throwInvalidHookError,useDebugValue:throwInvalidHookError,useDeferredValue:throwInvalidHookError,useTransition:throwInvalidHookError,useSyncExternalStore:throwInvalidHookError,useId:throwInvalidHookError,useHostTransitionStatus:throwInvalidHookError,useFormState:throwInvalidHookError,useActionState:throwInvalidHookError,useOptimistic:throwInvalidHookError,useMemoCache:throwInvalidHookError,useCacheRefresh:throwInvalidHookError},HooksDispatcherOnMount={readContext,use,useCallback:function(callback,deps){return mountWorkInProgressHook().memoizedState=[callback,deps===void 0?null:deps],callback},useContext:readContext,useEffect:mountEffect,useImperativeHandle:function(ref,create,deps){deps=deps!==null&&deps!==void 0?deps.concat([ref]):null,mountEffectImpl(4194308,4,imperativeHandleEffect.bind(null,create,ref),deps)},useLayoutEffect:function(create,deps){return mountEffectImpl(4194308,4,create,deps)},useInsertionEffect:function(create,deps){mountEffectImpl(4,2,create,deps)},useMemo:function(nextCreate,deps){var hook=mountWorkInProgressHook();deps=deps===void 0?null:deps;var nextValue=nextCreate();if(shouldDoubleInvokeUserFnsInHooksDEV){setIsStrictModeForDevtools(!0);try{nextCreate()}finally{setIsStrictModeForDevtools(!1)}}return hook.memoizedState=[nextValue,deps],nextValue},useReducer:function(reducer,initialArg,init){var hook=mountWorkInProgressHook();if(init!==void 0){var initialState=init(initialArg);if(shouldDoubleInvokeUserFnsInHooksDEV){setIsStrictModeForDevtools(!0);try{init(initialArg)}finally{setIsStrictModeForDevtools(!1)}}}else initialState=initialArg;return hook.memoizedState=hook.baseState=initialState,reducer={pending:null,lanes:0,dispatch:null,lastRenderedReducer:reducer,lastRenderedState:initialState},hook.queue=reducer,reducer=reducer.dispatch=dispatchReducerAction.bind(null,currentlyRenderingFiber,reducer),[hook.memoizedState,reducer]},useRef:function(initialValue){var hook=mountWorkInProgressHook();return initialValue={current:initialValue},hook.memoizedState=initialValue},useState:function(initialState){initialState=mountStateImpl(initialState);var queue=initialState.queue,dispatch=dispatchSetState.bind(null,currentlyRenderingFiber,queue);return queue.dispatch=dispatch,[initialState.memoizedState,dispatch]},useDebugValue:mountDebugValue,useDeferredValue:function(value,initialValue){var hook=mountWorkInProgressHook();return mountDeferredValueImpl(hook,value,initialValue)},useTransition:function(){var stateHook=mountStateImpl(!1);return stateHook=startTransition.bind(null,currentlyRenderingFiber,stateHook.queue,!0,!1),mountWorkInProgressHook().memoizedState=stateHook,[!1,stateHook]},useSyncExternalStore:function(subscribe,getSnapshot,getServerSnapshot){var fiber=currentlyRenderingFiber,hook=mountWorkInProgressHook();if(isHydrating){if(getServerSnapshot===void 0)throw Error(formatProdErrorMessage(407));getServerSnapshot=getServerSnapshot()}else{if(getServerSnapshot=getSnapshot(),workInProgressRoot===null)throw Error(formatProdErrorMessage(349));(workInProgressRootRenderLanes&124)!==0||pushStoreConsistencyCheck(fiber,getSnapshot,getServerSnapshot)}hook.memoizedState=getServerSnapshot;var inst={value:getServerSnapshot,getSnapshot};return hook.queue=inst,mountEffect(subscribeToStore.bind(null,fiber,inst,subscribe),[subscribe]),fiber.flags|=2048,pushSimpleEffect(9,createEffectInstance(),updateStoreInstance.bind(null,fiber,inst,getServerSnapshot,getSnapshot),null),getServerSnapshot},useId:function(){var hook=mountWorkInProgressHook(),identifierPrefix=workInProgressRoot.identifierPrefix;if(isHydrating){var JSCompiler_inline_result=treeContextOverflow,idWithLeadingBit=treeContextId;JSCompiler_inline_result=(idWithLeadingBit&~(1<<32-clz32(idWithLeadingBit)-1)).toString(32)+JSCompiler_inline_result,identifierPrefix="\xAB"+identifierPrefix+"R"+JSCompiler_inline_result,JSCompiler_inline_result=localIdCounter++,0<JSCompiler_inline_result&&(identifierPrefix+="H"+JSCompiler_inline_result.toString(32)),identifierPrefix+="\xBB"}else JSCompiler_inline_result=globalClientIdCounter++,identifierPrefix="\xAB"+identifierPrefix+"r"+JSCompiler_inline_result.toString(32)+"\xBB";return hook.memoizedState=identifierPrefix},useHostTransitionStatus,useFormState:mountActionState,useActionState:mountActionState,useOptimistic:function(passthrough){var hook=mountWorkInProgressHook();hook.memoizedState=hook.baseState=passthrough;var queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return hook.queue=queue,hook=dispatchOptimisticSetState.bind(null,currentlyRenderingFiber,!0,queue),queue.dispatch=hook,[passthrough,hook]},useMemoCache,useCacheRefresh:function(){return mountWorkInProgressHook().memoizedState=refreshCache.bind(null,currentlyRenderingFiber)}},HooksDispatcherOnUpdate={readContext,use,useCallback:updateCallback,useContext:readContext,useEffect:updateEffect,useImperativeHandle:updateImperativeHandle,useInsertionEffect:updateInsertionEffect,useLayoutEffect:updateLayoutEffect,useMemo:updateMemo,useReducer:updateReducer,useRef:updateRef,useState:function(){return updateReducer(basicStateReducer)},useDebugValue:mountDebugValue,useDeferredValue:function(value,initialValue){var hook=updateWorkInProgressHook();return updateDeferredValueImpl(hook,currentHook.memoizedState,value,initialValue)},useTransition:function(){var booleanOrThenable=updateReducer(basicStateReducer)[0],start=updateWorkInProgressHook().memoizedState;return[typeof booleanOrThenable==="boolean"?booleanOrThenable:useThenable(booleanOrThenable),start]},useSyncExternalStore:updateSyncExternalStore,useId:updateId,useHostTransitionStatus,useFormState:updateActionState,useActionState:updateActionState,useOptimistic:function(passthrough,reducer){var hook=updateWorkInProgressHook();return updateOptimisticImpl(hook,currentHook,passthrough,reducer)},useMemoCache,useCacheRefresh:updateRefresh},HooksDispatcherOnRerender={readContext,use,useCallback:updateCallback,useContext:readContext,useEffect:updateEffect,useImperativeHandle:updateImperativeHandle,useInsertionEffect:updateInsertionEffect,useLayoutEffect:updateLayoutEffect,useMemo:updateMemo,useReducer:rerenderReducer,useRef:updateRef,useState:function(){return rerenderReducer(basicStateReducer)},useDebugValue:mountDebugValue,useDeferredValue:function(value,initialValue){var hook=updateWorkInProgressHook();return currentHook===null?mountDeferredValueImpl(hook,value,initialValue):updateDeferredValueImpl(hook,currentHook.memoizedState,value,initialValue)},useTransition:function(){var booleanOrThenable=rerenderReducer(basicStateReducer)[0],start=updateWorkInProgressHook().memoizedState;return[typeof booleanOrThenable==="boolean"?booleanOrThenable:useThenable(booleanOrThenable),start]},useSyncExternalStore:updateSyncExternalStore,useId:updateId,useHostTransitionStatus,useFormState:rerenderActionState,useActionState:rerenderActionState,useOptimistic:function(passthrough,reducer){var hook=updateWorkInProgressHook();if(currentHook!==null)return updateOptimisticImpl(hook,currentHook,passthrough,reducer);return hook.baseState=passthrough,[passthrough,hook.queue.dispatch]},useMemoCache,useCacheRefresh:updateRefresh},thenableState=null,thenableIndexCounter=0,reconcileChildFibers=createChildReconciler(!0),mountChildFibers=createChildReconciler(!1),suspenseHandlerStackCursor=createCursor(null),shellBoundary=null,suspenseStackCursor=createCursor(0),classComponentUpdater={enqueueSetState:function(inst,payload,callback){inst=inst._reactInternals;var lane=requestUpdateLane(),update=createUpdate(lane);update.payload=payload,callback!==void 0&&callback!==null&&(update.callback=callback),payload=enqueueUpdate(inst,update,lane),payload!==null&&(scheduleUpdateOnFiber(payload,inst,lane),entangleTransitions(payload,inst,lane))},enqueueReplaceState:function(inst,payload,callback){inst=inst._reactInternals;var lane=requestUpdateLane(),update=createUpdate(lane);update.tag=1,update.payload=payload,callback!==void 0&&callback!==null&&(update.callback=callback),payload=enqueueUpdate(inst,update,lane),payload!==null&&(scheduleUpdateOnFiber(payload,inst,lane),entangleTransitions(payload,inst,lane))},enqueueForceUpdate:function(inst,callback){inst=inst._reactInternals;var lane=requestUpdateLane(),update=createUpdate(lane);update.tag=2,callback!==void 0&&callback!==null&&(update.callback=callback),callback=enqueueUpdate(inst,update,lane),callback!==null&&(scheduleUpdateOnFiber(callback,inst,lane),entangleTransitions(callback,inst,lane))}},reportGlobalError=typeof reportError==="function"?reportError:function(error){if(typeof window==="object"&&typeof window.ErrorEvent==="function"){var event=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof error==="object"&&error!==null&&typeof error.message==="string"?String(error.message):String(error),error});if(!window.dispatchEvent(event))return}else if(typeof process==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",error);return}console.error(error)},SelectiveHydrationException=Error(formatProdErrorMessage(461)),didReceiveUpdate=!1,SUSPENDED_MARKER={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null},offscreenSubtreeIsHidden=!1,offscreenSubtreeWasHidden=!1,needsFormReset=!1,PossiblyWeakSet=typeof WeakSet==="function"?WeakSet:Set,nextEffect=null,hostParent=null,hostParentIsContainer=!1,currentHoistableRoot=null,suspenseyCommitFlag=8192,DefaultAsyncDispatcher={getCacheForType:function(resourceType){var cache=readContext(CacheContext),cacheForType=cache.data.get(resourceType);return cacheForType===void 0&&(cacheForType=resourceType(),cache.data.set(resourceType,cacheForType)),cacheForType}},COMPONENT_TYPE=0,HAS_PSEUDO_CLASS_TYPE=1,ROLE_TYPE=2,TEST_NAME_TYPE=3,TEXT_TYPE=4;if(typeof Symbol==="function"&&Symbol.for){var symbolFor=Symbol.for;COMPONENT_TYPE=symbolFor("selector.component"),HAS_PSEUDO_CLASS_TYPE=symbolFor("selector.has_pseudo_class"),ROLE_TYPE=symbolFor("selector.role"),TEST_NAME_TYPE=symbolFor("selector.test_id"),TEXT_TYPE=symbolFor("selector.text")}var PossiblyWeakMap=typeof WeakMap==="function"?WeakMap:Map,executionContext=0,workInProgressRoot=null,workInProgress=null,workInProgressRootRenderLanes=0,workInProgressSuspendedReason=0,workInProgressThrownValue=null,workInProgressRootDidSkipSuspendedSiblings=!1,workInProgressRootIsPrerendering=!1,workInProgressRootDidAttachPingListener=!1,entangledRenderLanes=0,workInProgressRootExitStatus=0,workInProgressRootSkippedLanes=0,workInProgressRootInterleavedUpdatedLanes=0,workInProgressRootPingedLanes=0,workInProgressDeferredLane=0,workInProgressSuspendedRetryLanes=0,workInProgressRootConcurrentErrors=null,workInProgressRootRecoverableErrors=null,workInProgressRootDidIncludeRecursiveRenderUpdate=!1,globalMostRecentFallbackTime=0,workInProgressRootRenderTargetTime=1/0,workInProgressTransitions=null,legacyErrorBoundariesThatAlreadyFailed=null,pendingEffectsStatus=0,pendingEffectsRoot=null,pendingFinishedWork=null,pendingEffectsLanes=0,pendingEffectsRemainingLanes=0,pendingPassiveTransitions=null,pendingRecoverableErrors=null,nestedUpdateCount=0,rootWithNestedUpdates=null;return exports2.attemptContinuousHydration=function(fiber){if(fiber.tag===13){var root=enqueueConcurrentRenderForLane(fiber,67108864);root!==null&&scheduleUpdateOnFiber(root,fiber,67108864),markRetryLaneIfNotHydrated(fiber,67108864)}},exports2.attemptHydrationAtCurrentPriority=function(fiber){if(fiber.tag===13){var lane=requestUpdateLane();lane=getBumpedLaneForHydrationByLane(lane);var root=enqueueConcurrentRenderForLane(fiber,lane);root!==null&&scheduleUpdateOnFiber(root,fiber,lane),markRetryLaneIfNotHydrated(fiber,lane)}},exports2.attemptSynchronousHydration=function(fiber){switch(fiber.tag){case 3:if(fiber=fiber.stateNode,fiber.current.memoizedState.isDehydrated){var lanes=getHighestPriorityLanes(fiber.pendingLanes);if(lanes!==0){fiber.pendingLanes|=2;for(fiber.entangledLanes|=2;lanes;){var lane=1<<31-clz32(lanes);fiber.entanglements[1]|=lane,lanes&=~lane}ensureRootIsScheduled(fiber),(executionContext&6)===0&&(workInProgressRootRenderTargetTime=now()+500,flushSyncWorkAcrossRoots_impl(0,!1))}}break;case 13:lanes=enqueueConcurrentRenderForLane(fiber,2),lanes!==null&&scheduleUpdateOnFiber(lanes,fiber,2),flushSyncWork(),markRetryLaneIfNotHydrated(fiber,2)}},exports2.batchedUpdates=function(fn,a){return fn(a)},exports2.createComponentSelector=function(component){return{$$typeof:COMPONENT_TYPE,value:component}},exports2.createContainer=function(containerInfo,tag,hydrationCallbacks,isStrictMode,concurrentUpdatesByDefaultOverride,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks){return createFiberRoot(containerInfo,tag,!1,null,hydrationCallbacks,isStrictMode,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks,null)},exports2.createHasPseudoClassSelector=function(selectors){return{$$typeof:HAS_PSEUDO_CLASS_TYPE,value:selectors}},exports2.createHydrationContainer=function(initialChildren,callback,containerInfo,tag,hydrationCallbacks,isStrictMode,concurrentUpdatesByDefaultOverride,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks,formState){return initialChildren=createFiberRoot(containerInfo,tag,!0,initialChildren,hydrationCallbacks,isStrictMode,identifierPrefix,onUncaughtError,onCaughtError,onRecoverableError,transitionCallbacks,formState),initialChildren.context=getContextForSubtree(null),containerInfo=initialChildren.current,tag=requestUpdateLane(),tag=getBumpedLaneForHydrationByLane(tag),hydrationCallbacks=createUpdate(tag),hydrationCallbacks.callback=callback!==void 0&&callback!==null?callback:null,enqueueUpdate(containerInfo,hydrationCallbacks,tag),callback=tag,initialChildren.current.lanes=callback,markRootUpdated$1(initialChildren,callback),ensureRootIsScheduled(initialChildren),initialChildren},exports2.createPortal=function(children,containerInfo,implementation){var key=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:REACT_PORTAL_TYPE,key:key==null?null:""+key,children,containerInfo,implementation}},exports2.createRoleSelector=function(role){return{$$typeof:ROLE_TYPE,value:role}},exports2.createTestNameSelector=function(id){return{$$typeof:TEST_NAME_TYPE,value:id}},exports2.createTextSelector=function(text){return{$$typeof:TEXT_TYPE,value:text}},exports2.defaultOnCaughtError=function(error){console.error(error)},exports2.defaultOnRecoverableError=function(error){reportGlobalError(error)},exports2.defaultOnUncaughtError=function(error){reportGlobalError(error)},exports2.deferredUpdates=function(fn){var prevTransition=ReactSharedInternals.T,previousPriority=getCurrentUpdatePriority();try{return setCurrentUpdatePriority(32),ReactSharedInternals.T=null,fn()}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=prevTransition}},exports2.discreteUpdates=function(fn,a,b2,c,d2){var prevTransition=ReactSharedInternals.T,previousPriority=getCurrentUpdatePriority();try{return setCurrentUpdatePriority(2),ReactSharedInternals.T=null,fn(a,b2,c,d2)}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=prevTransition,executionContext===0&&(workInProgressRootRenderTargetTime=now()+500)}},exports2.findAllNodes=findAllNodes,exports2.findBoundingRects=function(hostRoot,selectors){if(!supportsTestSelectors)throw Error(formatProdErrorMessage(363));selectors=findAllNodes(hostRoot,selectors),hostRoot=[];for(var i=0;i<selectors.length;i++)hostRoot.push(getBoundingRect(selectors[i]));for(selectors=hostRoot.length-1;0<selectors;selectors--){i=hostRoot[selectors];for(var targetLeft=i.x,targetRight=targetLeft+i.width,targetTop=i.y,targetBottom=targetTop+i.height,j2=selectors-1;0<=j2;j2--)if(selectors!==j2){var otherRect=hostRoot[j2],otherLeft=otherRect.x,otherRight=otherLeft+otherRect.width,otherTop=otherRect.y,otherBottom=otherTop+otherRect.height;if(targetLeft>=otherLeft&&targetTop>=otherTop&&targetRight<=otherRight&&targetBottom<=otherBottom){hostRoot.splice(selectors,1);break}else if(!(targetLeft!==otherLeft||i.width!==otherRect.width||otherBottom<targetTop||otherTop>targetBottom)){otherTop>targetTop&&(otherRect.height+=otherTop-targetTop,otherRect.y=targetTop),otherBottom<targetBottom&&(otherRect.height=targetBottom-otherTop),hostRoot.splice(selectors,1);break}else if(!(targetTop!==otherTop||i.height!==otherRect.height||otherRight<targetLeft||otherLeft>targetRight)){otherLeft>targetLeft&&(otherRect.width+=otherLeft-targetLeft,otherRect.x=targetLeft),otherRight<targetRight&&(otherRect.width=targetRight-otherLeft),hostRoot.splice(selectors,1);break}}}return hostRoot},exports2.findHostInstance=findHostInstance,exports2.findHostInstanceWithNoPortals=function(fiber){return fiber=findCurrentFiberUsingSlowPath(fiber),fiber=fiber!==null?findCurrentHostFiberWithNoPortalsImpl(fiber):null,fiber===null?null:getPublicInstance(fiber.stateNode)},exports2.findHostInstanceWithWarning=function(component){return findHostInstance(component)},exports2.flushPassiveEffects=flushPendingEffects,exports2.flushSyncFromReconciler=function(fn){var prevExecutionContext=executionContext;executionContext|=1;var prevTransition=ReactSharedInternals.T,previousPriority=getCurrentUpdatePriority();try{if(setCurrentUpdatePriority(2),ReactSharedInternals.T=null,fn)return fn()}finally{setCurrentUpdatePriority(previousPriority),ReactSharedInternals.T=prevTransition,executionContext=prevExecutionContext,(executionContext&6)===0&&flushSyncWorkAcrossRoots_impl(0,!1)}},exports2.flushSyncWork=flushSyncWork,exports2.focusWithin=function(hostRoot,selectors){if(!supportsTestSelectors)throw Error(formatProdErrorMessage(363));hostRoot=findFiberRootForHostRoot(hostRoot),selectors=findPaths(hostRoot,selectors),selectors=Array.from(selectors);for(hostRoot=0;hostRoot<selectors.length;){var fiber=selectors[hostRoot++],tag=fiber.tag;if(!isHiddenSubtree(fiber)){if((tag===5||tag===26||tag===27)&&setFocusIfFocusable(fiber.stateNode))return!0;for(fiber=fiber.child;fiber!==null;)selectors.push(fiber),fiber=fiber.sibling}}return!1},exports2.getFindAllNodesFailureDescription=function(hostRoot,selectors){if(!supportsTestSelectors)throw Error(formatProdErrorMessage(363));var maxSelectorIndex=0,matchedNames=[];hostRoot=[findFiberRootForHostRoot(hostRoot),0];for(var index=0;index<hostRoot.length;){var fiber=hostRoot[index++],tag=fiber.tag,selectorIndex=hostRoot[index++],selector=selectors[selectorIndex];if(tag!==5&&tag!==26&&tag!==27||!isHiddenSubtree(fiber)){if(matchSelector(fiber,selector)&&(matchedNames.push(selectorToString(selector)),selectorIndex++,selectorIndex>maxSelectorIndex&&(maxSelectorIndex=selectorIndex)),selectorIndex<selectors.length)for(fiber=fiber.child;fiber!==null;)hostRoot.push(fiber,selectorIndex),fiber=fiber.sibling}}if(maxSelectorIndex<selectors.length){for(hostRoot=[];maxSelectorIndex<selectors.length;maxSelectorIndex++)hostRoot.push(selectorToString(selectors[maxSelectorIndex]));return`findAllNodes was able to match part of the selector:
11
11
  `+(matchedNames.join(" > ")+`
12
12
 
13
13
  No matching component was found for:
@@ -3661,14 +3661,14 @@ ${e}</tr>
3661
3661
  `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${w(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t2,tokens:n}){let r=this.parser.parseInline(n),i=X(e);if(i===null)return r;e=i;let s='<a href="'+e+'"';return t2&&(s+=' title="'+w(t2)+'"'),s+=">"+r+"</a>",s}image({href:e,title:t2,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=X(e);if(i===null)return w(n);e=i;let s=`<img src="${e}" alt="${n}"`;return t2&&(s+=` title="${w(t2)}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):("escaped"in e)&&e.escaped?e.text:w(e.text)}},$=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},b=class u2{options;renderer;textRenderer;constructor(e){this.options=e||T,this.options.renderer=this.options.renderer||new P,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $}static parse(e,t2){return new u2(t2).parse(e)}static parseInline(e,t2){return new u2(t2).parseInline(e)}parse(e){let t2="";for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let s=r,a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(s.type)){t2+=a||"";continue}}let i=r;switch(i.type){case"space":{t2+=this.renderer.space(i);break}case"hr":{t2+=this.renderer.hr(i);break}case"heading":{t2+=this.renderer.heading(i);break}case"code":{t2+=this.renderer.code(i);break}case"table":{t2+=this.renderer.table(i);break}case"blockquote":{t2+=this.renderer.blockquote(i);break}case"list":{t2+=this.renderer.list(i);break}case"checkbox":{t2+=this.renderer.checkbox(i);break}case"html":{t2+=this.renderer.html(i);break}case"def":{t2+=this.renderer.def(i);break}case"paragraph":{t2+=this.renderer.paragraph(i);break}case"text":{t2+=this.renderer.text(i);break}default:{let s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw Error(s)}}}return t2}parseInline(e,t2=this.renderer){let n="";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){n+=a||"";continue}}let s=i;switch(s.type){case"escape":{n+=t2.text(s);break}case"html":{n+=t2.html(s);break}case"link":{n+=t2.link(s);break}case"image":{n+=t2.image(s);break}case"checkbox":{n+=t2.checkbox(s);break}case"strong":{n+=t2.strong(s);break}case"em":{n+=t2.em(s);break}case"codespan":{n+=t2.codespan(s);break}case"br":{n+=t2.br(s);break}case"del":{n+=t2.del(s);break}case"text":{n+=t2.text(s);break}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw Error(a)}}}return n}},S=class{options;block;constructor(e){this.options=e||T}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?x.lex:x.lexInline}provideParser(){return this.block?b.parse:b.parseInline}},B=class{defaults=L();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=b;Renderer=P;TextRenderer=$;Lexer=x;Tokenizer=y;Hooks=S;constructor(...e){this.use(...e)}walkTokens(e,t2){let n=[];for(let r of e)switch(n=n.concat(t2.call(this,r)),r.type){case"table":{let i=r;for(let s of i.header)n=n.concat(this.walkTokens(s.tokens,t2));for(let s of i.rows)for(let a of s)n=n.concat(this.walkTokens(a.tokens,t2));break}case"list":{let i=r;n=n.concat(this.walkTokens(i.items,t2));break}default:{let i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach((s)=>{let a=i[s].flat(1/0);n=n.concat(this.walkTokens(a,t2))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t2)))}}return n}use(...e){let t2=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach((n)=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach((i)=>{if(!i.name)throw Error("extension name required");if("renderer"in i){let s=t2.renderers[i.name];s?t2.renderers[i.name]=function(...a){let o=i.renderer.apply(this,a);return o===!1&&(o=s.apply(this,a)),o}:t2.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let s=t2[i.level];s?s.unshift(i.tokenizer):t2[i.level]=[i.tokenizer],i.start&&(i.level==="block"?t2.startBlock?t2.startBlock.push(i.start):t2.startBlock=[i.start]:i.level==="inline"&&(t2.startInline?t2.startInline.push(i.start):t2.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t2.childTokens[i.name]=i.childTokens)}),r.extensions=t2),n.renderer){let i=this.defaults.renderer||new P(this.defaults);for(let s in n.renderer){if(!(s in i))throw Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let a=s,o=n.renderer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c||""}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new y(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,o=n.tokenizer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new S;for(let s in n.hooks){if(!(s in i))throw Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let a=s,o=n.hooks[a],l=i[a];S.passThroughHooks.has(s)?i[a]=(p)=>{if(this.defaults.async&&S.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await o.call(i,p);return l.call(i,g)})();let c=o.call(i,p);return l.call(i,c)}:i[a]=(...p)=>{if(this.defaults.async)return(async()=>{let g=await o.apply(i,p);return g===!1&&(g=await l.apply(i,p)),g})();let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(a){let o=[];return o.push(s.call(this,a)),i&&(o=o.concat(i.call(this,a))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t2){return x.lex(e,t2??this.defaults)}parser(e,t2){return b.parse(e,t2??this.defaults)}parseMarkdown(e){return(n,r)=>{let i={...r},s={...this.defaults,...i},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return a(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return a(Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return a(Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let o=s.hooks?await s.hooks.preprocess(n):n,p=await(s.hooks?await s.hooks.provideLexer():e?x.lex:x.lexInline)(o,s),c=s.hooks?await s.hooks.processAllTokens(p):p;s.walkTokens&&await Promise.all(this.walkTokens(c,s.walkTokens));let h2=await(s.hooks?await s.hooks.provideParser():e?b.parse:b.parseInline)(c,s);return s.hooks?await s.hooks.postprocess(h2):h2})().catch(a);try{s.hooks&&(n=s.hooks.preprocess(n));let l=(s.hooks?s.hooks.provideLexer():e?x.lex:x.lexInline)(n,s);s.hooks&&(l=s.hooks.processAllTokens(l)),s.walkTokens&&this.walkTokens(l,s.walkTokens);let c=(s.hooks?s.hooks.provideParser():e?b.parse:b.parseInline)(l,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(o){return a(o)}}}onError(e,t2){return(n)=>{if(n.message+=`
3662
3662
  Please report this to https://github.com/markedjs/marked.`,e){let r="<p>An error occurred:</p><pre>"+w(n.message+"",!0)+"</pre>";return t2?Promise.resolve(r):r}if(t2)return Promise.reject(n);throw n}}},_=new B;function d(u3,e){return _.parse(u3,e)}d.options=d.setOptions=function(u3){return _.setOptions(u3),d.defaults=_.defaults,Z(d.defaults),d};d.getDefaults=L;d.defaults=T;d.use=function(...u3){return _.use(...u3),d.defaults=_.defaults,Z(d.defaults),d};d.walkTokens=function(u3,e){return _.walkTokens(u3,e)};d.parseInline=_.parseInline;d.Parser=b;d.parser=b.parse;d.Renderer=P;d.TextRenderer=$;d.Lexer=x;d.lexer=x.lex;d.Tokenizer=y;d.Hooks=S;d.parse=d;var{options:Dt,setOptions:Ht,use:Zt,walkTokens:Gt,parseInline:Nt}=d,Ft=b.parse,jt=x.lex;function parseMarkdownIncremental(newContent,prevState,trailingUnstable=2){if(!prevState||prevState.tokens.length===0)try{let tokens=x.lex(newContent,{gfm:!0});return{content:newContent,tokens,stableTokenCount:Math.max(0,tokens.length-trailingUnstable)}}catch{return{content:newContent,tokens:[],stableTokenCount:0}}let offset=0,reuseCount=0;for(let token of prevState.tokens){let tokenLength=token.raw.length;if(offset+tokenLength<=newContent.length&&newContent.startsWith(token.raw,offset))reuseCount++,offset+=tokenLength;else break}reuseCount=Math.max(0,reuseCount-trailingUnstable),offset=0;for(let i=0;i<reuseCount;i++)offset+=prevState.tokens[i].raw.length;let stableTokens=prevState.tokens.slice(0,reuseCount),remainingContent=newContent.slice(offset);if(!remainingContent)return{content:newContent,tokens:stableTokens,stableTokenCount:stableTokens.length};try{let newTokens=x.lex(remainingContent,{gfm:!0});return{content:newContent,tokens:[...stableTokens,...newTokens],stableTokenCount:trailingUnstable===0?stableTokens.length+newTokens.length:stableTokens.length}}catch{try{let fullTokens=x.lex(newContent,{gfm:!0});return{content:newContent,tokens:fullTokens,stableTokenCount:0}}catch{return{content:newContent,tokens:[],stableTokenCount:0}}}}var TRAILING_MARKDOWN_BLOCK_BREAKS_RE=/(?:\r?\n){2,}$/,TRAILING_MARKDOWN_BLOCK_NEWLINES_RE=/(?:\r?\n)+$/;function colorsEqual(left,right){if(!left||!right)return left===right;return left.equals(right)}class MarkdownRenderable extends Renderable{_content="";_syntaxStyle;_fg;_bg;_conceal;_concealCode;_treeSitterClient;_tableOptions;_renderNode;_internalBlockMode;_parseState=null;_streaming=!1;_blockStates=[];_stableBlockCount=0;_styleDirty=!1;_linkifyMarkdownChunks=(chunks,context)=>detectLinks(chunks,{content:context.content,highlights:context.highlights});_contentDefaultOptions={content:"",conceal:!0,concealCode:!1,streaming:!1,internalBlockMode:"coalesced"};constructor(ctx,options){super(ctx,{...options,flexDirection:"column",flexShrink:options.flexShrink??0});this._syntaxStyle=options.syntaxStyle,this._fg=options.fg?parseColor(options.fg):void 0,this._bg=options.bg?parseColor(options.bg):void 0,this._conceal=options.conceal??this._contentDefaultOptions.conceal,this._concealCode=options.concealCode??this._contentDefaultOptions.concealCode,this._content=options.content??this._contentDefaultOptions.content,this._treeSitterClient=options.treeSitterClient,this._tableOptions=options.tableOptions,this._renderNode=options.renderNode,this._streaming=options.streaming??this._contentDefaultOptions.streaming,this._internalBlockMode=options.internalBlockMode??this._contentDefaultOptions.internalBlockMode,this.updateBlocks()}get content(){return this._content}set content(value){if(this.isDestroyed)return;if(this._content!==value)this._content=value,this.updateBlocks(),this.requestRender()}get syntaxStyle(){return this._syntaxStyle}set syntaxStyle(value){if(this._syntaxStyle!==value)this._syntaxStyle=value,this._styleDirty=!0}get fg(){return this._fg}set fg(value){let next=value?parseColor(value):void 0;if(!colorsEqual(this._fg,next))this._fg=next,this._styleDirty=!0}get bg(){return this._bg}set bg(value){let next=value?parseColor(value):void 0;if(!colorsEqual(this._bg,next))this._bg=next,this._styleDirty=!0}get conceal(){return this._conceal}set conceal(value){if(this._conceal!==value)this._conceal=value,this._styleDirty=!0}get concealCode(){return this._concealCode}set concealCode(value){if(this._concealCode!==value)this._concealCode=value,this._styleDirty=!0}get streaming(){return this._streaming}set streaming(value){if(this.isDestroyed)return;if(this._streaming!==value)this._streaming=value,this.updateBlocks(!0)}get tableOptions(){return this._tableOptions}set tableOptions(value){this._tableOptions=value,this.applyTableOptionsToBlocks()}getStyle(group){if(!this._syntaxStyle)return;let style=this._syntaxStyle.getStyle(group);if(!style&&group.includes(".")){let baseName=group.split(".")[0];style=this._syntaxStyle.getStyle(baseName)}return style}createChunk(text,group,link2){let style=this.getStyle(group)||this.getStyle("default");return{__isChunk:!0,text,fg:style?.fg,bg:style?.bg,attributes:style?createTextAttributes({bold:style.bold,italic:style.italic,underline:style.underline,dim:style.dim}):0,link:link2}}createDefaultChunk(text){return this.createChunk(text,"default")}renderInlineContent(tokens,chunks){for(let token of tokens)this.renderInlineToken(token,chunks)}renderInlineToken(token,chunks){switch(token.type){case"text":chunks.push(this.createDefaultChunk(token.text));break;case"escape":chunks.push(this.createDefaultChunk(token.text));break;case"codespan":if(this._conceal)chunks.push(this.createChunk(token.text,"markup.raw"));else chunks.push(this.createChunk("`","markup.raw")),chunks.push(this.createChunk(token.text,"markup.raw")),chunks.push(this.createChunk("`","markup.raw"));break;case"strong":if(!this._conceal)chunks.push(this.createChunk("**","markup.strong"));for(let child of token.tokens)this.renderInlineTokenWithStyle(child,chunks,"markup.strong");if(!this._conceal)chunks.push(this.createChunk("**","markup.strong"));break;case"em":if(!this._conceal)chunks.push(this.createChunk("*","markup.italic"));for(let child of token.tokens)this.renderInlineTokenWithStyle(child,chunks,"markup.italic");if(!this._conceal)chunks.push(this.createChunk("*","markup.italic"));break;case"del":if(!this._conceal)chunks.push(this.createChunk("~~","markup.strikethrough"));for(let child of token.tokens)this.renderInlineTokenWithStyle(child,chunks,"markup.strikethrough");if(!this._conceal)chunks.push(this.createChunk("~~","markup.strikethrough"));break;case"link":{let linkHref={url:token.href};if(this._conceal){for(let child of token.tokens)this.renderInlineTokenWithStyle(child,chunks,"markup.link.label",linkHref);chunks.push(this.createChunk(" (","markup.link",linkHref)),chunks.push(this.createChunk(token.href,"markup.link.url",linkHref)),chunks.push(this.createChunk(")","markup.link",linkHref))}else{chunks.push(this.createChunk("[","markup.link",linkHref));for(let child of token.tokens)this.renderInlineTokenWithStyle(child,chunks,"markup.link.label",linkHref);chunks.push(this.createChunk("](","markup.link",linkHref)),chunks.push(this.createChunk(token.href,"markup.link.url",linkHref)),chunks.push(this.createChunk(")","markup.link",linkHref))}break}case"image":{let imageHref={url:token.href};if(this._conceal)chunks.push(this.createChunk(token.text||"image","markup.link.label",imageHref));else chunks.push(this.createChunk("![","markup.link",imageHref)),chunks.push(this.createChunk(token.text||"","markup.link.label",imageHref)),chunks.push(this.createChunk("](","markup.link",imageHref)),chunks.push(this.createChunk(token.href,"markup.link.url",imageHref)),chunks.push(this.createChunk(")","markup.link",imageHref));break}case"br":chunks.push(this.createDefaultChunk(`
3663
3663
  `));break;default:if("tokens"in token&&Array.isArray(token.tokens))this.renderInlineContent(token.tokens,chunks);else if("text"in token&&typeof token.text==="string")chunks.push(this.createDefaultChunk(token.text));break}}renderInlineTokenWithStyle(token,chunks,styleGroup,link2){switch(token.type){case"text":chunks.push(this.createChunk(token.text,styleGroup,link2));break;case"escape":chunks.push(this.createChunk(token.text,styleGroup,link2));break;case"codespan":if(this._conceal)chunks.push(this.createChunk(token.text,"markup.raw",link2));else chunks.push(this.createChunk("`","markup.raw",link2)),chunks.push(this.createChunk(token.text,"markup.raw",link2)),chunks.push(this.createChunk("`","markup.raw",link2));break;default:this.renderInlineToken(token,chunks);break}}applyMargins(renderable,marginTop,marginBottom){renderable.marginTop=marginTop,renderable.marginBottom=marginBottom}createMarkdownCodeRenderable(content,id,marginBottom=0){return new CodeRenderable(this.ctx,{id,content,filetype:"markdown",syntaxStyle:this._syntaxStyle,fg:this._fg,bg:this._bg,conceal:this._conceal,drawUnstyledText:!1,streaming:!0,onChunks:this._linkifyMarkdownChunks,treeSitterClient:this._treeSitterClient,width:"100%",marginBottom})}createCodeRenderable(token,id,marginBottom=0){return new CodeRenderable(this.ctx,{id,content:token.text,filetype:infoStringToFiletype(token.lang??""),syntaxStyle:this._syntaxStyle,fg:this._fg,bg:this._bg,conceal:this._concealCode,drawUnstyledText:!(this._streaming&&this._concealCode),streaming:this._streaming,treeSitterClient:this._treeSitterClient,width:"100%",marginBottom})}applyMarkdownCodeRenderable(renderable,content,marginBottom){renderable.content=content,renderable.filetype="markdown",renderable.syntaxStyle=this._syntaxStyle,renderable.fg=this._fg,renderable.bg=this._bg,renderable.conceal=this._conceal,renderable.drawUnstyledText=!1,renderable.streaming=!0,renderable.marginBottom=marginBottom}applyCodeBlockRenderable(renderable,token,marginBottom){renderable.content=token.text,renderable.filetype=infoStringToFiletype(token.lang??""),renderable.syntaxStyle=this._syntaxStyle,renderable.fg=this._fg,renderable.bg=this._bg,renderable.conceal=this._concealCode,renderable.drawUnstyledText=!(this._streaming&&this._concealCode),renderable.streaming=this._streaming,renderable.marginBottom=marginBottom}shouldRenderSeparately(token){return token.type==="code"||token.type==="table"||token.type==="blockquote"}getInterBlockMargin(token,hasNextToken){if(!hasNextToken)return 0;return this.shouldRenderSeparately(token)?1:0}createMarkdownBlockToken(raw){return{type:"paragraph",raw,text:raw,tokens:[]}}normalizeMarkdownBlockRaw(raw){return raw.replace(TRAILING_MARKDOWN_BLOCK_BREAKS_RE,`
3664
- `)}normalizeScrollbackMarkdownBlockRaw(raw){return raw.replace(TRAILING_MARKDOWN_BLOCK_NEWLINES_RE,"")}buildRenderableTokens(tokens){if(this._renderNode)return tokens.filter((token)=>token.type!=="space");let renderTokens=[],markdownRaw="",flushMarkdownRaw=()=>{if(markdownRaw.length===0)return;let normalizedRaw=this.normalizeMarkdownBlockRaw(markdownRaw);if(normalizedRaw.length>0)renderTokens.push(this.createMarkdownBlockToken(normalizedRaw));markdownRaw=""};for(let i=0;i<tokens.length;i+=1){let token=tokens[i];if(token.type==="space"){if(markdownRaw.length===0)continue;let nextIndex=i+1;while(nextIndex<tokens.length&&tokens[nextIndex].type==="space")nextIndex+=1;let nextToken=tokens[nextIndex];if(nextToken&&!this.shouldRenderSeparately(nextToken))markdownRaw+=token.raw;continue}if(this.shouldRenderSeparately(token)){flushMarkdownRaw(),renderTokens.push(token);continue}markdownRaw+=token.raw}return flushMarkdownRaw(),renderTokens}buildTopLevelRenderBlocks(tokens){let blocks=[],gapBefore="";for(let i=0;i<tokens.length;i+=1){let token=tokens[i];if(token.type==="space"){gapBefore+=token.raw;continue}let prev=blocks[blocks.length-1],marginTop=prev&&(this.shouldRenderSeparately(prev.token)||TRAILING_MARKDOWN_BLOCK_BREAKS_RE.test(prev.token.raw+gapBefore))?1:0;blocks.push({token,sourceTokenEnd:i+1,marginTop}),gapBefore=""}return blocks}getTableRowsToRender(table){return table.rows}hashString(value,seed){let hash=seed>>>0;for(let i=0;i<value.length;i+=1)hash^=value.charCodeAt(i),hash=Math.imul(hash,16777619);return hash>>>0}hashTableToken(token,seed,depth=0){let hash=this.hashString(token.type,seed);if("raw"in token&&typeof token.raw==="string")return this.hashString(token.raw,hash);if("text"in token&&typeof token.text==="string")hash=this.hashString(token.text,hash);if(depth<2&&"tokens"in token&&Array.isArray(token.tokens))for(let child of token.tokens)hash=this.hashTableToken(child,hash,depth+1);return hash>>>0}getTableCellKey(cell,isHeader){let seed=isHeader?2902232141:1371922141;if(!cell)return seed;if(typeof cell.text==="string")return this.hashString(cell.text,seed);if(Array.isArray(cell.tokens)&&cell.tokens.length>0){let hash=seed^cell.tokens.length;for(let token of cell.tokens)hash=this.hashTableToken(token,hash);return hash>>>0}return(seed^2654435769)>>>0}createTableDataCellChunks(cell){let chunks=[];if(cell)this.renderInlineContent(cell.tokens,chunks);return chunks.length>0?chunks:[this.createDefaultChunk(" ")]}createTableHeaderCellChunks(cell){let chunks=[];this.renderInlineContent(cell.tokens,chunks);let baseChunks=chunks.length>0?chunks:[this.createDefaultChunk(" ")],headingStyle=this.getStyle("markup.heading")||this.getStyle("default");if(!headingStyle)return baseChunks;let headingAttributes=createTextAttributes({bold:headingStyle.bold,italic:headingStyle.italic,underline:headingStyle.underline,dim:headingStyle.dim});return baseChunks.map((chunk)=>({...chunk,fg:headingStyle.fg??chunk.fg,bg:headingStyle.bg??chunk.bg,attributes:headingAttributes}))}buildTableContentCache(table,previous,forceRegenerate=!1){let colCount=table.header.length,rowsToRender=this.getTableRowsToRender(table);if(colCount===0||rowsToRender.length===0)return{cache:null,changed:previous!==void 0};let content=[],cellKeys=[],totalRows=rowsToRender.length+1,changed=forceRegenerate||!previous;for(let rowIndex=0;rowIndex<totalRows;rowIndex+=1){let rowContent=[],rowKeys=new Uint32Array(colCount);for(let colIndex=0;colIndex<colCount;colIndex+=1){let isHeader=rowIndex===0,cell=isHeader?table.header[colIndex]:rowsToRender[rowIndex-1]?.[colIndex],cellKey=this.getTableCellKey(cell,isHeader);rowKeys[colIndex]=cellKey;let previousCellKey=previous?.cellKeys[rowIndex]?.[colIndex],previousCellContent=previous?.content[rowIndex]?.[colIndex];if(!forceRegenerate&&previousCellKey===cellKey&&Array.isArray(previousCellContent)){rowContent.push(previousCellContent);continue}changed=!0,rowContent.push(isHeader?this.createTableHeaderCellChunks(table.header[colIndex]):this.createTableDataCellChunks(cell))}content.push(rowContent),cellKeys.push(rowKeys)}if(previous&&!changed){if(previous.content.length!==content.length)changed=!0;else for(let rowIndex=0;rowIndex<content.length;rowIndex+=1)if((previous.content[rowIndex]?.length??0)!==content[rowIndex].length){changed=!0;break}}return{cache:{content,cellKeys},changed}}resolveTableStyle(options=this._tableOptions){if(options?.style==="columns")return"columns";if(options?.style==="grid")return"grid";return this._internalBlockMode==="top-level"?"columns":"grid"}usesBorderlessColumnSpacing(options=this._tableOptions){let style=this.resolveTableStyle(options),borders=options?.borders??style==="grid";return style==="columns"&&!borders}resolveTableRenderableOptions(){let style=this.resolveTableStyle(),borders=this._tableOptions?.borders??style==="grid";return{columnWidthMode:this._tableOptions?.widthMode??(style==="columns"?"content":"full"),columnFitter:this._tableOptions?.columnFitter??"proportional",wrapMode:this._tableOptions?.wrapMode??"word",cellPadding:this._tableOptions?.cellPadding??0,columnGap:this.usesBorderlessColumnSpacing()?2:0,border:borders,outerBorder:this._tableOptions?.outerBorder??borders,showBorders:borders,borderStyle:this._tableOptions?.borderStyle??"single",borderColor:this._tableOptions?.borderColor??this.getStyle("conceal")?.fg??"#888888",selectable:this._tableOptions?.selectable??!0}}applyTableRenderableOptions(tableRenderable,options){tableRenderable.columnWidthMode=options.columnWidthMode,tableRenderable.columnFitter=options.columnFitter,tableRenderable.wrapMode=options.wrapMode,tableRenderable.cellPadding=options.cellPadding,tableRenderable.columnGap=options.columnGap,tableRenderable.border=options.border,tableRenderable.outerBorder=options.outerBorder,tableRenderable.showBorders=options.showBorders,tableRenderable.borderStyle=options.borderStyle,tableRenderable.borderColor=options.borderColor,tableRenderable.selectable=options.selectable}applyTableOptionsToBlocks(){let options=this.resolveTableRenderableOptions(),updated=!1;for(let state of this._blockStates)if(state.renderable instanceof TextTableRenderable)this.applyTableRenderableOptions(state.renderable,options),updated=!0;if(updated)this.requestRender()}createTextTableRenderable(content,id,marginBottom=0){let options=this.resolveTableRenderableOptions();return new TextTableRenderable(this.ctx,{id,content,width:"100%",marginBottom,columnWidthMode:options.columnWidthMode,columnFitter:options.columnFitter,wrapMode:options.wrapMode,cellPadding:options.cellPadding,columnGap:options.columnGap,border:options.border,outerBorder:options.outerBorder,showBorders:options.showBorders,borderStyle:options.borderStyle,borderColor:options.borderColor,selectable:options.selectable})}createTableBlock(table,id,marginBottom=0,previousCache,forceRegenerate=!1){let{cache}=this.buildTableContentCache(table,previousCache,forceRegenerate);if(!cache)return{renderable:this.createMarkdownCodeRenderable(table.raw,id,marginBottom)};return{renderable:this.createTextTableRenderable(cache.content,id,marginBottom),tableContentCache:cache}}getStableBlockCount(blocks,stableTokenCount){if(this._internalBlockMode!=="top-level")return 0;let stableBlockCount=0;for(let block of blocks){if(block.sourceTokenEnd<=stableTokenCount){stableBlockCount+=1;continue}break}return stableBlockCount}syncTopLevelBlockState(state,block,tableContentCache=state.tableContentCache){state.token=block.token,state.tokenRaw=block.token.raw,state.marginTop=block.marginTop,state.tableContentCache=tableContentCache}getTopLevelBlockRaw(token){if(!token.raw)return;return this.shouldRenderSeparately(token)?token.raw:this.normalizeScrollbackMarkdownBlockRaw(token.raw)}createTopLevelDefaultRenderable(block,index){let{token,marginTop}=block,id=`${this.id}-block-${index}`;if(token.type==="code"){let renderable2=this.createCodeRenderable(token,id);return renderable2.marginTop=marginTop,{renderable:renderable2}}if(token.type==="table"){let next=this.createTableBlock(token,id);return next.renderable.marginTop=marginTop,next}let markdownRaw=this.getTopLevelBlockRaw(token);if(!markdownRaw)return{renderable:void 0};let renderable=this.createMarkdownCodeRenderable(markdownRaw,id);return renderable.marginTop=marginTop,{renderable}}createTopLevelRenderable(block,index){if(!this._renderNode)return this.createTopLevelDefaultRenderable(block,index);let next,context={syntaxStyle:this._syntaxStyle,conceal:this._conceal,concealCode:this._concealCode,treeSitterClient:this._treeSitterClient,defaultRender:()=>{return next=this.createTopLevelDefaultRenderable(block,index),next.renderable??null}},custom=this._renderNode(block.token,context);if(custom)return this.applyMargins(custom,block.marginTop,0),{renderable:custom};return next??this.createTopLevelDefaultRenderable(block,index)}createDefaultRenderable(token,index,hasNextToken=!1){let id=`${this.id}-block-${index}`,marginBottom=this.getInterBlockMargin(token,hasNextToken);if(token.type==="code")return this.createCodeRenderable(token,id,marginBottom);if(token.type==="table")return this.createTableBlock(token,id,marginBottom).renderable;if(token.type==="space")return null;if(!token.raw)return null;return this.createMarkdownCodeRenderable(token.raw,id,marginBottom)}updateBlockRenderable(state,token,index,hasNextToken){let marginBottom=this.getInterBlockMargin(token,hasNextToken);if(token.type==="code"){this.applyCodeBlockRenderable(state.renderable,token,marginBottom);return}if(token.type==="table"){let tableToken=token,{cache,changed}=this.buildTableContentCache(tableToken,state.tableContentCache);if(!cache){if(state.renderable instanceof CodeRenderable){this.applyMarkdownCodeRenderable(state.renderable,tableToken.raw,marginBottom),state.tableContentCache=void 0;return}state.renderable.destroyRecursively();let fallbackRenderable=this.createMarkdownCodeRenderable(tableToken.raw,`${this.id}-block-${index}`,marginBottom);this.add(fallbackRenderable),state.renderable=fallbackRenderable,state.tableContentCache=void 0;return}if(state.renderable instanceof TextTableRenderable){if(changed)state.renderable.content=cache.content;this.applyTableRenderableOptions(state.renderable,this.resolveTableRenderableOptions()),state.renderable.marginBottom=marginBottom,state.tableContentCache=cache;return}state.renderable.destroyRecursively();let tableRenderable=this.createTextTableRenderable(cache.content,`${this.id}-block-${index}`,marginBottom);this.add(tableRenderable),state.renderable=tableRenderable,state.tableContentCache=cache;return}if(state.renderable instanceof CodeRenderable){this.applyMarkdownCodeRenderable(state.renderable,token.raw,marginBottom);return}state.renderable.destroyRecursively();let markdownRenderable=this.createMarkdownCodeRenderable(token.raw,`${this.id}-block-${index}`,marginBottom);this.add(markdownRenderable),state.renderable=markdownRenderable}updateTopLevelBlocks(tokens,forceTableRefresh){let blocks=this.buildTopLevelRenderBlocks(tokens);this._stableBlockCount=this.getStableBlockCount(blocks,this._parseState?.stableTokenCount??0);let blockIndex=0;for(let i=0;i<blocks.length;i+=1){let block=blocks[i],existing=this._blockStates[blockIndex];if(existing&&existing.token===block.token&&!forceTableRefresh){if(existing.marginTop!==block.marginTop)this.applyMargins(existing.renderable,block.marginTop,0);this.syncTopLevelBlockState(existing,block),blockIndex++;continue}if(existing&&existing.tokenRaw===block.token.raw&&existing.token.type===block.token.type&&!forceTableRefresh){if(existing.marginTop!==block.marginTop)this.applyMargins(existing.renderable,block.marginTop,0);this.syncTopLevelBlockState(existing,block),blockIndex++;continue}if(existing)existing.renderable.destroyRecursively();let next=this.createTopLevelRenderable(block,blockIndex);if(next.renderable)this.add(next.renderable),this._blockStates[blockIndex]={token:block.token,tokenRaw:block.token.raw,marginTop:block.marginTop,renderable:next.renderable,tableContentCache:next.tableContentCache};blockIndex++}while(this._blockStates.length>blockIndex)this._blockStates.pop().renderable.destroyRecursively()}updateBlocks(forceTableRefresh=!1){if(this.isDestroyed)return;if(!this._content){this.clearBlockStates(),this._parseState=null,this._stableBlockCount=0;return}let trailingUnstable=this._streaming?2:0;this._parseState=parseMarkdownIncremental(this._content,this._parseState,trailingUnstable);let tokens=this._parseState.tokens;if(tokens.length===0&&this._content.length>0){this.clearBlockStates(),this._stableBlockCount=0;let fallback=this.createMarkdownCodeRenderable(this._content,`${this.id}-fallback`);this.add(fallback),this._blockStates=[{token:{type:"text",raw:this._content,text:this._content},tokenRaw:this._content,marginTop:0,renderable:fallback}];return}if(this._internalBlockMode==="top-level"){this.updateTopLevelBlocks(tokens,forceTableRefresh);return}this._stableBlockCount=0;let blockTokens=this.buildRenderableTokens(tokens),lastBlockIndex=blockTokens.length-1,blockIndex=0;for(let i=0;i<blockTokens.length;i++){let token=blockTokens[i],hasNextToken=i<lastBlockIndex,existing=this._blockStates[blockIndex],shouldForceRefresh=forceTableRefresh;if(existing&&existing.token===token){if(shouldForceRefresh)this.updateBlockRenderable(existing,token,blockIndex,hasNextToken),existing.tokenRaw=token.raw;blockIndex++;continue}if(existing&&existing.tokenRaw===token.raw&&existing.token.type===token.type){if(existing.token=token,shouldForceRefresh)this.updateBlockRenderable(existing,token,blockIndex,hasNextToken),existing.tokenRaw=token.raw;blockIndex++;continue}if(existing&&existing.token.type===token.type){this.updateBlockRenderable(existing,token,blockIndex,hasNextToken),existing.token=token,existing.tokenRaw=token.raw,blockIndex++;continue}if(existing)existing.renderable.destroyRecursively();let renderable,tableContentCache;if(this._renderNode){let context={syntaxStyle:this._syntaxStyle,conceal:this._conceal,concealCode:this._concealCode,treeSitterClient:this._treeSitterClient,defaultRender:()=>this.createDefaultRenderable(token,blockIndex,hasNextToken)},custom=this._renderNode(token,context);if(custom)renderable=custom}if(!renderable)if(token.type==="table"){let tableBlock=this.createTableBlock(token,`${this.id}-block-${blockIndex}`,this.getInterBlockMargin(token,hasNextToken));renderable=tableBlock.renderable,tableContentCache=tableBlock.tableContentCache}else renderable=this.createDefaultRenderable(token,blockIndex,hasNextToken)??void 0;if(token.type==="table"&&!tableContentCache&&renderable instanceof TextTableRenderable){let{cache}=this.buildTableContentCache(token);tableContentCache=cache??void 0}if(renderable)this.add(renderable),this._blockStates[blockIndex]={token,tokenRaw:token.raw,renderable,tableContentCache};blockIndex++}while(this._blockStates.length>blockIndex)this._blockStates.pop().renderable.destroyRecursively()}clearBlockStates(){for(let state of this._blockStates)state.renderable.destroyRecursively();this._blockStates=[],this._stableBlockCount=0}rerenderBlocks(){if(this._internalBlockMode==="top-level"){this.updateBlocks(!0);return}for(let i=0;i<this._blockStates.length;i++){let state=this._blockStates[i],hasNextToken=i<this._blockStates.length-1,marginBottom=this.getInterBlockMargin(state.token,hasNextToken);if(state.token.type==="code"){this.applyCodeBlockRenderable(state.renderable,state.token,marginBottom);continue}if(state.token.type==="table"){let tableToken=state.token,{cache}=this.buildTableContentCache(tableToken,state.tableContentCache,!0);if(!cache){if(state.renderable instanceof CodeRenderable)this.applyMarkdownCodeRenderable(state.renderable,tableToken.raw,marginBottom);else{state.renderable.destroyRecursively();let fallbackRenderable=this.createMarkdownCodeRenderable(tableToken.raw,`${this.id}-block-${i}`,marginBottom);this.add(fallbackRenderable),state.renderable=fallbackRenderable}state.tableContentCache=void 0;continue}if(state.renderable instanceof TextTableRenderable){state.renderable.content=cache.content,this.applyTableRenderableOptions(state.renderable,this.resolveTableRenderableOptions()),state.renderable.marginBottom=marginBottom,state.tableContentCache=cache;continue}state.renderable.destroyRecursively();let tableRenderable=this.createTextTableRenderable(cache.content,`${this.id}-block-${i}`,marginBottom);this.add(tableRenderable),state.renderable=tableRenderable,state.tableContentCache=cache;continue}if(state.renderable instanceof CodeRenderable){this.applyMarkdownCodeRenderable(state.renderable,state.token.raw,marginBottom);continue}state.renderable.destroyRecursively();let markdownRenderable=this.createMarkdownCodeRenderable(state.token.raw,`${this.id}-block-${i}`,marginBottom);this.add(markdownRenderable),state.renderable=markdownRenderable}}clearCache(){this._parseState=null,this.clearBlockStates(),this.updateBlocks(),this.requestRender()}refreshStyles(){this._styleDirty=!1,this.rerenderBlocks(),this.requestRender()}renderSelf(buffer,deltaTime){if(this._styleDirty)this._styleDirty=!1,this.rerenderBlocks();super.renderSelf(buffer,deltaTime)}}var defaultThumbBackgroundColor=RGBA.fromHex("#9a9ea3"),defaultTrackBackgroundColor=RGBA.fromHex("#252527");class SliderRenderable extends Renderable{orientation;_value;_min;_max;_viewPortSize;_backgroundColor;_foregroundColor;_onChange;constructor(ctx,options){super(ctx,{flexShrink:0,...options});this.orientation=options.orientation,this._min=options.min??0,this._max=options.max??100,this._value=options.value??this._min,this._viewPortSize=options.viewPortSize??Math.max(1,(this._max-this._min)*0.1),this._onChange=options.onChange,this._backgroundColor=options.backgroundColor?parseColor(options.backgroundColor):defaultTrackBackgroundColor,this._foregroundColor=options.foregroundColor?parseColor(options.foregroundColor):defaultThumbBackgroundColor,this.setupMouseHandling()}get value(){return this._value}set value(newValue){let clamped=Math.max(this._min,Math.min(this._max,newValue));if(clamped!==this._value)this._value=clamped,this._onChange?.(clamped),this.emit("change",{value:clamped}),this.requestRender()}get min(){return this._min}set min(newMin){if(newMin!==this._min){if(this._min=newMin,this._value<newMin)this.value=newMin;this.requestRender()}}get max(){return this._max}set max(newMax){if(newMax!==this._max){if(this._max=newMax,this._value>newMax)this.value=newMax;this.requestRender()}}set viewPortSize(size){let clampedSize=Math.max(0.01,Math.min(size,this._max-this._min));if(clampedSize!==this._viewPortSize)this._viewPortSize=clampedSize,this.requestRender()}get viewPortSize(){return this._viewPortSize}get backgroundColor(){return this._backgroundColor}set backgroundColor(value){this._backgroundColor=parseColor(value),this.requestRender()}get foregroundColor(){return this._foregroundColor}set foregroundColor(value){this._foregroundColor=parseColor(value),this.requestRender()}calculateDragOffsetVirtual(event){let trackStart=this.orientation==="vertical"?this.y:this.x,mousePos=(this.orientation==="vertical"?event.y:event.x)-trackStart,virtualMousePos=Math.max(0,Math.min((this.orientation==="vertical"?this.height:this.width)*2,mousePos*2)),virtualThumbStart=this.getVirtualThumbStart(),virtualThumbSize=this.getVirtualThumbSize();return Math.max(0,Math.min(virtualThumbSize,virtualMousePos-virtualThumbStart))}setupMouseHandling(){let isDragging=!1,dragOffsetVirtual=0;this.onMouseDown=(event)=>{event.stopPropagation(),event.preventDefault();let thumb=this.getThumbRect();if(event.x>=thumb.x&&event.x<thumb.x+thumb.width&&event.y>=thumb.y&&event.y<thumb.y+thumb.height)isDragging=!0,dragOffsetVirtual=this.calculateDragOffsetVirtual(event);else this.updateValueFromMouseDirect(event),isDragging=!0,dragOffsetVirtual=this.calculateDragOffsetVirtual(event)},this.onMouseDrag=(event)=>{if(!isDragging)return;event.stopPropagation(),this.updateValueFromMouseWithOffset(event,dragOffsetVirtual)},this.onMouseUp=(event)=>{if(isDragging)this.updateValueFromMouseWithOffset(event,dragOffsetVirtual);isDragging=!1}}updateValueFromMouseDirect(event){let trackStart=this.orientation==="vertical"?this.y:this.x,trackSize=this.orientation==="vertical"?this.height:this.width,relativeMousePos=(this.orientation==="vertical"?event.y:event.x)-trackStart,clampedMousePos=Math.max(0,Math.min(trackSize,relativeMousePos)),ratio=trackSize===0?0:clampedMousePos/trackSize,range=this._max-this._min,newValue=this._min+ratio*range;this.value=newValue}updateValueFromMouseWithOffset(event,offsetVirtual){let trackStart=this.orientation==="vertical"?this.y:this.x,trackSize=this.orientation==="vertical"?this.height:this.width,mousePos=this.orientation==="vertical"?event.y:event.x,virtualTrackSize=trackSize*2,relativeMousePos=mousePos-trackStart,virtualMousePos=Math.max(0,Math.min(trackSize,relativeMousePos))*2,virtualThumbSize=this.getVirtualThumbSize(),maxThumbStart=Math.max(0,virtualTrackSize-virtualThumbSize),desiredThumbStart=virtualMousePos-offsetVirtual;desiredThumbStart=Math.max(0,Math.min(maxThumbStart,desiredThumbStart));let ratio=maxThumbStart===0?0:desiredThumbStart/maxThumbStart,range=this._max-this._min,newValue=this._min+ratio*range;this.value=newValue}getThumbRect(){let virtualThumbSize=this.getVirtualThumbSize(),virtualThumbStart=this.getVirtualThumbStart(),realThumbStart=Math.floor(virtualThumbStart/2),realThumbSize=Math.ceil((virtualThumbStart+virtualThumbSize)/2)-realThumbStart;if(this.orientation==="vertical")return{x:this.x,y:this.y+realThumbStart,width:this.width,height:Math.max(1,realThumbSize)};else return{x:this.x+realThumbStart,y:this.y,width:Math.max(1,realThumbSize),height:this.height}}renderSelf(buffer){if(this.orientation==="horizontal")this.renderHorizontal(buffer);else this.renderVertical(buffer)}renderHorizontal(buffer){let virtualThumbSize=this.getVirtualThumbSize(),virtualThumbStart=this.getVirtualThumbStart(),virtualThumbEnd=virtualThumbStart+virtualThumbSize;buffer.fillRect(this.x,this.y,this.width,this.height,this._backgroundColor);let realStartCell=Math.floor(virtualThumbStart/2),realEndCell=Math.ceil(virtualThumbEnd/2)-1,startX=Math.max(0,realStartCell),endX=Math.min(this.width-1,realEndCell);for(let realX=startX;realX<=endX;realX++){let virtualCellStart=realX*2,virtualCellEnd=virtualCellStart+2,thumbStartInCell=Math.max(virtualThumbStart,virtualCellStart),coverage=Math.min(virtualThumbEnd,virtualCellEnd)-thumbStartInCell,char=" ";if(coverage>=2)char="\u2588";else if(thumbStartInCell===virtualCellStart)char="\u258C";else char="\u2590";for(let y2=0;y2<this.height;y2++)buffer.setCellWithAlphaBlending(this.x+realX,this.y+y2,char,this._foregroundColor,this._backgroundColor)}}renderVertical(buffer){let virtualThumbSize=this.getVirtualThumbSize(),virtualThumbStart=this.getVirtualThumbStart(),virtualThumbEnd=virtualThumbStart+virtualThumbSize;buffer.fillRect(this.x,this.y,this.width,this.height,this._backgroundColor);let realStartCell=Math.floor(virtualThumbStart/2),realEndCell=Math.ceil(virtualThumbEnd/2)-1,startY=Math.max(0,realStartCell),endY=Math.min(this.height-1,realEndCell);for(let realY=startY;realY<=endY;realY++){let virtualCellStart=realY*2,virtualCellEnd=virtualCellStart+2,thumbStartInCell=Math.max(virtualThumbStart,virtualCellStart),coverage=Math.min(virtualThumbEnd,virtualCellEnd)-thumbStartInCell,char=" ";if(coverage>=2)char="\u2588";else if(coverage>0)if(thumbStartInCell-virtualCellStart===0)char="\u2580";else char="\u2584";for(let x2=0;x2<this.width;x2++)buffer.setCellWithAlphaBlending(this.x+x2,this.y+realY,char,this._foregroundColor,this._backgroundColor)}}getVirtualThumbSize(){let virtualTrackSize=this.orientation==="vertical"?this.height*2:this.width*2,range=this._max-this._min;if(range===0)return virtualTrackSize;let viewportSize=Math.max(1,this._viewPortSize),contentSize=range+viewportSize;if(contentSize<=viewportSize)return virtualTrackSize;let thumbRatio=viewportSize/contentSize,calculatedSize=Math.floor(virtualTrackSize*thumbRatio);return Math.max(1,Math.min(calculatedSize,virtualTrackSize))}getVirtualThumbStart(){let virtualTrackSize=this.orientation==="vertical"?this.height*2:this.width*2,range=this._max-this._min;if(range===0)return 0;let valueRatio=(this._value-this._min)/range,virtualThumbSize=this.getVirtualThumbSize();return Math.round(valueRatio*(virtualTrackSize-virtualThumbSize))}}class ScrollBarRenderable extends Renderable{slider;startArrow;endArrow;orientation;_focusable=!0;_scrollSize=0;_scrollPosition=0;_viewportSize=0;_showArrows=!1;_manualVisibility=!1;_onChange;scrollStep=null;get visible(){return super.visible}set visible(value){this._manualVisibility=!0,super.visible=value}resetVisibilityControl(){this._manualVisibility=!1,this.recalculateVisibility()}get scrollSize(){return this._scrollSize}get scrollPosition(){return this._scrollPosition}get viewportSize(){return this._viewportSize}set scrollSize(value){if(value===this.scrollSize)return;this._scrollSize=value,this.recalculateVisibility(),this.updateSliderFromScrollState(),this.scrollPosition=this.scrollPosition}set scrollPosition(value){let newPosition=Math.round(Math.min(Math.max(0,value),this.scrollSize-this.viewportSize));if(newPosition!==this._scrollPosition)this._scrollPosition=newPosition,this.updateSliderFromScrollState()}set viewportSize(value){if(value===this.viewportSize)return;this._viewportSize=value,this.slider.viewPortSize=Math.max(1,this._viewportSize),this.recalculateVisibility(),this.updateSliderFromScrollState(),this.scrollPosition=this.scrollPosition}get showArrows(){return this._showArrows}set showArrows(value){if(value===this._showArrows)return;this._showArrows=value,this.startArrow.visible=value,this.endArrow.visible=value}constructor(ctx,{trackOptions,arrowOptions,orientation,showArrows=!1,...options}){super(ctx,{flexDirection:orientation==="vertical"?"column":"row",alignSelf:"stretch",alignItems:"stretch",...options});this._onChange=options.onChange,this.orientation=orientation,this._showArrows=showArrows;let scrollRange=Math.max(0,this._scrollSize-this._viewportSize),defaultStepSize=Math.max(1,this._viewportSize),stepSize=trackOptions?.viewPortSize??defaultStepSize;this.slider=new SliderRenderable(ctx,{orientation,min:0,max:scrollRange,value:this._scrollPosition,viewPortSize:stepSize,onChange:(value)=>{this._scrollPosition=Math.round(value),this._onChange?.(this._scrollPosition),this.emit("change",{position:this._scrollPosition})},...orientation==="vertical"?{width:Math.max(1,Math.min(2,this.width)),height:"100%",marginLeft:"auto"}:{width:"100%",height:1,marginTop:"auto"},flexGrow:1,flexShrink:1,...trackOptions}),this.updateSliderFromScrollState();let arrowOpts=arrowOptions?{foregroundColor:arrowOptions.backgroundColor,backgroundColor:arrowOptions.backgroundColor,attributes:arrowOptions.attributes,...arrowOptions}:{};this.startArrow=new ArrowRenderable(ctx,{alignSelf:"center",visible:this.showArrows,direction:this.orientation==="vertical"?"up":"left",height:this.orientation==="vertical"?1:1,...arrowOpts}),this.endArrow=new ArrowRenderable(ctx,{alignSelf:"center",visible:this.showArrows,direction:this.orientation==="vertical"?"down":"right",height:this.orientation==="vertical"?1:1,...arrowOpts}),this.add(this.startArrow),this.add(this.slider),this.add(this.endArrow);let startArrowMouseTimeout=void 0,endArrowMouseTimeout=void 0;this.startArrow.onMouseDown=(event)=>{event.stopPropagation(),event.preventDefault(),this.scrollBy(-0.5,"viewport"),startArrowMouseTimeout=setTimeout(()=>{this.scrollBy(-0.5,"viewport"),startArrowMouseTimeout=setInterval(()=>{this.scrollBy(-0.2,"viewport")},200)},500)},this.startArrow.onMouseUp=(event)=>{event.stopPropagation(),clearInterval(startArrowMouseTimeout)},this.endArrow.onMouseDown=(event)=>{event.stopPropagation(),event.preventDefault(),this.scrollBy(0.5,"viewport"),endArrowMouseTimeout=setTimeout(()=>{this.scrollBy(0.5,"viewport"),endArrowMouseTimeout=setInterval(()=>{this.scrollBy(0.2,"viewport")},200)},500)},this.endArrow.onMouseUp=(event)=>{event.stopPropagation(),clearInterval(endArrowMouseTimeout)}}set arrowOptions(options){Object.assign(this.startArrow,options),Object.assign(this.endArrow,options),this.requestRender()}set trackOptions(options){Object.assign(this.slider,options),this.requestRender()}updateSliderFromScrollState(){let scrollRange=Math.max(0,this._scrollSize-this._viewportSize);this.slider.min=0,this.slider.max=scrollRange,this.slider.value=Math.min(this._scrollPosition,scrollRange)}scrollBy(delta,unit="absolute"){let resolvedDelta=(unit==="viewport"?this.viewportSize:unit==="content"?this.scrollSize:unit==="step"?this.scrollStep??1:1)*delta;this.scrollPosition+=resolvedDelta}recalculateVisibility(){if(!this._manualVisibility){let sizeRatio=this.scrollSize<=this.viewportSize?1:this.viewportSize/this.scrollSize;super.visible=sizeRatio<1}}handleKeyPress(key){switch(key.name){case"left":case"h":if(this.orientation!=="horizontal")return!1;return this.scrollBy(-0.2,"viewport"),!0;case"right":case"l":if(this.orientation!=="horizontal")return!1;return this.scrollBy(0.2,"viewport"),!0;case"up":case"k":if(this.orientation!=="vertical")return!1;return this.scrollBy(-0.2,"viewport"),!0;case"down":case"j":if(this.orientation!=="vertical")return!1;return this.scrollBy(0.2,"viewport"),!0;case"pageup":return this.scrollBy(-0.5,"viewport"),!0;case"pagedown":return this.scrollBy(0.5,"viewport"),!0;case"home":return this.scrollBy(-1,"content"),!0;case"end":return this.scrollBy(1,"content"),!0}return!1}}class ArrowRenderable extends Renderable{_direction;_foregroundColor;_backgroundColor;_attributes;_arrowChars;constructor(ctx,options){super(ctx,options);if(this._direction=options.direction,this._foregroundColor=options.foregroundColor?parseColor(options.foregroundColor):RGBA.fromValues(1,1,1,1),this._backgroundColor=options.backgroundColor?parseColor(options.backgroundColor):RGBA.fromValues(0,0,0,0),this._attributes=options.attributes??0,this._arrowChars={up:"\u25B2",down:"\u25BC",left:"\u25C0",right:"\u25B6",...options.arrowChars},!options.width)this.width=Bun.stringWidth(this.getArrowChar())}get direction(){return this._direction}set direction(value){if(this._direction!==value)this._direction=value,this.requestRender()}get foregroundColor(){return this._foregroundColor}set foregroundColor(value){if(this._foregroundColor!==value)this._foregroundColor=parseColor(value),this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(value){if(this._backgroundColor!==value)this._backgroundColor=parseColor(value),this.requestRender()}get attributes(){return this._attributes}set attributes(value){if(this._attributes!==value)this._attributes=value,this.requestRender()}set arrowChars(value){this._arrowChars={...this._arrowChars,...value},this.requestRender()}renderSelf(buffer){let char=this.getArrowChar();buffer.drawText(char,this.x,this.y,this._foregroundColor,this._backgroundColor,this._attributes)}getArrowChar(){switch(this._direction){case"up":return this._arrowChars.up;case"down":return this._arrowChars.down;case"left":return this._arrowChars.left;case"right":return this._arrowChars.right;default:return"?"}}}class ContentRenderable extends BoxRenderable{viewport;_viewportCulling;constructor(ctx,viewport,viewportCulling,options){super(ctx,options);this.viewport=viewport,this._viewportCulling=viewportCulling}get viewportCulling(){return this._viewportCulling}set viewportCulling(value){this._viewportCulling=value}_hasVisibleChildFilter(){return this._viewportCulling}_getVisibleChildren(){if(this._viewportCulling)return getObjectsInViewport({x:this.viewport.screenX,y:this.viewport.screenY,width:this.viewport.width,height:this.viewport.height},this.getChildrenSortedByPrimaryAxis(),this.primaryAxis,0).map((child)=>child.num);return super._getVisibleChildren()}}var SCROLLBOX_PADDING_KEYS=["padding","paddingX","paddingY","paddingTop","paddingRight","paddingBottom","paddingLeft"];function pickScrollBoxPadding(options){if(!options)return{};let picked={};for(let key of SCROLLBOX_PADDING_KEYS){let value=options[key];if(value!==void 0)picked[key]=value}return picked}function stripScrollBoxPadding(options){let sanitized={...options};for(let key of SCROLLBOX_PADDING_KEYS)delete sanitized[key];return sanitized}class ScrollBoxRenderable extends BoxRenderable{static idCounter=0;internalId=0;wrapper;viewport;content;horizontalScrollBar;verticalScrollBar;_focusable=!0;selectionListener;autoScrollMouseX=0;autoScrollMouseY=0;autoScrollThresholdVertical=3;autoScrollThresholdHorizontal=3;autoScrollSpeedSlow=6;autoScrollSpeedMedium=36;autoScrollSpeedFast=72;isAutoScrolling=!1;cachedAutoScrollSpeed=3;autoScrollAccumulatorX=0;autoScrollAccumulatorY=0;scrollAccumulatorX=0;scrollAccumulatorY=0;_stickyScroll;_stickyScrollTop=!1;_stickyScrollBottom=!1;_stickyScrollLeft=!1;_stickyScrollRight=!1;_stickyStart;_hasManualScroll=!1;_isApplyingStickyScroll=!1;scrollAccel;get stickyScroll(){return this._stickyScroll}set stickyScroll(value){this._stickyScroll=value,this.updateStickyState()}get stickyStart(){return this._stickyStart}set stickyStart(value){this._stickyStart=value,this.updateStickyState()}get scrollTop(){return this.verticalScrollBar.scrollPosition}set scrollTop(value){if(this.verticalScrollBar.scrollPosition=value,!this._isApplyingStickyScroll){let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height);if(!this.isAtStickyPosition()&&maxScrollTop>1)this._hasManualScroll=!0}this.updateStickyState()}get scrollLeft(){return this.horizontalScrollBar.scrollPosition}set scrollLeft(value){if(this.horizontalScrollBar.scrollPosition=value,!this._isApplyingStickyScroll){let maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(!this.isAtStickyPosition()&&maxScrollLeft>1)this._hasManualScroll=!0}this.updateStickyState()}get scrollWidth(){return this.horizontalScrollBar.scrollSize}get scrollHeight(){return this.verticalScrollBar.scrollSize}updateStickyState(){if(!this._stickyScroll)return;let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height),maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(this.scrollTop<=0){if(this._stickyScrollTop=!0,this._stickyScrollBottom=!1,!this._isApplyingStickyScroll&&(this._stickyStart==="top"||this._stickyStart==="bottom"&&maxScrollTop===0))this._hasManualScroll=!1}else if(this.scrollTop>=maxScrollTop){if(this._stickyScrollTop=!1,this._stickyScrollBottom=!0,!this._isApplyingStickyScroll&&this._stickyStart==="bottom")this._hasManualScroll=!1}else this._stickyScrollTop=!1,this._stickyScrollBottom=!1;if(this.scrollLeft<=0){if(this._stickyScrollLeft=!0,this._stickyScrollRight=!1,!this._isApplyingStickyScroll&&(this._stickyStart==="left"||this._stickyStart==="right"&&maxScrollLeft===0))this._hasManualScroll=!1}else if(this.scrollLeft>=maxScrollLeft){if(this._stickyScrollLeft=!1,this._stickyScrollRight=!0,!this._isApplyingStickyScroll&&this._stickyStart==="right")this._hasManualScroll=!1}else this._stickyScrollLeft=!1,this._stickyScrollRight=!1}applyStickyStart(stickyStart){let wasApplyingStickyScroll=this._isApplyingStickyScroll;this._isApplyingStickyScroll=!0;try{switch(stickyStart){case"top":this._stickyScrollTop=!0,this._stickyScrollBottom=!1,this.verticalScrollBar.scrollPosition=0;break;case"bottom":this._stickyScrollTop=!1,this._stickyScrollBottom=!0,this.verticalScrollBar.scrollPosition=Math.max(0,this.scrollHeight-this.viewport.height);break;case"left":this._stickyScrollLeft=!0,this._stickyScrollRight=!1,this.horizontalScrollBar.scrollPosition=0;break;case"right":this._stickyScrollLeft=!1,this._stickyScrollRight=!0,this.horizontalScrollBar.scrollPosition=Math.max(0,this.scrollWidth-this.viewport.width);break}}finally{this._isApplyingStickyScroll=wasApplyingStickyScroll}}constructor(ctx,options){let{wrapperOptions,viewportOptions,contentOptions,rootOptions,scrollbarOptions,verticalScrollbarOptions,horizontalScrollbarOptions,stickyScroll=!1,stickyStart,scrollX=!1,scrollY=!0,scrollAcceleration,viewportCulling=!0,...rootBoxOptions}=options,forwardedContentPadding={...pickScrollBoxPadding(rootBoxOptions),...pickScrollBoxPadding(rootOptions)},sanitizedRootBoxOptions=stripScrollBoxPadding(rootBoxOptions),sanitizedRootOptions=rootOptions?stripScrollBoxPadding(rootOptions):void 0,mergedContentOptions={...forwardedContentPadding,...contentOptions};super(ctx,{flexDirection:"row",alignItems:"stretch",...sanitizedRootBoxOptions,...sanitizedRootOptions});if(this.internalId=ScrollBoxRenderable.idCounter++,this._stickyScroll=stickyScroll,this._stickyStart=stickyStart,this.scrollAccel=scrollAcceleration??new LinearScrollAccel,this.wrapper=new BoxRenderable(ctx,{flexDirection:"column",flexGrow:1,...wrapperOptions,id:`scroll-box-wrapper-${this.internalId}`}),super.add(this.wrapper),this.viewport=new BoxRenderable(ctx,{flexDirection:"column",flexGrow:1,overflow:"hidden",onSizeChange:()=>{this.recalculateBarProps()},...viewportOptions,id:`scroll-box-viewport-${this.internalId}`}),this.wrapper.add(this.viewport),this.content=new ContentRenderable(ctx,this.viewport,viewportCulling,{alignSelf:"flex-start",flexShrink:0,...scrollX?{minWidth:"100%"}:{minWidth:"100%",maxWidth:"100%"},...scrollY?{minHeight:"100%"}:{minHeight:"100%",maxHeight:"100%"},onSizeChange:()=>{this.recalculateBarProps()},...mergedContentOptions,id:`scroll-box-content-${this.internalId}`}),this.viewport.add(this.content),this.verticalScrollBar=new ScrollBarRenderable(ctx,{...scrollbarOptions,...verticalScrollbarOptions,arrowOptions:{...scrollbarOptions?.arrowOptions,...verticalScrollbarOptions?.arrowOptions},id:`scroll-box-vertical-scrollbar-${this.internalId}`,orientation:"vertical",onChange:(position)=>{if(this.content.translateY=-position,!this._isApplyingStickyScroll){let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height);if(!this.isAtStickyPosition()&&maxScrollTop>1)this._hasManualScroll=!0}this.updateStickyState()}}),super.add(this.verticalScrollBar),this.horizontalScrollBar=new ScrollBarRenderable(ctx,{...scrollbarOptions,...horizontalScrollbarOptions,arrowOptions:{...scrollbarOptions?.arrowOptions,...horizontalScrollbarOptions?.arrowOptions},id:`scroll-box-horizontal-scrollbar-${this.internalId}`,orientation:"horizontal",onChange:(position)=>{if(this.content.translateX=-position,!this._isApplyingStickyScroll){let maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(!this.isAtStickyPosition()&&maxScrollLeft>1)this._hasManualScroll=!0}this.updateStickyState()}}),this.wrapper.add(this.horizontalScrollBar),this.recalculateBarProps(),stickyStart&&stickyScroll)this.applyStickyStart(stickyStart);this.selectionListener=()=>{let selection=this._ctx.getSelection();if(!selection||!selection.isDragging)this.stopAutoScroll()},this._ctx.on("selection",this.selectionListener)}onUpdate(deltaTime){this.handleAutoScroll(deltaTime)}scrollBy(delta,unit="absolute"){if(typeof delta==="number")this.verticalScrollBar.scrollBy(delta,unit);else this.verticalScrollBar.scrollBy(delta.y,unit),this.horizontalScrollBar.scrollBy(delta.x,unit)}scrollChildIntoView(childId){let child=this.content.findDescendantById(childId);if(!child)return;let getNearestDelta=(elementStart,elementEnd,viewportStart,viewportEnd)=>{let elementSize=elementEnd-elementStart,viewportSize=viewportEnd-viewportStart,elementStartOutside=elementStart<viewportStart,elementEndOutside=elementEnd>viewportEnd;if(elementStartOutside&&elementEndOutside)return 0;if(elementStartOutside&&elementSize<viewportSize||elementEndOutside&&elementSize>viewportSize)return elementStart-viewportStart;if(elementStartOutside&&elementSize>viewportSize||elementEndOutside&&elementSize<viewportSize)return elementEnd-viewportEnd;return 0},childTop=child.y,childBottom=child.y+child.height,viewportTop=this.viewport.y,viewportBottom=this.viewport.y+this.viewport.height,dy=getNearestDelta(childTop,childBottom,viewportTop,viewportBottom),childLeft=child.x,childRight=child.x+child.width,viewportLeft=this.viewport.x,viewportRight=this.viewport.x+this.viewport.width,dx=getNearestDelta(childLeft,childRight,viewportLeft,viewportRight);if(dx!==0||dy!==0)this.scrollBy({x:dx,y:dy})}scrollTo(position){if(typeof position==="number")this.scrollTop=position;else this.scrollTop=position.y,this.scrollLeft=position.x}isAtStickyPosition(){if(!this._stickyScroll||!this._stickyStart)return!1;let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height),maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);switch(this._stickyStart){case"top":return this.scrollTop===0;case"bottom":return this.scrollTop>=maxScrollTop;case"left":return this.scrollLeft===0;case"right":return this.scrollLeft>=maxScrollLeft;default:return!1}}add(obj,index){return this.content.add(obj,index)}insertBefore(obj,anchor){return this.content.insertBefore(obj,anchor)}remove(id){this.content.remove(id)}getChildren(){return this.content.getChildren()}onMouseEvent(event){if(event.type==="scroll"){let dir=event.scroll?.direction;if(event.modifiers.shift)dir=dir==="up"?"left":dir==="down"?"right":dir==="right"?"down":"up";let baseDelta=event.scroll?.delta??0,now=Date.now(),multiplier=this.scrollAccel.tick(now),scrollAmount=baseDelta*multiplier;if(dir==="up"){this.scrollAccumulatorY-=scrollAmount;let integerScroll=Math.trunc(this.scrollAccumulatorY);if(integerScroll!==0)this.scrollTop+=integerScroll,this.scrollAccumulatorY-=integerScroll}else if(dir==="down"){this.scrollAccumulatorY+=scrollAmount;let integerScroll=Math.trunc(this.scrollAccumulatorY);if(integerScroll!==0)this.scrollTop+=integerScroll,this.scrollAccumulatorY-=integerScroll}else if(dir==="left"){this.scrollAccumulatorX-=scrollAmount;let integerScroll=Math.trunc(this.scrollAccumulatorX);if(integerScroll!==0)this.scrollLeft+=integerScroll,this.scrollAccumulatorX-=integerScroll}else if(dir==="right"){this.scrollAccumulatorX+=scrollAmount;let integerScroll=Math.trunc(this.scrollAccumulatorX);if(integerScroll!==0)this.scrollLeft+=integerScroll,this.scrollAccumulatorX-=integerScroll}let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height),maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(maxScrollTop>1||maxScrollLeft>1)this._hasManualScroll=!0}if(event.type==="drag"&&event.isDragging)this.updateAutoScroll(event.x,event.y);else if(event.type==="up")this.stopAutoScroll()}handleKeyPress(key){if(this.verticalScrollBar.handleKeyPress(key))return this._hasManualScroll=!0,this.scrollAccel.reset(),this.resetScrollAccumulators(),!0;if(this.horizontalScrollBar.handleKeyPress(key))return this._hasManualScroll=!0,this.scrollAccel.reset(),this.resetScrollAccumulators(),!0;return!1}resetScrollAccumulators(){this.scrollAccumulatorX=0,this.scrollAccumulatorY=0}startAutoScroll(mouseX,mouseY){if(this.stopAutoScroll(),this.autoScrollMouseX=mouseX,this.autoScrollMouseY=mouseY,this.cachedAutoScrollSpeed=this.getAutoScrollSpeed(mouseX,mouseY),this.isAutoScrolling=!0,!this.live)this.live=!0}updateAutoScroll(mouseX,mouseY){this.autoScrollMouseX=mouseX,this.autoScrollMouseY=mouseY,this.cachedAutoScrollSpeed=this.getAutoScrollSpeed(mouseX,mouseY);let scrollX=this.getAutoScrollDirectionX(mouseX),scrollY=this.getAutoScrollDirectionY(mouseY);if(scrollX===0&&scrollY===0)this.stopAutoScroll();else if(!this.isAutoScrolling)this.startAutoScroll(mouseX,mouseY)}stopAutoScroll(){let wasAutoScrolling=this.isAutoScrolling;if(this.isAutoScrolling=!1,this.autoScrollAccumulatorX=0,this.autoScrollAccumulatorY=0,wasAutoScrolling&&!this.hasOtherLiveReasons())this.live=!1}hasOtherLiveReasons(){return!1}handleAutoScroll(deltaTime){if(!this.isAutoScrolling)return;let scrollX=this.getAutoScrollDirectionX(this.autoScrollMouseX),scrollY=this.getAutoScrollDirectionY(this.autoScrollMouseY),scrollAmount=this.cachedAutoScrollSpeed*(deltaTime/1000),scrolled=!1;if(scrollX!==0){this.autoScrollAccumulatorX+=scrollX*scrollAmount;let integerScrollX=Math.trunc(this.autoScrollAccumulatorX);if(integerScrollX!==0)this.scrollLeft+=integerScrollX,this.autoScrollAccumulatorX-=integerScrollX,scrolled=!0}if(scrollY!==0){this.autoScrollAccumulatorY+=scrollY*scrollAmount;let integerScrollY=Math.trunc(this.autoScrollAccumulatorY);if(integerScrollY!==0)this.scrollTop+=integerScrollY,this.autoScrollAccumulatorY-=integerScrollY,scrolled=!0}if(scrolled)this._ctx.requestSelectionUpdate();if(scrollX===0&&scrollY===0)this.stopAutoScroll()}getAutoScrollDirectionX(mouseX){let relativeX=mouseX-this.x,distToLeft=relativeX,distToRight=this.width-relativeX;if(distToLeft<=this.autoScrollThresholdHorizontal)return this.scrollLeft>0?-1:0;else if(distToRight<=this.autoScrollThresholdHorizontal){let maxScrollLeft=this.scrollWidth-this.viewport.width;return this.scrollLeft<maxScrollLeft?1:0}return 0}getAutoScrollDirectionY(mouseY){let relativeY=mouseY-this.y,distToTop=relativeY,distToBottom=this.height-relativeY;if(distToTop<=this.autoScrollThresholdVertical)return this.scrollTop>0?-1:0;else if(distToBottom<=this.autoScrollThresholdVertical){let maxScrollTop=this.scrollHeight-this.viewport.height;return this.scrollTop<maxScrollTop?1:0}return 0}getAutoScrollSpeed(mouseX,mouseY){let relativeX=mouseX-this.x,relativeY=mouseY-this.y,distToLeft=relativeX,distToRight=this.width-relativeX,distToTop=relativeY,distToBottom=this.height-relativeY,minDistance=Math.min(distToLeft,distToRight,distToTop,distToBottom);if(minDistance<=1)return this.autoScrollSpeedFast;else if(minDistance<=2)return this.autoScrollSpeedMedium;else return this.autoScrollSpeedSlow}recalculateBarProps(){let wasApplyingStickyScroll=this._isApplyingStickyScroll;this._isApplyingStickyScroll=!0;try{if(this.verticalScrollBar.scrollSize=this.content.height,this.verticalScrollBar.viewportSize=this.viewport.height,this.horizontalScrollBar.scrollSize=this.content.width,this.horizontalScrollBar.viewportSize=this.viewport.width,this._stickyScroll){let newMaxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height),newMaxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(this._stickyStart&&!this._hasManualScroll)this.applyStickyStart(this._stickyStart);else{if(this._stickyScrollTop)this.scrollTop=0;else if(this._stickyScrollBottom&&newMaxScrollTop>0)this.scrollTop=newMaxScrollTop;if(this._stickyScrollLeft)this.scrollLeft=0;else if(this._stickyScrollRight&&newMaxScrollLeft>0)this.scrollLeft=newMaxScrollLeft}}}finally{this._isApplyingStickyScroll=wasApplyingStickyScroll}process.nextTick(()=>{this.requestRender()})}set padding(value){this.content.padding=value,this.requestRender()}set paddingX(value){this.content.paddingX=value,this.requestRender()}set paddingY(value){this.content.paddingY=value,this.requestRender()}set paddingTop(value){this.content.paddingTop=value,this.requestRender()}set paddingRight(value){this.content.paddingRight=value,this.requestRender()}set paddingBottom(value){this.content.paddingBottom=value,this.requestRender()}set paddingLeft(value){this.content.paddingLeft=value,this.requestRender()}set rootOptions(options){Object.assign(this,options),this.requestRender()}set wrapperOptions(options){Object.assign(this.wrapper,options),this.requestRender()}set viewportOptions(options){Object.assign(this.viewport,options),this.requestRender()}set contentOptions(options){Object.assign(this.content,options),this.requestRender()}set scrollbarOptions(options){Object.assign(this.verticalScrollBar,options),Object.assign(this.horizontalScrollBar,options),this.requestRender()}set verticalScrollbarOptions(options){Object.assign(this.verticalScrollBar,options),this.requestRender()}set horizontalScrollbarOptions(options){Object.assign(this.horizontalScrollBar,options),this.requestRender()}get scrollAcceleration(){return this.scrollAccel}set scrollAcceleration(value){this.scrollAccel=value}get viewportCulling(){return this.content.viewportCulling}set viewportCulling(value){this.content.viewportCulling=value,this.requestRender()}destroySelf(){if(this.selectionListener)this._ctx.off("selection",this.selectionListener),this.selectionListener=void 0;super.destroySelf()}}var defaultSelectKeybindings=[{name:"up",action:"move-up"},{name:"k",action:"move-up"},{name:"down",action:"move-down"},{name:"j",action:"move-down"},{name:"up",shift:!0,action:"move-up-fast"},{name:"down",shift:!0,action:"move-down-fast"},{name:"return",action:"select-current"},{name:"linefeed",action:"select-current"}],SelectRenderableEvents;((SelectRenderableEvents2)=>{SelectRenderableEvents2.SELECTION_CHANGED="selectionChanged",SelectRenderableEvents2.ITEM_SELECTED="itemSelected"})(SelectRenderableEvents||={});class SelectRenderable extends Renderable{_focusable=!0;_options=[];_selectedIndex=0;scrollOffset=0;maxVisibleItems;_backgroundColor;_textColor;_focusedBackgroundColor;_focusedTextColor;_selectedBackgroundColor;_selectedTextColor;_descriptionColor;_selectedDescriptionColor;_showScrollIndicator;_wrapSelection;_showDescription;_font;_itemSpacing;linesPerItem;fontHeight;_fastScrollStep;_keyBindingsMap;_keyAliasMap;_keyBindings;_defaultOptions={backgroundColor:"transparent",textColor:"#FFFFFF",focusedBackgroundColor:"#1a1a1a",focusedTextColor:"#FFFFFF",selectedBackgroundColor:"#334455",selectedTextColor:"#FFFF00",selectedIndex:0,descriptionColor:"#888888",selectedDescriptionColor:"#CCCCCC",showScrollIndicator:!1,wrapSelection:!1,showDescription:!0,itemSpacing:0,fastScrollStep:5};constructor(ctx,options){super(ctx,{...options,buffered:!0});this._options=options.options||[];let requestedIndex=options.selectedIndex??this._defaultOptions.selectedIndex;this._selectedIndex=this._options.length>0?Math.min(requestedIndex,this._options.length-1):0,this._backgroundColor=parseColor(options.backgroundColor||this._defaultOptions.backgroundColor),this._textColor=parseColor(options.textColor||this._defaultOptions.textColor),this._focusedBackgroundColor=parseColor(options.focusedBackgroundColor||this._defaultOptions.focusedBackgroundColor),this._focusedTextColor=parseColor(options.focusedTextColor||this._defaultOptions.focusedTextColor),this._showScrollIndicator=options.showScrollIndicator??this._defaultOptions.showScrollIndicator,this._wrapSelection=options.wrapSelection??this._defaultOptions.wrapSelection,this._showDescription=options.showDescription??this._defaultOptions.showDescription,this._font=options.font,this._itemSpacing=options.itemSpacing||this._defaultOptions.itemSpacing,this.fontHeight=this._font?measureText({text:"A",font:this._font}).height:1,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this._selectedBackgroundColor=parseColor(options.selectedBackgroundColor||this._defaultOptions.selectedBackgroundColor),this._selectedTextColor=parseColor(options.selectedTextColor||this._defaultOptions.selectedTextColor),this._descriptionColor=parseColor(options.descriptionColor||this._defaultOptions.descriptionColor),this._selectedDescriptionColor=parseColor(options.selectedDescriptionColor||this._defaultOptions.selectedDescriptionColor),this._fastScrollStep=options.fastScrollStep||this._defaultOptions.fastScrollStep,this._keyAliasMap=mergeKeyAliases(defaultKeyAliases,options.keyAliasMap||{}),this._keyBindings=options.keyBindings||[];let mergedBindings=mergeKeyBindings(defaultSelectKeybindings,this._keyBindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap),this.requestRender()}renderSelf(buffer,deltaTime){if(!this.visible||!this.frameBuffer)return;if(this.isDirty)this.refreshFrameBuffer()}refreshFrameBuffer(){if(!this.frameBuffer)return;let bgColor=this._focused?this._focusedBackgroundColor:this._backgroundColor;if(this.frameBuffer.clear(bgColor),this._options.length===0)return;let contentX=0,contentY=0,contentWidth=this.width,contentHeight=this.height,visibleOptions=this._options.slice(this.scrollOffset,this.scrollOffset+this.maxVisibleItems);for(let i=0;i<visibleOptions.length;i++){let actualIndex=this.scrollOffset+i,option=visibleOptions[i],isSelected=actualIndex===this._selectedIndex,itemY=contentY+i*this.linesPerItem;if(itemY+this.linesPerItem-1>=contentY+contentHeight)break;if(isSelected){let contentHeight2=this.linesPerItem-this._itemSpacing;this.frameBuffer.fillRect(contentX,itemY,contentWidth,contentHeight2,this._selectedBackgroundColor)}let nameContent=`${isSelected?"\u25B6 ":" "}${option.name}`,baseTextColor=this._focused?this._focusedTextColor:this._textColor,nameColor=isSelected?this._selectedTextColor:baseTextColor,descX=contentX+3;if(this._font){let indicator=isSelected?"\u25B6 ":" ";this.frameBuffer.drawText(indicator,contentX+1,itemY,nameColor);let indicatorWidth=2;renderFontToFrameBuffer(this.frameBuffer,{text:option.name,x:contentX+1+indicatorWidth,y:itemY,color:nameColor,backgroundColor:isSelected?this._selectedBackgroundColor:bgColor,font:this._font}),descX=contentX+1+indicatorWidth}else this.frameBuffer.drawText(nameContent,contentX+1,itemY,nameColor);if(this._showDescription&&itemY+this.fontHeight<contentY+contentHeight){let descColor=isSelected?this._selectedDescriptionColor:this._descriptionColor;this.frameBuffer.drawText(option.description,descX,itemY+this.fontHeight,descColor)}}if(this._showScrollIndicator&&this._options.length>this.maxVisibleItems)this.renderScrollIndicatorToFrameBuffer(contentX,contentY,contentWidth,contentHeight)}renderScrollIndicatorToFrameBuffer(contentX,contentY,contentWidth,contentHeight){if(!this.frameBuffer)return;let scrollPercent=this._selectedIndex/Math.max(1,this._options.length-1),indicatorHeight=Math.max(1,contentHeight-2),indicatorY=contentY+1+Math.floor(scrollPercent*indicatorHeight),indicatorX=contentX+contentWidth-1;this.frameBuffer.drawText("\u2588",indicatorX,indicatorY,parseColor("#666666"))}get options(){return this._options}set options(options){this._options=options,this._selectedIndex=Math.min(this._selectedIndex,Math.max(0,options.length-1)),this.updateScrollOffset(),this.requestRender()}getSelectedOption(){return this._options[this._selectedIndex]||null}getSelectedIndex(){return this._selectedIndex}moveUp(steps=1){let newIndex=this._selectedIndex-steps;if(newIndex>=0)this._selectedIndex=newIndex;else if(this._wrapSelection&&this._options.length>0)this._selectedIndex=this._options.length-1;else this._selectedIndex=0;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}moveDown(steps=1){let newIndex=this._selectedIndex+steps;if(newIndex<this._options.length)this._selectedIndex=newIndex;else if(this._wrapSelection&&this._options.length>0)this._selectedIndex=0;else this._selectedIndex=this._options.length-1;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}selectCurrent(){let selected=this.getSelectedOption();if(selected)this.emit("itemSelected",this._selectedIndex,selected)}setSelectedIndex(index){if(index>=0&&index<this._options.length)this._selectedIndex=index,this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}updateScrollOffset(){if(!this._options)return;let halfVisible=Math.floor(this.maxVisibleItems/2),newScrollOffset=Math.max(0,Math.min(this._selectedIndex-halfVisible,this._options.length-this.maxVisibleItems));if(newScrollOffset!==this.scrollOffset)this.scrollOffset=newScrollOffset,this.requestRender()}onResize(width,height){this.maxVisibleItems=Math.max(1,Math.floor(height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}handleKeyPress(key){let action=getKeyBindingAction(this._keyBindingsMap,key);if(action)switch(action){case"move-up":return this.moveUp(1),!0;case"move-down":return this.moveDown(1),!0;case"move-up-fast":return this.moveUp(this._fastScrollStep),!0;case"move-down-fast":return this.moveDown(this._fastScrollStep),!0;case"select-current":return this.selectCurrent(),!0}return!1}get showScrollIndicator(){return this._showScrollIndicator}set showScrollIndicator(show){this._showScrollIndicator=show,this.requestRender()}get showDescription(){return this._showDescription}set showDescription(show){if(this._showDescription!==show)this._showDescription=show,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}get wrapSelection(){return this._wrapSelection}set wrapSelection(wrap){this._wrapSelection=wrap}set backgroundColor(value){let newColor=parseColor(value??this._defaultOptions.backgroundColor);if(this._backgroundColor!==newColor)this._backgroundColor=newColor,this.requestRender()}set textColor(value){let newColor=parseColor(value??this._defaultOptions.textColor);if(this._textColor!==newColor)this._textColor=newColor,this.requestRender()}set focusedBackgroundColor(value){let newColor=parseColor(value??this._defaultOptions.focusedBackgroundColor);if(this._focusedBackgroundColor!==newColor)this._focusedBackgroundColor=newColor,this.requestRender()}set focusedTextColor(value){let newColor=parseColor(value??this._defaultOptions.focusedTextColor);if(this._focusedTextColor!==newColor)this._focusedTextColor=newColor,this.requestRender()}set selectedBackgroundColor(value){let newColor=parseColor(value??this._defaultOptions.selectedBackgroundColor);if(this._selectedBackgroundColor!==newColor)this._selectedBackgroundColor=newColor,this.requestRender()}set selectedTextColor(value){let newColor=parseColor(value??this._defaultOptions.selectedTextColor);if(this._selectedTextColor!==newColor)this._selectedTextColor=newColor,this.requestRender()}set descriptionColor(value){let newColor=parseColor(value??this._defaultOptions.descriptionColor);if(this._descriptionColor!==newColor)this._descriptionColor=newColor,this.requestRender()}set selectedDescriptionColor(value){let newColor=parseColor(value??this._defaultOptions.selectedDescriptionColor);if(this._selectedDescriptionColor!==newColor)this._selectedDescriptionColor=newColor,this.requestRender()}set font(font){this._font=font,this.fontHeight=measureText({text:"A",font:this._font}).height,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}set itemSpacing(spacing){this._itemSpacing=spacing,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}set fastScrollStep(step){this._fastScrollStep=step}set keyBindings(bindings){this._keyBindings=bindings;let mergedBindings=mergeKeyBindings(defaultSelectKeybindings,bindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}set keyAliasMap(aliases){this._keyAliasMap=mergeKeyAliases(defaultKeyAliases,aliases);let mergedBindings=mergeKeyBindings(defaultSelectKeybindings,this._keyBindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}set selectedIndex(value){let newIndex=value??this._defaultOptions.selectedIndex,clampedIndex=this._options.length>0?Math.min(Math.max(0,newIndex),this._options.length-1):0;if(this._selectedIndex!==clampedIndex)this._selectedIndex=clampedIndex,this.updateScrollOffset(),this.requestRender()}}var defaultTabSelectKeybindings=[{name:"left",action:"move-left"},{name:"[",action:"move-left"},{name:"right",action:"move-right"},{name:"]",action:"move-right"},{name:"return",action:"select-current"},{name:"linefeed",action:"select-current"}],TabSelectRenderableEvents;((TabSelectRenderableEvents2)=>{TabSelectRenderableEvents2.SELECTION_CHANGED="selectionChanged",TabSelectRenderableEvents2.ITEM_SELECTED="itemSelected"})(TabSelectRenderableEvents||={});function calculateDynamicHeight(showUnderline,showDescription){let height=1;if(showUnderline)height+=1;if(showDescription)height+=1;return height}class TabSelectRenderable extends Renderable{_focusable=!0;_options=[];selectedIndex=0;scrollOffset=0;_tabWidth;maxVisibleTabs;_backgroundColor;_textColor;_focusedBackgroundColor;_focusedTextColor;_selectedBackgroundColor;_selectedTextColor;_selectedDescriptionColor;_showScrollArrows;_showDescription;_showUnderline;_wrapSelection;_keyBindingsMap;_keyAliasMap;_keyBindings;constructor(ctx,options){let calculatedHeight=calculateDynamicHeight(options.showUnderline??!0,options.showDescription??!0);super(ctx,{...options,height:calculatedHeight,buffered:!0});this._backgroundColor=parseColor(options.backgroundColor||"transparent"),this._textColor=parseColor(options.textColor||"#FFFFFF"),this._focusedBackgroundColor=parseColor(options.focusedBackgroundColor||options.backgroundColor||"#1a1a1a"),this._focusedTextColor=parseColor(options.focusedTextColor||options.textColor||"#FFFFFF"),this._options=options.options||[],this._tabWidth=options.tabWidth||20,this._showDescription=options.showDescription??!0,this._showUnderline=options.showUnderline??!0,this._showScrollArrows=options.showScrollArrows??!0,this._wrapSelection=options.wrapSelection??!1,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this._selectedBackgroundColor=parseColor(options.selectedBackgroundColor||"#334455"),this._selectedTextColor=parseColor(options.selectedTextColor||"#FFFF00"),this._selectedDescriptionColor=parseColor(options.selectedDescriptionColor||"#CCCCCC"),this._keyAliasMap=mergeKeyAliases(defaultKeyAliases,options.keyAliasMap||{}),this._keyBindings=options.keyBindings||[];let mergedBindings=mergeKeyBindings(defaultTabSelectKeybindings,this._keyBindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}calculateDynamicHeight(){return calculateDynamicHeight(this._showUnderline,this._showDescription)}renderSelf(buffer,deltaTime){if(!this.visible||!this.frameBuffer)return;if(this.isDirty)this.refreshFrameBuffer()}refreshFrameBuffer(){if(!this.frameBuffer)return;let bgColor=this._focused?this._focusedBackgroundColor:this._backgroundColor;if(this.frameBuffer.clear(bgColor),this._options.length===0)return;let contentX=0,contentY=0,contentWidth=this.width,contentHeight=this.height,visibleOptions=this._options.slice(this.scrollOffset,this.scrollOffset+this.maxVisibleTabs);for(let i=0;i<visibleOptions.length;i++){let actualIndex=this.scrollOffset+i,option=visibleOptions[i],isSelected=actualIndex===this.selectedIndex,tabX=contentX+i*this._tabWidth;if(tabX>=contentX+contentWidth)break;let actualTabWidth=Math.min(this._tabWidth,contentWidth-i*this._tabWidth);if(isSelected)this.frameBuffer.fillRect(tabX,contentY,actualTabWidth,1,this._selectedBackgroundColor);let baseTextColor=this._focused?this._focusedTextColor:this._textColor,nameColor=isSelected?this._selectedTextColor:baseTextColor,nameContent=this.truncateText(option.name,actualTabWidth-2);if(this.frameBuffer.drawText(nameContent,tabX+1,contentY,nameColor),isSelected&&this._showUnderline&&contentHeight>=2){let underlineY=contentY+1,underlineBg=isSelected?this._selectedBackgroundColor:bgColor;this.frameBuffer.drawText("\u25AC".repeat(actualTabWidth),tabX,underlineY,nameColor,underlineBg)}}if(this._showDescription&&contentHeight>=(this._showUnderline?3:2)){let selectedOption=this.getSelectedOption();if(selectedOption){let descriptionY=contentY+(this._showUnderline?2:1),descColor=this._selectedDescriptionColor,descContent=this.truncateText(selectedOption.description,contentWidth-2);this.frameBuffer.drawText(descContent,contentX+1,descriptionY,descColor)}}if(this._showScrollArrows&&this._options.length>this.maxVisibleTabs)this.renderScrollArrowsToFrameBuffer(contentX,contentY,contentWidth,contentHeight)}truncateText(text,maxWidth){if(text.length<=maxWidth)return text;return text.substring(0,Math.max(0,maxWidth-1))+"\u2026"}renderScrollArrowsToFrameBuffer(contentX,contentY,contentWidth,contentHeight){if(!this.frameBuffer)return;let hasMoreLeft=this.scrollOffset>0,hasMoreRight=this.scrollOffset+this.maxVisibleTabs<this._options.length;if(hasMoreLeft)this.frameBuffer.drawText("\u2039",contentX,contentY,parseColor("#AAAAAA"));if(hasMoreRight)this.frameBuffer.drawText("\u203A",contentX+contentWidth-1,contentY,parseColor("#AAAAAA"))}setOptions(options){this._options=options,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,options.length-1)),this.updateScrollOffset(),this.requestRender()}getSelectedOption(){return this._options[this.selectedIndex]||null}getSelectedIndex(){return this.selectedIndex}moveLeft(){if(this.selectedIndex>0)this.selectedIndex--;else if(this._wrapSelection&&this._options.length>0)this.selectedIndex=this._options.length-1;else return;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}moveRight(){if(this.selectedIndex<this._options.length-1)this.selectedIndex++;else if(this._wrapSelection&&this._options.length>0)this.selectedIndex=0;else return;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}selectCurrent(){let selected=this.getSelectedOption();if(selected)this.emit("itemSelected",this.selectedIndex,selected)}setSelectedIndex(index){if(index>=0&&index<this._options.length)this.selectedIndex=index,this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}updateScrollOffset(){let halfVisible=Math.floor(this.maxVisibleTabs/2),newScrollOffset=Math.max(0,Math.min(this.selectedIndex-halfVisible,this._options.length-this.maxVisibleTabs));if(newScrollOffset!==this.scrollOffset)this.scrollOffset=newScrollOffset,this.requestRender()}onResize(width,height){this.maxVisibleTabs=Math.max(1,Math.floor(width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}setTabWidth(tabWidth){if(this._tabWidth===tabWidth)return;this._tabWidth=tabWidth,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}getTabWidth(){return this._tabWidth}handleKeyPress(key){let action=getKeyBindingAction(this._keyBindingsMap,key);if(action)switch(action){case"move-left":return this.moveLeft(),!0;case"move-right":return this.moveRight(),!0;case"select-current":return this.selectCurrent(),!0}return!1}get options(){return this._options}set options(options){this._options=options,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,options.length-1)),this.updateScrollOffset(),this.requestRender()}set backgroundColor(color){this._backgroundColor=parseColor(color),this.requestRender()}set textColor(color){this._textColor=parseColor(color),this.requestRender()}set focusedBackgroundColor(color){this._focusedBackgroundColor=parseColor(color),this.requestRender()}set focusedTextColor(color){this._focusedTextColor=parseColor(color),this.requestRender()}set selectedBackgroundColor(color){this._selectedBackgroundColor=parseColor(color),this.requestRender()}set selectedTextColor(color){this._selectedTextColor=parseColor(color),this.requestRender()}set selectedDescriptionColor(color){this._selectedDescriptionColor=parseColor(color),this.requestRender()}get showDescription(){return this._showDescription}set showDescription(show){if(this._showDescription!==show){this._showDescription=show;let newHeight=this.calculateDynamicHeight();this.height=newHeight,this.requestRender()}}get showUnderline(){return this._showUnderline}set showUnderline(show){if(this._showUnderline!==show){this._showUnderline=show;let newHeight=this.calculateDynamicHeight();this.height=newHeight,this.requestRender()}}get showScrollArrows(){return this._showScrollArrows}set showScrollArrows(show){if(this._showScrollArrows!==show)this._showScrollArrows=show,this.requestRender()}get wrapSelection(){return this._wrapSelection}set wrapSelection(wrap){this._wrapSelection=wrap}get tabWidth(){return this._tabWidth}set tabWidth(tabWidth){if(this._tabWidth===tabWidth)return;this._tabWidth=tabWidth,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}set keyBindings(bindings){this._keyBindings=bindings;let mergedBindings=mergeKeyBindings(defaultTabSelectKeybindings,bindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}set keyAliasMap(aliases){this._keyAliasMap=mergeKeyAliases(defaultKeyAliases,aliases);let mergedBindings=mergeKeyBindings(defaultTabSelectKeybindings,this._keyBindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}}class TimeToFirstDrawRenderable extends Renderable{_runtimeMs=null;textColor;label;precision;constructor(ctx,options={}){super(ctx,{width:"100%",height:1,flexShrink:0,alignSelf:"center",...options});this.textColor=parseColor(options.fg??"#AAAAAA"),this.label=options.label??"Time to first draw",this.precision=this.normalizePrecision(options.precision??2)}get runtimeMs(){return this._runtimeMs}set fg(value){this.textColor=parseColor(value),this.requestRender()}set color(value){this.fg=value}set textLabel(value){if(value===this.label)return;this.label=value,this.requestRender()}set decimals(value){let nextPrecision=this.normalizePrecision(value);if(nextPrecision===this.precision)return;this.precision=nextPrecision,this.requestRender()}reset(){this._runtimeMs=null,this.requestRender()}renderSelf(buffer){if(this._runtimeMs===null)this._runtimeMs=performance.now();let content=`${this.label}: ${this._runtimeMs.toFixed(this.precision)}ms`,maxWidth=Math.max(this.width,1),visibleContent=content.length>maxWidth?content.slice(0,maxWidth):content,centeredX=this.x+Math.max(0,Math.floor((maxWidth-visibleContent.length)/2));buffer.drawText(visibleContent,centeredX,this.y,this.textColor)}normalizePrecision(value){if(!Number.isFinite(value))return 2;return Math.max(0,Math.floor(value))}}var import_react=__toESM(require_react_production(),1);var import_react2=__toESM(require_react_production(),1),import_react3=__toESM(require_react_production(),1);var REACT_FRAGMENT_TYPE=Symbol.for("react.fragment");var $Fragment=REACT_FRAGMENT_TYPE,$jsxDEV=void 0;var import_react_reconciler=__toESM(require_react_reconciler_production(),1);var $ConcurrentRoot=1;var $DefaultEventPriority=32;var $NoEventPriority=0;var import_react4=__toESM(require_react_production(),1);var textNodeKeys=["span","b","strong","i","em","u","br","a"];class SpanRenderable extends TextNodeRenderable{ctx;constructor(ctx,options){super(options);this.ctx=ctx}}class TextModifierRenderable extends SpanRenderable{constructor(options,modifier){super(null,options);if(modifier==="b"||modifier==="strong")this.attributes=(this.attributes||0)|TextAttributes.BOLD;else if(modifier==="i"||modifier==="em")this.attributes=(this.attributes||0)|TextAttributes.ITALIC;else if(modifier==="u")this.attributes=(this.attributes||0)|TextAttributes.UNDERLINE}}class BoldSpanRenderable extends TextModifierRenderable{constructor(_ctx,options){super(options,"b")}}class ItalicSpanRenderable extends TextModifierRenderable{constructor(_ctx,options){super(options,"i")}}class UnderlineSpanRenderable extends TextModifierRenderable{constructor(_ctx,options){super(options,"u")}}class LineBreakRenderable extends SpanRenderable{constructor(_ctx,options){super(null,options);this.add()}add(){return super.add(`
3665
- `)}}class LinkRenderable extends SpanRenderable{constructor(_ctx,options){let linkOptions={...options,link:{url:options.href}};super(null,linkOptions)}}var baseComponents={box:BoxRenderable,text:TextRenderable,code:CodeRenderable,diff:DiffRenderable,markdown:MarkdownRenderable,input:InputRenderable,select:SelectRenderable,textarea:TextareaRenderable,scrollbox:ScrollBoxRenderable,"ascii-font":ASCIIFontRenderable,"tab-select":TabSelectRenderable,"line-number":LineNumberRenderable,span:SpanRenderable,br:LineBreakRenderable,b:BoldSpanRenderable,strong:BoldSpanRenderable,i:ItalicSpanRenderable,em:ItalicSpanRenderable,u:UnderlineSpanRenderable,a:LinkRenderable},componentCatalogue={...baseComponents};function extend(objects){Object.assign(componentCatalogue,objects)}function getComponentCatalogue(){return componentCatalogue}var AppContext=import_react.createContext({keyHandler:null,renderer:null}),useAppContext=()=>{return import_react.useContext(AppContext)};class ErrorBoundary extends import_react3.default.Component{constructor(props){super(props);this.state={hasError:!1,error:null}}static getDerivedStateFromError(error){return{hasError:!0,error}}render(){if(this.state.hasError&&this.state.error)return $jsxDEV("box",{style:{flexDirection:"column",padding:2},children:$jsxDEV("text",{fg:"red",children:this.state.error.stack||this.state.error.message},void 0,!1,void 0,this)},void 0,!1,void 0,this);return this.props.children}}var package_default={name:"@opentui/react",version:"0.2.2",description:"React renderer for building terminal user interfaces using OpenTUI core",license:"MIT",repository:{type:"git",url:"https://github.com/anomalyco/opentui",directory:"packages/react"},module:"src/index.ts",type:"module",private:!0,main:"src/index.ts",exports:{".":{import:"./src/index.ts",types:"./src/index.ts"},"./test-utils":{import:"./src/test-utils.ts",types:"./src/test-utils.d.ts"},"./runtime-plugin-support":{import:"./scripts/runtime-plugin-support.ts",types:"./scripts/runtime-plugin-support.ts"},"./runtime-plugin-support/configure":{import:"./scripts/runtime-plugin-support-configure.ts",types:"./scripts/runtime-plugin-support-configure.ts"},"./jsx-runtime":{import:"./jsx-runtime.js",types:"./jsx-runtime.d.ts"},"./jsx-dev-runtime":{import:"./jsx-dev-runtime.js",types:"./jsx-dev-runtime.d.ts"}},scripts:{build:"bun run scripts/build.ts","build:examples":"bun examples/build.ts","build:dev":"bun run scripts/build.ts --dev",publish:"bun run scripts/publish.ts",test:"bun test"},devDependencies:{"@opentui/keymap":"workspace:*","@types/bun":"latest","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-reconciler":"^0.32.0","@types/ws":"^8.18.1",react:">=19.0.0","react-devtools-core":"^7.0.1",typescript:"^5",ws:"^8.18.0"},peerDependencies:{react:">=19.0.0","react-devtools-core":"^7.0.1",ws:"^8.18.0"},peerDependenciesMeta:{"react-devtools-core":{optional:!0},ws:{optional:!0}},dependencies:{"@opentui/core":"workspace:*","react-reconciler":"^0.32.0"}},idCounter=new Map;function getNextId(type){if(!idCounter.has(type))idCounter.set(type,0);let value=idCounter.get(type)+1;return idCounter.set(type,value),`${type}-${value}`}function initEventListeners(instance,eventName,listener,previousListener){if(previousListener)instance.off(eventName,previousListener);if(listener)instance.on(eventName,listener)}function setStyle(instance,styles,oldStyles){if(oldStyles!=null&&typeof oldStyles==="object"){for(let styleName in oldStyles)if(oldStyles.hasOwnProperty(styleName)){if(styles==null||!styles.hasOwnProperty(styleName))instance[styleName]=null}}if(styles!=null&&typeof styles==="object"){for(let styleName in styles)if(styles.hasOwnProperty(styleName)){let value=styles[styleName],oldValue=oldStyles?.[styleName];if(value!==oldValue)instance[styleName]=value}}}function setProperty(instance,type,propKey,propValue,oldPropValue){switch(propKey){case"onChange":if(instance instanceof InputRenderable)initEventListeners(instance,InputRenderableEvents.CHANGE,propValue,oldPropValue);else if(instance instanceof SelectRenderable)initEventListeners(instance,SelectRenderableEvents.SELECTION_CHANGED,propValue,oldPropValue);else if(instance instanceof TabSelectRenderable)initEventListeners(instance,TabSelectRenderableEvents.SELECTION_CHANGED,propValue,oldPropValue);break;case"onInput":if(instance instanceof InputRenderable)initEventListeners(instance,InputRenderableEvents.INPUT,propValue,oldPropValue);break;case"onSubmit":if(instance instanceof InputRenderable)initEventListeners(instance,InputRenderableEvents.ENTER,propValue,oldPropValue);else if(instance instanceof TextareaRenderable)instance.onSubmit=propValue;break;case"onSelect":if(instance instanceof SelectRenderable)initEventListeners(instance,SelectRenderableEvents.ITEM_SELECTED,propValue,oldPropValue);else if(instance instanceof TabSelectRenderable)initEventListeners(instance,TabSelectRenderableEvents.ITEM_SELECTED,propValue,oldPropValue);break;case"focused":if(isRenderable(instance))if(propValue)instance.focus();else instance.blur();break;case"style":setStyle(instance,propValue,oldPropValue);break;case"children":break;default:instance[propKey]=propValue}}function setInitialProperties(instance,type,props){for(let propKey in props){if(!props.hasOwnProperty(propKey))continue;let propValue=props[propKey];if(propValue==null)continue;setProperty(instance,type,propKey,propValue)}}function updateProperties(instance,type,oldProps,newProps){for(let propKey in oldProps){let oldProp=oldProps[propKey];if(oldProps.hasOwnProperty(propKey)&&oldProp!=null&&!newProps.hasOwnProperty(propKey))setProperty(instance,type,propKey,null,oldProp)}for(let propKey in newProps){let newProp=newProps[propKey],oldProp=oldProps[propKey];if(newProps.hasOwnProperty(propKey)&&newProp!==oldProp&&(newProp!=null||oldProp!=null))setProperty(instance,type,propKey,newProp,oldProp)}}var currentUpdatePriority=$NoEventPriority,hostConfig={supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance(type,props,rootContainerInstance,hostContext){if(textNodeKeys.includes(type)&&!hostContext.isInsideText)throw Error(`Component of type "${type}" must be created inside of a text node`);let id=getNextId(type),components=getComponentCatalogue();if(!components[type])throw Error(`Unknown component type: ${type}`);return new components[type](rootContainerInstance.ctx,{id,...props})},appendChild(parent,child){parent.add(child)},removeChild(parent,child){parent.remove(child.id)},insertBefore(parent,child,beforeChild){parent.insertBefore(child,beforeChild)},insertInContainerBefore(parent,child,beforeChild){parent.insertBefore(child,beforeChild)},removeChildFromContainer(parent,child){parent.remove(child.id)},prepareForCommit(containerInfo){return null},resetAfterCommit(containerInfo){containerInfo.requestRender()},getRootHostContext(rootContainerInstance){return{isInsideText:!1}},getChildHostContext(parentHostContext,type,rootContainerInstance){let isInsideText=["text",...textNodeKeys].includes(type);return{...parentHostContext,isInsideText}},shouldSetTextContent(type,props){return!1},createTextInstance(text,rootContainerInstance,hostContext){if(!hostContext.isInsideText)throw Error("Text must be created inside of a text node");return TextNodeRenderable.fromString(text)},scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,shouldAttemptEagerTransition(){return!1},finalizeInitialChildren(instance,type,props,rootContainerInstance,hostContext){return setInitialProperties(instance,type,props),!1},commitMount(instance,type,props,internalInstanceHandle){},commitUpdate(instance,type,oldProps,newProps,internalInstanceHandle){updateProperties(instance,type,oldProps,newProps),instance.requestRender()},commitTextUpdate(textInstance,oldText,newText){textInstance.children=[newText],textInstance.requestRender()},appendChildToContainer(container,child){container.add(child)},appendInitialChild(parent,child){parent.add(child)},hideInstance(instance){instance.visible=!1,instance.requestRender()},unhideInstance(instance,props){instance.visible=!0,instance.requestRender()},hideTextInstance(textInstance){textInstance.visible=!1,textInstance.requestRender()},unhideTextInstance(textInstance,text){textInstance.visible=!0,textInstance.requestRender()},clearContainer(container){container.getChildren().forEach((child)=>container.remove(child.id))},setCurrentUpdatePriority(newPriority){currentUpdatePriority=newPriority},getCurrentUpdatePriority:()=>currentUpdatePriority,resolveUpdatePriority(){if(currentUpdatePriority!==$NoEventPriority)return currentUpdatePriority;return $DefaultEventPriority},maySuspendCommit(){return!1},NotPendingTransition:null,HostTransitionContext:import_react4.createContext(null),resetFormInstance(){},requestPostPaintCallback(){},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},detachDeletedInstance(instance){if(!instance.parent)instance.destroyRecursively()},getPublicInstance(instance){return instance},preparePortalMount(containerInfo){},isPrimaryRenderer:!0,getInstanceFromNode(){return null},beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},prepareScopeUpdate(){},getInstanceFromScope(){return null},rendererPackageName:"@opentui/react",rendererVersion:package_default.version},reconciler=import_react_reconciler.default(hostConfig);reconciler.injectIntoDevTools();function _render(element,root){let container=reconciler.createContainer(root,$ConcurrentRoot,null,!1,null,"",console.error,console.error,console.error,console.error,null);return reconciler.updateContainer(element,container,null,()=>{}),container}var _r=reconciler,flushSync=_r.flushSyncFromReconciler??_r.flushSync;function createRoot(renderer){let container=null,cleanup=()=>{if(container)reconciler.updateContainer(null,container,null,()=>{}),reconciler.flushSyncWork(),container=null};return renderer.once(CliRenderEvents.DESTROY,cleanup),{render:(node)=>{engine.attach(renderer),container=_render(import_react2.default.createElement(AppContext.Provider,{value:{keyHandler:renderer.keyInput,renderer}},import_react2.default.createElement(ErrorBoundary,null,node)),renderer.root)},unmount:cleanup}}var import_react5=__toESM(require_react_production(),1),import_react6=__toESM(require_react_production(),1),import_react7=__toESM(require_react_production(),1),import_react8=__toESM(require_react_production(),1);var import_react9=__toESM(require_react_production(),1);var import_react10=__toESM(require_react_production(),1);var import_react11=__toESM(require_react_production(),1),import_react12=__toESM(require_react_production(),1);function useEffectEvent(handler){let handlerRef=import_react6.useRef(handler);return import_react6.useLayoutEffect(()=>{handlerRef.current=handler}),import_react6.useCallback((...args)=>{let fn=handlerRef.current;return fn(...args)},[])}var useKeyboard=(handler,options={release:!1})=>{let{keyHandler}=useAppContext(),stableHandler=useEffectEvent(handler);import_react5.useEffect(()=>{if(keyHandler?.on("keypress",stableHandler),options?.release)keyHandler?.on("keyrelease",stableHandler);return()=>{if(keyHandler?.off("keypress",stableHandler),options?.release)keyHandler?.off("keyrelease",stableHandler)}},[keyHandler,options.release])},useRenderer=()=>{let{renderer}=useAppContext();if(!renderer)throw Error("Renderer not found.");return renderer},useOnResize=(callback)=>{let renderer=useRenderer(),stableCallback=useEffectEvent(callback);return import_react7.useEffect(()=>{return renderer.on("resize",stableCallback),()=>{renderer.off("resize",stableCallback)}},[renderer]),renderer},useTerminalDimensions=()=>{let renderer=useRenderer(),[dimensions,setDimensions]=import_react8.useState({width:renderer.width,height:renderer.height});return useOnResize((width,height)=>{setDimensions({width,height})}),dimensions};function createReactSlotRegistry(renderer,context,options={}){return createSlotRegistry(renderer,"react:slot-registry",context,options)}function renderPluginFailurePlaceholder(registry,pluginFailurePlaceholder,failure,pluginId,slot){if(!pluginFailurePlaceholder)return null;try{return pluginFailurePlaceholder(failure)}catch(error){return registry.reportPluginError({pluginId,slot,phase:"error_placeholder",source:"react",error}),null}}class PluginErrorBoundary extends import_react10.default.Component{constructor(props){super(props);this.state={failure:null}}componentDidCatch(error){let failure=this.props.registry.reportPluginError({pluginId:this.props.pluginId,slot:this.props.slotName,phase:"render",source:"react",error});this.setState({failure})}componentDidUpdate(previousProps){if(previousProps.resetToken!==this.props.resetToken&&this.state.failure)this.setState({failure:null})}render(){if(this.state.failure){let placeholder=renderPluginFailurePlaceholder(this.props.registry,this.props.pluginFailurePlaceholder,this.state.failure,this.props.pluginId,this.props.slotName);if(placeholder===null||placeholder===void 0||placeholder===!1)return this.props.fallbackOnFailure??null;return placeholder}return this.props.children}}function getSlotProps(props){let{children:_children,mode:_mode,name:_name,registry:_registry,pluginFailurePlaceholder:_pluginFailurePlaceholder,...slotProps}=props;return slotProps}function createSlot(registry,options={}){return function(props){return $jsxDEV(Slot,{...props,registry,pluginFailurePlaceholder:options.pluginFailurePlaceholder},void 0,!1,void 0,this)}}function Slot(props){let[version,setVersion]=import_react10.useState(0),registry=props.registry,slotName=String(props.name),renderFailuresByPluginRef=import_react10.useRef(new Map),pendingRenderReportsRef=import_react10.useRef(new Map);import_react10.useEffect(()=>{return registry.subscribe(()=>{setVersion((current)=>current+1)})},[registry]),import_react10.useEffect(()=>{if(pendingRenderReportsRef.current.size===0)return;let pendingReports=[...pendingRenderReportsRef.current.values()];pendingRenderReportsRef.current.clear();for(let report of pendingReports){let failure=registry.reportPluginError({pluginId:report.pluginId,slot:report.slot,phase:"render",source:"react",error:report.error});renderFailuresByPluginRef.current.set(`${report.slot}:${report.pluginId}:render`,failure)}});let entries=import_react10.useMemo(()=>registry.resolveEntries(props.name),[registry,props.name,version]),slotProps=getSlotProps(props),renderEntry=(entry,fallbackOnFailure)=>{let key=`${slotName}:${entry.id}`,failureKey=`${slotName}:${entry.id}:render`;try{let rendered=entry.renderer(registry.context,slotProps);return renderFailuresByPluginRef.current.delete(failureKey),pendingRenderReportsRef.current.delete(failureKey),$jsxDEV(PluginErrorBoundary,{registry,pluginFailurePlaceholder:props.pluginFailurePlaceholder,pluginId:entry.id,slotName,resetToken:version,fallbackOnFailure,children:rendered},key,!1,void 0,this)}catch(error){let normalizedError=error instanceof Error?error:typeof error==="string"?Error(error):Error(String(error)),lastFailure=renderFailuresByPluginRef.current.get(failureKey),isSameFailure=lastFailure&&lastFailure.error.message===normalizedError.message;if(!isSameFailure){let queued=pendingRenderReportsRef.current.get(failureKey);if(!queued||queued.error.message!==normalizedError.message)pendingRenderReportsRef.current.set(failureKey,{pluginId:entry.id,slot:slotName,error:normalizedError})}let failure=isSameFailure&&lastFailure?lastFailure:{pluginId:entry.id,slot:slotName,phase:"render",source:"react",error:normalizedError,timestamp:Date.now()};renderFailuresByPluginRef.current.set(failureKey,failure);let placeholder=renderPluginFailurePlaceholder(registry,props.pluginFailurePlaceholder,failure,entry.id,slotName);if(placeholder===null||placeholder===void 0||placeholder===!1)return fallbackOnFailure??null;return $jsxDEV(import_react10.Fragment,{children:placeholder},key,!1,void 0,this)}};if(entries.length===0)return $jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);if(props.mode==="single_winner"){let winner=entries[0];if(!winner)return $jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);let rendered=renderEntry(winner,props.children);if(rendered===null||rendered===void 0||rendered===!1)return $jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);return $jsxDEV($Fragment,{children:rendered},void 0,!1,void 0,this)}if(props.mode==="replace"){if(entries.length===1){let rendered=renderEntry(entries[0],props.children);if(rendered===null||rendered===void 0||rendered===!1)return $jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);return $jsxDEV($Fragment,{children:rendered},void 0,!1,void 0,this)}let renderedEntries=entries.map((entry)=>renderEntry(entry));if(!renderedEntries.some((node)=>node!==null&&node!==void 0&&node!==!1))return $jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);return $jsxDEV($Fragment,{children:renderedEntries},void 0,!1,void 0,this)}return $jsxDEV($Fragment,{children:[props.children,entries.map((entry)=>renderEntry(entry))]},void 0,!0,void 0,this)}extend({"time-to-first-draw":TimeToFirstDrawRenderable});init_perf();var import_react131=__toESM(require_react_production(),1);var INTERP_RE=/\{!(.+?)\}/g,hasInterp=(s)=>/\{!.+?\}/.test(s);async function interpolate(gw,text){let hits=[...text.matchAll(INTERP_RE)];if(hits.length===0)return text;let outs=await Promise.all(hits.map((m2)=>gw.request("shell.exec",{command:m2[1]}).then((r)=>[r.stdout,r.stderr].filter(Boolean).join(`
3664
+ `)}normalizeScrollbackMarkdownBlockRaw(raw){return raw.replace(TRAILING_MARKDOWN_BLOCK_NEWLINES_RE,"")}buildRenderableTokens(tokens){if(this._renderNode)return tokens.filter((token)=>token.type!=="space");let renderTokens=[],markdownRaw="",flushMarkdownRaw=()=>{if(markdownRaw.length===0)return;let normalizedRaw=this.normalizeMarkdownBlockRaw(markdownRaw);if(normalizedRaw.length>0)renderTokens.push(this.createMarkdownBlockToken(normalizedRaw));markdownRaw=""};for(let i=0;i<tokens.length;i+=1){let token=tokens[i];if(token.type==="space"){if(markdownRaw.length===0)continue;let nextIndex=i+1;while(nextIndex<tokens.length&&tokens[nextIndex].type==="space")nextIndex+=1;let nextToken=tokens[nextIndex];if(nextToken&&!this.shouldRenderSeparately(nextToken))markdownRaw+=token.raw;continue}if(this.shouldRenderSeparately(token)){flushMarkdownRaw(),renderTokens.push(token);continue}markdownRaw+=token.raw}return flushMarkdownRaw(),renderTokens}buildTopLevelRenderBlocks(tokens){let blocks=[],gapBefore="";for(let i=0;i<tokens.length;i+=1){let token=tokens[i];if(token.type==="space"){gapBefore+=token.raw;continue}let prev=blocks[blocks.length-1],marginTop=prev&&(this.shouldRenderSeparately(prev.token)||TRAILING_MARKDOWN_BLOCK_BREAKS_RE.test(prev.token.raw+gapBefore))?1:0;blocks.push({token,sourceTokenEnd:i+1,marginTop}),gapBefore=""}return blocks}getTableRowsToRender(table){return table.rows}hashString(value,seed){let hash=seed>>>0;for(let i=0;i<value.length;i+=1)hash^=value.charCodeAt(i),hash=Math.imul(hash,16777619);return hash>>>0}hashTableToken(token,seed,depth=0){let hash=this.hashString(token.type,seed);if("raw"in token&&typeof token.raw==="string")return this.hashString(token.raw,hash);if("text"in token&&typeof token.text==="string")hash=this.hashString(token.text,hash);if(depth<2&&"tokens"in token&&Array.isArray(token.tokens))for(let child of token.tokens)hash=this.hashTableToken(child,hash,depth+1);return hash>>>0}getTableCellKey(cell,isHeader){let seed=isHeader?2902232141:1371922141;if(!cell)return seed;if(typeof cell.text==="string")return this.hashString(cell.text,seed);if(Array.isArray(cell.tokens)&&cell.tokens.length>0){let hash=seed^cell.tokens.length;for(let token of cell.tokens)hash=this.hashTableToken(token,hash);return hash>>>0}return(seed^2654435769)>>>0}createTableDataCellChunks(cell){let chunks=[];if(cell)this.renderInlineContent(cell.tokens,chunks);return chunks.length>0?chunks:[this.createDefaultChunk(" ")]}createTableHeaderCellChunks(cell){let chunks=[];this.renderInlineContent(cell.tokens,chunks);let baseChunks=chunks.length>0?chunks:[this.createDefaultChunk(" ")],headingStyle=this.getStyle("markup.heading")||this.getStyle("default");if(!headingStyle)return baseChunks;let headingAttributes=createTextAttributes({bold:headingStyle.bold,italic:headingStyle.italic,underline:headingStyle.underline,dim:headingStyle.dim});return baseChunks.map((chunk)=>({...chunk,fg:headingStyle.fg??chunk.fg,bg:headingStyle.bg??chunk.bg,attributes:headingAttributes}))}buildTableContentCache(table,previous,forceRegenerate=!1){let colCount=table.header.length,rowsToRender=this.getTableRowsToRender(table);if(colCount===0||rowsToRender.length===0)return{cache:null,changed:previous!==void 0};let content=[],cellKeys=[],totalRows=rowsToRender.length+1,changed=forceRegenerate||!previous;for(let rowIndex=0;rowIndex<totalRows;rowIndex+=1){let rowContent=[],rowKeys=new Uint32Array(colCount);for(let colIndex=0;colIndex<colCount;colIndex+=1){let isHeader=rowIndex===0,cell=isHeader?table.header[colIndex]:rowsToRender[rowIndex-1]?.[colIndex],cellKey=this.getTableCellKey(cell,isHeader);rowKeys[colIndex]=cellKey;let previousCellKey=previous?.cellKeys[rowIndex]?.[colIndex],previousCellContent=previous?.content[rowIndex]?.[colIndex];if(!forceRegenerate&&previousCellKey===cellKey&&Array.isArray(previousCellContent)){rowContent.push(previousCellContent);continue}changed=!0,rowContent.push(isHeader?this.createTableHeaderCellChunks(table.header[colIndex]):this.createTableDataCellChunks(cell))}content.push(rowContent),cellKeys.push(rowKeys)}if(previous&&!changed){if(previous.content.length!==content.length)changed=!0;else for(let rowIndex=0;rowIndex<content.length;rowIndex+=1)if((previous.content[rowIndex]?.length??0)!==content[rowIndex].length){changed=!0;break}}return{cache:{content,cellKeys},changed}}resolveTableStyle(options=this._tableOptions){if(options?.style==="columns")return"columns";if(options?.style==="grid")return"grid";return this._internalBlockMode==="top-level"?"columns":"grid"}usesBorderlessColumnSpacing(options=this._tableOptions){let style=this.resolveTableStyle(options),borders=options?.borders??style==="grid";return style==="columns"&&!borders}resolveTableRenderableOptions(){let style=this.resolveTableStyle(),borders=this._tableOptions?.borders??style==="grid";return{columnWidthMode:this._tableOptions?.widthMode??(style==="columns"?"content":"full"),columnFitter:this._tableOptions?.columnFitter??"proportional",wrapMode:this._tableOptions?.wrapMode??"word",cellPadding:this._tableOptions?.cellPadding??0,columnGap:this.usesBorderlessColumnSpacing()?2:0,border:borders,outerBorder:this._tableOptions?.outerBorder??borders,showBorders:borders,borderStyle:this._tableOptions?.borderStyle??"single",borderColor:this._tableOptions?.borderColor??this.getStyle("conceal")?.fg??"#888888",selectable:this._tableOptions?.selectable??!0}}applyTableRenderableOptions(tableRenderable,options){tableRenderable.columnWidthMode=options.columnWidthMode,tableRenderable.columnFitter=options.columnFitter,tableRenderable.wrapMode=options.wrapMode,tableRenderable.cellPadding=options.cellPadding,tableRenderable.columnGap=options.columnGap,tableRenderable.border=options.border,tableRenderable.outerBorder=options.outerBorder,tableRenderable.showBorders=options.showBorders,tableRenderable.borderStyle=options.borderStyle,tableRenderable.borderColor=options.borderColor,tableRenderable.selectable=options.selectable}applyTableOptionsToBlocks(){let options=this.resolveTableRenderableOptions(),updated=!1;for(let state of this._blockStates)if(state.renderable instanceof TextTableRenderable)this.applyTableRenderableOptions(state.renderable,options),updated=!0;if(updated)this.requestRender()}createTextTableRenderable(content,id,marginBottom=0){let options=this.resolveTableRenderableOptions();return new TextTableRenderable(this.ctx,{id,content,width:"100%",marginBottom,columnWidthMode:options.columnWidthMode,columnFitter:options.columnFitter,wrapMode:options.wrapMode,cellPadding:options.cellPadding,columnGap:options.columnGap,border:options.border,outerBorder:options.outerBorder,showBorders:options.showBorders,borderStyle:options.borderStyle,borderColor:options.borderColor,selectable:options.selectable})}createTableBlock(table,id,marginBottom=0,previousCache,forceRegenerate=!1){let{cache}=this.buildTableContentCache(table,previousCache,forceRegenerate);if(!cache)return{renderable:this.createMarkdownCodeRenderable(table.raw,id,marginBottom)};return{renderable:this.createTextTableRenderable(cache.content,id,marginBottom),tableContentCache:cache}}getStableBlockCount(blocks,stableTokenCount){if(this._internalBlockMode!=="top-level")return 0;let stableBlockCount=0;for(let block of blocks){if(block.sourceTokenEnd<=stableTokenCount){stableBlockCount+=1;continue}break}return stableBlockCount}syncTopLevelBlockState(state,block,tableContentCache=state.tableContentCache){state.token=block.token,state.tokenRaw=block.token.raw,state.marginTop=block.marginTop,state.tableContentCache=tableContentCache}getTopLevelBlockRaw(token){if(!token.raw)return;return this.shouldRenderSeparately(token)?token.raw:this.normalizeScrollbackMarkdownBlockRaw(token.raw)}createTopLevelDefaultRenderable(block,index){let{token,marginTop}=block,id=`${this.id}-block-${index}`;if(token.type==="code"){let renderable2=this.createCodeRenderable(token,id);return renderable2.marginTop=marginTop,{renderable:renderable2}}if(token.type==="table"){let next=this.createTableBlock(token,id);return next.renderable.marginTop=marginTop,next}let markdownRaw=this.getTopLevelBlockRaw(token);if(!markdownRaw)return{renderable:void 0};let renderable=this.createMarkdownCodeRenderable(markdownRaw,id);return renderable.marginTop=marginTop,{renderable}}createTopLevelRenderable(block,index){if(!this._renderNode)return this.createTopLevelDefaultRenderable(block,index);let next,context={syntaxStyle:this._syntaxStyle,conceal:this._conceal,concealCode:this._concealCode,treeSitterClient:this._treeSitterClient,defaultRender:()=>{return next=this.createTopLevelDefaultRenderable(block,index),next.renderable??null}},custom=this._renderNode(block.token,context);if(custom)return this.applyMargins(custom,block.marginTop,0),{renderable:custom};return next??this.createTopLevelDefaultRenderable(block,index)}createDefaultRenderable(token,index,hasNextToken=!1){let id=`${this.id}-block-${index}`,marginBottom=this.getInterBlockMargin(token,hasNextToken);if(token.type==="code")return this.createCodeRenderable(token,id,marginBottom);if(token.type==="table")return this.createTableBlock(token,id,marginBottom).renderable;if(token.type==="space")return null;if(!token.raw)return null;return this.createMarkdownCodeRenderable(token.raw,id,marginBottom)}updateBlockRenderable(state,token,index,hasNextToken){let marginBottom=this.getInterBlockMargin(token,hasNextToken);if(token.type==="code"){this.applyCodeBlockRenderable(state.renderable,token,marginBottom);return}if(token.type==="table"){let tableToken=token,{cache,changed}=this.buildTableContentCache(tableToken,state.tableContentCache);if(!cache){if(state.renderable instanceof CodeRenderable){this.applyMarkdownCodeRenderable(state.renderable,tableToken.raw,marginBottom),state.tableContentCache=void 0;return}state.renderable.destroyRecursively();let fallbackRenderable=this.createMarkdownCodeRenderable(tableToken.raw,`${this.id}-block-${index}`,marginBottom);this.add(fallbackRenderable),state.renderable=fallbackRenderable,state.tableContentCache=void 0;return}if(state.renderable instanceof TextTableRenderable){if(changed)state.renderable.content=cache.content;this.applyTableRenderableOptions(state.renderable,this.resolveTableRenderableOptions()),state.renderable.marginBottom=marginBottom,state.tableContentCache=cache;return}state.renderable.destroyRecursively();let tableRenderable=this.createTextTableRenderable(cache.content,`${this.id}-block-${index}`,marginBottom);this.add(tableRenderable),state.renderable=tableRenderable,state.tableContentCache=cache;return}if(state.renderable instanceof CodeRenderable){this.applyMarkdownCodeRenderable(state.renderable,token.raw,marginBottom);return}state.renderable.destroyRecursively();let markdownRenderable=this.createMarkdownCodeRenderable(token.raw,`${this.id}-block-${index}`,marginBottom);this.add(markdownRenderable),state.renderable=markdownRenderable}updateTopLevelBlocks(tokens,forceTableRefresh){let blocks=this.buildTopLevelRenderBlocks(tokens);this._stableBlockCount=this.getStableBlockCount(blocks,this._parseState?.stableTokenCount??0);let blockIndex=0;for(let i=0;i<blocks.length;i+=1){let block=blocks[i],existing=this._blockStates[blockIndex];if(existing&&existing.token===block.token&&!forceTableRefresh){if(existing.marginTop!==block.marginTop)this.applyMargins(existing.renderable,block.marginTop,0);this.syncTopLevelBlockState(existing,block),blockIndex++;continue}if(existing&&existing.tokenRaw===block.token.raw&&existing.token.type===block.token.type&&!forceTableRefresh){if(existing.marginTop!==block.marginTop)this.applyMargins(existing.renderable,block.marginTop,0);this.syncTopLevelBlockState(existing,block),blockIndex++;continue}if(existing)existing.renderable.destroyRecursively();let next=this.createTopLevelRenderable(block,blockIndex);if(next.renderable)this.add(next.renderable),this._blockStates[blockIndex]={token:block.token,tokenRaw:block.token.raw,marginTop:block.marginTop,renderable:next.renderable,tableContentCache:next.tableContentCache};blockIndex++}while(this._blockStates.length>blockIndex)this._blockStates.pop().renderable.destroyRecursively()}updateBlocks(forceTableRefresh=!1){if(this.isDestroyed)return;if(!this._content){this.clearBlockStates(),this._parseState=null,this._stableBlockCount=0;return}let trailingUnstable=this._streaming?2:0;this._parseState=parseMarkdownIncremental(this._content,this._parseState,trailingUnstable);let tokens=this._parseState.tokens;if(tokens.length===0&&this._content.length>0){this.clearBlockStates(),this._stableBlockCount=0;let fallback=this.createMarkdownCodeRenderable(this._content,`${this.id}-fallback`);this.add(fallback),this._blockStates=[{token:{type:"text",raw:this._content,text:this._content},tokenRaw:this._content,marginTop:0,renderable:fallback}];return}if(this._internalBlockMode==="top-level"){this.updateTopLevelBlocks(tokens,forceTableRefresh);return}this._stableBlockCount=0;let blockTokens=this.buildRenderableTokens(tokens),lastBlockIndex=blockTokens.length-1,blockIndex=0;for(let i=0;i<blockTokens.length;i++){let token=blockTokens[i],hasNextToken=i<lastBlockIndex,existing=this._blockStates[blockIndex],shouldForceRefresh=forceTableRefresh;if(existing&&existing.token===token){if(shouldForceRefresh)this.updateBlockRenderable(existing,token,blockIndex,hasNextToken),existing.tokenRaw=token.raw;blockIndex++;continue}if(existing&&existing.tokenRaw===token.raw&&existing.token.type===token.type){if(existing.token=token,shouldForceRefresh)this.updateBlockRenderable(existing,token,blockIndex,hasNextToken),existing.tokenRaw=token.raw;blockIndex++;continue}if(existing&&existing.token.type===token.type){this.updateBlockRenderable(existing,token,blockIndex,hasNextToken),existing.token=token,existing.tokenRaw=token.raw,blockIndex++;continue}if(existing)existing.renderable.destroyRecursively();let renderable,tableContentCache;if(this._renderNode){let context={syntaxStyle:this._syntaxStyle,conceal:this._conceal,concealCode:this._concealCode,treeSitterClient:this._treeSitterClient,defaultRender:()=>this.createDefaultRenderable(token,blockIndex,hasNextToken)},custom=this._renderNode(token,context);if(custom)renderable=custom}if(!renderable)if(token.type==="table"){let tableBlock=this.createTableBlock(token,`${this.id}-block-${blockIndex}`,this.getInterBlockMargin(token,hasNextToken));renderable=tableBlock.renderable,tableContentCache=tableBlock.tableContentCache}else renderable=this.createDefaultRenderable(token,blockIndex,hasNextToken)??void 0;if(token.type==="table"&&!tableContentCache&&renderable instanceof TextTableRenderable){let{cache}=this.buildTableContentCache(token);tableContentCache=cache??void 0}if(renderable)this.add(renderable),this._blockStates[blockIndex]={token,tokenRaw:token.raw,renderable,tableContentCache};blockIndex++}while(this._blockStates.length>blockIndex)this._blockStates.pop().renderable.destroyRecursively()}clearBlockStates(){for(let state of this._blockStates)state.renderable.destroyRecursively();this._blockStates=[],this._stableBlockCount=0}rerenderBlocks(){if(this._internalBlockMode==="top-level"){this.updateBlocks(!0);return}for(let i=0;i<this._blockStates.length;i++){let state=this._blockStates[i],hasNextToken=i<this._blockStates.length-1,marginBottom=this.getInterBlockMargin(state.token,hasNextToken);if(state.token.type==="code"){this.applyCodeBlockRenderable(state.renderable,state.token,marginBottom);continue}if(state.token.type==="table"){let tableToken=state.token,{cache}=this.buildTableContentCache(tableToken,state.tableContentCache,!0);if(!cache){if(state.renderable instanceof CodeRenderable)this.applyMarkdownCodeRenderable(state.renderable,tableToken.raw,marginBottom);else{state.renderable.destroyRecursively();let fallbackRenderable=this.createMarkdownCodeRenderable(tableToken.raw,`${this.id}-block-${i}`,marginBottom);this.add(fallbackRenderable),state.renderable=fallbackRenderable}state.tableContentCache=void 0;continue}if(state.renderable instanceof TextTableRenderable){state.renderable.content=cache.content,this.applyTableRenderableOptions(state.renderable,this.resolveTableRenderableOptions()),state.renderable.marginBottom=marginBottom,state.tableContentCache=cache;continue}state.renderable.destroyRecursively();let tableRenderable=this.createTextTableRenderable(cache.content,`${this.id}-block-${i}`,marginBottom);this.add(tableRenderable),state.renderable=tableRenderable,state.tableContentCache=cache;continue}if(state.renderable instanceof CodeRenderable){this.applyMarkdownCodeRenderable(state.renderable,state.token.raw,marginBottom);continue}state.renderable.destroyRecursively();let markdownRenderable=this.createMarkdownCodeRenderable(state.token.raw,`${this.id}-block-${i}`,marginBottom);this.add(markdownRenderable),state.renderable=markdownRenderable}}clearCache(){this._parseState=null,this.clearBlockStates(),this.updateBlocks(),this.requestRender()}refreshStyles(){this._styleDirty=!1,this.rerenderBlocks(),this.requestRender()}renderSelf(buffer,deltaTime){if(this._styleDirty)this._styleDirty=!1,this.rerenderBlocks();super.renderSelf(buffer,deltaTime)}}var defaultThumbBackgroundColor=RGBA.fromHex("#9a9ea3"),defaultTrackBackgroundColor=RGBA.fromHex("#252527");class SliderRenderable extends Renderable{orientation;_value;_min;_max;_viewPortSize;_backgroundColor;_foregroundColor;_onChange;constructor(ctx,options){super(ctx,{flexShrink:0,...options});this.orientation=options.orientation,this._min=options.min??0,this._max=options.max??100,this._value=options.value??this._min,this._viewPortSize=options.viewPortSize??Math.max(1,(this._max-this._min)*0.1),this._onChange=options.onChange,this._backgroundColor=options.backgroundColor?parseColor(options.backgroundColor):defaultTrackBackgroundColor,this._foregroundColor=options.foregroundColor?parseColor(options.foregroundColor):defaultThumbBackgroundColor,this.setupMouseHandling()}get value(){return this._value}set value(newValue){let clamped=Math.max(this._min,Math.min(this._max,newValue));if(clamped!==this._value)this._value=clamped,this._onChange?.(clamped),this.emit("change",{value:clamped}),this.requestRender()}get min(){return this._min}set min(newMin){if(newMin!==this._min){if(this._min=newMin,this._value<newMin)this.value=newMin;this.requestRender()}}get max(){return this._max}set max(newMax){if(newMax!==this._max){if(this._max=newMax,this._value>newMax)this.value=newMax;this.requestRender()}}set viewPortSize(size){let clampedSize=Math.max(0.01,Math.min(size,this._max-this._min));if(clampedSize!==this._viewPortSize)this._viewPortSize=clampedSize,this.requestRender()}get viewPortSize(){return this._viewPortSize}get backgroundColor(){return this._backgroundColor}set backgroundColor(value){this._backgroundColor=parseColor(value),this.requestRender()}get foregroundColor(){return this._foregroundColor}set foregroundColor(value){this._foregroundColor=parseColor(value),this.requestRender()}calculateDragOffsetVirtual(event){let trackStart=this.orientation==="vertical"?this.y:this.x,mousePos=(this.orientation==="vertical"?event.y:event.x)-trackStart,virtualMousePos=Math.max(0,Math.min((this.orientation==="vertical"?this.height:this.width)*2,mousePos*2)),virtualThumbStart=this.getVirtualThumbStart(),virtualThumbSize=this.getVirtualThumbSize();return Math.max(0,Math.min(virtualThumbSize,virtualMousePos-virtualThumbStart))}setupMouseHandling(){let isDragging=!1,dragOffsetVirtual=0;this.onMouseDown=(event)=>{event.stopPropagation(),event.preventDefault();let thumb=this.getThumbRect();if(event.x>=thumb.x&&event.x<thumb.x+thumb.width&&event.y>=thumb.y&&event.y<thumb.y+thumb.height)isDragging=!0,dragOffsetVirtual=this.calculateDragOffsetVirtual(event);else this.updateValueFromMouseDirect(event),isDragging=!0,dragOffsetVirtual=this.calculateDragOffsetVirtual(event)},this.onMouseDrag=(event)=>{if(!isDragging)return;event.stopPropagation(),this.updateValueFromMouseWithOffset(event,dragOffsetVirtual)},this.onMouseUp=(event)=>{if(isDragging)this.updateValueFromMouseWithOffset(event,dragOffsetVirtual);isDragging=!1}}updateValueFromMouseDirect(event){let trackStart=this.orientation==="vertical"?this.y:this.x,trackSize=this.orientation==="vertical"?this.height:this.width,relativeMousePos=(this.orientation==="vertical"?event.y:event.x)-trackStart,clampedMousePos=Math.max(0,Math.min(trackSize,relativeMousePos)),ratio=trackSize===0?0:clampedMousePos/trackSize,range=this._max-this._min,newValue=this._min+ratio*range;this.value=newValue}updateValueFromMouseWithOffset(event,offsetVirtual){let trackStart=this.orientation==="vertical"?this.y:this.x,trackSize=this.orientation==="vertical"?this.height:this.width,mousePos=this.orientation==="vertical"?event.y:event.x,virtualTrackSize=trackSize*2,relativeMousePos=mousePos-trackStart,virtualMousePos=Math.max(0,Math.min(trackSize,relativeMousePos))*2,virtualThumbSize=this.getVirtualThumbSize(),maxThumbStart=Math.max(0,virtualTrackSize-virtualThumbSize),desiredThumbStart=virtualMousePos-offsetVirtual;desiredThumbStart=Math.max(0,Math.min(maxThumbStart,desiredThumbStart));let ratio=maxThumbStart===0?0:desiredThumbStart/maxThumbStart,range=this._max-this._min,newValue=this._min+ratio*range;this.value=newValue}getThumbRect(){let virtualThumbSize=this.getVirtualThumbSize(),virtualThumbStart=this.getVirtualThumbStart(),realThumbStart=Math.floor(virtualThumbStart/2),realThumbSize=Math.ceil((virtualThumbStart+virtualThumbSize)/2)-realThumbStart;if(this.orientation==="vertical")return{x:this.x,y:this.y+realThumbStart,width:this.width,height:Math.max(1,realThumbSize)};else return{x:this.x+realThumbStart,y:this.y,width:Math.max(1,realThumbSize),height:this.height}}renderSelf(buffer){if(this.orientation==="horizontal")this.renderHorizontal(buffer);else this.renderVertical(buffer)}renderHorizontal(buffer){let virtualThumbSize=this.getVirtualThumbSize(),virtualThumbStart=this.getVirtualThumbStart(),virtualThumbEnd=virtualThumbStart+virtualThumbSize;buffer.fillRect(this.x,this.y,this.width,this.height,this._backgroundColor);let realStartCell=Math.floor(virtualThumbStart/2),realEndCell=Math.ceil(virtualThumbEnd/2)-1,startX=Math.max(0,realStartCell),endX=Math.min(this.width-1,realEndCell);for(let realX=startX;realX<=endX;realX++){let virtualCellStart=realX*2,virtualCellEnd=virtualCellStart+2,thumbStartInCell=Math.max(virtualThumbStart,virtualCellStart),coverage=Math.min(virtualThumbEnd,virtualCellEnd)-thumbStartInCell,char=" ";if(coverage>=2)char="\u2588";else if(thumbStartInCell===virtualCellStart)char="\u258C";else char="\u2590";for(let y2=0;y2<this.height;y2++)buffer.setCellWithAlphaBlending(this.x+realX,this.y+y2,char,this._foregroundColor,this._backgroundColor)}}renderVertical(buffer){let virtualThumbSize=this.getVirtualThumbSize(),virtualThumbStart=this.getVirtualThumbStart(),virtualThumbEnd=virtualThumbStart+virtualThumbSize;buffer.fillRect(this.x,this.y,this.width,this.height,this._backgroundColor);let realStartCell=Math.floor(virtualThumbStart/2),realEndCell=Math.ceil(virtualThumbEnd/2)-1,startY=Math.max(0,realStartCell),endY=Math.min(this.height-1,realEndCell);for(let realY=startY;realY<=endY;realY++){let virtualCellStart=realY*2,virtualCellEnd=virtualCellStart+2,thumbStartInCell=Math.max(virtualThumbStart,virtualCellStart),coverage=Math.min(virtualThumbEnd,virtualCellEnd)-thumbStartInCell,char=" ";if(coverage>=2)char="\u2588";else if(coverage>0)if(thumbStartInCell-virtualCellStart===0)char="\u2580";else char="\u2584";for(let x2=0;x2<this.width;x2++)buffer.setCellWithAlphaBlending(this.x+x2,this.y+realY,char,this._foregroundColor,this._backgroundColor)}}getVirtualThumbSize(){let virtualTrackSize=this.orientation==="vertical"?this.height*2:this.width*2,range=this._max-this._min;if(range===0)return virtualTrackSize;let viewportSize=Math.max(1,this._viewPortSize),contentSize=range+viewportSize;if(contentSize<=viewportSize)return virtualTrackSize;let thumbRatio=viewportSize/contentSize,calculatedSize=Math.floor(virtualTrackSize*thumbRatio);return Math.max(1,Math.min(calculatedSize,virtualTrackSize))}getVirtualThumbStart(){let virtualTrackSize=this.orientation==="vertical"?this.height*2:this.width*2,range=this._max-this._min;if(range===0)return 0;let valueRatio=(this._value-this._min)/range,virtualThumbSize=this.getVirtualThumbSize();return Math.round(valueRatio*(virtualTrackSize-virtualThumbSize))}}class ScrollBarRenderable extends Renderable{slider;startArrow;endArrow;orientation;_focusable=!0;_scrollSize=0;_scrollPosition=0;_viewportSize=0;_showArrows=!1;_manualVisibility=!1;_onChange;scrollStep=null;get visible(){return super.visible}set visible(value){this._manualVisibility=!0,super.visible=value}resetVisibilityControl(){this._manualVisibility=!1,this.recalculateVisibility()}get scrollSize(){return this._scrollSize}get scrollPosition(){return this._scrollPosition}get viewportSize(){return this._viewportSize}set scrollSize(value){if(value===this.scrollSize)return;this._scrollSize=value,this.recalculateVisibility(),this.updateSliderFromScrollState(),this.scrollPosition=this.scrollPosition}set scrollPosition(value){let newPosition=Math.round(Math.min(Math.max(0,value),this.scrollSize-this.viewportSize));if(newPosition!==this._scrollPosition)this._scrollPosition=newPosition,this.updateSliderFromScrollState()}set viewportSize(value){if(value===this.viewportSize)return;this._viewportSize=value,this.slider.viewPortSize=Math.max(1,this._viewportSize),this.recalculateVisibility(),this.updateSliderFromScrollState(),this.scrollPosition=this.scrollPosition}get showArrows(){return this._showArrows}set showArrows(value){if(value===this._showArrows)return;this._showArrows=value,this.startArrow.visible=value,this.endArrow.visible=value}constructor(ctx,{trackOptions,arrowOptions,orientation,showArrows=!1,...options}){super(ctx,{flexDirection:orientation==="vertical"?"column":"row",alignSelf:"stretch",alignItems:"stretch",...options});this._onChange=options.onChange,this.orientation=orientation,this._showArrows=showArrows;let scrollRange=Math.max(0,this._scrollSize-this._viewportSize),defaultStepSize=Math.max(1,this._viewportSize),stepSize=trackOptions?.viewPortSize??defaultStepSize;this.slider=new SliderRenderable(ctx,{orientation,min:0,max:scrollRange,value:this._scrollPosition,viewPortSize:stepSize,onChange:(value)=>{this._scrollPosition=Math.round(value),this._onChange?.(this._scrollPosition),this.emit("change",{position:this._scrollPosition})},...orientation==="vertical"?{width:Math.max(1,Math.min(2,this.width)),height:"100%",marginLeft:"auto"}:{width:"100%",height:1,marginTop:"auto"},flexGrow:1,flexShrink:1,...trackOptions}),this.updateSliderFromScrollState();let arrowOpts=arrowOptions?{foregroundColor:arrowOptions.backgroundColor,backgroundColor:arrowOptions.backgroundColor,attributes:arrowOptions.attributes,...arrowOptions}:{};this.startArrow=new ArrowRenderable(ctx,{alignSelf:"center",visible:this.showArrows,direction:this.orientation==="vertical"?"up":"left",height:this.orientation==="vertical"?1:1,...arrowOpts}),this.endArrow=new ArrowRenderable(ctx,{alignSelf:"center",visible:this.showArrows,direction:this.orientation==="vertical"?"down":"right",height:this.orientation==="vertical"?1:1,...arrowOpts}),this.add(this.startArrow),this.add(this.slider),this.add(this.endArrow);let startArrowMouseTimeout=void 0,endArrowMouseTimeout=void 0;this.startArrow.onMouseDown=(event)=>{event.stopPropagation(),event.preventDefault(),this.scrollBy(-0.5,"viewport"),startArrowMouseTimeout=setTimeout(()=>{this.scrollBy(-0.5,"viewport"),startArrowMouseTimeout=setInterval(()=>{this.scrollBy(-0.2,"viewport")},200)},500)},this.startArrow.onMouseUp=(event)=>{event.stopPropagation(),clearInterval(startArrowMouseTimeout)},this.endArrow.onMouseDown=(event)=>{event.stopPropagation(),event.preventDefault(),this.scrollBy(0.5,"viewport"),endArrowMouseTimeout=setTimeout(()=>{this.scrollBy(0.5,"viewport"),endArrowMouseTimeout=setInterval(()=>{this.scrollBy(0.2,"viewport")},200)},500)},this.endArrow.onMouseUp=(event)=>{event.stopPropagation(),clearInterval(endArrowMouseTimeout)}}set arrowOptions(options){Object.assign(this.startArrow,options),Object.assign(this.endArrow,options),this.requestRender()}set trackOptions(options){Object.assign(this.slider,options),this.requestRender()}updateSliderFromScrollState(){let scrollRange=Math.max(0,this._scrollSize-this._viewportSize);this.slider.min=0,this.slider.max=scrollRange,this.slider.value=Math.min(this._scrollPosition,scrollRange)}scrollBy(delta,unit="absolute"){let resolvedDelta=(unit==="viewport"?this.viewportSize:unit==="content"?this.scrollSize:unit==="step"?this.scrollStep??1:1)*delta;this.scrollPosition+=resolvedDelta}recalculateVisibility(){if(!this._manualVisibility){let sizeRatio=this.scrollSize<=this.viewportSize?1:this.viewportSize/this.scrollSize;super.visible=sizeRatio<1}}handleKeyPress(key){switch(key.name){case"left":case"h":if(this.orientation!=="horizontal")return!1;return this.scrollBy(-0.2,"viewport"),!0;case"right":case"l":if(this.orientation!=="horizontal")return!1;return this.scrollBy(0.2,"viewport"),!0;case"up":case"k":if(this.orientation!=="vertical")return!1;return this.scrollBy(-0.2,"viewport"),!0;case"down":case"j":if(this.orientation!=="vertical")return!1;return this.scrollBy(0.2,"viewport"),!0;case"pageup":return this.scrollBy(-0.5,"viewport"),!0;case"pagedown":return this.scrollBy(0.5,"viewport"),!0;case"home":return this.scrollBy(-1,"content"),!0;case"end":return this.scrollBy(1,"content"),!0}return!1}}class ArrowRenderable extends Renderable{_direction;_foregroundColor;_backgroundColor;_attributes;_arrowChars;constructor(ctx,options){super(ctx,options);if(this._direction=options.direction,this._foregroundColor=options.foregroundColor?parseColor(options.foregroundColor):RGBA.fromValues(1,1,1,1),this._backgroundColor=options.backgroundColor?parseColor(options.backgroundColor):RGBA.fromValues(0,0,0,0),this._attributes=options.attributes??0,this._arrowChars={up:"\u25B2",down:"\u25BC",left:"\u25C0",right:"\u25B6",...options.arrowChars},!options.width)this.width=Bun.stringWidth(this.getArrowChar())}get direction(){return this._direction}set direction(value){if(this._direction!==value)this._direction=value,this.requestRender()}get foregroundColor(){return this._foregroundColor}set foregroundColor(value){if(this._foregroundColor!==value)this._foregroundColor=parseColor(value),this.requestRender()}get backgroundColor(){return this._backgroundColor}set backgroundColor(value){if(this._backgroundColor!==value)this._backgroundColor=parseColor(value),this.requestRender()}get attributes(){return this._attributes}set attributes(value){if(this._attributes!==value)this._attributes=value,this.requestRender()}set arrowChars(value){this._arrowChars={...this._arrowChars,...value},this.requestRender()}renderSelf(buffer){let char=this.getArrowChar();buffer.drawText(char,this.x,this.y,this._foregroundColor,this._backgroundColor,this._attributes)}getArrowChar(){switch(this._direction){case"up":return this._arrowChars.up;case"down":return this._arrowChars.down;case"left":return this._arrowChars.left;case"right":return this._arrowChars.right;default:return"?"}}}class ContentRenderable extends BoxRenderable{viewport;_viewportCulling;constructor(ctx,viewport,viewportCulling,options){super(ctx,options);this.viewport=viewport,this._viewportCulling=viewportCulling}get viewportCulling(){return this._viewportCulling}set viewportCulling(value){this._viewportCulling=value}_hasVisibleChildFilter(){return this._viewportCulling}_getVisibleChildren(){if(this._viewportCulling)return getObjectsInViewport({x:this.viewport.screenX,y:this.viewport.screenY,width:this.viewport.width,height:this.viewport.height},this.getChildrenSortedByPrimaryAxis(),this.primaryAxis,0).map((child)=>child.num);return super._getVisibleChildren()}}var SCROLLBOX_PADDING_KEYS=["padding","paddingX","paddingY","paddingTop","paddingRight","paddingBottom","paddingLeft"];function pickScrollBoxPadding(options){if(!options)return{};let picked={};for(let key of SCROLLBOX_PADDING_KEYS){let value=options[key];if(value!==void 0)picked[key]=value}return picked}function stripScrollBoxPadding(options){let sanitized={...options};for(let key of SCROLLBOX_PADDING_KEYS)delete sanitized[key];return sanitized}class ScrollBoxRenderable extends BoxRenderable{static idCounter=0;internalId=0;wrapper;viewport;content;horizontalScrollBar;verticalScrollBar;_focusable=!0;selectionListener;autoScrollMouseX=0;autoScrollMouseY=0;autoScrollThresholdVertical=3;autoScrollThresholdHorizontal=3;autoScrollSpeedSlow=6;autoScrollSpeedMedium=36;autoScrollSpeedFast=72;isAutoScrolling=!1;cachedAutoScrollSpeed=3;autoScrollAccumulatorX=0;autoScrollAccumulatorY=0;scrollAccumulatorX=0;scrollAccumulatorY=0;_stickyScroll;_stickyScrollTop=!1;_stickyScrollBottom=!1;_stickyScrollLeft=!1;_stickyScrollRight=!1;_stickyStart;_hasManualScroll=!1;_isApplyingStickyScroll=!1;scrollAccel;get stickyScroll(){return this._stickyScroll}set stickyScroll(value){this._stickyScroll=value,this.updateStickyState()}get stickyStart(){return this._stickyStart}set stickyStart(value){this._stickyStart=value,this.updateStickyState()}get scrollTop(){return this.verticalScrollBar.scrollPosition}set scrollTop(value){if(this.verticalScrollBar.scrollPosition=value,!this._isApplyingStickyScroll){let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height);if(!this.isAtStickyPosition()&&maxScrollTop>1)this._hasManualScroll=!0}this.updateStickyState()}get scrollLeft(){return this.horizontalScrollBar.scrollPosition}set scrollLeft(value){if(this.horizontalScrollBar.scrollPosition=value,!this._isApplyingStickyScroll){let maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(!this.isAtStickyPosition()&&maxScrollLeft>1)this._hasManualScroll=!0}this.updateStickyState()}get scrollWidth(){return this.horizontalScrollBar.scrollSize}get scrollHeight(){return this.verticalScrollBar.scrollSize}updateStickyState(){if(!this._stickyScroll)return;let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height),maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(this.scrollTop<=0){if(this._stickyScrollTop=!0,this._stickyScrollBottom=!1,!this._isApplyingStickyScroll&&(this._stickyStart==="top"||this._stickyStart==="bottom"&&maxScrollTop===0))this._hasManualScroll=!1}else if(this.scrollTop>=maxScrollTop){if(this._stickyScrollTop=!1,this._stickyScrollBottom=!0,!this._isApplyingStickyScroll&&this._stickyStart==="bottom")this._hasManualScroll=!1}else this._stickyScrollTop=!1,this._stickyScrollBottom=!1;if(this.scrollLeft<=0){if(this._stickyScrollLeft=!0,this._stickyScrollRight=!1,!this._isApplyingStickyScroll&&(this._stickyStart==="left"||this._stickyStart==="right"&&maxScrollLeft===0))this._hasManualScroll=!1}else if(this.scrollLeft>=maxScrollLeft){if(this._stickyScrollLeft=!1,this._stickyScrollRight=!0,!this._isApplyingStickyScroll&&this._stickyStart==="right")this._hasManualScroll=!1}else this._stickyScrollLeft=!1,this._stickyScrollRight=!1}applyStickyStart(stickyStart){let wasApplyingStickyScroll=this._isApplyingStickyScroll;this._isApplyingStickyScroll=!0;try{switch(stickyStart){case"top":this._stickyScrollTop=!0,this._stickyScrollBottom=!1,this.verticalScrollBar.scrollPosition=0;break;case"bottom":this._stickyScrollTop=!1,this._stickyScrollBottom=!0,this.verticalScrollBar.scrollPosition=Math.max(0,this.scrollHeight-this.viewport.height);break;case"left":this._stickyScrollLeft=!0,this._stickyScrollRight=!1,this.horizontalScrollBar.scrollPosition=0;break;case"right":this._stickyScrollLeft=!1,this._stickyScrollRight=!0,this.horizontalScrollBar.scrollPosition=Math.max(0,this.scrollWidth-this.viewport.width);break}}finally{this._isApplyingStickyScroll=wasApplyingStickyScroll}}constructor(ctx,options){let{wrapperOptions,viewportOptions,contentOptions,rootOptions,scrollbarOptions,verticalScrollbarOptions,horizontalScrollbarOptions,stickyScroll=!1,stickyStart,scrollX=!1,scrollY=!0,scrollAcceleration,viewportCulling=!0,...rootBoxOptions}=options,forwardedContentPadding={...pickScrollBoxPadding(rootBoxOptions),...pickScrollBoxPadding(rootOptions)},sanitizedRootBoxOptions=stripScrollBoxPadding(rootBoxOptions),sanitizedRootOptions=rootOptions?stripScrollBoxPadding(rootOptions):void 0,mergedContentOptions={...forwardedContentPadding,...contentOptions};super(ctx,{flexDirection:"row",alignItems:"stretch",...sanitizedRootBoxOptions,...sanitizedRootOptions});if(this.internalId=ScrollBoxRenderable.idCounter++,this._stickyScroll=stickyScroll,this._stickyStart=stickyStart,this.scrollAccel=scrollAcceleration??new LinearScrollAccel,this.wrapper=new BoxRenderable(ctx,{flexDirection:"column",flexGrow:1,...wrapperOptions,id:`scroll-box-wrapper-${this.internalId}`}),super.add(this.wrapper),this.viewport=new BoxRenderable(ctx,{flexDirection:"column",flexGrow:1,overflow:"hidden",onSizeChange:()=>{this.recalculateBarProps()},...viewportOptions,id:`scroll-box-viewport-${this.internalId}`}),this.wrapper.add(this.viewport),this.content=new ContentRenderable(ctx,this.viewport,viewportCulling,{alignSelf:"flex-start",flexShrink:0,...scrollX?{minWidth:"100%"}:{minWidth:"100%",maxWidth:"100%"},...scrollY?{minHeight:"100%"}:{minHeight:"100%",maxHeight:"100%"},onSizeChange:()=>{this.recalculateBarProps()},...mergedContentOptions,id:`scroll-box-content-${this.internalId}`}),this.viewport.add(this.content),this.verticalScrollBar=new ScrollBarRenderable(ctx,{...scrollbarOptions,...verticalScrollbarOptions,arrowOptions:{...scrollbarOptions?.arrowOptions,...verticalScrollbarOptions?.arrowOptions},id:`scroll-box-vertical-scrollbar-${this.internalId}`,orientation:"vertical",onChange:(position)=>{if(this.content.translateY=-position,!this._isApplyingStickyScroll){let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height);if(!this.isAtStickyPosition()&&maxScrollTop>1)this._hasManualScroll=!0}this.updateStickyState()}}),super.add(this.verticalScrollBar),this.horizontalScrollBar=new ScrollBarRenderable(ctx,{...scrollbarOptions,...horizontalScrollbarOptions,arrowOptions:{...scrollbarOptions?.arrowOptions,...horizontalScrollbarOptions?.arrowOptions},id:`scroll-box-horizontal-scrollbar-${this.internalId}`,orientation:"horizontal",onChange:(position)=>{if(this.content.translateX=-position,!this._isApplyingStickyScroll){let maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(!this.isAtStickyPosition()&&maxScrollLeft>1)this._hasManualScroll=!0}this.updateStickyState()}}),this.wrapper.add(this.horizontalScrollBar),this.recalculateBarProps(),stickyStart&&stickyScroll)this.applyStickyStart(stickyStart);this.selectionListener=()=>{let selection=this._ctx.getSelection();if(!selection||!selection.isDragging)this.stopAutoScroll()},this._ctx.on("selection",this.selectionListener)}onUpdate(deltaTime){this.handleAutoScroll(deltaTime)}scrollBy(delta,unit="absolute"){if(typeof delta==="number")this.verticalScrollBar.scrollBy(delta,unit);else this.verticalScrollBar.scrollBy(delta.y,unit),this.horizontalScrollBar.scrollBy(delta.x,unit)}scrollChildIntoView(childId){let child=this.content.findDescendantById(childId);if(!child)return;let getNearestDelta=(elementStart,elementEnd,viewportStart,viewportEnd)=>{let elementSize=elementEnd-elementStart,viewportSize=viewportEnd-viewportStart,elementStartOutside=elementStart<viewportStart,elementEndOutside=elementEnd>viewportEnd;if(elementStartOutside&&elementEndOutside)return 0;if(elementStartOutside&&elementSize<viewportSize||elementEndOutside&&elementSize>viewportSize)return elementStart-viewportStart;if(elementStartOutside&&elementSize>viewportSize||elementEndOutside&&elementSize<viewportSize)return elementEnd-viewportEnd;return 0},childTop=child.y,childBottom=child.y+child.height,viewportTop=this.viewport.y,viewportBottom=this.viewport.y+this.viewport.height,dy=getNearestDelta(childTop,childBottom,viewportTop,viewportBottom),childLeft=child.x,childRight=child.x+child.width,viewportLeft=this.viewport.x,viewportRight=this.viewport.x+this.viewport.width,dx=getNearestDelta(childLeft,childRight,viewportLeft,viewportRight);if(dx!==0||dy!==0)this.scrollBy({x:dx,y:dy})}scrollTo(position){if(typeof position==="number")this.scrollTop=position;else this.scrollTop=position.y,this.scrollLeft=position.x}isAtStickyPosition(){if(!this._stickyScroll||!this._stickyStart)return!1;let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height),maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);switch(this._stickyStart){case"top":return this.scrollTop===0;case"bottom":return this.scrollTop>=maxScrollTop;case"left":return this.scrollLeft===0;case"right":return this.scrollLeft>=maxScrollLeft;default:return!1}}add(obj,index){return this.content.add(obj,index)}insertBefore(obj,anchor){return this.content.insertBefore(obj,anchor)}remove(id){this.content.remove(id)}getChildren(){return this.content.getChildren()}onMouseEvent(event){if(event.type==="scroll"){let dir=event.scroll?.direction;if(event.modifiers.shift)dir=dir==="up"?"left":dir==="down"?"right":dir==="right"?"down":"up";let baseDelta=event.scroll?.delta??0,now=Date.now(),multiplier=this.scrollAccel.tick(now),scrollAmount=baseDelta*multiplier;if(dir==="up"){this.scrollAccumulatorY-=scrollAmount;let integerScroll=Math.trunc(this.scrollAccumulatorY);if(integerScroll!==0)this.scrollTop+=integerScroll,this.scrollAccumulatorY-=integerScroll}else if(dir==="down"){this.scrollAccumulatorY+=scrollAmount;let integerScroll=Math.trunc(this.scrollAccumulatorY);if(integerScroll!==0)this.scrollTop+=integerScroll,this.scrollAccumulatorY-=integerScroll}else if(dir==="left"){this.scrollAccumulatorX-=scrollAmount;let integerScroll=Math.trunc(this.scrollAccumulatorX);if(integerScroll!==0)this.scrollLeft+=integerScroll,this.scrollAccumulatorX-=integerScroll}else if(dir==="right"){this.scrollAccumulatorX+=scrollAmount;let integerScroll=Math.trunc(this.scrollAccumulatorX);if(integerScroll!==0)this.scrollLeft+=integerScroll,this.scrollAccumulatorX-=integerScroll}let maxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height),maxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(maxScrollTop>1||maxScrollLeft>1)this._hasManualScroll=!0}if(event.type==="drag"&&event.isDragging)this.updateAutoScroll(event.x,event.y);else if(event.type==="up")this.stopAutoScroll()}handleKeyPress(key){if(this.verticalScrollBar.handleKeyPress(key))return this._hasManualScroll=!0,this.scrollAccel.reset(),this.resetScrollAccumulators(),!0;if(this.horizontalScrollBar.handleKeyPress(key))return this._hasManualScroll=!0,this.scrollAccel.reset(),this.resetScrollAccumulators(),!0;return!1}resetScrollAccumulators(){this.scrollAccumulatorX=0,this.scrollAccumulatorY=0}startAutoScroll(mouseX,mouseY){if(this.stopAutoScroll(),this.autoScrollMouseX=mouseX,this.autoScrollMouseY=mouseY,this.cachedAutoScrollSpeed=this.getAutoScrollSpeed(mouseX,mouseY),this.isAutoScrolling=!0,!this.live)this.live=!0}updateAutoScroll(mouseX,mouseY){this.autoScrollMouseX=mouseX,this.autoScrollMouseY=mouseY,this.cachedAutoScrollSpeed=this.getAutoScrollSpeed(mouseX,mouseY);let scrollX=this.getAutoScrollDirectionX(mouseX),scrollY=this.getAutoScrollDirectionY(mouseY);if(scrollX===0&&scrollY===0)this.stopAutoScroll();else if(!this.isAutoScrolling)this.startAutoScroll(mouseX,mouseY)}stopAutoScroll(){let wasAutoScrolling=this.isAutoScrolling;if(this.isAutoScrolling=!1,this.autoScrollAccumulatorX=0,this.autoScrollAccumulatorY=0,wasAutoScrolling&&!this.hasOtherLiveReasons())this.live=!1}hasOtherLiveReasons(){return!1}handleAutoScroll(deltaTime){if(!this.isAutoScrolling)return;let scrollX=this.getAutoScrollDirectionX(this.autoScrollMouseX),scrollY=this.getAutoScrollDirectionY(this.autoScrollMouseY),scrollAmount=this.cachedAutoScrollSpeed*(deltaTime/1000),scrolled=!1;if(scrollX!==0){this.autoScrollAccumulatorX+=scrollX*scrollAmount;let integerScrollX=Math.trunc(this.autoScrollAccumulatorX);if(integerScrollX!==0)this.scrollLeft+=integerScrollX,this.autoScrollAccumulatorX-=integerScrollX,scrolled=!0}if(scrollY!==0){this.autoScrollAccumulatorY+=scrollY*scrollAmount;let integerScrollY=Math.trunc(this.autoScrollAccumulatorY);if(integerScrollY!==0)this.scrollTop+=integerScrollY,this.autoScrollAccumulatorY-=integerScrollY,scrolled=!0}if(scrolled)this._ctx.requestSelectionUpdate();if(scrollX===0&&scrollY===0)this.stopAutoScroll()}getAutoScrollDirectionX(mouseX){let relativeX=mouseX-this.x,distToLeft=relativeX,distToRight=this.width-relativeX;if(distToLeft<=this.autoScrollThresholdHorizontal)return this.scrollLeft>0?-1:0;else if(distToRight<=this.autoScrollThresholdHorizontal){let maxScrollLeft=this.scrollWidth-this.viewport.width;return this.scrollLeft<maxScrollLeft?1:0}return 0}getAutoScrollDirectionY(mouseY){let relativeY=mouseY-this.y,distToTop=relativeY,distToBottom=this.height-relativeY;if(distToTop<=this.autoScrollThresholdVertical)return this.scrollTop>0?-1:0;else if(distToBottom<=this.autoScrollThresholdVertical){let maxScrollTop=this.scrollHeight-this.viewport.height;return this.scrollTop<maxScrollTop?1:0}return 0}getAutoScrollSpeed(mouseX,mouseY){let relativeX=mouseX-this.x,relativeY=mouseY-this.y,distToLeft=relativeX,distToRight=this.width-relativeX,distToTop=relativeY,distToBottom=this.height-relativeY,minDistance=Math.min(distToLeft,distToRight,distToTop,distToBottom);if(minDistance<=1)return this.autoScrollSpeedFast;else if(minDistance<=2)return this.autoScrollSpeedMedium;else return this.autoScrollSpeedSlow}recalculateBarProps(){let wasApplyingStickyScroll=this._isApplyingStickyScroll;this._isApplyingStickyScroll=!0;try{if(this.verticalScrollBar.scrollSize=this.content.height,this.verticalScrollBar.viewportSize=this.viewport.height,this.horizontalScrollBar.scrollSize=this.content.width,this.horizontalScrollBar.viewportSize=this.viewport.width,this._stickyScroll){let newMaxScrollTop=Math.max(0,this.scrollHeight-this.viewport.height),newMaxScrollLeft=Math.max(0,this.scrollWidth-this.viewport.width);if(this._stickyStart&&!this._hasManualScroll)this.applyStickyStart(this._stickyStart);else{if(this._stickyScrollTop)this.scrollTop=0;else if(this._stickyScrollBottom&&newMaxScrollTop>0)this.scrollTop=newMaxScrollTop;if(this._stickyScrollLeft)this.scrollLeft=0;else if(this._stickyScrollRight&&newMaxScrollLeft>0)this.scrollLeft=newMaxScrollLeft}}}finally{this._isApplyingStickyScroll=wasApplyingStickyScroll}process.nextTick(()=>{this.requestRender()})}set padding(value){this.content.padding=value,this.requestRender()}set paddingX(value){this.content.paddingX=value,this.requestRender()}set paddingY(value){this.content.paddingY=value,this.requestRender()}set paddingTop(value){this.content.paddingTop=value,this.requestRender()}set paddingRight(value){this.content.paddingRight=value,this.requestRender()}set paddingBottom(value){this.content.paddingBottom=value,this.requestRender()}set paddingLeft(value){this.content.paddingLeft=value,this.requestRender()}set rootOptions(options){Object.assign(this,options),this.requestRender()}set wrapperOptions(options){Object.assign(this.wrapper,options),this.requestRender()}set viewportOptions(options){Object.assign(this.viewport,options),this.requestRender()}set contentOptions(options){Object.assign(this.content,options),this.requestRender()}set scrollbarOptions(options){Object.assign(this.verticalScrollBar,options),Object.assign(this.horizontalScrollBar,options),this.requestRender()}set verticalScrollbarOptions(options){Object.assign(this.verticalScrollBar,options),this.requestRender()}set horizontalScrollbarOptions(options){Object.assign(this.horizontalScrollBar,options),this.requestRender()}get scrollAcceleration(){return this.scrollAccel}set scrollAcceleration(value){this.scrollAccel=value}get viewportCulling(){return this.content.viewportCulling}set viewportCulling(value){this.content.viewportCulling=value,this.requestRender()}destroySelf(){if(this.selectionListener)this._ctx.off("selection",this.selectionListener),this.selectionListener=void 0;super.destroySelf()}}var defaultSelectKeybindings=[{name:"up",action:"move-up"},{name:"k",action:"move-up"},{name:"down",action:"move-down"},{name:"j",action:"move-down"},{name:"up",shift:!0,action:"move-up-fast"},{name:"down",shift:!0,action:"move-down-fast"},{name:"return",action:"select-current"},{name:"linefeed",action:"select-current"}],SelectRenderableEvents;((SelectRenderableEvents2)=>{SelectRenderableEvents2.SELECTION_CHANGED="selectionChanged",SelectRenderableEvents2.ITEM_SELECTED="itemSelected"})(SelectRenderableEvents||={});class SelectRenderable extends Renderable{_focusable=!0;_options=[];_selectedIndex=0;scrollOffset=0;maxVisibleItems;_backgroundColor;_textColor;_focusedBackgroundColor;_focusedTextColor;_selectedBackgroundColor;_selectedTextColor;_descriptionColor;_selectedDescriptionColor;_showScrollIndicator;_wrapSelection;_showDescription;_font;_itemSpacing;linesPerItem;fontHeight;_fastScrollStep;_keyBindingsMap;_keyAliasMap;_keyBindings;_defaultOptions={backgroundColor:"transparent",textColor:"#FFFFFF",focusedBackgroundColor:"#1a1a1a",focusedTextColor:"#FFFFFF",selectedBackgroundColor:"#334455",selectedTextColor:"#FFFF00",selectedIndex:0,descriptionColor:"#888888",selectedDescriptionColor:"#CCCCCC",showScrollIndicator:!1,wrapSelection:!1,showDescription:!0,itemSpacing:0,fastScrollStep:5};constructor(ctx,options){super(ctx,{...options,buffered:!0});this._options=options.options||[];let requestedIndex=options.selectedIndex??this._defaultOptions.selectedIndex;this._selectedIndex=this._options.length>0?Math.min(requestedIndex,this._options.length-1):0,this._backgroundColor=parseColor(options.backgroundColor||this._defaultOptions.backgroundColor),this._textColor=parseColor(options.textColor||this._defaultOptions.textColor),this._focusedBackgroundColor=parseColor(options.focusedBackgroundColor||this._defaultOptions.focusedBackgroundColor),this._focusedTextColor=parseColor(options.focusedTextColor||this._defaultOptions.focusedTextColor),this._showScrollIndicator=options.showScrollIndicator??this._defaultOptions.showScrollIndicator,this._wrapSelection=options.wrapSelection??this._defaultOptions.wrapSelection,this._showDescription=options.showDescription??this._defaultOptions.showDescription,this._font=options.font,this._itemSpacing=options.itemSpacing||this._defaultOptions.itemSpacing,this.fontHeight=this._font?measureText({text:"A",font:this._font}).height:1,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this._selectedBackgroundColor=parseColor(options.selectedBackgroundColor||this._defaultOptions.selectedBackgroundColor),this._selectedTextColor=parseColor(options.selectedTextColor||this._defaultOptions.selectedTextColor),this._descriptionColor=parseColor(options.descriptionColor||this._defaultOptions.descriptionColor),this._selectedDescriptionColor=parseColor(options.selectedDescriptionColor||this._defaultOptions.selectedDescriptionColor),this._fastScrollStep=options.fastScrollStep||this._defaultOptions.fastScrollStep,this._keyAliasMap=mergeKeyAliases(defaultKeyAliases,options.keyAliasMap||{}),this._keyBindings=options.keyBindings||[];let mergedBindings=mergeKeyBindings(defaultSelectKeybindings,this._keyBindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap),this.requestRender()}renderSelf(buffer,deltaTime){if(!this.visible||!this.frameBuffer)return;if(this.isDirty)this.refreshFrameBuffer()}refreshFrameBuffer(){if(!this.frameBuffer)return;let bgColor=this._focused?this._focusedBackgroundColor:this._backgroundColor;if(this.frameBuffer.clear(bgColor),this._options.length===0)return;let contentX=0,contentY=0,contentWidth=this.width,contentHeight=this.height,visibleOptions=this._options.slice(this.scrollOffset,this.scrollOffset+this.maxVisibleItems);for(let i=0;i<visibleOptions.length;i++){let actualIndex=this.scrollOffset+i,option=visibleOptions[i],isSelected=actualIndex===this._selectedIndex,itemY=contentY+i*this.linesPerItem;if(itemY+this.linesPerItem-1>=contentY+contentHeight)break;if(isSelected){let contentHeight2=this.linesPerItem-this._itemSpacing;this.frameBuffer.fillRect(contentX,itemY,contentWidth,contentHeight2,this._selectedBackgroundColor)}let nameContent=`${isSelected?"\u25B6 ":" "}${option.name}`,baseTextColor=this._focused?this._focusedTextColor:this._textColor,nameColor=isSelected?this._selectedTextColor:baseTextColor,descX=contentX+3;if(this._font){let indicator=isSelected?"\u25B6 ":" ";this.frameBuffer.drawText(indicator,contentX+1,itemY,nameColor);let indicatorWidth=2;renderFontToFrameBuffer(this.frameBuffer,{text:option.name,x:contentX+1+indicatorWidth,y:itemY,color:nameColor,backgroundColor:isSelected?this._selectedBackgroundColor:bgColor,font:this._font}),descX=contentX+1+indicatorWidth}else this.frameBuffer.drawText(nameContent,contentX+1,itemY,nameColor);if(this._showDescription&&itemY+this.fontHeight<contentY+contentHeight){let descColor=isSelected?this._selectedDescriptionColor:this._descriptionColor;this.frameBuffer.drawText(option.description,descX,itemY+this.fontHeight,descColor)}}if(this._showScrollIndicator&&this._options.length>this.maxVisibleItems)this.renderScrollIndicatorToFrameBuffer(contentX,contentY,contentWidth,contentHeight)}renderScrollIndicatorToFrameBuffer(contentX,contentY,contentWidth,contentHeight){if(!this.frameBuffer)return;let scrollPercent=this._selectedIndex/Math.max(1,this._options.length-1),indicatorHeight=Math.max(1,contentHeight-2),indicatorY=contentY+1+Math.floor(scrollPercent*indicatorHeight),indicatorX=contentX+contentWidth-1;this.frameBuffer.drawText("\u2588",indicatorX,indicatorY,parseColor("#666666"))}get options(){return this._options}set options(options){this._options=options,this._selectedIndex=Math.min(this._selectedIndex,Math.max(0,options.length-1)),this.updateScrollOffset(),this.requestRender()}getSelectedOption(){return this._options[this._selectedIndex]||null}getSelectedIndex(){return this._selectedIndex}moveUp(steps=1){let newIndex=this._selectedIndex-steps;if(newIndex>=0)this._selectedIndex=newIndex;else if(this._wrapSelection&&this._options.length>0)this._selectedIndex=this._options.length-1;else this._selectedIndex=0;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}moveDown(steps=1){let newIndex=this._selectedIndex+steps;if(newIndex<this._options.length)this._selectedIndex=newIndex;else if(this._wrapSelection&&this._options.length>0)this._selectedIndex=0;else this._selectedIndex=this._options.length-1;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}selectCurrent(){let selected=this.getSelectedOption();if(selected)this.emit("itemSelected",this._selectedIndex,selected)}setSelectedIndex(index){if(index>=0&&index<this._options.length)this._selectedIndex=index,this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this._selectedIndex,this.getSelectedOption())}updateScrollOffset(){if(!this._options)return;let halfVisible=Math.floor(this.maxVisibleItems/2),newScrollOffset=Math.max(0,Math.min(this._selectedIndex-halfVisible,this._options.length-this.maxVisibleItems));if(newScrollOffset!==this.scrollOffset)this.scrollOffset=newScrollOffset,this.requestRender()}onResize(width,height){this.maxVisibleItems=Math.max(1,Math.floor(height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}handleKeyPress(key){let action=getKeyBindingAction(this._keyBindingsMap,key);if(action)switch(action){case"move-up":return this.moveUp(1),!0;case"move-down":return this.moveDown(1),!0;case"move-up-fast":return this.moveUp(this._fastScrollStep),!0;case"move-down-fast":return this.moveDown(this._fastScrollStep),!0;case"select-current":return this.selectCurrent(),!0}return!1}get showScrollIndicator(){return this._showScrollIndicator}set showScrollIndicator(show){this._showScrollIndicator=show,this.requestRender()}get showDescription(){return this._showDescription}set showDescription(show){if(this._showDescription!==show)this._showDescription=show,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}get wrapSelection(){return this._wrapSelection}set wrapSelection(wrap){this._wrapSelection=wrap}set backgroundColor(value){let newColor=parseColor(value??this._defaultOptions.backgroundColor);if(this._backgroundColor!==newColor)this._backgroundColor=newColor,this.requestRender()}set textColor(value){let newColor=parseColor(value??this._defaultOptions.textColor);if(this._textColor!==newColor)this._textColor=newColor,this.requestRender()}set focusedBackgroundColor(value){let newColor=parseColor(value??this._defaultOptions.focusedBackgroundColor);if(this._focusedBackgroundColor!==newColor)this._focusedBackgroundColor=newColor,this.requestRender()}set focusedTextColor(value){let newColor=parseColor(value??this._defaultOptions.focusedTextColor);if(this._focusedTextColor!==newColor)this._focusedTextColor=newColor,this.requestRender()}set selectedBackgroundColor(value){let newColor=parseColor(value??this._defaultOptions.selectedBackgroundColor);if(this._selectedBackgroundColor!==newColor)this._selectedBackgroundColor=newColor,this.requestRender()}set selectedTextColor(value){let newColor=parseColor(value??this._defaultOptions.selectedTextColor);if(this._selectedTextColor!==newColor)this._selectedTextColor=newColor,this.requestRender()}set descriptionColor(value){let newColor=parseColor(value??this._defaultOptions.descriptionColor);if(this._descriptionColor!==newColor)this._descriptionColor=newColor,this.requestRender()}set selectedDescriptionColor(value){let newColor=parseColor(value??this._defaultOptions.selectedDescriptionColor);if(this._selectedDescriptionColor!==newColor)this._selectedDescriptionColor=newColor,this.requestRender()}set font(font){this._font=font,this.fontHeight=measureText({text:"A",font:this._font}).height,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}set itemSpacing(spacing){this._itemSpacing=spacing,this.linesPerItem=this._showDescription?this._font?this.fontHeight+1:2:this._font?this.fontHeight:1,this.linesPerItem+=this._itemSpacing,this.maxVisibleItems=Math.max(1,Math.floor(this.height/this.linesPerItem)),this.updateScrollOffset(),this.requestRender()}set fastScrollStep(step){this._fastScrollStep=step}set keyBindings(bindings){this._keyBindings=bindings;let mergedBindings=mergeKeyBindings(defaultSelectKeybindings,bindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}set keyAliasMap(aliases){this._keyAliasMap=mergeKeyAliases(defaultKeyAliases,aliases);let mergedBindings=mergeKeyBindings(defaultSelectKeybindings,this._keyBindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}set selectedIndex(value){let newIndex=value??this._defaultOptions.selectedIndex,clampedIndex=this._options.length>0?Math.min(Math.max(0,newIndex),this._options.length-1):0;if(this._selectedIndex!==clampedIndex)this._selectedIndex=clampedIndex,this.updateScrollOffset(),this.requestRender()}}var defaultTabSelectKeybindings=[{name:"left",action:"move-left"},{name:"[",action:"move-left"},{name:"right",action:"move-right"},{name:"]",action:"move-right"},{name:"return",action:"select-current"},{name:"linefeed",action:"select-current"}],TabSelectRenderableEvents;((TabSelectRenderableEvents2)=>{TabSelectRenderableEvents2.SELECTION_CHANGED="selectionChanged",TabSelectRenderableEvents2.ITEM_SELECTED="itemSelected"})(TabSelectRenderableEvents||={});function calculateDynamicHeight(showUnderline,showDescription){let height=1;if(showUnderline)height+=1;if(showDescription)height+=1;return height}class TabSelectRenderable extends Renderable{_focusable=!0;_options=[];selectedIndex=0;scrollOffset=0;_tabWidth;maxVisibleTabs;_backgroundColor;_textColor;_focusedBackgroundColor;_focusedTextColor;_selectedBackgroundColor;_selectedTextColor;_selectedDescriptionColor;_showScrollArrows;_showDescription;_showUnderline;_wrapSelection;_keyBindingsMap;_keyAliasMap;_keyBindings;constructor(ctx,options){let calculatedHeight=calculateDynamicHeight(options.showUnderline??!0,options.showDescription??!0);super(ctx,{...options,height:calculatedHeight,buffered:!0});this._backgroundColor=parseColor(options.backgroundColor||"transparent"),this._textColor=parseColor(options.textColor||"#FFFFFF"),this._focusedBackgroundColor=parseColor(options.focusedBackgroundColor||options.backgroundColor||"#1a1a1a"),this._focusedTextColor=parseColor(options.focusedTextColor||options.textColor||"#FFFFFF"),this._options=options.options||[],this._tabWidth=options.tabWidth||20,this._showDescription=options.showDescription??!0,this._showUnderline=options.showUnderline??!0,this._showScrollArrows=options.showScrollArrows??!0,this._wrapSelection=options.wrapSelection??!1,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this._selectedBackgroundColor=parseColor(options.selectedBackgroundColor||"#334455"),this._selectedTextColor=parseColor(options.selectedTextColor||"#FFFF00"),this._selectedDescriptionColor=parseColor(options.selectedDescriptionColor||"#CCCCCC"),this._keyAliasMap=mergeKeyAliases(defaultKeyAliases,options.keyAliasMap||{}),this._keyBindings=options.keyBindings||[];let mergedBindings=mergeKeyBindings(defaultTabSelectKeybindings,this._keyBindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}calculateDynamicHeight(){return calculateDynamicHeight(this._showUnderline,this._showDescription)}renderSelf(buffer,deltaTime){if(!this.visible||!this.frameBuffer)return;if(this.isDirty)this.refreshFrameBuffer()}refreshFrameBuffer(){if(!this.frameBuffer)return;let bgColor=this._focused?this._focusedBackgroundColor:this._backgroundColor;if(this.frameBuffer.clear(bgColor),this._options.length===0)return;let contentX=0,contentY=0,contentWidth=this.width,contentHeight=this.height,visibleOptions=this._options.slice(this.scrollOffset,this.scrollOffset+this.maxVisibleTabs);for(let i=0;i<visibleOptions.length;i++){let actualIndex=this.scrollOffset+i,option=visibleOptions[i],isSelected=actualIndex===this.selectedIndex,tabX=contentX+i*this._tabWidth;if(tabX>=contentX+contentWidth)break;let actualTabWidth=Math.min(this._tabWidth,contentWidth-i*this._tabWidth);if(isSelected)this.frameBuffer.fillRect(tabX,contentY,actualTabWidth,1,this._selectedBackgroundColor);let baseTextColor=this._focused?this._focusedTextColor:this._textColor,nameColor=isSelected?this._selectedTextColor:baseTextColor,nameContent=this.truncateText(option.name,actualTabWidth-2);if(this.frameBuffer.drawText(nameContent,tabX+1,contentY,nameColor),isSelected&&this._showUnderline&&contentHeight>=2){let underlineY=contentY+1,underlineBg=isSelected?this._selectedBackgroundColor:bgColor;this.frameBuffer.drawText("\u25AC".repeat(actualTabWidth),tabX,underlineY,nameColor,underlineBg)}}if(this._showDescription&&contentHeight>=(this._showUnderline?3:2)){let selectedOption=this.getSelectedOption();if(selectedOption){let descriptionY=contentY+(this._showUnderline?2:1),descColor=this._selectedDescriptionColor,descContent=this.truncateText(selectedOption.description,contentWidth-2);this.frameBuffer.drawText(descContent,contentX+1,descriptionY,descColor)}}if(this._showScrollArrows&&this._options.length>this.maxVisibleTabs)this.renderScrollArrowsToFrameBuffer(contentX,contentY,contentWidth,contentHeight)}truncateText(text,maxWidth){if(text.length<=maxWidth)return text;return text.substring(0,Math.max(0,maxWidth-1))+"\u2026"}renderScrollArrowsToFrameBuffer(contentX,contentY,contentWidth,contentHeight){if(!this.frameBuffer)return;let hasMoreLeft=this.scrollOffset>0,hasMoreRight=this.scrollOffset+this.maxVisibleTabs<this._options.length;if(hasMoreLeft)this.frameBuffer.drawText("\u2039",contentX,contentY,parseColor("#AAAAAA"));if(hasMoreRight)this.frameBuffer.drawText("\u203A",contentX+contentWidth-1,contentY,parseColor("#AAAAAA"))}setOptions(options){this._options=options,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,options.length-1)),this.updateScrollOffset(),this.requestRender()}getSelectedOption(){return this._options[this.selectedIndex]||null}getSelectedIndex(){return this.selectedIndex}moveLeft(){if(this.selectedIndex>0)this.selectedIndex--;else if(this._wrapSelection&&this._options.length>0)this.selectedIndex=this._options.length-1;else return;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}moveRight(){if(this.selectedIndex<this._options.length-1)this.selectedIndex++;else if(this._wrapSelection&&this._options.length>0)this.selectedIndex=0;else return;this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}selectCurrent(){let selected=this.getSelectedOption();if(selected)this.emit("itemSelected",this.selectedIndex,selected)}setSelectedIndex(index){if(index>=0&&index<this._options.length)this.selectedIndex=index,this.updateScrollOffset(),this.requestRender(),this.emit("selectionChanged",this.selectedIndex,this.getSelectedOption())}updateScrollOffset(){let halfVisible=Math.floor(this.maxVisibleTabs/2),newScrollOffset=Math.max(0,Math.min(this.selectedIndex-halfVisible,this._options.length-this.maxVisibleTabs));if(newScrollOffset!==this.scrollOffset)this.scrollOffset=newScrollOffset,this.requestRender()}onResize(width,height){this.maxVisibleTabs=Math.max(1,Math.floor(width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}setTabWidth(tabWidth){if(this._tabWidth===tabWidth)return;this._tabWidth=tabWidth,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}getTabWidth(){return this._tabWidth}handleKeyPress(key){let action=getKeyBindingAction(this._keyBindingsMap,key);if(action)switch(action){case"move-left":return this.moveLeft(),!0;case"move-right":return this.moveRight(),!0;case"select-current":return this.selectCurrent(),!0}return!1}get options(){return this._options}set options(options){this._options=options,this.selectedIndex=Math.min(this.selectedIndex,Math.max(0,options.length-1)),this.updateScrollOffset(),this.requestRender()}set backgroundColor(color){this._backgroundColor=parseColor(color),this.requestRender()}set textColor(color){this._textColor=parseColor(color),this.requestRender()}set focusedBackgroundColor(color){this._focusedBackgroundColor=parseColor(color),this.requestRender()}set focusedTextColor(color){this._focusedTextColor=parseColor(color),this.requestRender()}set selectedBackgroundColor(color){this._selectedBackgroundColor=parseColor(color),this.requestRender()}set selectedTextColor(color){this._selectedTextColor=parseColor(color),this.requestRender()}set selectedDescriptionColor(color){this._selectedDescriptionColor=parseColor(color),this.requestRender()}get showDescription(){return this._showDescription}set showDescription(show){if(this._showDescription!==show){this._showDescription=show;let newHeight=this.calculateDynamicHeight();this.height=newHeight,this.requestRender()}}get showUnderline(){return this._showUnderline}set showUnderline(show){if(this._showUnderline!==show){this._showUnderline=show;let newHeight=this.calculateDynamicHeight();this.height=newHeight,this.requestRender()}}get showScrollArrows(){return this._showScrollArrows}set showScrollArrows(show){if(this._showScrollArrows!==show)this._showScrollArrows=show,this.requestRender()}get wrapSelection(){return this._wrapSelection}set wrapSelection(wrap){this._wrapSelection=wrap}get tabWidth(){return this._tabWidth}set tabWidth(tabWidth){if(this._tabWidth===tabWidth)return;this._tabWidth=tabWidth,this.maxVisibleTabs=Math.max(1,Math.floor(this.width/this._tabWidth)),this.updateScrollOffset(),this.requestRender()}set keyBindings(bindings){this._keyBindings=bindings;let mergedBindings=mergeKeyBindings(defaultTabSelectKeybindings,bindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}set keyAliasMap(aliases){this._keyAliasMap=mergeKeyAliases(defaultKeyAliases,aliases);let mergedBindings=mergeKeyBindings(defaultTabSelectKeybindings,this._keyBindings);this._keyBindingsMap=buildKeyBindingsMap(mergedBindings,this._keyAliasMap)}}class TimeToFirstDrawRenderable extends Renderable{_runtimeMs=null;textColor;label;precision;constructor(ctx,options={}){super(ctx,{width:"100%",height:1,flexShrink:0,alignSelf:"center",...options});this.textColor=parseColor(options.fg??"#AAAAAA"),this.label=options.label??"Time to first draw",this.precision=this.normalizePrecision(options.precision??2)}get runtimeMs(){return this._runtimeMs}set fg(value){this.textColor=parseColor(value),this.requestRender()}set color(value){this.fg=value}set textLabel(value){if(value===this.label)return;this.label=value,this.requestRender()}set decimals(value){let nextPrecision=this.normalizePrecision(value);if(nextPrecision===this.precision)return;this.precision=nextPrecision,this.requestRender()}reset(){this._runtimeMs=null,this.requestRender()}renderSelf(buffer){if(this._runtimeMs===null)this._runtimeMs=performance.now();let content=`${this.label}: ${this._runtimeMs.toFixed(this.precision)}ms`,maxWidth=Math.max(this.width,1),visibleContent=content.length>maxWidth?content.slice(0,maxWidth):content,centeredX=this.x+Math.max(0,Math.floor((maxWidth-visibleContent.length)/2));buffer.drawText(visibleContent,centeredX,this.y,this.textColor)}normalizePrecision(value){if(!Number.isFinite(value))return 2;return Math.max(0,Math.floor(value))}}var import_react=__toESM(require_react_production(),1);var import_react2=__toESM(require_react_production(),1),import_react3=__toESM(require_react_production(),1);var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment");function jsxProd(type,config,maybeKey){var key=null;if(maybeKey!==void 0&&(key=""+maybeKey),config.key!==void 0&&(key=""+config.key),"key"in config){maybeKey={};for(var propName in config)propName!=="key"&&(maybeKey[propName]=config[propName])}else maybeKey=config;return config=maybeKey.ref,{$$typeof:REACT_ELEMENT_TYPE,type,key,ref:config!==void 0?config:null,props:maybeKey}}var $Fragment=REACT_FRAGMENT_TYPE,$jsx=jsxProd,$jsxs=jsxProd;var jsxDEV=$jsx;var import_react_reconciler=__toESM(require_react_reconciler_production(),1);var $ConcurrentRoot=1;var $DefaultEventPriority=32;var $NoEventPriority=0;var import_react4=__toESM(require_react_production(),1);var textNodeKeys=["span","b","strong","i","em","u","br","a"];class SpanRenderable extends TextNodeRenderable{ctx;constructor(ctx,options){super(options);this.ctx=ctx}}class TextModifierRenderable extends SpanRenderable{constructor(options,modifier){super(null,options);if(modifier==="b"||modifier==="strong")this.attributes=(this.attributes||0)|TextAttributes.BOLD;else if(modifier==="i"||modifier==="em")this.attributes=(this.attributes||0)|TextAttributes.ITALIC;else if(modifier==="u")this.attributes=(this.attributes||0)|TextAttributes.UNDERLINE}}class BoldSpanRenderable extends TextModifierRenderable{constructor(_ctx,options){super(options,"b")}}class ItalicSpanRenderable extends TextModifierRenderable{constructor(_ctx,options){super(options,"i")}}class UnderlineSpanRenderable extends TextModifierRenderable{constructor(_ctx,options){super(options,"u")}}class LineBreakRenderable extends SpanRenderable{constructor(_ctx,options){super(null,options);this.add()}add(){return super.add(`
3665
+ `)}}class LinkRenderable extends SpanRenderable{constructor(_ctx,options){let linkOptions={...options,link:{url:options.href}};super(null,linkOptions)}}var baseComponents={box:BoxRenderable,text:TextRenderable,code:CodeRenderable,diff:DiffRenderable,markdown:MarkdownRenderable,input:InputRenderable,select:SelectRenderable,textarea:TextareaRenderable,scrollbox:ScrollBoxRenderable,"ascii-font":ASCIIFontRenderable,"tab-select":TabSelectRenderable,"line-number":LineNumberRenderable,span:SpanRenderable,br:LineBreakRenderable,b:BoldSpanRenderable,strong:BoldSpanRenderable,i:ItalicSpanRenderable,em:ItalicSpanRenderable,u:UnderlineSpanRenderable,a:LinkRenderable},componentCatalogue={...baseComponents};function extend(objects){Object.assign(componentCatalogue,objects)}function getComponentCatalogue(){return componentCatalogue}var AppContext=import_react.createContext({keyHandler:null,renderer:null}),useAppContext=()=>{return import_react.useContext(AppContext)};class ErrorBoundary extends import_react3.default.Component{constructor(props){super(props);this.state={hasError:!1,error:null}}static getDerivedStateFromError(error){return{hasError:!0,error}}render(){if(this.state.hasError&&this.state.error)return jsxDEV("box",{style:{flexDirection:"column",padding:2},children:jsxDEV("text",{fg:"red",children:this.state.error.stack||this.state.error.message},void 0,!1,void 0,this)},void 0,!1,void 0,this);return this.props.children}}var package_default={name:"@opentui/react",version:"0.2.2",description:"React renderer for building terminal user interfaces using OpenTUI core",license:"MIT",repository:{type:"git",url:"https://github.com/anomalyco/opentui",directory:"packages/react"},module:"src/index.ts",type:"module",private:!0,main:"src/index.ts",exports:{".":{import:"./src/index.ts",types:"./src/index.ts"},"./test-utils":{import:"./src/test-utils.ts",types:"./src/test-utils.d.ts"},"./runtime-plugin-support":{import:"./scripts/runtime-plugin-support.ts",types:"./scripts/runtime-plugin-support.ts"},"./runtime-plugin-support/configure":{import:"./scripts/runtime-plugin-support-configure.ts",types:"./scripts/runtime-plugin-support-configure.ts"},"./jsx-runtime":{import:"./jsx-runtime.js",types:"./jsx-runtime.d.ts"},"./jsx-dev-runtime":{import:"./jsx-dev-runtime.js",types:"./jsx-dev-runtime.d.ts"}},scripts:{build:"bun run scripts/build.ts","build:examples":"bun examples/build.ts","build:dev":"bun run scripts/build.ts --dev",publish:"bun run scripts/publish.ts",test:"bun test"},devDependencies:{"@opentui/keymap":"workspace:*","@types/bun":"latest","@types/node":"^24.0.0","@types/react":"^19.0.0","@types/react-reconciler":"^0.32.0","@types/ws":"^8.18.1",react:">=19.0.0","react-devtools-core":"^7.0.1",typescript:"^5",ws:"^8.18.0"},peerDependencies:{react:">=19.0.0","react-devtools-core":"^7.0.1",ws:"^8.18.0"},peerDependenciesMeta:{"react-devtools-core":{optional:!0},ws:{optional:!0}},dependencies:{"@opentui/core":"workspace:*","react-reconciler":"^0.32.0"}},idCounter=new Map;function getNextId(type){if(!idCounter.has(type))idCounter.set(type,0);let value=idCounter.get(type)+1;return idCounter.set(type,value),`${type}-${value}`}function initEventListeners(instance,eventName,listener,previousListener){if(previousListener)instance.off(eventName,previousListener);if(listener)instance.on(eventName,listener)}function setStyle(instance,styles,oldStyles){if(oldStyles!=null&&typeof oldStyles==="object"){for(let styleName in oldStyles)if(oldStyles.hasOwnProperty(styleName)){if(styles==null||!styles.hasOwnProperty(styleName))instance[styleName]=null}}if(styles!=null&&typeof styles==="object"){for(let styleName in styles)if(styles.hasOwnProperty(styleName)){let value=styles[styleName],oldValue=oldStyles?.[styleName];if(value!==oldValue)instance[styleName]=value}}}function setProperty(instance,type,propKey,propValue,oldPropValue){switch(propKey){case"onChange":if(instance instanceof InputRenderable)initEventListeners(instance,InputRenderableEvents.CHANGE,propValue,oldPropValue);else if(instance instanceof SelectRenderable)initEventListeners(instance,SelectRenderableEvents.SELECTION_CHANGED,propValue,oldPropValue);else if(instance instanceof TabSelectRenderable)initEventListeners(instance,TabSelectRenderableEvents.SELECTION_CHANGED,propValue,oldPropValue);break;case"onInput":if(instance instanceof InputRenderable)initEventListeners(instance,InputRenderableEvents.INPUT,propValue,oldPropValue);break;case"onSubmit":if(instance instanceof InputRenderable)initEventListeners(instance,InputRenderableEvents.ENTER,propValue,oldPropValue);else if(instance instanceof TextareaRenderable)instance.onSubmit=propValue;break;case"onSelect":if(instance instanceof SelectRenderable)initEventListeners(instance,SelectRenderableEvents.ITEM_SELECTED,propValue,oldPropValue);else if(instance instanceof TabSelectRenderable)initEventListeners(instance,TabSelectRenderableEvents.ITEM_SELECTED,propValue,oldPropValue);break;case"focused":if(isRenderable(instance))if(propValue)instance.focus();else instance.blur();break;case"style":setStyle(instance,propValue,oldPropValue);break;case"children":break;default:instance[propKey]=propValue}}function setInitialProperties(instance,type,props){for(let propKey in props){if(!props.hasOwnProperty(propKey))continue;let propValue=props[propKey];if(propValue==null)continue;setProperty(instance,type,propKey,propValue)}}function updateProperties(instance,type,oldProps,newProps){for(let propKey in oldProps){let oldProp=oldProps[propKey];if(oldProps.hasOwnProperty(propKey)&&oldProp!=null&&!newProps.hasOwnProperty(propKey))setProperty(instance,type,propKey,null,oldProp)}for(let propKey in newProps){let newProp=newProps[propKey],oldProp=oldProps[propKey];if(newProps.hasOwnProperty(propKey)&&newProp!==oldProp&&(newProp!=null||oldProp!=null))setProperty(instance,type,propKey,newProp,oldProp)}}var currentUpdatePriority=$NoEventPriority,hostConfig={supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,createInstance(type,props,rootContainerInstance,hostContext){if(textNodeKeys.includes(type)&&!hostContext.isInsideText)throw Error(`Component of type "${type}" must be created inside of a text node`);let id=getNextId(type),components=getComponentCatalogue();if(!components[type])throw Error(`Unknown component type: ${type}`);return new components[type](rootContainerInstance.ctx,{id,...props})},appendChild(parent,child){parent.add(child)},removeChild(parent,child){parent.remove(child.id)},insertBefore(parent,child,beforeChild){parent.insertBefore(child,beforeChild)},insertInContainerBefore(parent,child,beforeChild){parent.insertBefore(child,beforeChild)},removeChildFromContainer(parent,child){parent.remove(child.id)},prepareForCommit(containerInfo){return null},resetAfterCommit(containerInfo){containerInfo.requestRender()},getRootHostContext(rootContainerInstance){return{isInsideText:!1}},getChildHostContext(parentHostContext,type,rootContainerInstance){let isInsideText=["text",...textNodeKeys].includes(type);return{...parentHostContext,isInsideText}},shouldSetTextContent(type,props){return!1},createTextInstance(text,rootContainerInstance,hostContext){if(!hostContext.isInsideText)throw Error("Text must be created inside of a text node");return TextNodeRenderable.fromString(text)},scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,shouldAttemptEagerTransition(){return!1},finalizeInitialChildren(instance,type,props,rootContainerInstance,hostContext){return setInitialProperties(instance,type,props),!1},commitMount(instance,type,props,internalInstanceHandle){},commitUpdate(instance,type,oldProps,newProps,internalInstanceHandle){updateProperties(instance,type,oldProps,newProps),instance.requestRender()},commitTextUpdate(textInstance,oldText,newText){textInstance.children=[newText],textInstance.requestRender()},appendChildToContainer(container,child){container.add(child)},appendInitialChild(parent,child){parent.add(child)},hideInstance(instance){instance.visible=!1,instance.requestRender()},unhideInstance(instance,props){instance.visible=!0,instance.requestRender()},hideTextInstance(textInstance){textInstance.visible=!1,textInstance.requestRender()},unhideTextInstance(textInstance,text){textInstance.visible=!0,textInstance.requestRender()},clearContainer(container){container.getChildren().forEach((child)=>container.remove(child.id))},setCurrentUpdatePriority(newPriority){currentUpdatePriority=newPriority},getCurrentUpdatePriority:()=>currentUpdatePriority,resolveUpdatePriority(){if(currentUpdatePriority!==$NoEventPriority)return currentUpdatePriority;return $DefaultEventPriority},maySuspendCommit(){return!1},NotPendingTransition:null,HostTransitionContext:import_react4.createContext(null),resetFormInstance(){},requestPostPaintCallback(){},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},detachDeletedInstance(instance){if(!instance.parent)instance.destroyRecursively()},getPublicInstance(instance){return instance},preparePortalMount(containerInfo){},isPrimaryRenderer:!0,getInstanceFromNode(){return null},beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},prepareScopeUpdate(){},getInstanceFromScope(){return null},rendererPackageName:"@opentui/react",rendererVersion:package_default.version},reconciler=import_react_reconciler.default(hostConfig);reconciler.injectIntoDevTools();function _render(element,root){let container=reconciler.createContainer(root,$ConcurrentRoot,null,!1,null,"",console.error,console.error,console.error,console.error,null);return reconciler.updateContainer(element,container,null,()=>{}),container}var _r=reconciler,flushSync=_r.flushSyncFromReconciler??_r.flushSync;function createRoot(renderer){let container=null,cleanup=()=>{if(container)reconciler.updateContainer(null,container,null,()=>{}),reconciler.flushSyncWork(),container=null};return renderer.once(CliRenderEvents.DESTROY,cleanup),{render:(node)=>{engine.attach(renderer),container=_render(import_react2.default.createElement(AppContext.Provider,{value:{keyHandler:renderer.keyInput,renderer}},import_react2.default.createElement(ErrorBoundary,null,node)),renderer.root)},unmount:cleanup}}var import_react5=__toESM(require_react_production(),1),import_react6=__toESM(require_react_production(),1),import_react7=__toESM(require_react_production(),1),import_react8=__toESM(require_react_production(),1);var import_react9=__toESM(require_react_production(),1);var import_react10=__toESM(require_react_production(),1);var import_react11=__toESM(require_react_production(),1),import_react12=__toESM(require_react_production(),1);function useEffectEvent(handler){let handlerRef=import_react6.useRef(handler);return import_react6.useLayoutEffect(()=>{handlerRef.current=handler}),import_react6.useCallback((...args)=>{let fn=handlerRef.current;return fn(...args)},[])}var useKeyboard=(handler,options={release:!1})=>{let{keyHandler}=useAppContext(),stableHandler=useEffectEvent(handler);import_react5.useEffect(()=>{if(keyHandler?.on("keypress",stableHandler),options?.release)keyHandler?.on("keyrelease",stableHandler);return()=>{if(keyHandler?.off("keypress",stableHandler),options?.release)keyHandler?.off("keyrelease",stableHandler)}},[keyHandler,options.release])},useRenderer=()=>{let{renderer}=useAppContext();if(!renderer)throw Error("Renderer not found.");return renderer},useOnResize=(callback)=>{let renderer=useRenderer(),stableCallback=useEffectEvent(callback);return import_react7.useEffect(()=>{return renderer.on("resize",stableCallback),()=>{renderer.off("resize",stableCallback)}},[renderer]),renderer},useTerminalDimensions=()=>{let renderer=useRenderer(),[dimensions,setDimensions]=import_react8.useState({width:renderer.width,height:renderer.height});return useOnResize((width,height)=>{setDimensions({width,height})}),dimensions};function createReactSlotRegistry(renderer,context,options={}){return createSlotRegistry(renderer,"react:slot-registry",context,options)}function renderPluginFailurePlaceholder(registry,pluginFailurePlaceholder,failure,pluginId,slot){if(!pluginFailurePlaceholder)return null;try{return pluginFailurePlaceholder(failure)}catch(error){return registry.reportPluginError({pluginId,slot,phase:"error_placeholder",source:"react",error}),null}}class PluginErrorBoundary extends import_react10.default.Component{constructor(props){super(props);this.state={failure:null}}componentDidCatch(error){let failure=this.props.registry.reportPluginError({pluginId:this.props.pluginId,slot:this.props.slotName,phase:"render",source:"react",error});this.setState({failure})}componentDidUpdate(previousProps){if(previousProps.resetToken!==this.props.resetToken&&this.state.failure)this.setState({failure:null})}render(){if(this.state.failure){let placeholder=renderPluginFailurePlaceholder(this.props.registry,this.props.pluginFailurePlaceholder,this.state.failure,this.props.pluginId,this.props.slotName);if(placeholder===null||placeholder===void 0||placeholder===!1)return this.props.fallbackOnFailure??null;return placeholder}return this.props.children}}function getSlotProps(props){let{children:_children,mode:_mode,name:_name,registry:_registry,pluginFailurePlaceholder:_pluginFailurePlaceholder,...slotProps}=props;return slotProps}function createSlot(registry,options={}){return function(props){return jsxDEV(Slot,{...props,registry,pluginFailurePlaceholder:options.pluginFailurePlaceholder},void 0,!1,void 0,this)}}function Slot(props){let[version,setVersion]=import_react10.useState(0),registry=props.registry,slotName=String(props.name),renderFailuresByPluginRef=import_react10.useRef(new Map),pendingRenderReportsRef=import_react10.useRef(new Map);import_react10.useEffect(()=>{return registry.subscribe(()=>{setVersion((current)=>current+1)})},[registry]),import_react10.useEffect(()=>{if(pendingRenderReportsRef.current.size===0)return;let pendingReports=[...pendingRenderReportsRef.current.values()];pendingRenderReportsRef.current.clear();for(let report of pendingReports){let failure=registry.reportPluginError({pluginId:report.pluginId,slot:report.slot,phase:"render",source:"react",error:report.error});renderFailuresByPluginRef.current.set(`${report.slot}:${report.pluginId}:render`,failure)}});let entries=import_react10.useMemo(()=>registry.resolveEntries(props.name),[registry,props.name,version]),slotProps=getSlotProps(props),renderEntry=(entry,fallbackOnFailure)=>{let key=`${slotName}:${entry.id}`,failureKey=`${slotName}:${entry.id}:render`;try{let rendered=entry.renderer(registry.context,slotProps);return renderFailuresByPluginRef.current.delete(failureKey),pendingRenderReportsRef.current.delete(failureKey),jsxDEV(PluginErrorBoundary,{registry,pluginFailurePlaceholder:props.pluginFailurePlaceholder,pluginId:entry.id,slotName,resetToken:version,fallbackOnFailure,children:rendered},key,!1,void 0,this)}catch(error){let normalizedError=error instanceof Error?error:typeof error==="string"?Error(error):Error(String(error)),lastFailure=renderFailuresByPluginRef.current.get(failureKey),isSameFailure=lastFailure&&lastFailure.error.message===normalizedError.message;if(!isSameFailure){let queued=pendingRenderReportsRef.current.get(failureKey);if(!queued||queued.error.message!==normalizedError.message)pendingRenderReportsRef.current.set(failureKey,{pluginId:entry.id,slot:slotName,error:normalizedError})}let failure=isSameFailure&&lastFailure?lastFailure:{pluginId:entry.id,slot:slotName,phase:"render",source:"react",error:normalizedError,timestamp:Date.now()};renderFailuresByPluginRef.current.set(failureKey,failure);let placeholder=renderPluginFailurePlaceholder(registry,props.pluginFailurePlaceholder,failure,entry.id,slotName);if(placeholder===null||placeholder===void 0||placeholder===!1)return fallbackOnFailure??null;return jsxDEV(import_react10.Fragment,{children:placeholder},key,!1,void 0,this)}};if(entries.length===0)return jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);if(props.mode==="single_winner"){let winner=entries[0];if(!winner)return jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);let rendered=renderEntry(winner,props.children);if(rendered===null||rendered===void 0||rendered===!1)return jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);return jsxDEV($Fragment,{children:rendered},void 0,!1,void 0,this)}if(props.mode==="replace"){if(entries.length===1){let rendered=renderEntry(entries[0],props.children);if(rendered===null||rendered===void 0||rendered===!1)return jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);return jsxDEV($Fragment,{children:rendered},void 0,!1,void 0,this)}let renderedEntries=entries.map((entry)=>renderEntry(entry));if(!renderedEntries.some((node)=>node!==null&&node!==void 0&&node!==!1))return jsxDEV($Fragment,{children:props.children},void 0,!1,void 0,this);return jsxDEV($Fragment,{children:renderedEntries},void 0,!1,void 0,this)}return jsxDEV($Fragment,{children:[props.children,entries.map((entry)=>renderEntry(entry))]},void 0,!0,void 0,this)}extend({"time-to-first-draw":TimeToFirstDrawRenderable});init_perf();var import_react131=__toESM(require_react_production(),1);var INTERP_RE=/\{!(.+?)\}/g,hasInterp=(s)=>/\{!.+?\}/.test(s);async function interpolate(gw,text){let hits=[...text.matchAll(INTERP_RE)];if(hits.length===0)return text;let outs=await Promise.all(hits.map((m2)=>gw.request("shell.exec",{command:m2[1]}).then((r)=>[r.stdout,r.stderr].filter(Boolean).join(`
3666
3666
  `).trim()).catch(()=>"(error)"))),out=text;for(let i=hits.length-1;i>=0;i--){let m2=hits[i];out=out.slice(0,m2.index)+outs[i]+out.slice(m2.index+m2[0].length)}return out}var import_react13=__toESM(require_react_production(),1);import{EventEmitter as EventEmitter10}from"events";import{homedir}from"os";import{resolve as resolve5,delimiter}from"path";import{existsSync as existsSync3}from"fs";var LOG_MAX=200,LOG_PREVIEW=240,STARTUP_MS=15000,REQUEST_MS=120000;function hermesAgentRoot(){if(process.env.HERMES_AGENT_ROOT)return process.env.HERMES_AGENT_ROOT;return`${process.env.HOME||homedir()}/.hermes/hermes-agent`}function python(root,platform=process.platform){let env2=process.env.HERMES_PYTHON?.trim();if(env2)return env2;let venv=process.env.VIRTUAL_ENV?.trim();return(platform==="win32"?[venv&&resolve5(venv,"Scripts","python.exe"),resolve5(root,"venv","Scripts","python.exe"),resolve5(root,".venv","Scripts","python.exe")]:[venv&&resolve5(venv,"bin","python"),venv&&resolve5(venv,"bin","python3"),resolve5(root,"venv","bin","python"),resolve5(root,"venv","bin","python3"),resolve5(root,".venv","bin","python"),resolve5(root,".venv","bin","python3")]).find((p)=>p&&existsSync3(p))||(platform==="win32"?"python":"python3")}function asEvent(v2){if(v2&&typeof v2==="object"&&!Array.isArray(v2)&&typeof v2.type==="string")return v2;return null}async function lines(stream,cb){let reader=stream.getReader(),decoder2=new TextDecoder,buf="";try{while(!0){let{done,value}=await reader.read();if(done)break;buf+=decoder2.decode(value,{stream:!0});let parts=buf.split(`
3667
3667
  `);buf=parts.pop()||"";for(let line of parts)if(line)cb(line)}if(buf.trim())cb(buf)}catch{}}class GatewayClient extends EventEmitter10{proc=null;id=0;logs=[];pending=new Map;buf=[];exit;ok=!1;timer=null;sub=!1;root(){return hermesAgentRoot()}push(ev){if(ev.type==="gateway.ready"){if(this.ok=!0,this.timer)clearTimeout(this.timer),this.timer=null}if(this.sub)return void this.emit("event",ev);this.buf.push(ev)}log(line){if(this.logs.push(line)>LOG_MAX)this.logs.splice(0,this.logs.length-LOG_MAX)}dispatch(msg){let id=msg.id,p=id?this.pending.get(id):void 0;if(p){if(this.pending.delete(id),msg.error){let err=msg.error;p.reject(Error(typeof err?.message==="string"?err.message:"request failed"))}else p.resolve(msg.result);return}if(msg.method==="event"){let ev=asEvent(msg.params);if(ev)this.push(ev)}}fail(err){for(let p of this.pending.values())p.reject(err);this.pending.clear()}start(){let root=this.root(),bin=python(root),cwd=process.env.HERMES_CWD||process.cwd(),env2={...process.env};if(!env2.TERMINAL_CWD)env2.TERMINAL_CWD=cwd;let pp=env2.PYTHONPATH?.trim();if(env2.PYTHONPATH=pp?`${root}${delimiter}${pp}`:root,this.ok=!1,this.buf=[],this.exit=void 0,this.proc)try{this.proc.kill()}catch{}if(this.timer)clearTimeout(this.timer);this.timer=setTimeout(()=>{if(this.ok)return;this.log(`[startup] timed out (python=${bin}, cwd=${cwd})`),this.push({type:"gateway.start_timeout",payload:{cwd,python:bin}})},STARTUP_MS);let proc=Bun.spawn([bin,"-u","-m","tui_gateway.entry"],{cwd,env:env2,stdin:"pipe",stdout:"pipe",stderr:"pipe"});if(this.proc=proc,this.proc.stdout)lines(this.proc.stdout,(raw)=>{try{this.dispatch(JSON.parse(raw))}catch{let preview=raw.trim().slice(0,LOG_PREVIEW)||"(empty)";this.log(`[protocol] malformed: ${preview}`),this.push({type:"gateway.protocol_error",payload:{preview}})}});if(this.proc.stderr)lines(this.proc.stderr,(raw)=>{let line=raw.trim();if(!line)return;this.log(line),this.push({type:"gateway.stderr",payload:{line}})});proc.exited.then((code)=>{if(this.proc!==proc)return;if(this.timer)clearTimeout(this.timer),this.timer=null;if(this.fail(Error(`gateway exited${code===null?"":` (${code})`}`)),this.sub)this.emit("exit",code);else this.exit=code})}drain(){if(this.sub)return;this.sub=!0;for(let ev of this.buf.splice(0))this.emit("event",ev);if(this.exit!==void 0){let code=this.exit;this.exit=void 0,this.emit("exit",code)}}tail(n=20){return this.logs.slice(-Math.max(1,n)).join(`
3668
3668
  `)}sid="";setSession(sid){this.sid=sid}request(method,params={}){if(!this.proc||this.proc.exitCode!==null)this.start();let stdin=this.proc?.stdin;if(!stdin||typeof stdin==="number")return Promise.reject(Error("gateway not running"));let rid=`r${++this.id}`,writer=stdin,merged=this.sid&&params.session_id===void 0?{session_id:this.sid,...params}:params;return new Promise((resolve4,reject)=>{let timeout=setTimeout(()=>{if(this.pending.delete(rid))reject(Error(`timeout: ${method}`))},REQUEST_MS);this.pending.set(rid,{reject:(e)=>{clearTimeout(timeout),reject(e)},resolve:(v2)=>{clearTimeout(timeout),resolve4(v2)}});try{writer.write(JSON.stringify({jsonrpc:"2.0",id:rid,method,params:merged})+`
3669
- `)}catch(e){clearTimeout(timeout),this.pending.delete(rid),reject(e instanceof Error?e:Error(String(e)))}})}kill(){this.proc?.kill()}get ready(){return this.ok}}var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_FRAGMENT_TYPE2=Symbol.for("react.fragment");function jsxProd(type,config,maybeKey){var key=null;if(maybeKey!==void 0&&(key=""+maybeKey),config.key!==void 0&&(key=""+config.key),"key"in config){maybeKey={};for(var propName in config)propName!=="key"&&(maybeKey[propName]=config[propName])}else maybeKey=config;return config=maybeKey.ref,{$$typeof:REACT_ELEMENT_TYPE,type,key,ref:config!==void 0?config:null,props:maybeKey}}var $Fragment2=REACT_FRAGMENT_TYPE2,$jsx=jsxProd,$jsxs=jsxProd;var Gw=import_react13.createContext(null),GatewayProvider=({client,children})=>{let ref=import_react13.useRef(null);if(!ref.current)ref.current=client??new GatewayClient;let[ready,setReady]=import_react13.useState(ref.current.ready);import_react13.useEffect(()=>{let c=ref.current,onEvent=(ev)=>{if(ev.type==="gateway.ready"||ev.type==="session.info")setReady(!0)};return c.on("event",onEvent),c.start(),c.drain(),()=>{c.off("event",onEvent),c.removeAllListeners(),c.kill()}},[]);let restart=import_react13.useCallback(()=>{setReady(!1),ref.current.start()},[]),value=import_react13.useMemo(()=>({client:ref.current,ready,restart}),[ready,restart]);return $jsx(Gw.Provider,{value,children})};function useGateway(){let ctx=import_react13.useContext(Gw);if(!ctx)throw Error("useGateway() must be inside <GatewayProvider>");return ctx.client}function useGatewayEvent(handler){let ctx=import_react13.useContext(Gw);if(!ctx)throw Error("useGatewayEvent() must be inside <GatewayProvider>");let ref=import_react13.useRef(handler);ref.current=handler,import_react13.useEffect(()=>{let c=ctx.client,fn=(ev)=>ref.current(ev);return c.on("event",fn),c.drain(),()=>{c.off("event",fn)}},[ctx.client])}function useGatewayReady(){let ctx=import_react13.useContext(Gw);if(!ctx)throw Error("useGatewayReady() must be inside <GatewayProvider>");return ctx.ready}function useGatewayRestart(){let ctx=import_react13.useContext(Gw);if(!ctx)throw Error("useGatewayRestart() must be inside <GatewayProvider>");return ctx.restart}function text(msg){return msg.parts.filter((p)=>p.type==="text").map((p)=>p.content).join("")}function mid(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var pn=0;function pid(){return`p${++pn}`}var import_react22=__toESM(require_react_production(),1);var import_react21=__toESM(require_react_production(),1);var import_react18=__toESM(require_react_production(),1);var import_react16=__toESM(require_react_production(),1);var import_react14=__toESM(require_react_production(),1);function makeUse(ctx,name){return()=>{let v2=import_react14.useContext(ctx);if(v2===null)throw Error(`${name}() must be used inside its provider`);return v2}}function resolveTheme(theme,mode){let defs=theme.defs??{};function resolve4(c,chain=[]){if(c instanceof RGBA)return c;if(typeof c==="string"){if(c==="transparent"||c==="none")return RGBA.fromInts(0,0,0,0);if(c.startsWith("#"))return RGBA.fromHex(c);if(chain.includes(c))throw Error(`Circular color reference: ${[...chain,c].join(" -> ")}`);let next=defs[c]??theme.theme[c];if(next===void 0)throw Error(`Color reference "${c}" not found in defs or theme`);return resolve4(next,[...chain,c])}if(typeof c==="number")return ansiToRgba(c);return resolve4(c[mode],chain)}let resolved=Object.fromEntries(Object.entries(theme.theme).filter(([key])=>key!=="selectedListItemText"&&key!=="backgroundMenu"&&key!=="thinkingOpacity").map(([key,value])=>[key,resolve4(value)])),hasList=theme.theme.selectedListItemText!==void 0;resolved.selectedListItemText=hasList?resolve4(theme.theme.selectedListItemText):resolved.background,resolved.backgroundMenu=theme.theme.backgroundMenu!==void 0?resolve4(theme.theme.backgroundMenu):resolved.backgroundElement;let base={...resolved,_hasSelectedListItemText:hasList,thinkingOpacity:theme.theme.thinkingOpacity??0.6},herm=resolveHermTokens(resolved.accent);return{...base,...herm}}function resolveHermTokens(accent){return{hermAvatar:accent}}function ansiToRgba(code){if(code<16){let colors=["#000000","#800000","#008000","#808000","#000080","#800080","#008080","#c0c0c0","#808080","#ff0000","#00ff00","#ffff00","#0000ff","#ff00ff","#00ffff","#ffffff"];return RGBA.fromHex(colors[code]??"#000000")}if(code<232){let idx=code-16,val=(x2)=>x2===0?0:x2*40+55;return RGBA.fromInts(val(Math.floor(idx/36)),val(Math.floor(idx/6)%6),val(idx%6))}if(code<256){let gray=(code-232)*10+8;return RGBA.fromInts(gray,gray,gray)}return RGBA.fromInts(0,0,0)}var ares_default={$schema:"https://opencode.ai/theme.json",defs:{aresBgDark:"#2A1212",aresPanelDark:"#351717",aresElemDark:"#3F1B1B",aresTextDark:"#F1E6CF",aresMutedDark:"#6E584B",aresPrimaryDark:"#C7A96B",aresAccentDark:"#DD4A3A",aresSecondaryDark:"#C7A96B",aresBorderDark:"#9F1C1C",aresBorderSubtleDark:"#6E584B",aresBgLight:"#F8F8F8",aresPanelLight:"#EFEFEF",aresElemLight:"#E4E4E4",aresTextLight:"#1A1A1A",aresMutedLight:"#5A5A5A",aresPrimaryLight:"#8D7035",aresAccentLight:"#DD4A3A",aresSecondaryLight:"#8D7035",aresBorderLight:"#D0D0D0",aresBorderSubtleLight:"#E0E0E0",aresOkDark:"#4caf50",aresErrorDark:"#ef5350",aresWarnDark:"#ffa726",aresOkLight:"#4caf50",aresErrorLight:"#ef5350",aresWarnLight:"#A56200"},theme:{primary:{dark:"aresPrimaryDark",light:"aresPrimaryLight"},secondary:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},accent:{dark:"aresAccentDark",light:"aresAccentLight"},error:{dark:"aresErrorDark",light:"aresErrorLight"},warning:{dark:"aresWarnDark",light:"aresWarnLight"},success:{dark:"aresOkDark",light:"aresOkLight"},info:{dark:"aresAccentDark",light:"aresAccentLight"},text:{dark:"aresTextDark",light:"aresTextLight"},textMuted:{dark:"aresMutedDark",light:"aresMutedLight"},background:{dark:"aresBgDark",light:"aresBgLight"},backgroundPanel:{dark:"aresPanelDark",light:"aresPanelLight"},backgroundElement:{dark:"aresElemDark",light:"aresElemLight"},border:{dark:"aresBorderDark",light:"aresBorderLight"},borderActive:{dark:"aresAccentDark",light:"aresAccentLight"},borderSubtle:{dark:"aresBorderSubtleDark",light:"aresBorderSubtleLight"},diffAdded:{dark:"aresOkDark",light:"aresOkLight"},diffRemoved:{dark:"aresErrorDark",light:"aresErrorLight"},diffContext:{dark:"aresMutedDark",light:"aresMutedLight"},diffHunkHeader:{dark:"aresMutedDark",light:"aresMutedLight"},diffHighlightAdded:{dark:"aresOkDark",light:"aresOkLight"},diffHighlightRemoved:{dark:"aresErrorDark",light:"aresErrorLight"},diffAddedBg:{dark:"#302E1D",light:"#DEEDDF"},diffRemovedBg:{dark:"#4D1E1D",light:"#F7DFDF"},diffContextBg:{dark:"aresPanelDark",light:"aresPanelLight"},diffLineNumber:{dark:"aresMutedDark",light:"aresMutedLight"},diffAddedLineNumberBg:{dark:"#2D2218",light:"#EAF2EB"},diffRemovedLineNumberBg:{dark:"#3E1818",light:"#F7EBEB"},markdownText:{dark:"aresTextDark",light:"aresTextLight"},markdownHeading:{dark:"aresPrimaryDark",light:"aresPrimaryLight"},markdownLink:{dark:"aresAccentDark",light:"aresAccentLight"},markdownLinkText:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},markdownCode:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},markdownBlockQuote:{dark:"aresMutedDark",light:"aresMutedLight"},markdownEmph:{dark:"aresAccentDark",light:"aresAccentLight"},markdownStrong:{dark:"aresPrimaryDark",light:"aresPrimaryLight"},markdownHorizontalRule:{dark:"aresBorderDark",light:"aresBorderLight"},markdownListItem:{dark:"aresTextDark",light:"aresTextLight"},markdownListEnumeration:{dark:"aresAccentDark",light:"aresAccentLight"},markdownImage:{dark:"aresAccentDark",light:"aresAccentLight"},markdownImageText:{dark:"aresMutedDark",light:"aresMutedLight"},markdownCodeBlock:{dark:"aresTextDark",light:"aresTextLight"},syntaxComment:{dark:"aresMutedDark",light:"aresMutedLight"},syntaxKeyword:{dark:"aresAccentDark",light:"aresAccentLight"},syntaxFunction:{dark:"aresPrimaryDark",light:"aresPrimaryLight"},syntaxVariable:{dark:"aresTextDark",light:"aresTextLight"},syntaxString:{dark:"aresOkDark",light:"aresOkLight"},syntaxNumber:{dark:"aresAccentDark",light:"aresAccentLight"},syntaxType:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},syntaxOperator:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},syntaxPunctuation:{dark:"aresTextDark",light:"aresTextLight"}}};var aura_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0f0f0f",darkBgPanel:"#15141b",darkBorder:"#2d2d2d",darkFgMuted:"#6d6d6d",darkFg:"#edecee",purple:"#a277ff",pink:"#f694ff",blue:"#82e2ff",red:"#ff6767",orange:"#ffca85",cyan:"#61ffca",green:"#9dff65"},theme:{primary:"purple",secondary:"pink",accent:"purple",error:"red",warning:"orange",success:"cyan",info:"purple",text:"darkFg",textMuted:"darkFgMuted",background:"darkBg",backgroundPanel:"darkBgPanel",backgroundElement:"darkBgPanel",border:"darkBorder",borderActive:"darkFgMuted",borderSubtle:"darkBorder",diffAdded:"cyan",diffRemoved:"red",diffContext:"darkFgMuted",diffHunkHeader:"darkFgMuted",diffHighlightAdded:"cyan",diffHighlightRemoved:"red",diffAddedBg:"#354933",diffRemovedBg:"#3f191a",diffContextBg:"darkBgPanel",diffLineNumber:"darkBorder",diffAddedLineNumberBg:"#162620",diffRemovedLineNumberBg:"#26161a",markdownText:"darkFg",markdownHeading:"purple",markdownLink:"pink",markdownLinkText:"purple",markdownCode:"cyan",markdownBlockQuote:"darkFgMuted",markdownEmph:"orange",markdownStrong:"purple",markdownHorizontalRule:"darkFgMuted",markdownListItem:"purple",markdownListEnumeration:"purple",markdownImage:"pink",markdownImageText:"purple",markdownCodeBlock:"darkFg",syntaxComment:"darkFgMuted",syntaxKeyword:"pink",syntaxFunction:"purple",syntaxVariable:"purple",syntaxString:"cyan",syntaxNumber:"green",syntaxType:"purple",syntaxOperator:"pink",syntaxPunctuation:"darkFg"}};var ayu_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0B0E14",darkBgAlt:"#0D1017",darkLine:"#11151C",darkPanel:"#0F131A",darkFg:"#BFBDB6",darkFgMuted:"#565B66",darkGutter:"#6C7380",darkTag:"#39BAE6",darkFunc:"#FFB454",darkEntity:"#59C2FF",darkString:"#AAD94C",darkRegexp:"#95E6CB",darkMarkup:"#F07178",darkKeyword:"#FF8F40",darkSpecial:"#E6B673",darkComment:"#ACB6BF",darkConstant:"#D2A6FF",darkOperator:"#F29668",darkAdded:"#7FD962",darkRemoved:"#F26D78",darkAccent:"#E6B450",darkError:"#D95757",darkIndentActive:"#6C7380"},theme:{primary:"darkEntity",secondary:"darkConstant",accent:"darkAccent",error:"darkError",warning:"darkSpecial",success:"darkAdded",info:"darkTag",text:"darkFg",textMuted:"darkFgMuted",background:"darkBg",backgroundPanel:"darkPanel",backgroundElement:"darkBgAlt",border:"darkGutter",borderActive:"darkIndentActive",borderSubtle:"darkLine",diffAdded:"darkAdded",diffRemoved:"darkRemoved",diffContext:"darkComment",diffHunkHeader:"darkComment",diffHighlightAdded:"darkString",diffHighlightRemoved:"darkMarkup",diffAddedBg:"#20303b",diffRemovedBg:"#37222c",diffContextBg:"darkPanel",diffLineNumber:"darkGutter",diffAddedLineNumberBg:"#1b2b34",diffRemovedLineNumberBg:"#2d1f26",markdownText:"darkFg",markdownHeading:"darkConstant",markdownLink:"darkEntity",markdownLinkText:"darkTag",markdownCode:"darkString",markdownBlockQuote:"darkSpecial",markdownEmph:"darkSpecial",markdownStrong:"darkFunc",markdownHorizontalRule:"darkFgMuted",markdownListItem:"darkEntity",markdownListEnumeration:"darkTag",markdownImage:"darkEntity",markdownImageText:"darkTag",markdownCodeBlock:"darkFg",syntaxComment:"darkComment",syntaxKeyword:"darkKeyword",syntaxFunction:"darkFunc",syntaxVariable:"darkEntity",syntaxString:"darkString",syntaxNumber:"darkConstant",syntaxType:"darkSpecial",syntaxOperator:"darkOperator",syntaxPunctuation:"darkFg"}};var carbonfox_default={$schema:"https://opencode.ai/theme.json",defs:{bg0:"#0d0d0d",bg1:"#161616",bg1a:"#1a1a1a",bg2:"#1e1e1e",bg3:"#262626",bg4:"#303030",fg0:"#ffffff",fg1:"#f2f4f8",fg2:"#a9afbc",fg3:"#7d848f",lbg0:"#ffffff",lbg1:"#f4f4f4",lbg2:"#e8e8e8",lbg3:"#dcdcdc",lfg0:"#000000",lfg1:"#161616",lfg2:"#525252",lfg3:"#6f6f6f",red:"#ee5396",green:"#25be6a",yellow:"#08bdba",blue:"#78a9ff",magenta:"#be95ff",cyan:"#33b1ff",white:"#dfdfe0",orange:"#3ddbd9",pink:"#ff7eb6",blueBright:"#8cb6ff",cyanBright:"#52c7ff",greenBright:"#46c880",redLight:"#9f1853",greenLight:"#198038",yellowLight:"#007d79",blueLight:"#0043ce",magentaLight:"#6929c4",cyanLight:"#0072c3",warning:"#f1c21b",diffGreen:"#50fa7b",diffRed:"#ff6b6b",diffGreenBg:"#0f2418",diffRedBg:"#2a1216"},theme:{primary:{dark:"cyan",light:"blueLight"},secondary:{dark:"blue",light:"blueLight"},accent:{dark:"pink",light:"redLight"},error:{dark:"red",light:"redLight"},warning:{dark:"warning",light:"yellowLight"},success:{dark:"green",light:"greenLight"},info:{dark:"blue",light:"blueLight"},text:{dark:"fg1",light:"lfg1"},textMuted:{dark:"fg3",light:"lfg3"},background:{dark:"bg1",light:"lbg0"},backgroundPanel:{dark:"bg1a",light:"lbg1"},backgroundElement:{dark:"bg2",light:"lbg1"},border:{dark:"bg4",light:"lbg3"},borderActive:{dark:"cyan",light:"blueLight"},borderSubtle:{dark:"bg3",light:"lbg2"},diffAdded:{dark:"diffGreen",light:"greenLight"},diffRemoved:{dark:"diffRed",light:"redLight"},diffContext:{dark:"fg3",light:"lfg3"},diffHunkHeader:{dark:"blue",light:"blueLight"},diffHighlightAdded:{dark:"#7dffaa",light:"greenLight"},diffHighlightRemoved:{dark:"#ff9999",light:"redLight"},diffAddedBg:{dark:"diffGreenBg",light:"#defbe6"},diffRemovedBg:{dark:"diffRedBg",light:"#fff1f1"},diffContextBg:{dark:"bg1",light:"lbg1"},diffLineNumber:{dark:"fg3",light:"lfg3"},diffAddedLineNumberBg:{dark:"diffGreenBg",light:"#defbe6"},diffRemovedLineNumberBg:{dark:"diffRedBg",light:"#fff1f1"},markdownText:{dark:"fg1",light:"lfg1"},markdownHeading:{dark:"blueBright",light:"blueLight"},markdownLink:{dark:"blue",light:"blueLight"},markdownLinkText:{dark:"cyan",light:"cyanLight"},markdownCode:{dark:"green",light:"greenLight"},markdownBlockQuote:{dark:"fg3",light:"lfg3"},markdownEmph:{dark:"magenta",light:"magentaLight"},markdownStrong:{dark:"fg0",light:"lfg0"},markdownHorizontalRule:{dark:"bg4",light:"lbg3"},markdownListItem:{dark:"cyan",light:"cyanLight"},markdownListEnumeration:{dark:"cyan",light:"cyanLight"},markdownImage:{dark:"blue",light:"blueLight"},markdownImageText:{dark:"cyan",light:"cyanLight"},markdownCodeBlock:{dark:"fg2",light:"lfg2"},syntaxComment:{dark:"fg3",light:"lfg3"},syntaxKeyword:{dark:"magenta",light:"magentaLight"},syntaxFunction:{dark:"blueBright",light:"blueLight"},syntaxVariable:{dark:"white",light:"lfg1"},syntaxString:{dark:"green",light:"greenLight"},syntaxNumber:{dark:"orange",light:"yellowLight"},syntaxType:{dark:"yellow",light:"yellowLight"},syntaxOperator:{dark:"fg2",light:"lfg2"},syntaxPunctuation:{dark:"fg2",light:"lfg1"}}};var catppuccin_default={$schema:"https://opencode.ai/theme.json",defs:{lightRosewater:"#dc8a78",lightFlamingo:"#dd7878",lightPink:"#ea76cb",lightMauve:"#8839ef",lightRed:"#d20f39",lightMaroon:"#e64553",lightPeach:"#fe640b",lightYellow:"#df8e1d",lightGreen:"#40a02b",lightTeal:"#179299",lightSky:"#04a5e5",lightSapphire:"#209fb5",lightBlue:"#1e66f5",lightLavender:"#7287fd",lightText:"#4c4f69",lightSubtext1:"#5c5f77",lightSubtext0:"#6c6f85",lightOverlay2:"#7c7f93",lightOverlay1:"#8c8fa1",lightOverlay0:"#9ca0b0",lightSurface2:"#acb0be",lightSurface1:"#bcc0cc",lightSurface0:"#ccd0da",lightBase:"#eff1f5",lightMantle:"#e6e9ef",lightCrust:"#dce0e8",darkRosewater:"#f5e0dc",darkFlamingo:"#f2cdcd",darkPink:"#f5c2e7",darkMauve:"#cba6f7",darkRed:"#f38ba8",darkMaroon:"#eba0ac",darkPeach:"#fab387",darkYellow:"#f9e2af",darkGreen:"#a6e3a1",darkTeal:"#94e2d5",darkSky:"#89dceb",darkSapphire:"#74c7ec",darkBlue:"#89b4fa",darkLavender:"#b4befe",darkText:"#cdd6f4",darkSubtext1:"#bac2de",darkSubtext0:"#a6adc8",darkOverlay2:"#9399b2",darkOverlay1:"#7f849c",darkOverlay0:"#6c7086",darkSurface2:"#585b70",darkSurface1:"#45475a",darkSurface0:"#313244",darkBase:"#1e1e2e",darkMantle:"#181825",darkCrust:"#11111b"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkMauve",light:"lightMauve"},accent:{dark:"darkPink",light:"lightPink"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkTeal",light:"lightTeal"},text:{dark:"darkText",light:"lightText"},textMuted:{dark:"darkOverlay2",light:"lightOverlay2"},background:{dark:"darkBase",light:"lightBase"},backgroundPanel:{dark:"darkMantle",light:"lightMantle"},backgroundElement:{dark:"darkCrust",light:"lightCrust"},border:{dark:"darkSurface0",light:"lightSurface0"},borderActive:{dark:"darkSurface1",light:"lightSurface1"},borderSubtle:{dark:"darkSurface2",light:"lightSurface2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkOverlay2",light:"lightOverlay2"},diffHunkHeader:{dark:"darkPeach",light:"lightPeach"},diffHighlightAdded:{dark:"darkGreen",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRed",light:"lightRed"},diffAddedBg:{dark:"#24312b",light:"#d6f0d9"},diffRemovedBg:{dark:"#3c2a32",light:"#f6dfe2"},diffContextBg:{dark:"darkMantle",light:"lightMantle"},diffLineNumber:{dark:"darkSurface1",light:"lightSurface1"},diffAddedLineNumberBg:{dark:"#1e2a25",light:"#c9e3cb"},diffRemovedLineNumberBg:{dark:"#32232a",light:"#e9d3d6"},markdownText:{dark:"darkText",light:"lightText"},markdownHeading:{dark:"darkMauve",light:"lightMauve"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkSky",light:"lightSky"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkPeach",light:"lightPeach"},markdownHorizontalRule:{dark:"darkSubtext0",light:"lightSubtext0"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkSky",light:"lightSky"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkSky",light:"lightSky"},markdownCodeBlock:{dark:"darkText",light:"lightText"},syntaxComment:{dark:"darkOverlay2",light:"lightOverlay2"},syntaxKeyword:{dark:"darkMauve",light:"lightMauve"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkPeach",light:"lightPeach"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkSky",light:"lightSky"},syntaxPunctuation:{dark:"darkText",light:"lightText"}}};var catppuccin_frappe_default={$schema:"https://opencode.ai/theme.json",defs:{frappeRosewater:"#f2d5cf",frappeFlamingo:"#eebebe",frappePink:"#f4b8e4",frappeMauve:"#ca9ee6",frappeRed:"#e78284",frappeMaroon:"#ea999c",frappePeach:"#ef9f76",frappeYellow:"#e5c890",frappeGreen:"#a6d189",frappeTeal:"#81c8be",frappeSky:"#99d1db",frappeSapphire:"#85c1dc",frappeBlue:"#8da4e2",frappeLavender:"#babbf1",frappeText:"#c6d0f5",frappeSubtext1:"#b5bfe2",frappeSubtext0:"#a5adce",frappeOverlay2:"#949cb8",frappeOverlay1:"#838ba7",frappeOverlay0:"#737994",frappeSurface2:"#626880",frappeSurface1:"#51576d",frappeSurface0:"#414559",frappeBase:"#303446",frappeMantle:"#292c3c",frappeCrust:"#232634"},theme:{primary:{dark:"frappeBlue",light:"frappeBlue"},secondary:{dark:"frappeMauve",light:"frappeMauve"},accent:{dark:"frappePink",light:"frappePink"},error:{dark:"frappeRed",light:"frappeRed"},warning:{dark:"frappeYellow",light:"frappeYellow"},success:{dark:"frappeGreen",light:"frappeGreen"},info:{dark:"frappeTeal",light:"frappeTeal"},text:{dark:"frappeText",light:"frappeText"},textMuted:{dark:"frappeOverlay2",light:"frappeOverlay2"},background:{dark:"frappeBase",light:"frappeBase"},backgroundPanel:{dark:"frappeMantle",light:"frappeMantle"},backgroundElement:{dark:"frappeCrust",light:"frappeCrust"},border:{dark:"frappeSurface0",light:"frappeSurface0"},borderActive:{dark:"frappeSurface1",light:"frappeSurface1"},borderSubtle:{dark:"frappeSurface2",light:"frappeSurface2"},diffAdded:{dark:"frappeGreen",light:"frappeGreen"},diffRemoved:{dark:"frappeRed",light:"frappeRed"},diffContext:{dark:"frappeOverlay2",light:"frappeOverlay2"},diffHunkHeader:{dark:"frappePeach",light:"frappePeach"},diffHighlightAdded:{dark:"frappeGreen",light:"frappeGreen"},diffHighlightRemoved:{dark:"frappeRed",light:"frappeRed"},diffAddedBg:{dark:"#29342b",light:"#29342b"},diffRemovedBg:{dark:"#3a2a31",light:"#3a2a31"},diffContextBg:{dark:"frappeMantle",light:"frappeMantle"},diffLineNumber:{dark:"frappeSurface1",light:"frappeSurface1"},diffAddedLineNumberBg:{dark:"#223025",light:"#223025"},diffRemovedLineNumberBg:{dark:"#2f242b",light:"#2f242b"},markdownText:{dark:"frappeText",light:"frappeText"},markdownHeading:{dark:"frappeMauve",light:"frappeMauve"},markdownLink:{dark:"frappeBlue",light:"frappeBlue"},markdownLinkText:{dark:"frappeSky",light:"frappeSky"},markdownCode:{dark:"frappeGreen",light:"frappeGreen"},markdownBlockQuote:{dark:"frappeYellow",light:"frappeYellow"},markdownEmph:{dark:"frappeYellow",light:"frappeYellow"},markdownStrong:{dark:"frappePeach",light:"frappePeach"},markdownHorizontalRule:{dark:"frappeSubtext0",light:"frappeSubtext0"},markdownListItem:{dark:"frappeBlue",light:"frappeBlue"},markdownListEnumeration:{dark:"frappeSky",light:"frappeSky"},markdownImage:{dark:"frappeBlue",light:"frappeBlue"},markdownImageText:{dark:"frappeSky",light:"frappeSky"},markdownCodeBlock:{dark:"frappeText",light:"frappeText"},syntaxComment:{dark:"frappeOverlay2",light:"frappeOverlay2"},syntaxKeyword:{dark:"frappeMauve",light:"frappeMauve"},syntaxFunction:{dark:"frappeBlue",light:"frappeBlue"},syntaxVariable:{dark:"frappeRed",light:"frappeRed"},syntaxString:{dark:"frappeGreen",light:"frappeGreen"},syntaxNumber:{dark:"frappePeach",light:"frappePeach"},syntaxType:{dark:"frappeYellow",light:"frappeYellow"},syntaxOperator:{dark:"frappeSky",light:"frappeSky"},syntaxPunctuation:{dark:"frappeText",light:"frappeText"}}};var catppuccin_macchiato_default={$schema:"https://opencode.ai/theme.json",defs:{macRosewater:"#f4dbd6",macFlamingo:"#f0c6c6",macPink:"#f5bde6",macMauve:"#c6a0f6",macRed:"#ed8796",macMaroon:"#ee99a0",macPeach:"#f5a97f",macYellow:"#eed49f",macGreen:"#a6da95",macTeal:"#8bd5ca",macSky:"#91d7e3",macSapphire:"#7dc4e4",macBlue:"#8aadf4",macLavender:"#b7bdf8",macText:"#cad3f5",macSubtext1:"#b8c0e0",macSubtext0:"#a5adcb",macOverlay2:"#939ab7",macOverlay1:"#8087a2",macOverlay0:"#6e738d",macSurface2:"#5b6078",macSurface1:"#494d64",macSurface0:"#363a4f",macBase:"#24273a",macMantle:"#1e2030",macCrust:"#181926"},theme:{primary:{dark:"macBlue",light:"macBlue"},secondary:{dark:"macMauve",light:"macMauve"},accent:{dark:"macPink",light:"macPink"},error:{dark:"macRed",light:"macRed"},warning:{dark:"macYellow",light:"macYellow"},success:{dark:"macGreen",light:"macGreen"},info:{dark:"macTeal",light:"macTeal"},text:{dark:"macText",light:"macText"},textMuted:{dark:"macOverlay2",light:"macOverlay2"},background:{dark:"macBase",light:"macBase"},backgroundPanel:{dark:"macMantle",light:"macMantle"},backgroundElement:{dark:"macCrust",light:"macCrust"},border:{dark:"macSurface0",light:"macSurface0"},borderActive:{dark:"macSurface1",light:"macSurface1"},borderSubtle:{dark:"macSurface2",light:"macSurface2"},diffAdded:{dark:"macGreen",light:"macGreen"},diffRemoved:{dark:"macRed",light:"macRed"},diffContext:{dark:"macOverlay2",light:"macOverlay2"},diffHunkHeader:{dark:"macPeach",light:"macPeach"},diffHighlightAdded:{dark:"macGreen",light:"macGreen"},diffHighlightRemoved:{dark:"macRed",light:"macRed"},diffAddedBg:{dark:"#29342b",light:"#29342b"},diffRemovedBg:{dark:"#3a2a31",light:"#3a2a31"},diffContextBg:{dark:"macMantle",light:"macMantle"},diffLineNumber:{dark:"macSurface1",light:"macSurface1"},diffAddedLineNumberBg:{dark:"#223025",light:"#223025"},diffRemovedLineNumberBg:{dark:"#2f242b",light:"#2f242b"},markdownText:{dark:"macText",light:"macText"},markdownHeading:{dark:"macMauve",light:"macMauve"},markdownLink:{dark:"macBlue",light:"macBlue"},markdownLinkText:{dark:"macSky",light:"macSky"},markdownCode:{dark:"macGreen",light:"macGreen"},markdownBlockQuote:{dark:"macYellow",light:"macYellow"},markdownEmph:{dark:"macYellow",light:"macYellow"},markdownStrong:{dark:"macPeach",light:"macPeach"},markdownHorizontalRule:{dark:"macSubtext0",light:"macSubtext0"},markdownListItem:{dark:"macBlue",light:"macBlue"},markdownListEnumeration:{dark:"macSky",light:"macSky"},markdownImage:{dark:"macBlue",light:"macBlue"},markdownImageText:{dark:"macSky",light:"macSky"},markdownCodeBlock:{dark:"macText",light:"macText"},syntaxComment:{dark:"macOverlay2",light:"macOverlay2"},syntaxKeyword:{dark:"macMauve",light:"macMauve"},syntaxFunction:{dark:"macBlue",light:"macBlue"},syntaxVariable:{dark:"macRed",light:"macRed"},syntaxString:{dark:"macGreen",light:"macGreen"},syntaxNumber:{dark:"macPeach",light:"macPeach"},syntaxType:{dark:"macYellow",light:"macYellow"},syntaxOperator:{dark:"macSky",light:"macSky"},syntaxPunctuation:{dark:"macText",light:"macText"}}};var charizard_default={$schema:"https://opencode.ai/theme.json",defs:{charizardBgDark:"#2B160E",charizardPanelDark:"#371C12",charizardElemDark:"#422216",charizardTextDark:"#FFF0D4",charizardMutedDark:"#7A3511",charizardPrimaryDark:"#FFD39A",charizardAccentDark:"#F29C38",charizardSecondaryDark:"#FFD39A",charizardBorderDark:"#C75B1D",charizardBorderSubtleDark:"#6C4724",charizardBgLight:"#F8F8F8",charizardPanelLight:"#EFEFEF",charizardElemLight:"#E4E4E4",charizardTextLight:"#1A1A1A",charizardMutedLight:"#5A5A5A",charizardPrimaryLight:"#E78200",charizardAccentLight:"#AE630B",charizardSecondaryLight:"#E78200",charizardBorderLight:"#D0D0D0",charizardBorderSubtleLight:"#E0E0E0",charizardOkDark:"#4caf50",charizardErrorDark:"#ef5350",charizardWarnDark:"#ffa726",charizardOkLight:"#4caf50",charizardErrorLight:"#ef5350",charizardWarnLight:"#A56200"},theme:{primary:{dark:"charizardPrimaryDark",light:"charizardPrimaryLight"},secondary:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},accent:{dark:"charizardAccentDark",light:"charizardAccentLight"},error:{dark:"charizardErrorDark",light:"charizardErrorLight"},warning:{dark:"charizardWarnDark",light:"charizardWarnLight"},success:{dark:"charizardOkDark",light:"charizardOkLight"},info:{dark:"charizardAccentDark",light:"charizardAccentLight"},text:{dark:"charizardTextDark",light:"charizardTextLight"},textMuted:{dark:"charizardMutedDark",light:"charizardMutedLight"},background:{dark:"charizardBgDark",light:"charizardBgLight"},backgroundPanel:{dark:"charizardPanelDark",light:"charizardPanelLight"},backgroundElement:{dark:"charizardElemDark",light:"charizardElemLight"},border:{dark:"charizardBorderDark",light:"charizardBorderLight"},borderActive:{dark:"charizardAccentDark",light:"charizardAccentLight"},borderSubtle:{dark:"charizardBorderSubtleDark",light:"charizardBorderSubtleLight"},diffAdded:{dark:"charizardOkDark",light:"charizardOkLight"},diffRemoved:{dark:"charizardErrorDark",light:"charizardErrorLight"},diffContext:{dark:"charizardMutedDark",light:"charizardMutedLight"},diffHunkHeader:{dark:"charizardMutedDark",light:"charizardMutedLight"},diffHighlightAdded:{dark:"charizardOkDark",light:"charizardOkLight"},diffHighlightRemoved:{dark:"charizardErrorDark",light:"charizardErrorLight"},diffAddedBg:{dark:"#31321A",light:"#DEEDDF"},diffRemovedBg:{dark:"#4E211A",light:"#F7DFDF"},diffContextBg:{dark:"charizardPanelDark",light:"charizardPanelLight"},diffLineNumber:{dark:"charizardMutedDark",light:"charizardMutedLight"},diffAddedLineNumberBg:{dark:"#2E2515",light:"#EAF2EB"},diffRemovedLineNumberBg:{dark:"#3F1C15",light:"#F7EBEB"},markdownText:{dark:"charizardTextDark",light:"charizardTextLight"},markdownHeading:{dark:"charizardPrimaryDark",light:"charizardPrimaryLight"},markdownLink:{dark:"charizardAccentDark",light:"charizardAccentLight"},markdownLinkText:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},markdownCode:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},markdownBlockQuote:{dark:"charizardMutedDark",light:"charizardMutedLight"},markdownEmph:{dark:"charizardAccentDark",light:"charizardAccentLight"},markdownStrong:{dark:"charizardPrimaryDark",light:"charizardPrimaryLight"},markdownHorizontalRule:{dark:"charizardBorderDark",light:"charizardBorderLight"},markdownListItem:{dark:"charizardTextDark",light:"charizardTextLight"},markdownListEnumeration:{dark:"charizardAccentDark",light:"charizardAccentLight"},markdownImage:{dark:"charizardAccentDark",light:"charizardAccentLight"},markdownImageText:{dark:"charizardMutedDark",light:"charizardMutedLight"},markdownCodeBlock:{dark:"charizardTextDark",light:"charizardTextLight"},syntaxComment:{dark:"charizardMutedDark",light:"charizardMutedLight"},syntaxKeyword:{dark:"charizardAccentDark",light:"charizardAccentLight"},syntaxFunction:{dark:"charizardPrimaryDark",light:"charizardPrimaryLight"},syntaxVariable:{dark:"charizardTextDark",light:"charizardTextLight"},syntaxString:{dark:"charizardOkDark",light:"charizardOkLight"},syntaxNumber:{dark:"charizardAccentDark",light:"charizardAccentLight"},syntaxType:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},syntaxOperator:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},syntaxPunctuation:{dark:"charizardTextDark",light:"charizardTextLight"}}};var cobalt2_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#193549",backgroundAlt:"#122738",backgroundPanel:"#1f4662",foreground:"#ffffff",foregroundMuted:"#adb7c9",yellow:"#ffc600",yellowBright:"#ffe14c",orange:"#ff9d00",orangeBright:"#ffb454",mint:"#2affdf",mintBright:"#7efff5",blue:"#0088ff",blueBright:"#5cb7ff",pink:"#ff628c",pinkBright:"#ff86a5",green:"#9eff80",greenBright:"#b9ff9f",purple:"#9a5feb",purpleBright:"#b88cfd",red:"#ff0088",redBright:"#ff5fb3"},theme:{primary:{dark:"blue",light:"#0066cc"},secondary:{dark:"purple",light:"#7c4dff"},accent:{dark:"mint",light:"#00acc1"},error:{dark:"red",light:"#e91e63"},warning:{dark:"yellow",light:"#ff9800"},success:{dark:"green",light:"#4caf50"},info:{dark:"orange",light:"#ff5722"},text:{dark:"foreground",light:"#193549"},textMuted:{dark:"foregroundMuted",light:"#5c6b7d"},background:{dark:"#193549",light:"#ffffff"},backgroundPanel:{dark:"#122738",light:"#f5f7fa"},backgroundElement:{dark:"#1f4662",light:"#e8ecf1"},border:{dark:"#1f4662",light:"#d3dae3"},borderActive:{dark:"blue",light:"#0066cc"},borderSubtle:{dark:"#0e1e2e",light:"#e8ecf1"},diffAdded:{dark:"green",light:"#4caf50"},diffRemoved:{dark:"red",light:"#e91e63"},diffContext:{dark:"foregroundMuted",light:"#5c6b7d"},diffHunkHeader:{dark:"mint",light:"#00acc1"},diffHighlightAdded:{dark:"greenBright",light:"#4caf50"},diffHighlightRemoved:{dark:"redBright",light:"#e91e63"},diffAddedBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedBg:{dark:"#3a1a2a",light:"#ffebee"},diffContextBg:{dark:"#122738",light:"#f5f7fa"},diffLineNumber:{dark:"#2d5a7b",light:"#b0bec5"},diffAddedLineNumberBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3a1a2a",light:"#ffebee"},markdownText:{dark:"foreground",light:"#193549"},markdownHeading:{dark:"yellow",light:"#ff9800"},markdownLink:{dark:"blue",light:"#0066cc"},markdownLinkText:{dark:"mint",light:"#00acc1"},markdownCode:{dark:"green",light:"#4caf50"},markdownBlockQuote:{dark:"foregroundMuted",light:"#5c6b7d"},markdownEmph:{dark:"orange",light:"#ff5722"},markdownStrong:{dark:"pink",light:"#e91e63"},markdownHorizontalRule:{dark:"#2d5a7b",light:"#d3dae3"},markdownListItem:{dark:"blue",light:"#0066cc"},markdownListEnumeration:{dark:"mint",light:"#00acc1"},markdownImage:{dark:"blue",light:"#0066cc"},markdownImageText:{dark:"mint",light:"#00acc1"},markdownCodeBlock:{dark:"foreground",light:"#193549"},syntaxComment:{dark:"#0088ff",light:"#5c6b7d"},syntaxKeyword:{dark:"orange",light:"#ff5722"},syntaxFunction:{dark:"yellow",light:"#ff9800"},syntaxVariable:{dark:"foreground",light:"#193549"},syntaxString:{dark:"green",light:"#4caf50"},syntaxNumber:{dark:"pink",light:"#e91e63"},syntaxType:{dark:"mint",light:"#00acc1"},syntaxOperator:{dark:"orange",light:"#ff5722"},syntaxPunctuation:{dark:"foreground",light:"#193549"}}};var cursor_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#181818",darkPanel:"#141414",darkElement:"#262626",darkFg:"#e4e4e4",darkMuted:"#e4e4e45e",darkBorder:"#e4e4e413",darkBorderActive:"#e4e4e426",darkCyan:"#88c0d0",darkBlue:"#81a1c1",darkGreen:"#3fa266",darkGreenBright:"#70b489",darkRed:"#e34671",darkRedBright:"#fc6b83",darkYellow:"#f1b467",darkOrange:"#d2943e",darkPink:"#E394DC",darkPurple:"#AAA0FA",darkTeal:"#82D2CE",darkSyntaxYellow:"#F8C762",darkSyntaxOrange:"#EFB080",darkSyntaxGreen:"#A8CC7C",darkSyntaxBlue:"#87C3FF",lightBg:"#fcfcfc",lightPanel:"#f3f3f3",lightElement:"#ededed",lightFg:"#141414",lightMuted:"#141414ad",lightBorder:"#14141413",lightBorderActive:"#14141426",lightTeal:"#6f9ba6",lightBlue:"#3c7cab",lightBlueDark:"#206595",lightGreen:"#1f8a65",lightGreenBright:"#55a583",lightRed:"#cf2d56",lightRedBright:"#e75e78",lightOrange:"#db704b",lightYellow:"#c08532",lightPurple:"#9e94d5",lightPurpleDark:"#6049b3",lightPink:"#b8448b",lightMagenta:"#b3003f"},theme:{primary:{dark:"darkCyan",light:"lightTeal"},secondary:{dark:"darkBlue",light:"lightBlue"},accent:{dark:"darkCyan",light:"lightTeal"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkBlue",light:"lightBlue"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkMuted",light:"lightMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkPanel",light:"lightPanel"},backgroundElement:{dark:"darkElement",light:"lightElement"},border:{dark:"darkBorder",light:"lightBorder"},borderActive:{dark:"darkCyan",light:"lightTeal"},borderSubtle:{dark:"#0f0f0f",light:"#e0e0e0"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkMuted",light:"lightMuted"},diffHunkHeader:{dark:"darkMuted",light:"lightMuted"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreenBright"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRedBright"},diffAddedBg:{dark:"#3fa26633",light:"#1f8a651f"},diffRemovedBg:{dark:"#b8004933",light:"#cf2d5614"},diffContextBg:{dark:"darkPanel",light:"lightPanel"},diffLineNumber:{dark:"#e4e4e442",light:"#1414147a"},diffAddedLineNumberBg:{dark:"#3fa26633",light:"#1f8a651f"},diffRemovedLineNumberBg:{dark:"#b8004933",light:"#cf2d5614"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkPurple",light:"lightBlueDark"},markdownLink:{dark:"darkTeal",light:"lightBlueDark"},markdownLinkText:{dark:"darkBlue",light:"lightMuted"},markdownCode:{dark:"darkPink",light:"lightGreen"},markdownBlockQuote:{dark:"darkMuted",light:"lightMuted"},markdownEmph:{dark:"darkTeal",light:"lightFg"},markdownStrong:{dark:"darkSyntaxYellow",light:"lightFg"},markdownHorizontalRule:{dark:"darkMuted",light:"lightMuted"},markdownListItem:{dark:"darkFg",light:"lightFg"},markdownListEnumeration:{dark:"darkCyan",light:"lightMuted"},markdownImage:{dark:"darkCyan",light:"lightBlueDark"},markdownImageText:{dark:"darkBlue",light:"lightMuted"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkMuted",light:"lightMuted"},syntaxKeyword:{dark:"darkTeal",light:"lightMagenta"},syntaxFunction:{dark:"darkSyntaxOrange",light:"lightOrange"},syntaxVariable:{dark:"darkFg",light:"lightFg"},syntaxString:{dark:"darkPink",light:"lightPurple"},syntaxNumber:{dark:"darkSyntaxYellow",light:"lightPink"},syntaxType:{dark:"darkSyntaxOrange",light:"lightBlueDark"},syntaxOperator:{dark:"darkFg",light:"lightFg"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var daylight_default={$schema:"https://opencode.ai/theme.json",defs:{daylightBgDark:"#101014",daylightPanelDark:"#18181F",daylightElemDark:"#1F1F28",daylightTextDark:"#E6E6E6",daylightMutedDark:"#9A9A9A",daylightPrimaryDark:"#233662",daylightAccentDark:"#597FE9",daylightSecondaryDark:"#18BAAD",daylightBorderDark:"#3C74ED",daylightBorderSubtleDark:"#4F5B6D",daylightBgLight:"#E5EDF8",daylightPanelLight:"#DCE4EE",daylightElemLight:"#D3DAE4",daylightTextLight:"#111827",daylightMutedLight:"#475569",daylightPrimaryLight:"#0F172A",daylightAccentLight:"#1D4ED8",daylightSecondaryLight:"#0F766E",daylightBorderLight:"#2563EB",daylightBorderSubtleLight:"#64748B",daylightOkDark:"#15803D",daylightErrorDark:"#B91C1C",daylightWarnDark:"#B45309",daylightOkLight:"#15803D",daylightErrorLight:"#B91C1C",daylightWarnLight:"#B45309"},theme:{primary:{dark:"daylightPrimaryDark",light:"daylightPrimaryLight"},secondary:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},accent:{dark:"daylightAccentDark",light:"daylightAccentLight"},error:{dark:"daylightErrorDark",light:"daylightErrorLight"},warning:{dark:"daylightWarnDark",light:"daylightWarnLight"},success:{dark:"daylightOkDark",light:"daylightOkLight"},info:{dark:"daylightAccentDark",light:"daylightAccentLight"},text:{dark:"daylightTextDark",light:"daylightTextLight"},textMuted:{dark:"daylightMutedDark",light:"daylightMutedLight"},background:{dark:"daylightBgDark",light:"daylightBgLight"},backgroundPanel:{dark:"daylightPanelDark",light:"daylightPanelLight"},backgroundElement:{dark:"daylightElemDark",light:"daylightElemLight"},border:{dark:"daylightBorderDark",light:"daylightBorderLight"},borderActive:{dark:"daylightAccentDark",light:"daylightAccentLight"},borderSubtle:{dark:"daylightBorderSubtleDark",light:"daylightBorderSubtleLight"},diffAdded:{dark:"daylightOkDark",light:"daylightOkLight"},diffRemoved:{dark:"daylightErrorDark",light:"daylightErrorLight"},diffContext:{dark:"daylightMutedDark",light:"daylightMutedLight"},diffHunkHeader:{dark:"daylightMutedDark",light:"daylightMutedLight"},diffHighlightAdded:{dark:"daylightOkDark",light:"daylightOkLight"},diffHighlightRemoved:{dark:"daylightErrorDark",light:"daylightErrorLight"},diffAddedBg:{dark:"#11241B",light:"#C6DDDC"},diffRemovedBg:{dark:"#2E1215",light:"#DECED7"},diffContextBg:{dark:"daylightPanelDark",light:"daylightPanelLight"},diffLineNumber:{dark:"daylightMutedDark",light:"daylightMutedLight"},diffAddedLineNumberBg:{dark:"#101B18",light:"#D4E4E9"},diffRemovedLineNumberBg:{dark:"#211115",light:"#E1DCE6"},markdownText:{dark:"daylightTextDark",light:"daylightTextLight"},markdownHeading:{dark:"daylightPrimaryDark",light:"daylightPrimaryLight"},markdownLink:{dark:"daylightAccentDark",light:"daylightAccentLight"},markdownLinkText:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},markdownCode:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},markdownBlockQuote:{dark:"daylightMutedDark",light:"daylightMutedLight"},markdownEmph:{dark:"daylightAccentDark",light:"daylightAccentLight"},markdownStrong:{dark:"daylightPrimaryDark",light:"daylightPrimaryLight"},markdownHorizontalRule:{dark:"daylightBorderDark",light:"daylightBorderLight"},markdownListItem:{dark:"daylightTextDark",light:"daylightTextLight"},markdownListEnumeration:{dark:"daylightAccentDark",light:"daylightAccentLight"},markdownImage:{dark:"daylightAccentDark",light:"daylightAccentLight"},markdownImageText:{dark:"daylightMutedDark",light:"daylightMutedLight"},markdownCodeBlock:{dark:"daylightTextDark",light:"daylightTextLight"},syntaxComment:{dark:"daylightMutedDark",light:"daylightMutedLight"},syntaxKeyword:{dark:"daylightAccentDark",light:"daylightAccentLight"},syntaxFunction:{dark:"daylightPrimaryDark",light:"daylightPrimaryLight"},syntaxVariable:{dark:"daylightTextDark",light:"daylightTextLight"},syntaxString:{dark:"daylightOkDark",light:"daylightOkLight"},syntaxNumber:{dark:"daylightAccentDark",light:"daylightAccentLight"},syntaxType:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},syntaxOperator:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},syntaxPunctuation:{dark:"daylightTextDark",light:"daylightTextLight"}}};var default_default={$schema:"https://opencode.ai/theme.json",defs:{defaultBgDark:"#1a1a2e",defaultPanelDark:"#202038",defaultElemDark:"#252542",defaultTextDark:"#FFF8DC",defaultMutedDark:"#B8860B",defaultPrimaryDark:"#FFD700",defaultAccentDark:"#FFBF00",defaultSecondaryDark:"#DAA520",defaultBorderDark:"#CD7F32",defaultBorderSubtleDark:"#8B8682",defaultBgLight:"#F8F8F8",defaultPanelLight:"#EFEFEF",defaultElemLight:"#E4E4E4",defaultTextLight:"#1A1A1A",defaultMutedLight:"#5A5A5A",defaultPrimaryLight:"#4D4000",defaultAccentLight:"#4D3900",defaultSecondaryLight:"#785B12",defaultBorderLight:"#D0D0D0",defaultBorderSubtleLight:"#E0E0E0",defaultOkDark:"#4caf50",defaultErrorDark:"#ef5350",defaultWarnDark:"#ffa726",defaultOkLight:"#4caf50",defaultErrorLight:"#ef5350",defaultWarnLight:"#A56200"},theme:{primary:{dark:"defaultPrimaryDark",light:"defaultPrimaryLight"},secondary:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},accent:{dark:"defaultAccentDark",light:"defaultAccentLight"},error:{dark:"defaultErrorDark",light:"defaultErrorLight"},warning:{dark:"defaultWarnDark",light:"defaultWarnLight"},success:{dark:"defaultOkDark",light:"defaultOkLight"},info:{dark:"defaultAccentDark",light:"defaultAccentLight"},text:{dark:"defaultTextDark",light:"defaultTextLight"},textMuted:{dark:"defaultMutedDark",light:"defaultMutedLight"},background:{dark:"defaultBgDark",light:"defaultBgLight"},backgroundPanel:{dark:"defaultPanelDark",light:"defaultPanelLight"},backgroundElement:{dark:"defaultElemDark",light:"defaultElemLight"},border:{dark:"defaultBorderDark",light:"defaultBorderLight"},borderActive:{dark:"defaultAccentDark",light:"defaultAccentLight"},borderSubtle:{dark:"defaultBorderSubtleDark",light:"defaultBorderSubtleLight"},diffAdded:{dark:"defaultOkDark",light:"defaultOkLight"},diffRemoved:{dark:"defaultErrorDark",light:"defaultErrorLight"},diffContext:{dark:"defaultMutedDark",light:"defaultMutedLight"},diffHunkHeader:{dark:"defaultMutedDark",light:"defaultMutedLight"},diffHighlightAdded:{dark:"defaultOkDark",light:"defaultOkLight"},diffHighlightRemoved:{dark:"defaultErrorDark",light:"defaultErrorLight"},diffAddedBg:{dark:"#233534",light:"#DEEDDF"},diffRemovedBg:{dark:"#402434",light:"#F7DFDF"},diffContextBg:{dark:"defaultPanelDark",light:"defaultPanelLight"},diffLineNumber:{dark:"defaultMutedDark",light:"defaultMutedLight"},diffAddedLineNumberBg:{dark:"#1F2931",light:"#EAF2EB"},diffRemovedLineNumberBg:{dark:"#2F2031",light:"#F7EBEB"},markdownText:{dark:"defaultTextDark",light:"defaultTextLight"},markdownHeading:{dark:"defaultPrimaryDark",light:"defaultPrimaryLight"},markdownLink:{dark:"defaultAccentDark",light:"defaultAccentLight"},markdownLinkText:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},markdownCode:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},markdownBlockQuote:{dark:"defaultMutedDark",light:"defaultMutedLight"},markdownEmph:{dark:"defaultAccentDark",light:"defaultAccentLight"},markdownStrong:{dark:"defaultPrimaryDark",light:"defaultPrimaryLight"},markdownHorizontalRule:{dark:"defaultBorderDark",light:"defaultBorderLight"},markdownListItem:{dark:"defaultTextDark",light:"defaultTextLight"},markdownListEnumeration:{dark:"defaultAccentDark",light:"defaultAccentLight"},markdownImage:{dark:"defaultAccentDark",light:"defaultAccentLight"},markdownImageText:{dark:"defaultMutedDark",light:"defaultMutedLight"},markdownCodeBlock:{dark:"defaultTextDark",light:"defaultTextLight"},syntaxComment:{dark:"defaultMutedDark",light:"defaultMutedLight"},syntaxKeyword:{dark:"defaultAccentDark",light:"defaultAccentLight"},syntaxFunction:{dark:"defaultPrimaryDark",light:"defaultPrimaryLight"},syntaxVariable:{dark:"defaultTextDark",light:"defaultTextLight"},syntaxString:{dark:"defaultOkDark",light:"defaultOkLight"},syntaxNumber:{dark:"defaultAccentDark",light:"defaultAccentLight"},syntaxType:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},syntaxOperator:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},syntaxPunctuation:{dark:"defaultTextDark",light:"defaultTextLight"}}};var dracula_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#282a36",currentLine:"#44475a",selection:"#44475a",foreground:"#f8f8f2",comment:"#6272a4",cyan:"#8be9fd",green:"#50fa7b",orange:"#ffb86c",pink:"#ff79c6",purple:"#bd93f9",red:"#ff5555",yellow:"#f1fa8c"},theme:{primary:{dark:"purple",light:"purple"},secondary:{dark:"pink",light:"pink"},accent:{dark:"cyan",light:"cyan"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"yellow"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"foreground",light:"#282a36"},textMuted:{dark:"comment",light:"#6272a4"},background:{dark:"#282a36",light:"#f8f8f2"},backgroundPanel:{dark:"#21222c",light:"#e8e8e2"},backgroundElement:{dark:"currentLine",light:"#d8d8d2"},border:{dark:"currentLine",light:"#c8c8c2"},borderActive:{dark:"purple",light:"purple"},borderSubtle:{dark:"#191a21",light:"#e0e0e0"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"comment",light:"#6272a4"},diffHunkHeader:{dark:"comment",light:"#6272a4"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedBg:{dark:"#3a1a1a",light:"#ffe0e0"},diffContextBg:{dark:"#21222c",light:"#e8e8e2"},diffLineNumber:{dark:"currentLine",light:"#c8c8c2"},diffAddedLineNumberBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedLineNumberBg:{dark:"#3a1a1a",light:"#ffe0e0"},markdownText:{dark:"foreground",light:"#282a36"},markdownHeading:{dark:"purple",light:"purple"},markdownLink:{dark:"cyan",light:"cyan"},markdownLinkText:{dark:"pink",light:"pink"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"comment",light:"#6272a4"},markdownEmph:{dark:"yellow",light:"yellow"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"comment",light:"#6272a4"},markdownListItem:{dark:"purple",light:"purple"},markdownListEnumeration:{dark:"cyan",light:"cyan"},markdownImage:{dark:"cyan",light:"cyan"},markdownImageText:{dark:"pink",light:"pink"},markdownCodeBlock:{dark:"foreground",light:"#282a36"},syntaxComment:{dark:"comment",light:"#6272a4"},syntaxKeyword:{dark:"pink",light:"pink"},syntaxFunction:{dark:"green",light:"green"},syntaxVariable:{dark:"foreground",light:"#282a36"},syntaxString:{dark:"yellow",light:"yellow"},syntaxNumber:{dark:"purple",light:"purple"},syntaxType:{dark:"cyan",light:"cyan"},syntaxOperator:{dark:"pink",light:"pink"},syntaxPunctuation:{dark:"foreground",light:"#282a36"}}};var everforest_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#2d353b",darkStep2:"#333c43",darkStep3:"#343f44",darkStep4:"#3d484d",darkStep5:"#475258",darkStep6:"#7a8478",darkStep7:"#859289",darkStep8:"#9da9a0",darkStep9:"#a7c080",darkStep10:"#83c092",darkStep11:"#7a8478",darkStep12:"#d3c6aa",darkRed:"#e67e80",darkOrange:"#e69875",darkGreen:"#a7c080",darkCyan:"#83c092",darkYellow:"#dbbc7f",lightStep1:"#fdf6e3",lightStep2:"#efebd4",lightStep3:"#f4f0d9",lightStep4:"#efebd4",lightStep5:"#e6e2cc",lightStep6:"#a6b0a0",lightStep7:"#939f91",lightStep8:"#829181",lightStep9:"#8da101",lightStep10:"#35a77c",lightStep11:"#a6b0a0",lightStep12:"#5c6a72",lightRed:"#f85552",lightOrange:"#f57d26",lightGreen:"#8da101",lightCyan:"#35a77c",lightYellow:"#dfa000"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"#7fbbb3",light:"#3a94c5"},accent:{dark:"#d699b6",light:"#df69ba"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"darkStep3",light:"lightStep3"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"#d699b6",light:"#df69ba"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"#d699b6",light:"#df69ba"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var flexoki_default={$schema:"https://opencode.ai/theme.json",defs:{black:"#100F0F",base950:"#1C1B1A",base900:"#282726",base850:"#343331",base800:"#403E3C",base700:"#575653",base600:"#6F6E69",base500:"#878580",base300:"#B7B5AC",base200:"#CECDC3",base150:"#DAD8CE",base100:"#E6E4D9",base50:"#F2F0E5",paper:"#FFFCF0",red400:"#D14D41",red600:"#AF3029",orange400:"#DA702C",orange600:"#BC5215",yellow400:"#D0A215",yellow600:"#AD8301",green400:"#879A39",green600:"#66800B",cyan400:"#3AA99F",cyan600:"#24837B",blue400:"#4385BE",blue600:"#205EA6",purple400:"#8B7EC8",purple600:"#5E409D",magenta400:"#CE5D97",magenta600:"#A02F6F"},theme:{primary:{dark:"orange400",light:"blue600"},secondary:{dark:"blue400",light:"purple600"},accent:{dark:"purple400",light:"orange600"},error:{dark:"red400",light:"red600"},warning:{dark:"orange400",light:"orange600"},success:{dark:"green400",light:"green600"},info:{dark:"cyan400",light:"cyan600"},text:{dark:"base200",light:"black"},textMuted:{dark:"base600",light:"base600"},background:{dark:"black",light:"paper"},backgroundPanel:{dark:"base950",light:"base50"},backgroundElement:{dark:"base900",light:"base100"},border:{dark:"base700",light:"base300"},borderActive:{dark:"base600",light:"base500"},borderSubtle:{dark:"base800",light:"base200"},diffAdded:{dark:"green400",light:"green600"},diffRemoved:{dark:"red400",light:"red600"},diffContext:{dark:"base600",light:"base600"},diffHunkHeader:{dark:"blue400",light:"blue600"},diffHighlightAdded:{dark:"green400",light:"green600"},diffHighlightRemoved:{dark:"red400",light:"red600"},diffAddedBg:{dark:"#1A2D1A",light:"#D5E5D5"},diffRemovedBg:{dark:"#2D1A1A",light:"#F7D8DB"},diffContextBg:{dark:"base950",light:"base50"},diffLineNumber:{dark:"base600",light:"base600"},diffAddedLineNumberBg:{dark:"#152515",light:"#C5D5C5"},diffRemovedLineNumberBg:{dark:"#251515",light:"#E7C8CB"},markdownText:{dark:"base200",light:"black"},markdownHeading:{dark:"purple400",light:"purple600"},markdownLink:{dark:"blue400",light:"blue600"},markdownLinkText:{dark:"cyan400",light:"cyan600"},markdownCode:{dark:"cyan400",light:"cyan600"},markdownBlockQuote:{dark:"yellow400",light:"yellow600"},markdownEmph:{dark:"yellow400",light:"yellow600"},markdownStrong:{dark:"orange400",light:"orange600"},markdownHorizontalRule:{dark:"base600",light:"base600"},markdownListItem:{dark:"orange400",light:"orange600"},markdownListEnumeration:{dark:"cyan400",light:"cyan600"},markdownImage:{dark:"magenta400",light:"magenta600"},markdownImageText:{dark:"cyan400",light:"cyan600"},markdownCodeBlock:{dark:"base200",light:"black"},syntaxComment:{dark:"base600",light:"base600"},syntaxKeyword:{dark:"green400",light:"green600"},syntaxFunction:{dark:"orange400",light:"orange600"},syntaxVariable:{dark:"blue400",light:"blue600"},syntaxString:{dark:"cyan400",light:"cyan600"},syntaxNumber:{dark:"purple400",light:"purple600"},syntaxType:{dark:"yellow400",light:"yellow600"},syntaxOperator:{dark:"base300",light:"base600"},syntaxPunctuation:{dark:"base300",light:"base600"}}};var github_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0d1117",darkBgAlt:"#010409",darkBgPanel:"#161b22",darkFg:"#c9d1d9",darkFgMuted:"#8b949e",darkBlue:"#58a6ff",darkGreen:"#3fb950",darkRed:"#f85149",darkOrange:"#d29922",darkPurple:"#bc8cff",darkPink:"#ff7b72",darkYellow:"#e3b341",darkCyan:"#39c5cf",lightBg:"#ffffff",lightBgAlt:"#f6f8fa",lightBgPanel:"#f0f3f6",lightFg:"#24292f",lightFgMuted:"#57606a",lightBlue:"#0969da",lightGreen:"#1a7f37",lightRed:"#cf222e",lightOrange:"#bc4c00",lightPurple:"#8250df",lightPink:"#bf3989",lightYellow:"#9a6700",lightCyan:"#1b7c83"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#30363d",light:"#d0d7de"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#21262d",light:"#d8dee4"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkBlue",light:"lightBlue"},diffHighlightAdded:{dark:"#3fb950",light:"#1a7f37"},diffHighlightRemoved:{dark:"#f85149",light:"#cf222e"},diffAddedBg:{dark:"#033a16",light:"#dafbe1"},diffRemovedBg:{dark:"#67060c",light:"#ffebe9"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#484f58",light:"#afb8c1"},diffAddedLineNumberBg:{dark:"#033a16",light:"#dafbe1"},diffRemovedLineNumberBg:{dark:"#67060c",light:"#ffebe9"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkBlue",light:"lightBlue"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkPink",light:"lightPink"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"#30363d",light:"#d0d7de"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPink",light:"lightRed"},syntaxFunction:{dark:"darkPurple",light:"lightPurple"},syntaxVariable:{dark:"darkOrange",light:"lightOrange"},syntaxString:{dark:"darkCyan",light:"lightBlue"},syntaxNumber:{dark:"darkBlue",light:"lightCyan"},syntaxType:{dark:"darkOrange",light:"lightOrange"},syntaxOperator:{dark:"darkPink",light:"lightRed"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var gruvbox_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg0:"#282828",darkBg1:"#3c3836",darkBg2:"#504945",darkBg3:"#665c54",darkFg0:"#fbf1c7",darkFg1:"#ebdbb2",darkGray:"#928374",darkRed:"#cc241d",darkGreen:"#98971a",darkYellow:"#d79921",darkBlue:"#458588",darkPurple:"#b16286",darkAqua:"#689d6a",darkOrange:"#d65d0e",darkRedBright:"#fb4934",darkGreenBright:"#b8bb26",darkYellowBright:"#fabd2f",darkBlueBright:"#83a598",darkPurpleBright:"#d3869b",darkAquaBright:"#8ec07c",darkOrangeBright:"#fe8019",lightBg0:"#fbf1c7",lightBg1:"#ebdbb2",lightBg2:"#d5c4a1",lightBg3:"#bdae93",lightFg0:"#282828",lightFg1:"#3c3836",lightGray:"#7c6f64",lightRed:"#9d0006",lightGreen:"#79740e",lightYellow:"#b57614",lightBlue:"#076678",lightPurple:"#8f3f71",lightAqua:"#427b58",lightOrange:"#af3a03"},theme:{primary:{dark:"darkBlueBright",light:"lightBlue"},secondary:{dark:"darkPurpleBright",light:"lightPurple"},accent:{dark:"darkAquaBright",light:"lightAqua"},error:{dark:"darkRedBright",light:"lightRed"},warning:{dark:"darkOrangeBright",light:"lightOrange"},success:{dark:"darkGreenBright",light:"lightGreen"},info:{dark:"darkYellowBright",light:"lightYellow"},text:{dark:"darkFg1",light:"lightFg1"},textMuted:{dark:"darkGray",light:"lightGray"},background:{dark:"darkBg0",light:"lightBg0"},backgroundPanel:{dark:"darkBg1",light:"lightBg1"},backgroundElement:{dark:"darkBg2",light:"lightBg2"},border:{dark:"darkBg3",light:"lightBg3"},borderActive:{dark:"darkFg1",light:"lightFg1"},borderSubtle:{dark:"darkBg2",light:"lightBg2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkGray",light:"lightGray"},diffHunkHeader:{dark:"darkAqua",light:"lightAqua"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRed"},diffAddedBg:{dark:"#32302f",light:"#dcd8a4"},diffRemovedBg:{dark:"#322929",light:"#e2c7c3"},diffContextBg:{dark:"darkBg1",light:"lightBg1"},diffLineNumber:{dark:"darkBg3",light:"lightBg3"},diffAddedLineNumberBg:{dark:"#2a2827",light:"#cec99e"},diffRemovedLineNumberBg:{dark:"#2a2222",light:"#d3bdb9"},markdownText:{dark:"darkFg1",light:"lightFg1"},markdownHeading:{dark:"darkBlueBright",light:"lightBlue"},markdownLink:{dark:"darkAquaBright",light:"lightAqua"},markdownLinkText:{dark:"darkGreenBright",light:"lightGreen"},markdownCode:{dark:"darkYellowBright",light:"lightYellow"},markdownBlockQuote:{dark:"darkGray",light:"lightGray"},markdownEmph:{dark:"darkPurpleBright",light:"lightPurple"},markdownStrong:{dark:"darkOrangeBright",light:"lightOrange"},markdownHorizontalRule:{dark:"darkGray",light:"lightGray"},markdownListItem:{dark:"darkBlueBright",light:"lightBlue"},markdownListEnumeration:{dark:"darkAquaBright",light:"lightAqua"},markdownImage:{dark:"darkAquaBright",light:"lightAqua"},markdownImageText:{dark:"darkGreenBright",light:"lightGreen"},markdownCodeBlock:{dark:"darkFg1",light:"lightFg1"},syntaxComment:{dark:"darkGray",light:"lightGray"},syntaxKeyword:{dark:"darkRedBright",light:"lightRed"},syntaxFunction:{dark:"darkGreenBright",light:"lightGreen"},syntaxVariable:{dark:"darkBlueBright",light:"lightBlue"},syntaxString:{dark:"darkYellowBright",light:"lightYellow"},syntaxNumber:{dark:"darkPurpleBright",light:"lightPurple"},syntaxType:{dark:"darkAquaBright",light:"lightAqua"},syntaxOperator:{dark:"darkOrangeBright",light:"lightOrange"},syntaxPunctuation:{dark:"darkFg1",light:"lightFg1"}}};var kanagawa_default={$schema:"https://opencode.ai/theme.json",defs:{sumiInk0:"#1F1F28",sumiInk1:"#2A2A37",sumiInk2:"#363646",sumiInk3:"#54546D",fujiWhite:"#DCD7BA",oldWhite:"#C8C093",fujiGray:"#727169",oniViolet:"#957FB8",crystalBlue:"#7E9CD8",carpYellow:"#C38D9D",sakuraPink:"#D27E99",waveAqua:"#76946A",roninYellow:"#D7A657",dragonRed:"#E82424",lotusGreen:"#98BB6C",waveBlue:"#2D4F67",lightBg:"#F2E9DE",lightPaper:"#EAE4D7",lightText:"#54433A",lightGray:"#9E9389"},theme:{primary:{dark:"crystalBlue",light:"waveBlue"},secondary:{dark:"oniViolet",light:"oniViolet"},accent:{dark:"sakuraPink",light:"sakuraPink"},error:{dark:"dragonRed",light:"dragonRed"},warning:{dark:"roninYellow",light:"roninYellow"},success:{dark:"lotusGreen",light:"lotusGreen"},info:{dark:"waveAqua",light:"waveAqua"},text:{dark:"fujiWhite",light:"lightText"},textMuted:{dark:"fujiGray",light:"lightGray"},background:{dark:"sumiInk0",light:"lightBg"},backgroundPanel:{dark:"sumiInk1",light:"lightPaper"},backgroundElement:{dark:"sumiInk2",light:"#E3DCD2"},border:{dark:"sumiInk3",light:"#D4CBBF"},borderActive:{dark:"carpYellow",light:"carpYellow"},borderSubtle:{dark:"sumiInk2",light:"#DCD4C9"},diffAdded:{dark:"lotusGreen",light:"lotusGreen"},diffRemoved:{dark:"dragonRed",light:"dragonRed"},diffContext:{dark:"fujiGray",light:"lightGray"},diffHunkHeader:{dark:"waveBlue",light:"waveBlue"},diffHighlightAdded:{dark:"#A9D977",light:"#89AF5B"},diffHighlightRemoved:{dark:"#F24A4A",light:"#D61F1F"},diffAddedBg:{dark:"#252E25",light:"#EAF3E4"},diffRemovedBg:{dark:"#362020",light:"#FBE6E6"},diffContextBg:{dark:"sumiInk1",light:"lightPaper"},diffLineNumber:{dark:"sumiInk3",light:"#C7BEB4"},diffAddedLineNumberBg:{dark:"#202820",light:"#DDE8D6"},diffRemovedLineNumberBg:{dark:"#2D1C1C",light:"#F2DADA"},markdownText:{dark:"fujiWhite",light:"lightText"},markdownHeading:{dark:"oniViolet",light:"oniViolet"},markdownLink:{dark:"crystalBlue",light:"waveBlue"},markdownLinkText:{dark:"waveAqua",light:"waveAqua"},markdownCode:{dark:"lotusGreen",light:"lotusGreen"},markdownBlockQuote:{dark:"fujiGray",light:"lightGray"},markdownEmph:{dark:"carpYellow",light:"carpYellow"},markdownStrong:{dark:"roninYellow",light:"roninYellow"},markdownHorizontalRule:{dark:"fujiGray",light:"lightGray"},markdownListItem:{dark:"crystalBlue",light:"waveBlue"},markdownListEnumeration:{dark:"waveAqua",light:"waveAqua"},markdownImage:{dark:"crystalBlue",light:"waveBlue"},markdownImageText:{dark:"waveAqua",light:"waveAqua"},markdownCodeBlock:{dark:"fujiWhite",light:"lightText"},syntaxComment:{dark:"fujiGray",light:"lightGray"},syntaxKeyword:{dark:"oniViolet",light:"oniViolet"},syntaxFunction:{dark:"crystalBlue",light:"waveBlue"},syntaxVariable:{dark:"fujiWhite",light:"lightText"},syntaxString:{dark:"lotusGreen",light:"lotusGreen"},syntaxNumber:{dark:"roninYellow",light:"roninYellow"},syntaxType:{dark:"carpYellow",light:"carpYellow"},syntaxOperator:{dark:"sakuraPink",light:"sakuraPink"},syntaxPunctuation:{dark:"fujiWhite",light:"lightText"}}};var lucent_orng_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep6:"#3c3c3c",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#EE7948",darkAccent:"#FFF7F1",darkRed:"#e06c75",darkOrange:"#EC5B2B",darkBlue:"#6ba1e6",darkCyan:"#56b6c2",darkYellow:"#e5c07b",darkPanelBg:"#2a1a1599",lightStep6:"#d4d4d4",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#EE7948",lightAccent:"#c94d24",lightRed:"#d1383d",lightOrange:"#EC5B2B",lightBlue:"#0062d1",lightCyan:"#318795",lightYellow:"#b0851f",lightPanelBg:"#fff5f099"},theme:{primary:{dark:"darkOrange",light:"lightOrange"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkBlue",light:"lightBlue"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},selectedListItemText:{dark:"#0a0a0a",light:"#ffffff"},background:{dark:"transparent",light:"transparent"},backgroundPanel:{dark:"transparent",light:"transparent"},backgroundElement:{dark:"transparent",light:"transparent"},backgroundMenu:{dark:"darkPanelBg",light:"lightPanelBg"},border:{dark:"darkOrange",light:"lightOrange"},borderActive:{dark:"darkSecondary",light:"lightAccent"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"darkBlue",light:"lightBlue"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"darkBlue",light:"lightBlue"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"transparent",light:"transparent"},diffRemovedBg:{dark:"transparent",light:"transparent"},diffContextBg:{dark:"transparent",light:"transparent"},diffLineNumber:{dark:"#666666",light:"#999999"},diffAddedLineNumberBg:{dark:"transparent",light:"transparent"},diffRemovedLineNumberBg:{dark:"transparent",light:"transparent"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkOrange",light:"lightOrange"},markdownLink:{dark:"darkOrange",light:"lightOrange"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkBlue",light:"lightBlue"},markdownBlockQuote:{dark:"darkAccent",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkSecondary",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkOrange",light:"lightOrange"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkOrange",light:"lightOrange"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkOrange",light:"lightOrange"},syntaxFunction:{dark:"darkSecondary",light:"lightAccent"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkBlue",light:"lightBlue"},syntaxNumber:{dark:"darkAccent",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var material_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#263238",darkBgAlt:"#1e272c",darkBgPanel:"#37474f",darkFg:"#eeffff",darkFgMuted:"#546e7a",darkRed:"#f07178",darkPink:"#f78c6c",darkOrange:"#ffcb6b",darkYellow:"#ffcb6b",darkGreen:"#c3e88d",darkCyan:"#89ddff",darkBlue:"#82aaff",darkPurple:"#c792ea",darkViolet:"#bb80b3",lightBg:"#fafafa",lightBgAlt:"#f5f5f5",lightBgPanel:"#e7e7e8",lightFg:"#263238",lightFgMuted:"#90a4ae",lightRed:"#e53935",lightPink:"#ec407a",lightOrange:"#f4511e",lightYellow:"#ffb300",lightGreen:"#91b859",lightCyan:"#39adb5",lightBlue:"#6182b8",lightPurple:"#7c4dff",lightViolet:"#945eb8"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#37474f",light:"#e0e0e0"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#1e272c",light:"#eeeeee"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"darkGreen",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRed",light:"lightRed"},diffAddedBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedBg:{dark:"#3c2b2b",light:"#ffebee"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#37474f",light:"#cfd8dc"},diffAddedLineNumberBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3c2b2b",light:"#ffebee"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkBlue",light:"lightBlue"},markdownLink:{dark:"darkCyan",light:"lightCyan"},markdownLinkText:{dark:"darkPurple",light:"lightPurple"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"#37474f",light:"#e0e0e0"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkCyan",light:"lightCyan"},markdownImageText:{dark:"darkPurple",light:"lightPurple"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkFg",light:"lightFg"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var matrix_default={$schema:"https://opencode.ai/theme.json",defs:{matrixInk0:"#0a0e0a",matrixInk1:"#0e130d",matrixInk2:"#141c12",matrixInk3:"#1e2a1b",rainGreen:"#2eff6a",rainGreenDim:"#1cc24b",rainGreenHi:"#62ff94",rainCyan:"#00efff",rainTeal:"#24f6d9",rainPurple:"#c770ff",rainOrange:"#ffa83d",alertRed:"#ff4b4b",alertYellow:"#e6ff57",alertBlue:"#30b3ff",rainGray:"#8ca391",lightBg:"#eef3ea",lightPaper:"#e4ebe1",lightInk1:"#dae1d7",lightText:"#203022",lightGray:"#748476"},theme:{primary:{dark:"rainGreen",light:"rainGreenDim"},secondary:{dark:"rainCyan",light:"rainTeal"},accent:{dark:"rainPurple",light:"rainPurple"},error:{dark:"alertRed",light:"alertRed"},warning:{dark:"alertYellow",light:"alertYellow"},success:{dark:"rainGreenHi",light:"rainGreenDim"},info:{dark:"alertBlue",light:"alertBlue"},text:{dark:"rainGreenHi",light:"lightText"},textMuted:{dark:"rainGray",light:"lightGray"},background:{dark:"matrixInk0",light:"lightBg"},backgroundPanel:{dark:"matrixInk1",light:"lightPaper"},backgroundElement:{dark:"matrixInk2",light:"lightInk1"},border:{dark:"matrixInk3",light:"lightGray"},borderActive:{dark:"rainGreen",light:"rainGreenDim"},borderSubtle:{dark:"matrixInk2",light:"lightInk1"},diffAdded:{dark:"rainGreenDim",light:"rainGreenDim"},diffRemoved:{dark:"alertRed",light:"alertRed"},diffContext:{dark:"rainGray",light:"lightGray"},diffHunkHeader:{dark:"alertBlue",light:"alertBlue"},diffHighlightAdded:{dark:"#77ffaf",light:"#5dac7e"},diffHighlightRemoved:{dark:"#ff7171",light:"#d53a3a"},diffAddedBg:{dark:"#132616",light:"#e0efde"},diffRemovedBg:{dark:"#261212",light:"#f9e5e5"},diffContextBg:{dark:"matrixInk1",light:"lightPaper"},diffLineNumber:{dark:"matrixInk3",light:"lightGray"},diffAddedLineNumberBg:{dark:"#0f1b11",light:"#d6e7d2"},diffRemovedLineNumberBg:{dark:"#1b1414",light:"#f2d2d2"},markdownText:{dark:"rainGreenHi",light:"lightText"},markdownHeading:{dark:"rainCyan",light:"rainTeal"},markdownLink:{dark:"alertBlue",light:"alertBlue"},markdownLinkText:{dark:"rainTeal",light:"rainTeal"},markdownCode:{dark:"rainGreenDim",light:"rainGreenDim"},markdownBlockQuote:{dark:"rainGray",light:"lightGray"},markdownEmph:{dark:"rainOrange",light:"rainOrange"},markdownStrong:{dark:"alertYellow",light:"alertYellow"},markdownHorizontalRule:{dark:"rainGray",light:"lightGray"},markdownListItem:{dark:"alertBlue",light:"alertBlue"},markdownListEnumeration:{dark:"rainTeal",light:"rainTeal"},markdownImage:{dark:"alertBlue",light:"alertBlue"},markdownImageText:{dark:"rainTeal",light:"rainTeal"},markdownCodeBlock:{dark:"rainGreenHi",light:"lightText"},syntaxComment:{dark:"rainGray",light:"lightGray"},syntaxKeyword:{dark:"rainPurple",light:"rainPurple"},syntaxFunction:{dark:"alertBlue",light:"alertBlue"},syntaxVariable:{dark:"rainGreenHi",light:"lightText"},syntaxString:{dark:"rainGreenDim",light:"rainGreenDim"},syntaxNumber:{dark:"rainOrange",light:"rainOrange"},syntaxType:{dark:"alertYellow",light:"alertYellow"},syntaxOperator:{dark:"rainTeal",light:"rainTeal"},syntaxPunctuation:{dark:"rainGreenHi",light:"lightText"}}};var mercury_default={$schema:"https://opencode.ai/theme.json",defs:{"purple-800":"#3442a6","purple-700":"#465bd1","purple-600":"#5266eb","purple-400":"#8da4f5","purple-300":"#a7b6f8","red-700":"#b0175f","red-600":"#d03275","red-400":"#fc92b4","green-700":"#036e43","green-600":"#188554","green-400":"#77c599","orange-700":"#a44200","orange-600":"#c45000","orange-400":"#fc9b6f","blue-600":"#007f95","blue-400":"#77becf","neutral-1000":"#10101a","neutral-950":"#171721","neutral-900":"#1e1e2a","neutral-800":"#272735","neutral-700":"#363644","neutral-600":"#535461","neutral-500":"#70707d","neutral-400":"#9d9da8","neutral-300":"#c3c3cc","neutral-200":"#dddde5","neutral-100":"#f4f5f9","neutral-050":"#fbfcfd","neutral-000":"#ffffff","neutral-150":"#ededf3","border-light":"#7073931a","border-light-subtle":"#7073930f","border-dark":"#b4b7c81f","border-dark-subtle":"#b4b7c814","diff-added-light":"#1885541a","diff-removed-light":"#d032751a","diff-added-dark":"#77c59933","diff-removed-dark":"#fc92b433"},theme:{primary:{light:"purple-600",dark:"purple-400"},secondary:{light:"purple-700",dark:"purple-300"},accent:{light:"purple-400",dark:"purple-400"},error:{light:"red-700",dark:"red-400"},warning:{light:"orange-700",dark:"orange-400"},success:{light:"green-700",dark:"green-400"},info:{light:"blue-600",dark:"blue-400"},text:{light:"neutral-700",dark:"neutral-200"},textMuted:{light:"neutral-500",dark:"neutral-400"},background:{light:"neutral-000",dark:"neutral-950"},backgroundPanel:{light:"neutral-050",dark:"neutral-1000"},backgroundElement:{light:"neutral-100",dark:"neutral-800"},border:{light:"border-light",dark:"border-dark"},borderActive:{light:"purple-600",dark:"purple-400"},borderSubtle:{light:"border-light-subtle",dark:"border-dark-subtle"},diffAdded:{light:"green-700",dark:"green-400"},diffRemoved:{light:"red-700",dark:"red-400"},diffContext:{light:"neutral-500",dark:"neutral-400"},diffHunkHeader:{light:"neutral-500",dark:"neutral-400"},diffHighlightAdded:{light:"green-700",dark:"green-400"},diffHighlightRemoved:{light:"red-700",dark:"red-400"},diffAddedBg:{light:"diff-added-light",dark:"diff-added-dark"},diffRemovedBg:{light:"diff-removed-light",dark:"diff-removed-dark"},diffContextBg:{light:"neutral-050",dark:"neutral-900"},diffLineNumber:{light:"neutral-600",dark:"neutral-300"},diffAddedLineNumberBg:{light:"diff-added-light",dark:"diff-added-dark"},diffRemovedLineNumberBg:{light:"diff-removed-light",dark:"diff-removed-dark"},markdownText:{light:"neutral-700",dark:"neutral-200"},markdownHeading:{light:"neutral-900",dark:"neutral-000"},markdownLink:{light:"purple-700",dark:"purple-400"},markdownLinkText:{light:"purple-600",dark:"purple-300"},markdownCode:{light:"green-700",dark:"green-400"},markdownBlockQuote:{light:"neutral-500",dark:"neutral-400"},markdownEmph:{light:"orange-700",dark:"orange-400"},markdownStrong:{light:"neutral-900",dark:"neutral-100"},markdownHorizontalRule:{light:"border-light",dark:"border-dark"},markdownListItem:{light:"neutral-900",dark:"neutral-000"},markdownListEnumeration:{light:"purple-600",dark:"purple-400"},markdownImage:{light:"purple-700",dark:"purple-400"},markdownImageText:{light:"purple-600",dark:"purple-300"},markdownCodeBlock:{light:"neutral-700",dark:"neutral-200"},syntaxComment:{light:"neutral-500",dark:"neutral-400"},syntaxKeyword:{light:"purple-700",dark:"purple-400"},syntaxFunction:{light:"purple-600",dark:"purple-400"},syntaxVariable:{light:"blue-600",dark:"blue-400"},syntaxString:{light:"green-700",dark:"green-400"},syntaxNumber:{light:"orange-700",dark:"orange-400"},syntaxType:{light:"blue-600",dark:"blue-400"},syntaxOperator:{light:"purple-700",dark:"purple-400"},syntaxPunctuation:{light:"neutral-700",dark:"neutral-200"}}};var mono_default={$schema:"https://opencode.ai/theme.json",defs:{monoBgDark:"#1F1F1F",monoPanelDark:"#272727",monoElemDark:"#2E2E2E",monoTextDark:"#c9d1d9",monoMutedDark:"#444444",monoPrimaryDark:"#e6edf3",monoAccentDark:"#aaaaaa",monoSecondaryDark:"#888888",monoBorderDark:"#555555",monoBorderSubtleDark:"#555555",monoBgLight:"#F8F8F8",monoPanelLight:"#EFEFEF",monoElemLight:"#E4E4E4",monoTextLight:"#1A1A1A",monoMutedLight:"#5A5A5A",monoPrimaryLight:"#6D96B9",monoAccentLight:"#727272",monoSecondaryLight:"#505050",monoBorderLight:"#D0D0D0",monoBorderSubtleLight:"#E0E0E0",monoOkDark:"#888888",monoErrorDark:"#cccccc",monoWarnDark:"#999999",monoOkLight:"#888888",monoErrorLight:"#8C8C8C",monoWarnLight:"#999999"},theme:{primary:{dark:"monoPrimaryDark",light:"monoPrimaryLight"},secondary:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},accent:{dark:"monoAccentDark",light:"monoAccentLight"},error:{dark:"monoErrorDark",light:"monoErrorLight"},warning:{dark:"monoWarnDark",light:"monoWarnLight"},success:{dark:"monoOkDark",light:"monoOkLight"},info:{dark:"monoAccentDark",light:"monoAccentLight"},text:{dark:"monoTextDark",light:"monoTextLight"},textMuted:{dark:"monoMutedDark",light:"monoMutedLight"},background:{dark:"monoBgDark",light:"monoBgLight"},backgroundPanel:{dark:"monoPanelDark",light:"monoPanelLight"},backgroundElement:{dark:"monoElemDark",light:"monoElemLight"},border:{dark:"monoBorderDark",light:"monoBorderLight"},borderActive:{dark:"monoAccentDark",light:"monoAccentLight"},borderSubtle:{dark:"monoBorderSubtleDark",light:"monoBorderSubtleLight"},diffAdded:{dark:"monoOkDark",light:"monoOkLight"},diffRemoved:{dark:"monoErrorDark",light:"monoErrorLight"},diffContext:{dark:"monoMutedDark",light:"monoMutedLight"},diffHunkHeader:{dark:"monoMutedDark",light:"monoMutedLight"},diffHighlightAdded:{dark:"monoOkDark",light:"monoOkLight"},diffHighlightRemoved:{dark:"monoErrorDark",light:"monoErrorLight"},diffAddedBg:{dark:"#323232",light:"#E7E7E7"},diffRemovedBg:{dark:"#3E3E3E",light:"#E8E8E8"},diffContextBg:{dark:"monoPanelDark",light:"monoPanelLight"},diffLineNumber:{dark:"monoMutedDark",light:"monoMutedLight"},diffAddedLineNumberBg:{dark:"#2A2A2A",light:"#EFEFEF"},diffRemovedLineNumberBg:{dark:"#303030",light:"#EFEFEF"},markdownText:{dark:"monoTextDark",light:"monoTextLight"},markdownHeading:{dark:"monoPrimaryDark",light:"monoPrimaryLight"},markdownLink:{dark:"monoAccentDark",light:"monoAccentLight"},markdownLinkText:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},markdownCode:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},markdownBlockQuote:{dark:"monoMutedDark",light:"monoMutedLight"},markdownEmph:{dark:"monoAccentDark",light:"monoAccentLight"},markdownStrong:{dark:"monoPrimaryDark",light:"monoPrimaryLight"},markdownHorizontalRule:{dark:"monoBorderDark",light:"monoBorderLight"},markdownListItem:{dark:"monoTextDark",light:"monoTextLight"},markdownListEnumeration:{dark:"monoAccentDark",light:"monoAccentLight"},markdownImage:{dark:"monoAccentDark",light:"monoAccentLight"},markdownImageText:{dark:"monoMutedDark",light:"monoMutedLight"},markdownCodeBlock:{dark:"monoTextDark",light:"monoTextLight"},syntaxComment:{dark:"monoMutedDark",light:"monoMutedLight"},syntaxKeyword:{dark:"monoAccentDark",light:"monoAccentLight"},syntaxFunction:{dark:"monoPrimaryDark",light:"monoPrimaryLight"},syntaxVariable:{dark:"monoTextDark",light:"monoTextLight"},syntaxString:{dark:"monoOkDark",light:"monoOkLight"},syntaxNumber:{dark:"monoAccentDark",light:"monoAccentLight"},syntaxType:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},syntaxOperator:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},syntaxPunctuation:{dark:"monoTextDark",light:"monoTextLight"}}};var monokai_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#272822",backgroundAlt:"#1e1f1c",backgroundPanel:"#3e3d32",foreground:"#f8f8f2",comment:"#75715e",red:"#f92672",orange:"#fd971f",lightOrange:"#e69f66",yellow:"#e6db74",green:"#a6e22e",cyan:"#66d9ef",blue:"#66d9ef",purple:"#ae81ff",pink:"#f92672"},theme:{primary:{dark:"cyan",light:"blue"},secondary:{dark:"purple",light:"purple"},accent:{dark:"green",light:"green"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"orange"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"foreground",light:"#272822"},textMuted:{dark:"comment",light:"#75715e"},background:{dark:"#272822",light:"#fafafa"},backgroundPanel:{dark:"#1e1f1c",light:"#f0f0f0"},backgroundElement:{dark:"#3e3d32",light:"#e0e0e0"},border:{dark:"#3e3d32",light:"#d0d0d0"},borderActive:{dark:"cyan",light:"blue"},borderSubtle:{dark:"#1e1f1c",light:"#e8e8e8"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"comment",light:"#75715e"},diffHunkHeader:{dark:"comment",light:"#75715e"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedBg:{dark:"#3a1a1a",light:"#ffe0e0"},diffContextBg:{dark:"#1e1f1c",light:"#f0f0f0"},diffLineNumber:{dark:"#3e3d32",light:"#d0d0d0"},diffAddedLineNumberBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedLineNumberBg:{dark:"#3a1a1a",light:"#ffe0e0"},markdownText:{dark:"foreground",light:"#272822"},markdownHeading:{dark:"pink",light:"pink"},markdownLink:{dark:"cyan",light:"blue"},markdownLinkText:{dark:"purple",light:"purple"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"comment",light:"#75715e"},markdownEmph:{dark:"yellow",light:"orange"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"comment",light:"#75715e"},markdownListItem:{dark:"cyan",light:"blue"},markdownListEnumeration:{dark:"purple",light:"purple"},markdownImage:{dark:"cyan",light:"blue"},markdownImageText:{dark:"purple",light:"purple"},markdownCodeBlock:{dark:"foreground",light:"#272822"},syntaxComment:{dark:"comment",light:"#75715e"},syntaxKeyword:{dark:"pink",light:"pink"},syntaxFunction:{dark:"green",light:"green"},syntaxVariable:{dark:"foreground",light:"#272822"},syntaxString:{dark:"yellow",light:"orange"},syntaxNumber:{dark:"purple",light:"purple"},syntaxType:{dark:"cyan",light:"blue"},syntaxOperator:{dark:"pink",light:"pink"},syntaxPunctuation:{dark:"foreground",light:"#272822"}}};var nightowl_default={$schema:"https://opencode.ai/theme.json",defs:{nightOwlBg:"#011627",nightOwlFg:"#d6deeb",nightOwlBlue:"#82AAFF",nightOwlCyan:"#7fdbca",nightOwlGreen:"#c5e478",nightOwlYellow:"#ecc48d",nightOwlOrange:"#F78C6C",nightOwlRed:"#EF5350",nightOwlPink:"#ff5874",nightOwlPurple:"#c792ea",nightOwlMuted:"#5f7e97",nightOwlGray:"#637777",nightOwlLightGray:"#89a4bb",nightOwlPanel:"#0b253a"},theme:{primary:{dark:"nightOwlBlue",light:"nightOwlBlue"},secondary:{dark:"nightOwlCyan",light:"nightOwlCyan"},accent:{dark:"nightOwlPurple",light:"nightOwlPurple"},error:{dark:"nightOwlRed",light:"nightOwlRed"},warning:{dark:"nightOwlYellow",light:"nightOwlYellow"},success:{dark:"nightOwlGreen",light:"nightOwlGreen"},info:{dark:"nightOwlBlue",light:"nightOwlBlue"},text:{dark:"nightOwlFg",light:"nightOwlFg"},textMuted:{dark:"nightOwlMuted",light:"nightOwlMuted"},background:{dark:"nightOwlBg",light:"nightOwlBg"},backgroundPanel:{dark:"nightOwlPanel",light:"nightOwlPanel"},backgroundElement:{dark:"nightOwlPanel",light:"nightOwlPanel"},border:{dark:"nightOwlMuted",light:"nightOwlMuted"},borderActive:{dark:"nightOwlBlue",light:"nightOwlBlue"},borderSubtle:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffAdded:{dark:"nightOwlGreen",light:"nightOwlGreen"},diffRemoved:{dark:"nightOwlRed",light:"nightOwlRed"},diffContext:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffHunkHeader:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffHighlightAdded:{dark:"nightOwlGreen",light:"nightOwlGreen"},diffHighlightRemoved:{dark:"nightOwlRed",light:"nightOwlRed"},diffAddedBg:{dark:"#0a2e1a",light:"#0a2e1a"},diffRemovedBg:{dark:"#2d1b1b",light:"#2d1b1b"},diffContextBg:{dark:"nightOwlPanel",light:"nightOwlPanel"},diffLineNumber:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffAddedLineNumberBg:{dark:"#0a2e1a",light:"#0a2e1a"},diffRemovedLineNumberBg:{dark:"#2d1b1b",light:"#2d1b1b"},markdownText:{dark:"nightOwlFg",light:"nightOwlFg"},markdownHeading:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownLink:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownLinkText:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownCode:{dark:"nightOwlGreen",light:"nightOwlGreen"},markdownBlockQuote:{dark:"nightOwlMuted",light:"nightOwlMuted"},markdownEmph:{dark:"nightOwlPurple",light:"nightOwlPurple"},markdownStrong:{dark:"nightOwlYellow",light:"nightOwlYellow"},markdownHorizontalRule:{dark:"nightOwlMuted",light:"nightOwlMuted"},markdownListItem:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownListEnumeration:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownImage:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownImageText:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownCodeBlock:{dark:"nightOwlFg",light:"nightOwlFg"},syntaxComment:{dark:"nightOwlGray",light:"nightOwlGray"},syntaxKeyword:{dark:"nightOwlPurple",light:"nightOwlPurple"},syntaxFunction:{dark:"nightOwlBlue",light:"nightOwlBlue"},syntaxVariable:{dark:"nightOwlFg",light:"nightOwlFg"},syntaxString:{dark:"nightOwlYellow",light:"nightOwlYellow"},syntaxNumber:{dark:"nightOwlOrange",light:"nightOwlOrange"},syntaxType:{dark:"nightOwlGreen",light:"nightOwlGreen"},syntaxOperator:{dark:"nightOwlCyan",light:"nightOwlCyan"},syntaxPunctuation:{dark:"nightOwlFg",light:"nightOwlFg"}}};var nord_default={$schema:"https://opencode.ai/theme.json",defs:{nord0:"#2E3440",nord1:"#3B4252",nord2:"#434C5E",nord3:"#4C566A",nord4:"#D8DEE9",nord5:"#E5E9F0",nord6:"#ECEFF4",nord7:"#8FBCBB",nord8:"#88C0D0",nord9:"#81A1C1",nord10:"#5E81AC",nord11:"#BF616A",nord12:"#D08770",nord13:"#EBCB8B",nord14:"#A3BE8C",nord15:"#B48EAD"},theme:{primary:{dark:"nord8",light:"nord10"},secondary:{dark:"nord9",light:"nord9"},accent:{dark:"nord7",light:"nord7"},error:{dark:"nord11",light:"nord11"},warning:{dark:"nord12",light:"nord12"},success:{dark:"nord14",light:"nord14"},info:{dark:"nord8",light:"nord10"},text:{dark:"nord6",light:"nord0"},textMuted:{dark:"#8B95A7",light:"nord1"},background:{dark:"nord0",light:"nord6"},backgroundPanel:{dark:"nord1",light:"nord5"},backgroundElement:{dark:"nord2",light:"nord4"},border:{dark:"nord2",light:"nord3"},borderActive:{dark:"nord3",light:"nord2"},borderSubtle:{dark:"nord2",light:"nord3"},diffAdded:{dark:"nord14",light:"nord14"},diffRemoved:{dark:"nord11",light:"nord11"},diffContext:{dark:"#8B95A7",light:"nord3"},diffHunkHeader:{dark:"#8B95A7",light:"nord3"},diffHighlightAdded:{dark:"nord14",light:"nord14"},diffHighlightRemoved:{dark:"nord11",light:"nord11"},diffAddedBg:{dark:"#3B4252",light:"#E5E9F0"},diffRemovedBg:{dark:"#3B4252",light:"#E5E9F0"},diffContextBg:{dark:"nord1",light:"nord5"},diffLineNumber:{dark:"nord2",light:"nord4"},diffAddedLineNumberBg:{dark:"#3B4252",light:"#E5E9F0"},diffRemovedLineNumberBg:{dark:"#3B4252",light:"#E5E9F0"},markdownText:{dark:"nord4",light:"nord0"},markdownHeading:{dark:"nord8",light:"nord10"},markdownLink:{dark:"nord9",light:"nord9"},markdownLinkText:{dark:"nord7",light:"nord7"},markdownCode:{dark:"nord14",light:"nord14"},markdownBlockQuote:{dark:"#8B95A7",light:"nord3"},markdownEmph:{dark:"nord12",light:"nord12"},markdownStrong:{dark:"nord13",light:"nord13"},markdownHorizontalRule:{dark:"#8B95A7",light:"nord3"},markdownListItem:{dark:"nord8",light:"nord10"},markdownListEnumeration:{dark:"nord7",light:"nord7"},markdownImage:{dark:"nord9",light:"nord9"},markdownImageText:{dark:"nord7",light:"nord7"},markdownCodeBlock:{dark:"nord4",light:"nord0"},syntaxComment:{dark:"#8B95A7",light:"nord3"},syntaxKeyword:{dark:"nord9",light:"nord9"},syntaxFunction:{dark:"nord8",light:"nord8"},syntaxVariable:{dark:"nord7",light:"nord7"},syntaxString:{dark:"nord14",light:"nord14"},syntaxNumber:{dark:"nord15",light:"nord15"},syntaxType:{dark:"nord7",light:"nord7"},syntaxOperator:{dark:"nord9",light:"nord9"},syntaxPunctuation:{dark:"nord4",light:"nord0"}}};var one_dark_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#282c34",darkBgAlt:"#21252b",darkBgPanel:"#353b45",darkFg:"#abb2bf",darkFgMuted:"#5c6370",darkPurple:"#c678dd",darkBlue:"#61afef",darkRed:"#e06c75",darkGreen:"#98c379",darkYellow:"#e5c07b",darkOrange:"#d19a66",darkCyan:"#56b6c2",lightBg:"#fafafa",lightBgAlt:"#f0f0f1",lightBgPanel:"#eaeaeb",lightFg:"#383a42",lightFgMuted:"#a0a1a7",lightPurple:"#a626a4",lightBlue:"#4078f2",lightRed:"#e45649",lightGreen:"#50a14f",lightYellow:"#c18401",lightOrange:"#986801",lightCyan:"#0184bc"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#393f4a",light:"#d1d1d2"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#2c313a",light:"#e0e0e1"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"#aad482",light:"#489447"},diffHighlightRemoved:{dark:"#e8828b",light:"#d65145"},diffAddedBg:{dark:"#2c382b",light:"#eafbe9"},diffRemovedBg:{dark:"#3a2d2f",light:"#fce9e8"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#495162",light:"#c9c9ca"},diffAddedLineNumberBg:{dark:"#283427",light:"#e1f3df"},diffRemovedLineNumberBg:{dark:"#36292b",light:"#f5e2e1"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkPurple",light:"lightPurple"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkFgMuted",light:"lightFgMuted"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var opencode_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#0a0a0a",darkStep2:"#141414",darkStep3:"#1e1e1e",darkStep4:"#282828",darkStep5:"#323232",darkStep6:"#3c3c3c",darkStep7:"#484848",darkStep8:"#606060",darkStep9:"#fab283",darkStep10:"#ffc09f",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#5c9cf5",darkAccent:"#9d7cd8",darkRed:"#e06c75",darkOrange:"#f5a742",darkGreen:"#7fd88f",darkCyan:"#56b6c2",darkYellow:"#e5c07b",lightStep1:"#ffffff",lightStep2:"#fafafa",lightStep3:"#f5f5f5",lightStep4:"#ebebeb",lightStep5:"#e1e1e1",lightStep6:"#d4d4d4",lightStep7:"#b8b8b8",lightStep8:"#a0a0a0",lightStep9:"#3b7dd8",lightStep10:"#2968c3",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#7b5bb6",lightAccent:"#d68c27",lightRed:"#d1383d",lightOrange:"#d68c27",lightGreen:"#3d9a57",lightCyan:"#318795",lightYellow:"#b0851f"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"darkStep3",light:"lightStep3"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkAccent",light:"lightAccent"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkAccent",light:"lightAccent"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var orng_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#0a0a0a",darkStep2:"#141414",darkStep3:"#1e1e1e",darkStep4:"#282828",darkStep5:"#323232",darkStep6:"#3c3c3c",darkStep7:"#484848",darkStep8:"#606060",darkStep9:"#EC5B2B",darkStep10:"#EE7948",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#EE7948",darkAccent:"#FFF7F1",darkRed:"#e06c75",darkOrange:"#EC5B2B",darkBlue:"#6ba1e6",darkCyan:"#56b6c2",darkYellow:"#e5c07b",lightStep1:"#ffffff",lightStep2:"#FFF7F1",lightStep3:"#f5f0eb",lightStep4:"#ebebeb",lightStep5:"#e1e1e1",lightStep6:"#d4d4d4",lightStep7:"#b8b8b8",lightStep8:"#a0a0a0",lightStep9:"#EC5B2B",lightStep10:"#c94d24",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#EE7948",lightAccent:"#c94d24",lightRed:"#d1383d",lightOrange:"#EC5B2B",lightBlue:"#0062d1",lightCyan:"#318795",lightYellow:"#b0851f"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkBlue",light:"lightBlue"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},selectedListItemText:{dark:"#0a0a0a",light:"#ffffff"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"#EC5B2B",light:"#EC5B2B"},borderActive:{dark:"#EE7948",light:"#c94d24"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#6ba1e6",light:"#0062d1"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#6ba1e6",light:"#0062d1"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#1a2a3d",light:"#e0edfa"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"darkStep3",light:"lightStep3"},diffAddedLineNumberBg:{dark:"#162535",light:"#d0e5f5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"#EC5B2B",light:"#EC5B2B"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkBlue",light:"lightBlue"},markdownBlockQuote:{dark:"#FFF7F1",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"#EE7948",light:"#EC5B2B"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"#EC5B2B",light:"#EC5B2B"},syntaxFunction:{dark:"#EE7948",light:"#c94d24"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkBlue",light:"lightBlue"},syntaxNumber:{dark:"#FFF7F1",light:"#EC5B2B"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var osaka_jade_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg0:"#111c18",darkBg1:"#1a2520",darkBg2:"#23372B",darkBg3:"#3d4a44",darkFg0:"#C1C497",darkFg1:"#9aa88a",darkGray:"#53685B",darkRed:"#FF5345",darkGreen:"#549e6a",darkYellow:"#459451",darkBlue:"#509475",darkMagenta:"#D2689C",darkCyan:"#2DD5B7",darkWhite:"#F6F5DD",darkRedBright:"#db9f9c",darkGreenBright:"#63b07a",darkYellowBright:"#E5C736",darkBlueBright:"#ACD4CF",darkMagentaBright:"#75bbb3",darkCyanBright:"#8CD3CB",lightBg0:"#F6F5DD",lightBg1:"#E8E7CC",lightBg2:"#D5D4B8",lightBg3:"#A8A78C",lightFg0:"#111c18",lightFg1:"#1a2520",lightGray:"#53685B",lightRed:"#c7392d",lightGreen:"#3d7a52",lightYellow:"#b5a020",lightBlue:"#3d7560",lightMagenta:"#a8527a",lightCyan:"#1faa90"},theme:{primary:{dark:"darkCyan",light:"lightCyan"},secondary:{dark:"darkMagenta",light:"lightMagenta"},accent:{dark:"darkGreen",light:"lightGreen"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellowBright",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkFg0",light:"lightFg0"},textMuted:{dark:"darkGray",light:"lightGray"},background:{dark:"darkBg0",light:"lightBg0"},backgroundPanel:{dark:"darkBg1",light:"lightBg1"},backgroundElement:{dark:"darkBg2",light:"lightBg2"},border:{dark:"darkBg3",light:"lightBg3"},borderActive:{dark:"darkCyan",light:"lightCyan"},borderSubtle:{dark:"darkBg2",light:"lightBg2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkGray",light:"lightGray"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRed"},diffAddedBg:{dark:"#15241c",light:"#e0eee5"},diffRemovedBg:{dark:"#241515",light:"#eee0e0"},diffContextBg:{dark:"darkBg1",light:"lightBg1"},diffLineNumber:{dark:"darkBg3",light:"lightBg3"},diffAddedLineNumberBg:{dark:"#121f18",light:"#d5e5da"},diffRemovedLineNumberBg:{dark:"#1f1212",light:"#e5d5d5"},markdownText:{dark:"darkFg0",light:"lightFg0"},markdownHeading:{dark:"darkCyan",light:"lightCyan"},markdownLink:{dark:"darkCyanBright",light:"lightCyan"},markdownLinkText:{dark:"darkGreen",light:"lightGreen"},markdownCode:{dark:"darkGreenBright",light:"lightGreen"},markdownBlockQuote:{dark:"darkGray",light:"lightGray"},markdownEmph:{dark:"darkMagenta",light:"lightMagenta"},markdownStrong:{dark:"darkFg0",light:"lightFg0"},markdownHorizontalRule:{dark:"darkGray",light:"lightGray"},markdownListItem:{dark:"darkCyan",light:"lightCyan"},markdownListEnumeration:{dark:"darkCyanBright",light:"lightCyan"},markdownImage:{dark:"darkCyanBright",light:"lightCyan"},markdownImageText:{dark:"darkGreen",light:"lightGreen"},markdownCodeBlock:{dark:"darkFg0",light:"lightFg0"},syntaxComment:{dark:"darkGray",light:"lightGray"},syntaxKeyword:{dark:"darkCyan",light:"lightCyan"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkFg0",light:"lightFg0"},syntaxString:{dark:"darkGreenBright",light:"lightGreen"},syntaxNumber:{dark:"darkMagenta",light:"lightMagenta"},syntaxType:{dark:"darkGreen",light:"lightGreen"},syntaxOperator:{dark:"darkYellow",light:"lightYellow"},syntaxPunctuation:{dark:"darkFg0",light:"lightFg0"}}};var palenight_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#292d3e",backgroundAlt:"#1e2132",backgroundPanel:"#32364a",foreground:"#a6accd",foregroundBright:"#bfc7d5",comment:"#676e95",red:"#f07178",orange:"#f78c6c",yellow:"#ffcb6b",green:"#c3e88d",cyan:"#89ddff",blue:"#82aaff",purple:"#c792ea",magenta:"#ff5370",pink:"#f07178"},theme:{primary:{dark:"blue",light:"#4976eb"},secondary:{dark:"purple",light:"#a854f2"},accent:{dark:"cyan",light:"#00acc1"},error:{dark:"red",light:"#e53935"},warning:{dark:"yellow",light:"#ffb300"},success:{dark:"green",light:"#91b859"},info:{dark:"orange",light:"#f4511e"},text:{dark:"foreground",light:"#292d3e"},textMuted:{dark:"comment",light:"#8796b0"},background:{dark:"#292d3e",light:"#fafafa"},backgroundPanel:{dark:"#1e2132",light:"#f5f5f5"},backgroundElement:{dark:"#32364a",light:"#e7e7e8"},border:{dark:"#32364a",light:"#e0e0e0"},borderActive:{dark:"blue",light:"#4976eb"},borderSubtle:{dark:"#1e2132",light:"#eeeeee"},diffAdded:{dark:"green",light:"#91b859"},diffRemoved:{dark:"red",light:"#e53935"},diffContext:{dark:"comment",light:"#8796b0"},diffHunkHeader:{dark:"cyan",light:"#00acc1"},diffHighlightAdded:{dark:"green",light:"#91b859"},diffHighlightRemoved:{dark:"red",light:"#e53935"},diffAddedBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedBg:{dark:"#3c2b2b",light:"#ffebee"},diffContextBg:{dark:"#1e2132",light:"#f5f5f5"},diffLineNumber:{dark:"#444760",light:"#cfd8dc"},diffAddedLineNumberBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3c2b2b",light:"#ffebee"},markdownText:{dark:"foreground",light:"#292d3e"},markdownHeading:{dark:"purple",light:"#a854f2"},markdownLink:{dark:"blue",light:"#4976eb"},markdownLinkText:{dark:"cyan",light:"#00acc1"},markdownCode:{dark:"green",light:"#91b859"},markdownBlockQuote:{dark:"comment",light:"#8796b0"},markdownEmph:{dark:"yellow",light:"#ffb300"},markdownStrong:{dark:"orange",light:"#f4511e"},markdownHorizontalRule:{dark:"comment",light:"#8796b0"},markdownListItem:{dark:"blue",light:"#4976eb"},markdownListEnumeration:{dark:"cyan",light:"#00acc1"},markdownImage:{dark:"blue",light:"#4976eb"},markdownImageText:{dark:"cyan",light:"#00acc1"},markdownCodeBlock:{dark:"foreground",light:"#292d3e"},syntaxComment:{dark:"comment",light:"#8796b0"},syntaxKeyword:{dark:"purple",light:"#a854f2"},syntaxFunction:{dark:"blue",light:"#4976eb"},syntaxVariable:{dark:"foreground",light:"#292d3e"},syntaxString:{dark:"green",light:"#91b859"},syntaxNumber:{dark:"orange",light:"#f4511e"},syntaxType:{dark:"yellow",light:"#ffb300"},syntaxOperator:{dark:"cyan",light:"#00acc1"},syntaxPunctuation:{dark:"foreground",light:"#292d3e"}}};var poseidon_default={$schema:"https://opencode.ai/theme.json",defs:{poseidonBgDark:"#0F2440",poseidonPanelDark:"#122B4C",poseidonElemDark:"#153259",poseidonTextDark:"#EAF7FF",poseidonMutedDark:"#496884",poseidonPrimaryDark:"#A9DFFF",poseidonAccentDark:"#5DB8F5",poseidonSecondaryDark:"#A9DFFF",poseidonBorderDark:"#2A6FB9",poseidonBorderSubtleDark:"#496884",poseidonBgLight:"#F8F8F8",poseidonPanelLight:"#EFEFEF",poseidonElemLight:"#E4E4E4",poseidonTextLight:"#1A1A1A",poseidonMutedLight:"#5A5A5A",poseidonPrimaryLight:"#009AF5",poseidonAccentLight:"#0D85D5",poseidonSecondaryLight:"#009AF5",poseidonBorderLight:"#D0D0D0",poseidonBorderSubtleLight:"#E0E0E0",poseidonOkDark:"#4caf50",poseidonErrorDark:"#ef5350",poseidonWarnDark:"#ffa726",poseidonOkLight:"#4caf50",poseidonErrorLight:"#ef5350",poseidonWarnLight:"#A56200"},theme:{primary:{dark:"poseidonPrimaryDark",light:"poseidonPrimaryLight"},secondary:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},accent:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},error:{dark:"poseidonErrorDark",light:"poseidonErrorLight"},warning:{dark:"poseidonWarnDark",light:"poseidonWarnLight"},success:{dark:"poseidonOkDark",light:"poseidonOkLight"},info:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},text:{dark:"poseidonTextDark",light:"poseidonTextLight"},textMuted:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},background:{dark:"poseidonBgDark",light:"poseidonBgLight"},backgroundPanel:{dark:"poseidonPanelDark",light:"poseidonPanelLight"},backgroundElement:{dark:"poseidonElemDark",light:"poseidonElemLight"},border:{dark:"poseidonBorderDark",light:"poseidonBorderLight"},borderActive:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},borderSubtle:{dark:"poseidonBorderSubtleDark",light:"poseidonBorderSubtleLight"},diffAdded:{dark:"poseidonOkDark",light:"poseidonOkLight"},diffRemoved:{dark:"poseidonErrorDark",light:"poseidonErrorLight"},diffContext:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},diffHunkHeader:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},diffHighlightAdded:{dark:"poseidonOkDark",light:"poseidonOkLight"},diffHighlightRemoved:{dark:"poseidonErrorDark",light:"poseidonErrorLight"},diffAddedBg:{dark:"#1A3D43",light:"#DEEDDF"},diffRemovedBg:{dark:"#372C43",light:"#F7DFDF"},diffContextBg:{dark:"poseidonPanelDark",light:"poseidonPanelLight"},diffLineNumber:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},diffAddedLineNumberBg:{dark:"#153242",light:"#EAF2EB"},diffRemovedLineNumberBg:{dark:"#252942",light:"#F7EBEB"},markdownText:{dark:"poseidonTextDark",light:"poseidonTextLight"},markdownHeading:{dark:"poseidonPrimaryDark",light:"poseidonPrimaryLight"},markdownLink:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},markdownLinkText:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},markdownCode:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},markdownBlockQuote:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},markdownEmph:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},markdownStrong:{dark:"poseidonPrimaryDark",light:"poseidonPrimaryLight"},markdownHorizontalRule:{dark:"poseidonBorderDark",light:"poseidonBorderLight"},markdownListItem:{dark:"poseidonTextDark",light:"poseidonTextLight"},markdownListEnumeration:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},markdownImage:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},markdownImageText:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},markdownCodeBlock:{dark:"poseidonTextDark",light:"poseidonTextLight"},syntaxComment:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},syntaxKeyword:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},syntaxFunction:{dark:"poseidonPrimaryDark",light:"poseidonPrimaryLight"},syntaxVariable:{dark:"poseidonTextDark",light:"poseidonTextLight"},syntaxString:{dark:"poseidonOkDark",light:"poseidonOkLight"},syntaxNumber:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},syntaxType:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},syntaxOperator:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},syntaxPunctuation:{dark:"poseidonTextDark",light:"poseidonTextLight"}}};var rosepine_default={$schema:"https://opencode.ai/theme.json",defs:{base:"#191724",surface:"#1f1d2e",overlay:"#26233a",muted:"#6e6a86",subtle:"#908caa",text:"#e0def4",love:"#eb6f92",gold:"#f6c177",rose:"#ebbcba",pine:"#31748f",foam:"#9ccfd8",iris:"#c4a7e7",highlightLow:"#21202e",highlightMed:"#403d52",highlightHigh:"#524f67",moonBase:"#232136",moonSurface:"#2a273f",moonOverlay:"#393552",moonMuted:"#6e6a86",moonSubtle:"#908caa",moonText:"#e0def4",dawnBase:"#faf4ed",dawnSurface:"#fffaf3",dawnOverlay:"#f2e9e1",dawnMuted:"#9893a5",dawnSubtle:"#797593",dawnText:"#575279"},theme:{primary:{dark:"foam",light:"pine"},secondary:{dark:"iris",light:"#907aa9"},accent:{dark:"rose",light:"#d7827e"},error:{dark:"love",light:"#b4637a"},warning:{dark:"gold",light:"#ea9d34"},success:{dark:"pine",light:"#286983"},info:{dark:"foam",light:"#56949f"},text:{dark:"#e0def4",light:"#575279"},textMuted:{dark:"muted",light:"dawnMuted"},background:{dark:"base",light:"dawnBase"},backgroundPanel:{dark:"surface",light:"dawnSurface"},backgroundElement:{dark:"overlay",light:"dawnOverlay"},border:{dark:"highlightMed",light:"#dfdad9"},borderActive:{dark:"foam",light:"pine"},borderSubtle:{dark:"highlightLow",light:"#f4ede8"},diffAdded:{dark:"pine",light:"#286983"},diffRemoved:{dark:"love",light:"#b4637a"},diffContext:{dark:"muted",light:"dawnMuted"},diffHunkHeader:{dark:"iris",light:"#907aa9"},diffHighlightAdded:{dark:"pine",light:"#286983"},diffHighlightRemoved:{dark:"love",light:"#b4637a"},diffAddedBg:{dark:"#1f2d3a",light:"#e5f2f3"},diffRemovedBg:{dark:"#3a1f2d",light:"#fce5e8"},diffContextBg:{dark:"surface",light:"dawnSurface"},diffLineNumber:{dark:"muted",light:"dawnMuted"},diffAddedLineNumberBg:{dark:"#1f2d3a",light:"#e5f2f3"},diffRemovedLineNumberBg:{dark:"#3a1f2d",light:"#fce5e8"},markdownText:{dark:"#e0def4",light:"#575279"},markdownHeading:{dark:"iris",light:"#907aa9"},markdownLink:{dark:"foam",light:"pine"},markdownLinkText:{dark:"rose",light:"#d7827e"},markdownCode:{dark:"pine",light:"#286983"},markdownBlockQuote:{dark:"muted",light:"dawnMuted"},markdownEmph:{dark:"gold",light:"#ea9d34"},markdownStrong:{dark:"love",light:"#b4637a"},markdownHorizontalRule:{dark:"highlightMed",light:"#dfdad9"},markdownListItem:{dark:"foam",light:"pine"},markdownListEnumeration:{dark:"rose",light:"#d7827e"},markdownImage:{dark:"foam",light:"pine"},markdownImageText:{dark:"rose",light:"#d7827e"},markdownCodeBlock:{dark:"#e0def4",light:"#575279"},syntaxComment:{dark:"muted",light:"dawnMuted"},syntaxKeyword:{dark:"pine",light:"#286983"},syntaxFunction:{dark:"rose",light:"#d7827e"},syntaxVariable:{dark:"#e0def4",light:"#575279"},syntaxString:{dark:"gold",light:"#ea9d34"},syntaxNumber:{dark:"iris",light:"#907aa9"},syntaxType:{dark:"foam",light:"#56949f"},syntaxOperator:{dark:"subtle",light:"dawnSubtle"},syntaxPunctuation:{dark:"subtle",light:"dawnSubtle"}}};var sisyphus_default={$schema:"https://opencode.ai/theme.json",defs:{sisyphusBgDark:"#202020",sisyphusPanelDark:"#282828",sisyphusElemDark:"#2F2F2F",sisyphusTextDark:"#D3D3D3",sisyphusMutedDark:"#4A4A4A",sisyphusPrimaryDark:"#F5F5F5",sisyphusAccentDark:"#E7E7E7",sisyphusSecondaryDark:"#D3D3D3",sisyphusBorderDark:"#B7B7B7",sisyphusBorderSubtleDark:"#656565",sisyphusBgLight:"#F8F8F8",sisyphusPanelLight:"#EFEFEF",sisyphusElemLight:"#E4E4E4",sisyphusTextLight:"#1A1A1A",sisyphusMutedLight:"#5A5A5A",sisyphusPrimaryLight:"#9C9C9C",sisyphusAccentLight:"#8E8E8E",sisyphusSecondaryLight:"#7A7A7A",sisyphusBorderLight:"#D0D0D0",sisyphusBorderSubtleLight:"#E0E0E0",sisyphusOkDark:"#919191",sisyphusErrorDark:"#E7E7E7",sisyphusWarnDark:"#B7B7B7",sisyphusOkLight:"#919191",sisyphusErrorLight:"#A7A7A7",sisyphusWarnLight:"#777777"},theme:{primary:{dark:"sisyphusPrimaryDark",light:"sisyphusPrimaryLight"},secondary:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},accent:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},error:{dark:"sisyphusErrorDark",light:"sisyphusErrorLight"},warning:{dark:"sisyphusWarnDark",light:"sisyphusWarnLight"},success:{dark:"sisyphusOkDark",light:"sisyphusOkLight"},info:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},text:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},textMuted:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},background:{dark:"sisyphusBgDark",light:"sisyphusBgLight"},backgroundPanel:{dark:"sisyphusPanelDark",light:"sisyphusPanelLight"},backgroundElement:{dark:"sisyphusElemDark",light:"sisyphusElemLight"},border:{dark:"sisyphusBorderDark",light:"sisyphusBorderLight"},borderActive:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},borderSubtle:{dark:"sisyphusBorderSubtleDark",light:"sisyphusBorderSubtleLight"},diffAdded:{dark:"sisyphusOkDark",light:"sisyphusOkLight"},diffRemoved:{dark:"sisyphusErrorDark",light:"sisyphusErrorLight"},diffContext:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},diffHunkHeader:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},diffHighlightAdded:{dark:"sisyphusOkDark",light:"sisyphusOkLight"},diffHighlightRemoved:{dark:"sisyphusErrorDark",light:"sisyphusErrorLight"},diffAddedBg:{dark:"#343434",light:"#E9E9E9"},diffRemovedBg:{dark:"#444444",light:"#ECECEC"},diffContextBg:{dark:"sisyphusPanelDark",light:"sisyphusPanelLight"},diffLineNumber:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},diffAddedLineNumberBg:{dark:"#2B2B2B",light:"#F0F0F0"},diffRemovedLineNumberBg:{dark:"#343434",light:"#F2F2F2"},markdownText:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},markdownHeading:{dark:"sisyphusPrimaryDark",light:"sisyphusPrimaryLight"},markdownLink:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},markdownLinkText:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},markdownCode:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},markdownBlockQuote:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},markdownEmph:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},markdownStrong:{dark:"sisyphusPrimaryDark",light:"sisyphusPrimaryLight"},markdownHorizontalRule:{dark:"sisyphusBorderDark",light:"sisyphusBorderLight"},markdownListItem:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},markdownListEnumeration:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},markdownImage:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},markdownImageText:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},markdownCodeBlock:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},syntaxComment:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},syntaxKeyword:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},syntaxFunction:{dark:"sisyphusPrimaryDark",light:"sisyphusPrimaryLight"},syntaxVariable:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},syntaxString:{dark:"sisyphusOkDark",light:"sisyphusOkLight"},syntaxNumber:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},syntaxType:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},syntaxOperator:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},syntaxPunctuation:{dark:"sisyphusTextDark",light:"sisyphusTextLight"}}};var slate_default={$schema:"https://opencode.ai/theme.json",defs:{slateBgDark:"#151C2F",slatePanelDark:"#1A223A",slateElemDark:"#1E2944",slateTextDark:"#c9d1d9",slateMutedDark:"#4b5563",slatePrimaryDark:"#7eb8f6",slateAccentDark:"#8EA8FF",slateSecondaryDark:"#8EA8FF",slateBorderDark:"#4169e1",slateBorderSubtleDark:"#4b5563",slateBgLight:"#F8F8F8",slatePanelLight:"#EFEFEF",slateElemLight:"#E4E4E4",slateTextLight:"#1A1A1A",slateMutedLight:"#5A5A5A",slatePrimaryLight:"#157EEF",slateAccentLight:"#1E52FF",slateSecondaryLight:"#1E52FF",slateBorderLight:"#D0D0D0",slateBorderSubtleLight:"#E0E0E0",slateOkDark:"#63D0A6",slateErrorDark:"#F7A072",slateWarnDark:"#e6a855",slateOkLight:"#2A8A65",slateErrorLight:"#DD550D",slateWarnLight:"#A36818"},theme:{primary:{dark:"slatePrimaryDark",light:"slatePrimaryLight"},secondary:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},accent:{dark:"slateAccentDark",light:"slateAccentLight"},error:{dark:"slateErrorDark",light:"slateErrorLight"},warning:{dark:"slateWarnDark",light:"slateWarnLight"},success:{dark:"slateOkDark",light:"slateOkLight"},info:{dark:"slateAccentDark",light:"slateAccentLight"},text:{dark:"slateTextDark",light:"slateTextLight"},textMuted:{dark:"slateMutedDark",light:"slateMutedLight"},background:{dark:"slateBgDark",light:"slateBgLight"},backgroundPanel:{dark:"slatePanelDark",light:"slatePanelLight"},backgroundElement:{dark:"slateElemDark",light:"slateElemLight"},border:{dark:"slateBorderDark",light:"slateBorderLight"},borderActive:{dark:"slateAccentDark",light:"slateAccentLight"},borderSubtle:{dark:"slateBorderSubtleDark",light:"slateBorderSubtleLight"},diffAdded:{dark:"slateOkDark",light:"slateOkLight"},diffRemoved:{dark:"slateErrorDark",light:"slateErrorLight"},diffContext:{dark:"slateMutedDark",light:"slateMutedLight"},diffHunkHeader:{dark:"slateMutedDark",light:"slateMutedLight"},diffHighlightAdded:{dark:"slateOkDark",light:"slateOkLight"},diffHighlightRemoved:{dark:"slateErrorDark",light:"slateErrorLight"},diffAddedBg:{dark:"#233C44",light:"#D9E8E2"},diffRemovedBg:{dark:"#3E343B",light:"#F4E0D5"},diffContextBg:{dark:"slatePanelDark",light:"slatePanelLight"},diffLineNumber:{dark:"slateMutedDark",light:"slateMutedLight"},diffAddedLineNumberBg:{dark:"#1D2E3B",light:"#E8EFEC"},diffRemovedLineNumberBg:{dark:"#2C2936",light:"#F6EBE5"},markdownText:{dark:"slateTextDark",light:"slateTextLight"},markdownHeading:{dark:"slatePrimaryDark",light:"slatePrimaryLight"},markdownLink:{dark:"slateAccentDark",light:"slateAccentLight"},markdownLinkText:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},markdownCode:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},markdownBlockQuote:{dark:"slateMutedDark",light:"slateMutedLight"},markdownEmph:{dark:"slateAccentDark",light:"slateAccentLight"},markdownStrong:{dark:"slatePrimaryDark",light:"slatePrimaryLight"},markdownHorizontalRule:{dark:"slateBorderDark",light:"slateBorderLight"},markdownListItem:{dark:"slateTextDark",light:"slateTextLight"},markdownListEnumeration:{dark:"slateAccentDark",light:"slateAccentLight"},markdownImage:{dark:"slateAccentDark",light:"slateAccentLight"},markdownImageText:{dark:"slateMutedDark",light:"slateMutedLight"},markdownCodeBlock:{dark:"slateTextDark",light:"slateTextLight"},syntaxComment:{dark:"slateMutedDark",light:"slateMutedLight"},syntaxKeyword:{dark:"slateAccentDark",light:"slateAccentLight"},syntaxFunction:{dark:"slatePrimaryDark",light:"slatePrimaryLight"},syntaxVariable:{dark:"slateTextDark",light:"slateTextLight"},syntaxString:{dark:"slateOkDark",light:"slateOkLight"},syntaxNumber:{dark:"slateAccentDark",light:"slateAccentLight"},syntaxType:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},syntaxOperator:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},syntaxPunctuation:{dark:"slateTextDark",light:"slateTextLight"}}};var solarized_default={$schema:"https://opencode.ai/theme.json",defs:{base03:"#002b36",base02:"#073642",base01:"#586e75",base00:"#657b83",base0:"#839496",base1:"#93a1a1",base2:"#eee8d5",base3:"#fdf6e3",yellow:"#b58900",orange:"#cb4b16",red:"#dc322f",magenta:"#d33682",violet:"#6c71c4",blue:"#268bd2",cyan:"#2aa198",green:"#859900"},theme:{primary:{dark:"blue",light:"blue"},secondary:{dark:"violet",light:"violet"},accent:{dark:"cyan",light:"cyan"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"yellow"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"base0",light:"base00"},textMuted:{dark:"base01",light:"base1"},background:{dark:"base03",light:"base3"},backgroundPanel:{dark:"base02",light:"base2"},backgroundElement:{dark:"#073642",light:"#eee8d5"},border:{dark:"base02",light:"base2"},borderActive:{dark:"base01",light:"base1"},borderSubtle:{dark:"#073642",light:"#eee8d5"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"base01",light:"base1"},diffHunkHeader:{dark:"base01",light:"base1"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#073642",light:"#eee8d5"},diffRemovedBg:{dark:"#073642",light:"#eee8d5"},diffContextBg:{dark:"base02",light:"base2"},diffLineNumber:{dark:"base01",light:"base1"},diffAddedLineNumberBg:{dark:"#073642",light:"#eee8d5"},diffRemovedLineNumberBg:{dark:"#073642",light:"#eee8d5"},markdownText:{dark:"base0",light:"base00"},markdownHeading:{dark:"blue",light:"blue"},markdownLink:{dark:"cyan",light:"cyan"},markdownLinkText:{dark:"violet",light:"violet"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"base01",light:"base1"},markdownEmph:{dark:"yellow",light:"yellow"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"base01",light:"base1"},markdownListItem:{dark:"blue",light:"blue"},markdownListEnumeration:{dark:"cyan",light:"cyan"},markdownImage:{dark:"cyan",light:"cyan"},markdownImageText:{dark:"violet",light:"violet"},markdownCodeBlock:{dark:"base0",light:"base00"},syntaxComment:{dark:"base01",light:"base1"},syntaxKeyword:{dark:"green",light:"green"},syntaxFunction:{dark:"blue",light:"blue"},syntaxVariable:{dark:"cyan",light:"cyan"},syntaxString:{dark:"cyan",light:"cyan"},syntaxNumber:{dark:"magenta",light:"magenta"},syntaxType:{dark:"yellow",light:"yellow"},syntaxOperator:{dark:"green",light:"green"},syntaxPunctuation:{dark:"base0",light:"base00"}}};var synthwave84_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#262335",backgroundAlt:"#1e1a29",backgroundPanel:"#2a2139",foreground:"#ffffff",foregroundMuted:"#848bbd",pink:"#ff7edb",pinkBright:"#ff92df",cyan:"#36f9f6",cyanBright:"#72f1f8",yellow:"#fede5d",yellowBright:"#fff95d",orange:"#ff8b39",orangeBright:"#ff9f43",purple:"#b084eb",purpleBright:"#c792ea",red:"#fe4450",redBright:"#ff5e5b",green:"#72f1b8",greenBright:"#97f1d8"},theme:{primary:{dark:"cyan",light:"#00bcd4"},secondary:{dark:"pink",light:"#e91e63"},accent:{dark:"purple",light:"#9c27b0"},error:{dark:"red",light:"#f44336"},warning:{dark:"yellow",light:"#ff9800"},success:{dark:"green",light:"#4caf50"},info:{dark:"orange",light:"#ff5722"},text:{dark:"foreground",light:"#262335"},textMuted:{dark:"foregroundMuted",light:"#5c5c8a"},background:{dark:"#262335",light:"#fafafa"},backgroundPanel:{dark:"#1e1a29",light:"#f5f5f5"},backgroundElement:{dark:"#2a2139",light:"#eeeeee"},border:{dark:"#495495",light:"#e0e0e0"},borderActive:{dark:"cyan",light:"#00bcd4"},borderSubtle:{dark:"#241b2f",light:"#f0f0f0"},diffAdded:{dark:"green",light:"#4caf50"},diffRemoved:{dark:"red",light:"#f44336"},diffContext:{dark:"foregroundMuted",light:"#5c5c8a"},diffHunkHeader:{dark:"purple",light:"#9c27b0"},diffHighlightAdded:{dark:"greenBright",light:"#4caf50"},diffHighlightRemoved:{dark:"redBright",light:"#f44336"},diffAddedBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedBg:{dark:"#3a1a2a",light:"#ffebee"},diffContextBg:{dark:"#1e1a29",light:"#f5f5f5"},diffLineNumber:{dark:"#495495",light:"#b0b0b0"},diffAddedLineNumberBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3a1a2a",light:"#ffebee"},markdownText:{dark:"foreground",light:"#262335"},markdownHeading:{dark:"pink",light:"#e91e63"},markdownLink:{dark:"cyan",light:"#00bcd4"},markdownLinkText:{dark:"purple",light:"#9c27b0"},markdownCode:{dark:"green",light:"#4caf50"},markdownBlockQuote:{dark:"foregroundMuted",light:"#5c5c8a"},markdownEmph:{dark:"yellow",light:"#ff9800"},markdownStrong:{dark:"orange",light:"#ff5722"},markdownHorizontalRule:{dark:"#495495",light:"#e0e0e0"},markdownListItem:{dark:"cyan",light:"#00bcd4"},markdownListEnumeration:{dark:"purple",light:"#9c27b0"},markdownImage:{dark:"cyan",light:"#00bcd4"},markdownImageText:{dark:"purple",light:"#9c27b0"},markdownCodeBlock:{dark:"foreground",light:"#262335"},syntaxComment:{dark:"foregroundMuted",light:"#5c5c8a"},syntaxKeyword:{dark:"pink",light:"#e91e63"},syntaxFunction:{dark:"orange",light:"#ff5722"},syntaxVariable:{dark:"foreground",light:"#262335"},syntaxString:{dark:"yellow",light:"#ff9800"},syntaxNumber:{dark:"purple",light:"#9c27b0"},syntaxType:{dark:"cyan",light:"#00bcd4"},syntaxOperator:{dark:"pink",light:"#e91e63"},syntaxPunctuation:{dark:"foreground",light:"#262335"}}};var tokyonight_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#1a1b26",darkStep2:"#1e2030",darkStep3:"#222436",darkStep4:"#292e42",darkStep5:"#3b4261",darkStep6:"#545c7e",darkStep7:"#737aa2",darkStep8:"#9099b2",darkStep9:"#82aaff",darkStep10:"#89b4fa",darkStep11:"#828bb8",darkStep12:"#c8d3f5",darkRed:"#ff757f",darkOrange:"#ff966c",darkYellow:"#ffc777",darkGreen:"#c3e88d",darkCyan:"#86e1fc",darkPurple:"#c099ff",lightStep1:"#e1e2e7",lightStep2:"#d5d6db",lightStep3:"#c8c9ce",lightStep4:"#b9bac1",lightStep5:"#a8aecb",lightStep6:"#9699a8",lightStep7:"#737a8c",lightStep8:"#5a607d",lightStep9:"#2e7de9",lightStep10:"#1a6ce7",lightStep11:"#8990a3",lightStep12:"#3760bf",lightRed:"#f52a65",lightOrange:"#b15c00",lightYellow:"#8c6c3e",lightGreen:"#587539",lightCyan:"#007197",lightPurple:"#9854f1"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkOrange",light:"lightOrange"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkStep9",light:"lightStep9"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"darkStep3",light:"lightStep3"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkPurple",light:"lightPurple"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var vercel_default={$schema:"https://opencode.ai/theme.json",defs:{background100:"#0A0A0A",background200:"#000000",gray100:"#1A1A1A",gray200:"#1F1F1F",gray300:"#292929",gray400:"#2E2E2E",gray500:"#454545",gray600:"#878787",gray700:"#8F8F8F",gray900:"#A1A1A1",gray1000:"#EDEDED",blue600:"#0099FF",blue700:"#0070F3",blue900:"#52A8FF",blue1000:"#EBF8FF",red700:"#E5484D",red900:"#FF6166",red1000:"#FDECED",amber700:"#FFB224",amber900:"#F2A700",amber1000:"#FDF4DC",green700:"#46A758",green900:"#63C46D",green1000:"#E6F9E9",teal700:"#12A594",teal900:"#0AC7AC",purple700:"#8E4EC6",purple900:"#BF7AF0",pink700:"#E93D82",pink900:"#F75590",highlightPink:"#FF0080",highlightPurple:"#F81CE5",cyan:"#50E3C2",lightBackground:"#FFFFFF",lightGray100:"#FAFAFA",lightGray200:"#EAEAEA",lightGray600:"#666666",lightGray1000:"#171717"},theme:{primary:{dark:"blue700",light:"blue700"},secondary:{dark:"blue900",light:"#0062D1"},accent:{dark:"purple700",light:"purple700"},error:{dark:"red700",light:"#DC3545"},warning:{dark:"amber700",light:"#FF9500"},success:{dark:"green700",light:"#388E3C"},info:{dark:"blue900",light:"blue700"},text:{dark:"gray1000",light:"lightGray1000"},textMuted:{dark:"gray600",light:"lightGray600"},background:{dark:"background200",light:"lightBackground"},backgroundPanel:{dark:"gray100",light:"lightGray100"},backgroundElement:{dark:"gray300",light:"lightGray200"},border:{dark:"gray200",light:"lightGray200"},borderActive:{dark:"gray500",light:"#999999"},borderSubtle:{dark:"gray100",light:"#EAEAEA"},diffAdded:{dark:"green900",light:"green700"},diffRemoved:{dark:"red900",light:"red700"},diffContext:{dark:"gray600",light:"lightGray600"},diffHunkHeader:{dark:"gray600",light:"lightGray600"},diffHighlightAdded:{dark:"green900",light:"green700"},diffHighlightRemoved:{dark:"red900",light:"red700"},diffAddedBg:{dark:"#0B1D0F",light:"#E6F9E9"},diffRemovedBg:{dark:"#2A1314",light:"#FDECED"},diffContextBg:{dark:"background200",light:"lightBackground"},diffLineNumber:{dark:"gray600",light:"lightGray600"},diffAddedLineNumberBg:{dark:"#0F2613",light:"#D6F5D6"},diffRemovedLineNumberBg:{dark:"#3C1618",light:"#FFE5E5"},markdownText:{dark:"gray1000",light:"lightGray1000"},markdownHeading:{dark:"purple900",light:"purple700"},markdownLink:{dark:"blue900",light:"blue700"},markdownLinkText:{dark:"teal900",light:"teal700"},markdownCode:{dark:"green900",light:"green700"},markdownBlockQuote:{dark:"gray600",light:"lightGray600"},markdownEmph:{dark:"amber900",light:"amber700"},markdownStrong:{dark:"pink900",light:"pink700"},markdownHorizontalRule:{dark:"gray500",light:"#999999"},markdownListItem:{dark:"gray1000",light:"lightGray1000"},markdownListEnumeration:{dark:"blue900",light:"blue700"},markdownImage:{dark:"teal900",light:"teal700"},markdownImageText:{dark:"cyan",light:"teal700"},markdownCodeBlock:{dark:"gray1000",light:"lightGray1000"},syntaxComment:{dark:"gray600",light:"#888888"},syntaxKeyword:{dark:"pink900",light:"pink700"},syntaxFunction:{dark:"purple900",light:"purple700"},syntaxVariable:{dark:"blue900",light:"blue700"},syntaxString:{dark:"green900",light:"green700"},syntaxNumber:{dark:"amber900",light:"amber700"},syntaxType:{dark:"teal900",light:"teal700"},syntaxOperator:{dark:"pink900",light:"pink700"},syntaxPunctuation:{dark:"gray1000",light:"lightGray1000"}}};var vesper_default={$schema:"https://opencode.ai/theme.json",defs:{vesperBg:"#101010",vesperFg:"#FFF",vesperComment:"#8b8b8b",vesperKeyword:"#A0A0A0",vesperFunction:"#FFC799",vesperString:"#99FFE4",vesperNumber:"#FFC799",vesperError:"#FF8080",vesperWarning:"#FFC799",vesperSuccess:"#99FFE4",vesperMuted:"#A0A0A0"},theme:{primary:{dark:"#FFC799",light:"#FFC799"},secondary:{dark:"#99FFE4",light:"#99FFE4"},accent:{dark:"#FFC799",light:"#FFC799"},error:{dark:"vesperError",light:"vesperError"},warning:{dark:"vesperWarning",light:"vesperWarning"},success:{dark:"vesperSuccess",light:"vesperSuccess"},info:{dark:"#FFC799",light:"#FFC799"},text:{dark:"vesperFg",light:"vesperBg"},textMuted:{dark:"vesperMuted",light:"vesperMuted"},background:{dark:"vesperBg",light:"#FFF"},backgroundPanel:{dark:"vesperBg",light:"#F0F0F0"},backgroundElement:{dark:"vesperBg",light:"#E0E0E0"},border:{dark:"#282828",light:"#D0D0D0"},borderActive:{dark:"#FFC799",light:"#FFC799"},borderSubtle:{dark:"#1C1C1C",light:"#E8E8E8"},diffAdded:{dark:"vesperSuccess",light:"vesperSuccess"},diffRemoved:{dark:"vesperError",light:"vesperError"},diffContext:{dark:"vesperMuted",light:"vesperMuted"},diffHunkHeader:{dark:"vesperMuted",light:"vesperMuted"},diffHighlightAdded:{dark:"vesperSuccess",light:"vesperSuccess"},diffHighlightRemoved:{dark:"vesperError",light:"vesperError"},diffAddedBg:{dark:"#0d2818",light:"#e8f5e8"},diffRemovedBg:{dark:"#281a1a",light:"#f5e8e8"},diffContextBg:{dark:"vesperBg",light:"#F8F8F8"},diffLineNumber:{dark:"#505050",light:"#808080"},diffAddedLineNumberBg:{dark:"#0d2818",light:"#e8f5e8"},diffRemovedLineNumberBg:{dark:"#281a1a",light:"#f5e8e8"},markdownText:{dark:"vesperFg",light:"vesperBg"},markdownHeading:{dark:"#FFC799",light:"#FFC799"},markdownLink:{dark:"#FFC799",light:"#FFC799"},markdownLinkText:{dark:"vesperMuted",light:"vesperMuted"},markdownCode:{dark:"vesperMuted",light:"vesperMuted"},markdownBlockQuote:{dark:"vesperFg",light:"vesperBg"},markdownEmph:{dark:"vesperFg",light:"vesperBg"},markdownStrong:{dark:"vesperFg",light:"vesperBg"},markdownHorizontalRule:{dark:"#65737E",light:"#65737E"},markdownListItem:{dark:"vesperFg",light:"vesperBg"},markdownListEnumeration:{dark:"vesperFg",light:"vesperBg"},markdownImage:{dark:"#FFC799",light:"#FFC799"},markdownImageText:{dark:"vesperMuted",light:"vesperMuted"},markdownCodeBlock:{dark:"vesperFg",light:"vesperBg"},syntaxComment:{dark:"vesperComment",light:"vesperComment"},syntaxKeyword:{dark:"vesperKeyword",light:"vesperKeyword"},syntaxFunction:{dark:"vesperFunction",light:"vesperFunction"},syntaxVariable:{dark:"vesperFg",light:"vesperBg"},syntaxString:{dark:"vesperString",light:"vesperString"},syntaxNumber:{dark:"vesperNumber",light:"vesperNumber"},syntaxType:{dark:"vesperFunction",light:"vesperFunction"},syntaxOperator:{dark:"vesperKeyword",light:"vesperKeyword"},syntaxPunctuation:{dark:"vesperFg",light:"vesperBg"}}};var warm_lightmode_default={$schema:"https://opencode.ai/theme.json",defs:{warmlightmodeBgDark:"#101014",warmlightmodePanelDark:"#18181F",warmlightmodeElemDark:"#1F1F28",warmlightmodeTextDark:"#E6E6E6",warmlightmodeMutedDark:"#9A9A9A",warmlightmodePrimaryDark:"#9D681D",warmlightmodeAccentDark:"#CE661C",warmlightmodeSecondaryDark:"#9D681D",warmlightmodeBorderDark:"#A17A17",warmlightmodeBorderSubtleDark:"#806949",warmlightmodeBgLight:"#F5F0E8",warmlightmodePanelLight:"#EBE6DF",warmlightmodeElemLight:"#E1DDD5",warmlightmodeTextLight:"#2C1810",warmlightmodeMutedLight:"#8B7355",warmlightmodePrimaryLight:"#5C3D11",warmlightmodeAccentLight:"#8B4513",warmlightmodeSecondaryLight:"#5C3D11",warmlightmodeBorderLight:"#8B6914",warmlightmodeBorderSubtleLight:"#A0845C",warmlightmodeOkDark:"#2E7D32",warmlightmodeErrorDark:"#C62828",warmlightmodeWarnDark:"#E65100",warmlightmodeOkLight:"#2E7D32",warmlightmodeErrorLight:"#C62828",warmlightmodeWarnLight:"#E65100"},theme:{primary:{dark:"warmlightmodePrimaryDark",light:"warmlightmodePrimaryLight"},secondary:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},accent:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},error:{dark:"warmlightmodeErrorDark",light:"warmlightmodeErrorLight"},warning:{dark:"warmlightmodeWarnDark",light:"warmlightmodeWarnLight"},success:{dark:"warmlightmodeOkDark",light:"warmlightmodeOkLight"},info:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},text:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},textMuted:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},background:{dark:"warmlightmodeBgDark",light:"warmlightmodeBgLight"},backgroundPanel:{dark:"warmlightmodePanelDark",light:"warmlightmodePanelLight"},backgroundElement:{dark:"warmlightmodeElemDark",light:"warmlightmodeElemLight"},border:{dark:"warmlightmodeBorderDark",light:"warmlightmodeBorderLight"},borderActive:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},borderSubtle:{dark:"warmlightmodeBorderSubtleDark",light:"warmlightmodeBorderSubtleLight"},diffAdded:{dark:"warmlightmodeOkDark",light:"warmlightmodeOkLight"},diffRemoved:{dark:"warmlightmodeErrorDark",light:"warmlightmodeErrorLight"},diffContext:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},diffHunkHeader:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},diffHighlightAdded:{dark:"warmlightmodeOkDark",light:"warmlightmodeOkLight"},diffHighlightRemoved:{dark:"warmlightmodeErrorDark",light:"warmlightmodeErrorLight"},diffAddedBg:{dark:"#152419",light:"#D7DFCD"},diffRemovedBg:{dark:"#311418",light:"#EED2CB"},diffContextBg:{dark:"warmlightmodePanelDark",light:"warmlightmodePanelLight"},diffLineNumber:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},diffAddedLineNumberBg:{dark:"#131B17",light:"#E5E7D9"},diffRemovedLineNumberBg:{dark:"#221216",light:"#F1E0D9"},markdownText:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},markdownHeading:{dark:"warmlightmodePrimaryDark",light:"warmlightmodePrimaryLight"},markdownLink:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},markdownLinkText:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},markdownCode:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},markdownBlockQuote:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},markdownEmph:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},markdownStrong:{dark:"warmlightmodePrimaryDark",light:"warmlightmodePrimaryLight"},markdownHorizontalRule:{dark:"warmlightmodeBorderDark",light:"warmlightmodeBorderLight"},markdownListItem:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},markdownListEnumeration:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},markdownImage:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},markdownImageText:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},markdownCodeBlock:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},syntaxComment:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},syntaxKeyword:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},syntaxFunction:{dark:"warmlightmodePrimaryDark",light:"warmlightmodePrimaryLight"},syntaxVariable:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},syntaxString:{dark:"warmlightmodeOkDark",light:"warmlightmodeOkLight"},syntaxNumber:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},syntaxType:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},syntaxOperator:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},syntaxPunctuation:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"}}};var zenburn_default={$schema:"https://opencode.ai/theme.json",defs:{bg:"#3f3f3f",bgAlt:"#4f4f4f",bgPanel:"#5f5f5f",fg:"#dcdccc",fgMuted:"#9f9f9f",red:"#cc9393",redBright:"#dca3a3",green:"#7f9f7f",greenBright:"#8fb28f",yellow:"#f0dfaf",yellowDim:"#e0cf9f",blue:"#8cd0d3",blueDim:"#7cb8bb",magenta:"#dc8cc3",cyan:"#93e0e3",orange:"#dfaf8f"},theme:{primary:{dark:"blue",light:"#5f7f8f"},secondary:{dark:"magenta",light:"#8f5f8f"},accent:{dark:"cyan",light:"#5f8f8f"},error:{dark:"red",light:"#8f5f5f"},warning:{dark:"yellow",light:"#8f8f5f"},success:{dark:"green",light:"#5f8f5f"},info:{dark:"orange",light:"#8f7f5f"},text:{dark:"fg",light:"#3f3f3f"},textMuted:{dark:"fgMuted",light:"#6f6f6f"},background:{dark:"bg",light:"#ffffef"},backgroundPanel:{dark:"bgAlt",light:"#f5f5e5"},backgroundElement:{dark:"bgPanel",light:"#ebebdb"},border:{dark:"#5f5f5f",light:"#d0d0c0"},borderActive:{dark:"blue",light:"#5f7f8f"},borderSubtle:{dark:"#4f4f4f",light:"#e0e0d0"},diffAdded:{dark:"green",light:"#5f8f5f"},diffRemoved:{dark:"red",light:"#8f5f5f"},diffContext:{dark:"fgMuted",light:"#6f6f6f"},diffHunkHeader:{dark:"cyan",light:"#5f8f8f"},diffHighlightAdded:{dark:"greenBright",light:"#5f8f5f"},diffHighlightRemoved:{dark:"redBright",light:"#8f5f5f"},diffAddedBg:{dark:"#4f5f4f",light:"#efffef"},diffRemovedBg:{dark:"#5f4f4f",light:"#ffefef"},diffContextBg:{dark:"bgAlt",light:"#f5f5e5"},diffLineNumber:{dark:"#6f6f6f",light:"#b0b0a0"},diffAddedLineNumberBg:{dark:"#4f5f4f",light:"#efffef"},diffRemovedLineNumberBg:{dark:"#5f4f4f",light:"#ffefef"},markdownText:{dark:"fg",light:"#3f3f3f"},markdownHeading:{dark:"yellow",light:"#8f8f5f"},markdownLink:{dark:"blue",light:"#5f7f8f"},markdownLinkText:{dark:"cyan",light:"#5f8f8f"},markdownCode:{dark:"green",light:"#5f8f5f"},markdownBlockQuote:{dark:"fgMuted",light:"#6f6f6f"},markdownEmph:{dark:"yellowDim",light:"#8f8f5f"},markdownStrong:{dark:"orange",light:"#8f7f5f"},markdownHorizontalRule:{dark:"fgMuted",light:"#6f6f6f"},markdownListItem:{dark:"blue",light:"#5f7f8f"},markdownListEnumeration:{dark:"cyan",light:"#5f8f8f"},markdownImage:{dark:"blue",light:"#5f7f8f"},markdownImageText:{dark:"cyan",light:"#5f8f8f"},markdownCodeBlock:{dark:"fg",light:"#3f3f3f"},syntaxComment:{dark:"#7f9f7f",light:"#5f7f5f"},syntaxKeyword:{dark:"yellow",light:"#8f8f5f"},syntaxFunction:{dark:"blue",light:"#5f7f8f"},syntaxVariable:{dark:"fg",light:"#3f3f3f"},syntaxString:{dark:"red",light:"#8f5f5f"},syntaxNumber:{dark:"greenBright",light:"#5f8f5f"},syntaxType:{dark:"cyan",light:"#5f8f8f"},syntaxOperator:{dark:"yellow",light:"#8f8f5f"},syntaxPunctuation:{dark:"fg",light:"#3f3f3f"}}};var DEFAULT_THEMES={ares:ares_default,aura:aura_default,ayu:ayu_default,carbonfox:carbonfox_default,catppuccin:catppuccin_default,"catppuccin-frappe":catppuccin_frappe_default,"catppuccin-macchiato":catppuccin_macchiato_default,charizard:charizard_default,cobalt2:cobalt2_default,cursor:cursor_default,daylight:daylight_default,default:default_default,dracula:dracula_default,everforest:everforest_default,flexoki:flexoki_default,github:github_default,gruvbox:gruvbox_default,kanagawa:kanagawa_default,"lucent-orng":lucent_orng_default,material:material_default,matrix:matrix_default,mercury:mercury_default,mono:mono_default,monokai:monokai_default,nightowl:nightowl_default,nord:nord_default,"one-dark":one_dark_default,opencode:opencode_default,orng:orng_default,"osaka-jade":osaka_jade_default,palenight:palenight_default,poseidon:poseidon_default,rosepine:rosepine_default,sisyphus:sisyphus_default,slate:slate_default,solarized:solarized_default,synthwave84:synthwave84_default,tokyonight:tokyonight_default,vercel:vercel_default,vesper:vesper_default,"warm-lightmode":warm_lightmode_default,zenburn:zenburn_default},DEFAULT_THEME="tokyonight";function syntax(theme){return SyntaxStyle.fromTheme(rules(theme))}function rules(theme){return[{scope:["default"],style:{foreground:theme.text}},{scope:["comment","comment.documentation"],style:{foreground:theme.syntaxComment,italic:!0}},{scope:["string","symbol"],style:{foreground:theme.syntaxString}},{scope:["number","boolean"],style:{foreground:theme.syntaxNumber}},{scope:["keyword"],style:{foreground:theme.syntaxKeyword,italic:!0}},{scope:["keyword.return","keyword.conditional","keyword.repeat"],style:{foreground:theme.syntaxKeyword,italic:!0}},{scope:["keyword.type"],style:{foreground:theme.syntaxType,bold:!0}},{scope:["keyword.function","function.method"],style:{foreground:theme.syntaxFunction}},{scope:["function","function.call"],style:{foreground:theme.syntaxFunction}},{scope:["variable","variable.parameter"],style:{foreground:theme.syntaxVariable}},{scope:["type"],style:{foreground:theme.syntaxType}},{scope:["operator"],style:{foreground:theme.syntaxOperator}},{scope:["punctuation","punctuation.bracket","punctuation.delimiter"],style:{foreground:theme.syntaxPunctuation}},{scope:["markup.heading"],style:{foreground:theme.markdownHeading,bold:!0}},{scope:["markup.strong"],style:{foreground:theme.markdownStrong,bold:!0}},{scope:["markup.italic"],style:{foreground:theme.markdownEmph,italic:!0}},{scope:["markup.link"],style:{foreground:theme.markdownLink,underline:!0}},{scope:["markup.raw"],style:{foreground:theme.markdownCode}},{scope:["markup.list"],style:{foreground:theme.markdownListItem}}]}var exports_preferences={};__export(exports_preferences,{usePref:()=>usePref,set:()=>set,reset:()=>reset,reload:()=>reload,prefs:()=>exports_preferences,load:()=>load,get:()=>get});var import_react15=__toESM(require_react_production(),1);import{join as join5}from"path";import{existsSync as existsSync6,mkdirSync as mkdirSync2,readFileSync,writeFileSync as writeFileSync2}from"fs";import{homedir as homedir2}from"os";import{join as join4}from"path";import{existsSync as existsSync5,mkdirSync,readdirSync,renameSync}from"fs";var HOME=()=>process.env.HOME||homedir2(),HERMES_HOME=()=>process.env.HERMES_HOME||join4(HOME(),".hermes"),migrated=!1;function configDir(){let dir=process.env.HERM_CONFIG_DIR||join4(HERMES_HOME(),"herm");if(!migrated)migrated=!0,maybeMigrateLegacy(dir);return dir}function maybeMigrateLegacy(target){if(process.env.HERM_CONFIG_DIR)return;let legacy=join4(HOME(),".config","herm");if(!existsSync5(legacy)||legacy===target)return;try{if(existsSync5(target)&&readdirSync(target).length>0)return;mkdirSync(target,{recursive:!0});for(let name of readdirSync(legacy)){let src=join4(legacy,name),dst=join4(target,name);if(existsSync5(dst))continue;try{renameSync(src,dst)}catch{}}}catch{}}var DEFAULTS={mouse:!0,targetFps:30};function configFile(){return join5(configDir(),"tui.json")}var cached=null;function reset(){cached=null}function reload(){cached=null;for(let l of listeners)l()}function load(){if(cached)return cached;let CONFIG_FILE=configFile();try{if(!existsSync6(CONFIG_FILE)){let prefs2={...DEFAULTS};return cached=prefs2,prefs2}let raw=JSON.parse(readFileSync(CONFIG_FILE,"utf-8")),prefs={...DEFAULTS,...raw};return cached=prefs,prefs}catch{let prefs={...DEFAULTS};return cached=prefs,prefs}}function save(partial){let current=load();if(partial)Object.assign(current,partial);cached=current;try{let CONFIG_DIR=configDir();if(!existsSync6(CONFIG_DIR))mkdirSync2(CONFIG_DIR,{recursive:!0});let json=JSON.stringify(current,null,2)+`
3669
+ `)}catch(e){clearTimeout(timeout),this.pending.delete(rid),reject(e instanceof Error?e:Error(String(e)))}})}kill(){this.proc?.kill()}get ready(){return this.ok}}var Gw=import_react13.createContext(null),GatewayProvider=({client,children})=>{let ref=import_react13.useRef(null);if(!ref.current)ref.current=client??new GatewayClient;let[ready,setReady]=import_react13.useState(ref.current.ready);import_react13.useEffect(()=>{let c=ref.current,onEvent=(ev)=>{if(ev.type==="gateway.ready"||ev.type==="session.info")setReady(!0)};return c.on("event",onEvent),c.start(),c.drain(),()=>{c.off("event",onEvent),c.removeAllListeners(),c.kill()}},[]);let restart=import_react13.useCallback(()=>{setReady(!1),ref.current.start()},[]),value=import_react13.useMemo(()=>({client:ref.current,ready,restart}),[ready,restart]);return $jsx(Gw.Provider,{value,children})};function useGateway(){let ctx=import_react13.useContext(Gw);if(!ctx)throw Error("useGateway() must be inside <GatewayProvider>");return ctx.client}function useGatewayEvent(handler){let ctx=import_react13.useContext(Gw);if(!ctx)throw Error("useGatewayEvent() must be inside <GatewayProvider>");let ref=import_react13.useRef(handler);ref.current=handler,import_react13.useEffect(()=>{let c=ctx.client,fn=(ev)=>ref.current(ev);return c.on("event",fn),c.drain(),()=>{c.off("event",fn)}},[ctx.client])}function useGatewayReady(){let ctx=import_react13.useContext(Gw);if(!ctx)throw Error("useGatewayReady() must be inside <GatewayProvider>");return ctx.ready}function useGatewayRestart(){let ctx=import_react13.useContext(Gw);if(!ctx)throw Error("useGatewayRestart() must be inside <GatewayProvider>");return ctx.restart}function text(msg){return msg.parts.filter((p)=>p.type==="text").map((p)=>p.content).join("")}function mid(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var pn=0;function pid(){return`p${++pn}`}var import_react22=__toESM(require_react_production(),1);var import_react21=__toESM(require_react_production(),1);var import_react18=__toESM(require_react_production(),1);var import_react16=__toESM(require_react_production(),1);var import_react14=__toESM(require_react_production(),1);function makeUse(ctx,name){return()=>{let v2=import_react14.useContext(ctx);if(v2===null)throw Error(`${name}() must be used inside its provider`);return v2}}function resolveTheme(theme,mode){let defs=theme.defs??{};function resolve4(c,chain=[]){if(c instanceof RGBA)return c;if(typeof c==="string"){if(c==="transparent"||c==="none")return RGBA.fromInts(0,0,0,0);if(c.startsWith("#"))return RGBA.fromHex(c);if(chain.includes(c))throw Error(`Circular color reference: ${[...chain,c].join(" -> ")}`);let next=defs[c]??theme.theme[c];if(next===void 0)throw Error(`Color reference "${c}" not found in defs or theme`);return resolve4(next,[...chain,c])}if(typeof c==="number")return ansiToRgba(c);return resolve4(c[mode],chain)}let resolved=Object.fromEntries(Object.entries(theme.theme).filter(([key])=>key!=="selectedListItemText"&&key!=="backgroundMenu"&&key!=="thinkingOpacity").map(([key,value])=>[key,resolve4(value)])),hasList=theme.theme.selectedListItemText!==void 0;resolved.selectedListItemText=hasList?resolve4(theme.theme.selectedListItemText):resolved.background,resolved.backgroundMenu=theme.theme.backgroundMenu!==void 0?resolve4(theme.theme.backgroundMenu):resolved.backgroundElement;let base={...resolved,_hasSelectedListItemText:hasList,thinkingOpacity:theme.theme.thinkingOpacity??0.6},herm=resolveHermTokens(resolved.accent);return{...base,...herm}}function resolveHermTokens(accent){return{hermAvatar:accent}}function ansiToRgba(code){if(code<16){let colors=["#000000","#800000","#008000","#808000","#000080","#800080","#008080","#c0c0c0","#808080","#ff0000","#00ff00","#ffff00","#0000ff","#ff00ff","#00ffff","#ffffff"];return RGBA.fromHex(colors[code]??"#000000")}if(code<232){let idx=code-16,val=(x2)=>x2===0?0:x2*40+55;return RGBA.fromInts(val(Math.floor(idx/36)),val(Math.floor(idx/6)%6),val(idx%6))}if(code<256){let gray=(code-232)*10+8;return RGBA.fromInts(gray,gray,gray)}return RGBA.fromInts(0,0,0)}var ares_default={$schema:"https://opencode.ai/theme.json",defs:{aresBgDark:"#2A1212",aresPanelDark:"#351717",aresElemDark:"#3F1B1B",aresTextDark:"#F1E6CF",aresMutedDark:"#6E584B",aresPrimaryDark:"#C7A96B",aresAccentDark:"#DD4A3A",aresSecondaryDark:"#C7A96B",aresBorderDark:"#9F1C1C",aresBorderSubtleDark:"#6E584B",aresBgLight:"#F8F8F8",aresPanelLight:"#EFEFEF",aresElemLight:"#E4E4E4",aresTextLight:"#1A1A1A",aresMutedLight:"#5A5A5A",aresPrimaryLight:"#8D7035",aresAccentLight:"#DD4A3A",aresSecondaryLight:"#8D7035",aresBorderLight:"#D0D0D0",aresBorderSubtleLight:"#E0E0E0",aresOkDark:"#4caf50",aresErrorDark:"#ef5350",aresWarnDark:"#ffa726",aresOkLight:"#4caf50",aresErrorLight:"#ef5350",aresWarnLight:"#A56200"},theme:{primary:{dark:"aresPrimaryDark",light:"aresPrimaryLight"},secondary:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},accent:{dark:"aresAccentDark",light:"aresAccentLight"},error:{dark:"aresErrorDark",light:"aresErrorLight"},warning:{dark:"aresWarnDark",light:"aresWarnLight"},success:{dark:"aresOkDark",light:"aresOkLight"},info:{dark:"aresAccentDark",light:"aresAccentLight"},text:{dark:"aresTextDark",light:"aresTextLight"},textMuted:{dark:"aresMutedDark",light:"aresMutedLight"},background:{dark:"aresBgDark",light:"aresBgLight"},backgroundPanel:{dark:"aresPanelDark",light:"aresPanelLight"},backgroundElement:{dark:"aresElemDark",light:"aresElemLight"},border:{dark:"aresBorderDark",light:"aresBorderLight"},borderActive:{dark:"aresAccentDark",light:"aresAccentLight"},borderSubtle:{dark:"aresBorderSubtleDark",light:"aresBorderSubtleLight"},diffAdded:{dark:"aresOkDark",light:"aresOkLight"},diffRemoved:{dark:"aresErrorDark",light:"aresErrorLight"},diffContext:{dark:"aresMutedDark",light:"aresMutedLight"},diffHunkHeader:{dark:"aresMutedDark",light:"aresMutedLight"},diffHighlightAdded:{dark:"aresOkDark",light:"aresOkLight"},diffHighlightRemoved:{dark:"aresErrorDark",light:"aresErrorLight"},diffAddedBg:{dark:"#302E1D",light:"#DEEDDF"},diffRemovedBg:{dark:"#4D1E1D",light:"#F7DFDF"},diffContextBg:{dark:"aresPanelDark",light:"aresPanelLight"},diffLineNumber:{dark:"aresMutedDark",light:"aresMutedLight"},diffAddedLineNumberBg:{dark:"#2D2218",light:"#EAF2EB"},diffRemovedLineNumberBg:{dark:"#3E1818",light:"#F7EBEB"},markdownText:{dark:"aresTextDark",light:"aresTextLight"},markdownHeading:{dark:"aresPrimaryDark",light:"aresPrimaryLight"},markdownLink:{dark:"aresAccentDark",light:"aresAccentLight"},markdownLinkText:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},markdownCode:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},markdownBlockQuote:{dark:"aresMutedDark",light:"aresMutedLight"},markdownEmph:{dark:"aresAccentDark",light:"aresAccentLight"},markdownStrong:{dark:"aresPrimaryDark",light:"aresPrimaryLight"},markdownHorizontalRule:{dark:"aresBorderDark",light:"aresBorderLight"},markdownListItem:{dark:"aresTextDark",light:"aresTextLight"},markdownListEnumeration:{dark:"aresAccentDark",light:"aresAccentLight"},markdownImage:{dark:"aresAccentDark",light:"aresAccentLight"},markdownImageText:{dark:"aresMutedDark",light:"aresMutedLight"},markdownCodeBlock:{dark:"aresTextDark",light:"aresTextLight"},syntaxComment:{dark:"aresMutedDark",light:"aresMutedLight"},syntaxKeyword:{dark:"aresAccentDark",light:"aresAccentLight"},syntaxFunction:{dark:"aresPrimaryDark",light:"aresPrimaryLight"},syntaxVariable:{dark:"aresTextDark",light:"aresTextLight"},syntaxString:{dark:"aresOkDark",light:"aresOkLight"},syntaxNumber:{dark:"aresAccentDark",light:"aresAccentLight"},syntaxType:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},syntaxOperator:{dark:"aresSecondaryDark",light:"aresSecondaryLight"},syntaxPunctuation:{dark:"aresTextDark",light:"aresTextLight"}}};var aura_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0f0f0f",darkBgPanel:"#15141b",darkBorder:"#2d2d2d",darkFgMuted:"#6d6d6d",darkFg:"#edecee",purple:"#a277ff",pink:"#f694ff",blue:"#82e2ff",red:"#ff6767",orange:"#ffca85",cyan:"#61ffca",green:"#9dff65"},theme:{primary:"purple",secondary:"pink",accent:"purple",error:"red",warning:"orange",success:"cyan",info:"purple",text:"darkFg",textMuted:"darkFgMuted",background:"darkBg",backgroundPanel:"darkBgPanel",backgroundElement:"darkBgPanel",border:"darkBorder",borderActive:"darkFgMuted",borderSubtle:"darkBorder",diffAdded:"cyan",diffRemoved:"red",diffContext:"darkFgMuted",diffHunkHeader:"darkFgMuted",diffHighlightAdded:"cyan",diffHighlightRemoved:"red",diffAddedBg:"#354933",diffRemovedBg:"#3f191a",diffContextBg:"darkBgPanel",diffLineNumber:"darkBorder",diffAddedLineNumberBg:"#162620",diffRemovedLineNumberBg:"#26161a",markdownText:"darkFg",markdownHeading:"purple",markdownLink:"pink",markdownLinkText:"purple",markdownCode:"cyan",markdownBlockQuote:"darkFgMuted",markdownEmph:"orange",markdownStrong:"purple",markdownHorizontalRule:"darkFgMuted",markdownListItem:"purple",markdownListEnumeration:"purple",markdownImage:"pink",markdownImageText:"purple",markdownCodeBlock:"darkFg",syntaxComment:"darkFgMuted",syntaxKeyword:"pink",syntaxFunction:"purple",syntaxVariable:"purple",syntaxString:"cyan",syntaxNumber:"green",syntaxType:"purple",syntaxOperator:"pink",syntaxPunctuation:"darkFg"}};var ayu_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0B0E14",darkBgAlt:"#0D1017",darkLine:"#11151C",darkPanel:"#0F131A",darkFg:"#BFBDB6",darkFgMuted:"#565B66",darkGutter:"#6C7380",darkTag:"#39BAE6",darkFunc:"#FFB454",darkEntity:"#59C2FF",darkString:"#AAD94C",darkRegexp:"#95E6CB",darkMarkup:"#F07178",darkKeyword:"#FF8F40",darkSpecial:"#E6B673",darkComment:"#ACB6BF",darkConstant:"#D2A6FF",darkOperator:"#F29668",darkAdded:"#7FD962",darkRemoved:"#F26D78",darkAccent:"#E6B450",darkError:"#D95757",darkIndentActive:"#6C7380"},theme:{primary:"darkEntity",secondary:"darkConstant",accent:"darkAccent",error:"darkError",warning:"darkSpecial",success:"darkAdded",info:"darkTag",text:"darkFg",textMuted:"darkFgMuted",background:"darkBg",backgroundPanel:"darkPanel",backgroundElement:"darkBgAlt",border:"darkGutter",borderActive:"darkIndentActive",borderSubtle:"darkLine",diffAdded:"darkAdded",diffRemoved:"darkRemoved",diffContext:"darkComment",diffHunkHeader:"darkComment",diffHighlightAdded:"darkString",diffHighlightRemoved:"darkMarkup",diffAddedBg:"#20303b",diffRemovedBg:"#37222c",diffContextBg:"darkPanel",diffLineNumber:"darkGutter",diffAddedLineNumberBg:"#1b2b34",diffRemovedLineNumberBg:"#2d1f26",markdownText:"darkFg",markdownHeading:"darkConstant",markdownLink:"darkEntity",markdownLinkText:"darkTag",markdownCode:"darkString",markdownBlockQuote:"darkSpecial",markdownEmph:"darkSpecial",markdownStrong:"darkFunc",markdownHorizontalRule:"darkFgMuted",markdownListItem:"darkEntity",markdownListEnumeration:"darkTag",markdownImage:"darkEntity",markdownImageText:"darkTag",markdownCodeBlock:"darkFg",syntaxComment:"darkComment",syntaxKeyword:"darkKeyword",syntaxFunction:"darkFunc",syntaxVariable:"darkEntity",syntaxString:"darkString",syntaxNumber:"darkConstant",syntaxType:"darkSpecial",syntaxOperator:"darkOperator",syntaxPunctuation:"darkFg"}};var carbonfox_default={$schema:"https://opencode.ai/theme.json",defs:{bg0:"#0d0d0d",bg1:"#161616",bg1a:"#1a1a1a",bg2:"#1e1e1e",bg3:"#262626",bg4:"#303030",fg0:"#ffffff",fg1:"#f2f4f8",fg2:"#a9afbc",fg3:"#7d848f",lbg0:"#ffffff",lbg1:"#f4f4f4",lbg2:"#e8e8e8",lbg3:"#dcdcdc",lfg0:"#000000",lfg1:"#161616",lfg2:"#525252",lfg3:"#6f6f6f",red:"#ee5396",green:"#25be6a",yellow:"#08bdba",blue:"#78a9ff",magenta:"#be95ff",cyan:"#33b1ff",white:"#dfdfe0",orange:"#3ddbd9",pink:"#ff7eb6",blueBright:"#8cb6ff",cyanBright:"#52c7ff",greenBright:"#46c880",redLight:"#9f1853",greenLight:"#198038",yellowLight:"#007d79",blueLight:"#0043ce",magentaLight:"#6929c4",cyanLight:"#0072c3",warning:"#f1c21b",diffGreen:"#50fa7b",diffRed:"#ff6b6b",diffGreenBg:"#0f2418",diffRedBg:"#2a1216"},theme:{primary:{dark:"cyan",light:"blueLight"},secondary:{dark:"blue",light:"blueLight"},accent:{dark:"pink",light:"redLight"},error:{dark:"red",light:"redLight"},warning:{dark:"warning",light:"yellowLight"},success:{dark:"green",light:"greenLight"},info:{dark:"blue",light:"blueLight"},text:{dark:"fg1",light:"lfg1"},textMuted:{dark:"fg3",light:"lfg3"},background:{dark:"bg1",light:"lbg0"},backgroundPanel:{dark:"bg1a",light:"lbg1"},backgroundElement:{dark:"bg2",light:"lbg1"},border:{dark:"bg4",light:"lbg3"},borderActive:{dark:"cyan",light:"blueLight"},borderSubtle:{dark:"bg3",light:"lbg2"},diffAdded:{dark:"diffGreen",light:"greenLight"},diffRemoved:{dark:"diffRed",light:"redLight"},diffContext:{dark:"fg3",light:"lfg3"},diffHunkHeader:{dark:"blue",light:"blueLight"},diffHighlightAdded:{dark:"#7dffaa",light:"greenLight"},diffHighlightRemoved:{dark:"#ff9999",light:"redLight"},diffAddedBg:{dark:"diffGreenBg",light:"#defbe6"},diffRemovedBg:{dark:"diffRedBg",light:"#fff1f1"},diffContextBg:{dark:"bg1",light:"lbg1"},diffLineNumber:{dark:"fg3",light:"lfg3"},diffAddedLineNumberBg:{dark:"diffGreenBg",light:"#defbe6"},diffRemovedLineNumberBg:{dark:"diffRedBg",light:"#fff1f1"},markdownText:{dark:"fg1",light:"lfg1"},markdownHeading:{dark:"blueBright",light:"blueLight"},markdownLink:{dark:"blue",light:"blueLight"},markdownLinkText:{dark:"cyan",light:"cyanLight"},markdownCode:{dark:"green",light:"greenLight"},markdownBlockQuote:{dark:"fg3",light:"lfg3"},markdownEmph:{dark:"magenta",light:"magentaLight"},markdownStrong:{dark:"fg0",light:"lfg0"},markdownHorizontalRule:{dark:"bg4",light:"lbg3"},markdownListItem:{dark:"cyan",light:"cyanLight"},markdownListEnumeration:{dark:"cyan",light:"cyanLight"},markdownImage:{dark:"blue",light:"blueLight"},markdownImageText:{dark:"cyan",light:"cyanLight"},markdownCodeBlock:{dark:"fg2",light:"lfg2"},syntaxComment:{dark:"fg3",light:"lfg3"},syntaxKeyword:{dark:"magenta",light:"magentaLight"},syntaxFunction:{dark:"blueBright",light:"blueLight"},syntaxVariable:{dark:"white",light:"lfg1"},syntaxString:{dark:"green",light:"greenLight"},syntaxNumber:{dark:"orange",light:"yellowLight"},syntaxType:{dark:"yellow",light:"yellowLight"},syntaxOperator:{dark:"fg2",light:"lfg2"},syntaxPunctuation:{dark:"fg2",light:"lfg1"}}};var catppuccin_default={$schema:"https://opencode.ai/theme.json",defs:{lightRosewater:"#dc8a78",lightFlamingo:"#dd7878",lightPink:"#ea76cb",lightMauve:"#8839ef",lightRed:"#d20f39",lightMaroon:"#e64553",lightPeach:"#fe640b",lightYellow:"#df8e1d",lightGreen:"#40a02b",lightTeal:"#179299",lightSky:"#04a5e5",lightSapphire:"#209fb5",lightBlue:"#1e66f5",lightLavender:"#7287fd",lightText:"#4c4f69",lightSubtext1:"#5c5f77",lightSubtext0:"#6c6f85",lightOverlay2:"#7c7f93",lightOverlay1:"#8c8fa1",lightOverlay0:"#9ca0b0",lightSurface2:"#acb0be",lightSurface1:"#bcc0cc",lightSurface0:"#ccd0da",lightBase:"#eff1f5",lightMantle:"#e6e9ef",lightCrust:"#dce0e8",darkRosewater:"#f5e0dc",darkFlamingo:"#f2cdcd",darkPink:"#f5c2e7",darkMauve:"#cba6f7",darkRed:"#f38ba8",darkMaroon:"#eba0ac",darkPeach:"#fab387",darkYellow:"#f9e2af",darkGreen:"#a6e3a1",darkTeal:"#94e2d5",darkSky:"#89dceb",darkSapphire:"#74c7ec",darkBlue:"#89b4fa",darkLavender:"#b4befe",darkText:"#cdd6f4",darkSubtext1:"#bac2de",darkSubtext0:"#a6adc8",darkOverlay2:"#9399b2",darkOverlay1:"#7f849c",darkOverlay0:"#6c7086",darkSurface2:"#585b70",darkSurface1:"#45475a",darkSurface0:"#313244",darkBase:"#1e1e2e",darkMantle:"#181825",darkCrust:"#11111b"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkMauve",light:"lightMauve"},accent:{dark:"darkPink",light:"lightPink"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkTeal",light:"lightTeal"},text:{dark:"darkText",light:"lightText"},textMuted:{dark:"darkOverlay2",light:"lightOverlay2"},background:{dark:"darkBase",light:"lightBase"},backgroundPanel:{dark:"darkMantle",light:"lightMantle"},backgroundElement:{dark:"darkCrust",light:"lightCrust"},border:{dark:"darkSurface0",light:"lightSurface0"},borderActive:{dark:"darkSurface1",light:"lightSurface1"},borderSubtle:{dark:"darkSurface2",light:"lightSurface2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkOverlay2",light:"lightOverlay2"},diffHunkHeader:{dark:"darkPeach",light:"lightPeach"},diffHighlightAdded:{dark:"darkGreen",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRed",light:"lightRed"},diffAddedBg:{dark:"#24312b",light:"#d6f0d9"},diffRemovedBg:{dark:"#3c2a32",light:"#f6dfe2"},diffContextBg:{dark:"darkMantle",light:"lightMantle"},diffLineNumber:{dark:"darkSurface1",light:"lightSurface1"},diffAddedLineNumberBg:{dark:"#1e2a25",light:"#c9e3cb"},diffRemovedLineNumberBg:{dark:"#32232a",light:"#e9d3d6"},markdownText:{dark:"darkText",light:"lightText"},markdownHeading:{dark:"darkMauve",light:"lightMauve"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkSky",light:"lightSky"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkPeach",light:"lightPeach"},markdownHorizontalRule:{dark:"darkSubtext0",light:"lightSubtext0"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkSky",light:"lightSky"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkSky",light:"lightSky"},markdownCodeBlock:{dark:"darkText",light:"lightText"},syntaxComment:{dark:"darkOverlay2",light:"lightOverlay2"},syntaxKeyword:{dark:"darkMauve",light:"lightMauve"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkPeach",light:"lightPeach"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkSky",light:"lightSky"},syntaxPunctuation:{dark:"darkText",light:"lightText"}}};var catppuccin_frappe_default={$schema:"https://opencode.ai/theme.json",defs:{frappeRosewater:"#f2d5cf",frappeFlamingo:"#eebebe",frappePink:"#f4b8e4",frappeMauve:"#ca9ee6",frappeRed:"#e78284",frappeMaroon:"#ea999c",frappePeach:"#ef9f76",frappeYellow:"#e5c890",frappeGreen:"#a6d189",frappeTeal:"#81c8be",frappeSky:"#99d1db",frappeSapphire:"#85c1dc",frappeBlue:"#8da4e2",frappeLavender:"#babbf1",frappeText:"#c6d0f5",frappeSubtext1:"#b5bfe2",frappeSubtext0:"#a5adce",frappeOverlay2:"#949cb8",frappeOverlay1:"#838ba7",frappeOverlay0:"#737994",frappeSurface2:"#626880",frappeSurface1:"#51576d",frappeSurface0:"#414559",frappeBase:"#303446",frappeMantle:"#292c3c",frappeCrust:"#232634"},theme:{primary:{dark:"frappeBlue",light:"frappeBlue"},secondary:{dark:"frappeMauve",light:"frappeMauve"},accent:{dark:"frappePink",light:"frappePink"},error:{dark:"frappeRed",light:"frappeRed"},warning:{dark:"frappeYellow",light:"frappeYellow"},success:{dark:"frappeGreen",light:"frappeGreen"},info:{dark:"frappeTeal",light:"frappeTeal"},text:{dark:"frappeText",light:"frappeText"},textMuted:{dark:"frappeOverlay2",light:"frappeOverlay2"},background:{dark:"frappeBase",light:"frappeBase"},backgroundPanel:{dark:"frappeMantle",light:"frappeMantle"},backgroundElement:{dark:"frappeCrust",light:"frappeCrust"},border:{dark:"frappeSurface0",light:"frappeSurface0"},borderActive:{dark:"frappeSurface1",light:"frappeSurface1"},borderSubtle:{dark:"frappeSurface2",light:"frappeSurface2"},diffAdded:{dark:"frappeGreen",light:"frappeGreen"},diffRemoved:{dark:"frappeRed",light:"frappeRed"},diffContext:{dark:"frappeOverlay2",light:"frappeOverlay2"},diffHunkHeader:{dark:"frappePeach",light:"frappePeach"},diffHighlightAdded:{dark:"frappeGreen",light:"frappeGreen"},diffHighlightRemoved:{dark:"frappeRed",light:"frappeRed"},diffAddedBg:{dark:"#29342b",light:"#29342b"},diffRemovedBg:{dark:"#3a2a31",light:"#3a2a31"},diffContextBg:{dark:"frappeMantle",light:"frappeMantle"},diffLineNumber:{dark:"frappeSurface1",light:"frappeSurface1"},diffAddedLineNumberBg:{dark:"#223025",light:"#223025"},diffRemovedLineNumberBg:{dark:"#2f242b",light:"#2f242b"},markdownText:{dark:"frappeText",light:"frappeText"},markdownHeading:{dark:"frappeMauve",light:"frappeMauve"},markdownLink:{dark:"frappeBlue",light:"frappeBlue"},markdownLinkText:{dark:"frappeSky",light:"frappeSky"},markdownCode:{dark:"frappeGreen",light:"frappeGreen"},markdownBlockQuote:{dark:"frappeYellow",light:"frappeYellow"},markdownEmph:{dark:"frappeYellow",light:"frappeYellow"},markdownStrong:{dark:"frappePeach",light:"frappePeach"},markdownHorizontalRule:{dark:"frappeSubtext0",light:"frappeSubtext0"},markdownListItem:{dark:"frappeBlue",light:"frappeBlue"},markdownListEnumeration:{dark:"frappeSky",light:"frappeSky"},markdownImage:{dark:"frappeBlue",light:"frappeBlue"},markdownImageText:{dark:"frappeSky",light:"frappeSky"},markdownCodeBlock:{dark:"frappeText",light:"frappeText"},syntaxComment:{dark:"frappeOverlay2",light:"frappeOverlay2"},syntaxKeyword:{dark:"frappeMauve",light:"frappeMauve"},syntaxFunction:{dark:"frappeBlue",light:"frappeBlue"},syntaxVariable:{dark:"frappeRed",light:"frappeRed"},syntaxString:{dark:"frappeGreen",light:"frappeGreen"},syntaxNumber:{dark:"frappePeach",light:"frappePeach"},syntaxType:{dark:"frappeYellow",light:"frappeYellow"},syntaxOperator:{dark:"frappeSky",light:"frappeSky"},syntaxPunctuation:{dark:"frappeText",light:"frappeText"}}};var catppuccin_macchiato_default={$schema:"https://opencode.ai/theme.json",defs:{macRosewater:"#f4dbd6",macFlamingo:"#f0c6c6",macPink:"#f5bde6",macMauve:"#c6a0f6",macRed:"#ed8796",macMaroon:"#ee99a0",macPeach:"#f5a97f",macYellow:"#eed49f",macGreen:"#a6da95",macTeal:"#8bd5ca",macSky:"#91d7e3",macSapphire:"#7dc4e4",macBlue:"#8aadf4",macLavender:"#b7bdf8",macText:"#cad3f5",macSubtext1:"#b8c0e0",macSubtext0:"#a5adcb",macOverlay2:"#939ab7",macOverlay1:"#8087a2",macOverlay0:"#6e738d",macSurface2:"#5b6078",macSurface1:"#494d64",macSurface0:"#363a4f",macBase:"#24273a",macMantle:"#1e2030",macCrust:"#181926"},theme:{primary:{dark:"macBlue",light:"macBlue"},secondary:{dark:"macMauve",light:"macMauve"},accent:{dark:"macPink",light:"macPink"},error:{dark:"macRed",light:"macRed"},warning:{dark:"macYellow",light:"macYellow"},success:{dark:"macGreen",light:"macGreen"},info:{dark:"macTeal",light:"macTeal"},text:{dark:"macText",light:"macText"},textMuted:{dark:"macOverlay2",light:"macOverlay2"},background:{dark:"macBase",light:"macBase"},backgroundPanel:{dark:"macMantle",light:"macMantle"},backgroundElement:{dark:"macCrust",light:"macCrust"},border:{dark:"macSurface0",light:"macSurface0"},borderActive:{dark:"macSurface1",light:"macSurface1"},borderSubtle:{dark:"macSurface2",light:"macSurface2"},diffAdded:{dark:"macGreen",light:"macGreen"},diffRemoved:{dark:"macRed",light:"macRed"},diffContext:{dark:"macOverlay2",light:"macOverlay2"},diffHunkHeader:{dark:"macPeach",light:"macPeach"},diffHighlightAdded:{dark:"macGreen",light:"macGreen"},diffHighlightRemoved:{dark:"macRed",light:"macRed"},diffAddedBg:{dark:"#29342b",light:"#29342b"},diffRemovedBg:{dark:"#3a2a31",light:"#3a2a31"},diffContextBg:{dark:"macMantle",light:"macMantle"},diffLineNumber:{dark:"macSurface1",light:"macSurface1"},diffAddedLineNumberBg:{dark:"#223025",light:"#223025"},diffRemovedLineNumberBg:{dark:"#2f242b",light:"#2f242b"},markdownText:{dark:"macText",light:"macText"},markdownHeading:{dark:"macMauve",light:"macMauve"},markdownLink:{dark:"macBlue",light:"macBlue"},markdownLinkText:{dark:"macSky",light:"macSky"},markdownCode:{dark:"macGreen",light:"macGreen"},markdownBlockQuote:{dark:"macYellow",light:"macYellow"},markdownEmph:{dark:"macYellow",light:"macYellow"},markdownStrong:{dark:"macPeach",light:"macPeach"},markdownHorizontalRule:{dark:"macSubtext0",light:"macSubtext0"},markdownListItem:{dark:"macBlue",light:"macBlue"},markdownListEnumeration:{dark:"macSky",light:"macSky"},markdownImage:{dark:"macBlue",light:"macBlue"},markdownImageText:{dark:"macSky",light:"macSky"},markdownCodeBlock:{dark:"macText",light:"macText"},syntaxComment:{dark:"macOverlay2",light:"macOverlay2"},syntaxKeyword:{dark:"macMauve",light:"macMauve"},syntaxFunction:{dark:"macBlue",light:"macBlue"},syntaxVariable:{dark:"macRed",light:"macRed"},syntaxString:{dark:"macGreen",light:"macGreen"},syntaxNumber:{dark:"macPeach",light:"macPeach"},syntaxType:{dark:"macYellow",light:"macYellow"},syntaxOperator:{dark:"macSky",light:"macSky"},syntaxPunctuation:{dark:"macText",light:"macText"}}};var charizard_default={$schema:"https://opencode.ai/theme.json",defs:{charizardBgDark:"#2B160E",charizardPanelDark:"#371C12",charizardElemDark:"#422216",charizardTextDark:"#FFF0D4",charizardMutedDark:"#7A3511",charizardPrimaryDark:"#FFD39A",charizardAccentDark:"#F29C38",charizardSecondaryDark:"#FFD39A",charizardBorderDark:"#C75B1D",charizardBorderSubtleDark:"#6C4724",charizardBgLight:"#F8F8F8",charizardPanelLight:"#EFEFEF",charizardElemLight:"#E4E4E4",charizardTextLight:"#1A1A1A",charizardMutedLight:"#5A5A5A",charizardPrimaryLight:"#E78200",charizardAccentLight:"#AE630B",charizardSecondaryLight:"#E78200",charizardBorderLight:"#D0D0D0",charizardBorderSubtleLight:"#E0E0E0",charizardOkDark:"#4caf50",charizardErrorDark:"#ef5350",charizardWarnDark:"#ffa726",charizardOkLight:"#4caf50",charizardErrorLight:"#ef5350",charizardWarnLight:"#A56200"},theme:{primary:{dark:"charizardPrimaryDark",light:"charizardPrimaryLight"},secondary:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},accent:{dark:"charizardAccentDark",light:"charizardAccentLight"},error:{dark:"charizardErrorDark",light:"charizardErrorLight"},warning:{dark:"charizardWarnDark",light:"charizardWarnLight"},success:{dark:"charizardOkDark",light:"charizardOkLight"},info:{dark:"charizardAccentDark",light:"charizardAccentLight"},text:{dark:"charizardTextDark",light:"charizardTextLight"},textMuted:{dark:"charizardMutedDark",light:"charizardMutedLight"},background:{dark:"charizardBgDark",light:"charizardBgLight"},backgroundPanel:{dark:"charizardPanelDark",light:"charizardPanelLight"},backgroundElement:{dark:"charizardElemDark",light:"charizardElemLight"},border:{dark:"charizardBorderDark",light:"charizardBorderLight"},borderActive:{dark:"charizardAccentDark",light:"charizardAccentLight"},borderSubtle:{dark:"charizardBorderSubtleDark",light:"charizardBorderSubtleLight"},diffAdded:{dark:"charizardOkDark",light:"charizardOkLight"},diffRemoved:{dark:"charizardErrorDark",light:"charizardErrorLight"},diffContext:{dark:"charizardMutedDark",light:"charizardMutedLight"},diffHunkHeader:{dark:"charizardMutedDark",light:"charizardMutedLight"},diffHighlightAdded:{dark:"charizardOkDark",light:"charizardOkLight"},diffHighlightRemoved:{dark:"charizardErrorDark",light:"charizardErrorLight"},diffAddedBg:{dark:"#31321A",light:"#DEEDDF"},diffRemovedBg:{dark:"#4E211A",light:"#F7DFDF"},diffContextBg:{dark:"charizardPanelDark",light:"charizardPanelLight"},diffLineNumber:{dark:"charizardMutedDark",light:"charizardMutedLight"},diffAddedLineNumberBg:{dark:"#2E2515",light:"#EAF2EB"},diffRemovedLineNumberBg:{dark:"#3F1C15",light:"#F7EBEB"},markdownText:{dark:"charizardTextDark",light:"charizardTextLight"},markdownHeading:{dark:"charizardPrimaryDark",light:"charizardPrimaryLight"},markdownLink:{dark:"charizardAccentDark",light:"charizardAccentLight"},markdownLinkText:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},markdownCode:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},markdownBlockQuote:{dark:"charizardMutedDark",light:"charizardMutedLight"},markdownEmph:{dark:"charizardAccentDark",light:"charizardAccentLight"},markdownStrong:{dark:"charizardPrimaryDark",light:"charizardPrimaryLight"},markdownHorizontalRule:{dark:"charizardBorderDark",light:"charizardBorderLight"},markdownListItem:{dark:"charizardTextDark",light:"charizardTextLight"},markdownListEnumeration:{dark:"charizardAccentDark",light:"charizardAccentLight"},markdownImage:{dark:"charizardAccentDark",light:"charizardAccentLight"},markdownImageText:{dark:"charizardMutedDark",light:"charizardMutedLight"},markdownCodeBlock:{dark:"charizardTextDark",light:"charizardTextLight"},syntaxComment:{dark:"charizardMutedDark",light:"charizardMutedLight"},syntaxKeyword:{dark:"charizardAccentDark",light:"charizardAccentLight"},syntaxFunction:{dark:"charizardPrimaryDark",light:"charizardPrimaryLight"},syntaxVariable:{dark:"charizardTextDark",light:"charizardTextLight"},syntaxString:{dark:"charizardOkDark",light:"charizardOkLight"},syntaxNumber:{dark:"charizardAccentDark",light:"charizardAccentLight"},syntaxType:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},syntaxOperator:{dark:"charizardSecondaryDark",light:"charizardSecondaryLight"},syntaxPunctuation:{dark:"charizardTextDark",light:"charizardTextLight"}}};var cobalt2_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#193549",backgroundAlt:"#122738",backgroundPanel:"#1f4662",foreground:"#ffffff",foregroundMuted:"#adb7c9",yellow:"#ffc600",yellowBright:"#ffe14c",orange:"#ff9d00",orangeBright:"#ffb454",mint:"#2affdf",mintBright:"#7efff5",blue:"#0088ff",blueBright:"#5cb7ff",pink:"#ff628c",pinkBright:"#ff86a5",green:"#9eff80",greenBright:"#b9ff9f",purple:"#9a5feb",purpleBright:"#b88cfd",red:"#ff0088",redBright:"#ff5fb3"},theme:{primary:{dark:"blue",light:"#0066cc"},secondary:{dark:"purple",light:"#7c4dff"},accent:{dark:"mint",light:"#00acc1"},error:{dark:"red",light:"#e91e63"},warning:{dark:"yellow",light:"#ff9800"},success:{dark:"green",light:"#4caf50"},info:{dark:"orange",light:"#ff5722"},text:{dark:"foreground",light:"#193549"},textMuted:{dark:"foregroundMuted",light:"#5c6b7d"},background:{dark:"#193549",light:"#ffffff"},backgroundPanel:{dark:"#122738",light:"#f5f7fa"},backgroundElement:{dark:"#1f4662",light:"#e8ecf1"},border:{dark:"#1f4662",light:"#d3dae3"},borderActive:{dark:"blue",light:"#0066cc"},borderSubtle:{dark:"#0e1e2e",light:"#e8ecf1"},diffAdded:{dark:"green",light:"#4caf50"},diffRemoved:{dark:"red",light:"#e91e63"},diffContext:{dark:"foregroundMuted",light:"#5c6b7d"},diffHunkHeader:{dark:"mint",light:"#00acc1"},diffHighlightAdded:{dark:"greenBright",light:"#4caf50"},diffHighlightRemoved:{dark:"redBright",light:"#e91e63"},diffAddedBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedBg:{dark:"#3a1a2a",light:"#ffebee"},diffContextBg:{dark:"#122738",light:"#f5f7fa"},diffLineNumber:{dark:"#2d5a7b",light:"#b0bec5"},diffAddedLineNumberBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3a1a2a",light:"#ffebee"},markdownText:{dark:"foreground",light:"#193549"},markdownHeading:{dark:"yellow",light:"#ff9800"},markdownLink:{dark:"blue",light:"#0066cc"},markdownLinkText:{dark:"mint",light:"#00acc1"},markdownCode:{dark:"green",light:"#4caf50"},markdownBlockQuote:{dark:"foregroundMuted",light:"#5c6b7d"},markdownEmph:{dark:"orange",light:"#ff5722"},markdownStrong:{dark:"pink",light:"#e91e63"},markdownHorizontalRule:{dark:"#2d5a7b",light:"#d3dae3"},markdownListItem:{dark:"blue",light:"#0066cc"},markdownListEnumeration:{dark:"mint",light:"#00acc1"},markdownImage:{dark:"blue",light:"#0066cc"},markdownImageText:{dark:"mint",light:"#00acc1"},markdownCodeBlock:{dark:"foreground",light:"#193549"},syntaxComment:{dark:"#0088ff",light:"#5c6b7d"},syntaxKeyword:{dark:"orange",light:"#ff5722"},syntaxFunction:{dark:"yellow",light:"#ff9800"},syntaxVariable:{dark:"foreground",light:"#193549"},syntaxString:{dark:"green",light:"#4caf50"},syntaxNumber:{dark:"pink",light:"#e91e63"},syntaxType:{dark:"mint",light:"#00acc1"},syntaxOperator:{dark:"orange",light:"#ff5722"},syntaxPunctuation:{dark:"foreground",light:"#193549"}}};var cursor_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#181818",darkPanel:"#141414",darkElement:"#262626",darkFg:"#e4e4e4",darkMuted:"#e4e4e45e",darkBorder:"#e4e4e413",darkBorderActive:"#e4e4e426",darkCyan:"#88c0d0",darkBlue:"#81a1c1",darkGreen:"#3fa266",darkGreenBright:"#70b489",darkRed:"#e34671",darkRedBright:"#fc6b83",darkYellow:"#f1b467",darkOrange:"#d2943e",darkPink:"#E394DC",darkPurple:"#AAA0FA",darkTeal:"#82D2CE",darkSyntaxYellow:"#F8C762",darkSyntaxOrange:"#EFB080",darkSyntaxGreen:"#A8CC7C",darkSyntaxBlue:"#87C3FF",lightBg:"#fcfcfc",lightPanel:"#f3f3f3",lightElement:"#ededed",lightFg:"#141414",lightMuted:"#141414ad",lightBorder:"#14141413",lightBorderActive:"#14141426",lightTeal:"#6f9ba6",lightBlue:"#3c7cab",lightBlueDark:"#206595",lightGreen:"#1f8a65",lightGreenBright:"#55a583",lightRed:"#cf2d56",lightRedBright:"#e75e78",lightOrange:"#db704b",lightYellow:"#c08532",lightPurple:"#9e94d5",lightPurpleDark:"#6049b3",lightPink:"#b8448b",lightMagenta:"#b3003f"},theme:{primary:{dark:"darkCyan",light:"lightTeal"},secondary:{dark:"darkBlue",light:"lightBlue"},accent:{dark:"darkCyan",light:"lightTeal"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkBlue",light:"lightBlue"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkMuted",light:"lightMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkPanel",light:"lightPanel"},backgroundElement:{dark:"darkElement",light:"lightElement"},border:{dark:"darkBorder",light:"lightBorder"},borderActive:{dark:"darkCyan",light:"lightTeal"},borderSubtle:{dark:"#0f0f0f",light:"#e0e0e0"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkMuted",light:"lightMuted"},diffHunkHeader:{dark:"darkMuted",light:"lightMuted"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreenBright"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRedBright"},diffAddedBg:{dark:"#3fa26633",light:"#1f8a651f"},diffRemovedBg:{dark:"#b8004933",light:"#cf2d5614"},diffContextBg:{dark:"darkPanel",light:"lightPanel"},diffLineNumber:{dark:"#e4e4e442",light:"#1414147a"},diffAddedLineNumberBg:{dark:"#3fa26633",light:"#1f8a651f"},diffRemovedLineNumberBg:{dark:"#b8004933",light:"#cf2d5614"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkPurple",light:"lightBlueDark"},markdownLink:{dark:"darkTeal",light:"lightBlueDark"},markdownLinkText:{dark:"darkBlue",light:"lightMuted"},markdownCode:{dark:"darkPink",light:"lightGreen"},markdownBlockQuote:{dark:"darkMuted",light:"lightMuted"},markdownEmph:{dark:"darkTeal",light:"lightFg"},markdownStrong:{dark:"darkSyntaxYellow",light:"lightFg"},markdownHorizontalRule:{dark:"darkMuted",light:"lightMuted"},markdownListItem:{dark:"darkFg",light:"lightFg"},markdownListEnumeration:{dark:"darkCyan",light:"lightMuted"},markdownImage:{dark:"darkCyan",light:"lightBlueDark"},markdownImageText:{dark:"darkBlue",light:"lightMuted"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkMuted",light:"lightMuted"},syntaxKeyword:{dark:"darkTeal",light:"lightMagenta"},syntaxFunction:{dark:"darkSyntaxOrange",light:"lightOrange"},syntaxVariable:{dark:"darkFg",light:"lightFg"},syntaxString:{dark:"darkPink",light:"lightPurple"},syntaxNumber:{dark:"darkSyntaxYellow",light:"lightPink"},syntaxType:{dark:"darkSyntaxOrange",light:"lightBlueDark"},syntaxOperator:{dark:"darkFg",light:"lightFg"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var daylight_default={$schema:"https://opencode.ai/theme.json",defs:{daylightBgDark:"#101014",daylightPanelDark:"#18181F",daylightElemDark:"#1F1F28",daylightTextDark:"#E6E6E6",daylightMutedDark:"#9A9A9A",daylightPrimaryDark:"#233662",daylightAccentDark:"#597FE9",daylightSecondaryDark:"#18BAAD",daylightBorderDark:"#3C74ED",daylightBorderSubtleDark:"#4F5B6D",daylightBgLight:"#E5EDF8",daylightPanelLight:"#DCE4EE",daylightElemLight:"#D3DAE4",daylightTextLight:"#111827",daylightMutedLight:"#475569",daylightPrimaryLight:"#0F172A",daylightAccentLight:"#1D4ED8",daylightSecondaryLight:"#0F766E",daylightBorderLight:"#2563EB",daylightBorderSubtleLight:"#64748B",daylightOkDark:"#15803D",daylightErrorDark:"#B91C1C",daylightWarnDark:"#B45309",daylightOkLight:"#15803D",daylightErrorLight:"#B91C1C",daylightWarnLight:"#B45309"},theme:{primary:{dark:"daylightPrimaryDark",light:"daylightPrimaryLight"},secondary:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},accent:{dark:"daylightAccentDark",light:"daylightAccentLight"},error:{dark:"daylightErrorDark",light:"daylightErrorLight"},warning:{dark:"daylightWarnDark",light:"daylightWarnLight"},success:{dark:"daylightOkDark",light:"daylightOkLight"},info:{dark:"daylightAccentDark",light:"daylightAccentLight"},text:{dark:"daylightTextDark",light:"daylightTextLight"},textMuted:{dark:"daylightMutedDark",light:"daylightMutedLight"},background:{dark:"daylightBgDark",light:"daylightBgLight"},backgroundPanel:{dark:"daylightPanelDark",light:"daylightPanelLight"},backgroundElement:{dark:"daylightElemDark",light:"daylightElemLight"},border:{dark:"daylightBorderDark",light:"daylightBorderLight"},borderActive:{dark:"daylightAccentDark",light:"daylightAccentLight"},borderSubtle:{dark:"daylightBorderSubtleDark",light:"daylightBorderSubtleLight"},diffAdded:{dark:"daylightOkDark",light:"daylightOkLight"},diffRemoved:{dark:"daylightErrorDark",light:"daylightErrorLight"},diffContext:{dark:"daylightMutedDark",light:"daylightMutedLight"},diffHunkHeader:{dark:"daylightMutedDark",light:"daylightMutedLight"},diffHighlightAdded:{dark:"daylightOkDark",light:"daylightOkLight"},diffHighlightRemoved:{dark:"daylightErrorDark",light:"daylightErrorLight"},diffAddedBg:{dark:"#11241B",light:"#C6DDDC"},diffRemovedBg:{dark:"#2E1215",light:"#DECED7"},diffContextBg:{dark:"daylightPanelDark",light:"daylightPanelLight"},diffLineNumber:{dark:"daylightMutedDark",light:"daylightMutedLight"},diffAddedLineNumberBg:{dark:"#101B18",light:"#D4E4E9"},diffRemovedLineNumberBg:{dark:"#211115",light:"#E1DCE6"},markdownText:{dark:"daylightTextDark",light:"daylightTextLight"},markdownHeading:{dark:"daylightPrimaryDark",light:"daylightPrimaryLight"},markdownLink:{dark:"daylightAccentDark",light:"daylightAccentLight"},markdownLinkText:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},markdownCode:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},markdownBlockQuote:{dark:"daylightMutedDark",light:"daylightMutedLight"},markdownEmph:{dark:"daylightAccentDark",light:"daylightAccentLight"},markdownStrong:{dark:"daylightPrimaryDark",light:"daylightPrimaryLight"},markdownHorizontalRule:{dark:"daylightBorderDark",light:"daylightBorderLight"},markdownListItem:{dark:"daylightTextDark",light:"daylightTextLight"},markdownListEnumeration:{dark:"daylightAccentDark",light:"daylightAccentLight"},markdownImage:{dark:"daylightAccentDark",light:"daylightAccentLight"},markdownImageText:{dark:"daylightMutedDark",light:"daylightMutedLight"},markdownCodeBlock:{dark:"daylightTextDark",light:"daylightTextLight"},syntaxComment:{dark:"daylightMutedDark",light:"daylightMutedLight"},syntaxKeyword:{dark:"daylightAccentDark",light:"daylightAccentLight"},syntaxFunction:{dark:"daylightPrimaryDark",light:"daylightPrimaryLight"},syntaxVariable:{dark:"daylightTextDark",light:"daylightTextLight"},syntaxString:{dark:"daylightOkDark",light:"daylightOkLight"},syntaxNumber:{dark:"daylightAccentDark",light:"daylightAccentLight"},syntaxType:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},syntaxOperator:{dark:"daylightSecondaryDark",light:"daylightSecondaryLight"},syntaxPunctuation:{dark:"daylightTextDark",light:"daylightTextLight"}}};var default_default={$schema:"https://opencode.ai/theme.json",defs:{defaultBgDark:"#1a1a2e",defaultPanelDark:"#202038",defaultElemDark:"#252542",defaultTextDark:"#FFF8DC",defaultMutedDark:"#B8860B",defaultPrimaryDark:"#FFD700",defaultAccentDark:"#FFBF00",defaultSecondaryDark:"#DAA520",defaultBorderDark:"#CD7F32",defaultBorderSubtleDark:"#8B8682",defaultBgLight:"#F8F8F8",defaultPanelLight:"#EFEFEF",defaultElemLight:"#E4E4E4",defaultTextLight:"#1A1A1A",defaultMutedLight:"#5A5A5A",defaultPrimaryLight:"#4D4000",defaultAccentLight:"#4D3900",defaultSecondaryLight:"#785B12",defaultBorderLight:"#D0D0D0",defaultBorderSubtleLight:"#E0E0E0",defaultOkDark:"#4caf50",defaultErrorDark:"#ef5350",defaultWarnDark:"#ffa726",defaultOkLight:"#4caf50",defaultErrorLight:"#ef5350",defaultWarnLight:"#A56200"},theme:{primary:{dark:"defaultPrimaryDark",light:"defaultPrimaryLight"},secondary:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},accent:{dark:"defaultAccentDark",light:"defaultAccentLight"},error:{dark:"defaultErrorDark",light:"defaultErrorLight"},warning:{dark:"defaultWarnDark",light:"defaultWarnLight"},success:{dark:"defaultOkDark",light:"defaultOkLight"},info:{dark:"defaultAccentDark",light:"defaultAccentLight"},text:{dark:"defaultTextDark",light:"defaultTextLight"},textMuted:{dark:"defaultMutedDark",light:"defaultMutedLight"},background:{dark:"defaultBgDark",light:"defaultBgLight"},backgroundPanel:{dark:"defaultPanelDark",light:"defaultPanelLight"},backgroundElement:{dark:"defaultElemDark",light:"defaultElemLight"},border:{dark:"defaultBorderDark",light:"defaultBorderLight"},borderActive:{dark:"defaultAccentDark",light:"defaultAccentLight"},borderSubtle:{dark:"defaultBorderSubtleDark",light:"defaultBorderSubtleLight"},diffAdded:{dark:"defaultOkDark",light:"defaultOkLight"},diffRemoved:{dark:"defaultErrorDark",light:"defaultErrorLight"},diffContext:{dark:"defaultMutedDark",light:"defaultMutedLight"},diffHunkHeader:{dark:"defaultMutedDark",light:"defaultMutedLight"},diffHighlightAdded:{dark:"defaultOkDark",light:"defaultOkLight"},diffHighlightRemoved:{dark:"defaultErrorDark",light:"defaultErrorLight"},diffAddedBg:{dark:"#233534",light:"#DEEDDF"},diffRemovedBg:{dark:"#402434",light:"#F7DFDF"},diffContextBg:{dark:"defaultPanelDark",light:"defaultPanelLight"},diffLineNumber:{dark:"defaultMutedDark",light:"defaultMutedLight"},diffAddedLineNumberBg:{dark:"#1F2931",light:"#EAF2EB"},diffRemovedLineNumberBg:{dark:"#2F2031",light:"#F7EBEB"},markdownText:{dark:"defaultTextDark",light:"defaultTextLight"},markdownHeading:{dark:"defaultPrimaryDark",light:"defaultPrimaryLight"},markdownLink:{dark:"defaultAccentDark",light:"defaultAccentLight"},markdownLinkText:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},markdownCode:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},markdownBlockQuote:{dark:"defaultMutedDark",light:"defaultMutedLight"},markdownEmph:{dark:"defaultAccentDark",light:"defaultAccentLight"},markdownStrong:{dark:"defaultPrimaryDark",light:"defaultPrimaryLight"},markdownHorizontalRule:{dark:"defaultBorderDark",light:"defaultBorderLight"},markdownListItem:{dark:"defaultTextDark",light:"defaultTextLight"},markdownListEnumeration:{dark:"defaultAccentDark",light:"defaultAccentLight"},markdownImage:{dark:"defaultAccentDark",light:"defaultAccentLight"},markdownImageText:{dark:"defaultMutedDark",light:"defaultMutedLight"},markdownCodeBlock:{dark:"defaultTextDark",light:"defaultTextLight"},syntaxComment:{dark:"defaultMutedDark",light:"defaultMutedLight"},syntaxKeyword:{dark:"defaultAccentDark",light:"defaultAccentLight"},syntaxFunction:{dark:"defaultPrimaryDark",light:"defaultPrimaryLight"},syntaxVariable:{dark:"defaultTextDark",light:"defaultTextLight"},syntaxString:{dark:"defaultOkDark",light:"defaultOkLight"},syntaxNumber:{dark:"defaultAccentDark",light:"defaultAccentLight"},syntaxType:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},syntaxOperator:{dark:"defaultSecondaryDark",light:"defaultSecondaryLight"},syntaxPunctuation:{dark:"defaultTextDark",light:"defaultTextLight"}}};var dracula_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#282a36",currentLine:"#44475a",selection:"#44475a",foreground:"#f8f8f2",comment:"#6272a4",cyan:"#8be9fd",green:"#50fa7b",orange:"#ffb86c",pink:"#ff79c6",purple:"#bd93f9",red:"#ff5555",yellow:"#f1fa8c"},theme:{primary:{dark:"purple",light:"purple"},secondary:{dark:"pink",light:"pink"},accent:{dark:"cyan",light:"cyan"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"yellow"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"foreground",light:"#282a36"},textMuted:{dark:"comment",light:"#6272a4"},background:{dark:"#282a36",light:"#f8f8f2"},backgroundPanel:{dark:"#21222c",light:"#e8e8e2"},backgroundElement:{dark:"currentLine",light:"#d8d8d2"},border:{dark:"currentLine",light:"#c8c8c2"},borderActive:{dark:"purple",light:"purple"},borderSubtle:{dark:"#191a21",light:"#e0e0e0"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"comment",light:"#6272a4"},diffHunkHeader:{dark:"comment",light:"#6272a4"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedBg:{dark:"#3a1a1a",light:"#ffe0e0"},diffContextBg:{dark:"#21222c",light:"#e8e8e2"},diffLineNumber:{dark:"currentLine",light:"#c8c8c2"},diffAddedLineNumberBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedLineNumberBg:{dark:"#3a1a1a",light:"#ffe0e0"},markdownText:{dark:"foreground",light:"#282a36"},markdownHeading:{dark:"purple",light:"purple"},markdownLink:{dark:"cyan",light:"cyan"},markdownLinkText:{dark:"pink",light:"pink"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"comment",light:"#6272a4"},markdownEmph:{dark:"yellow",light:"yellow"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"comment",light:"#6272a4"},markdownListItem:{dark:"purple",light:"purple"},markdownListEnumeration:{dark:"cyan",light:"cyan"},markdownImage:{dark:"cyan",light:"cyan"},markdownImageText:{dark:"pink",light:"pink"},markdownCodeBlock:{dark:"foreground",light:"#282a36"},syntaxComment:{dark:"comment",light:"#6272a4"},syntaxKeyword:{dark:"pink",light:"pink"},syntaxFunction:{dark:"green",light:"green"},syntaxVariable:{dark:"foreground",light:"#282a36"},syntaxString:{dark:"yellow",light:"yellow"},syntaxNumber:{dark:"purple",light:"purple"},syntaxType:{dark:"cyan",light:"cyan"},syntaxOperator:{dark:"pink",light:"pink"},syntaxPunctuation:{dark:"foreground",light:"#282a36"}}};var everforest_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#2d353b",darkStep2:"#333c43",darkStep3:"#343f44",darkStep4:"#3d484d",darkStep5:"#475258",darkStep6:"#7a8478",darkStep7:"#859289",darkStep8:"#9da9a0",darkStep9:"#a7c080",darkStep10:"#83c092",darkStep11:"#7a8478",darkStep12:"#d3c6aa",darkRed:"#e67e80",darkOrange:"#e69875",darkGreen:"#a7c080",darkCyan:"#83c092",darkYellow:"#dbbc7f",lightStep1:"#fdf6e3",lightStep2:"#efebd4",lightStep3:"#f4f0d9",lightStep4:"#efebd4",lightStep5:"#e6e2cc",lightStep6:"#a6b0a0",lightStep7:"#939f91",lightStep8:"#829181",lightStep9:"#8da101",lightStep10:"#35a77c",lightStep11:"#a6b0a0",lightStep12:"#5c6a72",lightRed:"#f85552",lightOrange:"#f57d26",lightGreen:"#8da101",lightCyan:"#35a77c",lightYellow:"#dfa000"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"#7fbbb3",light:"#3a94c5"},accent:{dark:"#d699b6",light:"#df69ba"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"darkStep3",light:"lightStep3"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"#d699b6",light:"#df69ba"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"#d699b6",light:"#df69ba"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var flexoki_default={$schema:"https://opencode.ai/theme.json",defs:{black:"#100F0F",base950:"#1C1B1A",base900:"#282726",base850:"#343331",base800:"#403E3C",base700:"#575653",base600:"#6F6E69",base500:"#878580",base300:"#B7B5AC",base200:"#CECDC3",base150:"#DAD8CE",base100:"#E6E4D9",base50:"#F2F0E5",paper:"#FFFCF0",red400:"#D14D41",red600:"#AF3029",orange400:"#DA702C",orange600:"#BC5215",yellow400:"#D0A215",yellow600:"#AD8301",green400:"#879A39",green600:"#66800B",cyan400:"#3AA99F",cyan600:"#24837B",blue400:"#4385BE",blue600:"#205EA6",purple400:"#8B7EC8",purple600:"#5E409D",magenta400:"#CE5D97",magenta600:"#A02F6F"},theme:{primary:{dark:"orange400",light:"blue600"},secondary:{dark:"blue400",light:"purple600"},accent:{dark:"purple400",light:"orange600"},error:{dark:"red400",light:"red600"},warning:{dark:"orange400",light:"orange600"},success:{dark:"green400",light:"green600"},info:{dark:"cyan400",light:"cyan600"},text:{dark:"base200",light:"black"},textMuted:{dark:"base600",light:"base600"},background:{dark:"black",light:"paper"},backgroundPanel:{dark:"base950",light:"base50"},backgroundElement:{dark:"base900",light:"base100"},border:{dark:"base700",light:"base300"},borderActive:{dark:"base600",light:"base500"},borderSubtle:{dark:"base800",light:"base200"},diffAdded:{dark:"green400",light:"green600"},diffRemoved:{dark:"red400",light:"red600"},diffContext:{dark:"base600",light:"base600"},diffHunkHeader:{dark:"blue400",light:"blue600"},diffHighlightAdded:{dark:"green400",light:"green600"},diffHighlightRemoved:{dark:"red400",light:"red600"},diffAddedBg:{dark:"#1A2D1A",light:"#D5E5D5"},diffRemovedBg:{dark:"#2D1A1A",light:"#F7D8DB"},diffContextBg:{dark:"base950",light:"base50"},diffLineNumber:{dark:"base600",light:"base600"},diffAddedLineNumberBg:{dark:"#152515",light:"#C5D5C5"},diffRemovedLineNumberBg:{dark:"#251515",light:"#E7C8CB"},markdownText:{dark:"base200",light:"black"},markdownHeading:{dark:"purple400",light:"purple600"},markdownLink:{dark:"blue400",light:"blue600"},markdownLinkText:{dark:"cyan400",light:"cyan600"},markdownCode:{dark:"cyan400",light:"cyan600"},markdownBlockQuote:{dark:"yellow400",light:"yellow600"},markdownEmph:{dark:"yellow400",light:"yellow600"},markdownStrong:{dark:"orange400",light:"orange600"},markdownHorizontalRule:{dark:"base600",light:"base600"},markdownListItem:{dark:"orange400",light:"orange600"},markdownListEnumeration:{dark:"cyan400",light:"cyan600"},markdownImage:{dark:"magenta400",light:"magenta600"},markdownImageText:{dark:"cyan400",light:"cyan600"},markdownCodeBlock:{dark:"base200",light:"black"},syntaxComment:{dark:"base600",light:"base600"},syntaxKeyword:{dark:"green400",light:"green600"},syntaxFunction:{dark:"orange400",light:"orange600"},syntaxVariable:{dark:"blue400",light:"blue600"},syntaxString:{dark:"cyan400",light:"cyan600"},syntaxNumber:{dark:"purple400",light:"purple600"},syntaxType:{dark:"yellow400",light:"yellow600"},syntaxOperator:{dark:"base300",light:"base600"},syntaxPunctuation:{dark:"base300",light:"base600"}}};var github_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#0d1117",darkBgAlt:"#010409",darkBgPanel:"#161b22",darkFg:"#c9d1d9",darkFgMuted:"#8b949e",darkBlue:"#58a6ff",darkGreen:"#3fb950",darkRed:"#f85149",darkOrange:"#d29922",darkPurple:"#bc8cff",darkPink:"#ff7b72",darkYellow:"#e3b341",darkCyan:"#39c5cf",lightBg:"#ffffff",lightBgAlt:"#f6f8fa",lightBgPanel:"#f0f3f6",lightFg:"#24292f",lightFgMuted:"#57606a",lightBlue:"#0969da",lightGreen:"#1a7f37",lightRed:"#cf222e",lightOrange:"#bc4c00",lightPurple:"#8250df",lightPink:"#bf3989",lightYellow:"#9a6700",lightCyan:"#1b7c83"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#30363d",light:"#d0d7de"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#21262d",light:"#d8dee4"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkBlue",light:"lightBlue"},diffHighlightAdded:{dark:"#3fb950",light:"#1a7f37"},diffHighlightRemoved:{dark:"#f85149",light:"#cf222e"},diffAddedBg:{dark:"#033a16",light:"#dafbe1"},diffRemovedBg:{dark:"#67060c",light:"#ffebe9"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#484f58",light:"#afb8c1"},diffAddedLineNumberBg:{dark:"#033a16",light:"#dafbe1"},diffRemovedLineNumberBg:{dark:"#67060c",light:"#ffebe9"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkBlue",light:"lightBlue"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkPink",light:"lightPink"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"#30363d",light:"#d0d7de"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPink",light:"lightRed"},syntaxFunction:{dark:"darkPurple",light:"lightPurple"},syntaxVariable:{dark:"darkOrange",light:"lightOrange"},syntaxString:{dark:"darkCyan",light:"lightBlue"},syntaxNumber:{dark:"darkBlue",light:"lightCyan"},syntaxType:{dark:"darkOrange",light:"lightOrange"},syntaxOperator:{dark:"darkPink",light:"lightRed"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var gruvbox_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg0:"#282828",darkBg1:"#3c3836",darkBg2:"#504945",darkBg3:"#665c54",darkFg0:"#fbf1c7",darkFg1:"#ebdbb2",darkGray:"#928374",darkRed:"#cc241d",darkGreen:"#98971a",darkYellow:"#d79921",darkBlue:"#458588",darkPurple:"#b16286",darkAqua:"#689d6a",darkOrange:"#d65d0e",darkRedBright:"#fb4934",darkGreenBright:"#b8bb26",darkYellowBright:"#fabd2f",darkBlueBright:"#83a598",darkPurpleBright:"#d3869b",darkAquaBright:"#8ec07c",darkOrangeBright:"#fe8019",lightBg0:"#fbf1c7",lightBg1:"#ebdbb2",lightBg2:"#d5c4a1",lightBg3:"#bdae93",lightFg0:"#282828",lightFg1:"#3c3836",lightGray:"#7c6f64",lightRed:"#9d0006",lightGreen:"#79740e",lightYellow:"#b57614",lightBlue:"#076678",lightPurple:"#8f3f71",lightAqua:"#427b58",lightOrange:"#af3a03"},theme:{primary:{dark:"darkBlueBright",light:"lightBlue"},secondary:{dark:"darkPurpleBright",light:"lightPurple"},accent:{dark:"darkAquaBright",light:"lightAqua"},error:{dark:"darkRedBright",light:"lightRed"},warning:{dark:"darkOrangeBright",light:"lightOrange"},success:{dark:"darkGreenBright",light:"lightGreen"},info:{dark:"darkYellowBright",light:"lightYellow"},text:{dark:"darkFg1",light:"lightFg1"},textMuted:{dark:"darkGray",light:"lightGray"},background:{dark:"darkBg0",light:"lightBg0"},backgroundPanel:{dark:"darkBg1",light:"lightBg1"},backgroundElement:{dark:"darkBg2",light:"lightBg2"},border:{dark:"darkBg3",light:"lightBg3"},borderActive:{dark:"darkFg1",light:"lightFg1"},borderSubtle:{dark:"darkBg2",light:"lightBg2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkGray",light:"lightGray"},diffHunkHeader:{dark:"darkAqua",light:"lightAqua"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRed"},diffAddedBg:{dark:"#32302f",light:"#dcd8a4"},diffRemovedBg:{dark:"#322929",light:"#e2c7c3"},diffContextBg:{dark:"darkBg1",light:"lightBg1"},diffLineNumber:{dark:"darkBg3",light:"lightBg3"},diffAddedLineNumberBg:{dark:"#2a2827",light:"#cec99e"},diffRemovedLineNumberBg:{dark:"#2a2222",light:"#d3bdb9"},markdownText:{dark:"darkFg1",light:"lightFg1"},markdownHeading:{dark:"darkBlueBright",light:"lightBlue"},markdownLink:{dark:"darkAquaBright",light:"lightAqua"},markdownLinkText:{dark:"darkGreenBright",light:"lightGreen"},markdownCode:{dark:"darkYellowBright",light:"lightYellow"},markdownBlockQuote:{dark:"darkGray",light:"lightGray"},markdownEmph:{dark:"darkPurpleBright",light:"lightPurple"},markdownStrong:{dark:"darkOrangeBright",light:"lightOrange"},markdownHorizontalRule:{dark:"darkGray",light:"lightGray"},markdownListItem:{dark:"darkBlueBright",light:"lightBlue"},markdownListEnumeration:{dark:"darkAquaBright",light:"lightAqua"},markdownImage:{dark:"darkAquaBright",light:"lightAqua"},markdownImageText:{dark:"darkGreenBright",light:"lightGreen"},markdownCodeBlock:{dark:"darkFg1",light:"lightFg1"},syntaxComment:{dark:"darkGray",light:"lightGray"},syntaxKeyword:{dark:"darkRedBright",light:"lightRed"},syntaxFunction:{dark:"darkGreenBright",light:"lightGreen"},syntaxVariable:{dark:"darkBlueBright",light:"lightBlue"},syntaxString:{dark:"darkYellowBright",light:"lightYellow"},syntaxNumber:{dark:"darkPurpleBright",light:"lightPurple"},syntaxType:{dark:"darkAquaBright",light:"lightAqua"},syntaxOperator:{dark:"darkOrangeBright",light:"lightOrange"},syntaxPunctuation:{dark:"darkFg1",light:"lightFg1"}}};var kanagawa_default={$schema:"https://opencode.ai/theme.json",defs:{sumiInk0:"#1F1F28",sumiInk1:"#2A2A37",sumiInk2:"#363646",sumiInk3:"#54546D",fujiWhite:"#DCD7BA",oldWhite:"#C8C093",fujiGray:"#727169",oniViolet:"#957FB8",crystalBlue:"#7E9CD8",carpYellow:"#C38D9D",sakuraPink:"#D27E99",waveAqua:"#76946A",roninYellow:"#D7A657",dragonRed:"#E82424",lotusGreen:"#98BB6C",waveBlue:"#2D4F67",lightBg:"#F2E9DE",lightPaper:"#EAE4D7",lightText:"#54433A",lightGray:"#9E9389"},theme:{primary:{dark:"crystalBlue",light:"waveBlue"},secondary:{dark:"oniViolet",light:"oniViolet"},accent:{dark:"sakuraPink",light:"sakuraPink"},error:{dark:"dragonRed",light:"dragonRed"},warning:{dark:"roninYellow",light:"roninYellow"},success:{dark:"lotusGreen",light:"lotusGreen"},info:{dark:"waveAqua",light:"waveAqua"},text:{dark:"fujiWhite",light:"lightText"},textMuted:{dark:"fujiGray",light:"lightGray"},background:{dark:"sumiInk0",light:"lightBg"},backgroundPanel:{dark:"sumiInk1",light:"lightPaper"},backgroundElement:{dark:"sumiInk2",light:"#E3DCD2"},border:{dark:"sumiInk3",light:"#D4CBBF"},borderActive:{dark:"carpYellow",light:"carpYellow"},borderSubtle:{dark:"sumiInk2",light:"#DCD4C9"},diffAdded:{dark:"lotusGreen",light:"lotusGreen"},diffRemoved:{dark:"dragonRed",light:"dragonRed"},diffContext:{dark:"fujiGray",light:"lightGray"},diffHunkHeader:{dark:"waveBlue",light:"waveBlue"},diffHighlightAdded:{dark:"#A9D977",light:"#89AF5B"},diffHighlightRemoved:{dark:"#F24A4A",light:"#D61F1F"},diffAddedBg:{dark:"#252E25",light:"#EAF3E4"},diffRemovedBg:{dark:"#362020",light:"#FBE6E6"},diffContextBg:{dark:"sumiInk1",light:"lightPaper"},diffLineNumber:{dark:"sumiInk3",light:"#C7BEB4"},diffAddedLineNumberBg:{dark:"#202820",light:"#DDE8D6"},diffRemovedLineNumberBg:{dark:"#2D1C1C",light:"#F2DADA"},markdownText:{dark:"fujiWhite",light:"lightText"},markdownHeading:{dark:"oniViolet",light:"oniViolet"},markdownLink:{dark:"crystalBlue",light:"waveBlue"},markdownLinkText:{dark:"waveAqua",light:"waveAqua"},markdownCode:{dark:"lotusGreen",light:"lotusGreen"},markdownBlockQuote:{dark:"fujiGray",light:"lightGray"},markdownEmph:{dark:"carpYellow",light:"carpYellow"},markdownStrong:{dark:"roninYellow",light:"roninYellow"},markdownHorizontalRule:{dark:"fujiGray",light:"lightGray"},markdownListItem:{dark:"crystalBlue",light:"waveBlue"},markdownListEnumeration:{dark:"waveAqua",light:"waveAqua"},markdownImage:{dark:"crystalBlue",light:"waveBlue"},markdownImageText:{dark:"waveAqua",light:"waveAqua"},markdownCodeBlock:{dark:"fujiWhite",light:"lightText"},syntaxComment:{dark:"fujiGray",light:"lightGray"},syntaxKeyword:{dark:"oniViolet",light:"oniViolet"},syntaxFunction:{dark:"crystalBlue",light:"waveBlue"},syntaxVariable:{dark:"fujiWhite",light:"lightText"},syntaxString:{dark:"lotusGreen",light:"lotusGreen"},syntaxNumber:{dark:"roninYellow",light:"roninYellow"},syntaxType:{dark:"carpYellow",light:"carpYellow"},syntaxOperator:{dark:"sakuraPink",light:"sakuraPink"},syntaxPunctuation:{dark:"fujiWhite",light:"lightText"}}};var lucent_orng_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep6:"#3c3c3c",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#EE7948",darkAccent:"#FFF7F1",darkRed:"#e06c75",darkOrange:"#EC5B2B",darkBlue:"#6ba1e6",darkCyan:"#56b6c2",darkYellow:"#e5c07b",darkPanelBg:"#2a1a1599",lightStep6:"#d4d4d4",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#EE7948",lightAccent:"#c94d24",lightRed:"#d1383d",lightOrange:"#EC5B2B",lightBlue:"#0062d1",lightCyan:"#318795",lightYellow:"#b0851f",lightPanelBg:"#fff5f099"},theme:{primary:{dark:"darkOrange",light:"lightOrange"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkBlue",light:"lightBlue"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},selectedListItemText:{dark:"#0a0a0a",light:"#ffffff"},background:{dark:"transparent",light:"transparent"},backgroundPanel:{dark:"transparent",light:"transparent"},backgroundElement:{dark:"transparent",light:"transparent"},backgroundMenu:{dark:"darkPanelBg",light:"lightPanelBg"},border:{dark:"darkOrange",light:"lightOrange"},borderActive:{dark:"darkSecondary",light:"lightAccent"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"darkBlue",light:"lightBlue"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"darkBlue",light:"lightBlue"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"transparent",light:"transparent"},diffRemovedBg:{dark:"transparent",light:"transparent"},diffContextBg:{dark:"transparent",light:"transparent"},diffLineNumber:{dark:"#666666",light:"#999999"},diffAddedLineNumberBg:{dark:"transparent",light:"transparent"},diffRemovedLineNumberBg:{dark:"transparent",light:"transparent"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkOrange",light:"lightOrange"},markdownLink:{dark:"darkOrange",light:"lightOrange"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkBlue",light:"lightBlue"},markdownBlockQuote:{dark:"darkAccent",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkSecondary",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkOrange",light:"lightOrange"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkOrange",light:"lightOrange"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkOrange",light:"lightOrange"},syntaxFunction:{dark:"darkSecondary",light:"lightAccent"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkBlue",light:"lightBlue"},syntaxNumber:{dark:"darkAccent",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var material_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#263238",darkBgAlt:"#1e272c",darkBgPanel:"#37474f",darkFg:"#eeffff",darkFgMuted:"#546e7a",darkRed:"#f07178",darkPink:"#f78c6c",darkOrange:"#ffcb6b",darkYellow:"#ffcb6b",darkGreen:"#c3e88d",darkCyan:"#89ddff",darkBlue:"#82aaff",darkPurple:"#c792ea",darkViolet:"#bb80b3",lightBg:"#fafafa",lightBgAlt:"#f5f5f5",lightBgPanel:"#e7e7e8",lightFg:"#263238",lightFgMuted:"#90a4ae",lightRed:"#e53935",lightPink:"#ec407a",lightOrange:"#f4511e",lightYellow:"#ffb300",lightGreen:"#91b859",lightCyan:"#39adb5",lightBlue:"#6182b8",lightPurple:"#7c4dff",lightViolet:"#945eb8"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#37474f",light:"#e0e0e0"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#1e272c",light:"#eeeeee"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"darkGreen",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRed",light:"lightRed"},diffAddedBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedBg:{dark:"#3c2b2b",light:"#ffebee"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#37474f",light:"#cfd8dc"},diffAddedLineNumberBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3c2b2b",light:"#ffebee"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkBlue",light:"lightBlue"},markdownLink:{dark:"darkCyan",light:"lightCyan"},markdownLinkText:{dark:"darkPurple",light:"lightPurple"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"#37474f",light:"#e0e0e0"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkCyan",light:"lightCyan"},markdownImageText:{dark:"darkPurple",light:"lightPurple"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkFg",light:"lightFg"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var matrix_default={$schema:"https://opencode.ai/theme.json",defs:{matrixInk0:"#0a0e0a",matrixInk1:"#0e130d",matrixInk2:"#141c12",matrixInk3:"#1e2a1b",rainGreen:"#2eff6a",rainGreenDim:"#1cc24b",rainGreenHi:"#62ff94",rainCyan:"#00efff",rainTeal:"#24f6d9",rainPurple:"#c770ff",rainOrange:"#ffa83d",alertRed:"#ff4b4b",alertYellow:"#e6ff57",alertBlue:"#30b3ff",rainGray:"#8ca391",lightBg:"#eef3ea",lightPaper:"#e4ebe1",lightInk1:"#dae1d7",lightText:"#203022",lightGray:"#748476"},theme:{primary:{dark:"rainGreen",light:"rainGreenDim"},secondary:{dark:"rainCyan",light:"rainTeal"},accent:{dark:"rainPurple",light:"rainPurple"},error:{dark:"alertRed",light:"alertRed"},warning:{dark:"alertYellow",light:"alertYellow"},success:{dark:"rainGreenHi",light:"rainGreenDim"},info:{dark:"alertBlue",light:"alertBlue"},text:{dark:"rainGreenHi",light:"lightText"},textMuted:{dark:"rainGray",light:"lightGray"},background:{dark:"matrixInk0",light:"lightBg"},backgroundPanel:{dark:"matrixInk1",light:"lightPaper"},backgroundElement:{dark:"matrixInk2",light:"lightInk1"},border:{dark:"matrixInk3",light:"lightGray"},borderActive:{dark:"rainGreen",light:"rainGreenDim"},borderSubtle:{dark:"matrixInk2",light:"lightInk1"},diffAdded:{dark:"rainGreenDim",light:"rainGreenDim"},diffRemoved:{dark:"alertRed",light:"alertRed"},diffContext:{dark:"rainGray",light:"lightGray"},diffHunkHeader:{dark:"alertBlue",light:"alertBlue"},diffHighlightAdded:{dark:"#77ffaf",light:"#5dac7e"},diffHighlightRemoved:{dark:"#ff7171",light:"#d53a3a"},diffAddedBg:{dark:"#132616",light:"#e0efde"},diffRemovedBg:{dark:"#261212",light:"#f9e5e5"},diffContextBg:{dark:"matrixInk1",light:"lightPaper"},diffLineNumber:{dark:"matrixInk3",light:"lightGray"},diffAddedLineNumberBg:{dark:"#0f1b11",light:"#d6e7d2"},diffRemovedLineNumberBg:{dark:"#1b1414",light:"#f2d2d2"},markdownText:{dark:"rainGreenHi",light:"lightText"},markdownHeading:{dark:"rainCyan",light:"rainTeal"},markdownLink:{dark:"alertBlue",light:"alertBlue"},markdownLinkText:{dark:"rainTeal",light:"rainTeal"},markdownCode:{dark:"rainGreenDim",light:"rainGreenDim"},markdownBlockQuote:{dark:"rainGray",light:"lightGray"},markdownEmph:{dark:"rainOrange",light:"rainOrange"},markdownStrong:{dark:"alertYellow",light:"alertYellow"},markdownHorizontalRule:{dark:"rainGray",light:"lightGray"},markdownListItem:{dark:"alertBlue",light:"alertBlue"},markdownListEnumeration:{dark:"rainTeal",light:"rainTeal"},markdownImage:{dark:"alertBlue",light:"alertBlue"},markdownImageText:{dark:"rainTeal",light:"rainTeal"},markdownCodeBlock:{dark:"rainGreenHi",light:"lightText"},syntaxComment:{dark:"rainGray",light:"lightGray"},syntaxKeyword:{dark:"rainPurple",light:"rainPurple"},syntaxFunction:{dark:"alertBlue",light:"alertBlue"},syntaxVariable:{dark:"rainGreenHi",light:"lightText"},syntaxString:{dark:"rainGreenDim",light:"rainGreenDim"},syntaxNumber:{dark:"rainOrange",light:"rainOrange"},syntaxType:{dark:"alertYellow",light:"alertYellow"},syntaxOperator:{dark:"rainTeal",light:"rainTeal"},syntaxPunctuation:{dark:"rainGreenHi",light:"lightText"}}};var mercury_default={$schema:"https://opencode.ai/theme.json",defs:{"purple-800":"#3442a6","purple-700":"#465bd1","purple-600":"#5266eb","purple-400":"#8da4f5","purple-300":"#a7b6f8","red-700":"#b0175f","red-600":"#d03275","red-400":"#fc92b4","green-700":"#036e43","green-600":"#188554","green-400":"#77c599","orange-700":"#a44200","orange-600":"#c45000","orange-400":"#fc9b6f","blue-600":"#007f95","blue-400":"#77becf","neutral-1000":"#10101a","neutral-950":"#171721","neutral-900":"#1e1e2a","neutral-800":"#272735","neutral-700":"#363644","neutral-600":"#535461","neutral-500":"#70707d","neutral-400":"#9d9da8","neutral-300":"#c3c3cc","neutral-200":"#dddde5","neutral-100":"#f4f5f9","neutral-050":"#fbfcfd","neutral-000":"#ffffff","neutral-150":"#ededf3","border-light":"#7073931a","border-light-subtle":"#7073930f","border-dark":"#b4b7c81f","border-dark-subtle":"#b4b7c814","diff-added-light":"#1885541a","diff-removed-light":"#d032751a","diff-added-dark":"#77c59933","diff-removed-dark":"#fc92b433"},theme:{primary:{light:"purple-600",dark:"purple-400"},secondary:{light:"purple-700",dark:"purple-300"},accent:{light:"purple-400",dark:"purple-400"},error:{light:"red-700",dark:"red-400"},warning:{light:"orange-700",dark:"orange-400"},success:{light:"green-700",dark:"green-400"},info:{light:"blue-600",dark:"blue-400"},text:{light:"neutral-700",dark:"neutral-200"},textMuted:{light:"neutral-500",dark:"neutral-400"},background:{light:"neutral-000",dark:"neutral-950"},backgroundPanel:{light:"neutral-050",dark:"neutral-1000"},backgroundElement:{light:"neutral-100",dark:"neutral-800"},border:{light:"border-light",dark:"border-dark"},borderActive:{light:"purple-600",dark:"purple-400"},borderSubtle:{light:"border-light-subtle",dark:"border-dark-subtle"},diffAdded:{light:"green-700",dark:"green-400"},diffRemoved:{light:"red-700",dark:"red-400"},diffContext:{light:"neutral-500",dark:"neutral-400"},diffHunkHeader:{light:"neutral-500",dark:"neutral-400"},diffHighlightAdded:{light:"green-700",dark:"green-400"},diffHighlightRemoved:{light:"red-700",dark:"red-400"},diffAddedBg:{light:"diff-added-light",dark:"diff-added-dark"},diffRemovedBg:{light:"diff-removed-light",dark:"diff-removed-dark"},diffContextBg:{light:"neutral-050",dark:"neutral-900"},diffLineNumber:{light:"neutral-600",dark:"neutral-300"},diffAddedLineNumberBg:{light:"diff-added-light",dark:"diff-added-dark"},diffRemovedLineNumberBg:{light:"diff-removed-light",dark:"diff-removed-dark"},markdownText:{light:"neutral-700",dark:"neutral-200"},markdownHeading:{light:"neutral-900",dark:"neutral-000"},markdownLink:{light:"purple-700",dark:"purple-400"},markdownLinkText:{light:"purple-600",dark:"purple-300"},markdownCode:{light:"green-700",dark:"green-400"},markdownBlockQuote:{light:"neutral-500",dark:"neutral-400"},markdownEmph:{light:"orange-700",dark:"orange-400"},markdownStrong:{light:"neutral-900",dark:"neutral-100"},markdownHorizontalRule:{light:"border-light",dark:"border-dark"},markdownListItem:{light:"neutral-900",dark:"neutral-000"},markdownListEnumeration:{light:"purple-600",dark:"purple-400"},markdownImage:{light:"purple-700",dark:"purple-400"},markdownImageText:{light:"purple-600",dark:"purple-300"},markdownCodeBlock:{light:"neutral-700",dark:"neutral-200"},syntaxComment:{light:"neutral-500",dark:"neutral-400"},syntaxKeyword:{light:"purple-700",dark:"purple-400"},syntaxFunction:{light:"purple-600",dark:"purple-400"},syntaxVariable:{light:"blue-600",dark:"blue-400"},syntaxString:{light:"green-700",dark:"green-400"},syntaxNumber:{light:"orange-700",dark:"orange-400"},syntaxType:{light:"blue-600",dark:"blue-400"},syntaxOperator:{light:"purple-700",dark:"purple-400"},syntaxPunctuation:{light:"neutral-700",dark:"neutral-200"}}};var mono_default={$schema:"https://opencode.ai/theme.json",defs:{monoBgDark:"#1F1F1F",monoPanelDark:"#272727",monoElemDark:"#2E2E2E",monoTextDark:"#c9d1d9",monoMutedDark:"#444444",monoPrimaryDark:"#e6edf3",monoAccentDark:"#aaaaaa",monoSecondaryDark:"#888888",monoBorderDark:"#555555",monoBorderSubtleDark:"#555555",monoBgLight:"#F8F8F8",monoPanelLight:"#EFEFEF",monoElemLight:"#E4E4E4",monoTextLight:"#1A1A1A",monoMutedLight:"#5A5A5A",monoPrimaryLight:"#6D96B9",monoAccentLight:"#727272",monoSecondaryLight:"#505050",monoBorderLight:"#D0D0D0",monoBorderSubtleLight:"#E0E0E0",monoOkDark:"#888888",monoErrorDark:"#cccccc",monoWarnDark:"#999999",monoOkLight:"#888888",monoErrorLight:"#8C8C8C",monoWarnLight:"#999999"},theme:{primary:{dark:"monoPrimaryDark",light:"monoPrimaryLight"},secondary:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},accent:{dark:"monoAccentDark",light:"monoAccentLight"},error:{dark:"monoErrorDark",light:"monoErrorLight"},warning:{dark:"monoWarnDark",light:"monoWarnLight"},success:{dark:"monoOkDark",light:"monoOkLight"},info:{dark:"monoAccentDark",light:"monoAccentLight"},text:{dark:"monoTextDark",light:"monoTextLight"},textMuted:{dark:"monoMutedDark",light:"monoMutedLight"},background:{dark:"monoBgDark",light:"monoBgLight"},backgroundPanel:{dark:"monoPanelDark",light:"monoPanelLight"},backgroundElement:{dark:"monoElemDark",light:"monoElemLight"},border:{dark:"monoBorderDark",light:"monoBorderLight"},borderActive:{dark:"monoAccentDark",light:"monoAccentLight"},borderSubtle:{dark:"monoBorderSubtleDark",light:"monoBorderSubtleLight"},diffAdded:{dark:"monoOkDark",light:"monoOkLight"},diffRemoved:{dark:"monoErrorDark",light:"monoErrorLight"},diffContext:{dark:"monoMutedDark",light:"monoMutedLight"},diffHunkHeader:{dark:"monoMutedDark",light:"monoMutedLight"},diffHighlightAdded:{dark:"monoOkDark",light:"monoOkLight"},diffHighlightRemoved:{dark:"monoErrorDark",light:"monoErrorLight"},diffAddedBg:{dark:"#323232",light:"#E7E7E7"},diffRemovedBg:{dark:"#3E3E3E",light:"#E8E8E8"},diffContextBg:{dark:"monoPanelDark",light:"monoPanelLight"},diffLineNumber:{dark:"monoMutedDark",light:"monoMutedLight"},diffAddedLineNumberBg:{dark:"#2A2A2A",light:"#EFEFEF"},diffRemovedLineNumberBg:{dark:"#303030",light:"#EFEFEF"},markdownText:{dark:"monoTextDark",light:"monoTextLight"},markdownHeading:{dark:"monoPrimaryDark",light:"monoPrimaryLight"},markdownLink:{dark:"monoAccentDark",light:"monoAccentLight"},markdownLinkText:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},markdownCode:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},markdownBlockQuote:{dark:"monoMutedDark",light:"monoMutedLight"},markdownEmph:{dark:"monoAccentDark",light:"monoAccentLight"},markdownStrong:{dark:"monoPrimaryDark",light:"monoPrimaryLight"},markdownHorizontalRule:{dark:"monoBorderDark",light:"monoBorderLight"},markdownListItem:{dark:"monoTextDark",light:"monoTextLight"},markdownListEnumeration:{dark:"monoAccentDark",light:"monoAccentLight"},markdownImage:{dark:"monoAccentDark",light:"monoAccentLight"},markdownImageText:{dark:"monoMutedDark",light:"monoMutedLight"},markdownCodeBlock:{dark:"monoTextDark",light:"monoTextLight"},syntaxComment:{dark:"monoMutedDark",light:"monoMutedLight"},syntaxKeyword:{dark:"monoAccentDark",light:"monoAccentLight"},syntaxFunction:{dark:"monoPrimaryDark",light:"monoPrimaryLight"},syntaxVariable:{dark:"monoTextDark",light:"monoTextLight"},syntaxString:{dark:"monoOkDark",light:"monoOkLight"},syntaxNumber:{dark:"monoAccentDark",light:"monoAccentLight"},syntaxType:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},syntaxOperator:{dark:"monoSecondaryDark",light:"monoSecondaryLight"},syntaxPunctuation:{dark:"monoTextDark",light:"monoTextLight"}}};var monokai_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#272822",backgroundAlt:"#1e1f1c",backgroundPanel:"#3e3d32",foreground:"#f8f8f2",comment:"#75715e",red:"#f92672",orange:"#fd971f",lightOrange:"#e69f66",yellow:"#e6db74",green:"#a6e22e",cyan:"#66d9ef",blue:"#66d9ef",purple:"#ae81ff",pink:"#f92672"},theme:{primary:{dark:"cyan",light:"blue"},secondary:{dark:"purple",light:"purple"},accent:{dark:"green",light:"green"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"orange"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"foreground",light:"#272822"},textMuted:{dark:"comment",light:"#75715e"},background:{dark:"#272822",light:"#fafafa"},backgroundPanel:{dark:"#1e1f1c",light:"#f0f0f0"},backgroundElement:{dark:"#3e3d32",light:"#e0e0e0"},border:{dark:"#3e3d32",light:"#d0d0d0"},borderActive:{dark:"cyan",light:"blue"},borderSubtle:{dark:"#1e1f1c",light:"#e8e8e8"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"comment",light:"#75715e"},diffHunkHeader:{dark:"comment",light:"#75715e"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedBg:{dark:"#3a1a1a",light:"#ffe0e0"},diffContextBg:{dark:"#1e1f1c",light:"#f0f0f0"},diffLineNumber:{dark:"#3e3d32",light:"#d0d0d0"},diffAddedLineNumberBg:{dark:"#1a3a1a",light:"#e0ffe0"},diffRemovedLineNumberBg:{dark:"#3a1a1a",light:"#ffe0e0"},markdownText:{dark:"foreground",light:"#272822"},markdownHeading:{dark:"pink",light:"pink"},markdownLink:{dark:"cyan",light:"blue"},markdownLinkText:{dark:"purple",light:"purple"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"comment",light:"#75715e"},markdownEmph:{dark:"yellow",light:"orange"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"comment",light:"#75715e"},markdownListItem:{dark:"cyan",light:"blue"},markdownListEnumeration:{dark:"purple",light:"purple"},markdownImage:{dark:"cyan",light:"blue"},markdownImageText:{dark:"purple",light:"purple"},markdownCodeBlock:{dark:"foreground",light:"#272822"},syntaxComment:{dark:"comment",light:"#75715e"},syntaxKeyword:{dark:"pink",light:"pink"},syntaxFunction:{dark:"green",light:"green"},syntaxVariable:{dark:"foreground",light:"#272822"},syntaxString:{dark:"yellow",light:"orange"},syntaxNumber:{dark:"purple",light:"purple"},syntaxType:{dark:"cyan",light:"blue"},syntaxOperator:{dark:"pink",light:"pink"},syntaxPunctuation:{dark:"foreground",light:"#272822"}}};var nightowl_default={$schema:"https://opencode.ai/theme.json",defs:{nightOwlBg:"#011627",nightOwlFg:"#d6deeb",nightOwlBlue:"#82AAFF",nightOwlCyan:"#7fdbca",nightOwlGreen:"#c5e478",nightOwlYellow:"#ecc48d",nightOwlOrange:"#F78C6C",nightOwlRed:"#EF5350",nightOwlPink:"#ff5874",nightOwlPurple:"#c792ea",nightOwlMuted:"#5f7e97",nightOwlGray:"#637777",nightOwlLightGray:"#89a4bb",nightOwlPanel:"#0b253a"},theme:{primary:{dark:"nightOwlBlue",light:"nightOwlBlue"},secondary:{dark:"nightOwlCyan",light:"nightOwlCyan"},accent:{dark:"nightOwlPurple",light:"nightOwlPurple"},error:{dark:"nightOwlRed",light:"nightOwlRed"},warning:{dark:"nightOwlYellow",light:"nightOwlYellow"},success:{dark:"nightOwlGreen",light:"nightOwlGreen"},info:{dark:"nightOwlBlue",light:"nightOwlBlue"},text:{dark:"nightOwlFg",light:"nightOwlFg"},textMuted:{dark:"nightOwlMuted",light:"nightOwlMuted"},background:{dark:"nightOwlBg",light:"nightOwlBg"},backgroundPanel:{dark:"nightOwlPanel",light:"nightOwlPanel"},backgroundElement:{dark:"nightOwlPanel",light:"nightOwlPanel"},border:{dark:"nightOwlMuted",light:"nightOwlMuted"},borderActive:{dark:"nightOwlBlue",light:"nightOwlBlue"},borderSubtle:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffAdded:{dark:"nightOwlGreen",light:"nightOwlGreen"},diffRemoved:{dark:"nightOwlRed",light:"nightOwlRed"},diffContext:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffHunkHeader:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffHighlightAdded:{dark:"nightOwlGreen",light:"nightOwlGreen"},diffHighlightRemoved:{dark:"nightOwlRed",light:"nightOwlRed"},diffAddedBg:{dark:"#0a2e1a",light:"#0a2e1a"},diffRemovedBg:{dark:"#2d1b1b",light:"#2d1b1b"},diffContextBg:{dark:"nightOwlPanel",light:"nightOwlPanel"},diffLineNumber:{dark:"nightOwlMuted",light:"nightOwlMuted"},diffAddedLineNumberBg:{dark:"#0a2e1a",light:"#0a2e1a"},diffRemovedLineNumberBg:{dark:"#2d1b1b",light:"#2d1b1b"},markdownText:{dark:"nightOwlFg",light:"nightOwlFg"},markdownHeading:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownLink:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownLinkText:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownCode:{dark:"nightOwlGreen",light:"nightOwlGreen"},markdownBlockQuote:{dark:"nightOwlMuted",light:"nightOwlMuted"},markdownEmph:{dark:"nightOwlPurple",light:"nightOwlPurple"},markdownStrong:{dark:"nightOwlYellow",light:"nightOwlYellow"},markdownHorizontalRule:{dark:"nightOwlMuted",light:"nightOwlMuted"},markdownListItem:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownListEnumeration:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownImage:{dark:"nightOwlCyan",light:"nightOwlCyan"},markdownImageText:{dark:"nightOwlBlue",light:"nightOwlBlue"},markdownCodeBlock:{dark:"nightOwlFg",light:"nightOwlFg"},syntaxComment:{dark:"nightOwlGray",light:"nightOwlGray"},syntaxKeyword:{dark:"nightOwlPurple",light:"nightOwlPurple"},syntaxFunction:{dark:"nightOwlBlue",light:"nightOwlBlue"},syntaxVariable:{dark:"nightOwlFg",light:"nightOwlFg"},syntaxString:{dark:"nightOwlYellow",light:"nightOwlYellow"},syntaxNumber:{dark:"nightOwlOrange",light:"nightOwlOrange"},syntaxType:{dark:"nightOwlGreen",light:"nightOwlGreen"},syntaxOperator:{dark:"nightOwlCyan",light:"nightOwlCyan"},syntaxPunctuation:{dark:"nightOwlFg",light:"nightOwlFg"}}};var nord_default={$schema:"https://opencode.ai/theme.json",defs:{nord0:"#2E3440",nord1:"#3B4252",nord2:"#434C5E",nord3:"#4C566A",nord4:"#D8DEE9",nord5:"#E5E9F0",nord6:"#ECEFF4",nord7:"#8FBCBB",nord8:"#88C0D0",nord9:"#81A1C1",nord10:"#5E81AC",nord11:"#BF616A",nord12:"#D08770",nord13:"#EBCB8B",nord14:"#A3BE8C",nord15:"#B48EAD"},theme:{primary:{dark:"nord8",light:"nord10"},secondary:{dark:"nord9",light:"nord9"},accent:{dark:"nord7",light:"nord7"},error:{dark:"nord11",light:"nord11"},warning:{dark:"nord12",light:"nord12"},success:{dark:"nord14",light:"nord14"},info:{dark:"nord8",light:"nord10"},text:{dark:"nord6",light:"nord0"},textMuted:{dark:"#8B95A7",light:"nord1"},background:{dark:"nord0",light:"nord6"},backgroundPanel:{dark:"nord1",light:"nord5"},backgroundElement:{dark:"nord2",light:"nord4"},border:{dark:"nord2",light:"nord3"},borderActive:{dark:"nord3",light:"nord2"},borderSubtle:{dark:"nord2",light:"nord3"},diffAdded:{dark:"nord14",light:"nord14"},diffRemoved:{dark:"nord11",light:"nord11"},diffContext:{dark:"#8B95A7",light:"nord3"},diffHunkHeader:{dark:"#8B95A7",light:"nord3"},diffHighlightAdded:{dark:"nord14",light:"nord14"},diffHighlightRemoved:{dark:"nord11",light:"nord11"},diffAddedBg:{dark:"#3B4252",light:"#E5E9F0"},diffRemovedBg:{dark:"#3B4252",light:"#E5E9F0"},diffContextBg:{dark:"nord1",light:"nord5"},diffLineNumber:{dark:"nord2",light:"nord4"},diffAddedLineNumberBg:{dark:"#3B4252",light:"#E5E9F0"},diffRemovedLineNumberBg:{dark:"#3B4252",light:"#E5E9F0"},markdownText:{dark:"nord4",light:"nord0"},markdownHeading:{dark:"nord8",light:"nord10"},markdownLink:{dark:"nord9",light:"nord9"},markdownLinkText:{dark:"nord7",light:"nord7"},markdownCode:{dark:"nord14",light:"nord14"},markdownBlockQuote:{dark:"#8B95A7",light:"nord3"},markdownEmph:{dark:"nord12",light:"nord12"},markdownStrong:{dark:"nord13",light:"nord13"},markdownHorizontalRule:{dark:"#8B95A7",light:"nord3"},markdownListItem:{dark:"nord8",light:"nord10"},markdownListEnumeration:{dark:"nord7",light:"nord7"},markdownImage:{dark:"nord9",light:"nord9"},markdownImageText:{dark:"nord7",light:"nord7"},markdownCodeBlock:{dark:"nord4",light:"nord0"},syntaxComment:{dark:"#8B95A7",light:"nord3"},syntaxKeyword:{dark:"nord9",light:"nord9"},syntaxFunction:{dark:"nord8",light:"nord8"},syntaxVariable:{dark:"nord7",light:"nord7"},syntaxString:{dark:"nord14",light:"nord14"},syntaxNumber:{dark:"nord15",light:"nord15"},syntaxType:{dark:"nord7",light:"nord7"},syntaxOperator:{dark:"nord9",light:"nord9"},syntaxPunctuation:{dark:"nord4",light:"nord0"}}};var one_dark_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg:"#282c34",darkBgAlt:"#21252b",darkBgPanel:"#353b45",darkFg:"#abb2bf",darkFgMuted:"#5c6370",darkPurple:"#c678dd",darkBlue:"#61afef",darkRed:"#e06c75",darkGreen:"#98c379",darkYellow:"#e5c07b",darkOrange:"#d19a66",darkCyan:"#56b6c2",lightBg:"#fafafa",lightBgAlt:"#f0f0f1",lightBgPanel:"#eaeaeb",lightFg:"#383a42",lightFgMuted:"#a0a1a7",lightPurple:"#a626a4",lightBlue:"#4078f2",lightRed:"#e45649",lightGreen:"#50a14f",lightYellow:"#c18401",lightOrange:"#986801",lightCyan:"#0184bc"},theme:{primary:{dark:"darkBlue",light:"lightBlue"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkCyan",light:"lightCyan"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellow",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkOrange",light:"lightOrange"},text:{dark:"darkFg",light:"lightFg"},textMuted:{dark:"darkFgMuted",light:"lightFgMuted"},background:{dark:"darkBg",light:"lightBg"},backgroundPanel:{dark:"darkBgAlt",light:"lightBgAlt"},backgroundElement:{dark:"darkBgPanel",light:"lightBgPanel"},border:{dark:"#393f4a",light:"#d1d1d2"},borderActive:{dark:"darkBlue",light:"lightBlue"},borderSubtle:{dark:"#2c313a",light:"#e0e0e1"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkFgMuted",light:"lightFgMuted"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"#aad482",light:"#489447"},diffHighlightRemoved:{dark:"#e8828b",light:"#d65145"},diffAddedBg:{dark:"#2c382b",light:"#eafbe9"},diffRemovedBg:{dark:"#3a2d2f",light:"#fce9e8"},diffContextBg:{dark:"darkBgAlt",light:"lightBgAlt"},diffLineNumber:{dark:"#495162",light:"#c9c9ca"},diffAddedLineNumberBg:{dark:"#283427",light:"#e1f3df"},diffRemovedLineNumberBg:{dark:"#36292b",light:"#f5e2e1"},markdownText:{dark:"darkFg",light:"lightFg"},markdownHeading:{dark:"darkPurple",light:"lightPurple"},markdownLink:{dark:"darkBlue",light:"lightBlue"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkFgMuted",light:"lightFgMuted"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkFgMuted",light:"lightFgMuted"},markdownListItem:{dark:"darkBlue",light:"lightBlue"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkBlue",light:"lightBlue"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkFg",light:"lightFg"},syntaxComment:{dark:"darkFgMuted",light:"lightFgMuted"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkFg",light:"lightFg"}}};var opencode_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#0a0a0a",darkStep2:"#141414",darkStep3:"#1e1e1e",darkStep4:"#282828",darkStep5:"#323232",darkStep6:"#3c3c3c",darkStep7:"#484848",darkStep8:"#606060",darkStep9:"#fab283",darkStep10:"#ffc09f",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#5c9cf5",darkAccent:"#9d7cd8",darkRed:"#e06c75",darkOrange:"#f5a742",darkGreen:"#7fd88f",darkCyan:"#56b6c2",darkYellow:"#e5c07b",lightStep1:"#ffffff",lightStep2:"#fafafa",lightStep3:"#f5f5f5",lightStep4:"#ebebeb",lightStep5:"#e1e1e1",lightStep6:"#d4d4d4",lightStep7:"#b8b8b8",lightStep8:"#a0a0a0",lightStep9:"#3b7dd8",lightStep10:"#2968c3",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#7b5bb6",lightAccent:"#d68c27",lightRed:"#d1383d",lightOrange:"#d68c27",lightGreen:"#3d9a57",lightCyan:"#318795",lightYellow:"#b0851f"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"darkStep3",light:"lightStep3"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkAccent",light:"lightAccent"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkAccent",light:"lightAccent"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var orng_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#0a0a0a",darkStep2:"#141414",darkStep3:"#1e1e1e",darkStep4:"#282828",darkStep5:"#323232",darkStep6:"#3c3c3c",darkStep7:"#484848",darkStep8:"#606060",darkStep9:"#EC5B2B",darkStep10:"#EE7948",darkStep11:"#808080",darkStep12:"#eeeeee",darkSecondary:"#EE7948",darkAccent:"#FFF7F1",darkRed:"#e06c75",darkOrange:"#EC5B2B",darkBlue:"#6ba1e6",darkCyan:"#56b6c2",darkYellow:"#e5c07b",lightStep1:"#ffffff",lightStep2:"#FFF7F1",lightStep3:"#f5f0eb",lightStep4:"#ebebeb",lightStep5:"#e1e1e1",lightStep6:"#d4d4d4",lightStep7:"#b8b8b8",lightStep8:"#a0a0a0",lightStep9:"#EC5B2B",lightStep10:"#c94d24",lightStep11:"#8a8a8a",lightStep12:"#1a1a1a",lightSecondary:"#EE7948",lightAccent:"#c94d24",lightRed:"#d1383d",lightOrange:"#EC5B2B",lightBlue:"#0062d1",lightCyan:"#318795",lightYellow:"#b0851f"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkSecondary",light:"lightSecondary"},accent:{dark:"darkAccent",light:"lightAccent"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkBlue",light:"lightBlue"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},selectedListItemText:{dark:"#0a0a0a",light:"#ffffff"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"#EC5B2B",light:"#EC5B2B"},borderActive:{dark:"#EE7948",light:"#c94d24"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#6ba1e6",light:"#0062d1"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#6ba1e6",light:"#0062d1"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#1a2a3d",light:"#e0edfa"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"darkStep3",light:"lightStep3"},diffAddedLineNumberBg:{dark:"#162535",light:"#d0e5f5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"#EC5B2B",light:"#EC5B2B"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkBlue",light:"lightBlue"},markdownBlockQuote:{dark:"#FFF7F1",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"#EE7948",light:"#EC5B2B"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"#EC5B2B",light:"#EC5B2B"},syntaxFunction:{dark:"#EE7948",light:"#c94d24"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkBlue",light:"lightBlue"},syntaxNumber:{dark:"#FFF7F1",light:"#EC5B2B"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var osaka_jade_default={$schema:"https://opencode.ai/theme.json",defs:{darkBg0:"#111c18",darkBg1:"#1a2520",darkBg2:"#23372B",darkBg3:"#3d4a44",darkFg0:"#C1C497",darkFg1:"#9aa88a",darkGray:"#53685B",darkRed:"#FF5345",darkGreen:"#549e6a",darkYellow:"#459451",darkBlue:"#509475",darkMagenta:"#D2689C",darkCyan:"#2DD5B7",darkWhite:"#F6F5DD",darkRedBright:"#db9f9c",darkGreenBright:"#63b07a",darkYellowBright:"#E5C736",darkBlueBright:"#ACD4CF",darkMagentaBright:"#75bbb3",darkCyanBright:"#8CD3CB",lightBg0:"#F6F5DD",lightBg1:"#E8E7CC",lightBg2:"#D5D4B8",lightBg3:"#A8A78C",lightFg0:"#111c18",lightFg1:"#1a2520",lightGray:"#53685B",lightRed:"#c7392d",lightGreen:"#3d7a52",lightYellow:"#b5a020",lightBlue:"#3d7560",lightMagenta:"#a8527a",lightCyan:"#1faa90"},theme:{primary:{dark:"darkCyan",light:"lightCyan"},secondary:{dark:"darkMagenta",light:"lightMagenta"},accent:{dark:"darkGreen",light:"lightGreen"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkYellowBright",light:"lightYellow"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkCyan",light:"lightCyan"},text:{dark:"darkFg0",light:"lightFg0"},textMuted:{dark:"darkGray",light:"lightGray"},background:{dark:"darkBg0",light:"lightBg0"},backgroundPanel:{dark:"darkBg1",light:"lightBg1"},backgroundElement:{dark:"darkBg2",light:"lightBg2"},border:{dark:"darkBg3",light:"lightBg3"},borderActive:{dark:"darkCyan",light:"lightCyan"},borderSubtle:{dark:"darkBg2",light:"lightBg2"},diffAdded:{dark:"darkGreen",light:"lightGreen"},diffRemoved:{dark:"darkRed",light:"lightRed"},diffContext:{dark:"darkGray",light:"lightGray"},diffHunkHeader:{dark:"darkCyan",light:"lightCyan"},diffHighlightAdded:{dark:"darkGreenBright",light:"lightGreen"},diffHighlightRemoved:{dark:"darkRedBright",light:"lightRed"},diffAddedBg:{dark:"#15241c",light:"#e0eee5"},diffRemovedBg:{dark:"#241515",light:"#eee0e0"},diffContextBg:{dark:"darkBg1",light:"lightBg1"},diffLineNumber:{dark:"darkBg3",light:"lightBg3"},diffAddedLineNumberBg:{dark:"#121f18",light:"#d5e5da"},diffRemovedLineNumberBg:{dark:"#1f1212",light:"#e5d5d5"},markdownText:{dark:"darkFg0",light:"lightFg0"},markdownHeading:{dark:"darkCyan",light:"lightCyan"},markdownLink:{dark:"darkCyanBright",light:"lightCyan"},markdownLinkText:{dark:"darkGreen",light:"lightGreen"},markdownCode:{dark:"darkGreenBright",light:"lightGreen"},markdownBlockQuote:{dark:"darkGray",light:"lightGray"},markdownEmph:{dark:"darkMagenta",light:"lightMagenta"},markdownStrong:{dark:"darkFg0",light:"lightFg0"},markdownHorizontalRule:{dark:"darkGray",light:"lightGray"},markdownListItem:{dark:"darkCyan",light:"lightCyan"},markdownListEnumeration:{dark:"darkCyanBright",light:"lightCyan"},markdownImage:{dark:"darkCyanBright",light:"lightCyan"},markdownImageText:{dark:"darkGreen",light:"lightGreen"},markdownCodeBlock:{dark:"darkFg0",light:"lightFg0"},syntaxComment:{dark:"darkGray",light:"lightGray"},syntaxKeyword:{dark:"darkCyan",light:"lightCyan"},syntaxFunction:{dark:"darkBlue",light:"lightBlue"},syntaxVariable:{dark:"darkFg0",light:"lightFg0"},syntaxString:{dark:"darkGreenBright",light:"lightGreen"},syntaxNumber:{dark:"darkMagenta",light:"lightMagenta"},syntaxType:{dark:"darkGreen",light:"lightGreen"},syntaxOperator:{dark:"darkYellow",light:"lightYellow"},syntaxPunctuation:{dark:"darkFg0",light:"lightFg0"}}};var palenight_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#292d3e",backgroundAlt:"#1e2132",backgroundPanel:"#32364a",foreground:"#a6accd",foregroundBright:"#bfc7d5",comment:"#676e95",red:"#f07178",orange:"#f78c6c",yellow:"#ffcb6b",green:"#c3e88d",cyan:"#89ddff",blue:"#82aaff",purple:"#c792ea",magenta:"#ff5370",pink:"#f07178"},theme:{primary:{dark:"blue",light:"#4976eb"},secondary:{dark:"purple",light:"#a854f2"},accent:{dark:"cyan",light:"#00acc1"},error:{dark:"red",light:"#e53935"},warning:{dark:"yellow",light:"#ffb300"},success:{dark:"green",light:"#91b859"},info:{dark:"orange",light:"#f4511e"},text:{dark:"foreground",light:"#292d3e"},textMuted:{dark:"comment",light:"#8796b0"},background:{dark:"#292d3e",light:"#fafafa"},backgroundPanel:{dark:"#1e2132",light:"#f5f5f5"},backgroundElement:{dark:"#32364a",light:"#e7e7e8"},border:{dark:"#32364a",light:"#e0e0e0"},borderActive:{dark:"blue",light:"#4976eb"},borderSubtle:{dark:"#1e2132",light:"#eeeeee"},diffAdded:{dark:"green",light:"#91b859"},diffRemoved:{dark:"red",light:"#e53935"},diffContext:{dark:"comment",light:"#8796b0"},diffHunkHeader:{dark:"cyan",light:"#00acc1"},diffHighlightAdded:{dark:"green",light:"#91b859"},diffHighlightRemoved:{dark:"red",light:"#e53935"},diffAddedBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedBg:{dark:"#3c2b2b",light:"#ffebee"},diffContextBg:{dark:"#1e2132",light:"#f5f5f5"},diffLineNumber:{dark:"#444760",light:"#cfd8dc"},diffAddedLineNumberBg:{dark:"#2e3c2b",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3c2b2b",light:"#ffebee"},markdownText:{dark:"foreground",light:"#292d3e"},markdownHeading:{dark:"purple",light:"#a854f2"},markdownLink:{dark:"blue",light:"#4976eb"},markdownLinkText:{dark:"cyan",light:"#00acc1"},markdownCode:{dark:"green",light:"#91b859"},markdownBlockQuote:{dark:"comment",light:"#8796b0"},markdownEmph:{dark:"yellow",light:"#ffb300"},markdownStrong:{dark:"orange",light:"#f4511e"},markdownHorizontalRule:{dark:"comment",light:"#8796b0"},markdownListItem:{dark:"blue",light:"#4976eb"},markdownListEnumeration:{dark:"cyan",light:"#00acc1"},markdownImage:{dark:"blue",light:"#4976eb"},markdownImageText:{dark:"cyan",light:"#00acc1"},markdownCodeBlock:{dark:"foreground",light:"#292d3e"},syntaxComment:{dark:"comment",light:"#8796b0"},syntaxKeyword:{dark:"purple",light:"#a854f2"},syntaxFunction:{dark:"blue",light:"#4976eb"},syntaxVariable:{dark:"foreground",light:"#292d3e"},syntaxString:{dark:"green",light:"#91b859"},syntaxNumber:{dark:"orange",light:"#f4511e"},syntaxType:{dark:"yellow",light:"#ffb300"},syntaxOperator:{dark:"cyan",light:"#00acc1"},syntaxPunctuation:{dark:"foreground",light:"#292d3e"}}};var poseidon_default={$schema:"https://opencode.ai/theme.json",defs:{poseidonBgDark:"#0F2440",poseidonPanelDark:"#122B4C",poseidonElemDark:"#153259",poseidonTextDark:"#EAF7FF",poseidonMutedDark:"#496884",poseidonPrimaryDark:"#A9DFFF",poseidonAccentDark:"#5DB8F5",poseidonSecondaryDark:"#A9DFFF",poseidonBorderDark:"#2A6FB9",poseidonBorderSubtleDark:"#496884",poseidonBgLight:"#F8F8F8",poseidonPanelLight:"#EFEFEF",poseidonElemLight:"#E4E4E4",poseidonTextLight:"#1A1A1A",poseidonMutedLight:"#5A5A5A",poseidonPrimaryLight:"#009AF5",poseidonAccentLight:"#0D85D5",poseidonSecondaryLight:"#009AF5",poseidonBorderLight:"#D0D0D0",poseidonBorderSubtleLight:"#E0E0E0",poseidonOkDark:"#4caf50",poseidonErrorDark:"#ef5350",poseidonWarnDark:"#ffa726",poseidonOkLight:"#4caf50",poseidonErrorLight:"#ef5350",poseidonWarnLight:"#A56200"},theme:{primary:{dark:"poseidonPrimaryDark",light:"poseidonPrimaryLight"},secondary:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},accent:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},error:{dark:"poseidonErrorDark",light:"poseidonErrorLight"},warning:{dark:"poseidonWarnDark",light:"poseidonWarnLight"},success:{dark:"poseidonOkDark",light:"poseidonOkLight"},info:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},text:{dark:"poseidonTextDark",light:"poseidonTextLight"},textMuted:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},background:{dark:"poseidonBgDark",light:"poseidonBgLight"},backgroundPanel:{dark:"poseidonPanelDark",light:"poseidonPanelLight"},backgroundElement:{dark:"poseidonElemDark",light:"poseidonElemLight"},border:{dark:"poseidonBorderDark",light:"poseidonBorderLight"},borderActive:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},borderSubtle:{dark:"poseidonBorderSubtleDark",light:"poseidonBorderSubtleLight"},diffAdded:{dark:"poseidonOkDark",light:"poseidonOkLight"},diffRemoved:{dark:"poseidonErrorDark",light:"poseidonErrorLight"},diffContext:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},diffHunkHeader:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},diffHighlightAdded:{dark:"poseidonOkDark",light:"poseidonOkLight"},diffHighlightRemoved:{dark:"poseidonErrorDark",light:"poseidonErrorLight"},diffAddedBg:{dark:"#1A3D43",light:"#DEEDDF"},diffRemovedBg:{dark:"#372C43",light:"#F7DFDF"},diffContextBg:{dark:"poseidonPanelDark",light:"poseidonPanelLight"},diffLineNumber:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},diffAddedLineNumberBg:{dark:"#153242",light:"#EAF2EB"},diffRemovedLineNumberBg:{dark:"#252942",light:"#F7EBEB"},markdownText:{dark:"poseidonTextDark",light:"poseidonTextLight"},markdownHeading:{dark:"poseidonPrimaryDark",light:"poseidonPrimaryLight"},markdownLink:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},markdownLinkText:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},markdownCode:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},markdownBlockQuote:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},markdownEmph:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},markdownStrong:{dark:"poseidonPrimaryDark",light:"poseidonPrimaryLight"},markdownHorizontalRule:{dark:"poseidonBorderDark",light:"poseidonBorderLight"},markdownListItem:{dark:"poseidonTextDark",light:"poseidonTextLight"},markdownListEnumeration:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},markdownImage:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},markdownImageText:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},markdownCodeBlock:{dark:"poseidonTextDark",light:"poseidonTextLight"},syntaxComment:{dark:"poseidonMutedDark",light:"poseidonMutedLight"},syntaxKeyword:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},syntaxFunction:{dark:"poseidonPrimaryDark",light:"poseidonPrimaryLight"},syntaxVariable:{dark:"poseidonTextDark",light:"poseidonTextLight"},syntaxString:{dark:"poseidonOkDark",light:"poseidonOkLight"},syntaxNumber:{dark:"poseidonAccentDark",light:"poseidonAccentLight"},syntaxType:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},syntaxOperator:{dark:"poseidonSecondaryDark",light:"poseidonSecondaryLight"},syntaxPunctuation:{dark:"poseidonTextDark",light:"poseidonTextLight"}}};var rosepine_default={$schema:"https://opencode.ai/theme.json",defs:{base:"#191724",surface:"#1f1d2e",overlay:"#26233a",muted:"#6e6a86",subtle:"#908caa",text:"#e0def4",love:"#eb6f92",gold:"#f6c177",rose:"#ebbcba",pine:"#31748f",foam:"#9ccfd8",iris:"#c4a7e7",highlightLow:"#21202e",highlightMed:"#403d52",highlightHigh:"#524f67",moonBase:"#232136",moonSurface:"#2a273f",moonOverlay:"#393552",moonMuted:"#6e6a86",moonSubtle:"#908caa",moonText:"#e0def4",dawnBase:"#faf4ed",dawnSurface:"#fffaf3",dawnOverlay:"#f2e9e1",dawnMuted:"#9893a5",dawnSubtle:"#797593",dawnText:"#575279"},theme:{primary:{dark:"foam",light:"pine"},secondary:{dark:"iris",light:"#907aa9"},accent:{dark:"rose",light:"#d7827e"},error:{dark:"love",light:"#b4637a"},warning:{dark:"gold",light:"#ea9d34"},success:{dark:"pine",light:"#286983"},info:{dark:"foam",light:"#56949f"},text:{dark:"#e0def4",light:"#575279"},textMuted:{dark:"muted",light:"dawnMuted"},background:{dark:"base",light:"dawnBase"},backgroundPanel:{dark:"surface",light:"dawnSurface"},backgroundElement:{dark:"overlay",light:"dawnOverlay"},border:{dark:"highlightMed",light:"#dfdad9"},borderActive:{dark:"foam",light:"pine"},borderSubtle:{dark:"highlightLow",light:"#f4ede8"},diffAdded:{dark:"pine",light:"#286983"},diffRemoved:{dark:"love",light:"#b4637a"},diffContext:{dark:"muted",light:"dawnMuted"},diffHunkHeader:{dark:"iris",light:"#907aa9"},diffHighlightAdded:{dark:"pine",light:"#286983"},diffHighlightRemoved:{dark:"love",light:"#b4637a"},diffAddedBg:{dark:"#1f2d3a",light:"#e5f2f3"},diffRemovedBg:{dark:"#3a1f2d",light:"#fce5e8"},diffContextBg:{dark:"surface",light:"dawnSurface"},diffLineNumber:{dark:"muted",light:"dawnMuted"},diffAddedLineNumberBg:{dark:"#1f2d3a",light:"#e5f2f3"},diffRemovedLineNumberBg:{dark:"#3a1f2d",light:"#fce5e8"},markdownText:{dark:"#e0def4",light:"#575279"},markdownHeading:{dark:"iris",light:"#907aa9"},markdownLink:{dark:"foam",light:"pine"},markdownLinkText:{dark:"rose",light:"#d7827e"},markdownCode:{dark:"pine",light:"#286983"},markdownBlockQuote:{dark:"muted",light:"dawnMuted"},markdownEmph:{dark:"gold",light:"#ea9d34"},markdownStrong:{dark:"love",light:"#b4637a"},markdownHorizontalRule:{dark:"highlightMed",light:"#dfdad9"},markdownListItem:{dark:"foam",light:"pine"},markdownListEnumeration:{dark:"rose",light:"#d7827e"},markdownImage:{dark:"foam",light:"pine"},markdownImageText:{dark:"rose",light:"#d7827e"},markdownCodeBlock:{dark:"#e0def4",light:"#575279"},syntaxComment:{dark:"muted",light:"dawnMuted"},syntaxKeyword:{dark:"pine",light:"#286983"},syntaxFunction:{dark:"rose",light:"#d7827e"},syntaxVariable:{dark:"#e0def4",light:"#575279"},syntaxString:{dark:"gold",light:"#ea9d34"},syntaxNumber:{dark:"iris",light:"#907aa9"},syntaxType:{dark:"foam",light:"#56949f"},syntaxOperator:{dark:"subtle",light:"dawnSubtle"},syntaxPunctuation:{dark:"subtle",light:"dawnSubtle"}}};var sisyphus_default={$schema:"https://opencode.ai/theme.json",defs:{sisyphusBgDark:"#202020",sisyphusPanelDark:"#282828",sisyphusElemDark:"#2F2F2F",sisyphusTextDark:"#D3D3D3",sisyphusMutedDark:"#4A4A4A",sisyphusPrimaryDark:"#F5F5F5",sisyphusAccentDark:"#E7E7E7",sisyphusSecondaryDark:"#D3D3D3",sisyphusBorderDark:"#B7B7B7",sisyphusBorderSubtleDark:"#656565",sisyphusBgLight:"#F8F8F8",sisyphusPanelLight:"#EFEFEF",sisyphusElemLight:"#E4E4E4",sisyphusTextLight:"#1A1A1A",sisyphusMutedLight:"#5A5A5A",sisyphusPrimaryLight:"#9C9C9C",sisyphusAccentLight:"#8E8E8E",sisyphusSecondaryLight:"#7A7A7A",sisyphusBorderLight:"#D0D0D0",sisyphusBorderSubtleLight:"#E0E0E0",sisyphusOkDark:"#919191",sisyphusErrorDark:"#E7E7E7",sisyphusWarnDark:"#B7B7B7",sisyphusOkLight:"#919191",sisyphusErrorLight:"#A7A7A7",sisyphusWarnLight:"#777777"},theme:{primary:{dark:"sisyphusPrimaryDark",light:"sisyphusPrimaryLight"},secondary:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},accent:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},error:{dark:"sisyphusErrorDark",light:"sisyphusErrorLight"},warning:{dark:"sisyphusWarnDark",light:"sisyphusWarnLight"},success:{dark:"sisyphusOkDark",light:"sisyphusOkLight"},info:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},text:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},textMuted:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},background:{dark:"sisyphusBgDark",light:"sisyphusBgLight"},backgroundPanel:{dark:"sisyphusPanelDark",light:"sisyphusPanelLight"},backgroundElement:{dark:"sisyphusElemDark",light:"sisyphusElemLight"},border:{dark:"sisyphusBorderDark",light:"sisyphusBorderLight"},borderActive:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},borderSubtle:{dark:"sisyphusBorderSubtleDark",light:"sisyphusBorderSubtleLight"},diffAdded:{dark:"sisyphusOkDark",light:"sisyphusOkLight"},diffRemoved:{dark:"sisyphusErrorDark",light:"sisyphusErrorLight"},diffContext:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},diffHunkHeader:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},diffHighlightAdded:{dark:"sisyphusOkDark",light:"sisyphusOkLight"},diffHighlightRemoved:{dark:"sisyphusErrorDark",light:"sisyphusErrorLight"},diffAddedBg:{dark:"#343434",light:"#E9E9E9"},diffRemovedBg:{dark:"#444444",light:"#ECECEC"},diffContextBg:{dark:"sisyphusPanelDark",light:"sisyphusPanelLight"},diffLineNumber:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},diffAddedLineNumberBg:{dark:"#2B2B2B",light:"#F0F0F0"},diffRemovedLineNumberBg:{dark:"#343434",light:"#F2F2F2"},markdownText:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},markdownHeading:{dark:"sisyphusPrimaryDark",light:"sisyphusPrimaryLight"},markdownLink:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},markdownLinkText:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},markdownCode:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},markdownBlockQuote:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},markdownEmph:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},markdownStrong:{dark:"sisyphusPrimaryDark",light:"sisyphusPrimaryLight"},markdownHorizontalRule:{dark:"sisyphusBorderDark",light:"sisyphusBorderLight"},markdownListItem:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},markdownListEnumeration:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},markdownImage:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},markdownImageText:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},markdownCodeBlock:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},syntaxComment:{dark:"sisyphusMutedDark",light:"sisyphusMutedLight"},syntaxKeyword:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},syntaxFunction:{dark:"sisyphusPrimaryDark",light:"sisyphusPrimaryLight"},syntaxVariable:{dark:"sisyphusTextDark",light:"sisyphusTextLight"},syntaxString:{dark:"sisyphusOkDark",light:"sisyphusOkLight"},syntaxNumber:{dark:"sisyphusAccentDark",light:"sisyphusAccentLight"},syntaxType:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},syntaxOperator:{dark:"sisyphusSecondaryDark",light:"sisyphusSecondaryLight"},syntaxPunctuation:{dark:"sisyphusTextDark",light:"sisyphusTextLight"}}};var slate_default={$schema:"https://opencode.ai/theme.json",defs:{slateBgDark:"#151C2F",slatePanelDark:"#1A223A",slateElemDark:"#1E2944",slateTextDark:"#c9d1d9",slateMutedDark:"#4b5563",slatePrimaryDark:"#7eb8f6",slateAccentDark:"#8EA8FF",slateSecondaryDark:"#8EA8FF",slateBorderDark:"#4169e1",slateBorderSubtleDark:"#4b5563",slateBgLight:"#F8F8F8",slatePanelLight:"#EFEFEF",slateElemLight:"#E4E4E4",slateTextLight:"#1A1A1A",slateMutedLight:"#5A5A5A",slatePrimaryLight:"#157EEF",slateAccentLight:"#1E52FF",slateSecondaryLight:"#1E52FF",slateBorderLight:"#D0D0D0",slateBorderSubtleLight:"#E0E0E0",slateOkDark:"#63D0A6",slateErrorDark:"#F7A072",slateWarnDark:"#e6a855",slateOkLight:"#2A8A65",slateErrorLight:"#DD550D",slateWarnLight:"#A36818"},theme:{primary:{dark:"slatePrimaryDark",light:"slatePrimaryLight"},secondary:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},accent:{dark:"slateAccentDark",light:"slateAccentLight"},error:{dark:"slateErrorDark",light:"slateErrorLight"},warning:{dark:"slateWarnDark",light:"slateWarnLight"},success:{dark:"slateOkDark",light:"slateOkLight"},info:{dark:"slateAccentDark",light:"slateAccentLight"},text:{dark:"slateTextDark",light:"slateTextLight"},textMuted:{dark:"slateMutedDark",light:"slateMutedLight"},background:{dark:"slateBgDark",light:"slateBgLight"},backgroundPanel:{dark:"slatePanelDark",light:"slatePanelLight"},backgroundElement:{dark:"slateElemDark",light:"slateElemLight"},border:{dark:"slateBorderDark",light:"slateBorderLight"},borderActive:{dark:"slateAccentDark",light:"slateAccentLight"},borderSubtle:{dark:"slateBorderSubtleDark",light:"slateBorderSubtleLight"},diffAdded:{dark:"slateOkDark",light:"slateOkLight"},diffRemoved:{dark:"slateErrorDark",light:"slateErrorLight"},diffContext:{dark:"slateMutedDark",light:"slateMutedLight"},diffHunkHeader:{dark:"slateMutedDark",light:"slateMutedLight"},diffHighlightAdded:{dark:"slateOkDark",light:"slateOkLight"},diffHighlightRemoved:{dark:"slateErrorDark",light:"slateErrorLight"},diffAddedBg:{dark:"#233C44",light:"#D9E8E2"},diffRemovedBg:{dark:"#3E343B",light:"#F4E0D5"},diffContextBg:{dark:"slatePanelDark",light:"slatePanelLight"},diffLineNumber:{dark:"slateMutedDark",light:"slateMutedLight"},diffAddedLineNumberBg:{dark:"#1D2E3B",light:"#E8EFEC"},diffRemovedLineNumberBg:{dark:"#2C2936",light:"#F6EBE5"},markdownText:{dark:"slateTextDark",light:"slateTextLight"},markdownHeading:{dark:"slatePrimaryDark",light:"slatePrimaryLight"},markdownLink:{dark:"slateAccentDark",light:"slateAccentLight"},markdownLinkText:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},markdownCode:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},markdownBlockQuote:{dark:"slateMutedDark",light:"slateMutedLight"},markdownEmph:{dark:"slateAccentDark",light:"slateAccentLight"},markdownStrong:{dark:"slatePrimaryDark",light:"slatePrimaryLight"},markdownHorizontalRule:{dark:"slateBorderDark",light:"slateBorderLight"},markdownListItem:{dark:"slateTextDark",light:"slateTextLight"},markdownListEnumeration:{dark:"slateAccentDark",light:"slateAccentLight"},markdownImage:{dark:"slateAccentDark",light:"slateAccentLight"},markdownImageText:{dark:"slateMutedDark",light:"slateMutedLight"},markdownCodeBlock:{dark:"slateTextDark",light:"slateTextLight"},syntaxComment:{dark:"slateMutedDark",light:"slateMutedLight"},syntaxKeyword:{dark:"slateAccentDark",light:"slateAccentLight"},syntaxFunction:{dark:"slatePrimaryDark",light:"slatePrimaryLight"},syntaxVariable:{dark:"slateTextDark",light:"slateTextLight"},syntaxString:{dark:"slateOkDark",light:"slateOkLight"},syntaxNumber:{dark:"slateAccentDark",light:"slateAccentLight"},syntaxType:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},syntaxOperator:{dark:"slateSecondaryDark",light:"slateSecondaryLight"},syntaxPunctuation:{dark:"slateTextDark",light:"slateTextLight"}}};var solarized_default={$schema:"https://opencode.ai/theme.json",defs:{base03:"#002b36",base02:"#073642",base01:"#586e75",base00:"#657b83",base0:"#839496",base1:"#93a1a1",base2:"#eee8d5",base3:"#fdf6e3",yellow:"#b58900",orange:"#cb4b16",red:"#dc322f",magenta:"#d33682",violet:"#6c71c4",blue:"#268bd2",cyan:"#2aa198",green:"#859900"},theme:{primary:{dark:"blue",light:"blue"},secondary:{dark:"violet",light:"violet"},accent:{dark:"cyan",light:"cyan"},error:{dark:"red",light:"red"},warning:{dark:"yellow",light:"yellow"},success:{dark:"green",light:"green"},info:{dark:"orange",light:"orange"},text:{dark:"base0",light:"base00"},textMuted:{dark:"base01",light:"base1"},background:{dark:"base03",light:"base3"},backgroundPanel:{dark:"base02",light:"base2"},backgroundElement:{dark:"#073642",light:"#eee8d5"},border:{dark:"base02",light:"base2"},borderActive:{dark:"base01",light:"base1"},borderSubtle:{dark:"#073642",light:"#eee8d5"},diffAdded:{dark:"green",light:"green"},diffRemoved:{dark:"red",light:"red"},diffContext:{dark:"base01",light:"base1"},diffHunkHeader:{dark:"base01",light:"base1"},diffHighlightAdded:{dark:"green",light:"green"},diffHighlightRemoved:{dark:"red",light:"red"},diffAddedBg:{dark:"#073642",light:"#eee8d5"},diffRemovedBg:{dark:"#073642",light:"#eee8d5"},diffContextBg:{dark:"base02",light:"base2"},diffLineNumber:{dark:"base01",light:"base1"},diffAddedLineNumberBg:{dark:"#073642",light:"#eee8d5"},diffRemovedLineNumberBg:{dark:"#073642",light:"#eee8d5"},markdownText:{dark:"base0",light:"base00"},markdownHeading:{dark:"blue",light:"blue"},markdownLink:{dark:"cyan",light:"cyan"},markdownLinkText:{dark:"violet",light:"violet"},markdownCode:{dark:"green",light:"green"},markdownBlockQuote:{dark:"base01",light:"base1"},markdownEmph:{dark:"yellow",light:"yellow"},markdownStrong:{dark:"orange",light:"orange"},markdownHorizontalRule:{dark:"base01",light:"base1"},markdownListItem:{dark:"blue",light:"blue"},markdownListEnumeration:{dark:"cyan",light:"cyan"},markdownImage:{dark:"cyan",light:"cyan"},markdownImageText:{dark:"violet",light:"violet"},markdownCodeBlock:{dark:"base0",light:"base00"},syntaxComment:{dark:"base01",light:"base1"},syntaxKeyword:{dark:"green",light:"green"},syntaxFunction:{dark:"blue",light:"blue"},syntaxVariable:{dark:"cyan",light:"cyan"},syntaxString:{dark:"cyan",light:"cyan"},syntaxNumber:{dark:"magenta",light:"magenta"},syntaxType:{dark:"yellow",light:"yellow"},syntaxOperator:{dark:"green",light:"green"},syntaxPunctuation:{dark:"base0",light:"base00"}}};var synthwave84_default={$schema:"https://opencode.ai/theme.json",defs:{background:"#262335",backgroundAlt:"#1e1a29",backgroundPanel:"#2a2139",foreground:"#ffffff",foregroundMuted:"#848bbd",pink:"#ff7edb",pinkBright:"#ff92df",cyan:"#36f9f6",cyanBright:"#72f1f8",yellow:"#fede5d",yellowBright:"#fff95d",orange:"#ff8b39",orangeBright:"#ff9f43",purple:"#b084eb",purpleBright:"#c792ea",red:"#fe4450",redBright:"#ff5e5b",green:"#72f1b8",greenBright:"#97f1d8"},theme:{primary:{dark:"cyan",light:"#00bcd4"},secondary:{dark:"pink",light:"#e91e63"},accent:{dark:"purple",light:"#9c27b0"},error:{dark:"red",light:"#f44336"},warning:{dark:"yellow",light:"#ff9800"},success:{dark:"green",light:"#4caf50"},info:{dark:"orange",light:"#ff5722"},text:{dark:"foreground",light:"#262335"},textMuted:{dark:"foregroundMuted",light:"#5c5c8a"},background:{dark:"#262335",light:"#fafafa"},backgroundPanel:{dark:"#1e1a29",light:"#f5f5f5"},backgroundElement:{dark:"#2a2139",light:"#eeeeee"},border:{dark:"#495495",light:"#e0e0e0"},borderActive:{dark:"cyan",light:"#00bcd4"},borderSubtle:{dark:"#241b2f",light:"#f0f0f0"},diffAdded:{dark:"green",light:"#4caf50"},diffRemoved:{dark:"red",light:"#f44336"},diffContext:{dark:"foregroundMuted",light:"#5c5c8a"},diffHunkHeader:{dark:"purple",light:"#9c27b0"},diffHighlightAdded:{dark:"greenBright",light:"#4caf50"},diffHighlightRemoved:{dark:"redBright",light:"#f44336"},diffAddedBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedBg:{dark:"#3a1a2a",light:"#ffebee"},diffContextBg:{dark:"#1e1a29",light:"#f5f5f5"},diffLineNumber:{dark:"#495495",light:"#b0b0b0"},diffAddedLineNumberBg:{dark:"#1a3a2a",light:"#e8f5e9"},diffRemovedLineNumberBg:{dark:"#3a1a2a",light:"#ffebee"},markdownText:{dark:"foreground",light:"#262335"},markdownHeading:{dark:"pink",light:"#e91e63"},markdownLink:{dark:"cyan",light:"#00bcd4"},markdownLinkText:{dark:"purple",light:"#9c27b0"},markdownCode:{dark:"green",light:"#4caf50"},markdownBlockQuote:{dark:"foregroundMuted",light:"#5c5c8a"},markdownEmph:{dark:"yellow",light:"#ff9800"},markdownStrong:{dark:"orange",light:"#ff5722"},markdownHorizontalRule:{dark:"#495495",light:"#e0e0e0"},markdownListItem:{dark:"cyan",light:"#00bcd4"},markdownListEnumeration:{dark:"purple",light:"#9c27b0"},markdownImage:{dark:"cyan",light:"#00bcd4"},markdownImageText:{dark:"purple",light:"#9c27b0"},markdownCodeBlock:{dark:"foreground",light:"#262335"},syntaxComment:{dark:"foregroundMuted",light:"#5c5c8a"},syntaxKeyword:{dark:"pink",light:"#e91e63"},syntaxFunction:{dark:"orange",light:"#ff5722"},syntaxVariable:{dark:"foreground",light:"#262335"},syntaxString:{dark:"yellow",light:"#ff9800"},syntaxNumber:{dark:"purple",light:"#9c27b0"},syntaxType:{dark:"cyan",light:"#00bcd4"},syntaxOperator:{dark:"pink",light:"#e91e63"},syntaxPunctuation:{dark:"foreground",light:"#262335"}}};var tokyonight_default={$schema:"https://opencode.ai/theme.json",defs:{darkStep1:"#1a1b26",darkStep2:"#1e2030",darkStep3:"#222436",darkStep4:"#292e42",darkStep5:"#3b4261",darkStep6:"#545c7e",darkStep7:"#737aa2",darkStep8:"#9099b2",darkStep9:"#82aaff",darkStep10:"#89b4fa",darkStep11:"#828bb8",darkStep12:"#c8d3f5",darkRed:"#ff757f",darkOrange:"#ff966c",darkYellow:"#ffc777",darkGreen:"#c3e88d",darkCyan:"#86e1fc",darkPurple:"#c099ff",lightStep1:"#e1e2e7",lightStep2:"#d5d6db",lightStep3:"#c8c9ce",lightStep4:"#b9bac1",lightStep5:"#a8aecb",lightStep6:"#9699a8",lightStep7:"#737a8c",lightStep8:"#5a607d",lightStep9:"#2e7de9",lightStep10:"#1a6ce7",lightStep11:"#8990a3",lightStep12:"#3760bf",lightRed:"#f52a65",lightOrange:"#b15c00",lightYellow:"#8c6c3e",lightGreen:"#587539",lightCyan:"#007197",lightPurple:"#9854f1"},theme:{primary:{dark:"darkStep9",light:"lightStep9"},secondary:{dark:"darkPurple",light:"lightPurple"},accent:{dark:"darkOrange",light:"lightOrange"},error:{dark:"darkRed",light:"lightRed"},warning:{dark:"darkOrange",light:"lightOrange"},success:{dark:"darkGreen",light:"lightGreen"},info:{dark:"darkStep9",light:"lightStep9"},text:{dark:"darkStep12",light:"lightStep12"},textMuted:{dark:"darkStep11",light:"lightStep11"},background:{dark:"darkStep1",light:"lightStep1"},backgroundPanel:{dark:"darkStep2",light:"lightStep2"},backgroundElement:{dark:"darkStep3",light:"lightStep3"},border:{dark:"darkStep7",light:"lightStep7"},borderActive:{dark:"darkStep8",light:"lightStep8"},borderSubtle:{dark:"darkStep6",light:"lightStep6"},diffAdded:{dark:"#4fd6be",light:"#1e725c"},diffRemoved:{dark:"#c53b53",light:"#c53b53"},diffContext:{dark:"#828bb8",light:"#7086b5"},diffHunkHeader:{dark:"#828bb8",light:"#7086b5"},diffHighlightAdded:{dark:"#b8db87",light:"#4db380"},diffHighlightRemoved:{dark:"#e26a75",light:"#f52a65"},diffAddedBg:{dark:"#20303b",light:"#d5e5d5"},diffRemovedBg:{dark:"#37222c",light:"#f7d8db"},diffContextBg:{dark:"darkStep2",light:"lightStep2"},diffLineNumber:{dark:"darkStep3",light:"lightStep3"},diffAddedLineNumberBg:{dark:"#1b2b34",light:"#c5d5c5"},diffRemovedLineNumberBg:{dark:"#2d1f26",light:"#e7c8cb"},markdownText:{dark:"darkStep12",light:"lightStep12"},markdownHeading:{dark:"darkPurple",light:"lightPurple"},markdownLink:{dark:"darkStep9",light:"lightStep9"},markdownLinkText:{dark:"darkCyan",light:"lightCyan"},markdownCode:{dark:"darkGreen",light:"lightGreen"},markdownBlockQuote:{dark:"darkYellow",light:"lightYellow"},markdownEmph:{dark:"darkYellow",light:"lightYellow"},markdownStrong:{dark:"darkOrange",light:"lightOrange"},markdownHorizontalRule:{dark:"darkStep11",light:"lightStep11"},markdownListItem:{dark:"darkStep9",light:"lightStep9"},markdownListEnumeration:{dark:"darkCyan",light:"lightCyan"},markdownImage:{dark:"darkStep9",light:"lightStep9"},markdownImageText:{dark:"darkCyan",light:"lightCyan"},markdownCodeBlock:{dark:"darkStep12",light:"lightStep12"},syntaxComment:{dark:"darkStep11",light:"lightStep11"},syntaxKeyword:{dark:"darkPurple",light:"lightPurple"},syntaxFunction:{dark:"darkStep9",light:"lightStep9"},syntaxVariable:{dark:"darkRed",light:"lightRed"},syntaxString:{dark:"darkGreen",light:"lightGreen"},syntaxNumber:{dark:"darkOrange",light:"lightOrange"},syntaxType:{dark:"darkYellow",light:"lightYellow"},syntaxOperator:{dark:"darkCyan",light:"lightCyan"},syntaxPunctuation:{dark:"darkStep12",light:"lightStep12"}}};var vercel_default={$schema:"https://opencode.ai/theme.json",defs:{background100:"#0A0A0A",background200:"#000000",gray100:"#1A1A1A",gray200:"#1F1F1F",gray300:"#292929",gray400:"#2E2E2E",gray500:"#454545",gray600:"#878787",gray700:"#8F8F8F",gray900:"#A1A1A1",gray1000:"#EDEDED",blue600:"#0099FF",blue700:"#0070F3",blue900:"#52A8FF",blue1000:"#EBF8FF",red700:"#E5484D",red900:"#FF6166",red1000:"#FDECED",amber700:"#FFB224",amber900:"#F2A700",amber1000:"#FDF4DC",green700:"#46A758",green900:"#63C46D",green1000:"#E6F9E9",teal700:"#12A594",teal900:"#0AC7AC",purple700:"#8E4EC6",purple900:"#BF7AF0",pink700:"#E93D82",pink900:"#F75590",highlightPink:"#FF0080",highlightPurple:"#F81CE5",cyan:"#50E3C2",lightBackground:"#FFFFFF",lightGray100:"#FAFAFA",lightGray200:"#EAEAEA",lightGray600:"#666666",lightGray1000:"#171717"},theme:{primary:{dark:"blue700",light:"blue700"},secondary:{dark:"blue900",light:"#0062D1"},accent:{dark:"purple700",light:"purple700"},error:{dark:"red700",light:"#DC3545"},warning:{dark:"amber700",light:"#FF9500"},success:{dark:"green700",light:"#388E3C"},info:{dark:"blue900",light:"blue700"},text:{dark:"gray1000",light:"lightGray1000"},textMuted:{dark:"gray600",light:"lightGray600"},background:{dark:"background200",light:"lightBackground"},backgroundPanel:{dark:"gray100",light:"lightGray100"},backgroundElement:{dark:"gray300",light:"lightGray200"},border:{dark:"gray200",light:"lightGray200"},borderActive:{dark:"gray500",light:"#999999"},borderSubtle:{dark:"gray100",light:"#EAEAEA"},diffAdded:{dark:"green900",light:"green700"},diffRemoved:{dark:"red900",light:"red700"},diffContext:{dark:"gray600",light:"lightGray600"},diffHunkHeader:{dark:"gray600",light:"lightGray600"},diffHighlightAdded:{dark:"green900",light:"green700"},diffHighlightRemoved:{dark:"red900",light:"red700"},diffAddedBg:{dark:"#0B1D0F",light:"#E6F9E9"},diffRemovedBg:{dark:"#2A1314",light:"#FDECED"},diffContextBg:{dark:"background200",light:"lightBackground"},diffLineNumber:{dark:"gray600",light:"lightGray600"},diffAddedLineNumberBg:{dark:"#0F2613",light:"#D6F5D6"},diffRemovedLineNumberBg:{dark:"#3C1618",light:"#FFE5E5"},markdownText:{dark:"gray1000",light:"lightGray1000"},markdownHeading:{dark:"purple900",light:"purple700"},markdownLink:{dark:"blue900",light:"blue700"},markdownLinkText:{dark:"teal900",light:"teal700"},markdownCode:{dark:"green900",light:"green700"},markdownBlockQuote:{dark:"gray600",light:"lightGray600"},markdownEmph:{dark:"amber900",light:"amber700"},markdownStrong:{dark:"pink900",light:"pink700"},markdownHorizontalRule:{dark:"gray500",light:"#999999"},markdownListItem:{dark:"gray1000",light:"lightGray1000"},markdownListEnumeration:{dark:"blue900",light:"blue700"},markdownImage:{dark:"teal900",light:"teal700"},markdownImageText:{dark:"cyan",light:"teal700"},markdownCodeBlock:{dark:"gray1000",light:"lightGray1000"},syntaxComment:{dark:"gray600",light:"#888888"},syntaxKeyword:{dark:"pink900",light:"pink700"},syntaxFunction:{dark:"purple900",light:"purple700"},syntaxVariable:{dark:"blue900",light:"blue700"},syntaxString:{dark:"green900",light:"green700"},syntaxNumber:{dark:"amber900",light:"amber700"},syntaxType:{dark:"teal900",light:"teal700"},syntaxOperator:{dark:"pink900",light:"pink700"},syntaxPunctuation:{dark:"gray1000",light:"lightGray1000"}}};var vesper_default={$schema:"https://opencode.ai/theme.json",defs:{vesperBg:"#101010",vesperFg:"#FFF",vesperComment:"#8b8b8b",vesperKeyword:"#A0A0A0",vesperFunction:"#FFC799",vesperString:"#99FFE4",vesperNumber:"#FFC799",vesperError:"#FF8080",vesperWarning:"#FFC799",vesperSuccess:"#99FFE4",vesperMuted:"#A0A0A0"},theme:{primary:{dark:"#FFC799",light:"#FFC799"},secondary:{dark:"#99FFE4",light:"#99FFE4"},accent:{dark:"#FFC799",light:"#FFC799"},error:{dark:"vesperError",light:"vesperError"},warning:{dark:"vesperWarning",light:"vesperWarning"},success:{dark:"vesperSuccess",light:"vesperSuccess"},info:{dark:"#FFC799",light:"#FFC799"},text:{dark:"vesperFg",light:"vesperBg"},textMuted:{dark:"vesperMuted",light:"vesperMuted"},background:{dark:"vesperBg",light:"#FFF"},backgroundPanel:{dark:"vesperBg",light:"#F0F0F0"},backgroundElement:{dark:"vesperBg",light:"#E0E0E0"},border:{dark:"#282828",light:"#D0D0D0"},borderActive:{dark:"#FFC799",light:"#FFC799"},borderSubtle:{dark:"#1C1C1C",light:"#E8E8E8"},diffAdded:{dark:"vesperSuccess",light:"vesperSuccess"},diffRemoved:{dark:"vesperError",light:"vesperError"},diffContext:{dark:"vesperMuted",light:"vesperMuted"},diffHunkHeader:{dark:"vesperMuted",light:"vesperMuted"},diffHighlightAdded:{dark:"vesperSuccess",light:"vesperSuccess"},diffHighlightRemoved:{dark:"vesperError",light:"vesperError"},diffAddedBg:{dark:"#0d2818",light:"#e8f5e8"},diffRemovedBg:{dark:"#281a1a",light:"#f5e8e8"},diffContextBg:{dark:"vesperBg",light:"#F8F8F8"},diffLineNumber:{dark:"#505050",light:"#808080"},diffAddedLineNumberBg:{dark:"#0d2818",light:"#e8f5e8"},diffRemovedLineNumberBg:{dark:"#281a1a",light:"#f5e8e8"},markdownText:{dark:"vesperFg",light:"vesperBg"},markdownHeading:{dark:"#FFC799",light:"#FFC799"},markdownLink:{dark:"#FFC799",light:"#FFC799"},markdownLinkText:{dark:"vesperMuted",light:"vesperMuted"},markdownCode:{dark:"vesperMuted",light:"vesperMuted"},markdownBlockQuote:{dark:"vesperFg",light:"vesperBg"},markdownEmph:{dark:"vesperFg",light:"vesperBg"},markdownStrong:{dark:"vesperFg",light:"vesperBg"},markdownHorizontalRule:{dark:"#65737E",light:"#65737E"},markdownListItem:{dark:"vesperFg",light:"vesperBg"},markdownListEnumeration:{dark:"vesperFg",light:"vesperBg"},markdownImage:{dark:"#FFC799",light:"#FFC799"},markdownImageText:{dark:"vesperMuted",light:"vesperMuted"},markdownCodeBlock:{dark:"vesperFg",light:"vesperBg"},syntaxComment:{dark:"vesperComment",light:"vesperComment"},syntaxKeyword:{dark:"vesperKeyword",light:"vesperKeyword"},syntaxFunction:{dark:"vesperFunction",light:"vesperFunction"},syntaxVariable:{dark:"vesperFg",light:"vesperBg"},syntaxString:{dark:"vesperString",light:"vesperString"},syntaxNumber:{dark:"vesperNumber",light:"vesperNumber"},syntaxType:{dark:"vesperFunction",light:"vesperFunction"},syntaxOperator:{dark:"vesperKeyword",light:"vesperKeyword"},syntaxPunctuation:{dark:"vesperFg",light:"vesperBg"}}};var warm_lightmode_default={$schema:"https://opencode.ai/theme.json",defs:{warmlightmodeBgDark:"#101014",warmlightmodePanelDark:"#18181F",warmlightmodeElemDark:"#1F1F28",warmlightmodeTextDark:"#E6E6E6",warmlightmodeMutedDark:"#9A9A9A",warmlightmodePrimaryDark:"#9D681D",warmlightmodeAccentDark:"#CE661C",warmlightmodeSecondaryDark:"#9D681D",warmlightmodeBorderDark:"#A17A17",warmlightmodeBorderSubtleDark:"#806949",warmlightmodeBgLight:"#F5F0E8",warmlightmodePanelLight:"#EBE6DF",warmlightmodeElemLight:"#E1DDD5",warmlightmodeTextLight:"#2C1810",warmlightmodeMutedLight:"#8B7355",warmlightmodePrimaryLight:"#5C3D11",warmlightmodeAccentLight:"#8B4513",warmlightmodeSecondaryLight:"#5C3D11",warmlightmodeBorderLight:"#8B6914",warmlightmodeBorderSubtleLight:"#A0845C",warmlightmodeOkDark:"#2E7D32",warmlightmodeErrorDark:"#C62828",warmlightmodeWarnDark:"#E65100",warmlightmodeOkLight:"#2E7D32",warmlightmodeErrorLight:"#C62828",warmlightmodeWarnLight:"#E65100"},theme:{primary:{dark:"warmlightmodePrimaryDark",light:"warmlightmodePrimaryLight"},secondary:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},accent:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},error:{dark:"warmlightmodeErrorDark",light:"warmlightmodeErrorLight"},warning:{dark:"warmlightmodeWarnDark",light:"warmlightmodeWarnLight"},success:{dark:"warmlightmodeOkDark",light:"warmlightmodeOkLight"},info:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},text:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},textMuted:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},background:{dark:"warmlightmodeBgDark",light:"warmlightmodeBgLight"},backgroundPanel:{dark:"warmlightmodePanelDark",light:"warmlightmodePanelLight"},backgroundElement:{dark:"warmlightmodeElemDark",light:"warmlightmodeElemLight"},border:{dark:"warmlightmodeBorderDark",light:"warmlightmodeBorderLight"},borderActive:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},borderSubtle:{dark:"warmlightmodeBorderSubtleDark",light:"warmlightmodeBorderSubtleLight"},diffAdded:{dark:"warmlightmodeOkDark",light:"warmlightmodeOkLight"},diffRemoved:{dark:"warmlightmodeErrorDark",light:"warmlightmodeErrorLight"},diffContext:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},diffHunkHeader:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},diffHighlightAdded:{dark:"warmlightmodeOkDark",light:"warmlightmodeOkLight"},diffHighlightRemoved:{dark:"warmlightmodeErrorDark",light:"warmlightmodeErrorLight"},diffAddedBg:{dark:"#152419",light:"#D7DFCD"},diffRemovedBg:{dark:"#311418",light:"#EED2CB"},diffContextBg:{dark:"warmlightmodePanelDark",light:"warmlightmodePanelLight"},diffLineNumber:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},diffAddedLineNumberBg:{dark:"#131B17",light:"#E5E7D9"},diffRemovedLineNumberBg:{dark:"#221216",light:"#F1E0D9"},markdownText:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},markdownHeading:{dark:"warmlightmodePrimaryDark",light:"warmlightmodePrimaryLight"},markdownLink:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},markdownLinkText:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},markdownCode:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},markdownBlockQuote:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},markdownEmph:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},markdownStrong:{dark:"warmlightmodePrimaryDark",light:"warmlightmodePrimaryLight"},markdownHorizontalRule:{dark:"warmlightmodeBorderDark",light:"warmlightmodeBorderLight"},markdownListItem:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},markdownListEnumeration:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},markdownImage:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},markdownImageText:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},markdownCodeBlock:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},syntaxComment:{dark:"warmlightmodeMutedDark",light:"warmlightmodeMutedLight"},syntaxKeyword:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},syntaxFunction:{dark:"warmlightmodePrimaryDark",light:"warmlightmodePrimaryLight"},syntaxVariable:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"},syntaxString:{dark:"warmlightmodeOkDark",light:"warmlightmodeOkLight"},syntaxNumber:{dark:"warmlightmodeAccentDark",light:"warmlightmodeAccentLight"},syntaxType:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},syntaxOperator:{dark:"warmlightmodeSecondaryDark",light:"warmlightmodeSecondaryLight"},syntaxPunctuation:{dark:"warmlightmodeTextDark",light:"warmlightmodeTextLight"}}};var zenburn_default={$schema:"https://opencode.ai/theme.json",defs:{bg:"#3f3f3f",bgAlt:"#4f4f4f",bgPanel:"#5f5f5f",fg:"#dcdccc",fgMuted:"#9f9f9f",red:"#cc9393",redBright:"#dca3a3",green:"#7f9f7f",greenBright:"#8fb28f",yellow:"#f0dfaf",yellowDim:"#e0cf9f",blue:"#8cd0d3",blueDim:"#7cb8bb",magenta:"#dc8cc3",cyan:"#93e0e3",orange:"#dfaf8f"},theme:{primary:{dark:"blue",light:"#5f7f8f"},secondary:{dark:"magenta",light:"#8f5f8f"},accent:{dark:"cyan",light:"#5f8f8f"},error:{dark:"red",light:"#8f5f5f"},warning:{dark:"yellow",light:"#8f8f5f"},success:{dark:"green",light:"#5f8f5f"},info:{dark:"orange",light:"#8f7f5f"},text:{dark:"fg",light:"#3f3f3f"},textMuted:{dark:"fgMuted",light:"#6f6f6f"},background:{dark:"bg",light:"#ffffef"},backgroundPanel:{dark:"bgAlt",light:"#f5f5e5"},backgroundElement:{dark:"bgPanel",light:"#ebebdb"},border:{dark:"#5f5f5f",light:"#d0d0c0"},borderActive:{dark:"blue",light:"#5f7f8f"},borderSubtle:{dark:"#4f4f4f",light:"#e0e0d0"},diffAdded:{dark:"green",light:"#5f8f5f"},diffRemoved:{dark:"red",light:"#8f5f5f"},diffContext:{dark:"fgMuted",light:"#6f6f6f"},diffHunkHeader:{dark:"cyan",light:"#5f8f8f"},diffHighlightAdded:{dark:"greenBright",light:"#5f8f5f"},diffHighlightRemoved:{dark:"redBright",light:"#8f5f5f"},diffAddedBg:{dark:"#4f5f4f",light:"#efffef"},diffRemovedBg:{dark:"#5f4f4f",light:"#ffefef"},diffContextBg:{dark:"bgAlt",light:"#f5f5e5"},diffLineNumber:{dark:"#6f6f6f",light:"#b0b0a0"},diffAddedLineNumberBg:{dark:"#4f5f4f",light:"#efffef"},diffRemovedLineNumberBg:{dark:"#5f4f4f",light:"#ffefef"},markdownText:{dark:"fg",light:"#3f3f3f"},markdownHeading:{dark:"yellow",light:"#8f8f5f"},markdownLink:{dark:"blue",light:"#5f7f8f"},markdownLinkText:{dark:"cyan",light:"#5f8f8f"},markdownCode:{dark:"green",light:"#5f8f5f"},markdownBlockQuote:{dark:"fgMuted",light:"#6f6f6f"},markdownEmph:{dark:"yellowDim",light:"#8f8f5f"},markdownStrong:{dark:"orange",light:"#8f7f5f"},markdownHorizontalRule:{dark:"fgMuted",light:"#6f6f6f"},markdownListItem:{dark:"blue",light:"#5f7f8f"},markdownListEnumeration:{dark:"cyan",light:"#5f8f8f"},markdownImage:{dark:"blue",light:"#5f7f8f"},markdownImageText:{dark:"cyan",light:"#5f8f8f"},markdownCodeBlock:{dark:"fg",light:"#3f3f3f"},syntaxComment:{dark:"#7f9f7f",light:"#5f7f5f"},syntaxKeyword:{dark:"yellow",light:"#8f8f5f"},syntaxFunction:{dark:"blue",light:"#5f7f8f"},syntaxVariable:{dark:"fg",light:"#3f3f3f"},syntaxString:{dark:"red",light:"#8f5f5f"},syntaxNumber:{dark:"greenBright",light:"#5f8f5f"},syntaxType:{dark:"cyan",light:"#5f8f8f"},syntaxOperator:{dark:"yellow",light:"#8f8f5f"},syntaxPunctuation:{dark:"fg",light:"#3f3f3f"}}};var DEFAULT_THEMES={ares:ares_default,aura:aura_default,ayu:ayu_default,carbonfox:carbonfox_default,catppuccin:catppuccin_default,"catppuccin-frappe":catppuccin_frappe_default,"catppuccin-macchiato":catppuccin_macchiato_default,charizard:charizard_default,cobalt2:cobalt2_default,cursor:cursor_default,daylight:daylight_default,default:default_default,dracula:dracula_default,everforest:everforest_default,flexoki:flexoki_default,github:github_default,gruvbox:gruvbox_default,kanagawa:kanagawa_default,"lucent-orng":lucent_orng_default,material:material_default,matrix:matrix_default,mercury:mercury_default,mono:mono_default,monokai:monokai_default,nightowl:nightowl_default,nord:nord_default,"one-dark":one_dark_default,opencode:opencode_default,orng:orng_default,"osaka-jade":osaka_jade_default,palenight:palenight_default,poseidon:poseidon_default,rosepine:rosepine_default,sisyphus:sisyphus_default,slate:slate_default,solarized:solarized_default,synthwave84:synthwave84_default,tokyonight:tokyonight_default,vercel:vercel_default,vesper:vesper_default,"warm-lightmode":warm_lightmode_default,zenburn:zenburn_default},DEFAULT_THEME="tokyonight";function syntax(theme){return SyntaxStyle.fromTheme(rules(theme))}function rules(theme){return[{scope:["default"],style:{foreground:theme.text}},{scope:["comment","comment.documentation"],style:{foreground:theme.syntaxComment,italic:!0}},{scope:["string","symbol"],style:{foreground:theme.syntaxString}},{scope:["number","boolean"],style:{foreground:theme.syntaxNumber}},{scope:["keyword"],style:{foreground:theme.syntaxKeyword,italic:!0}},{scope:["keyword.return","keyword.conditional","keyword.repeat"],style:{foreground:theme.syntaxKeyword,italic:!0}},{scope:["keyword.type"],style:{foreground:theme.syntaxType,bold:!0}},{scope:["keyword.function","function.method"],style:{foreground:theme.syntaxFunction}},{scope:["function","function.call"],style:{foreground:theme.syntaxFunction}},{scope:["variable","variable.parameter"],style:{foreground:theme.syntaxVariable}},{scope:["type"],style:{foreground:theme.syntaxType}},{scope:["operator"],style:{foreground:theme.syntaxOperator}},{scope:["punctuation","punctuation.bracket","punctuation.delimiter"],style:{foreground:theme.syntaxPunctuation}},{scope:["markup.heading"],style:{foreground:theme.markdownHeading,bold:!0}},{scope:["markup.strong"],style:{foreground:theme.markdownStrong,bold:!0}},{scope:["markup.italic"],style:{foreground:theme.markdownEmph,italic:!0}},{scope:["markup.link"],style:{foreground:theme.markdownLink,underline:!0}},{scope:["markup.raw"],style:{foreground:theme.markdownCode}},{scope:["markup.list"],style:{foreground:theme.markdownListItem}}]}var exports_preferences={};__export(exports_preferences,{usePref:()=>usePref,set:()=>set,reset:()=>reset,reload:()=>reload,prefs:()=>exports_preferences,load:()=>load,get:()=>get});var import_react15=__toESM(require_react_production(),1);import{join as join5}from"path";import{existsSync as existsSync6,mkdirSync as mkdirSync2,readFileSync,writeFileSync as writeFileSync2}from"fs";import{homedir as homedir2}from"os";import{join as join4}from"path";import{existsSync as existsSync5,mkdirSync,readdirSync,renameSync}from"fs";var HOME=()=>process.env.HOME||homedir2(),HERMES_HOME=()=>process.env.HERMES_HOME||join4(HOME(),".hermes"),migrated=!1;function configDir(){let dir=process.env.HERM_CONFIG_DIR||join4(HERMES_HOME(),"herm");if(!migrated)migrated=!0,maybeMigrateLegacy(dir);return dir}function maybeMigrateLegacy(target){if(process.env.HERM_CONFIG_DIR)return;let legacy=join4(HOME(),".config","herm");if(!existsSync5(legacy)||legacy===target)return;try{if(existsSync5(target)&&readdirSync(target).length>0)return;mkdirSync(target,{recursive:!0});for(let name of readdirSync(legacy)){let src=join4(legacy,name),dst=join4(target,name);if(existsSync5(dst))continue;try{renameSync(src,dst)}catch{}}}catch{}}var DEFAULTS={mouse:!0,targetFps:30};function configFile(){return join5(configDir(),"tui.json")}var cached=null;function reset(){cached=null}function reload(){cached=null;for(let l of listeners)l()}function load(){if(cached)return cached;let CONFIG_FILE=configFile();try{if(!existsSync6(CONFIG_FILE)){let prefs2={...DEFAULTS};return cached=prefs2,prefs2}let raw=JSON.parse(readFileSync(CONFIG_FILE,"utf-8")),prefs={...DEFAULTS,...raw};return cached=prefs,prefs}catch{let prefs={...DEFAULTS};return cached=prefs,prefs}}function save(partial){let current=load();if(partial)Object.assign(current,partial);cached=current;try{let CONFIG_DIR=configDir();if(!existsSync6(CONFIG_DIR))mkdirSync2(CONFIG_DIR,{recursive:!0});let json=JSON.stringify(current,null,2)+`
3670
3670
  `;writeFileSync2(configFile(),json,"utf-8")}catch(err){if(process.env.PERF)console.error("[preferences] failed to save:",err)}}function get(key){return load()[key]}function set(key,value){save({[key]:value});for(let l of listeners)l()}var listeners=new Set;function subscribe(l){return listeners.add(l),()=>listeners.delete(l)}function usePref(key){return import_react15.useSyncExternalStore(subscribe,()=>load()[key])}var Ctx=import_react16.createContext(null),ThemeProvider=({children,initial,mode:initialMode="dark"})=>{let active=usePref("theme")??initial??DEFAULT_THEME,[mode]=import_react16.useState(initialMode),[themes]=import_react16.useState(DEFAULT_THEMES),resolved=import_react16.useMemo(()=>{let json=themes[active]??themes[DEFAULT_THEME];try{return resolveTheme(json,mode)}catch{return resolveTheme(themes[DEFAULT_THEME],mode)}},[active,mode,themes]),names=import_react16.useMemo(()=>Object.keys(themes).sort(),[themes]),set2=import_react16.useCallback((name)=>{if(!themes[name])return!1;return set("theme",name),!0},[themes]),has=import_react16.useCallback((name)=>themes[name]!==void 0,[themes]),syntaxStyle=import_react16.useMemo(()=>syntax(resolved),[resolved]),value=import_react16.useMemo(()=>({theme:resolved,syntaxStyle,name:active,mode,set:set2,names,has}),[resolved,syntaxStyle,active,mode,set2,names,has]);return $jsx(Ctx.Provider,{value,children})},useTheme=makeUse(Ctx,"useTheme");var import_react17=__toESM(require_react_production(),1);var FRAMES=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],MS=80,subs=new Set,tick=0,timer=null;function sub(fn){if(subs.add(fn),fn(tick),!timer)timer=setInterval(()=>{tick=(tick+1)%FRAMES.length;for(let s of Array.from(subs))s(tick)},MS);return()=>{if(subs.delete(fn),subs.size===0&&timer)clearInterval(timer),timer=null}}function useGlyph(active){let ref=import_react17.useRef(null);return import_react17.useEffect(()=>{if(!active)return;return sub((n)=>{let node=ref.current;if(node)node.children=[FRAMES[n]]})},[active]),ref}var Spinner=import_react17.memo((props)=>{let theme=useTheme().theme,color=props.color??theme.textMuted,on=exports_preferences.get("animations")!==!1,ref=useGlyph(on);return $jsxs("text",{children:[$jsx("span",{ref,fg:color,children:on?FRAMES[tick]:"\u22EF"}),props.label?$jsxs("span",{fg:color,children:[" ",props.label]}):null]})}),SpinGlyph=import_react17.memo((props)=>{let on=(props.active??!0)&&exports_preferences.get("animations")!==!1,ref=useGlyph(on);return $jsx("span",{ref,fg:props.fg,children:on?FRAMES[tick]:"\u22EF"})});function useSpinnerGlyph(active=!0){let on=exports_preferences.get("animations")!==!1&&active,[n,set2]=import_react17.useState(tick);return import_react17.useEffect(()=>on?sub(set2):void 0,[on]),on?FRAMES[n]:"\u22EF"}var SPEC={terminal:{icon:"$",verb:"",pending:"Writing command\u2026"},process:{icon:"\u229A",verb:"Process",pending:"Managing process\u2026"},execute_code:{icon:"\xBB",verb:"Exec",pending:"Writing script\u2026"},read_file:{icon:"\u2192",verb:"Read",pending:"Reading file\u2026"},write_file:{icon:"\u2190",verb:"Write",pending:"Preparing write\u2026"},patch:{icon:"\u2190",verb:"Edit",pending:"Preparing edit\u2026"},search_files:{icon:"\u2731",verb:"Search",pending:"Searching\u2026"},web_search:{icon:"\u25C8",verb:"Web",pending:"Searching web\u2026"},web_extract:{icon:"%",verb:"Fetch",pending:"Fetching page\u2026"},session_search:{icon:"\u21BA",verb:"Recall",pending:"Searching memory\u2026"},browser_navigate:{icon:"%",verb:"Navigate",pending:"Navigating\u2026"},browser_click:{icon:"\xB7",verb:"Click",pending:"Clicking\u2026"},browser_type:{icon:"\u2328",verb:"Type",pending:"Typing\u2026"},browser_snapshot:{icon:"\u2399",verb:"Snapshot",pending:"Capturing\u2026"},browser_vision:{icon:"\u25C9",verb:"Vision",pending:"Looking\u2026"},vision_analyze:{icon:"\u25C9",verb:"Vision",pending:"Analyzing image\u2026"},todo:{icon:"\u2630",verb:"Todo",pending:"Updating todos\u2026"},memory:{icon:"\u2691",verb:"Memory",pending:"Updating memory\u2026"},clarify:{icon:"?",verb:"Ask",pending:"Asking\u2026"},skill_view:{icon:"\u25C6",verb:"Skill",pending:"Loading skill\u2026"},skills_list:{icon:"\u25C6",verb:"Skills",pending:"Listing skills\u2026"},skill_manage:{icon:"\u25C6",verb:"Skill",pending:"Managing skill\u2026"},delegate_task:{icon:"\u2299",verb:"Delegate",pending:"Spawning agent\u2026"},cronjob:{icon:"\u25F7",verb:"Cron",pending:"Managing cron\u2026"},text_to_speech:{icon:"\u266A",verb:"TTS",pending:"Synthesizing\u2026"},image_generate:{icon:"\u2726",verb:"Image",pending:"Generating image\u2026"}},GENERIC={icon:"\u2699",verb:"",pending:"Running\u2026"};function spec(name){if(name.startsWith("subagent"))return{icon:"\u2299",verb:"Subagent",pending:"Running\u2026"};if(name.startsWith("mcp__")||name.startsWith("mcp:"))return{icon:"\u25C7",verb:"MCP",pending:"Calling\u2026"};return SPEC[name]??GENERIC}function ms(d2){if(d2==null)return"";if(d2<1000)return`${Math.round(d2)}ms`;if(d2<60000)return`${(d2/1000).toFixed(1)}s`;return`${Math.floor(d2/60000)}m${Math.round(d2%60000/1000)}s`}var InlineTool=import_react18.memo((p)=>{let theme=useTheme().theme,[hover,setHover]=import_react18.useState(!1),s=spec(p.part.name),running=p.part.status==="running",failed=p.part.status==="error",spin=useSpinnerGlyph(running),fg2=failed?theme.error:hover&&p.onClick?theme.text:running?theme.text:theme.textMuted;return $jsxs("box",{flexDirection:"column",paddingLeft:3,onMouseOver:p.onClick?()=>setHover(!0):void 0,onMouseOut:p.onClick?()=>setHover(!1):void 0,onMouseDown:p.onClick,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsxs("span",{fg:running?theme.warning:p.iconColor??fg2,children:[running?spin:s.icon," "]}),p.complete??!0?$jsx("span",{fg:fg2,children:p.children}):$jsxs("span",{fg:fg2,children:["~ ",s.pending]}),p.part.duration!=null?$jsxs("span",{fg:theme.textMuted,children:[" ",ms(p.part.duration)]}):null]})}),failed&&p.part.result?$jsx("box",{minHeight:1,paddingLeft:2,children:$jsx("text",{fg:theme.error,wrapMode:"word",children:p.part.result})}):null]})});var import_react19=__toESM(require_react_production(),1);var ANSI2=/\x1b\[[0-9;?]*[A-Za-z]/g;function isDiff(s){if(!s)return!1;return/^--- a\//m.test(s)||/^@@ /m.test(s)||/^diff --git /m.test(s)}var CAP=80,WORD_CAP=40,tokens=(s)=>s.split(/(\s+)/).filter((t2)=>t2.length>0);function wordDiff(a,b2){let ta=tokens(a),tb=tokens(b2),p=0;while(p<ta.length&&p<tb.length&&ta[p]===tb[p])p++;let s=0;while(s<ta.length-p&&s<tb.length-p&&ta[ta.length-1-s]===tb[tb.length-1-s])s++;let seg=(t2)=>{let mid2=t2.slice(p,t2.length-s).join(""),out=[];if(p)out.push({text:t2.slice(0,p).join(""),hi:!1});if(mid2)out.push({text:mid2,hi:!0});if(s)out.push({text:t2.slice(t2.length-s).join(""),hi:!1});return out};return[seg(ta),seg(tb)]}function intraline(rows){let marks=rows.map(()=>null);if(rows.length>WORD_CAP)return marks;let del=(l)=>l.startsWith("-")&&!l.startsWith("---"),add=(l)=>l.startsWith("+")&&!l.startsWith("+++"),i=0;while(i<rows.length){if(!del(rows[i])){i++;continue}let j2=i;while(j2<rows.length&&del(rows[j2]))j2++;let k2=j2;while(k2<rows.length&&add(rows[k2]))k2++;let n=Math.min(j2-i,k2-j2);for(let d2=0;d2<n;d2++){let[rm,ad]=wordDiff(rows[i+d2].slice(1),rows[j2+d2].slice(1));marks[i+d2]=rm,marks[j2+d2]=ad}i=k2}return marks}var DiffBlock=import_react19.memo(({text:text2})=>{let theme=useTheme().theme,all=text2.replace(ANSI2,"").replace(/\n$/,"").split(`
3671
- `),rows=all.slice(0,CAP),more=all.length-rows.length,marks=intraline(rows),fg2=(l)=>l.startsWith("@@")?theme.accent:l.startsWith("+++")||l.startsWith("---")?theme.textMuted:l.startsWith("+")?theme.success:l.startsWith("-")?theme.error:theme.textMuted;return $jsxs("box",{flexDirection:"column",backgroundColor:theme.backgroundPanel,children:[rows.map((l,i)=>{let segs=marks[i],bg2=l.startsWith("+")?theme.diffAddedBg:theme.diffRemovedBg;return $jsx("box",{height:1,overflow:"hidden",minWidth:0,children:$jsx("text",{fg:fg2(l),children:segs?$jsxs($Fragment2,{children:[l[0],segs.map((s,j2)=>s.hi?$jsx("span",{bg:bg2,children:s.text},j2):s.text)]}):l||" "})},i)}),more>0?$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:["\u2026 ",more," more lines"]})}):null]})});var import_react20=__toESM(require_react_production(),1);function dur(d2){if(d2==null)return"";let s=d2/1000;return s<60?`${s.toFixed(1)}s`:`${Math.floor(s/60)}m${Math.round(s%60)}s`}var Subagent=import_react20.memo(({tool})=>{let theme=useTheme().theme,[open,setOpen]=import_react20.useState(!1),running=tool.status==="running",failed=tool.status==="error",spin=useSpinnerGlyph(running),trail=tool.trail??[],last=trail[trail.length-1],fg2=failed?theme.error:running?theme.text:theme.textMuted,goal=(tool.goal??tool.preview??"").replace(/\s+/g," ").trim(),sub2=running?last?`\u21B3 ${spec(last.name).verb||last.name} ${last.preview??""}`:trail.length?`\u21B3 ${trail.length} toolcalls`:"":`\u2514 ${trail.length} toolcall${trail.length===1?"":"s"}${tool.duration?` \xB7 ${dur(tool.duration)}`:""}`;return $jsxs("box",{flexDirection:"column",paddingLeft:3+(tool.depth??0)*2,onMouseDown:trail.length?()=>setOpen((o)=>!o):void 0,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsxs("span",{fg:running?theme.warning:fg2,children:[running?spin:"\u2299"," "]}),$jsxs("span",{fg:fg2,children:["Task \u2014 ",goal||"delegating\u2026"]})]})}),open?$jsxs("box",{flexDirection:"column",children:[trail.map((c,i)=>{let s=spec(c.name),lbl=s.verb?`${s.verb} ${c.preview??""}`:c.preview??c.name;return $jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:i<trail.length-1?"\u251C\u2500 ":"\u2514\u2500 "}),$jsxs("span",{fg:theme.textMuted,children:[s.icon," ",lbl]})]})},i)}),tool.result?$jsx("box",{minHeight:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:tool.result})}):null]}):sub2?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:sub2})}):null]})});var FILE=new Set(["write_file","patch"]);function short(s,n=120){if(!s)return"";let one=s.replace(/\s+/g," ").trim();return one.length>n?one.slice(0,n-1)+"\u2026":one}function base(path6){let clean=path6.replace(/\/+$/,""),slash=clean.lastIndexOf("/");return slash>=0?clean.slice(slash+1):clean}var Inline=import_react21.memo(({tool})=>{let s=spec(tool.name),body=tool.preview?short(tool.preview):"";return $jsx(InlineTool,{part:tool,complete:!!body||tool.status!=="running",children:s.verb?`${s.verb} ${body}`:body||tool.name})}),FileEdit=import_react21.memo(({tool})=>{let theme=useTheme().theme;if(tool.status==="running"||!tool.preview)return $jsx(Inline,{tool});return $jsx(InlineTool,{part:tool,children:$jsxs("span",{bg:theme.accent,fg:theme.background,children:[" changed ",short(base(tool.preview),48)," "]})})}),Tool=import_react21.memo(({tool,detail="expanded"})=>{if(detail==="hidden"&&tool.status!=="running")return null;if(tool.trail||tool.name==="delegate_task")return $jsx(Subagent,{tool});if(FILE.has(tool.name)||tool.diff||isDiff(tool.result))return $jsx(FileEdit,{tool});return $jsx(Inline,{tool})});var CLOUD_MIN=12,CLOUD_MAX=24,CLOUD={topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2505",vertical:"\u2507",topT:"\u2505",bottomT:"\u2505",leftT:"\u2507",rightT:"\u2507",cross:"\u254B"},SLOTS=[["\u250F\u2505\u2505\u2513 ","\u2517\u2505\u2505\u251B "],[" \u250F\u2513 "," \u2517\u251B "],[" \u2578 "," "]],BLANK=" ",ORDER=[2,1,0,-1],Tail=import_react22.memo((props)=>{let theme=useTheme().theme,refs=import_react22.useRef([]),paint=(lit)=>{SLOTS.forEach((slot,i)=>slot.forEach((l,j2)=>{let node=refs.current[i*2+j2];if(node)node.children=[lit===null||lit===i?l:BLANK]}))};return import_react22.useEffect(()=>{if(!props.run){paint(null);return}let f=0;paint(ORDER[0]);let t2=setInterval(()=>{f=(f+1)%ORDER.length,paint(ORDER[f])},160);return()=>{clearInterval(t2),paint(null)}},[props.run]),$jsx("box",{flexDirection:"column",children:SLOTS.flatMap((slot,i)=>slot.map((l,j2)=>$jsx("text",{fg:theme.hermAvatar,children:$jsx("span",{ref:(el)=>{refs.current[i*2+j2]=el},children:l})},`${i}-${j2}`)))})});function parts(m2){return m2?.parts.filter((p)=>p.type==="thinking"||p.type==="tool")??[]}function latest(messages){for(let i=messages.length-1;i>=0;i--)if(messages[i].role==="assistant")return messages[i];return}function rows(list){return list.reduce((n,p)=>n+(p.type==="thinking"?Math.ceil(p.content.length/80)||1:p.type==="tool"&&p.diff?6:1),0)}var ThoughtCloud=import_react22.memo((props)=>{let theme=useTheme().theme,detail=usePref("toolDetails")??"expanded",src=props.pick??latest(props.messages),all=parts(src),think=all.filter((p)=>p.type==="thinking"),tools=all.filter((p)=>p.type==="tool"),[pane,setPane]=import_react22.useState("all"),body=pane==="reasoning"?think:pane==="tools"?tools:all,manual=import_react22.useRef(!1),want=Math.min(CLOUD_MAX,Math.max(CLOUD_MIN,rows(body)+3)),resize=props.onResize;import_react22.useEffect(()=>{if(!manual.current)resize(want)},[want,resize]);let drag=import_react22.useRef(null),grab=(e)=>{drag.current={y:e.y,h:props.height},manual.current=!0,e.stopPropagation()},move=(e)=>{let d2=drag.current;if(!d2)return;resize(Math.min(CLOUD_MAX,Math.max(CLOUD_MIN,d2.h+(e.y-d2.y))))},drop=()=>{drag.current=null},pill=(id,label,n)=>{let on=pane===id;return $jsx("box",{height:1,marginRight:2,onMouseDown:(e)=>{e.stopPropagation(),setPane(id)},children:$jsxs("text",{children:[$jsx("span",{fg:on?theme.accent:theme.textMuted,children:on?$jsx("strong",{children:label}):label}),n>0?$jsx("span",{fg:theme.textMuted,children:` ${n}`}):null]})})};return $jsxs("box",{height:props.height,flexDirection:"column",position:"relative",border:!0,borderColor:theme.hermAvatar,customBorderChars:CLOUD,backgroundColor:theme.backgroundPanel,paddingX:1,children:[$jsxs("box",{height:1,flexShrink:0,flexDirection:"row",children:[pill("all","all",all.length),pill("reasoning","reasoning",think.length),pill("tools","tools",tools.length),$jsx("box",{flexGrow:1}),detail!=="expanded"?$jsx("box",{marginRight:1,children:$jsxs("text",{fg:theme.textMuted,children:["\u27E8",detail,"\u27E9"]})}):null,props.onClose?$jsx("box",{width:1,onMouseDown:props.onClose,children:$jsx("text",{fg:theme.textMuted,children:"\xD7"})}):null]}),$jsx("scrollbox",{scrollY:!0,stickyScroll:!0,stickyStart:"bottom",flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:body.map((p,i)=>p.type==="thinking"?$jsx("box",{minHeight:1,width:"100%",flexShrink:0,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:p.content})},p.key??`th-${i}`):$jsx("box",{width:"100%",flexShrink:0,children:$jsx(Tool,{tool:p,detail:detail==="hidden"?"hidden":"collapsed"})},p.id||`t-${i}`))})}),$jsx("box",{position:"absolute",left:0,right:0,bottom:0,height:1,onMouseDown:grab,onMouseDrag:move,onMouseUp:drop,onMouseDragEnd:drop})]})});var import_react28=__toESM(require_react_production(),1);var import_react23=__toESM(require_react_production(),1);var def=(chord,desc,scope)=>({chord,desc,scope}),DEFAULTS2={leader:def("ctrl+x","Leader prefix","global"),"app.exit":def("ctrl+c","Quit","global"),"input.clear":def("ctrl+c","Clear input","global"),"app.suspend":def("ctrl+z","Suspend to shell","global"),"app.redraw":def("ctrl+l","Clear & force-repaint terminal","global"),"app.sidebar":def("<leader>b","Toggle sidebar","global"),"palette.open":def("ctrl+k","Command palette","global"),"help.open":def("f1","Keyboard shortcuts","global"),"tab.next":def("alt+right","Next tab","global"),"tab.prev":def("alt+left","Previous tab","global"),"focus.cycle":def("tab","Cycle focus (double-tap \u2192 composer)","global"),"editor.open":def("<leader>e,ctrl+g","Open $EDITOR on prompt","global"),"reply.copy":def("<leader>y,ctrl+y","Copy last assistant reply","global"),"clipboard.attach":def("alt+v","Attach clipboard image","global"),"queue.flush":def("<leader>u","Interrupt and send queued now","global"),"session.interrupt":def("escape","Interrupt (double-tap while streaming)","global"),"session.new":def("<leader>n","New session","global"),"session.redo":def("<leader>r","Redo last undo","global"),"session.compress":def("<leader>c","Compress context","global"),"input.stash":def("<leader>p","Stash prompt draft","global"),"session.timeline":def("<leader>g","Session timeline","global"),"theme.pick":def("<leader>t","Switch theme","global"),"model.pick":def("<leader>m","Switch model","global"),"status.open":def("<leader>s","Show status","global"),"list.up":def("up","Move selection up","list"),"list.down":def("down","Move selection down","list"),"list.pageUp":def("pageup","Page up","list"),"list.pageDown":def("pagedown","Page down","list"),"list.home":def("home","First item","list"),"list.end":def("end","Last item","list"),"list.activate":def("return","Activate / open","list"),"list.delete":def("d,delete","Delete item","list"),"list.refresh":def("r","Reload","list"),"list.new":def("n","Create","list"),"list.search":def("/","Filter","list"),"list.toggle":def("space","Toggle item","list"),"dialog.accept":def("return","Accept","dialog"),"dialog.cancel":def("escape","Cancel / close","dialog"),"dialog.confirm":def("y","Yes","dialog"),"dialog.deny":def("n","No","dialog"),"dialog.copy":def("c","Copy body","dialog"),"input.submit":def("return","Send","composer"),"input.newline":def("shift+return,ctrl+return,alt+return,ctrl+j","Insert newline","composer"),"sessions.rename":def("ctrl+r","Retitle session","sessions"),"sessions.prev":def("left","Walk lineage back (continues from)","sessions"),"sessions.next":def("right","Walk lineage forward (compressed to)","sessions"),"agents.kill":def("k","Kill subagent","agents"),"agents.history":def("h","Spawn history","agents"),"agents.install":def("i","Install distribution","agents"),"config.save":def("ctrl+s","Write config","config"),"config.mode":def("m","Toggle form \u2194 YAML","config")};var TAB_SCOPES=new Set(["sessions","cron","env","agents","skills","config"]);function scopesOverlap(a,b2){if(a===b2)return!0;if(a==="global"||b2==="global")return!0;if(a==="list")return TAB_SCOPES.has(b2);if(b2==="list")return TAB_SCOPES.has(a);return!1}var ALIAS={esc:"escape",enter:"return",del:"delete",ins:"insert",space:"space"," ":"space"};function parse2(spec2){if(!spec2||spec2==="none")return[];return spec2.split(",").map(one)}function one(combo){let c={name:"",ctrl:!1,meta:!1,shift:!1,super:!1,leader:!1};for(let raw of combo.replace(/<leader>/g,"leader+").toLowerCase().split("+")){let p=raw.trim();if(!p)continue;if(p==="ctrl")c.ctrl=!0;else if(p==="alt"||p==="meta"||p==="option")c.meta=!0;else if(p==="shift")c.shift=!0;else if(p==="super"||p==="cmd")c.super=!0;else if(p==="leader")c.leader=!0;else c.name=ALIAS[p]??p}return c}function from(key,leader=!1){return{name:key.name===" "?"space":key.name,ctrl:key.ctrl,meta:key.meta,shift:key.shift,super:key.super??!1,leader}}function eq(a,b2){return a.name===b2.name&&a.ctrl===b2.ctrl&&a.meta===b2.meta&&a.shift===b2.shift&&a.super===b2.super&&a.leader===b2.leader}function match(list,key,leader=!1){if(list.length===0)return!1;let k2=from(key,leader);return list.some((c)=>eq(c,k2))}function print(list,lead){let c=list[0];if(!c)return"";let mods=[];if(c.ctrl)mods.push("Ctrl");if(c.meta)mods.push("Alt");if(c.super)mods.push("Super");if(c.shift)mods.push("Shift");let name=LABEL[c.name]??cap(c.name),body=[...mods,name].join("+");if(!c.leader)return body;return lead?`${lead} ${body}`:`<leader> ${body}`}var LABEL={return:"Enter",escape:"Esc",space:"Space",delete:"Del",backspace:"\u232B",up:"\u2191",down:"\u2193",left:"\u2190",right:"\u2192",pageup:"PgUp",pagedown:"PgDn",home:"Home",end:"End",tab:"Tab"};function cap(s){return s.length===1?s.toUpperCase():s.charAt(0).toUpperCase()+s.slice(1)}function toBindings(list,action){return list.map((c)=>({name:c.name,ctrl:c.ctrl||void 0,meta:c.meta||void 0,shift:c.shift||void 0,super:c.super||void 0,action}))}function key(c){return`${c.leader?"L":""}${c.ctrl?"C":""}${c.meta?"M":""}${c.shift?"S":""}${c.super?"W":""}-${c.name}`}var LEADER_MS=2000,Ctx2=import_react23.createContext(null),NO_OVERRIDES=Object.freeze({}),KeysProvider=({children})=>{let renderer=useRenderer(),overrides=usePref("keys")??NO_OVERRIDES,table=import_react23.useMemo(()=>{let t2=new Map;for(let id of Object.keys(DEFAULTS2))t2.set(id,parse2(overrides[id]??DEFAULTS2[id].chord));return t2},[overrides]),lead=table.get("leader"),leadLabel=print(lead),armed=import_react23.useRef(!1),stolen=import_react23.useRef(null),timer2=import_react23.useRef(null),[,bump]=import_react23.useState(0),disarm=import_react23.useCallback(()=>{if(!armed.current)return;if(armed.current=!1,timer2.current)clearTimeout(timer2.current),timer2.current=null;let f=stolen.current;if(stolen.current=null,f&&!f.isDestroyed&&!renderer.currentFocusedRenderable)f.focus();bump((n)=>n+1)},[renderer]),arm=import_react23.useCallback(()=>{if(armed.current=!0,stolen.current=renderer.currentFocusedRenderable??null,stolen.current?.blur(),timer2.current)clearTimeout(timer2.current);timer2.current=setTimeout(disarm,LEADER_MS),bump((n)=>n+1)},[renderer,disarm]);useKeyboard((key2)=>{if(!armed.current&&match(lead,key2)){arm(),key2.stopPropagation();return}if(armed.current)queueMicrotask(disarm)});let value=import_react23.useMemo(()=>({get leader(){return armed.current},match:(id,key2)=>match(table.get(id)??[],key2,armed.current),print:(id)=>print(table.get(id)??[],leadLabel),chord:(id)=>table.get(id)??[],all:(scope)=>Object.keys(DEFAULTS2).filter((id)=>DEFAULTS2[id].scope===scope).map((id)=>({id,desc:DEFAULTS2[id].desc,scope,chord:table.get(id)??[]})),table}),[table,leadLabel]);return $jsx(Ctx2.Provider,{value,children})},useKeys=makeUse(Ctx2,"useKeys");var import_react25=__toESM(require_react_production(),1);function handleListKey(keys,key2,o){let move=(next)=>{o.setSel((p)=>{let n=Math.max(0,Math.min(o.count-1,next(p)));return o.scrollTo?.(n),n})},pg=o.page??10;if(keys.match("list.up",key2))return move((p)=>p-1),!0;if(keys.match("list.down",key2))return move((p)=>p+1),!0;if(keys.match("list.pageUp",key2))return move((p)=>p-pg),!0;if(keys.match("list.pageDown",key2))return move((p)=>p+pg),!0;if(keys.match("list.home",key2))return move(()=>0),!0;if(keys.match("list.end",key2))return move(()=>o.count-1),!0;if(o.onActivate&&keys.match("list.activate",key2))return o.onActivate(),!0;if(o.onDelete&&keys.match("list.delete",key2))return o.onDelete(),!0;if(o.onRefresh&&keys.match("list.refresh",key2))return o.onRefresh(),!0;if(o.onNew&&keys.match("list.new",key2))return o.onNew(),!0;if(o.onToggle&&keys.match("list.toggle",key2))return o.onToggle(),!0;if(o.onSearch&&keys.match("list.search",key2))return o.onSearch(),!0;return!1}function useListKeys(o){let keys=useKeys();return useKeyboard((key2)=>{if(!(typeof o.active==="function"?o.active():o.active))return;if(handleListKey(keys,key2,o))return;o.also?.(key2,keys)}),keys}function useFollow(prefix){let ref=import_react25.useRef(null),id=(i)=>`${prefix}-row-${i}`;return{ref,id,opts:{scrollTo:(n)=>ref.current?.scrollChildIntoView(id(n)),get page(){return Math.max(1,(ref.current?.viewport.height??10)-1)}}}}function conflicts(table){let buckets=new Map;for(let[id,chords]of table)for(let c of chords){let k2=key(c),b2=buckets.get(k2);if(b2)b2.push([id,c]);else buckets.set(k2,[[id,c]])}let out=[];for(let bucket of buckets.values()){if(bucket.length<2)continue;for(let i=0;i<bucket.length;i++)for(let j2=i+1;j2<bucket.length;j2++){let[a,c]=bucket[i],[b2]=bucket[j2];if(scopesOverlap(DEFAULTS2[a].scope,DEFAULTS2[b2].scope))out.push({chord:c,a,b:b2})}}return out}function conflictsWith(table,id){let mine=new Set((table.get(id)??[]).map(key));if(mine.size===0)return[];let scope=DEFAULTS2[id].scope,out=[];for(let[other,chords]of table){if(other===id)continue;if(!scopesOverlap(scope,DEFAULTS2[other].scope))continue;if(chords.some((c)=>mine.has(key(c))))out.push(other)}return out}var import_react27=__toESM(require_react_production(),1);var TabStrip=import_react27.memo(({tabs,active,onChange,hint})=>{let theme=useTheme().theme;return $jsxs("box",{width:"100%",flexDirection:"row",height:1,overflow:"hidden",children:[tabs.map((name,i)=>$jsx("box",{onMouseDown:()=>onChange(i),paddingX:2,marginRight:1,flexShrink:0,backgroundColor:i===active?theme.backgroundElement:void 0,children:$jsx("text",{fg:i===active?theme.primary:theme.textMuted,children:$jsx("strong",{children:name})})},i)),$jsx("box",{flexGrow:1,minWidth:0}),hint?$jsx("box",{paddingX:1,flexShrink:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.borderSubtle,children:hint})}):null]})});var TabBar=import_react28.memo(({tabs,activeTab,onTabChange})=>{let keys=useKeys(),hint=`${keys.print("tab.prev")}/${keys.print("tab.next")} or ${keys.print("leader")} N`;return $jsx(TabStrip,{tabs:tabs.map((t2)=>t2.name),active:activeTab,onChange:onTabChange,hint})});var import_react32=__toESM(require_react_production(),1);var import_react29=__toESM(require_react_production(),1);var default_default2=`{"eikon":1,"name":"nous-girl","width":48,"height":24,"author":"kaio","created":"2026-05-04T02:32:53.930Z"}
3671
+ `),rows=all.slice(0,CAP),more=all.length-rows.length,marks=intraline(rows),fg2=(l)=>l.startsWith("@@")?theme.accent:l.startsWith("+++")||l.startsWith("---")?theme.textMuted:l.startsWith("+")?theme.success:l.startsWith("-")?theme.error:theme.textMuted;return $jsxs("box",{flexDirection:"column",backgroundColor:theme.backgroundPanel,children:[rows.map((l,i)=>{let segs=marks[i],bg2=l.startsWith("+")?theme.diffAddedBg:theme.diffRemovedBg;return $jsx("box",{height:1,overflow:"hidden",minWidth:0,children:$jsx("text",{fg:fg2(l),children:segs?$jsxs($Fragment,{children:[l[0],segs.map((s,j2)=>s.hi?$jsx("span",{bg:bg2,children:s.text},j2):s.text)]}):l||" "})},i)}),more>0?$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:["\u2026 ",more," more lines"]})}):null]})});var import_react20=__toESM(require_react_production(),1);function dur(d2){if(d2==null)return"";let s=d2/1000;return s<60?`${s.toFixed(1)}s`:`${Math.floor(s/60)}m${Math.round(s%60)}s`}var Subagent=import_react20.memo(({tool})=>{let theme=useTheme().theme,[open,setOpen]=import_react20.useState(!1),running=tool.status==="running",failed=tool.status==="error",spin=useSpinnerGlyph(running),trail=tool.trail??[],last=trail[trail.length-1],fg2=failed?theme.error:running?theme.text:theme.textMuted,goal=(tool.goal??tool.preview??"").replace(/\s+/g," ").trim(),sub2=running?last?`\u21B3 ${spec(last.name).verb||last.name} ${last.preview??""}`:trail.length?`\u21B3 ${trail.length} toolcalls`:"":`\u2514 ${trail.length} toolcall${trail.length===1?"":"s"}${tool.duration?` \xB7 ${dur(tool.duration)}`:""}`;return $jsxs("box",{flexDirection:"column",paddingLeft:3+(tool.depth??0)*2,onMouseDown:trail.length?()=>setOpen((o)=>!o):void 0,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsxs("span",{fg:running?theme.warning:fg2,children:[running?spin:"\u2299"," "]}),$jsxs("span",{fg:fg2,children:["Task \u2014 ",goal||"delegating\u2026"]})]})}),open?$jsxs("box",{flexDirection:"column",children:[trail.map((c,i)=>{let s=spec(c.name),lbl=s.verb?`${s.verb} ${c.preview??""}`:c.preview??c.name;return $jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:i<trail.length-1?"\u251C\u2500 ":"\u2514\u2500 "}),$jsxs("span",{fg:theme.textMuted,children:[s.icon," ",lbl]})]})},i)}),tool.result?$jsx("box",{minHeight:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:tool.result})}):null]}):sub2?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:sub2})}):null]})});var FILE=new Set(["write_file","patch"]);function short(s,n=120){if(!s)return"";let one=s.replace(/\s+/g," ").trim();return one.length>n?one.slice(0,n-1)+"\u2026":one}function base(path6){let clean=path6.replace(/\/+$/,""),slash=clean.lastIndexOf("/");return slash>=0?clean.slice(slash+1):clean}var Inline=import_react21.memo(({tool})=>{let s=spec(tool.name),body=tool.preview?short(tool.preview):"";return $jsx(InlineTool,{part:tool,complete:!!body||tool.status!=="running",children:s.verb?`${s.verb} ${body}`:body||tool.name})}),FileEdit=import_react21.memo(({tool})=>{let theme=useTheme().theme;if(tool.status==="running"||!tool.preview)return $jsx(Inline,{tool});return $jsx(InlineTool,{part:tool,children:$jsxs("span",{bg:theme.accent,fg:theme.background,children:[" changed ",short(base(tool.preview),48)," "]})})}),Tool=import_react21.memo(({tool,detail="expanded"})=>{if(detail==="hidden"&&tool.status!=="running")return null;if(tool.trail||tool.name==="delegate_task")return $jsx(Subagent,{tool});if(FILE.has(tool.name)||tool.diff||isDiff(tool.result))return $jsx(FileEdit,{tool});return $jsx(Inline,{tool})});var CLOUD_MIN=12,CLOUD_MAX=24,CLOUD={topLeft:"\u250F",topRight:"\u2513",bottomLeft:"\u2517",bottomRight:"\u251B",horizontal:"\u2505",vertical:"\u2507",topT:"\u2505",bottomT:"\u2505",leftT:"\u2507",rightT:"\u2507",cross:"\u254B"},SLOTS=[["\u250F\u2505\u2505\u2513 ","\u2517\u2505\u2505\u251B "],[" \u250F\u2513 "," \u2517\u251B "],[" \u2578 "," "]],BLANK=" ",ORDER=[2,1,0,-1],Tail=import_react22.memo((props)=>{let theme=useTheme().theme,refs=import_react22.useRef([]),paint=(lit)=>{SLOTS.forEach((slot,i)=>slot.forEach((l,j2)=>{let node=refs.current[i*2+j2];if(node)node.children=[lit===null||lit===i?l:BLANK]}))};return import_react22.useEffect(()=>{if(!props.run){paint(null);return}let f=0;paint(ORDER[0]);let t2=setInterval(()=>{f=(f+1)%ORDER.length,paint(ORDER[f])},160);return()=>{clearInterval(t2),paint(null)}},[props.run]),$jsx("box",{flexDirection:"column",children:SLOTS.flatMap((slot,i)=>slot.map((l,j2)=>$jsx("text",{fg:theme.hermAvatar,children:$jsx("span",{ref:(el)=>{refs.current[i*2+j2]=el},children:l})},`${i}-${j2}`)))})});function parts(m2){return m2?.parts.filter((p)=>p.type==="thinking"||p.type==="tool")??[]}function latest(messages){for(let i=messages.length-1;i>=0;i--)if(messages[i].role==="assistant")return messages[i];return}function rows(list){return list.reduce((n,p)=>n+(p.type==="thinking"?Math.ceil(p.content.length/80)||1:p.type==="tool"&&p.diff?6:1),0)}var ThoughtCloud=import_react22.memo((props)=>{let theme=useTheme().theme,detail=usePref("toolDetails")??"expanded",src=props.pick??latest(props.messages),all=parts(src),think=all.filter((p)=>p.type==="thinking"),tools=all.filter((p)=>p.type==="tool"),[pane,setPane]=import_react22.useState("all"),body=pane==="reasoning"?think:pane==="tools"?tools:all,manual=import_react22.useRef(!1),want=Math.min(CLOUD_MAX,Math.max(CLOUD_MIN,rows(body)+3)),resize=props.onResize;import_react22.useEffect(()=>{if(!manual.current)resize(want)},[want,resize]);let drag=import_react22.useRef(null),grab=(e)=>{drag.current={y:e.y,h:props.height},manual.current=!0,e.stopPropagation()},move=(e)=>{let d2=drag.current;if(!d2)return;resize(Math.min(CLOUD_MAX,Math.max(CLOUD_MIN,d2.h+(e.y-d2.y))))},drop=()=>{drag.current=null},pill=(id,label,n)=>{let on=pane===id;return $jsx("box",{height:1,marginRight:2,onMouseDown:(e)=>{e.stopPropagation(),setPane(id)},children:$jsxs("text",{children:[$jsx("span",{fg:on?theme.accent:theme.textMuted,children:on?$jsx("strong",{children:label}):label}),n>0?$jsx("span",{fg:theme.textMuted,children:` ${n}`}):null]})})};return $jsxs("box",{height:props.height,flexDirection:"column",position:"relative",border:!0,borderColor:theme.hermAvatar,customBorderChars:CLOUD,backgroundColor:theme.backgroundPanel,paddingX:1,children:[$jsxs("box",{height:1,flexShrink:0,flexDirection:"row",children:[pill("all","all",all.length),pill("reasoning","reasoning",think.length),pill("tools","tools",tools.length),$jsx("box",{flexGrow:1}),detail!=="expanded"?$jsx("box",{marginRight:1,children:$jsxs("text",{fg:theme.textMuted,children:["\u27E8",detail,"\u27E9"]})}):null,props.onClose?$jsx("box",{width:1,onMouseDown:props.onClose,children:$jsx("text",{fg:theme.textMuted,children:"\xD7"})}):null]}),$jsx("scrollbox",{scrollY:!0,stickyScroll:!0,stickyStart:"bottom",flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:body.map((p,i)=>p.type==="thinking"?$jsx("box",{minHeight:1,width:"100%",flexShrink:0,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:p.content})},p.key??`th-${i}`):$jsx("box",{width:"100%",flexShrink:0,children:$jsx(Tool,{tool:p,detail:detail==="hidden"?"hidden":"collapsed"})},p.id||`t-${i}`))})}),$jsx("box",{position:"absolute",left:0,right:0,bottom:0,height:1,onMouseDown:grab,onMouseDrag:move,onMouseUp:drop,onMouseDragEnd:drop})]})});var import_react28=__toESM(require_react_production(),1);var import_react23=__toESM(require_react_production(),1);var def=(chord,desc,scope)=>({chord,desc,scope}),DEFAULTS2={leader:def("ctrl+x","Leader prefix","global"),"app.exit":def("ctrl+c","Quit","global"),"input.clear":def("ctrl+c","Clear input","global"),"app.suspend":def("ctrl+z","Suspend to shell","global"),"app.redraw":def("ctrl+l","Clear & force-repaint terminal","global"),"app.sidebar":def("<leader>b","Toggle sidebar","global"),"palette.open":def("ctrl+k","Command palette","global"),"help.open":def("f1","Keyboard shortcuts","global"),"tab.next":def("alt+right","Next tab","global"),"tab.prev":def("alt+left","Previous tab","global"),"focus.cycle":def("tab","Cycle focus (double-tap \u2192 composer)","global"),"editor.open":def("<leader>e,ctrl+g","Open $EDITOR on prompt","global"),"reply.copy":def("<leader>y,ctrl+y","Copy last assistant reply","global"),"clipboard.attach":def("ctrl+v","Attach clipboard image","global"),"queue.flush":def("<leader>u","Interrupt and send queued now","global"),"session.interrupt":def("escape","Interrupt (double-tap while streaming)","global"),"session.new":def("<leader>n","New session","global"),"session.redo":def("<leader>r","Redo last undo","global"),"session.compress":def("<leader>c","Compress context","global"),"input.stash":def("<leader>p","Stash prompt draft","global"),"session.timeline":def("<leader>g","Session timeline","global"),"theme.pick":def("<leader>t","Switch theme","global"),"model.pick":def("<leader>m","Switch model","global"),"status.open":def("<leader>s","Show status","global"),"list.up":def("up","Move selection up","list"),"list.down":def("down","Move selection down","list"),"list.pageUp":def("pageup","Page up","list"),"list.pageDown":def("pagedown","Page down","list"),"list.home":def("home","First item","list"),"list.end":def("end","Last item","list"),"list.activate":def("return","Activate / open","list"),"list.delete":def("d,delete","Delete item","list"),"list.refresh":def("r","Reload","list"),"list.new":def("n","Create","list"),"list.search":def("/","Filter","list"),"list.toggle":def("space","Toggle item","list"),"dialog.accept":def("return","Accept","dialog"),"dialog.cancel":def("escape","Cancel / close","dialog"),"dialog.confirm":def("y","Yes","dialog"),"dialog.deny":def("n","No","dialog"),"dialog.copy":def("c","Copy body","dialog"),"input.submit":def("return","Send","composer"),"input.newline":def("shift+return,ctrl+return,alt+return,ctrl+j","Insert newline","composer"),"sessions.rename":def("ctrl+r","Retitle session","sessions"),"sessions.prev":def("left","Walk lineage back (continues from)","sessions"),"sessions.next":def("right","Walk lineage forward (compressed to)","sessions"),"agents.kill":def("k","Kill subagent","agents"),"agents.history":def("h","Spawn history","agents"),"agents.install":def("i","Install distribution","agents"),"config.save":def("ctrl+s","Write config","config"),"config.mode":def("m","Toggle form \u2194 YAML","config")};var TAB_SCOPES=new Set(["sessions","cron","env","agents","skills","config"]);function scopesOverlap(a,b2){if(a===b2)return!0;if(a==="global"||b2==="global")return!0;if(a==="list")return TAB_SCOPES.has(b2);if(b2==="list")return TAB_SCOPES.has(a);return!1}var ALIAS={esc:"escape",enter:"return",del:"delete",ins:"insert",space:"space"," ":"space"};function parse2(spec2){if(!spec2||spec2==="none")return[];return spec2.split(",").map(one)}function one(combo){let c={name:"",ctrl:!1,meta:!1,shift:!1,super:!1,leader:!1};for(let raw of combo.replace(/<leader>/g,"leader+").toLowerCase().split("+")){let p=raw.trim();if(!p)continue;if(p==="ctrl")c.ctrl=!0;else if(p==="alt"||p==="meta"||p==="option")c.meta=!0;else if(p==="shift")c.shift=!0;else if(p==="super"||p==="cmd")c.super=!0;else if(p==="leader")c.leader=!0;else c.name=ALIAS[p]??p}return c}function from(key,leader=!1){return{name:key.name===" "?"space":key.name,ctrl:key.ctrl,meta:key.meta,shift:key.shift,super:key.super??!1,leader}}function eq(a,b2){return a.name===b2.name&&a.ctrl===b2.ctrl&&a.meta===b2.meta&&a.shift===b2.shift&&a.super===b2.super&&a.leader===b2.leader}function match(list,key,leader=!1){if(list.length===0)return!1;let k2=from(key,leader);return list.some((c)=>eq(c,k2))}function print(list,lead){let c=list[0];if(!c)return"";let mods=[];if(c.ctrl)mods.push("Ctrl");if(c.meta)mods.push("Alt");if(c.super)mods.push("Super");if(c.shift)mods.push("Shift");let name=LABEL[c.name]??cap(c.name),body=[...mods,name].join("+");if(!c.leader)return body;return lead?`${lead} ${body}`:`<leader> ${body}`}var LABEL={return:"Enter",escape:"Esc",space:"Space",delete:"Del",backspace:"\u232B",up:"\u2191",down:"\u2193",left:"\u2190",right:"\u2192",pageup:"PgUp",pagedown:"PgDn",home:"Home",end:"End",tab:"Tab"};function cap(s){return s.length===1?s.toUpperCase():s.charAt(0).toUpperCase()+s.slice(1)}function toBindings(list,action){return list.map((c)=>({name:c.name,ctrl:c.ctrl||void 0,meta:c.meta||void 0,shift:c.shift||void 0,super:c.super||void 0,action}))}function key(c){return`${c.leader?"L":""}${c.ctrl?"C":""}${c.meta?"M":""}${c.shift?"S":""}${c.super?"W":""}-${c.name}`}var LEADER_MS=2000,Ctx2=import_react23.createContext(null),NO_OVERRIDES=Object.freeze({}),KeysProvider=({children})=>{let renderer=useRenderer(),overrides=usePref("keys")??NO_OVERRIDES,table=import_react23.useMemo(()=>{let t2=new Map;for(let id of Object.keys(DEFAULTS2))t2.set(id,parse2(overrides[id]??DEFAULTS2[id].chord));return t2},[overrides]),lead=table.get("leader"),leadLabel=print(lead),armed=import_react23.useRef(!1),stolen=import_react23.useRef(null),timer2=import_react23.useRef(null),[,bump]=import_react23.useState(0),disarm=import_react23.useCallback(()=>{if(!armed.current)return;if(armed.current=!1,timer2.current)clearTimeout(timer2.current),timer2.current=null;let f=stolen.current;if(stolen.current=null,f&&!f.isDestroyed&&!renderer.currentFocusedRenderable)f.focus();bump((n)=>n+1)},[renderer]),arm=import_react23.useCallback(()=>{if(armed.current=!0,stolen.current=renderer.currentFocusedRenderable??null,stolen.current?.blur(),timer2.current)clearTimeout(timer2.current);timer2.current=setTimeout(disarm,LEADER_MS),bump((n)=>n+1)},[renderer,disarm]);useKeyboard((key2)=>{if(!armed.current&&match(lead,key2)){arm(),key2.stopPropagation();return}if(armed.current)queueMicrotask(disarm)});let value=import_react23.useMemo(()=>({get leader(){return armed.current},match:(id,key2)=>match(table.get(id)??[],key2,armed.current),print:(id)=>print(table.get(id)??[],leadLabel),chord:(id)=>table.get(id)??[],all:(scope)=>Object.keys(DEFAULTS2).filter((id)=>DEFAULTS2[id].scope===scope).map((id)=>({id,desc:DEFAULTS2[id].desc,scope,chord:table.get(id)??[]})),table}),[table,leadLabel]);return $jsx(Ctx2.Provider,{value,children})},useKeys=makeUse(Ctx2,"useKeys");var import_react25=__toESM(require_react_production(),1);function handleListKey(keys,key2,o){let move=(next)=>{o.setSel((p)=>{let n=Math.max(0,Math.min(o.count-1,next(p)));return o.scrollTo?.(n),n})},pg=o.page??10;if(keys.match("list.up",key2))return move((p)=>p-1),!0;if(keys.match("list.down",key2))return move((p)=>p+1),!0;if(keys.match("list.pageUp",key2))return move((p)=>p-pg),!0;if(keys.match("list.pageDown",key2))return move((p)=>p+pg),!0;if(keys.match("list.home",key2))return move(()=>0),!0;if(keys.match("list.end",key2))return move(()=>o.count-1),!0;if(o.onActivate&&keys.match("list.activate",key2))return o.onActivate(),!0;if(o.onDelete&&keys.match("list.delete",key2))return o.onDelete(),!0;if(o.onRefresh&&keys.match("list.refresh",key2))return o.onRefresh(),!0;if(o.onNew&&keys.match("list.new",key2))return o.onNew(),!0;if(o.onToggle&&keys.match("list.toggle",key2))return o.onToggle(),!0;if(o.onSearch&&keys.match("list.search",key2))return o.onSearch(),!0;return!1}function useListKeys(o){let keys=useKeys();return useKeyboard((key2)=>{if(!(typeof o.active==="function"?o.active():o.active))return;if(handleListKey(keys,key2,o))return;o.also?.(key2,keys)}),keys}function useFollow(prefix){let ref=import_react25.useRef(null),id=(i)=>`${prefix}-row-${i}`;return{ref,id,opts:{scrollTo:(n)=>ref.current?.scrollChildIntoView(id(n)),get page(){return Math.max(1,(ref.current?.viewport.height??10)-1)}}}}function conflicts(table){let buckets=new Map;for(let[id,chords]of table)for(let c of chords){let k2=key(c),b2=buckets.get(k2);if(b2)b2.push([id,c]);else buckets.set(k2,[[id,c]])}let out=[];for(let bucket of buckets.values()){if(bucket.length<2)continue;for(let i=0;i<bucket.length;i++)for(let j2=i+1;j2<bucket.length;j2++){let[a,c]=bucket[i],[b2]=bucket[j2];if(scopesOverlap(DEFAULTS2[a].scope,DEFAULTS2[b2].scope))out.push({chord:c,a,b:b2})}}return out}function conflictsWith(table,id){let mine=new Set((table.get(id)??[]).map(key));if(mine.size===0)return[];let scope=DEFAULTS2[id].scope,out=[];for(let[other,chords]of table){if(other===id)continue;if(!scopesOverlap(scope,DEFAULTS2[other].scope))continue;if(chords.some((c)=>mine.has(key(c))))out.push(other)}return out}var import_react27=__toESM(require_react_production(),1);var TabStrip=import_react27.memo(({tabs,active,onChange,hint})=>{let theme=useTheme().theme;return $jsxs("box",{width:"100%",flexDirection:"row",height:1,overflow:"hidden",children:[tabs.map((name,i)=>$jsx("box",{onMouseDown:()=>onChange(i),paddingX:2,marginRight:1,flexShrink:0,backgroundColor:i===active?theme.backgroundElement:void 0,children:$jsx("text",{fg:i===active?theme.primary:theme.textMuted,children:$jsx("strong",{children:name})})},i)),$jsx("box",{flexGrow:1,minWidth:0}),hint?$jsx("box",{paddingX:1,flexShrink:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.borderSubtle,children:hint})}):null]})});var TabBar=import_react28.memo(({tabs,activeTab,onTabChange})=>{let keys=useKeys(),hint=`${keys.print("tab.prev")}/${keys.print("tab.next")} or ${keys.print("leader")} N`;return $jsx(TabStrip,{tabs:tabs.map((t2)=>t2.name),active:activeTab,onChange:onTabChange,hint})});var import_react32=__toESM(require_react_production(),1);var import_react29=__toESM(require_react_production(),1);var default_default2=`{"eikon":1,"name":"nous-girl","width":48,"height":24,"author":"kaio","created":"2026-05-04T02:32:53.930Z"}
3672
3672
  {"state":"idle","fps":16,"color":"#7aa2f7","frame_count":64,"loop_from":0}
3673
3673
  {"f":0,"data":"\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2880\u28C0\u28C0\u28E0\u28E4\u28E4\u28C0\u28C0\u28C0\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2880\u28C0\u28E4\u28E4\u28EC\u28E5\u28C4\u28C0\u2800\u2809\u2819\u283B\u28FF\u28FF\u28FF\u28FF\u28F7\u28F6\u28E4\u2840\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28C0\u28E4\u28FE\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F7\u28E6\u2840\u2800\u2808\u283B\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F7\u28C4\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2880\u28E4\u28FE\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287F\u287F\u28A6\u2840\u2800\u2808\u28BF\u28FF\u28FF\u28FF\u28FF\u28FF\u28BF\u2857\u2804\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2870\u28FB\u28FF\u28FF\u28FF\u288F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287F\u2819\u280F\u2800\u2800\u28EE\u2873\u2800\u2800\u2808\u28BF\u28BF\u283B\u283F\u284F\u2801\u2801\u28F8\u28C4\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u280C\u2808\u2809\u28BA\u283B\u2883\u280A\u2819\u281B\u28A0\u2840\u2880\u2819\u2801\u2801\u2800\u2858\u28F6\u28F7\u28FF\u28F7\u28FE\u2800\u2800\u2808\u28F6\u28C6\u28F3\u28F6\u28EE\u2894\u28FF\u28FF\u2846\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u287C\u28F4\u28B6\u28E4\u28F6\u28FE\u28FC\u28FF\u28FF\u28FF\u28FF\u28BF\u28FF\u28FF\u28FF\u28FE\u28F6\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u2847\u28C0\u28E0\u28F8\u28FF\u28F7\u28FB\u28FF\u28FF\u28FF\u28FF\u28F7\u2840\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u28B0\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u285F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28AF\u28FF\u28DA\u28FF\u28FF\u28FF\u28BF\u28FF\u28FF\u28FF\u28FF\u28D7\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28BF\u28FF\u28FF\u28FF\u28FF\u2858\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287F\u28FF\u28FF\u28FF\u28FF\u28FF\u2844\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287F\u2827\u283B\u281F\u28FB\u281F\u2853\u2808\u281B\u281B\u281B\u281B\u281B\u283F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F9\u28FF\u28FF\u28FF\u28FF\u28C7\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u283B\u28FF\u287F\u28FF\u28FF\u28C9\u28C1\u2800\u2800\u2800\u2800\u2838\u28BB\u28FF\u2877\u28A6\u2844\u2800\u2800\u2800\u28B9\u28FF\u28FF\u28FF\u28FF\u289F\u28DB\u287B\u28FF\u28FF\u28FF\u28EF\u28FF\u28FF\u28FF\u28FF\u28FF\u2840\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2808\u2819\u280A\u28BB\u28CF\u28BF\u2807\u2800\u2800\u2800\u2800\u282C\u283F\u2825\u280A\u2800\u2800\u2800\u2800\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287C\u28FF\u28FF\u28FF\u28FF\u28C7\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28F8\u28EF\u280A\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F7\u28BF\u28FF\u28FF\u28FF\u28FF\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28FF\u2847\u2820\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287E\u28FF\u28FF\u28FF\u28FF\u2847\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28FF\u28C7\u2830\u28C4\u28C4\u2840\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28FE\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F7\u28FF\u28FF\u28FF\u28FF\u28FF\u2840\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28B0\u28FF\u28FF\u2846\u2823\u2804\u2808\u2801\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28A0\u28FF\u28FF\u28FF\u28FF\u283B\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FC\u28FF\u28FF\u28B9\u28FF\u28C7\u2800\u2800\u2800\u2800\\n\u2800\u2800\u28A0\u2800\u2800\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u28C6\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u284F\u2888\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u2804\u28FF\u28FF\u2840\u2800\u2800\u2800\\n\u2800\u2800\u28DF\u2800\u2800\u2800\u2800\u28FF\u28FF\u28FF\u28FF\u28FF\u28E6\u28C0\u28C0\u28C0\u28C0\u28E0\u28C4\u2840\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u287E\u281F\u28BF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u2801\u28F9\u28FF\u2847\u2810\u2844\u2800\\n\u2800\u2880\u28FF\u28E6\u28C0\u28E0\u28FC\u28FF\u28FF\u28FB\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28C4\u2800\u28F8\u28FF\u28FF\u28EF\u2840\u28C0\u28FC\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287F\u2880\u28FF\u28FF\u2847\u2800\u28F7\u2800\\n\u2800\u2818\u28DC\u283F\u28FF\u28FF\u283F\u280B\u28F1\u28FF\u28FF\u28FB\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287E\u280B\u28BF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28E3\u28FE\u28FF\u28FF\u2847\u28A0\u28FF\u2800\\n\u2800\u2800\u2819\u283F\u28F6\u28E4\u28F6\u28FE\u28FF\u28FF\u288B\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u281B\u288B\u2860\u2886\u2800\u2819\u283F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287F\u28A0\u28FF\u280F\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2809\u28AF\u28C9\u28C9\u28E1\u28FE\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28E7\u2840\u288B\u281D\u2803\u28C0\u28F4\u281F\u282B\u289B\u28ED\u287F\u281A\u280B\u2809\u2801\u2812\u282B\u28DD\u283B\u28FF\u28FF\u28FF\u289F\u28F5\u287F\u280B\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2808\u281B\u283F\u283F\u281B\u2881\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F7\u28E4\u2876\u281F\u2809\u2800\u2880\u28F4\u285F\u2801\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2808\u2833\u28DC\u28BF\u287F\u281F\u280B\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28E0\u28FE\u28FF\u28FF\u28FF\u28FF\u283F\u28FF\u28AF\u287E\u280B\u2800\u2800\u2880\u2854\u2800\u287E\u280B\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2818\u282E\u2805\u2800\u2800\u2800\u2800\u2800\u2800"}
3674
3674
  {"f":1,"data":"\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28C0\u28C0\u28C0\u28E0\u28E0\u28C0\u28C0\u28C0\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28C0\u28E4\u28E4\u28E4\u28E5\u28E4\u28C0\u2800\u2809\u2809\u283B\u28BF\u28FF\u28FF\u28FF\u28F7\u28F6\u28E4\u28C0\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2880\u28E4\u28F6\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F6\u28C4\u2800\u2800\u2819\u28BF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F7\u28E4\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28E0\u28FE\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28DF\u287F\u28B7\u2840\u2800\u2808\u28BB\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28E7\u2880\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2860\u28EB\u287F\u28FF\u28FF\u289F\u28FE\u28FF\u285F\u28FF\u28FF\u28FF\u28FF\u28FF\u280E\u281F\u2800\u2800\u28B4\u287B\u2804\u2800\u2800\u28BB\u28FF\u283F\u28BF\u28FF\u2803\u2809\u28A0\u28E4\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2814\u2804\u2800\u2819\u2833\u280B\u280E\u2809\u281A\u2881\u28C4\u28C0\u28B8\u2809\u2801\u2800\u2848\u28B6\u28FE\u28FF\u28F7\u28FE\u2840\u2800\u2800\u28B6\u28E6\u2874\u28E6\u28F6\u28C2\u28E6\u28BF\u2844\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u28F8\u28F5\u28E6\u28E7\u28F6\u28FE\u28FF\u28FF\u28FF\u28FF\u28FF\u28FB\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28C7\u2880\u28C0\u2878\u28FF\u28FF\u28FB\u28FF\u28F7\u28BE\u28FF\u28FF\u2840\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u28A0\u28F7\u28FF\u28FE\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28CF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28CC\u28FF\u28F0\u28BF\u28FF\u28F7\u28BF\u28FF\u28FF\u28FF\u28FF\u28C7\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28BF\u28FF\u28FF\u28FF\u28FF\u285C\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u285F\u28FF\u28FF\u28FF\u28FF\u28FF\u2843\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2818\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u283F\u2807\u2819\u281B\u287B\u289F\u28CB\u2809\u281B\u281B\u281B\u281B\u281B\u283F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F9\u28FF\u28FF\u28FF\u28FF\u28F7\u2800\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2819\u28BF\u28DF\u28BF\u28FF\u28C1\u28D0\u2800\u2800\u2800\u2800\u2818\u28BB\u28FF\u2877\u28A6\u2844\u2800\u2800\u2800\u28F8\u28FF\u28FF\u28FF\u28FF\u281F\u281B\u283B\u28FF\u28FF\u28FF\u28EF\u28FF\u28FF\u28FF\u28FF\u28FF\u2844\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2809\u2803\u28B9\u28CF\u28BB\u2807\u2800\u2800\u2800\u2800\u2828\u283D\u2825\u280A\u2800\u2800\u2800\u2800\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F9\u28FF\u28FF\u28FF\u28FF\u28C7\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28B8\u28CF\u2801\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2880\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F7\u28BF\u28FF\u28FF\u28FF\u28FF\u2800\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28FC\u2807\u2820\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287E\u28FF\u28FF\u28FF\u28FF\u2847\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28FF\u28C7\u2838\u28C4\u28C0\u2840\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28CF\u28FF\u28FF\u28FF\u28FF\u28FF\u2800\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28B0\u28FF\u28FF\u2846\u282B\u2800\u2808\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28B8\u28FF\u28FF\u28FF\u28FF\u28B9\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28BB\u28FF\u2847\u2800\u2800\u2800\u2800\\n\u2800\u2800\u2860\u2800\u2800\u2800\u2800\u28F8\u28FF\u28FF\u28FF\u2844\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28FC\u28FF\u28FF\u28FF\u2803\u2898\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u2808\u28FF\u28FF\u2800\u2800\u2800\u2800\\n\u2800\u28A0\u28E7\u2800\u2800\u2800\u2880\u28FF\u28FF\u28FF\u28FF\u28FF\u28E6\u28C0\u28C0\u28C0\u28C0\u28E0\u28C4\u2840\u2800\u2800\u28FF\u28FF\u28FF\u28EF\u2876\u281F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u2801\u28B9\u28FF\u2847\u28A0\u2800\u2800\\n\u2800\u2808\u28FF\u28F6\u28E4\u28E4\u28FE\u28FF\u287F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28C4\u2800\u28FF\u28FF\u28FF\u28CF\u2800\u28E0\u28FE\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287F\u2880\u28FF\u28FF\u2847\u2800\u28E7\u2800\\n\u2800\u2818\u28CC\u287B\u283F\u283F\u281F\u288B\u28FC\u28FF\u287F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287E\u281B\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28E3\u28FE\u28FF\u28FF\u2847\u28B0\u28FF\u2800\\n\u2800\u2800\u2818\u283B\u28F7\u28F6\u28FE\u28FF\u28FF\u287F\u28B3\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u281B\u288B\u2860\u2886\u2808\u283B\u28BF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u287F\u28A0\u28FF\u2807\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2808\u28EF\u28C9\u28C1\u28F4\u28FF\u287F\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28E7\u2840\u288B\u281D\u2803\u28C0\u28F4\u281F\u283B\u289B\u28ED\u287F\u281A\u280B\u2809\u2801\u2812\u282B\u28D9\u283B\u28FF\u28FF\u28FF\u285F\u28F1\u28FF\u280B\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2808\u281B\u281B\u281B\u280B\u28F0\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28FF\u28F7\u28E4\u2876\u281F\u2809\u2800\u2880\u28F4\u281F\u2801\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2808\u2833\u28DC\u28BF\u28FF\u283F\u280B\u2801\u2800\u2800\u2800\\n\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28F0\u28FF\u28FF\u28FF\u28FF\u28FF\u283F\u28FF\u28AF\u287E\u280B\u2800\u2800\u2880\u2854\u2880\u287E\u2803\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2818\u283A\u2805\u2800\u2800\u2800\u2800\u2800\u2800"}
@@ -4078,7 +4078,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
4078
4078
  `),lang:fence.lang||void 0}),fence=null;continue}if(!fence){flush(),fence={mark:f[1],lang:f[2],body:[]};continue}}if(fence){fence.body.push(line);continue}let m2=line.match(MEDIA_LINE_RE)?.[1];if(m2){flush(),out.push({media:m2});continue}buf.push(line)}if(fence){let tail=[fence.mark+(fence.lang??""),...fence.body].join(`
4079
4079
  `),last=out[out.length-1];if(last&&"md"in last)last.md+=`
4080
4080
  `+tail;else buf.push(tail)}return flush(),out}var MediaChip=import_react34.memo((props)=>{let theme=useTheme().theme,[hover,setHover]=import_react34.useState(!1),kind=classify(props.path),badge={img:theme.accent,audio:theme.warning,video:theme.info,url:theme.primary,file:theme.secondary}[kind],click=props.onMouseDown??((e)=>{e.stopPropagation(),openFile(props.path)});return $jsx("box",{flexDirection:"row",height:1,onMouseDown:click,onMouseOver:()=>setHover(!0),onMouseOut:()=>setHover(!1),children:$jsxs("text",{children:[$jsxs("span",{bg:badge,fg:theme.background,children:[" ",kind," "]}),$jsxs("span",{bg:theme.backgroundElement,fg:theme.text,attributes:hover?TextAttributes.UNDERLINE:TextAttributes.NONE,children:[" ",basename4(props.path)," "]})]})})});var import_react36=__toESM(require_react_production(),1);var import_react35=__toESM(require_react_production(),1);var Ctx3=import_react35.createContext(null),DEFAULT_DURATION=3000,ToastProvider=({children})=>{let[items,setItems]=import_react35.useState([]),counter=import_react35.useRef(0),timers=import_react35.useRef(new Map);import_react35.useEffect(()=>()=>{for(let t2 of timers.current.values())clearTimeout(t2)},[]);let show=import_react35.useCallback((opts)=>{let id=++counter.current;setItems((prev)=>[...prev,{...opts,id}]);let dur2=opts.duration??DEFAULT_DURATION;timers.current.set(id,setTimeout(()=>{timers.current.delete(id),setItems((prev)=>prev.filter((t2)=>t2.id!==id))},dur2))},[]),error=import_react35.useCallback((err)=>{show({variant:"error",title:"Error",message:err.message})},[show]),value=import_react35.useMemo(()=>({show,error}),[show,error]);return $jsxs(Ctx3.Provider,{value,children:[children,items.length>0?$jsx(ToastOverlay,{items}):null]})},ToastOverlay=({items})=>{let theme=useTheme().theme,color=(variant)=>{switch(variant){case"error":return theme.error;case"warning":return theme.warning;case"success":return theme.success;default:return theme.info}};return $jsx("box",{position:"absolute",top:2,right:2,flexDirection:"column",gap:1,zIndex:200,maxWidth:60,children:items.map((item)=>$jsxs("box",{backgroundColor:theme.backgroundPanel,border:["left"],borderStyle:"single",borderColor:color(item.variant),paddingLeft:1,paddingRight:1,flexDirection:"column",children:[item.title?$jsx("text",{fg:theme.text,children:$jsx("strong",{children:item.title})}):null,$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:item.message}),item.action?$jsx("box",{height:1,marginTop:0,onMouseDown:item.action.run,children:$jsx("text",{fg:color(item.variant),children:$jsx("u",{children:item.action.label})})}):null]},item.id))})},useToast=makeUse(Ctx3,"useToast");var FILETYPE={ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",py:"python",rb:"ruby",rs:"rust",sh:"bash",shell:"bash",yml:"yaml",md:"markdown"},CodeBlock=import_react36.memo((props)=>{let{theme,syntaxStyle}=useTheme(),toast=useToast(),[hover,setHover]=import_react36.useState(!1),ft=props.lang?FILETYPE[props.lang.toLowerCase()]??props.lang.toLowerCase():void 0,lines2=props.code.split(`
4081
- `).length,onCopy=()=>{copy(props.code),toast.show({variant:"success",message:`Copied ${lines2} line${lines2===1?"":"s"}`})};return $jsxs("box",{flexDirection:"column",marginTop:1,border:["left"],borderColor:theme.border,customBorderChars:LEFT_BAR,backgroundColor:theme.backgroundPanel,paddingLeft:1,children:[$jsxs("box",{flexDirection:"row",height:1,backgroundColor:theme.backgroundElement,onMouseDown:onCopy,onMouseOver:()=>setHover(!0),onMouseOut:()=>setHover(!1),children:[$jsx("box",{flexGrow:1,paddingLeft:1,children:$jsx("text",{fg:theme.textMuted,children:props.lang||"text"})}),$jsx("box",{paddingRight:1,children:$jsx("text",{fg:hover?theme.accent:theme.textMuted,children:hover?"\u29C9 copy":`${lines2} ln`})})]}),$jsx("box",{paddingX:1,paddingY:ft?0:1,children:ft?$jsx("code",{content:props.code,filetype:ft,syntaxStyle,fg:theme.text,wrapMode:"none",streaming:props.streaming}):$jsx("text",{fg:theme.text,children:props.code})})]})});var import_react37=__toESM(require_react_production(),1);function digit(name){let n=parseInt(name,10);return Number.isFinite(n)?n:null}var Frame=(p)=>{let theme=useTheme().theme;return $jsx("box",{flexDirection:"column",border:["left"],borderColor:p.tint,customBorderChars:LEFT_BAR,backgroundColor:theme.backgroundPanel,marginBottom:1,children:p.children})},Pill=(p)=>{let theme=useTheme().theme;return $jsx("box",{height:1,paddingX:1,backgroundColor:p.on?theme.primary:void 0,onMouseDown:p.onPick,children:$jsxs("text",{children:[$jsxs("span",{fg:p.on?theme.background:theme.textMuted,children:[p.hot," "]}),$jsx("span",{fg:p.on?theme.background:theme.text,children:p.label})]})})},CHOICES=["once","session","always","deny"],LABELS={once:"Allow once",session:"Allow this session",always:"Always allow",deny:"Deny"},Approval=import_react37.forwardRef((p,ref)=>{let theme=useTheme().theme,gw=useGateway(),[sel,setSel]=import_react37.useState(0),done=import_react37.useRef(!1),send=(c)=>{if(done.current)return;done.current=!0,gw.request("approval.respond",{choice:c}).catch(()=>{}),p.onAnswer(LABELS[c],c!=="deny")};return import_react37.useImperativeHandle(ref,()=>({masked:!1,feed:(key2)=>{if(key2.name==="left"||key2.name==="h")return setSel((s)=>(s+CHOICES.length-1)%CHOICES.length),!0;if(key2.name==="right"||key2.name==="l")return setSel((s)=>(s+1)%CHOICES.length),!0;if(key2.name==="return")return send(CHOICES[sel]),!0;if(key2.name==="escape")return send("deny"),!0;let n=digit(key2.name);if(n!==null&&n>=1&&n<=CHOICES.length)return send(CHOICES[n-1]),!0;return!1}}),[sel]),$jsxs(Frame,{tint:theme.warning,children:[$jsxs("box",{flexDirection:"column",gap:1,paddingLeft:1,paddingRight:2,paddingY:1,children:[$jsxs("box",{flexDirection:"row",gap:1,height:1,children:[$jsx("text",{fg:theme.warning,children:"\u25B3"}),$jsx("text",{fg:theme.text,children:"Permission required"})]}),$jsxs("box",{flexDirection:"row",gap:1,paddingLeft:2,minHeight:1,children:[$jsx("text",{fg:theme.textMuted,children:"#"}),$jsx("text",{fg:theme.text,wrapMode:"word",children:p.req.description||"Shell command"})]}),$jsx("box",{paddingLeft:2,minHeight:1,children:$jsxs("text",{fg:theme.text,wrapMode:"word",children:["$ ",p.req.command]})}),p.req.pattern_keys?.length?$jsx("box",{paddingLeft:2,minHeight:1,children:$jsxs("text",{fg:theme.textMuted,wrapMode:"word",children:["matched: ",p.req.pattern_keys.join(", ")]})}):null]}),$jsxs("box",{flexDirection:"row",gap:2,flexShrink:0,paddingX:2,paddingY:1,backgroundColor:theme.backgroundElement,children:[CHOICES.map((c,i)=>$jsx(Pill,{on:sel===i,hot:String(i+1),label:LABELS[c],onPick:()=>send(c)},c)),$jsx("box",{flexGrow:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2190/\u2192 \xB7 enter \xB7 esc deny"})})]})]})}),Clarify=import_react37.forwardRef((p,ref)=>{let theme=useTheme().theme,gw=useGateway(),choices=p.req.choices??[],[sel,setSel]=import_react37.useState(0),[typing,setTyping]=import_react37.useState(choices.length===0),[custom,setCustom]=import_react37.useState(""),done=import_react37.useRef(!1),send=(answer)=>{if(done.current)return;done.current=!0,gw.request("clarify.respond",{request_id:p.req.request_id,answer}).catch(()=>{}),p.onAnswer(answer||"(cancelled)",answer!=="")};import_react37.useImperativeHandle(ref,()=>({masked:typing,feed:(key2)=>{if(typing){if(key2.name==="escape"){if(choices.length)return setTyping(!1),!0;return send(""),!0}return!1}if(key2.name==="escape")return send(""),!0;if(key2.name==="up")return setSel((s)=>Math.max(0,s-1)),!0;if(key2.name==="down")return setSel((s)=>Math.min(choices.length,s+1)),!0;if(key2.name==="return"){if(sel===choices.length)return setTyping(!0),!0;let c=choices[sel];if(c)send(c);return!0}let n=digit(key2.name);if(n!==null&&n>=1&&n<=choices.length)return send(choices[n-1]),!0;return!1}}),[typing,sel,choices]);let head=$jsx("box",{minHeight:1,children:$jsxs("text",{wrapMode:"word",children:[$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:"ask "})}),$jsx("span",{fg:theme.text,children:$jsx("strong",{children:p.req.question})})]})});return $jsx(Frame,{tint:theme.accent,children:$jsxs("box",{flexDirection:"column",paddingLeft:1,paddingRight:2,paddingY:1,children:[head,$jsx("box",{height:1}),typing?$jsxs($Fragment2,{children:[$jsxs("box",{flexDirection:"row",height:1,children:[$jsx("text",{fg:theme.textMuted,children:"> "}),$jsx("input",{value:custom,onInput:setCustom,onSubmit:()=>send(custom),focused:!0,flexGrow:1,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement})]}),$jsxs("text",{fg:theme.textMuted,children:["Enter send \xB7 Esc ",choices.length?"back":"cancel"]})]}):$jsxs($Fragment2,{children:[[...choices,"Other (type your answer)"].map((c,i)=>$jsx("box",{height:1,onMouseDown:()=>i===choices.length?setTyping(!0):send(choices[i]),children:$jsxs("text",{fg:sel===i?theme.text:theme.textMuted,children:[sel===i?"\u25B8 ":" ",i+1,". ",c]})},i)),$jsx("box",{height:1}),$jsxs("text",{fg:theme.textMuted,children:["\u2191/\u2193 \xB7 Enter \xB7 1-",choices.length," \xB7 Esc cancel"]})]})]})})}),Masked=import_react37.forwardRef((p,ref)=>{let theme=useTheme().theme,[value,setValue]=import_react37.useState(""),done=import_react37.useRef(!1),go=(v2)=>{if(done.current)return;done.current=!0,p.onSubmit(v2),p.onAnswer(v2?"(provided)":"(cancelled)",v2!=="")};return import_react37.useImperativeHandle(ref,()=>({masked:!0,feed:(key2)=>{if(key2.name==="escape")return go(""),!0;return!1}}),[]),$jsx(Frame,{tint:theme.warning,children:$jsxs("box",{flexDirection:"column",paddingLeft:1,paddingRight:2,paddingY:1,children:[$jsx("text",{fg:theme.warning,children:$jsx("strong",{children:p.title})}),$jsx("text",{fg:theme.text,children:p.note}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"row",height:1,position:"relative",children:[$jsx("text",{fg:theme.textMuted,children:"> "}),$jsx("input",{value,onInput:setValue,onSubmit:()=>go(value),focused:!0,flexGrow:1,textColor:theme.backgroundElement,cursorColor:theme.accent,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement}),$jsx("box",{position:"absolute",left:2,top:0,height:1,children:$jsx("text",{fg:theme.text,bg:theme.backgroundElement,children:"\u2022".repeat(value.length)})})]}),$jsx("text",{fg:theme.textMuted,children:"Enter submit \xB7 Esc cancel"})]})})}),Outcome=import_react37.memo(({part})=>{let theme=useTheme().theme,a=part.answered,glyph=a.ok?"\u2713":"\u2717",fg2=a.ok?theme.success:theme.error,what=part.variant==="approval"?a.label:part.variant==="clarify"?`chose: ${a.label}`:part.variant==="sudo"?`sudo ${a.label}`:`${part.req.env_var??"secret"} ${a.label}`;return $jsx("box",{height:1,paddingLeft:3,marginBottom:1,children:$jsxs("text",{children:[$jsxs("span",{fg:fg2,children:[glyph," "]}),$jsx("span",{fg:theme.textMuted,children:what})]})})}),PromptCard=import_react37.memo(import_react37.forwardRef((p,ref)=>{let gw=useGateway();if(p.part.answered)return $jsx(Outcome,{part:p.part});let answer=(label,ok)=>p.onAnswer(p.part.id,label,ok),req=p.part.req;if(req.variant==="approval")return $jsx(Approval,{ref,req,onAnswer:answer});if(req.variant==="clarify")return $jsx(Clarify,{ref,req,onAnswer:answer});if(req.variant==="sudo")return $jsx(Masked,{ref,title:"\uD83D\uDD12 Sudo required",note:"Enter your password to elevate privileges.",onSubmit:(v2)=>void gw.request("sudo.respond",{request_id:req.request_id,password:v2}).catch(()=>{}),onAnswer:answer});return $jsx(Masked,{ref,title:`\uD83D\uDD11 Secret: ${req.env_var}`,note:req.prompt,onSubmit:(v2)=>void gw.request("secret.respond",{request_id:req.request_id,value:v2}).catch(()=>{}),onAnswer:answer})}));function pending(messages){for(let i=messages.length-1;i>=0;i--){let m2=messages[i];if(m2.role!=="assistant")continue;for(let j2=m2.parts.length-1;j2>=0;j2--){let part=m2.parts[j2];if(part.type==="prompt"&&!part.answered)return part}}return null}var import_react38=__toESM(require_react_production(),1);import{spawnSync}from"child_process";import{existsSync as existsSync7,statSync}from"fs";function parseChafaLine(line){let out=[],fg2=null,bg2=null,reverse2=!1,i=0,N2=line.length;while(i<N2){if(line.charCodeAt(i)===27&&line.charCodeAt(i+1)===91){let end=line.indexOf("m",i+2);if(end<0){i=N2;break}let params=line.slice(i+2,end).split(";").map((x2)=>parseInt(x2,10)||0),p=0;while(p<params.length){let n=params[p];if(n===0){fg2=null,bg2=null,reverse2=!1,p++;continue}if(n===7){reverse2=!0,p++;continue}if(n===27){reverse2=!1,p++;continue}if(n===38&&params[p+1]===2){fg2={r:params[p+2]|0,g:params[p+3]|0,b:params[p+4]|0},p+=5;continue}if(n===48&&params[p+1]===2){bg2={r:params[p+2]|0,g:params[p+3]|0,b:params[p+4]|0},p+=5;continue}if(n===39){fg2=null,p++;continue}if(n===49){bg2=null,p++;continue}p++}i=end+1;continue}let cp=line.codePointAt(i),ch=String.fromCodePoint(cp);i+=ch.length;let efg=reverse2?bg2:fg2,ebg=reverse2?fg2:bg2;out.push({ch,fg:efg,bg:ebg})}return out}function parseChafa(text2){return text2.split(`
4081
+ `).length,onCopy=()=>{copy(props.code),toast.show({variant:"success",message:`Copied ${lines2} line${lines2===1?"":"s"}`})};return $jsxs("box",{flexDirection:"column",marginTop:1,border:["left"],borderColor:theme.border,customBorderChars:LEFT_BAR,backgroundColor:theme.backgroundPanel,paddingLeft:1,children:[$jsxs("box",{flexDirection:"row",height:1,backgroundColor:theme.backgroundElement,onMouseDown:onCopy,onMouseOver:()=>setHover(!0),onMouseOut:()=>setHover(!1),children:[$jsx("box",{flexGrow:1,paddingLeft:1,children:$jsx("text",{fg:theme.textMuted,children:props.lang||"text"})}),$jsx("box",{paddingRight:1,children:$jsx("text",{fg:hover?theme.accent:theme.textMuted,children:hover?"\u29C9 copy":`${lines2} ln`})})]}),$jsx("box",{paddingX:1,paddingY:ft?0:1,children:ft?$jsx("code",{content:props.code,filetype:ft,syntaxStyle,fg:theme.text,wrapMode:"none",streaming:props.streaming}):$jsx("text",{fg:theme.text,children:props.code})})]})});var import_react37=__toESM(require_react_production(),1);function digit(name){let n=parseInt(name,10);return Number.isFinite(n)?n:null}var Frame=(p)=>{let theme=useTheme().theme;return $jsx("box",{flexDirection:"column",border:["left"],borderColor:p.tint,customBorderChars:LEFT_BAR,backgroundColor:theme.backgroundPanel,marginBottom:1,children:p.children})},Pill=(p)=>{let theme=useTheme().theme;return $jsx("box",{height:1,paddingX:1,backgroundColor:p.on?theme.primary:void 0,onMouseDown:p.onPick,children:$jsxs("text",{children:[$jsxs("span",{fg:p.on?theme.background:theme.textMuted,children:[p.hot," "]}),$jsx("span",{fg:p.on?theme.background:theme.text,children:p.label})]})})},CHOICES=["once","session","always","deny"],LABELS={once:"Allow once",session:"Allow this session",always:"Always allow",deny:"Deny"},Approval=import_react37.forwardRef((p,ref)=>{let theme=useTheme().theme,gw=useGateway(),[sel,setSel]=import_react37.useState(0),done=import_react37.useRef(!1),send=(c)=>{if(done.current)return;done.current=!0,gw.request("approval.respond",{choice:c}).catch(()=>{}),p.onAnswer(LABELS[c],c!=="deny")};return import_react37.useImperativeHandle(ref,()=>({masked:!1,feed:(key2)=>{if(key2.name==="left"||key2.name==="h")return setSel((s)=>(s+CHOICES.length-1)%CHOICES.length),!0;if(key2.name==="right"||key2.name==="l")return setSel((s)=>(s+1)%CHOICES.length),!0;if(key2.name==="return")return send(CHOICES[sel]),!0;if(key2.name==="escape")return send("deny"),!0;let n=digit(key2.name);if(n!==null&&n>=1&&n<=CHOICES.length)return send(CHOICES[n-1]),!0;return!1}}),[sel]),$jsxs(Frame,{tint:theme.warning,children:[$jsxs("box",{flexDirection:"column",gap:1,paddingLeft:1,paddingRight:2,paddingY:1,children:[$jsxs("box",{flexDirection:"row",gap:1,height:1,children:[$jsx("text",{fg:theme.warning,children:"\u25B3"}),$jsx("text",{fg:theme.text,children:"Permission required"})]}),$jsxs("box",{flexDirection:"row",gap:1,paddingLeft:2,minHeight:1,children:[$jsx("text",{fg:theme.textMuted,children:"#"}),$jsx("text",{fg:theme.text,wrapMode:"word",children:p.req.description||"Shell command"})]}),$jsx("box",{paddingLeft:2,minHeight:1,children:$jsxs("text",{fg:theme.text,wrapMode:"word",children:["$ ",p.req.command]})}),p.req.pattern_keys?.length?$jsx("box",{paddingLeft:2,minHeight:1,children:$jsxs("text",{fg:theme.textMuted,wrapMode:"word",children:["matched: ",p.req.pattern_keys.join(", ")]})}):null]}),$jsxs("box",{flexDirection:"row",gap:2,flexShrink:0,paddingX:2,paddingY:1,backgroundColor:theme.backgroundElement,children:[CHOICES.map((c,i)=>$jsx(Pill,{on:sel===i,hot:String(i+1),label:LABELS[c],onPick:()=>send(c)},c)),$jsx("box",{flexGrow:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2190/\u2192 \xB7 enter \xB7 esc deny"})})]})]})}),Clarify=import_react37.forwardRef((p,ref)=>{let theme=useTheme().theme,gw=useGateway(),choices=p.req.choices??[],[sel,setSel]=import_react37.useState(0),[typing,setTyping]=import_react37.useState(choices.length===0),[custom,setCustom]=import_react37.useState(""),done=import_react37.useRef(!1),send=(answer)=>{if(done.current)return;done.current=!0,gw.request("clarify.respond",{request_id:p.req.request_id,answer}).catch(()=>{}),p.onAnswer(answer||"(cancelled)",answer!=="")};import_react37.useImperativeHandle(ref,()=>({masked:typing,feed:(key2)=>{if(typing){if(key2.name==="escape"){if(choices.length)return setTyping(!1),!0;return send(""),!0}return!1}if(key2.name==="escape")return send(""),!0;if(key2.name==="up")return setSel((s)=>Math.max(0,s-1)),!0;if(key2.name==="down")return setSel((s)=>Math.min(choices.length,s+1)),!0;if(key2.name==="return"){if(sel===choices.length)return setTyping(!0),!0;let c=choices[sel];if(c)send(c);return!0}let n=digit(key2.name);if(n!==null&&n>=1&&n<=choices.length)return send(choices[n-1]),!0;return!1}}),[typing,sel,choices]);let head=$jsx("box",{minHeight:1,children:$jsxs("text",{wrapMode:"word",children:[$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:"ask "})}),$jsx("span",{fg:theme.text,children:$jsx("strong",{children:p.req.question})})]})});return $jsx(Frame,{tint:theme.accent,children:$jsxs("box",{flexDirection:"column",paddingLeft:1,paddingRight:2,paddingY:1,children:[head,$jsx("box",{height:1}),typing?$jsxs($Fragment,{children:[$jsxs("box",{flexDirection:"row",height:1,children:[$jsx("text",{fg:theme.textMuted,children:"> "}),$jsx("input",{value:custom,onInput:setCustom,onSubmit:()=>send(custom),focused:!0,flexGrow:1,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement})]}),$jsxs("text",{fg:theme.textMuted,children:["Enter send \xB7 Esc ",choices.length?"back":"cancel"]})]}):$jsxs($Fragment,{children:[[...choices,"Other (type your answer)"].map((c,i)=>$jsx("box",{height:1,onMouseDown:()=>i===choices.length?setTyping(!0):send(choices[i]),children:$jsxs("text",{fg:sel===i?theme.text:theme.textMuted,children:[sel===i?"\u25B8 ":" ",i+1,". ",c]})},i)),$jsx("box",{height:1}),$jsxs("text",{fg:theme.textMuted,children:["\u2191/\u2193 \xB7 Enter \xB7 1-",choices.length," \xB7 Esc cancel"]})]})]})})}),Masked=import_react37.forwardRef((p,ref)=>{let theme=useTheme().theme,[value,setValue]=import_react37.useState(""),done=import_react37.useRef(!1),go=(v2)=>{if(done.current)return;done.current=!0,p.onSubmit(v2),p.onAnswer(v2?"(provided)":"(cancelled)",v2!=="")};return import_react37.useImperativeHandle(ref,()=>({masked:!0,feed:(key2)=>{if(key2.name==="escape")return go(""),!0;return!1}}),[]),$jsx(Frame,{tint:theme.warning,children:$jsxs("box",{flexDirection:"column",paddingLeft:1,paddingRight:2,paddingY:1,children:[$jsx("text",{fg:theme.warning,children:$jsx("strong",{children:p.title})}),$jsx("text",{fg:theme.text,children:p.note}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"row",height:1,position:"relative",children:[$jsx("text",{fg:theme.textMuted,children:"> "}),$jsx("input",{value,onInput:setValue,onSubmit:()=>go(value),focused:!0,flexGrow:1,textColor:theme.backgroundElement,cursorColor:theme.accent,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement}),$jsx("box",{position:"absolute",left:2,top:0,height:1,children:$jsx("text",{fg:theme.text,bg:theme.backgroundElement,children:"\u2022".repeat(value.length)})})]}),$jsx("text",{fg:theme.textMuted,children:"Enter submit \xB7 Esc cancel"})]})})}),Outcome=import_react37.memo(({part})=>{let theme=useTheme().theme,a=part.answered,glyph=a.ok?"\u2713":"\u2717",fg2=a.ok?theme.success:theme.error,what=part.variant==="approval"?a.label:part.variant==="clarify"?`chose: ${a.label}`:part.variant==="sudo"?`sudo ${a.label}`:`${part.req.env_var??"secret"} ${a.label}`;return $jsx("box",{height:1,paddingLeft:3,marginBottom:1,children:$jsxs("text",{children:[$jsxs("span",{fg:fg2,children:[glyph," "]}),$jsx("span",{fg:theme.textMuted,children:what})]})})}),PromptCard=import_react37.memo(import_react37.forwardRef((p,ref)=>{let gw=useGateway();if(p.part.answered)return $jsx(Outcome,{part:p.part});let answer=(label,ok)=>p.onAnswer(p.part.id,label,ok),req=p.part.req;if(req.variant==="approval")return $jsx(Approval,{ref,req,onAnswer:answer});if(req.variant==="clarify")return $jsx(Clarify,{ref,req,onAnswer:answer});if(req.variant==="sudo")return $jsx(Masked,{ref,title:"\uD83D\uDD12 Sudo required",note:"Enter your password to elevate privileges.",onSubmit:(v2)=>void gw.request("sudo.respond",{request_id:req.request_id,password:v2}).catch(()=>{}),onAnswer:answer});return $jsx(Masked,{ref,title:`\uD83D\uDD11 Secret: ${req.env_var}`,note:req.prompt,onSubmit:(v2)=>void gw.request("secret.respond",{request_id:req.request_id,value:v2}).catch(()=>{}),onAnswer:answer})}));function pending(messages){for(let i=messages.length-1;i>=0;i--){let m2=messages[i];if(m2.role!=="assistant")continue;for(let j2=m2.parts.length-1;j2>=0;j2--){let part=m2.parts[j2];if(part.type==="prompt"&&!part.answered)return part}}return null}var import_react38=__toESM(require_react_production(),1);import{spawnSync}from"child_process";import{existsSync as existsSync7,statSync}from"fs";function parseChafaLine(line){let out=[],fg2=null,bg2=null,reverse2=!1,i=0,N2=line.length;while(i<N2){if(line.charCodeAt(i)===27&&line.charCodeAt(i+1)===91){let end=line.indexOf("m",i+2);if(end<0){i=N2;break}let params=line.slice(i+2,end).split(";").map((x2)=>parseInt(x2,10)||0),p=0;while(p<params.length){let n=params[p];if(n===0){fg2=null,bg2=null,reverse2=!1,p++;continue}if(n===7){reverse2=!0,p++;continue}if(n===27){reverse2=!1,p++;continue}if(n===38&&params[p+1]===2){fg2={r:params[p+2]|0,g:params[p+3]|0,b:params[p+4]|0},p+=5;continue}if(n===48&&params[p+1]===2){bg2={r:params[p+2]|0,g:params[p+3]|0,b:params[p+4]|0},p+=5;continue}if(n===39){fg2=null,p++;continue}if(n===49){bg2=null,p++;continue}p++}i=end+1;continue}let cp=line.codePointAt(i),ch=String.fromCodePoint(cp);i+=ch.length;let efg=reverse2?bg2:fg2,ebg=reverse2?fg2:bg2;out.push({ch,fg:efg,bg:ebg})}return out}function parseChafa(text2){return text2.split(`
4082
4082
  `).filter((s)=>s.length>0).map(parseChafaLine)}function hex(c){if(!c)return;return`#${c.r.toString(16).padStart(2,"0")}${c.g.toString(16).padStart(2,"0")}${c.b.toString(16).padStart(2,"0")}`}var CHAFA_PATHS=["/usr/sbin/chafa","/usr/bin/chafa","/usr/local/bin/chafa","/opt/homebrew/bin/chafa","/home/linuxbrew/.linuxbrew/bin/chafa"],cachedBin=void 0;function chafaBin(){if(cachedBin!==void 0)return cachedBin;for(let p of CHAFA_PATHS)if(existsSync7(p))return cachedBin=p,p;return cachedBin=null,null}function resolveImage(path7){let full=path7.startsWith("~")?(process.env.HOME??"")+path7.slice(1):path7;return existsSync7(full)?full:null}var CACHE=new Map,CACHE_CAP=50;function cacheGet(k2){let v2=CACHE.get(k2);if(!v2)return;return CACHE.delete(k2),CACHE.set(k2,v2),v2}function cachePut(k2,v2){if(CACHE.size>=CACHE_CAP)CACHE.delete(CACHE.keys().next().value);CACHE.set(k2,v2)}function renderChafa(path7,width,height){let bin=chafaBin();if(!bin)return{err:"chafa not installed"};let full=resolveImage(path7);if(!full)return{err:`not found: ${path7}`};let mtime=0;try{mtime=statSync(full).mtimeMs|0}catch{}let h2=height??Math.max(6,Math.round(width/3)),key2=`${full}:${mtime}:${width}x${h2}`,cached2=cacheGet(key2);if(cached2)return{rows:cached2};let r=spawnSync(bin,[`--size=${width}x${h2}`,"--format=symbols","--symbols=block","--colors=full",full],{encoding:"utf8",timeout:5000});if(r.error)return{err:r.error.message};if(r.status!==0)return{err:(r.stderr||`chafa exit ${r.status}`).trim()};let rows2=parseChafa(r.stdout);return cachePut(key2,rows2),{rows:rows2}}var basename5=(p)=>p.split(/[/\\]/).pop()||p,ChafaImage=import_react38.memo(({path:path7,width})=>{let theme=useTheme().theme,[collapsed,setCollapsed]=import_react38.useState(!1),w2=Math.max(20,Math.min(80,width??60)),hasChafa=chafaBin()!==null,result=import_react38.useMemo(()=>hasChafa?renderChafa(path7,w2):{err:"chafa not installed"},[path7,w2,hasChafa]);if(!hasChafa||"err"in result)return $jsx(MediaChip,{path:path7});if(collapsed)return $jsx(MediaChip,{path:path7,onMouseDown:(e)=>{e.stopPropagation(),setCollapsed(!1)}});return $jsxs("box",{flexDirection:"column",marginTop:1,children:[$jsx("box",{flexDirection:"column",onMouseDown:(e)=>{e.stopPropagation(),setCollapsed(!0)},children:result.rows.map((row,i)=>$jsx("text",{children:row.map((c,j2)=>$jsx("span",{fg:hex(c.fg),bg:hex(c.bg),children:c.ch},j2))},i))}),$jsx("box",{height:1,onMouseDown:(e)=>{e.stopPropagation(),openFile(path7)},children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:" "}),$jsx("span",{fg:theme.accent,children:"\u25C9 "}),$jsx("span",{fg:theme.text,children:basename5(path7)}),$jsx("span",{fg:theme.textMuted,children:" click image to collapse \xB7 click name to open"})]})})]})});var import_react39=__toESM(require_react_production(),1);var SKINS=["default","ares","mono","slate","daylight","warm-lightmode","poseidon","sisyphus","charizard"],DEFAULT={agentName:"Hermes"},Ctx4=import_react39.createContext(DEFAULT);function deriveSkin(skin){let name=skin?.branding?.agent_name?.trim();return{skin:skin??void 0,agentName:name||"Hermes"}}var SkinProvider=import_react39.memo(({value,children})=>$jsx(Ctx4.Provider,{value,children}));function useSkin(){return import_react39.useContext(Ctx4)}var SYMBOLS={"\\alpha":"\u03B1","\\beta":"\u03B2","\\gamma":"\u03B3","\\delta":"\u03B4","\\epsilon":"\u03B5","\\varepsilon":"\u03B5","\\zeta":"\u03B6","\\eta":"\u03B7","\\theta":"\u03B8","\\vartheta":"\u03D1","\\iota":"\u03B9","\\kappa":"\u03BA","\\lambda":"\u03BB","\\mu":"\u03BC","\\nu":"\u03BD","\\xi":"\u03BE","\\pi":"\u03C0","\\varpi":"\u03D6","\\rho":"\u03C1","\\varrho":"\u03F1","\\sigma":"\u03C3","\\varsigma":"\u03C2","\\tau":"\u03C4","\\upsilon":"\u03C5","\\phi":"\u03C6","\\varphi":"\u03C6","\\chi":"\u03C7","\\psi":"\u03C8","\\omega":"\u03C9","\\Gamma":"\u0393","\\Delta":"\u0394","\\Theta":"\u0398","\\Lambda":"\u039B","\\Xi":"\u039E","\\Pi":"\u03A0","\\Sigma":"\u03A3","\\Upsilon":"\u03A5","\\Phi":"\u03A6","\\Psi":"\u03A8","\\Omega":"\u03A9","\\sum":"\u2211","\\prod":"\u220F","\\coprod":"\u2210","\\int":"\u222B","\\iint":"\u222C","\\iiint":"\u222D","\\oint":"\u222E","\\bigcup":"\u22C3","\\bigcap":"\u22C2","\\bigvee":"\u22C1","\\bigwedge":"\u22C0","\\bigoplus":"\u2A01","\\bigotimes":"\u2A02","\\partial":"\u2202","\\nabla":"\u2207","\\sqrt":"\u221A","\\emptyset":"\u2205","\\varnothing":"\u2205","\\infty":"\u221E","\\in":"\u2208","\\notin":"\u2209","\\ni":"\u220B","\\subset":"\u2282","\\supset":"\u2283","\\subseteq":"\u2286","\\supseteq":"\u2287","\\subsetneq":"\u228A","\\supsetneq":"\u228B","\\cup":"\u222A","\\cap":"\u2229","\\setminus":"\u2216","\\complement":"\u2201","\\forall":"\u2200","\\exists":"\u2203","\\nexists":"\u2204","\\land":"\u2227","\\lor":"\u2228","\\lnot":"\xAC","\\neg":"\xAC","\\therefore":"\u2234","\\because":"\u2235","\\le":"\u2264","\\leq":"\u2264","\\ge":"\u2265","\\geq":"\u2265","\\ne":"\u2260","\\neq":"\u2260","\\ll":"\u226A","\\gg":"\u226B","\\approx":"\u2248","\\equiv":"\u2261","\\cong":"\u2245","\\sim":"\u223C","\\simeq":"\u2243","\\propto":"\u221D","\\perp":"\u22A5","\\parallel":"\u2225","\\models":"\u22A8","\\vdash":"\u22A2","\\mid":"\u2223","\\nmid":"\u2224","\\divides":"\u2223","\\blacksquare":"\u25A0","\\square":"\u25A1","\\Box":"\u25A1","\\qed":"\u220E","\\bigstar":"\u2605","\\bmod":"mod","\\mod":"mod","\\langle":"\u27E8","\\rangle":"\u27E9","\\lceil":"\u2308","\\rceil":"\u2309","\\lfloor":"\u230A","\\rfloor":"\u230B","\\|":"\u2016","\\to":"\u2192","\\rightarrow":"\u2192","\\leftarrow":"\u2190","\\leftrightarrow":"\u2194","\\Rightarrow":"\u21D2","\\Leftarrow":"\u21D0","\\Leftrightarrow":"\u21D4","\\implies":"\u27F9","\\impliedby":"\u27F8","\\iff":"\u27FA","\\mapsto":"\u21A6","\\hookrightarrow":"\u21AA","\\hookleftarrow":"\u21A9","\\uparrow":"\u2191","\\downarrow":"\u2193","\\updownarrow":"\u2195","\\cdot":"\u22C5","\\cdots":"\u22EF","\\ldots":"\u2026","\\dots":"\u2026","\\dotsb":"\u2026","\\dotsc":"\u2026","\\vdots":"\u22EE","\\ddots":"\u22F1","\\times":"\xD7","\\div":"\xF7","\\pm":"\xB1","\\mp":"\u2213","\\circ":"\u2218","\\bullet":"\u2022","\\star":"\u22C6","\\ast":"\u2217","\\oplus":"\u2295","\\ominus":"\u2296","\\otimes":"\u2297","\\odot":"\u2299","\\diamond":"\u22C4","\\angle":"\u2220","\\triangle":"\u25B3","\\,":" ","\\;":" ","\\:":" ","\\!":"","\\ ":" ","\\quad":" ","\\qquad":" ","\\sin":"sin","\\cos":"cos","\\tan":"tan","\\cot":"cot","\\sec":"sec","\\csc":"csc","\\arcsin":"arcsin","\\arccos":"arccos","\\arctan":"arctan","\\sinh":"sinh","\\cosh":"cosh","\\tanh":"tanh","\\log":"log","\\ln":"ln","\\exp":"exp","\\det":"det","\\dim":"dim","\\ker":"ker","\\lim":"lim","\\liminf":"liminf","\\limsup":"limsup","\\sup":"sup","\\inf":"inf","\\max":"max","\\min":"min","\\arg":"arg","\\gcd":"gcd","\\&":"&","\\%":"%","\\$":"$","\\#":"#","\\_":"_","\\{":"{","\\}":"}"},BB={A:"\uD835\uDD38",B:"\uD835\uDD39",C:"\u2102",D:"\uD835\uDD3B",E:"\uD835\uDD3C",F:"\uD835\uDD3D",G:"\uD835\uDD3E",H:"\u210D",I:"\uD835\uDD40",J:"\uD835\uDD41",K:"\uD835\uDD42",L:"\uD835\uDD43",M:"\uD835\uDD44",N:"\u2115",O:"\uD835\uDD46",P:"\u2119",Q:"\u211A",R:"\u211D",S:"\uD835\uDD4A",T:"\uD835\uDD4B",U:"\uD835\uDD4C",V:"\uD835\uDD4D",W:"\uD835\uDD4E",X:"\uD835\uDD4F",Y:"\uD835\uDD50",Z:"\u2124"},CAL={A:"\uD835\uDC9C",B:"\u212C",C:"\uD835\uDC9E",D:"\uD835\uDC9F",E:"\u2130",F:"\u2131",G:"\uD835\uDCA2",H:"\u210B",I:"\u2110",J:"\uD835\uDCA5",K:"\uD835\uDCA6",L:"\u2112",M:"\u2133",N:"\uD835\uDCA9",O:"\uD835\uDCAA",P:"\uD835\uDCAB",Q:"\uD835\uDCAC",R:"\u211B",S:"\uD835\uDCAE",T:"\uD835\uDCAF",U:"\uD835\uDCB0",V:"\uD835\uDCB1",W:"\uD835\uDCB2",X:"\uD835\uDCB3",Y:"\uD835\uDCB4",Z:"\uD835\uDCB5"},FRAK={A:"\uD835\uDD04",B:"\uD835\uDD05",C:"\u212D",D:"\uD835\uDD07",E:"\uD835\uDD08",F:"\uD835\uDD09",G:"\uD835\uDD0A",H:"\u210C",I:"\u2111",J:"\uD835\uDD0D",K:"\uD835\uDD0E",L:"\uD835\uDD0F",M:"\uD835\uDD10",N:"\uD835\uDD11",O:"\uD835\uDD12",P:"\uD835\uDD13",Q:"\uD835\uDD14",R:"\u211C",S:"\uD835\uDD16",T:"\uD835\uDD17",U:"\uD835\uDD18",V:"\uD835\uDD19",W:"\uD835\uDD1A",X:"\uD835\uDD1B",Y:"\uD835\uDD1C",Z:"\u2128"},SUPERSCRIPT={"0":"\u2070","1":"\xB9","2":"\xB2","3":"\xB3","4":"\u2074","5":"\u2075","6":"\u2076","7":"\u2077","8":"\u2078","9":"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",a:"\u1D43",b:"\u1D47",c:"\u1D9C",d:"\u1D48",e:"\u1D49",f:"\u1DA0",g:"\u1D4D",h:"\u02B0",i:"\u2071",j:"\u02B2",k:"\u1D4F",l:"\u02E1",m:"\u1D50",n:"\u207F",o:"\u1D52",p:"\u1D56",r:"\u02B3",s:"\u02E2",t:"\u1D57",u:"\u1D58",v:"\u1D5B",w:"\u02B7",x:"\u02E3",y:"\u02B8",z:"\u1DBB"},SUBSCRIPT={"0":"\u2080","1":"\u2081","2":"\u2082","3":"\u2083","4":"\u2084","5":"\u2085","6":"\u2086","7":"\u2087","8":"\u2088","9":"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",h:"\u2095",i:"\u1D62",j:"\u2C7C",k:"\u2096",l:"\u2097",m:"\u2098",n:"\u2099",o:"\u2092",p:"\u209A",r:"\u1D63",s:"\u209B",t:"\u209C",u:"\u1D64",v:"\u1D65",x:"\u2093"};var escapeRe=(s)=>s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),splitByEnding=(keys)=>{let letter=[],punct=[];for(let k2 of keys)if(/[A-Za-z]$/.test(k2))letter.push(k2);else punct.push(k2);return{letter,punct}},buildAlt=(cmds)=>cmds.sort((a,b2)=>b2.length-a.length).map(escapeRe).join("|"),{letter:LETTER_CMDS,punct:PUNCT_CMDS}=splitByEnding(Object.keys(SYMBOLS)),SYMBOL_LETTER_RE=new RegExp("(?:"+buildAlt(LETTER_CMDS)+")(?![A-Za-z])","g"),SYMBOL_PUNCT_RE=new RegExp("(?:"+buildAlt(PUNCT_CMDS)+")","g"),convertScript=(input,table,sigil)=>{let out="",allMapped=!0;for(let ch of input){let mapped=table[ch];if(!mapped){allMapped=!1;break}out+=mapped}if(allMapped)return out;let trimmed=input.trim();if([...trimmed].length===1)return`${sigil}${trimmed}`;return`${sigil}(${trimmed})`},readBraced=(s,start)=>{if(s[start]!=="{")return null;let depth=1,i=start+1;while(i<s.length&&depth>0){let c=s[i];if(c==="\\"&&i+1<s.length){i+=2;continue}if(c==="{")depth++;else if(c==="}")depth--;if(depth>0)i++}if(depth!==0)return null;return{content:s.slice(start+1,i),end:i+1}},replaceBracedCommand=(input,command,render)=>{let cmdLen=command.length,out="",i=0;while(i<input.length){let idx=input.indexOf(command,i);if(idx<0)return out+=input.slice(i),out;let after=input[idx+cmdLen];if(after&&/[A-Za-z]/.test(after)){out+=input.slice(i,idx+cmdLen),i=idx+cmdLen;continue}out+=input.slice(i,idx);let p=idx+cmdLen;while(input[p]===" "||input[p]==="\t")p++;let arg=readBraced(input,p);if(!arg){out+=input.slice(idx,p+1),i=p+1;continue}out+=render(replaceBracedCommand(arg.content,command,render)),i=arg.end}return out},replaceFracs=(input)=>{let out="",i=0;while(i<input.length){let idx=input.indexOf("\\frac",i);if(idx<0)return out+=input.slice(i),out;let after=input[idx+5];if(after&&/[A-Za-z]/.test(after)){out+=input.slice(i,idx+5),i=idx+5;continue}out+=input.slice(i,idx);let p=idx+5;while(input[p]===" "||input[p]==="\t")p++;let num2=readBraced(input,p);if(!num2){out+=input.slice(idx,p+1),i=p+1;continue}p=num2.end;while(input[p]===" "||input[p]==="\t")p++;let den=readBraced(input,p);if(!den){out+=input.slice(idx,p+1),i=p+1;continue}out+=`${wrapForFrac(replaceFracs(num2.content))}/${wrapForFrac(replaceFracs(den.content))}`,i=den.end}return out},wrapForFrac=(expr)=>{let trimmed=expr.trim();if(!trimmed)return trimmed;if(/^\(.*\)$/.test(trimmed))return trimmed;if(/[+\-/*]|\s/.test(trimmed))return`(${trimmed})`;return trimmed};function texToUnicode(input){let s=input;return s=s.replace(/\\mathbb\s*\{([A-Za-z])\}/g,(raw,c)=>BB[c]??raw),s=s.replace(/\\mathcal\s*\{([A-Za-z])\}/g,(raw,c)=>CAL[c]??raw),s=s.replace(/\\mathfrak\s*\{([A-Za-z])\}/g,(raw,c)=>FRAK[c]??raw),s=s.replace(/\\mathbf\s*\{([^{}]+)\}/g,(_2,c)=>c),s=s.replace(/\\mathit\s*\{([^{}]+)\}/g,(_2,c)=>c),s=s.replace(/\\mathrm\s*\{([^{}]+)\}/g,(_2,c)=>c),s=s.replace(/\\text\s*\{([^{}]+)\}/g,(_2,c)=>c),s=s.replace(/\\operatorname\s*\{([^{}]+)\}/g,(_2,c)=>c),s=s.replace(/\\overline\s*\{([^{}]+)\}/g,(_2,c)=>`${c}\u0305`),s=s.replace(/\\hat\s*\{([^{}]+)\}/g,(_2,c)=>`${c}\u0302`),s=s.replace(/\\bar\s*\{([^{}]+)\}/g,(_2,c)=>`${c}\u0304`),s=s.replace(/\\tilde\s*\{([^{}]+)\}/g,(_2,c)=>`${c}\u0303`),s=s.replace(/\\vec\s*\{([^{}]+)\}/g,(_2,c)=>`${c}\u20D7`),s=s.replace(/\\dot\s*\{([^{}]+)\}/g,(_2,c)=>`${c}\u0307`),s=s.replace(/\\ddot\s*\{([^{}]+)\}/g,(_2,c)=>`${c}\u0308`),s=replaceFracs(s),s=replaceBracedCommand(s,"\\boxed",(body)=>`**${body.trim()}**`),s=replaceBracedCommand(s,"\\fbox",(body)=>`**${body.trim()}**`),s=s.replace(/\\xrightarrow\s*\{([^{}]*)\}/g,(_2,label)=>`\u2500${label.trim()}\u2192`),s=s.replace(/\\xleftarrow\s*\{([^{}]*)\}/g,(_2,label)=>`\u2190${label.trim()}\u2500`),s=s.replace(/\\Longrightarrow/g,"\u27F9"),s=s.replace(/\\Longleftarrow/g,"\u27F8"),s=s.replace(/\\Longleftrightarrow/g,"\u27FA"),s=s.replace(/\s*\\pmod\s*\{([^{}]*)\}/g,(_2,p)=>` (mod ${p.trim()})`),s=s.replace(/\s*\\pod\s*\{([^{}]*)\}/g,(_2,p)=>` (${p.trim()})`),s=s.replace(/\s*\\tag\s*\{([^{}]*)\}/g,(_2,n)=>` (${n.trim()})`),s=s.replace(/\\(?:Bigg|bigg|Big|big)[lrm]?(?![A-Za-z])/g,""),s=s.replace(/\\(?:scriptscriptstyle|displaystyle|scriptstyle|textstyle|nolimits|limits)(?![A-Za-z])\s*/g,""),s=s.replace(/\\left(?![A-Za-z])\.?/g,""),s=s.replace(/\\right(?![A-Za-z])\.?/g,""),s=s.replace(SYMBOL_PUNCT_RE,(m2)=>SYMBOLS[m2]??m2),s=s.replace(SYMBOL_LETTER_RE,(m2)=>SYMBOLS[m2]??m2),s=s.replace(/\^\s*\{([^{}]+)\}/g,(_2,body)=>convertScript(body,SUPERSCRIPT,"^")),s=s.replace(/\^([A-Za-z0-9+\-=])/g,(raw,ch)=>SUPERSCRIPT[ch]??raw),s=s.replace(/_\s*\{([^{}]+)\}/g,(_2,body)=>convertScript(body,SUBSCRIPT,"_")),s=s.replace(/_([A-Za-z0-9+\-=])/g,(raw,ch)=>SUBSCRIPT[ch]??raw),s}var CODE_SPAN_RE=/(`{1,2})[^`\n]+?\1/g,MATH_SPAN_RE=new RegExp([String.raw`\$\$([^$]+?)\$\$`,String.raw`\\\[([\s\S]+?)\\\]`,String.raw`\\\(([^\n]+?)\\\)`,String.raw`(?<!\$)\$([^\s$](?:[^$\n]*?[^\s$])?)\$(?!\$)`].join("|"),"g");function mathify(md){if(!/[$\\]/.test(md))return md;let out="",i=0;CODE_SPAN_RE.lastIndex=0;for(let m2 of md.matchAll(CODE_SPAN_RE))out+=md.slice(i,m2.index).replace(MATH_SPAN_RE,(_2,a,b2,c,d2)=>texToUnicode(a??b2??c??d2)),out+=m2[0],i=m2.index+m2[0].length;return out+=md.slice(i).replace(MATH_SPAN_RE,(_2,a,b2,c,d2)=>texToUnicode(a??b2??c??d2)),out}function duration(ms2){if(ms2<1000)return`${ms2}ms`;let s=ms2/1000;if(s<60)return`${s.toFixed(1)}s`;return`${Math.floor(s/60)}m${Math.floor(s%60)}s`}function tokens2(n){if(n<1000)return String(n);if(n<1e6)return`${(n/1000).toFixed(1)}k`;return`${(n/1e6).toFixed(2)}M`}function extract(msg){return msg.parts.filter((p)=>p.type==="text").map((p)=>p.content).join("")}var trunc2=(s,max)=>s.length<=max?s:s.slice(0,max-1)+"\u2026",InlineDiff=import_react40.memo(({tool})=>{let theme=useTheme().theme,[open2,setOpen]=import_react40.useState(!1),diff=tool.diff??(isDiff(tool.result)?tool.result:void 0);if(!diff)return null;let lines2=diff.split(`
4083
4083
  `),add=lines2.filter((l)=>/^\+(?!\+\+)/.test(l)).length,del=lines2.filter((l)=>/^-(?!--)/.test(l)).length;return $jsxs("box",{flexDirection:"column",marginTop:1,onMouseDown:(e)=>{e.stopPropagation(),setOpen((o)=>!o)},children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:open2?"\u25BE ":"\u25B8 "}),$jsx("span",{fg:theme.text,children:trunc2(tool.preview??tool.name,50)}),$jsx("span",{fg:theme.textMuted,children:" "}),$jsxs("span",{fg:theme.success,children:["+",add]}),$jsx("span",{fg:theme.textMuted,children:" / "}),$jsxs("span",{fg:theme.error,children:["-",del]})]})}),open2?$jsx("box",{marginTop:1,children:$jsx(DiffBlock,{text:diff})}):null]})});function useClick(fn){let at=import_react40.useRef(null);return{onMouseDown:(e)=>{at.current={x:e.x,y:e.y}},onMouseUp:(e)=>{let a=at.current;if(at.current=null,fn&&a&&a.x===e.x&&a.y===e.y)fn()}}}var Gutter2=import_react40.memo(({color,glyph="\u2502",side="left",children})=>{let bar=$jsx("box",{width:2,flexShrink:0,border:[side],borderColor:color,customBorderChars:{topLeft:glyph,bottomLeft:glyph,vertical:glyph,topRight:glyph,bottomRight:glyph,horizontal:"",topT:"",bottomT:"",leftT:"",rightT:"",cross:""}});return $jsxs("box",{flexDirection:"row",children:[side==="left"?bar:null,$jsx("box",{flexDirection:"column",flexGrow:1,flexShrink:1,children}),side==="right"?bar:null]})}),MessageItem=import_react40.memo(({message,streaming,prompt,onRewind,onPick})=>{if(message.role==="system")return $jsx(SystemMessage,{message});if(message.role==="user")return $jsx(UserMessage,{message,onRewind});return $jsx(AssistantMessage,{message,streaming,prompt,onPick})}),SystemMessage=import_react40.memo(({message})=>{let theme=useTheme().theme;return $jsx("box",{marginBottom:1,children:$jsx(Gutter2,{color:theme.textMuted,glyph:"\xB7",children:$jsx("box",{minHeight:1,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:extract(message)})})})})}),UserMessage=import_react40.memo(({message,onRewind})=>{let theme=useTheme().theme,[hover,setHover]=import_react40.useState(!1),click=useClick(onRewind&&(()=>onRewind(message))),segs=import_react40.useMemo(()=>message.parts.map((p)=>p.type==="text"&&p.content?splitContent(p.content):null),[message.parts]);return $jsx("box",{flexDirection:"column",marginBottom:1,backgroundColor:hover?theme.backgroundElement:void 0,onMouseOver:()=>setHover(!0),onMouseOut:()=>setHover(!1),...click,children:$jsx(Gutter2,{color:theme.primary,side:"left",children:$jsx("box",{minHeight:1,flexDirection:"column",children:message.parts.map((p,i)=>{let seg=segs[i];if(!seg)return null;let k2=p.key??i;return seg.map((s,j2)=>{if("media"in s)return classify(s.media)==="img"?$jsx("box",{children:$jsx(ChafaImage,{path:s.media})},`${k2}-m${j2}`):$jsx("box",{marginTop:1,children:$jsx(MediaChip,{path:s.media})},`${k2}-m${j2}`);if("code"in s)return $jsx(CodeBlock,{code:s.code,lang:s.lang},`${k2}-c${j2}`);return $jsx("text",{fg:theme.text,wrapMode:"word",children:s.md},`${k2}-${j2}`)})})})})})}),AssistantMessage=import_react40.memo(({message,streaming,prompt,onPick})=>{let ctx=useTheme(),theme=ctx.theme,{agentName}=useSkin(),[hover,setHover]=import_react40.useState(!1),click=useClick(onPick&&(()=>onPick(message))),err=!!message.error,trail=message.parts.filter((p)=>p.type==="tool"||p.type==="prompt"),diffs=trail.filter((p)=>p.type==="tool"&&(!!p.diff||isDiff(p.result))),segs=import_react40.useMemo(()=>message.parts.map((p)=>p.type==="text"&&p.content?splitContent(p.content):null),[message.parts]),header=[agentName,message.usage?`${tokens2(message.usage.input)}\u2192${tokens2(message.usage.output)} tok`:null,message.duration?duration(message.duration):null].filter(Boolean).join(" \xB7 "),part=(p,i)=>{if(p.type==="prompt")return $jsx("box",{marginTop:1,onMouseDown:(e)=>e.stopPropagation(),children:$jsx(PromptCard,{part:p,ref:!p.answered?prompt?.ref:void 0,onAnswer:prompt?.onAnswer??(()=>{})})},`pr-${p.id}`);let seg=segs[i];if(!seg)return null;let k2=p.key??i,last=streaming&&p.streaming;return seg.map((s,j2)=>{let tail=last&&j2===seg.length-1;if("media"in s)return classify(s.media)==="img"?$jsx("box",{children:$jsx(ChafaImage,{path:s.media})},`${k2}-m${j2}`):$jsx("box",{marginTop:1,children:$jsx(MediaChip,{path:s.media})},`${k2}-m${j2}`);if("code"in s)return $jsx(CodeBlock,{code:s.code,lang:s.lang,streaming:tail},`${k2}-c${j2}`);return $jsx("box",{children:$jsx("markdown",{content:mathify(s.md),fg:theme.markdownText,syntaxStyle:ctx.syntaxStyle,streaming:tail})},`${k2}-${j2}`)})};return $jsx("box",{flexDirection:"column",marginBottom:1,backgroundColor:hover?theme.backgroundElement:void 0,onMouseOver:()=>setHover(!0),onMouseOut:()=>setHover(!1),...click,children:$jsxs(Gutter2,{color:err?theme.error:theme.accent,side:"right",children:[$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{flexGrow:1,children:$jsx("text",{fg:theme.textMuted,children:header})}),trail.length?$jsx("box",{children:$jsx("text",{fg:theme.textMuted,children:trunc2(trail.map((p)=>p.type==="tool"?p.name:"?").join(" \xB7 "),40)})}):null]}),message.parts.map(part),diffs.map((t2)=>$jsx(InlineDiff,{tool:t2},t2.id||t2.name)),err?$jsx(ErrorBlock,{text:message.error}):null]})})});var import_react41=__toESM(require_react_production(),1);var VERBS=["Thinking\u2026","Considering\u2026","Working\u2026","Pondering\u2026"],TypingIndicator=import_react41.memo((props)=>{let theme=useTheme().theme,[i,setI]=import_react41.useState(0);return import_react41.useEffect(()=>{if(props.label)return;let id=setInterval(()=>setI((n)=>(n+1)%VERBS.length),2200);return()=>clearInterval(id)},[props.label]),$jsx("box",{height:1,paddingLeft:1,children:$jsx(Spinner,{color:theme.info,label:props.label??VERBS[i]})})});var MessageList=import_react42.memo(({messages,streaming,prompt,onRewind,onPick})=>{let theme=useTheme().theme,style=import_react42.useMemo(()=>({viewportOptions:{backgroundColor:theme.background},scrollbarOptions:{trackOptions:{foregroundColor:theme.borderSubtle,backgroundColor:theme.background}}}),[theme]);if(messages.length===0)return $jsx("box",{flexGrow:1});let last=messages[messages.length-1],lastStreaming=streaming&&last?.role==="assistant",firstUser=messages.findIndex((m2)=>m2.role==="user");return $jsx("scrollbox",{flexGrow:1,scrollY:!0,stickyScroll:!0,stickyStart:"bottom",style,children:$jsxs("box",{flexDirection:"column",paddingBottom:1,children:[messages.map((msg,i)=>$jsxs("box",{flexDirection:"column",children:[msg.role==="user"&&i>firstUser?$jsx("box",{height:1,children:$jsx("text",{fg:theme.borderSubtle,children:"\u2500\u2500\u2500"})}):null,$jsx(MessageItem,{message:msg,streaming:lastStreaming&&i===messages.length-1,prompt,onRewind,onPick})]},msg.id)),streaming&&last?.role!=="assistant"&&$jsx(TypingIndicator,{})]})})});var Chat=import_react43.memo(({messages,streaming,prompt,cloud,cloudH,pick,onResize,onPick,onClose,onRewind})=>{let theme=useTheme().theme;return $jsxs("box",{flexGrow:1,flexDirection:"column",position:"relative",backgroundColor:theme.background,children:[$jsx(MessageList,{messages,streaming,prompt,onRewind,onPick}),cloud?$jsx("box",{position:"absolute",top:0,left:0,right:0,zIndex:1,children:$jsx(ThoughtCloud,{height:cloudH,messages,pick,onResize,onClose})}):null]})});var import_react60=__toESM(require_react_production(),1);var import_react52=__toESM(require_react_production(),1);init_sessions_db();import{existsSync as existsSync8}from"fs";import{homedir as homedir4}from"os";import{join as join7}from"path";var INLINE=process.env.HERM_IO_INLINE==="1",HOME2=()=>process.env.HERMES_HOME||join7(homedir4(),".hermes"),entry=()=>{let js=join7(import.meta.dirname,"db.worker.js");return new URL(existsSync8(js)?"./db.worker.js":"./db.worker.ts",import.meta.url)},state={w:null,seq:0,pending:new Map,inline:null},spawn=()=>{if(state.w)return state.w;let w2=new Worker(entry());return w2.onmessage=(e)=>{let r=e.data;state.pending.get(r.id)?.(r),state.pending.delete(r.id)},w2.onerror=(ev)=>{let err=`io worker: ${ev.message}`;for(let res of state.pending.values())res({id:-1,ok:!1,err});state.pending.clear()},state.w=w2},call=(fn,args)=>{if(INLINE)return state.inline??=Promise.resolve().then(() => (init_fns(),exports_fns)).then((m2)=>m2.FNS),state.inline.then((f)=>f[fn](...args));return new Promise((resolve4,reject)=>{let id=++state.seq;state.pending.set(id,(r)=>r.ok?resolve4(r.v):reject(Error(r.err))),spawn().postMessage({id,home:HOME2(),fn,args})})},io=new Proxy({},{get:(_2,fn)=>(...args)=>call(fn,args)}),warm=()=>{if(!INLINE)call("roots",[0])};var import_react44=__toESM(require_react_production(),1);var Ctx5=import_react44.createContext(null),BACKDROP=RGBA.fromInts(0,0,0,150),DialogProvider=({children:children2})=>{let renderer=useRenderer(),[stack,setStack]=import_react44.useState([]),gate=import_react44.useRef(!1),prev=import_react44.useRef(null),refocus=import_react44.useCallback(()=>{setTimeout(()=>{if(gate.current)return;let target=prev.current;if(!target||target.isDestroyed){prev.current=null;return}let reachable=(node)=>{for(let c of node.getChildren())if(c===target||reachable(c))return!0;return!1};if(reachable(renderer.root))target.focus();prev.current=null},0)},[renderer]),replace=import_react44.useCallback((element,onClose,opts)=>{if(!gate.current&&!prev.current)prev.current=renderer.currentFocusedRenderable,prev.current?.blur();gate.current=!0,setStack((cur)=>{for(let e of cur)e.onClose?.();return[{element,onClose,ownCancel:opts?.ownCancel}]})},[renderer]),clear=import_react44.useCallback(()=>{gate.current=!1,setStack((cur)=>{for(let e of cur)e.onClose?.();return[]}),refocus()},[refocus]),open2=import_react44.useCallback(()=>gate.current,[]),keys=useKeys();useKeyboard((key2)=>{if(stack.length===0)return;if(renderer.getSelection()?.getSelectedText())return;if(stack[stack.length-1]?.ownCancel)return;if(keys.match("dialog.cancel",key2))clear()});let value=import_react44.useMemo(()=>({replace,clear,stack,open:open2}),[replace,clear,stack,open2]),top=stack[stack.length-1];return $jsxs(Ctx5.Provider,{value,children:[children2,top?$jsx(Overlay,{entry:top,onClose:clear}):null]})},Overlay=({entry:entry2,onClose})=>{let dims=useTerminalDimensions(),theme=useTheme().theme,renderer=useRenderer(),armed=import_react44.useRef(!1);return $jsx("box",{position:"absolute",left:0,top:0,width:dims.width,height:dims.height,zIndex:100,backgroundColor:BACKDROP,justifyContent:"center",alignItems:"center",onMouseDown:()=>{armed.current=!renderer.getSelection()},onMouseUp:()=>{if(!armed.current)return;armed.current=!1,onClose()},children:$jsx("box",{backgroundColor:theme.backgroundPanel,borderStyle:"single",border:!0,borderColor:theme.border,padding:1,flexDirection:"column",onMouseDown:(e)=>{e.stopPropagation()},onMouseUp:(e)=>{armed.current=!1,e.stopPropagation()},children:entry2.element})})},useDialog=makeUse(Ctx5,"useDialog");var TabShell=(props)=>{let theme=useTheme().theme;return $jsxs("box",{flexDirection:"column",flexGrow:props.grow??1,flexBasis:0,minWidth:0,border:!0,borderColor:props.focus?theme.primary:theme.border,backgroundColor:theme.backgroundPanel,padding:1,children:[$jsx("box",{height:1,overflow:"hidden",children:$jsx("text",{fg:theme.primary,wrapMode:"none",children:$jsx("strong",{children:props.title})})}),props.error?$jsx("box",{height:1,children:$jsx("text",{fg:theme.error,children:`\u26A0 ${props.error}`})}):null,$jsx("box",{height:1}),$jsx("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:props.children})]})};var import_react46=__toESM(require_react_production(),1);var HintBar=import_react46.memo((props)=>{let theme=useTheme().theme,text2=props.pairs?props.pairs.map((p)=>`[${p[0]}] ${p[1]}`).join(" ")+(props.suffix?` \xB7 ${props.suffix}`:""):props.raw??"";return $jsx("box",{height:1,flexShrink:0,paddingX:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,wrapMode:"none",children:text2})})});var KV=(props)=>{let theme=useTheme().theme;return $jsxs("box",{minHeight:1,flexDirection:"row",children:[$jsx("box",{width:13,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:props.label})}),$jsx("box",{flexGrow:1,minWidth:0,height:props.wrap?void 0:1,overflow:props.wrap?void 0:"hidden",children:$jsx("text",{wrapMode:props.wrap?"word":void 0,fg:props.fg??theme.text,children:props.value})})]})},KVBlock=(props)=>props.rows.map(([k2,v2,fg2])=>v2===void 0?null:$jsx(KV,{label:k2,value:v2,fg:fg2},k2));var import_react47=__toESM(require_react_production(),1);var VBAR_W=1,VBAR={visible:!0},Col=(p)=>{let theme=useTheme().theme,fg2=p.fg??theme.text;return $jsx("box",{width:p.w,flexGrow:p.grow?1:0,flexShrink:p.grow?1:0,minWidth:p.grow?p.min??12:p.w,height:1,overflow:"hidden",onMouseDown:p.onClick,flexDirection:"row",justifyContent:p.right?"flex-end":"flex-start",children:$jsx("text",{children:p.bold?$jsx("span",{fg:fg2,children:$jsx("strong",{children:p.children})}):$jsx("span",{fg:fg2,children:p.children})})})},Hdr=(p)=>$jsx("box",{flexDirection:"row",height:1,paddingRight:VBAR_W,children:p.children}),Marquee=(p)=>{let theme=useTheme().theme,fg2=p.fg??theme.text,text2=p.children,box=import_react47.useRef(null),node=import_react47.useRef(null),animate=exports_preferences.get("animations")!==!1&&p.active,[wraps,setWraps]=import_react47.useState(!1);import_react47.useEffect(()=>{let tn=node.current;if(!tn)return;let w2=box.current?.width??0;if(setWraps(text2.length>w2),!animate){tn.scrollX=0;return}let id,period=text2.length+GAP.length,hold=setTimeout(()=>{id=setInterval(()=>{let cur=box.current?.width??0;if(text2.length<=cur){tn.scrollX=0;return}tn.scrollX=(tn.scrollX+1)%period},p.speed??180)},p.hold??600);return()=>{if(clearTimeout(hold),id)clearInterval(id);if(node.current)node.current.scrollX=0}},[animate,text2,p.speed,p.hold]);let body=wraps?text2+GAP+text2:text2;return $jsx("box",{ref:box,width:p.w,flexGrow:p.grow?1:0,flexShrink:p.grow?1:0,minWidth:p.grow?p.min??12:p.w,height:1,overflow:"hidden",children:$jsx("text",{ref:node,wrapMode:"none",children:p.bold?$jsx("span",{fg:fg2,children:$jsx("strong",{children:body})}):$jsx("span",{fg:fg2,children:body})})})},GAP=" ";var import_react48=__toESM(require_react_production(),1);var Ticker=(p)=>{let ref=import_react48.useRef(null),animate=exports_preferences.get("animations")!==!1&&p.active,speed=p.speed??180,hold=p.hold??600,endHold=p.endHold??3000;return import_react48.useEffect(()=>{let node=ref.current;if(!node)return;if(!animate){node.scrollX=0;return}let dir=1,tick2,wait,step=()=>{let max=node.maxScrollX;if(max<=0)return;if(node.scrollX=Math.max(0,Math.min(max,node.scrollX+dir)),!(dir>0?node.scrollX>=max:node.scrollX<=0))return;if(tick2)clearInterval(tick2),tick2=void 0;dir=-dir,wait=setTimeout(()=>{tick2=setInterval(step,speed)},endHold)};return wait=setTimeout(()=>{tick2=setInterval(step,speed)},hold),()=>{if(wait)clearTimeout(wait);if(tick2)clearInterval(tick2);if(ref.current)ref.current.scrollX=0}},[animate,speed,hold,endHold]),$jsx("box",{flexGrow:1,flexShrink:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("text",{ref,wrapMode:"none",fg:p.fg,children:p.children})})},RX=/(`[^`]+`)|(\*\*[^*]+\*\*)|(__[^_]+__)|((?<![\w*])\*[^*\s][^*]*\*(?![\w*]))|((?<!\w)_[^_\s][^_]*_(?!\w))/g,inline=(s)=>{let out=[],last=0;for(let m2 of s.matchAll(RX)){let at=m2.index??0;if(at>last)out.push({t:s.slice(last,at)});let hit=m2[0];if(hit.startsWith("`"))out.push({t:hit.slice(1,-1),c:!0});else if(hit.startsWith("**")||hit.startsWith("__"))out.push({t:hit.slice(2,-2),b:!0});else out.push({t:hit.slice(1,-1),i:!0});last=at+hit.length}if(last<s.length)out.push({t:s.slice(last)});return out.map((seg)=>seg.c?seg:{...seg,t:seg.t.replace(/^#{1,6}\s+/,"")})};var Confirm=(props)=>{let theme=useTheme().theme,keys=useKeys();return useKeyboard((key2)=>{if(keys.match("dialog.confirm",key2)||keys.match("dialog.accept",key2))return props.onConfirm();if(keys.match("dialog.deny",key2))return props.onCancel()}),$jsxs("box",{flexDirection:"column",width:54,children:[$jsx("box",{height:1,children:$jsx("text",{fg:props.danger?theme.warning:theme.primary,children:$jsx("strong",{children:props.title})})}),$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:props.body})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`[${keys.print("dialog.confirm")}/${keys.print("dialog.accept")}] ${props.yes??"confirm"} [${keys.print("dialog.deny")}] ${props.no??"cancel"}`})})]})};function openConfirm(dialog,opts){return new Promise((resolve4)=>{let done=(v2)=>{resolve4(v2),dialog.clear()};dialog.replace($jsx(Confirm,{...opts,onConfirm:()=>done(!0),onCancel:()=>done(!1)}),()=>resolve4(!1))})}var import_react50=__toESM(require_react_production(),1);var TextPrompt=(props)=>{let theme=useTheme().theme,[value,setValue]=import_react50.useState(props.initial??"");return $jsxs("box",{flexDirection:"column",width:60,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:props.title})})}),$jsx("box",{height:1}),props.label?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:props.label})}):null,$jsxs("box",{height:1,flexDirection:"row",overflow:"hidden",children:[$jsx("box",{flexShrink:0,children:$jsx("text",{fg:theme.accent,children:"\u2503 "})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("input",{value,onInput:setValue,onSubmit:()=>{let v2=value.trim();if(v2)props.onSubmit(v2)},focused:!0,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement})})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:value.trim()?"Enter confirm \xB7 Esc cancel \xB7 Ctrl+U clear":"Esc cancel"})})]})};function openTextPrompt(dialog,opts){return new Promise((resolve4)=>{dialog.replace($jsx(TextPrompt,{title:opts.title,label:opts.label,initial:opts.initial,onSubmit:(v2)=>{resolve4(v2),dialog.clear()}}),()=>resolve4(null))})}var h12=()=>exports_preferences.get("timeFormat")==="12h",abs=()=>exports_preferences.get("timeStyle")==="absolute",trunc4=(s,max)=>s.length<=max?s:s.slice(0,max-1)+"\u2026",fmt=(n)=>n>=1e6?`${(n/1e6).toFixed(2)}M`:n>=1000?`${(n/1000).toFixed(1)}k`:String(n),cost=(c)=>c==null?"\u2014":`$${c.toFixed(2)}`,clock=(d2)=>d2.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hour12:h12()}),stamp=(ts)=>{let d2=new Date(ts*1000);return d2.toDateString()===new Date().toDateString()?clock(d2):d2.toLocaleDateString(void 0,{month:"short",day:"numeric"})},rel=(ts)=>{let s=Math.floor(Date.now()/1000-ts);if(s<60)return"just now";if(s<3600)return`${Math.floor(s/60)}m ago`;if(s<86400)return`${Math.floor(s/3600)}h ago`;return`${Math.floor(s/86400)}d ago`},ago=(ts)=>abs()?stamp(ts):rel(ts),until=(ts)=>{if(abs())return ts<=Date.now()/1000?"due":stamp(ts);let s=Math.floor(ts-Date.now()/1000);if(s<=0)return"due";if(s<60)return`in ${s}s`;if(s<3600)return`in ${Math.floor(s/60)}m`;if(s<86400)return`in ${Math.floor(s/3600)}h`;return`in ${Math.floor(s/86400)}d`},when=(ts)=>{let d2=new Date(ts*1000);return`${d2.toLocaleDateString()} ${clock(d2)}`},span=(start,end)=>{let s=Math.round(end-start);if(s<0)return"\u2014";if(s>=3600)return`${Math.floor(s/3600)}h ${Math.floor(s%3600/60)}m`;if(s>=60)return`${Math.floor(s/60)}m`;return`${s}s`},dur2=(s)=>s>=3600?`${Math.floor(s/3600)}h${Math.floor(s%3600/60)}m`:s>=60?`${Math.floor(s/60)}m${Math.floor(s%60)}s`:`${Math.floor(s)}s`;var import_react51=__toESM(require_react_production(),1);import{watch as watch2,existsSync as existsSync9,statSync as statSync2}from"fs";import{dirname as dirname4,basename as basename6}from"path";import{readdir as readdir2,stat}from"fs/promises";import{openSync as openSync2,readSync as readSync2,closeSync as closeSync2,readdirSync as readdirSync3,readFileSync as readFileSync2}from"fs";import{homedir as homedir5}from"os";var composer=require_composer(),Document=require_Document(),Schema=require_Schema(),errors=require_errors(),Alias=require_Alias(),identity=require_identity(),Pair=require_Pair(),Scalar=require_Scalar(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),cst=require_cst(),lexer=require_lexer(),lineCounter=require_line_counter(),parser=require_parser(),publicApi=require_public_api(),visit=require_visit();var $Composer=composer.Composer,$Document=Document.Document,$Schema=Schema.Schema,$YAMLError=errors.YAMLError,$YAMLParseError=errors.YAMLParseError,$YAMLWarning=errors.YAMLWarning,$Alias=Alias.Alias,$isAlias=identity.isAlias,$isCollection=identity.isCollection,$isDocument=identity.isDocument,$isMap=identity.isMap,$isNode=identity.isNode,$isPair=identity.isPair,$isScalar=identity.isScalar,$isSeq=identity.isSeq,$Pair=Pair.Pair,$Scalar=Scalar.Scalar,$YAMLMap=YAMLMap.YAMLMap,$YAMLSeq=YAMLSeq.YAMLSeq;var $Lexer=lexer.Lexer,$LineCounter=lineCounter.LineCounter,$Parser=parser.Parser,$parse=publicApi.parse,$parseAllDocuments=publicApi.parseAllDocuments,$parseDocument=publicApi.parseDocument,$stringify=publicApi.stringify,$visit=visit.visit,$visitAsync=visit.visitAsync;init_sessions_db();var HOME3=process.env.HOME||homedir5(),home={path:process.env.HERMES_HOME||`${HOME3}/.hermes`},setHome2=(h2)=>{home.path=h2},hermesPath=(relative2)=>`${home.path}/${relative2}`,managedSystem=async()=>{let env2=(process.env.HERMES_MANAGED??"").trim();if(env2){let norm=env2.toLowerCase();if(norm==="1"||norm==="true"||norm==="yes"||norm==="on")return"NixOS";return{homebrew:"Homebrew",nix:"NixOS",nixos:"NixOS"}[norm]??env2}return await Bun.file(hermesPath(".managed")).exists()?"NixOS":null},makeSource=(relative2,label)=>({file:hermesPath(relative2),relative:relative2,label:label??relative2.split("/").pop()??relative2});function readSkillFrontmatter(source){try{let fd=openSync2(source.file,"r"),buf=Buffer.alloc(2048),n=readSync2(fd,buf,0,2048,0);closeSync2(fd);let head=buf.toString("utf-8",0,n);if(!head.startsWith("---"))return{description:"",tags:[]};let end=head.indexOf(`
4084
4084
  ---`,3);if(end<0)return{description:"",tags:[]};let fm=$parse(head.slice(3,end)),tags=Array.isArray(fm.tags)?fm.tags.map(String):[];return{description:String(fm.description??""),tags}}catch{return{description:"",tags:[]}}}async function readSkillUsage(){try{let f=Bun.file(hermesPath("skills/.usage.json"));if(!await f.exists())return{};let raw=await f.json(),out={};for(let[k2,v2]of Object.entries(raw??{}))out[k2]={use_count:Number(v2.use_count??0),view_count:Number(v2.view_count??0),patch_count:Number(v2.patch_count??0),last_used_at:v2.last_used_at??null,last_viewed_at:v2.last_viewed_at??null,last_patched_at:v2.last_patched_at??null,created_at:v2.created_at??null,archived_at:v2.archived_at??null,state:v2.state??"active",pinned:Boolean(v2.pinned)};return out}catch{return{}}}async function readCuratorState(){try{let f=Bun.file(hermesPath("skills/.curator_state"));if(!await f.exists())return null;let raw=await f.json();return{last_run_at:raw.last_run_at??null,last_run_duration_seconds:raw.last_run_duration_seconds??null,last_run_summary:raw.last_run_summary??null,paused:Boolean(raw.paused),run_count:Number(raw.run_count??0)}}catch{return null}}async function readLatestCuratorReport(){try{let base2=hermesPath("logs/curator"),entries=readdirSync3(base2,{withFileTypes:!0}).filter((e)=>e.isDirectory());if(entries.length===0)return null;entries.sort((a,b2)=>b2.name.localeCompare(a.name));let runId=entries[0].name,rel2=`logs/curator/${runId}/REPORT.md`,source=makeSource(rel2),body=await Bun.file(source.file).text();return{source,content:body.trim(),runId}}catch{return null}}function listCuratorRuns(){try{let base2=hermesPath("logs/curator");return readdirSync3(base2,{withFileTypes:!0}).filter((e)=>e.isDirectory()).sort((a,b2)=>b2.name.localeCompare(a.name)).flatMap((e)=>{try{let fd=openSync2(`${base2}/${e.name}/run.json`,"r"),buf=Buffer.alloc(8192),n=readSync2(fd,buf);closeSync2(fd);let j2=JSON.parse(buf.toString("utf8",0,n)),c=j2.counts??{};return[{id:e.name,at:Date.parse(j2.started_at??"")/1000||0,archived:c.archived_this_run??0,consolidated:c.consolidated_this_run??0,added:c.added_this_run??0,before:c.before??0,after:c.after??0}]}catch{return[]}})}catch{return[]}}async function readCuratorReport(id){try{return(await Bun.file(hermesPath(`logs/curator/${id}/REPORT.md`)).text()).trim()}catch{return""}}function indexCuratorLineage(){let out=new Map,push2=(name,ev)=>{let a=out.get(name)??[];a.push(ev),out.set(name,a)};try{let base2=hermesPath("logs/curator");for(let e of readdirSync3(base2,{withFileTypes:!0})){if(!e.isDirectory())continue;try{let j2=JSON.parse(readFileSync2(`${base2}/${e.name}/run.json`,"utf8")),at=Date.parse(j2.started_at??"")/1000||0,run=e.name,into=new Map;for(let c of j2.consolidated??[])push2(c.name,{kind:"merged",run,at,into:c.into,reason:c.reason}),into.set(c.into,[...into.get(c.into)??[],c.name]);for(let[tgt,srcs]of into)push2(tgt,{kind:"absorbed",run,at,sources:srcs});for(let t2 of j2.state_transitions??[])push2(t2.name,{kind:"transition",run,at,from:t2.from,to:t2.to});for(let p of j2.pruned??[])push2(p.name,{kind:"pruned",run,at,reason:p.reason});for(let n of j2.added??[])push2(n,{kind:"added",run,at})}catch{}}}catch{}for(let a of out.values())a.sort((x2,y2)=>y2.at-x2.at);return out}function readChangelog(){try{let source=makeSource("herm/changelog.md"),fd=openSync2(source.file,"r"),buf=Buffer.alloc(4096),n=readSync2(fd,buf);closeSync2(fd);let body=buf.toString("utf8",0,n).trim(),line=body.split(`
@@ -4090,7 +4090,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
4090
4090
  `),found=!1,updated=lines2.map((line)=>{if(line.startsWith(`${key2}=`))return found=!0,`${key2}=${value}`;return line});if(!found)updated.push(`${key2}=${value}`);await Bun.write(ENV_PATH,updated.join(`
4091
4091
  `))}async function removeEnvVar(key2){let text2="";try{text2=await Bun.file(ENV_PATH).text()}catch{return}let lines2=text2.split(`
4092
4092
  `).filter((l)=>!l.startsWith(`${key2}=`));await Bun.write(ENV_PATH,lines2.join(`
4093
- `))}var ENV_CATALOG=[{category:"LLM Providers",keys:["ANTHROPIC_API_KEY","OPENAI_API_KEY","GOOGLE_API_KEY","DEEPSEEK_API_KEY","OPENROUTER_API_KEY","GROQ_API_KEY","MISTRAL_API_KEY","XAI_API_KEY","TOGETHER_API_KEY","FIREWORKS_API_KEY","NOUS_API_KEY"]},{category:"Tool API Keys",keys:["FIRECRAWL_API_KEY","BROWSERBASE_API_KEY","BROWSERBASE_PROJECT_ID","TAVILY_API_KEY","EXA_API_KEY","ELEVENLABS_API_KEY"]},{category:"Messaging",keys:["TELEGRAM_BOT_TOKEN","DISCORD_BOT_TOKEN","SLACK_BOT_TOKEN","SLACK_APP_TOKEN"]},{category:"Agent",keys:["API_SERVER_KEY","MEM0_API_KEY"]}];var SLICES={config:{read:()=>readConfig(),watch:()=>[hermesPath("config.yaml")]},memory:{read:(d2)=>readMemoryFile("MEMORY.md",d2.config?.memory?.memory_char_limit??2200),deps:["config"],watch:()=>[hermesPath("memories/MEMORY.md")]},userProfile:{read:(d2)=>readMemoryFile("USER.md",d2.config?.memory?.user_char_limit??1375),deps:["config"],watch:()=>[hermesPath("memories/USER.md")]},memoryProviders:{read:(d2)=>readMemoryProviders(d2.config?.memory?.provider??""),deps:["config"]},memoryActivity:{read:()=>io.memoryActivity()},env:{read:()=>readEnvFile(),watch:()=>[hermesPath(".env")]},soul:{read:()=>readSoul(),watch:()=>[hermesPath("SOUL.md")]},liveSessions:{read:()=>readLiveSessions(),watch:()=>[hermesPath("sessions/sessions.json")]},recentSessions:{read:()=>io.roots(30)},systemPrompt:{read:()=>io.systemPrompt().then((r)=>r&&{source:makeSource("state.db"),sessionId:r.id,text:r.text,totalChars:r.text.length,tokenEstimate:count2(r.text)}).catch(()=>null)},toolsInfo:{read:()=>readToolsFromLatestSession(),watch:()=>[hermesPath("sessions")]},skillUsage:{read:()=>readSkillUsage(),watch:()=>[hermesPath("skills/.usage.json")]},curatorState:{read:()=>readCuratorState(),watch:()=>[hermesPath("skills/.curator_state")]}},DEPENDENTS=(()=>{let m2=new Map;for(let[k2,s]of Object.entries(SLICES))for(let d2 of s.deps??[]){let arr=m2.get(d2)??[];arr.push(k2),m2.set(d2,arr)}return m2})(),DEBOUNCE_MS=50;class HomeStore{data={};subs=new Map;inflight=new Map;watchers=new Map;debounce=new Map;get(k2){return this.data[k2]}subscribe(k2,cb){let set2=this.subs.get(k2);if(!set2)this.subs.set(k2,set2=new Set);return set2.add(cb),()=>set2.delete(cb)}ensure(k2){if(k2 in this.data)return Promise.resolve(this.data[k2]);let hit=this.inflight.get(k2);if(hit)return hit;let slice=SLICES[k2],p=(async()=>{let deps={};for(let d2 of slice.deps??[])deps[d2]=await this.ensure(d2);let v2=await slice.read(deps);return this.data[k2]=v2,this.startWatch(k2,slice.watch),this.notify(k2),v2})().finally(()=>this.inflight.delete(k2));return this.inflight.set(k2,p),p}invalidate(k2){if(!(k2 in this.data)&&!this.inflight.has(k2))return;if(delete this.data[k2],this.subs.get(k2)?.size)this.ensure(k2);for(let dep of DEPENDENTS.get(k2)??[])this.invalidate(dep)}close(){for(let ws of this.watchers.values())for(let w2 of ws)w2.close();for(let t2 of this.debounce.values())clearTimeout(t2);this.watchers.clear(),this.debounce.clear(),this.subs.clear(),this.inflight.clear(),this.data={}}reset(){for(let ws of this.watchers.values())for(let w2 of ws)w2.close();for(let t2 of this.debounce.values())clearTimeout(t2);this.watchers.clear(),this.debounce.clear(),this.inflight.clear(),this.data={};for(let k2 of this.subs.keys())if(this.subs.get(k2)?.size)this.ensure(k2)}notify(k2){let set2=this.subs.get(k2);if(set2)for(let cb of set2)cb()}startWatch(k2,watchFn){if(!watchFn||this.watchers.has(k2))return;let paths=watchFn(),ws=[],fire=()=>{let prev=this.debounce.get(k2);if(prev)clearTimeout(prev);this.debounce.set(k2,setTimeout(()=>this.invalidate(k2),DEBOUNCE_MS))};for(let p of paths){let dir=dirname4(p),name=basename6(p);try{if(existsSync9(p)&&statSync2(p).isDirectory())dir=p,name=null}catch{}if(!existsSync9(dir))continue;try{ws.push(watch2(dir,{persistent:!1},(_ev,f)=>{if(name===null||f===name)fire()}))}catch{}}this.watchers.set(k2,ws)}}var home2=new HomeStore;function useHome(k2){let v2=import_react51.useSyncExternalStore((cb)=>home2.subscribe(k2,cb),()=>home2.get(k2));return import_react51.useEffect(()=>{home2.ensure(k2)},[k2]),v2}var cmp=(s)=>{let k2=(r)=>s==="started"?r.started_at:r.detail?.last_active??r.started_at;return(a,b2)=>k2(b2)-k2(a)},badge=(src)=>({cli:"CLI",tui:"TUI",api_server:"API",discord:"Discord",telegram:"Telegram",slack:"Slack",whatsapp:"WhatsApp",signal:"Signal"})[src]??src,line=(s)=>(s??"").replace(/\s+/g," ").trim(),fold=(msgs)=>{let turns=[],tools=0;for(let m2 of msgs){if(m2.role==="tool"){tools++;continue}if(m2.role!=="user"&&m2.role!=="assistant")continue;let text2=line(m2.content);if(!text2)continue;turns.push({role:m2.role,text:text2})}return{turns,tools}},PeekRow=import_react52.memo((props)=>{let theme=useTheme().theme,[hot,setHot]=import_react52.useState(!1),left=props.row.role==="user",color=left?theme.primary:theme.accent,fg2=left?theme.text:theme.markdownText,bar=(side)=>$jsx("box",{width:2,flexShrink:0,height:1,border:[side],borderColor:color,customBorderChars:SIDE_PIPE});return $jsxs("box",{height:1,flexDirection:"row",backgroundColor:hot?theme.backgroundElement:void 0,onMouseOver:()=>setHot(!0),onMouseOut:()=>setHot(!1),children:[left?bar("left"):null,$jsx(Ticker,{active:hot,speed:35,hold:150,fg:fg2,children:inline(props.row.text).map((s,i)=>s.c?$jsx("span",{fg:theme.warning,children:s.t},i):s.b?$jsx("span",{fg:fg2,children:$jsx("strong",{children:s.t})},i):s.i?$jsx("span",{fg:fg2,children:$jsx("u",{children:s.t})},i):$jsx("span",{fg:fg2,children:s.t},i))}),left?null:bar("right")]})}),Peek=import_react52.memo((props)=>{let theme=useTheme().theme,[data2,setData]=import_react52.useState(null),sb=import_react52.useRef(null);if(import_react52.useEffect(()=>{Promise.resolve(props.peek(props.sid,60)).then((m2)=>setData(fold(m2)))},[props.sid,props.peek]),import_react52.useEffect(()=>{if(data2&&sb.current)sb.current.scrollTop=sb.current.scrollHeight},[data2]),data2===null)return null;if(data2.turns.length===0&&data2.tools===0)return $jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"(no local transcript)"})});let more=Math.max(0,props.total-60);return $jsxs("box",{flexDirection:"column",flexGrow:1,minHeight:5,border:!0,borderStyle:"single",borderColor:theme.border,title:` Transcript${more>0?` \xB7 ${more} earlier`:""} `,titleAlignment:"left",children:[$jsx("scrollbox",{ref:sb,scrollY:!0,flexGrow:1,minHeight:3,children:$jsx("box",{flexDirection:"column",width:"100%",children:data2.turns.map((r,i)=>$jsx(PeekRow,{row:r},i))})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${data2.turns.length} turn${data2.turns.length===1?"":"s"} \xB7 ${data2.tools} tool call${data2.tools===1?"":"s"}`})})]})}),Detail=import_react52.memo((props)=>{let theme=useTheme().theme,r=props.row,d2=r.detail,lastActive=d2?.last_active??d2?.ended_at??null,subs2=d2?.subagent_count??0,[info,setInfo]=import_react52.useState({});import_react52.useEffect(()=>{Promise.resolve(props.lineage(r.id)).then(setInfo)},[r.id,props.lineage]);let hasLineage=info.continuesFrom||info.compressedTo||subs2>0,go=(sid)=>()=>props.onSwitch?.(sid);return $jsx(TabShell,{title:"Session Detail",grow:2,children:$jsxs("box",{flexDirection:"column",width:"100%",flexGrow:1,overflow:"hidden",children:[$jsxs("box",{flexDirection:"column",flexShrink:0,children:[$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:r.title||"Untitled"})})})}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["ID",r.id],["Source",badge(r.source??"")],["Model",d2?.model??"\u2014"],["Started",when(r.started_at)],["Last active",lastActive?`${when(lastActive)} (${ago(lastActive)})`:"\u2014"],["Duration",lastActive?span(r.started_at,lastActive):"\u2014"],["Ended",d2?.ended_at?`${when(d2.ended_at)} \xB7 ${d2.end_reason??"\u2014"}`:void 0]]}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Messages",String(r.message_count)],["Tool calls",d2?String(d2.tool_call_count):void 0],["Input",d2?`${fmt(d2.input_tokens)} tok`:void 0],["Output",d2?`${fmt(d2.output_tokens)} tok`:void 0],["Cache",d2?`${fmt(d2.cache_read_tokens)} r / ${fmt(d2.cache_write_tokens)} w`:void 0],["Reasoning",d2?`${fmt(d2.reasoning_tokens)} tok`:void 0],["Cost",d2?cost(d2.estimated_cost_usd):void 0,theme.success]]}),hasLineage?$jsxs($Fragment2,{children:[$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{fg:theme.textMuted,children:"Lineage"})}),info.continuesFrom?$jsx("box",{height:1,onMouseDown:go(info.continuesFrom.id),children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:" \u2190 continues from "}),$jsx("span",{fg:theme.accent,children:info.continuesFrom.title||info.continuesFrom.id})]})}):null,info.compressedTo?$jsx("box",{height:1,onMouseDown:go(info.compressedTo.id),children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:" \u2192 compressed to "}),$jsx("span",{fg:theme.accent,children:info.compressedTo.title||info.compressedTo.id})]})}):null,subs2>0?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:" \u2387 spawned "}),$jsx("span",{fg:theme.text,children:String(subs2)}),$jsx("span",{fg:theme.textMuted,children:` subagent${subs2===1?"":"s"}`})]})}):null]}):null,!d2?$jsxs($Fragment2,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"(no local detail \u2014 state.db mismatch)"})})]}):null,$jsx("box",{height:1})]}),$jsx(Peek,{sid:r.id,total:r.message_count,peek:props.peek})]})})}),SearchDetail=import_react52.memo((props)=>{let theme=useTheme().theme,r=props.result,parts2=[],rest=r.snippet;while(rest.length){let start=rest.indexOf(">>>");if(start<0){parts2.push({text:rest,hi:!1});break}if(start>0)parts2.push({text:rest.slice(0,start),hi:!1});let end=rest.indexOf("<<<",start+3);if(end<0){parts2.push({text:rest.slice(start+3),hi:!0});break}parts2.push({text:rest.slice(start+3,end),hi:!0}),rest=rest.slice(end+3)}return $jsx(TabShell,{title:"Search Match",grow:2,children:$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",width:"100%",children:[$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:r.title??"Untitled"})})})}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Source",badge(r.source)],["Model",r.model??"\u2014"],["Time",when(r.started_at)]]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Snippet"})}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:parts2.map((p,i)=>p.hi?$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:p.text})},i):$jsx("span",{fg:theme.text,children:p.text},i))})})]})})})}),HeaderRow=import_react52.memo((props)=>{let theme=useTheme().theme,fg2=theme.textMuted,on=theme.accent,by=props.sort;return $jsxs(Hdr,{children:[$jsx(Col,{w:2,fg:fg2,children:" "}),$jsx(Col,{grow:!0,fg:fg2,bold:!0,children:"Title"}),$jsx(Col,{w:9,fg:fg2,bold:!0,children:"Source"}),$jsx(Col,{w:8,fg:by==="started"?on:fg2,bold:!0,onClick:()=>props.onSort("started"),children:by==="started"?"Start \u25BE":"Start"}),$jsx(Col,{w:10,fg:by==="active"?on:fg2,bold:!0,right:!0,onClick:()=>props.onSort("active"),children:by==="active"?"Active \u25BE":"Active"}),$jsx(Col,{w:7,fg:fg2,bold:!0,right:!0,children:"Msgs"}),$jsx("box",{width:3})]})}),Item=import_react52.memo((props)=>{let theme=useTheme().theme,{row:r,idx:i}=props,[x2,setX]=import_react52.useState(!1),active=r.detail?.last_active??r.detail?.ended_at??null,leader=props.indent?"\u2514\u2500":props.selected?"\u25B8 ":" ",muted=props.indent&&!props.selected?theme.textMuted:void 0;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:props.selected?theme.backgroundElement:void 0,onMouseDown:()=>props.onActivate(i),onMouseMove:()=>props.onHover(i),children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:muted??theme.text,children:leader}),$jsx(Marquee,{grow:!0,active:props.selected,fg:props.selected?theme.accent:muted??theme.text,bold:props.selected,children:r.title||"Untitled"}),$jsx(Col,{w:9,fg:muted??theme.info,children:badge(r.source??"")}),$jsx(Col,{w:8,fg:theme.textMuted,children:stamp(r.started_at)}),$jsx(Col,{w:10,fg:theme.textMuted,right:!0,children:active?ago(active):"\u2014"}),$jsx(Col,{w:7,fg:theme.textMuted,right:!0,children:String(r.message_count)}),props.indent?$jsx("box",{width:3}):$jsx("box",{width:3,onMouseDown:(e)=>{e.stopPropagation(),props.onDelete(i)},onMouseOver:()=>setX(!0),onMouseOut:()=>setX(!1),children:$jsx("text",{children:$jsx("span",{fg:x2?theme.error:theme.textMuted,children:" \u2715"})})})]})}),SearchHeaderRow=import_react52.memo(()=>{let fg2=useTheme().theme.textMuted;return $jsxs(Hdr,{children:[$jsx(Col,{w:2,fg:fg2,children:" "}),$jsx(Col,{grow:!0,fg:fg2,bold:!0,children:"Title"}),$jsx(Col,{w:9,fg:fg2,bold:!0,children:"Source"}),$jsx(Col,{w:10,fg:fg2,bold:!0,children:"When"}),$jsx(Col,{w:20,fg:fg2,bold:!0,children:"Model"})]})}),SearchItem=import_react52.memo((props)=>{let theme=useTheme().theme,{result:r,idx:i}=props;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:props.selected?theme.backgroundElement:void 0,onMouseDown:()=>props.onActivate(i),onMouseMove:()=>props.onHover(i),children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "}),$jsx(Col,{grow:!0,fg:props.selected?theme.accent:theme.text,bold:props.selected,children:r.title??"Untitled"}),$jsx(Col,{w:9,fg:theme.info,children:badge(r.source)}),$jsx(Col,{w:10,fg:theme.textMuted,children:ago(r.started_at)}),$jsx(Col,{w:20,fg:theme.textMuted,children:r.model??"\u2014"})]})}),last={rows:[],kids:new Map},Sessions=import_react52.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),dims=useTerminalDimensions(),cached2=props.io==null,io2={list:props.io?.list??io.roots,search:props.io?.search??io.search,subagents:props.io?.subagents??io.children,lineage:props.io?.lineage??io.lineage,peek:props.io?.peek??io.peek,remove:props.io?.remove??exports_sessions_db.remove,rename:props.io?.rename??exports_sessions_db.rename},[rows2,setRows]=import_react52.useState(cached2?last.rows:[]),[warn,setWarn]=import_react52.useState(""),[pending2,setPending]=import_react52.useState(rows2.length===0),sort=exports_preferences.usePref("sessions")?.sort??"active",setSort=import_react52.useCallback((s)=>exports_preferences.set("sessions",{sort:s}),[]),sorted=import_react52.useMemo(()=>[...rows2].sort(cmp(sort)),[rows2,sort]),[anchor,setAnchor]=import_react52.useState(null),[searching,setSearching]=import_react52.useState(!1),[query,setQuery]=import_react52.useState(""),[results,setResults]=import_react52.useState([]),[searchSel,setSearchSel]=import_react52.useState(0),[kids,setKids]=import_react52.useState(cached2?last.kids:new Map),debounce=import_react52.useRef(null),vscroll=import_react52.useRef(null),anchored=anchor&&sorted.find((r)=>r.id===anchor.id),owner=anchor?.indent?sorted.find((r)=>kids.get(r.id)?.some((c)=>c.id===anchor.id)):(anchored?.detail?.subagent_count??0)>0?anchored:void 0,visible=sorted.flatMap((r,i)=>r.id===owner?.id?[{row:r,indent:!1,parentIdx:i},...(kids.get(r.id)??[]).map((c)=>({row:c,indent:!0,parentIdx:i}))]:[{row:r,indent:!1,parentIdx:i}]),sel=anchor?Math.max(0,visible.findIndex((v2)=>v2.row.id===anchor.id&&v2.indent===anchor.indent)):0,live=import_react52.useRef({rows:rows2,visible,anchor,results,searching,onSwitch:props.onSwitch,currentId:props.currentId});live.current={rows:rows2,visible,anchor,results,searching,onSwitch:props.onSwitch,currentId:props.currentId};let setSel=import_react52.useCallback((arg)=>{let cur=live.current,prev=cur.visible.findIndex((v3)=>v3.row.id===cur.anchor?.id&&v3.indent===cur.anchor.indent),n=typeof arg==="function"?arg(Math.max(0,prev)):arg,v2=cur.visible[Math.max(0,Math.min(cur.visible.length-1,n))];if(v2)setAnchor({id:v2.row.id,indent:v2.indent})},[]),LIMIT=2000,toRow2=(d2)=>({id:d2.id,title:d2.title??"",preview:d2.lastMessage??"",message_count:d2.message_count,started_at:d2.started_at,source:d2.sessionSource,detail:d2}),load3=import_react52.useCallback(async()=>{setPending(!0);let rpc=gw.request("session.list",{limit:LIMIT}).then((r2)=>({ok:!0,v:r2})).catch((e)=>({ok:!1,e})),disk=await Promise.resolve(io2.list(LIMIT)).catch(()=>[]),local=new Map(disk.map((r2)=>[r2.id,r2])),diskRows=disk.filter((d2)=>d2.message_count>0).map(toRow2);if(setRows(diskRows),cached2)last.rows=diskRows;let fillKids=async(list)=>{let ps=list.filter((r2)=>(r2.detail?.subagent_count??0)>0),cs=await Promise.all(ps.map((r2)=>io2.subagents(r2.id))),m2=new Map(ps.map((r2,i)=>[r2.id,cs[i].map(toRow2)]));if(setKids(m2),cached2)last.kids=m2};fillKids(diskRows);let r=await rpc;if(r.ok&&r.v.sessions?.length){let seen=new Set(diskRows.map((s)=>s.id)),merged=[...diskRows,...r.v.sessions.filter((s)=>(s.message_count??0)>0&&!seen.has(s.id)).map((s)=>({...s,detail:local.get(s.id)}))];if(setRows(merged),cached2)last.rows=merged;fillKids(merged)}setPending(!1),setWarn(!r.ok?local.size?`gateway session.list failed (${r.e.message}) \u2014 listing state.db directly; rows may not resume`:r.e.message:"")},[gw]);import_react52.useEffect(()=>{load3()},[load3]),import_react52.useEffect(()=>{if(!anchor&&sorted.length)setAnchor({id:sorted[0].id,indent:!1})},[sorted,anchor]),import_react52.useEffect(()=>{if(!searching||!query.trim()){setResults([]);return}return debounce.current=setTimeout(()=>{Promise.resolve(io2.search(query,30)).then((r)=>{setResults(r),setSearchSel(0)})},150),()=>{if(debounce.current)clearTimeout(debounce.current)}},[query,searching]);let rowHover=import_react52.useCallback((i)=>{live.current.searching?setSearchSel(i):setSel(i)},[setSel]),rowActivate=import_react52.useCallback((i)=>{let l=live.current;l.searching?setSearchSel(i):setSel(i);let hit=l.searching?l.results[i]:l.visible[i]?.row,id=l.searching?hit?.session_id:hit?.id;if(!id||!l.onSwitch)return;if(id===l.currentId)return l.onSwitch(id);let title=hit?.title||"Untitled",n=l.searching?void 0:hit.message_count;openConfirm(dialog,{title:"Load session?",body:`${trunc4(title,60)}${n!=null?` \xB7 ${n} msg${n===1?"":"s"}`:""}
4093
+ `))}var ENV_CATALOG=[{category:"LLM Providers",keys:["ANTHROPIC_API_KEY","OPENAI_API_KEY","GOOGLE_API_KEY","DEEPSEEK_API_KEY","OPENROUTER_API_KEY","GROQ_API_KEY","MISTRAL_API_KEY","XAI_API_KEY","TOGETHER_API_KEY","FIREWORKS_API_KEY","NOUS_API_KEY"]},{category:"Tool API Keys",keys:["FIRECRAWL_API_KEY","BROWSERBASE_API_KEY","BROWSERBASE_PROJECT_ID","TAVILY_API_KEY","EXA_API_KEY","ELEVENLABS_API_KEY"]},{category:"Messaging",keys:["TELEGRAM_BOT_TOKEN","DISCORD_BOT_TOKEN","SLACK_BOT_TOKEN","SLACK_APP_TOKEN"]},{category:"Agent",keys:["API_SERVER_KEY","MEM0_API_KEY"]}];var SLICES={config:{read:()=>readConfig(),watch:()=>[hermesPath("config.yaml")]},memory:{read:(d2)=>readMemoryFile("MEMORY.md",d2.config?.memory?.memory_char_limit??2200),deps:["config"],watch:()=>[hermesPath("memories/MEMORY.md")]},userProfile:{read:(d2)=>readMemoryFile("USER.md",d2.config?.memory?.user_char_limit??1375),deps:["config"],watch:()=>[hermesPath("memories/USER.md")]},memoryProviders:{read:(d2)=>readMemoryProviders(d2.config?.memory?.provider??""),deps:["config"]},memoryActivity:{read:()=>io.memoryActivity()},env:{read:()=>readEnvFile(),watch:()=>[hermesPath(".env")]},soul:{read:()=>readSoul(),watch:()=>[hermesPath("SOUL.md")]},liveSessions:{read:()=>readLiveSessions(),watch:()=>[hermesPath("sessions/sessions.json")]},recentSessions:{read:()=>io.roots(30)},systemPrompt:{read:()=>io.systemPrompt().then((r)=>r&&{source:makeSource("state.db"),sessionId:r.id,text:r.text,totalChars:r.text.length,tokenEstimate:count2(r.text)}).catch(()=>null)},toolsInfo:{read:()=>readToolsFromLatestSession(),watch:()=>[hermesPath("sessions")]},skillUsage:{read:()=>readSkillUsage(),watch:()=>[hermesPath("skills/.usage.json")]},curatorState:{read:()=>readCuratorState(),watch:()=>[hermesPath("skills/.curator_state")]}},DEPENDENTS=(()=>{let m2=new Map;for(let[k2,s]of Object.entries(SLICES))for(let d2 of s.deps??[]){let arr=m2.get(d2)??[];arr.push(k2),m2.set(d2,arr)}return m2})(),DEBOUNCE_MS=50;class HomeStore{data={};subs=new Map;inflight=new Map;watchers=new Map;debounce=new Map;get(k2){return this.data[k2]}subscribe(k2,cb){let set2=this.subs.get(k2);if(!set2)this.subs.set(k2,set2=new Set);return set2.add(cb),()=>set2.delete(cb)}ensure(k2){if(k2 in this.data)return Promise.resolve(this.data[k2]);let hit=this.inflight.get(k2);if(hit)return hit;let slice=SLICES[k2],p=(async()=>{let deps={};for(let d2 of slice.deps??[])deps[d2]=await this.ensure(d2);let v2=await slice.read(deps);return this.data[k2]=v2,this.startWatch(k2,slice.watch),this.notify(k2),v2})().finally(()=>this.inflight.delete(k2));return this.inflight.set(k2,p),p}invalidate(k2){if(!(k2 in this.data)&&!this.inflight.has(k2))return;if(delete this.data[k2],this.subs.get(k2)?.size)this.ensure(k2);for(let dep of DEPENDENTS.get(k2)??[])this.invalidate(dep)}close(){for(let ws of this.watchers.values())for(let w2 of ws)w2.close();for(let t2 of this.debounce.values())clearTimeout(t2);this.watchers.clear(),this.debounce.clear(),this.subs.clear(),this.inflight.clear(),this.data={}}reset(){for(let ws of this.watchers.values())for(let w2 of ws)w2.close();for(let t2 of this.debounce.values())clearTimeout(t2);this.watchers.clear(),this.debounce.clear(),this.inflight.clear(),this.data={};for(let k2 of this.subs.keys())if(this.subs.get(k2)?.size)this.ensure(k2)}notify(k2){let set2=this.subs.get(k2);if(set2)for(let cb of set2)cb()}startWatch(k2,watchFn){if(!watchFn||this.watchers.has(k2))return;let paths=watchFn(),ws=[],fire=()=>{let prev=this.debounce.get(k2);if(prev)clearTimeout(prev);this.debounce.set(k2,setTimeout(()=>this.invalidate(k2),DEBOUNCE_MS))};for(let p of paths){let dir=dirname4(p),name=basename6(p);try{if(existsSync9(p)&&statSync2(p).isDirectory())dir=p,name=null}catch{}if(!existsSync9(dir))continue;try{ws.push(watch2(dir,{persistent:!1},(_ev,f)=>{if(name===null||f===name)fire()}))}catch{}}this.watchers.set(k2,ws)}}var home2=new HomeStore;function useHome(k2){let v2=import_react51.useSyncExternalStore((cb)=>home2.subscribe(k2,cb),()=>home2.get(k2));return import_react51.useEffect(()=>{home2.ensure(k2)},[k2]),v2}var cmp=(s)=>{let k2=(r)=>s==="started"?r.started_at:r.detail?.last_active??r.started_at;return(a,b2)=>k2(b2)-k2(a)},badge=(src)=>({cli:"CLI",tui:"TUI",api_server:"API",discord:"Discord",telegram:"Telegram",slack:"Slack",whatsapp:"WhatsApp",signal:"Signal"})[src]??src,line=(s)=>(s??"").replace(/\s+/g," ").trim(),fold=(msgs)=>{let turns=[],tools=0;for(let m2 of msgs){if(m2.role==="tool"){tools++;continue}if(m2.role!=="user"&&m2.role!=="assistant")continue;let text2=line(m2.content);if(!text2)continue;turns.push({role:m2.role,text:text2})}return{turns,tools}},PeekRow=import_react52.memo((props)=>{let theme=useTheme().theme,[hot,setHot]=import_react52.useState(!1),left=props.row.role==="user",color=left?theme.primary:theme.accent,fg2=left?theme.text:theme.markdownText,bar=(side)=>$jsx("box",{width:2,flexShrink:0,height:1,border:[side],borderColor:color,customBorderChars:SIDE_PIPE});return $jsxs("box",{height:1,flexDirection:"row",backgroundColor:hot?theme.backgroundElement:void 0,onMouseOver:()=>setHot(!0),onMouseOut:()=>setHot(!1),children:[left?bar("left"):null,$jsx(Ticker,{active:hot,speed:35,hold:150,fg:fg2,children:inline(props.row.text).map((s,i)=>s.c?$jsx("span",{fg:theme.warning,children:s.t},i):s.b?$jsx("span",{fg:fg2,children:$jsx("strong",{children:s.t})},i):s.i?$jsx("span",{fg:fg2,children:$jsx("u",{children:s.t})},i):$jsx("span",{fg:fg2,children:s.t},i))}),left?null:bar("right")]})}),Peek=import_react52.memo((props)=>{let theme=useTheme().theme,[data2,setData]=import_react52.useState(null),sb=import_react52.useRef(null);if(import_react52.useEffect(()=>{Promise.resolve(props.peek(props.sid,60)).then((m2)=>setData(fold(m2)))},[props.sid,props.peek]),import_react52.useEffect(()=>{if(data2&&sb.current)sb.current.scrollTop=sb.current.scrollHeight},[data2]),data2===null)return null;if(data2.turns.length===0&&data2.tools===0)return $jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"(no local transcript)"})});let more=Math.max(0,props.total-60);return $jsxs("box",{flexDirection:"column",flexGrow:1,minHeight:5,border:!0,borderStyle:"single",borderColor:theme.border,title:` Transcript${more>0?` \xB7 ${more} earlier`:""} `,titleAlignment:"left",children:[$jsx("scrollbox",{ref:sb,scrollY:!0,flexGrow:1,minHeight:3,children:$jsx("box",{flexDirection:"column",width:"100%",children:data2.turns.map((r,i)=>$jsx(PeekRow,{row:r},i))})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${data2.turns.length} turn${data2.turns.length===1?"":"s"} \xB7 ${data2.tools} tool call${data2.tools===1?"":"s"}`})})]})}),Detail=import_react52.memo((props)=>{let theme=useTheme().theme,r=props.row,d2=r.detail,lastActive=d2?.last_active??d2?.ended_at??null,subs2=d2?.subagent_count??0,[info,setInfo]=import_react52.useState({});import_react52.useEffect(()=>{Promise.resolve(props.lineage(r.id)).then(setInfo)},[r.id,props.lineage]);let hasLineage=info.continuesFrom||info.compressedTo||subs2>0,go=(sid)=>()=>props.onSwitch?.(sid);return $jsx(TabShell,{title:"Session Detail",grow:2,children:$jsxs("box",{flexDirection:"column",width:"100%",flexGrow:1,overflow:"hidden",children:[$jsxs("box",{flexDirection:"column",flexShrink:0,children:[$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:r.title||"Untitled"})})})}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["ID",r.id],["Source",badge(r.source??"")],["Model",d2?.model??"\u2014"],["Started",when(r.started_at)],["Last active",lastActive?`${when(lastActive)} (${ago(lastActive)})`:"\u2014"],["Duration",lastActive?span(r.started_at,lastActive):"\u2014"],["Ended",d2?.ended_at?`${when(d2.ended_at)} \xB7 ${d2.end_reason??"\u2014"}`:void 0]]}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Messages",String(r.message_count)],["Tool calls",d2?String(d2.tool_call_count):void 0],["Input",d2?`${fmt(d2.input_tokens)} tok`:void 0],["Output",d2?`${fmt(d2.output_tokens)} tok`:void 0],["Cache",d2?`${fmt(d2.cache_read_tokens)} r / ${fmt(d2.cache_write_tokens)} w`:void 0],["Reasoning",d2?`${fmt(d2.reasoning_tokens)} tok`:void 0],["Cost",d2?cost(d2.estimated_cost_usd):void 0,theme.success]]}),hasLineage?$jsxs($Fragment,{children:[$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{fg:theme.textMuted,children:"Lineage"})}),info.continuesFrom?$jsx("box",{height:1,onMouseDown:go(info.continuesFrom.id),children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:" \u2190 continues from "}),$jsx("span",{fg:theme.accent,children:info.continuesFrom.title||info.continuesFrom.id})]})}):null,info.compressedTo?$jsx("box",{height:1,onMouseDown:go(info.compressedTo.id),children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:" \u2192 compressed to "}),$jsx("span",{fg:theme.accent,children:info.compressedTo.title||info.compressedTo.id})]})}):null,subs2>0?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:" \u2387 spawned "}),$jsx("span",{fg:theme.text,children:String(subs2)}),$jsx("span",{fg:theme.textMuted,children:` subagent${subs2===1?"":"s"}`})]})}):null]}):null,!d2?$jsxs($Fragment,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"(no local detail \u2014 state.db mismatch)"})})]}):null,$jsx("box",{height:1})]}),$jsx(Peek,{sid:r.id,total:r.message_count,peek:props.peek})]})})}),SearchDetail=import_react52.memo((props)=>{let theme=useTheme().theme,r=props.result,parts2=[],rest=r.snippet;while(rest.length){let start=rest.indexOf(">>>");if(start<0){parts2.push({text:rest,hi:!1});break}if(start>0)parts2.push({text:rest.slice(0,start),hi:!1});let end=rest.indexOf("<<<",start+3);if(end<0){parts2.push({text:rest.slice(start+3),hi:!0});break}parts2.push({text:rest.slice(start+3,end),hi:!0}),rest=rest.slice(end+3)}return $jsx(TabShell,{title:"Search Match",grow:2,children:$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",width:"100%",children:[$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:r.title??"Untitled"})})})}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Source",badge(r.source)],["Model",r.model??"\u2014"],["Time",when(r.started_at)]]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Snippet"})}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:parts2.map((p,i)=>p.hi?$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:p.text})},i):$jsx("span",{fg:theme.text,children:p.text},i))})})]})})})}),HeaderRow=import_react52.memo((props)=>{let theme=useTheme().theme,fg2=theme.textMuted,on=theme.accent,by=props.sort;return $jsxs(Hdr,{children:[$jsx(Col,{w:2,fg:fg2,children:" "}),$jsx(Col,{grow:!0,fg:fg2,bold:!0,children:"Title"}),$jsx(Col,{w:9,fg:fg2,bold:!0,children:"Source"}),$jsx(Col,{w:8,fg:by==="started"?on:fg2,bold:!0,onClick:()=>props.onSort("started"),children:by==="started"?"Start \u25BE":"Start"}),$jsx(Col,{w:10,fg:by==="active"?on:fg2,bold:!0,right:!0,onClick:()=>props.onSort("active"),children:by==="active"?"Active \u25BE":"Active"}),$jsx(Col,{w:7,fg:fg2,bold:!0,right:!0,children:"Msgs"}),$jsx("box",{width:3})]})}),Item=import_react52.memo((props)=>{let theme=useTheme().theme,{row:r,idx:i}=props,[x2,setX]=import_react52.useState(!1),active=r.detail?.last_active??r.detail?.ended_at??null,leader=props.indent?"\u2514\u2500":props.selected?"\u25B8 ":" ",muted=props.indent&&!props.selected?theme.textMuted:void 0;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:props.selected?theme.backgroundElement:void 0,onMouseDown:()=>props.onActivate(i),onMouseMove:()=>props.onHover(i),children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:muted??theme.text,children:leader}),$jsx(Marquee,{grow:!0,active:props.selected,fg:props.selected?theme.accent:muted??theme.text,bold:props.selected,children:r.title||"Untitled"}),$jsx(Col,{w:9,fg:muted??theme.info,children:badge(r.source??"")}),$jsx(Col,{w:8,fg:theme.textMuted,children:stamp(r.started_at)}),$jsx(Col,{w:10,fg:theme.textMuted,right:!0,children:active?ago(active):"\u2014"}),$jsx(Col,{w:7,fg:theme.textMuted,right:!0,children:String(r.message_count)}),props.indent?$jsx("box",{width:3}):$jsx("box",{width:3,onMouseDown:(e)=>{e.stopPropagation(),props.onDelete(i)},onMouseOver:()=>setX(!0),onMouseOut:()=>setX(!1),children:$jsx("text",{children:$jsx("span",{fg:x2?theme.error:theme.textMuted,children:" \u2715"})})})]})}),SearchHeaderRow=import_react52.memo(()=>{let fg2=useTheme().theme.textMuted;return $jsxs(Hdr,{children:[$jsx(Col,{w:2,fg:fg2,children:" "}),$jsx(Col,{grow:!0,fg:fg2,bold:!0,children:"Title"}),$jsx(Col,{w:9,fg:fg2,bold:!0,children:"Source"}),$jsx(Col,{w:10,fg:fg2,bold:!0,children:"When"}),$jsx(Col,{w:20,fg:fg2,bold:!0,children:"Model"})]})}),SearchItem=import_react52.memo((props)=>{let theme=useTheme().theme,{result:r,idx:i}=props;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:props.selected?theme.backgroundElement:void 0,onMouseDown:()=>props.onActivate(i),onMouseMove:()=>props.onHover(i),children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "}),$jsx(Col,{grow:!0,fg:props.selected?theme.accent:theme.text,bold:props.selected,children:r.title??"Untitled"}),$jsx(Col,{w:9,fg:theme.info,children:badge(r.source)}),$jsx(Col,{w:10,fg:theme.textMuted,children:ago(r.started_at)}),$jsx(Col,{w:20,fg:theme.textMuted,children:r.model??"\u2014"})]})}),last={rows:[],kids:new Map},Sessions=import_react52.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),dims=useTerminalDimensions(),cached2=props.io==null,io2={list:props.io?.list??io.roots,search:props.io?.search??io.search,subagents:props.io?.subagents??io.children,lineage:props.io?.lineage??io.lineage,peek:props.io?.peek??io.peek,remove:props.io?.remove??exports_sessions_db.remove,rename:props.io?.rename??exports_sessions_db.rename},[rows2,setRows]=import_react52.useState(cached2?last.rows:[]),[warn,setWarn]=import_react52.useState(""),[pending2,setPending]=import_react52.useState(rows2.length===0),sort=exports_preferences.usePref("sessions")?.sort??"active",setSort=import_react52.useCallback((s)=>exports_preferences.set("sessions",{sort:s}),[]),sorted=import_react52.useMemo(()=>[...rows2].sort(cmp(sort)),[rows2,sort]),[anchor,setAnchor]=import_react52.useState(null),[searching,setSearching]=import_react52.useState(!1),[query,setQuery]=import_react52.useState(""),[results,setResults]=import_react52.useState([]),[searchSel,setSearchSel]=import_react52.useState(0),[kids,setKids]=import_react52.useState(cached2?last.kids:new Map),debounce=import_react52.useRef(null),vscroll=import_react52.useRef(null),anchored=anchor&&sorted.find((r)=>r.id===anchor.id),owner=anchor?.indent?sorted.find((r)=>kids.get(r.id)?.some((c)=>c.id===anchor.id)):(anchored?.detail?.subagent_count??0)>0?anchored:void 0,visible=sorted.flatMap((r,i)=>r.id===owner?.id?[{row:r,indent:!1,parentIdx:i},...(kids.get(r.id)??[]).map((c)=>({row:c,indent:!0,parentIdx:i}))]:[{row:r,indent:!1,parentIdx:i}]),sel=anchor?Math.max(0,visible.findIndex((v2)=>v2.row.id===anchor.id&&v2.indent===anchor.indent)):0,live=import_react52.useRef({rows:rows2,visible,anchor,results,searching,onSwitch:props.onSwitch,currentId:props.currentId});live.current={rows:rows2,visible,anchor,results,searching,onSwitch:props.onSwitch,currentId:props.currentId};let setSel=import_react52.useCallback((arg)=>{let cur=live.current,prev=cur.visible.findIndex((v3)=>v3.row.id===cur.anchor?.id&&v3.indent===cur.anchor.indent),n=typeof arg==="function"?arg(Math.max(0,prev)):arg,v2=cur.visible[Math.max(0,Math.min(cur.visible.length-1,n))];if(v2)setAnchor({id:v2.row.id,indent:v2.indent})},[]),LIMIT=2000,toRow2=(d2)=>({id:d2.id,title:d2.title??"",preview:d2.lastMessage??"",message_count:d2.message_count,started_at:d2.started_at,source:d2.sessionSource,detail:d2}),load3=import_react52.useCallback(async()=>{setPending(!0);let rpc=gw.request("session.list",{limit:LIMIT}).then((r2)=>({ok:!0,v:r2})).catch((e)=>({ok:!1,e})),disk=await Promise.resolve(io2.list(LIMIT)).catch(()=>[]),local=new Map(disk.map((r2)=>[r2.id,r2])),diskRows=disk.filter((d2)=>d2.message_count>0).map(toRow2);if(setRows(diskRows),cached2)last.rows=diskRows;let fillKids=async(list)=>{let ps=list.filter((r2)=>(r2.detail?.subagent_count??0)>0),cs=await Promise.all(ps.map((r2)=>io2.subagents(r2.id))),m2=new Map(ps.map((r2,i)=>[r2.id,cs[i].map(toRow2)]));if(setKids(m2),cached2)last.kids=m2};fillKids(diskRows);let r=await rpc;if(r.ok&&r.v.sessions?.length){let seen=new Set(diskRows.map((s)=>s.id)),merged=[...diskRows,...r.v.sessions.filter((s)=>(s.message_count??0)>0&&!seen.has(s.id)).map((s)=>({...s,detail:local.get(s.id)}))];if(setRows(merged),cached2)last.rows=merged;fillKids(merged)}setPending(!1),setWarn(!r.ok?local.size?`gateway session.list failed (${r.e.message}) \u2014 listing state.db directly; rows may not resume`:r.e.message:"")},[gw]);import_react52.useEffect(()=>{load3()},[load3]),import_react52.useEffect(()=>{if(!anchor&&sorted.length)setAnchor({id:sorted[0].id,indent:!1})},[sorted,anchor]),import_react52.useEffect(()=>{if(!searching||!query.trim()){setResults([]);return}return debounce.current=setTimeout(()=>{Promise.resolve(io2.search(query,30)).then((r)=>{setResults(r),setSearchSel(0)})},150),()=>{if(debounce.current)clearTimeout(debounce.current)}},[query,searching]);let rowHover=import_react52.useCallback((i)=>{live.current.searching?setSearchSel(i):setSel(i)},[setSel]),rowActivate=import_react52.useCallback((i)=>{let l=live.current;l.searching?setSearchSel(i):setSel(i);let hit=l.searching?l.results[i]:l.visible[i]?.row,id=l.searching?hit?.session_id:hit?.id;if(!id||!l.onSwitch)return;if(id===l.currentId)return l.onSwitch(id);let title=hit?.title||"Untitled",n=l.searching?void 0:hit.message_count;openConfirm(dialog,{title:"Load session?",body:`${trunc4(title,60)}${n!=null?` \xB7 ${n} msg${n===1?"":"s"}`:""}
4094
4094
 
4095
4095
  Current chat will be replaced.`,yes:"load"}).then((ok)=>{if(ok)l.onSwitch?.(id)})},[dialog]),rowDelete=import_react52.useCallback((i)=>{let v2=live.current.visible[i];if(v2&&!v2.indent)confirmDeleteRef.current(v2.row)},[]),lineageSwitch=import_react52.useCallback((sid)=>{let l=live.current;if(!l.onSwitch)return;if(sid===l.currentId)return l.onSwitch(sid);openConfirm(dialog,{title:"Load session?",body:`Switch to ${trunc4(sid,24)}?
4096
4096
 
@@ -4100,8 +4100,8 @@ Current chat will be replaced.`,yes:"load"}).then((ok)=>{if(ok)l.onSwitch?.(sid)
4100
4100
  `,text2.indexOf("\u2550\u2550\u2550\u2550\u2550\u2550",userH+1)),next=text2.slice(after>0?after:userH+40).search(/\n#\s/),e=next>=0?(after>0?after:userH+40)+next+1:text2.length;if(s>=0)mark2(s,e,"user","User Profile",makeSource("memories/USER.md","USER.md"))}let m0=text2.indexOf("# Mem0 Memory");if(m0>=0){let next=text2.slice(m0+1).search(/\n##?\s/);mark2(m0,next>=0?m0+1+next+1:text2.length,"mem0","Mem0 Memory")}let skH=text2.indexOf("## Skills (mandatory)"),skE=text2.indexOf("</available_skills>");if(skH>=0&&skE>=0){let end=text2.indexOf(`
4101
4101
  `,skE);while(end<text2.length&&end>=0){let nl=text2.indexOf(`
4102
4102
  `,end+1);if(nl<0){end=text2.length;break}let line2=text2.slice(end+1,nl).trim();if(line2.startsWith("#"))break;if(line2===""){if(text2.slice(nl+1,text2.indexOf(`
4103
- `,nl+1)).trim().startsWith("#")){end=nl;break}}end=nl}mark2(skH,end+1,"skills","Skills Catalog",makeSource("skills","skills/"))}let proj=text2.indexOf("# Project Context");if(proj>=0){let conv2=text2.indexOf("Conversation started:");mark2(proj,conv2>proj?conv2:text2.length,"project","Project Context",makeSource("AGENTS.md"))}let conv=text2.indexOf("Conversation started:");if(conv>=0)mark2(conv,text2.length,"meta","Session Metadata");let start=-1;for(let i=0;i<=text2.length;i++)if(i<text2.length&&!used[i]){if(start<0)start=i}else if(start>=0){let slice=text2.slice(start,i);if(slice.trim().length>0)sections.push({id:"other",label:"Other",chars:slice.length,tokens:count2(slice),text:slice});start=-1}return sections.sort((a,b2)=>text2.indexOf(a.text)-text2.indexOf(b2.text))}function classifyTools(tools){let system=[],mcp=[];for(let t2 of tools)if(t2.name.startsWith("mcp_"))mcp.push(t2);else system.push(t2);return{system,mcp}}function toolTokens(tool){return Math.ceil((tool.descriptionLength+tool.paramsLength)/CPT)}function build(opts){let pct=(t2)=>opts.contextLength>0?t2/opts.contextLength*100:0,result=[],byId2=new Map;for(let s of opts.sections)byId2.set(s.id,s);let promptChildren=opts.sections.filter((sec)=>SYSTEM_PROMPT_IDS.has(sec.id)&&sec.tokens>0).map((sec)=>({id:sec.id,label:sec.label,tokens:sec.tokens,percent:pct(sec.tokens),section:sec})),promptTok=promptChildren.reduce((s,c)=>s+c.tokens,0);if(promptTok>0)result.push({id:"system_prompt",label:"System Prompt",tokens:promptTok,percent:pct(promptTok),children:promptChildren});let{system:sysTools,mcp:mcpTools}=classifyTools(opts.tools),sysToolsTok=sysTools.reduce((s,t2)=>s+toolTokens(t2),0);if(sysToolsTok>0)result.push({id:"system_tools",label:"System Tools",tokens:sysToolsTok,percent:pct(sysToolsTok)});let mcpToolsTok=mcpTools.reduce((s,t2)=>s+toolTokens(t2),0);if(mcpToolsTok>0)result.push({id:"mcp_tools",label:"MCP Tools",tokens:mcpToolsTok,percent:pct(mcpToolsTok)});let memChildren=opts.sections.filter((sec)=>MEMORY_IDS.has(sec.id)&&sec.tokens>0).map((sec)=>({id:sec.id,label:sec.label,tokens:sec.tokens,percent:pct(sec.tokens),section:sec})),memTok=memChildren.reduce((s,c)=>s+c.tokens,0);if(memTok>0)result.push({id:"memory",label:"Memory",tokens:memTok,percent:pct(memTok),children:memChildren});let skillsSec=byId2.get("skills"),skillsTok=skillsSec?.tokens??opts.skillsTokens??0;if(skillsTok>0)result.push({id:"skills",label:"Skills",tokens:skillsTok,percent:pct(skillsTok),section:skillsSec});if(opts.conversationTokens>0){let ct=Math.min(opts.conversationTokens,opts.inputTokens||opts.conversationTokens);result.push({id:"conversation",label:"Conversation",tokens:ct,percent:pct(ct)})}let taken=result.reduce((s,g)=>s+g.tokens,0),free=Math.max(0,opts.contextLength-taken);return result.push({id:"free",label:"Free",tokens:free,percent:pct(free)}),result}function drill(group){if(!group.children||group.children.length===0)return[];let total=group.tokens;return group.children.map((c)=>({...c,percent:total>0?c.tokens/total*100:0}))}function cells(segments,fallback="free"){let filled=segments.flatMap((seg)=>Array.from({length:Math.round(seg.percent/100*GRID)},()=>({id:seg.id}))),pad=Array.from({length:Math.max(0,GRID-filled.length)},()=>({id:fallback}));return[...filled,...pad].slice(0,GRID)}var import_react54=__toESM(require_react_production(),1);var FileLink=import_react54.memo(({source,children:children2})=>{let theme=useTheme().theme,[hovered,setHovered]=import_react54.useState(!1);return $jsx("box",{height:1,onMouseDown:()=>openFile(source.file),onMouseOver:()=>setHovered(!0),onMouseOut:()=>setHovered(!1),children:$jsx("text",{fg:theme.info,attributes:hovered?TextAttributes.UNDERLINE:TextAttributes.NONE,children:children2??source.label})})}),KVLink=(props)=>{let theme=useTheme().theme;return $jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:13,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:props.label})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx(FileLink,{source:props.source,children:props.text??props.source.label})})]})};var GOLDEN_ANGLE=137.50776405003785;function luminance(c){return 0.299*c.r+0.587*c.g+0.114*c.b}function rgbaToHsl(c){let{r,g,b:b2}=c,max=Math.max(r,g,b2),min=Math.min(r,g,b2),l=(max+min)/2,d2=max-min;if(d2===0)return[0,0,l];let s=l>0.5?d2/(2-max-min):d2/(max+min),h2;switch(max){case r:h2=(g-b2)/d2+(g<b2?6:0);break;case g:h2=(b2-r)/d2+2;break;default:h2=(r-g)/d2+4}return[h2*60,s,l]}function hslToRgba(h2,s,l){if(h2=(h2%360+360)%360/360,s===0)return RGBA.fromValues(l,l,l,1);let q3=l<0.5?l*(1+s):l+s-l*s,p=2*l-q3,ch=(t2)=>{if(t2<0)t2+=1;if(t2>1)t2-=1;if(t2<0.16666666666666666)return p+(q3-p)*6*t2;if(t2<0.5)return q3;if(t2<0.6666666666666666)return p+(q3-p)*(0.6666666666666666-t2)*6;return p};return RGBA.fromValues(ch(h2+0.3333333333333333),ch(h2),ch(h2-0.3333333333333333),1)}function categorical(seed,bg2,n){let[h0]=rgbaToHsl(seed),dark=luminance(bg2)<0.5,s=dark?0.6:0.7,l=dark?0.62:0.42,out=[];for(let i=0;i<n;i++)out.push(hslToRgba(h0+i*GOLDEN_ANGLE,s,l));return out}var DEFAULT_CTX=128000,COLS2=16,SLOTS2=["system_prompt","system_tools","mcp_tools","memory","skills","conversation","soul","mem0","user","project","meta","other"],SLOT=Object.fromEntries(SLOTS2.map((id,i)=>[id,i])),rampCache=new WeakMap;function ramp2(theme){let r=rampCache.get(theme);if(!r)rampCache.set(theme,r=categorical(theme.primary,theme.background,SLOTS2.length));return r}function clr(id,theme){if(id==="free")return theme.borderSubtle;return ramp2(theme)[SLOT[id]??SLOT.other]}var fmt2=(n)=>{if(n>=1e6)return`${(n/1e6).toFixed(1)}M`;if(n>=1e4)return`${Math.round(n/1000)}k`;if(n>=1000)return`${(n/1000).toFixed(1)}k`;return String(n)},est=(s)=>s?count2(s):0,bar=(pct,w2=20)=>{let f=Math.round(Math.max(0,Math.min(100,pct))/100*w2);return`[${"\u2588".repeat(f)}${"\u2591".repeat(Math.max(0,w2-f))}]`},SectionPanel=import_react55.memo(({seg,theme})=>{let{syntaxStyle}=useTheme(),sec=seg.section;if(!sec)return null;return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr(seg.id,theme),children:"\u25FC"})," ",seg.label," \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),$jsxs("text",{children:[sec.chars.toLocaleString()," chars \xB7 ~",fmt2(sec.tokens)," tokens"]}),sec.source?$jsxs("box",{flexDirection:"row",height:1,children:[$jsx("text",{children:"Source: "}),$jsx(FileLink,{source:sec.source})]}):null,$jsx("text",{children:" "}),$jsx("markdown",{content:sec.text,fg:theme.markdownText,syntaxStyle})]})}),MemoryPanel=import_react55.memo(({seg,theme,label,chars,limit,pct,entries,source})=>$jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr(seg.id,theme),children:"\u25FC"})," ",seg.label," \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),$jsx("text",{children:" "}),$jsxs("box",{flexDirection:"row",height:1,children:[$jsx("text",{children:$jsx("strong",{children:label})}),source?$jsxs($Fragment2,{children:[$jsx("text",{children:" ("}),$jsx(FileLink,{source}),$jsx("text",{children:")"})]}):null]}),$jsxs("text",{children:[chars.toLocaleString()," / ",limit.toLocaleString()," chars (",pct,"%)"]}),$jsxs("text",{children:[bar(pct,25),pct>=95?" \u26A0 near limit":""]}),$jsx("text",{children:" "}),$jsxs("text",{children:[entries.length," entries:"]}),entries.map((e,i)=>$jsxs("text",{fg:theme.text,children:["\xB7 ",e]},i))]})),SkillsPanel=import_react55.memo(({seg,theme})=>{let sec=seg.section;if(!sec)return null;let cats={};for(let line2 of sec.text.split(`
4104
- `)){if(line2.match(/^\s{2}(\S[\w-]*(?:\/\S+)?):\s/)){let cat=line2.match(/^\s{2}(\S[\w-]*(?:\/\S+)?):\s/)[1];if(!cats[cat])cats[cat]=0}if(line2.match(/^\s{4}- \S+:/)){let last2=Object.keys(cats).pop();if(last2)cats[last2]++}}let sorted=Object.entries(cats).sort((a,b2)=>b2[1]-a[1]),total=sorted.reduce((s,[,n])=>s+n,0);return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr("skills",theme),children:"\u25FC"})," Skills Catalog \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),sec.source?$jsxs("box",{flexDirection:"row",height:1,children:[$jsx("text",{children:"Source: "}),$jsx(FileLink,{source:sec.source})]}):null,$jsx("text",{children:" "}),$jsxs("text",{children:[total," skills in ",sorted.length," categories \xB7 ",sec.chars.toLocaleString()," chars"]}),$jsx("text",{fg:theme.textMuted,children:"Largest context section \u2014 skill names + descriptions injected every turn."}),$jsx("text",{children:" "}),sorted.map(([cat,n])=>$jsxs("text",{fg:theme.text,children:["\xB7 ",cat," (",n,")"]},cat))]})}),ToolsPanel=import_react55.memo(({seg,theme,tools,kind:kind2})=>{let sorted=[...tools].sort((a,b2)=>b2.descriptionLength+b2.paramsLength-(a.descriptionLength+a.paramsLength)),label=kind2==="mcp_tools"?"MCP Tools":"System Tools",blurb=kind2==="mcp_tools"?"MCP-loaded tools \u2014 schemas injected via mcp_ prefix.":"Built-in tool schemas sent with every API call.";return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr(kind2,theme),children:"\u25FC"})," ",label," \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),$jsx("text",{children:" "}),$jsxs("text",{children:[tools.length," tools \u2014 ",blurb]}),$jsx("text",{children:" "}),sorted.map((t2)=>$jsxs("text",{fg:theme.text,children:["\xB7 ",t2.name," (",fmt2(toolTokens(t2))," tok)"]},t2.name))]})}),ConvPanel=import_react55.memo(({seg,theme,messages,output})=>{let user=messages.filter((m2)=>m2.role==="user"),asst=messages.filter((m2)=>m2.role==="assistant"),non=messages.filter((m2)=>m2.role!=="system");return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr("conversation",theme),children:"\u25FC"})," Conversation \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),$jsx("text",{children:" "}),$jsxs("text",{children:["User: ",user.length," msgs (~",fmt2(est(user.map((m2)=>text(m2)).join("")))," tok)"]}),$jsxs("text",{children:["Agent: ",asst.length," msgs (~",fmt2(est(asst.map((m2)=>text(m2)).join("")))," tok)"]}),output>0?$jsxs("text",{children:["Output generated: ",fmt2(output)," tokens"]}):null,$jsx("text",{children:" "}),non.length>0?$jsxs($Fragment2,{children:[$jsx("text",{fg:theme.info,children:"Messages:"}),$jsx("text",{children:" "}),non.map((m2,i)=>$jsxs("text",{children:[$jsx("span",{fg:m2.role==="user"?theme.info:theme.success,children:m2.role==="user"?"\u25B8 You":"\u25C2 Agent"})," ","(",fmt2(est(text(m2))),") ",text(m2).replace(/\n/g," ")]},i))]}):$jsx("text",{fg:theme.warning,children:"No messages yet"})]})}),FreePanel=import_react55.memo(({seg,theme,ctxLen,comp,onEditThreshold})=>{let used=ctxLen-seg.tokens,threshold=Math.round(ctxLen*(comp?.threshold??0.5)),pct=threshold>0?Math.min(100,Math.round(used/threshold*100)):0;return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr("free",theme),children:"\u25FB"})," Free Space \u2014 ",fmt2(seg.tokens)," tokens"]})}),$jsx("text",{children:" "}),$jsxs("text",{children:["Context window: ",fmt2(ctxLen)]}),$jsxs("text",{children:["Used: ",fmt2(used)," (",Math.round(used/ctxLen*100),"%)"]}),$jsxs("text",{children:["Available: ",fmt2(seg.tokens)," (",seg.percent.toFixed(1),"%)"]}),$jsx("text",{children:" "}),comp?$jsxs($Fragment2,{children:[$jsx("text",{children:$jsx("strong",{children:"Compression"})}),$jsxs("box",{height:1,flexDirection:"row",children:[$jsxs("text",{children:[comp.enabled?"\u2713 Enabled":"\u2717 Disabled"," \xB7 threshold "]}),$jsx("box",{flexShrink:0,onMouseDown:onEditThreshold,children:$jsx("text",{fg:theme.info,children:$jsxs("u",{children:[Math.round(comp.threshold*100),"%"]})})}),$jsxs("text",{children:[" (",fmt2(threshold),")"]})]}),$jsxs("text",{children:[bar(pct)," ",pct,"%"]}),$jsxs("text",{children:["Protect last ",comp.protect_last_n," messages \xB7 target ratio ",Math.round(comp.target_ratio*100),"%"]}),comp.summary_model?$jsxs("text",{children:["Summary model: ",comp.summary_model]}):null]}):null]})}),NO_MESSAGES=Object.freeze([]),Context=import_react55.memo(({messages=NO_MESSAGES,info,focused})=>{let config=useHome("config"),memory=useHome("memory"),userProfile=useHome("userProfile"),gw=useGateway(),dialog=useDialog(),toast=useToast(),systemPrompt2=useHome("systemPrompt"),toolsInfo=useHome("toolsInfo"),soul=useHome("soul"),recentSessions=useHome("recentSessions"),liveSessions=useHome("liveSessions"),[wire,setWire]=import_react55.useState({input:0,output:0,total:0,calls:0}),wireRef=import_react55.useRef(wire),theme=useTheme().theme,[hovered,setHovered]=import_react55.useState(null),[selected,setSelected]=import_react55.useState(null),[drilled,setDrilled]=import_react55.useState(null);import_react55.useEffect(()=>{let input=0,output2=0,total=0,calls=0;for(let m2 of messages)if(m2.usage)input+=m2.usage.input,output2+=m2.usage.output,total+=m2.usage.total,calls++;let next={input,output:output2,total,calls};wireRef.current=next,setWire(next)},[messages]);let session=recentSessions?.[0],ctxLen=info?.context_max??DEFAULT_CTX,lastPrompt=(session?Object.values(liveSessions??{}).find((ls)=>ls.session_id===session.id):void 0)?.last_prompt_tokens??0,fill=wire.calls>0?wire.input:lastPrompt>0?lastPrompt:session?.input_tokens??0,cumulative=wire.calls===0&&lastPrompt===0&&(session?.input_tokens??0)>0,output=wire.calls>0?wire.output:session?.output_tokens??0,pct=ctxLen>0?Math.round(fill/ctxLen*100):0,thresholdPct=config?.compression?.threshold??0.5,thresholdIdx=Math.min(COLS2*COLS2,Math.max(0,Math.round(thresholdPct*COLS2*COLS2))),compressions=info?.usage?.compressions??0,promptText=info?.system_prompt??systemPrompt2?.text??"",sections=import_react55.useMemo(()=>parse4(promptText),[promptText]),convTok=import_react55.useMemo(()=>est(messages.filter((m2)=>m2.role!=="system").map((m2)=>text(m2)).join("")),[messages]),top=import_react55.useMemo(()=>build({contextLength:ctxLen,inputTokens:fill,sections,conversationTokens:convTok,tools:toolsInfo?.tools??[]}),[ctxLen,fill,sections,convTok,toolsInfo?.tools]),drilledGroup=drilled?top.find((s)=>s.id===drilled):null,view=drilledGroup?drill(drilledGroup):top,grid=import_react55.useMemo(()=>cells(view,drilledGroup?drilledGroup.children?.[0]?.id??"other":"free"),[view,drilledGroup]),findSeg=(id)=>{if(drilledGroup)return view.find((s)=>s.id===id);return top.find((s)=>s.id===id)},memEntries=import_react55.useMemo(()=>(memory?.content??"").split("\xA7").map((s)=>s.trim()).filter(Boolean),[memory?.content]),userEntries=import_react55.useMemo(()=>(userProfile?.content??"").split("\xA7").map((s)=>s.trim()).filter(Boolean),[userProfile?.content]),click=(id)=>{if(drilled){setSelected(selected===id?null:id);return}let seg=top.find((s)=>s.id===id);if(seg?.children&&seg.children.length>0){setDrilled(id),setSelected(null);return}setSelected(selected===id?null:id)},lastEsc=import_react55.useRef(0),segs=view.filter((s)=>s.tokens>0),idx=selected?segs.findIndex((s)=>s.id===selected):-1,setSel=(v2)=>{let n=Math.max(0,Math.min(segs.length-1,typeof v2==="function"?v2(idx):v2));setSelected(segs[n]?.id??null)},keys=useKeys();useKeyboard((key2)=>{if(!focused||dialog.open())return;if(handleListKey(keys,key2,{count:segs.length,setSel,onActivate:()=>{if(drilled||!selected)return;if(top.find((s)=>s.id===selected)?.children?.length)setDrilled(selected),setSelected(null)}}))return;if(key2.name==="right")return setSel((p)=>p+1);if(key2.name==="left")return setSel((p)=>p-1);if(key2.name!=="escape")return;let now=Date.now();if(now-lastEsc.current<400){setSelected(null),setDrilled(null),lastEsc.current=0;return}if(lastEsc.current=now,selected)return setSelected(null);if(drilled)return setDrilled(null)});let editThreshold=async()=>{let cur=Math.round((config?.compression?.threshold??0.5)*100),v2=await openTextPrompt(dialog,{title:"Compression threshold",label:"Percent (10\u201395)",initial:String(cur)});if(v2===null)return;let n=Math.max(10,Math.min(95,Number(v2)||cur)),{writeConfig:writeConfig2}=await Promise.resolve().then(() => (init_lane(),exports_lane)),r=await writeConfig2(gw,[{key:"compression.threshold",to:n/100}]);if(r.failed.length)return toast.show({variant:"error",message:r.failed[0].err});home2.invalidate("config"),toast.show({variant:"success",message:`Threshold \u2192 ${n}%`})},detail=()=>{if(!selected)return null;let seg=findSeg(selected);if(!seg)return null;if(selected==="memory"&&drilled==="memory"&&memory)return $jsx(MemoryPanel,{seg,theme,label:"Agent Notes",chars:memory.charCount,limit:memory.charLimit,pct:memory.usagePercent,entries:memEntries,source:memory.source});if(selected==="user"&&userProfile)return $jsx(MemoryPanel,{seg,theme,label:"User Profile",chars:userProfile.charCount,limit:userProfile.charLimit,pct:userProfile.usagePercent,entries:userEntries,source:userProfile.source});if(selected==="skills")return $jsx(SkillsPanel,{seg,theme});if(selected==="system_tools"&&toolsInfo){let{system}=classifyTools(toolsInfo.tools);return $jsx(ToolsPanel,{seg,theme,tools:system,kind:"system_tools"})}if(selected==="mcp_tools"&&toolsInfo){let{mcp}=classifyTools(toolsInfo.tools);return $jsx(ToolsPanel,{seg,theme,tools:mcp,kind:"mcp_tools"})}if(selected==="soul"&&soul){let soulSeg={...seg,section:{id:"soul",label:"SOUL.md",chars:soul.charCount,tokens:soul.tokenEstimate,text:soul.content,source:soul.source}};return $jsx(SectionPanel,{seg:soulSeg,theme})}if(selected==="conversation")return $jsx(ConvPanel,{seg,theme,messages,output});if(selected==="free")return $jsx(FreePanel,{seg,theme,ctxLen,comp:config?.compression,onEditThreshold:editThreshold});return $jsx(SectionPanel,{seg,theme})},breakdown=()=>$jsxs("box",{flexDirection:"column",marginBottom:1,children:[$jsxs("text",{children:[$jsx("strong",{children:"Breakdown"}),drilledGroup?$jsxs("span",{fg:theme.info,children:[" \xB7 ",drilledGroup.label," (",fmt2(drilledGroup.tokens)," tok)"]}):$jsx("span",{fg:theme.info,children:" (click group to expand)"})]}),view.filter((s)=>s.tokens>0).map((s)=>$jsxs("text",{children:[$jsx("span",{fg:clr(s.id,theme),children:s.id==="free"?"\u25FB":"\u25FC"})," ",s.label," \u2014 ",fmt2(s.tokens)," (",s.percent.toFixed(1),"%)",s.children?$jsx("span",{fg:theme.textMuted,children:" \u25B8"}):null]},s.id)),output>0&&!drilled?$jsxs("text",{children:[$jsx("span",{fg:theme.success,children:"\u25FC"})," Output \u2014 ",fmt2(output)," tokens"]}):null,$jsx("text",{children:$jsxs("span",{fg:theme.textMuted,children:["\u25FC Beyond compression threshold (",Math.round(thresholdPct*100),"%)"]})})]}),crumb=drilled?`${drilledGroup?.label}${selected?` \xB7 ${findSeg(selected)?.label}`:""}`:wire.calls===0&&fill===0?"[no data]":cumulative?"[cumulative \u2014 not current fill]":wire.calls===0&&fill>0?"[live session]":"\u2191\u2193 nav \xB7 click a group to drill in",escHint=selected||drilled?" \xB7 Esc back":"",focus=selected||hovered,focusSeg=focus?findSeg(focus):null;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs(TabShell,{title:`Context \xB7 ${fmt2(fill)} / ${fmt2(ctxLen)} (${pct}%)`,children:[$jsx("box",{height:1,children:focusSeg?$jsxs("text",{fg:clr(focusSeg.id,theme),children:["\u25FC ",focusSeg.label," \u2014 ",fmt2(focusSeg.tokens)," tok (",focusSeg.percent.toFixed(1),"%)"]}):$jsx("text",{children:" "})}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsxs("box",{flexDirection:"column",marginRight:2,flexShrink:0,children:[compressions>0?$jsx("box",{height:1,marginBottom:1,children:$jsxs("text",{fg:theme.warning,children:["\xD7",compressions," compressed"]})}):null,$jsx("box",{border:!0,customBorderChars:CORNERS,borderColor:theme.border,children:[...Array(COLS2)].map((_2,row)=>$jsx("box",{flexDirection:"row",height:1,children:[...Array(COLS2)].map((_3,col)=>{let cell=grid[row*COLS2+col],hl=selected?selected===cell.id:hovered===cell.id,past=row*COLS2+col>=thresholdIdx,glyph=!past&&cell.id==="free"?"\u25FB":"\u25FC";return $jsx("box",{height:1,width:2,backgroundColor:hl?clr(cell.id,theme):void 0,onMouseOver:()=>setHovered(cell.id),onMouseOut:()=>setHovered(null),onMouseDown:()=>click(cell.id),children:$jsx("text",{fg:past?theme.textMuted:clr(cell.id,theme),children:glyph})},col)})},row))})]}),$jsx("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:selected?detail():breakdown()})]})]}),$jsx(HintBar,{raw:crumb+escHint})]})});var import_react57=__toESM(require_react_production(),1);init_hermes_analytics();var BLOCKS=" \u2581\u2582\u2583\u2584\u2585\u2586\u2587\u2588",rows2=(vals,h2)=>{let peak=Math.max(1,...vals),ticks=vals.map((v2)=>Math.round(h2*8*v2/peak));return Array.from({length:h2},(_2,r)=>{let floor=(h2-1-r)*8;return ticks.map((t2)=>BLOCKS[Math.max(0,Math.min(8,t2-floor))]).join("")})},Chart=import_react57.memo((p)=>{let theme=useTheme().theme,days=p.data.byDay,vals=days.map((d2)=>d2.cost),peak=Math.max(...vals,0.01),axis=(v2)=>cost(v2).padStart(7),md=(s)=>s.slice(5);return $jsxs("box",{flexDirection:"column",children:[rows2(vals,p.h).map((line2,i)=>$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:8,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:i===0?axis(peak):i===p.h-1?axis(0):""})}),$jsx("text",{fg:theme.primary,children:line2})]},i)),$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:8,flexShrink:0}),$jsx("text",{fg:theme.textMuted,children:days.length>0?`${md(days[0].date)}${" ".repeat(Math.max(0,days.length-10))}${md(days[days.length-1].date)}`:""})]})]})}),Rank=import_react57.memo((p)=>{let theme=useTheme().theme;if(p.rows===null)return $jsxs("box",{flexDirection:"column",flexGrow:1,flexBasis:0,minWidth:0,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:p.title})}),$jsx("box",{height:1,children:$jsx(Spinner,{label:"aggregating\u2026"})})]});let top=p.rows.slice(0,p.n??10),peak=Math.max(1,...top.map((r)=>r.n)),total=p.rows.reduce((a,r)=>a+r.n,0);return $jsxs("box",{flexDirection:"column",flexGrow:1,flexBasis:0,minWidth:0,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:p.title})}),top.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2014"})}):top.map((r)=>$jsxs("box",{height:1,flexDirection:"row",children:[$jsx(Col,{w:18,children:trunc4(r.name,17)}),$jsx(Col,{w:12,fg:p.fg,children:"\u2587".repeat(Math.max(1,Math.round(10*r.n/peak)))}),$jsx(Col,{w:7,right:!0,children:fmt(r.n)}),$jsx(Col,{w:6,right:!0,fg:theme.textMuted,children:total?`${Math.round(100*r.n/total)}%`:""})]},r.name))]})}),Analytics=import_react57.memo((props)=>{let theme=useTheme().theme,dims=useTerminalDimensions(),[days,setDays]=import_react57.useState(7),[data2,setData]=import_react57.useState(()=>cache2.get(days)??null),[tools,setTools]=import_react57.useState(()=>cache2.get(days)?.byTool??null),[tick2,setTick]=import_react57.useState(0),gen=import_react57.useRef(0);import_react57.useEffect(()=>{let hit=cache2.get(days);setData(hit??null),setTools(hit?.byTool??null);let g=++gen.current;return io.analytics(days,{tools:!1}).then((fast)=>{if(gen.current!==g)return;setData(fast),io.analytics(days).then((full)=>{if(gen.current!==g)return;cache2.set(days,full),setData(full),setTools(full.byTool)})}),()=>{gen.current++}},[days,tick2]);let keys=useKeys();useKeyboard((key2)=>{if(!props.focused)return;if(keys.match("list.refresh",key2))return cache2.delete(days),setTick((n)=>n+1);if(key2.raw==="1")return setDays(1);if(key2.raw==="7")return setDays(7);if(key2.raw==="3")return setDays(30);if(key2.raw==="9")return setDays(90)});let t2=data2?.total,tok=(t2?.input??0)+(t2?.output??0),title=import_react57.useMemo(()=>!t2?`Analytics \xB7 ${days}d`:`Analytics \xB7 ${days}d \xB7 ${t2.sessions} sess \xB7 ${fmt(tok)} tok \xB7 ${cost(t2.cost)}`,[days,t2,tok]),wide=dims.width>=110,chartH=dims.height>=40?8:6;if(!data2)return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(TabShell,{title,children:$jsx("box",{height:1,children:$jsx(Spinner,{label:`aggregating ${days}d\u2026`})})}),$jsx(HintBar,{pairs:[["1/7/3/9","period"],[keys.print("list.refresh"),"reload"]]})]});let nTools=8,nSrc=6,ranksH=wide?Math.max(nTools,nSrc)+1:nTools+nSrc+3;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(TabShell,{title,children:$jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,overflow:"hidden",children:[$jsxs("box",{flexShrink:0,flexDirection:"column",children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`Cost per day \xB7 ${fmt(t2.input)} in \xB7 ${fmt(t2.output)} out \xB7 ${fmt(t2.cache)} cache \xB7 ${fmt(t2.calls)} tool calls`})}),$jsx(Chart,{data:data2,h:chartH})]}),$jsx("box",{height:1,flexShrink:0}),$jsx("box",{flexShrink:0,children:$jsxs(Hdr,{children:[$jsx(Col,{grow:!0,min:18,fg:theme.textMuted,children:"Model"}),$jsx(Col,{w:6,right:!0,fg:theme.textMuted,children:"sess"}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:"in"}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:"out"}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:"cache"}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:"cost"})]})}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,flexShrink:1,minHeight:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:data2.byModel.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"no sessions in range"})}):data2.byModel.map((m2)=>$jsxs("box",{height:1,flexDirection:"row",children:[$jsx(Col,{grow:!0,min:18,children:trunc4(m2.model,40)}),$jsx(Col,{w:6,right:!0,fg:theme.textMuted,children:String(m2.sessions)}),$jsx(Col,{w:9,right:!0,children:fmt(m2.input)}),$jsx(Col,{w:9,right:!0,children:fmt(m2.output)}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:fmt(m2.cache)}),$jsx(Col,{w:9,right:!0,fg:theme.accent,children:cost(m2.cost)})]},m2.model))})}),$jsx("box",{height:1,flexShrink:0}),$jsxs("box",{flexShrink:0,height:ranksH,flexDirection:wide?"row":"column",gap:wide?2:1,children:[$jsx(Rank,{title:"Tools",rows:tools,fg:theme.success,n:nTools}),$jsx(Rank,{title:"Sources",rows:data2.bySource,fg:theme.info,n:nSrc})]})]})}),$jsx(HintBar,{pairs:[["1/7/3/9","period"],[keys.print("list.refresh"),"reload"]]})]})});var import_react59=__toESM(require_react_production(),1);var SubTabBar=import_react59.memo((props)=>$jsx(TabStrip,{...props}));var TABS=[{name:"Chat",description:"Main chat interface"},{name:"Sessions",description:"Sessions, context, analytics"},{name:"Profiles & Automation",description:"Profiles, cron jobs, kanban boards"},{name:"Config",description:"Config, env, skills, toolsets, memory"}],TAB_MAX=TABS.length-1,CHAT_TAB=0,SESSIONS_TAB=1,AUTOMATION_TAB=2,CONFIG_TAB=3,SUB_TABS={[1]:["List","Context","Analytics"],[2]:["Kanban","Profiles","Cron"],[3]:["Config","Skills","Toolsets","Env","Memory"]},TAB_SLASH={chat:{tab:0,sub:0},sessions:{tab:1,sub:0},context:{tab:1,sub:1},analytics:{tab:1,sub:2},insights:{tab:1,sub:2},kanban:{tab:2,sub:0},automation:{tab:2,sub:0},profiles:{tab:2,sub:1},agents:{tab:2,sub:1},cron:{tab:2,sub:2},config:{tab:3,sub:0},skills:{tab:3,sub:1},toolsets:{tab:3,sub:2},env:{tab:3,sub:3},memory:{tab:3,sub:4}};var SessionsGroup=import_react60.memo((props)=>{let keys=useKeys(),labels=SUB_TABS[SESSIONS_TAB];import_react60.useEffect(()=>{if(props.sub>=labels.length)props.setSub(0)},[props.sub,labels.length]);let hint=`${keys.print("tab.prev")}/${keys.print("tab.next")} group \xB7 shift+\u2190/\u2192 sub`;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(SubTabBar,{tabs:labels,active:props.sub,onChange:props.setSub,hint}),$jsxs("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:[$jsx(Pane,{visible:props.sub===0,children:$jsx(Sessions,{focused:!!props.focused&&props.sub===0,onSwitch:props.onSwitch,currentId:props.currentId})}),$jsx(Pane,{visible:props.sub===1,children:$jsx(Context,{focused:!!props.focused&&props.sub===1,messages:props.messages,sessionStart:props.sessionStart,info:props.info})}),$jsx(Pane,{visible:props.sub===2,children:$jsx(Analytics,{focused:!!props.focused&&props.sub===2})})]})]})}),Pane=({visible,children:children2})=>visible?$jsx("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:children2}):null;var import_react81=__toESM(require_react_production(),1);var import_react72=__toESM(require_react_production(),1);var acc=new Map;function record(ev,p){let id=p.subagent_id;if(!id)return;let now=Date.now()/1000;if(ev==="start"){acc.set(id,{subagent_id:id,parent_id:p.parent_id??null,depth:p.depth??0,goal:p.goal,model:p.model,started_at:now,tool_count:0,status:"running",trail:[]});return}let r=acc.get(id);if(!r)return;if(ev==="tool"&&p.tool_name){r.tool_count++,r.trail=[...r.trail??[],{name:p.tool_name,preview:p.tool_preview}].slice(-20);return}if(ev==="complete")r.status=p.status??"completed",r.finished_at=now,r.input_tokens=p.input_tokens,r.output_tokens=p.output_tokens,r.cost_usd=p.cost_usd}function trail(id){return acc.get(id)?.trail??[]}function flush(gw,sessionId){if(acc.size===0)return;let subagents=[...acc.values()];acc.clear();let label=(subagents.filter((s)=>s.parent_id==null).slice(0,2).map((s)=>s.goal).join(" \xB7 ")||`${subagents.length} subagents`).slice(0,120),started=Math.min(...subagents.map((s)=>s.started_at));gw.request("spawn_tree.save",{session_id:sessionId,label,started_at:started,finished_at:Date.now()/1000,subagents}).catch(()=>{})}var import_react63=__toESM(require_react_production(),1);var import_react61=__toESM(require_react_production(),1);var DialogSelect=(props)=>{let filterable=props.filterable??!0,[filter,setFilter]=import_react61.useState(""),[cursor,setCursor]=import_react61.useState(0),mode=import_react61.useRef("kb"),sb=import_react61.useRef(null),theme=useTheme().theme,filtered=import_react61.useMemo(()=>{let lower=filter.toLowerCase();return props.options.filter((o)=>o.title.toLowerCase().includes(lower)||(o.description??"").toLowerCase().includes(lower))},[filter,props.options]),groups=import_react61.useMemo(()=>{let map=new Map;return filtered.forEach((o)=>{let cat=o.category??"",arr=map.get(cat)??[];arr.push(o),map.set(cat,arr)}),map},[filtered]);import_react61.useEffect(()=>{if(cursor>=filtered.length)setCursor(Math.max(0,filtered.length-1))},[filtered.length,cursor]);let rowId=(i)=>`ds-row-${i}`,scrollTo=(i)=>sb.current?.scrollChildIntoView(rowId(i));import_react61.useEffect(()=>{let item=filtered[cursor];if(item&&props.onMove)props.onMove(item)},[cursor,filtered,props.onMove]);let keys=useKeys();useKeyboard((key2)=>{let onToggle=!filterable?()=>{let item=filtered[cursor];if(item)props.onSelect(item)}:void 0;if(handleListKey(keys,key2,{count:filtered.length,setSel:(fn)=>{mode.current="kb",setCursor(fn)},scrollTo,page:Math.max(1,(sb.current?.viewport.height??10)-1),onActivate:()=>{let item=filtered[cursor];if(item)props.onSelect(item)},onToggle}))return;if(props.onKey?.(key2))return});let idx=0,entries=Array.from(groups.entries());return $jsxs("box",{flexDirection:"column",width:60,children:[$jsx("text",{fg:theme.text,children:$jsx("strong",{children:props.title})}),$jsx("box",{height:1}),filterable?$jsxs($Fragment2,{children:[$jsx("input",{value:filter,onInput:(v2)=>{mode.current="kb",setFilter(v2)},placeholder:props.placeholder??"Type to filter...",focused:!0,textColor:theme.text,placeholderColor:theme.textMuted,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement}),$jsx("box",{height:1})]}):null,$jsxs("scrollbox",{ref:sb,scrollY:!0,maxHeight:16,focused:!filterable,contentOptions:{flexDirection:"column"},paddingRight:1,children:[filtered.length===0?$jsx("text",{fg:theme.textMuted,children:"No results found"}):null,entries.map(([cat,items])=>{let elements=[];if(cat)elements.push($jsx("text",{fg:theme.textMuted,children:$jsx("strong",{children:cat})},`cat-${cat}`));return items.forEach((item)=>{let i=idx++,active=i===cursor,current=item.value===props.current;elements.push($jsxs("box",{id:rowId(i),flexDirection:"row",backgroundColor:active?theme.backgroundElement:void 0,onMouseMove:()=>{mode.current="mouse",setCursor((c)=>c===i?c:i)},onMouseOver:()=>{if(mode.current==="mouse")setCursor(i)},onMouseDown:()=>props.onSelect(item),paddingLeft:1,paddingRight:1,children:[$jsx("box",{flexGrow:1,height:1,overflow:"hidden",children:$jsxs("text",{fg:active?theme.text:theme.textMuted,children:[current?"\u25CF ":" ",item.title,item.description?` \u2014 ${item.description}`:""]})}),item.hint?$jsx("box",{flexShrink:0,height:1,children:$jsx("text",{fg:theme.textMuted,children:item.hint})}):null]},item.value))}),elements}).flat()]}),props.footer!=null?$jsx("box",{paddingTop:1,children:props.footer}):null]})};var Ctx6=import_react63.createContext(null),CommandProvider=({children:children2})=>{let registry=import_react63.useRef(new Map),[,setRevision]=import_react63.useState(0),enabled2=import_react63.useRef(!0),dialog=useDialog(),keys=useKeys(),all=import_react63.useCallback(()=>{let result=[];return registry.current.forEach((cmds)=>cmds.forEach((c)=>result.push(c))),result},[]),register=import_react63.useCallback((cmds)=>{let id=String(Date.now())+Math.random();return registry.current.set(id,cmds),setRevision((r)=>r+1),()=>{registry.current.delete(id),setRevision((r)=>r+1)}},[]),setEnabled=import_react63.useCallback((val)=>{enabled2.current=val},[]),open2=import_react63.useCallback(()=>{let cmds=all(),options=cmds.map((c)=>({title:c.title,value:c.value,description:c.description,hint:c.action?keys.print(c.action):void 0,category:c.category}));dialog.replace($jsx(DialogSelect,{title:"Command Palette",options,onSelect:(opt)=>{dialog.clear();let found=cmds.find((c)=>c.value===opt.value);if(found)found.onSelect()},placeholder:"Search commands..."}))},[all,dialog,keys]);useKeyboard((key2)=>{if(!enabled2.current||dialog.open())return;if(keys.match("palette.open",key2))return open2();for(let c of all())if(c.action&&keys.match(c.action,key2))return c.onSelect()});let value=import_react63.useMemo(()=>({register,setEnabled}),[register,setEnabled]);return $jsx(Ctx6.Provider,{value,children:children2})},useCommand=makeUse(Ctx6,"useCommand");var Status=({s})=>{let theme=useTheme().theme,fg2=s==="completed"?theme.success:s==="failed"?theme.error:s==="interrupted"?theme.warning:theme.textMuted;return $jsx("span",{fg:fg2,children:s})},SnapshotView=(props)=>{let theme=useTheme().theme,subs2=props.snap.subagents??[],tok=subs2.reduce((n,s)=>n+(s.input_tokens??0)+(s.output_tokens??0),0),span2=props.snap.started_at&&props.snap.finished_at?dur2(props.snap.finished_at-props.snap.started_at):"\u2014";return $jsxs("box",{flexDirection:"column",width:80,children:[$jsx("text",{fg:theme.text,children:$jsx("strong",{children:props.entry.label||`${subs2.length} subagents`})}),$jsxs("text",{fg:theme.textMuted,children:[when(props.entry.finished_at)," \xB7 ",span2," \xB7 ",subs2.length," agents \xB7 ",fmt(tok)," tok"]}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,maxHeight:20,contentOptions:{flexDirection:"column"},children:subs2.map((s)=>$jsxs("box",{flexDirection:"column",marginBottom:1,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"\u2503 "+"\xB7 ".repeat(s.depth)}),$jsx("span",{fg:theme.text,children:trunc4(s.goal.replace(/\s+/g," "),60)})]})}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:["\u2503 "+" ".repeat(2*s.depth+2),$jsx(Status,{s:s.status}),` \xB7 ${s.tool_count}t`,s.finished_at?` \xB7 ${dur2(s.finished_at-s.started_at)}`:"",s.model?` \xB7 ${s.model}`:""]})})]},s.subagent_id))})]})};function openSpawnHistory(dialog,gw,sessionId){gw.request("spawn_tree.list",{session_id:sessionId,limit:50}).then((r)=>{let entries=r.entries??[];dialog.replace($jsx(DialogSelect,{title:"Spawn history",placeholder:entries.length?"filter\u2026":"no saved spawn trees",options:entries.map((e)=>({value:e.path,title:`${e.count.toString().padStart(2)}\xD7 ${trunc4(e.label||"(unlabeled)",40)}`,description:when(e.finished_at),category:e.session_id===sessionId?"This session":e.session_id})),onSelect:(opt)=>{let entry2=entries.find((e)=>e.path===opt.value);gw.request("spawn_tree.load",{path:entry2.path}).then((snap)=>dialog.replace($jsx(SnapshotView,{entry:entry2,snap}))).catch(()=>dialog.clear())}}))}).catch(()=>dialog.clear())}var import_react66=__toESM(require_react_production(),1);var Dialog=(props)=>{let theme=useTheme().theme,keys=useKeys();useKeyboard((key2)=>{if(keys.match("dialog.cancel",key2)||keys.match("dialog.accept",key2))return props.onClose()});let d2=props.d,req=d2.env_requires.filter((e)=>e.required),opt=d2.env_requires.filter((e)=>!e.required),link2=d2.source?{file:d2.source,relative:d2.source,label:d2.source}:props.yaml,when2=d2.installed_at?Date.parse(d2.installed_at):NaN;return $jsxs("box",{flexDirection:"column",minWidth:62,gap:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:`Distribution \xB7 ${props.profile}`})})}),$jsxs("box",{flexDirection:"column",children:[$jsx(KVBlock,{rows:[["Name",d2.name],["Version",`v${d2.version}`],["Requires",d2.hermes_requires?`Hermes ${d2.hermes_requires}`:void 0],["Author",d2.author||void 0],["License",d2.license||void 0],["Description",d2.description||void 0]]}),$jsx(KVLink,{label:"Source",source:link2,text:d2.source||props.yaml.label}),$jsx(KVBlock,{rows:[["Installed",Number.isFinite(when2)?ago(when2/1000):void 0],["Owned",d2.distribution_owned.length?d2.distribution_owned.join(", "):void 0]]})]}),d2.env_requires.length?$jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:"Environment variables"})})}),req.length?$jsxs($Fragment2,{children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Required"})}),req.map((e)=>$jsx(EnvRow,{name:e.name,desc:e.description,fallback:e.default},e.name))]}):null,opt.length?$jsxs($Fragment2,{children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Optional"})}),opt.map((e)=>$jsx(EnvRow,{name:e.name,desc:e.description,fallback:e.default},e.name))]}):null]}):null,$jsx("box",{height:1,children:$jsx("text",{fg:theme.borderSubtle,children:`[${keys.print("dialog.cancel")}] close`})})]})},EnvRow=(props)=>{let theme=useTheme().theme,tail=[props.desc,props.fallback?`default: ${props.fallback}`:""].filter(Boolean).join(" \xB7 ");return $jsxs("box",{flexDirection:"row",minHeight:1,children:[$jsx("box",{width:2,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:" "})}),$jsx("box",{width:22,flexShrink:0,children:$jsx("text",{fg:theme.accent,children:props.name})}),$jsx("box",{flexGrow:1,minWidth:0,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:tail})})]})};function openDistributionInfo(dialog,opts){dialog.replace($jsx(Dialog,{profile:opts.profile,d:opts.d,yaml:opts.yaml,onClose:()=>dialog.clear()}))}function openProfileMenu(dialog,p,ops){let opts=[...ops.switch&&!p.is_active?[{category:"Switch",value:"switch",title:`Switch to '${p.name}'`,description:"restart gateway under this HERMES_HOME \u2014 ends current session"}]:[],{category:"Open",value:"soul",title:"SOUL.md",description:"edit persona/system prompt"},{category:"Open",value:"config",title:"config.yaml",description:"model, provider, toolsets"},...p.has_env?[{category:"Open",value:"env",title:".env",description:"API keys + secrets"}]:[],{category:"Open",value:"dir",title:"Directory",description:p.path},...p.distribution?[{category:"Distribution",value:"dist-info",title:"Info",description:`v${p.distribution.version}${p.distribution.source?` \xB7 ${p.distribution.source}`:""}`},{category:"Distribution",value:"dist-update",title:"Update",description:`hermes profile update ${p.name}${p.is_active?" \xB7 ends current session":""}`}]:[],...p.is_sticky?[{category:"Default",value:"unsticky",title:"Clear sticky default",description:"hermes profile use --clear"}]:[{category:"Default",value:"sticky",title:"Set as sticky default",description:`hermes profile use ${p.name}`}],{category:"Manage",value:"export",title:"Export",description:`hermes profile export ${p.name}`},...p.is_default||p.is_active?[]:[{category:"Manage",value:"delete",title:"Delete",description:"irreversible \u2014 removes config, env, memory, sessions"}]];dialog.replace($jsx(DialogSelect,{title:`Profile \xB7 ${p.name}${p.is_active?" (active)":""}`,options:opts,onSelect:(o)=>{if(o.value==="dist-info"){if(!p.distribution)return dialog.clear();return openDistributionInfo(dialog,{profile:p.name,d:p.distribution,yaml:p.sources.distribution})}if(o.value==="dist-update"){if(!p.distribution)return dialog.clear();return openUpdateDistribution(dialog,p,(force)=>ops.update(p,force))}if(dialog.clear(),o.value==="switch")return ops.switch?.();if(o.value==="soul")return openFile(p.sources.soul.file);if(o.value==="config")return openFile(p.sources.config.file);if(o.value==="env")return openFile(p.sources.env.file);if(o.value==="dir")return openFile(p.path);if(o.value==="sticky")return ops.sticky(p);if(o.value==="unsticky")return ops.unsticky();if(o.value==="export")return ops.export(p);if(o.value==="delete")return ops.remove(p)}}))}var UpdateForm=(props)=>{let theme=useTheme().theme,keys=useKeys(),[force,setForce]=import_react66.useState(!1);useKeyboard((key2)=>{if(keys.match("dialog.cancel",key2)||keys.match("dialog.deny",key2))return props.done(null);if(keys.match("dialog.confirm",key2)||keys.match("dialog.accept",key2))return props.done(force);if(key2.name==="space"||key2.name===" ")return setForce((f)=>!f)});let d2=props.p.distribution;return $jsxs("box",{flexDirection:"column",width:62,gap:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.warning,children:$jsx("strong",{children:"Update distribution?"})})}),$jsxs("box",{flexDirection:"column",children:[$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:`'${props.p.name}' \xB7 v${d2.version}${d2.source?` \xB7 ${d2.source}`:""}`})}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:"Re-pulls from source; distribution-owned files are overwritten."})}),props.p.is_active?$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.warning,children:"\u26A0 This is the active profile. The gateway will re-spawn "+"and the current session will end."})}):null]}),$jsx("box",{height:1,children:$jsx("text",{fg:force?theme.warning:theme.textMuted,children:`${force?"[x]":"[ ]"} --force-config \xB7 also overwrite config.yaml`})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`[${keys.print("dialog.confirm")}] update [Space] toggle force [${keys.print("dialog.cancel")}] cancel`})})]})};function openUpdateDistribution(dialog,p,onConfirm){dialog.replace($jsx(UpdateForm,{p,done:(force)=>{if(dialog.clear(),force!==null)onConfirm(force)}}))}var import_react68=__toESM(require_react_production(),1);import{existsSync as existsSync10,readFileSync as readFileSync3}from"fs";import{readdir as readdir3}from"fs/promises";import{homedir as homedir6}from"os";import{join as join8,basename as basename7,dirname as dirname5}from"path";import{Database as Database2}from"bun:sqlite";var home3=()=>process.env.HOME||homedir6(),hermesHome=()=>process.env.HERMES_HOME||join8(home3(),".hermes");function root(){let hh=hermesHome(),parent=dirname5(hh);return basename7(parent)==="profiles"?dirname5(parent):hh}function profileNameFrom(hh){let parent=dirname5(hh);return basename7(parent)==="profiles"?basename7(hh):"default"}function activeProfileName(){return profileNameFrom(hermesHome())}function stickyDefault(){try{return readFileSync3(join8(root(),"active_profile"),"utf-8").trim()||null}catch{return null}}var ID_RE=/^[a-z0-9][a-z0-9_-]{0,63}$/;function readModel(dir){try{let raw=readFileSync3(join8(dir,"config.yaml"),"utf-8"),block=raw.split(/^model:\s*$/m)[1]?.split(/^\S/m)[0]??"",m2=block.match(/^\s+(?:default|model):\s*(.+)$/m)?.[1]?.trim()??raw.match(/^model:\s*(\S.+)$/m)?.[1]?.trim(),p=block.match(/^\s+provider:\s*(.+)$/m)?.[1]?.trim(),clean=(s)=>s?.replace(/^["']|["']$/g,"")??null;return[clean(m2),clean(p)]}catch{return[null,null]}}async function countSkills(dir){let glob=new Bun.Glob("**/SKILL.md"),n=0;try{for await(let _2 of glob.scan({cwd:join8(dir,"skills"),onlyFiles:!0}))n++}catch{}return n}function gatewayRunning(dir){try{let raw=readFileSync3(join8(dir,"gateway.pid"),"utf-8").trim(),pid2=raw.startsWith("{")?Number(JSON.parse(raw).pid):Number(raw);if(!Number.isFinite(pid2)||pid2<=0)return!1;return process.kill(pid2,0),!0}catch{return!1}}function soul(dir){try{return readFileSync3(join8(dir,"SOUL.md"),"utf-8").replace(/^#[^\n]*\n+/,"").replace(/^\s+/,"").slice(0,400)}catch{return""}}function readDistributionManifest(dir){let path7=join8(dir,"distribution.yaml");if(!existsSync10(path7))return null;let data2=(()=>{try{return $parse(readFileSync3(path7,"utf-8"))}catch{return null}})();if(!data2||typeof data2!=="object"||Array.isArray(data2))return null;let d2=data2,name=typeof d2.name==="string"?d2.name.trim():"";if(!name)return null;let envs=(Array.isArray(d2.env_requires)?d2.env_requires:[]).flatMap((e)=>{if(!e||typeof e!=="object")return[];let r=e,n=typeof r.name==="string"?r.name.trim():"";if(!n)return[];return[{name:n,description:typeof r.description==="string"?r.description:"",required:r.required===void 0?!0:Boolean(r.required),default:typeof r.default==="string"?r.default:null}]}),owned=(Array.isArray(d2.distribution_owned)?d2.distribution_owned:[]).map((p)=>typeof p==="string"?p.trim().replace(/\/+$/,""):"").filter((p)=>p.length>0);return{name,version:typeof d2.version==="string"?d2.version:"0.1.0",description:typeof d2.description==="string"?d2.description:"",hermes_requires:typeof d2.hermes_requires==="string"?d2.hermes_requires:"",author:typeof d2.author==="string"?d2.author:"",license:typeof d2.license==="string"?d2.license:"",env_requires:envs,distribution_owned:owned,source:typeof d2.source==="string"?d2.source:"",installed_at:typeof d2.installed_at==="string"?d2.installed_at:""}}var src=(file,label)=>({file,relative:file.replace(home3()+"/","~/"),label});async function info(name,dir,active,sticky){let[model,provider]=readModel(dir),alias=join8(home3(),".local","bin",name);return{name,path:dir,is_default:name==="default",is_active:name===active,is_sticky:name===sticky,gateway_running:gatewayRunning(dir),model,provider,has_env:existsSync10(join8(dir,".env")),skill_count:await countSkills(dir),has_alias:name!=="default"&&existsSync10(alias),soul_preview:soul(dir),distribution:readDistributionManifest(dir),sources:{dir:src(dir,dir.replace(home3()+"/","~/")),config:src(join8(dir,"config.yaml"),"config.yaml"),soul:src(join8(dir,"SOUL.md"),"SOUL.md"),env:src(join8(dir,".env"),".env"),distribution:src(join8(dir,"distribution.yaml"),"distribution.yaml")}}}async function listProfiles(activeHome){let r=root(),active=profileNameFrom(activeHome??hermesHome()),sticky=stickyDefault(),jobs=[];if(existsSync10(r))jobs.push(info("default",r,active,sticky));let pr=join8(r,"profiles");if(existsSync10(pr))for(let e of await readdir3(pr,{withFileTypes:!0})){if(!e.isDirectory()||!ID_RE.test(e.name))continue;jobs.push(info(e.name,join8(pr,e.name),active,sticky))}return Promise.all(jobs)}function validateName(name,existing){if(!ID_RE.test(name))return"must match [a-z0-9][a-z0-9_-]{0,63}";if(existing.includes(name))return"already exists";if(["hermes","default","test","tmp","root","sudo"].includes(name))return"reserved name";return null}function readPrefs(dir){try{let raw=JSON.parse(readFileSync3(join8(dir,"herm","tui.json"),"utf-8"));return{theme:raw.theme,eikon:raw.eikonPath?basename7(raw.eikonPath,".eikon"):void 0,keys:raw.keys?Object.keys(raw.keys).length:0}}catch{return null}}async function profileStats(dir){let sessions=null,messages=null,dbPath=join8(dir,"state.db");if(existsSync10(dbPath))try{let db=new Database2(dbPath,{readwrite:!0,create:!1}),r=db.query("SELECT COUNT(*) AS s FROM sessions WHERE message_count > 0").get(),m2=db.query("SELECT COALESCE(SUM(message_count), 0) AS m FROM sessions").get();sessions=r.s,messages=m2.m,db.close()}catch{}let crons=null;try{let jobs=await Bun.file(join8(dir,"cron","jobs.json")).json();crons=Array.isArray(jobs)?jobs.length:jobs&&typeof jobs==="object"&&Array.isArray(jobs.jobs)?jobs.jobs.length:0}catch{crons=existsSync10(join8(dir,"cron"))?0:null}return{sessions,messages,crons,prefs:readPrefs(dir)}}var ORDER2=["name","clone","alias"];function openCreateProfile(dialog,opts){return new Promise((resolve4)=>{let done=(r)=>{dialog.clear(),resolve4(r)};dialog.replace($jsx(Form,{existing:opts.existing,done}))})}var Form=({existing,done})=>{let theme=useTheme().theme,[name,setName]=import_react68.useState(""),[cloneIdx,setCloneIdx]=import_react68.useState(0),[alias,setAlias]=import_react68.useState(!0),[field,setField]=import_react68.useState("name"),options=["(fresh)",...existing],err=name?validateName(name,existing):null,valid=!!name&&!err,submit=()=>{if(!valid)return;done({name,cloneFrom:cloneIdx===0?null:options[cloneIdx],alias})},moveField=(dir)=>{let i=ORDER2.indexOf(field);setField(ORDER2[(i+dir+ORDER2.length)%ORDER2.length])};useKeyboard((key2)=>{if(key2.name==="escape")return done(null);if(key2.name==="tab")return moveField(key2.shift?-1:1);if(key2.name==="return")return submit();if(field==="name"){if(key2.name==="backspace")return setName((n)=>n.slice(0,-1));if(key2.raw&&key2.raw.length===1&&/[a-z0-9_-]/.test(key2.raw))return setName((n)=>n+key2.raw);return}if(field==="clone"){if(key2.name==="up")return setCloneIdx((i)=>Math.max(0,i-1));if(key2.name==="down")return setCloneIdx((i)=>Math.min(options.length-1,i+1));return}if(field==="alias"){if(key2.name==="space"||key2.name===" ")return setAlias((a)=>!a)}});let focusBg=(f)=>field===f?theme.backgroundElement:void 0;return $jsxs("box",{flexDirection:"column",width:54,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"New Profile"})})}),$jsx("box",{height:1}),$jsxs("box",{height:1,flexDirection:"row",backgroundColor:focusBg("name"),children:[$jsx("box",{width:11,children:$jsx("text",{fg:theme.textMuted,children:"Name"})}),$jsxs("text",{children:[$jsx("span",{fg:valid||!name?theme.text:theme.error,children:name}),field==="name"?$jsx("span",{fg:theme.accent,children:"\u2588"}):null]})]}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:" a-z 0-9 _ - \xB7 lowercase"})}),$jsx("box",{height:1}),$jsx("box",{height:1,backgroundColor:focusBg("clone"),children:$jsx("text",{fg:theme.textMuted,children:"Clone from (\u2191\u2193)"})}),options.map((o,i)=>$jsx("box",{height:1,backgroundColor:focusBg("clone"),children:$jsxs("text",{fg:i===cloneIdx?theme.accent:theme.text,children:[i===cloneIdx?"\u25B8 ":" ",o]})},o)),$jsx("box",{height:1}),$jsxs("box",{height:1,flexDirection:"row",backgroundColor:focusBg("alias"),children:[$jsx("box",{width:11,children:$jsx("text",{fg:theme.textMuted,children:"Alias"})}),$jsx("text",{fg:alias?theme.accent:theme.textMuted,children:alias?"[x] shell alias":"[ ] shell alias"})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:valid?"Enter create \xB7 Tab next field \xB7 Space toggle \xB7 Esc cancel":err??"type a name"})})]})};var import_react70=__toESM(require_react_production(),1);import{rmSync,mkdtempSync}from"fs";import{join as join9}from"path";import{tmpdir}from"os";var shq=(s)=>`'${s.replace(/'/g,"'\\''")}'`;function openInstallDistribution(dialog,gw){return new Promise((resolve4)=>{askSource(dialog,gw,(r)=>{dialog.clear(),resolve4(r)})})}function askSource(dialog,gw,done){dialog.replace($jsx(Step1,{onSubmit:(source)=>preview(dialog,gw,source,done),onCancel:()=>done(null)}))}async function preview(dialog,gw,source,done){let tmp=mkdtempSync(join9(tmpdir(),"herm-dist-preview-")),cleanup=()=>{try{rmSync(tmp,{recursive:!0,force:!0})}catch{}},state2={cancelled:!1},cancel=()=>{state2.cancelled=!0,cleanup(),done(null)};dialog.replace($jsx(Loading,{label:`Cloning ${source}\u2026`,onCancel:cancel}),void 0,{ownCancel:!0});let cmd=`git clone --depth 1 --quiet ${shq(source)} ${shq(tmp)} 2>&1`,r=await gw.request("shell.exec",{command:cmd}).catch((e)=>({stdout:"",stderr:e.message,code:-1}));if(state2.cancelled)return;if(r.code!==0){cleanup(),dialog.replace($jsx(ErrorBox,{title:"Clone failed",body:(r.stderr||r.stdout||`exit ${r.code}`).trim(),onClose:()=>done(null)}));return}let manifest=readDistributionManifest(tmp);if(!manifest){cleanup(),dialog.replace($jsx(ErrorBox,{title:"Not a distribution",body:`No valid distribution.yaml at the root of ${source}. A manifest must declare at minimum a 'name:' key.`,onClose:()=>done(null)}));return}dialog.replace($jsx(ConfirmStep,{source,manifest,onConfirm:(r2)=>{cleanup(),done(r2)},onCancel:()=>{cleanup(),done(null)}}),void 0,{ownCancel:!0})}var Step1=(p)=>{let theme=useTheme().theme,[value,setValue]=import_react70.useState("");return useKeyboard((key2)=>{if(key2.name==="escape")return p.onCancel()}),$jsxs("box",{flexDirection:"column",width:64,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Install Distribution"})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Source \u2014 git URL, github.com/owner/repo, or local directory"})}),$jsxs("box",{height:1,flexDirection:"row",overflow:"hidden",children:[$jsx("box",{flexShrink:0,children:$jsx("text",{fg:theme.accent,children:"\u2503 "})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("input",{value,onInput:setValue,onSubmit:()=>{let v2=value.trim();if(v2)p.onSubmit(v2)},focused:!0,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement})})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:value.trim()?"Enter preview \xB7 Esc cancel":"Esc cancel"})})]})},Loading=(p)=>{let theme=useTheme().theme;return useKeyboard((key2)=>{if(key2.name==="escape")return p.onCancel()}),$jsxs("box",{flexDirection:"column",width:54,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Install Distribution"})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx(Spinner,{color:theme.accent,label:p.label})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Esc to cancel"})})]})},ErrorBox=(p)=>{let theme=useTheme().theme,keys=useKeys();return useKeyboard((key2)=>{if(keys.match("dialog.accept",key2)||keys.match("dialog.cancel",key2))return p.onClose()}),$jsxs("box",{flexDirection:"column",width:68,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.error,children:$jsx("strong",{children:p.title})})}),$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.text,children:p.body})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Enter / Esc to close"})})]})},ORDER3=["name","alias"],ConfirmStep=(p)=>{let theme=useTheme().theme,keys=useKeys(),[name,setName]=import_react70.useState(""),[alias,setAlias]=import_react70.useState(!1),[field,setField]=import_react70.useState("name"),fire=()=>p.onConfirm({source:p.source,manifest:p.manifest,name:name.trim()||null,alias}),move=(dir)=>{let i=ORDER3.indexOf(field);setField(ORDER3[(i+dir+ORDER3.length)%ORDER3.length])};useKeyboard((key2)=>{if(key2.name==="escape")return p.onCancel();if(key2.name==="tab")return move(key2.shift?-1:1);if(field!=="name"&&keys.match("dialog.accept",key2))return fire();if(field==="alias"&&(key2.name==="space"||key2.name===" "))return setAlias((a)=>!a)});let m2=p.manifest,reqEnv=m2.env_requires.filter((e)=>e.required),optEnv=m2.env_requires.filter((e)=>!e.required),focusBg=(f)=>field===f?theme.backgroundElement:void 0;return $jsxs("box",{flexDirection:"column",width:72,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Install Distribution"})})}),$jsx("box",{height:1}),$jsx(KV2,{label:"Name",value:`${m2.name}${m2.version?` v${m2.version}`:""}`,theme}),m2.description?$jsx(KV2,{label:"About",value:m2.description,theme,wrap:!0}):null,m2.author?$jsx(KV2,{label:"Author",value:m2.author,theme}):null,m2.license?$jsx(KV2,{label:"License",value:m2.license,theme}):null,m2.hermes_requires?$jsx(KV2,{label:"Requires",value:`hermes ${m2.hermes_requires}`,theme}):null,$jsx(KV2,{label:"Source",value:p.source,theme}),m2.distribution_owned.length>0?$jsx(KV2,{label:"Owns",value:m2.distribution_owned.join(", "),theme,wrap:!0}):null,m2.env_requires.length>0?$jsx(KV2,{label:"Env",value:envSummary(reqEnv,optEnv),theme}):null,$jsx("box",{height:1}),$jsxs("box",{height:1,flexDirection:"row",backgroundColor:focusBg("name"),children:[$jsx("box",{width:11,children:$jsx("text",{fg:theme.textMuted,children:"Name as"})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:field==="name"?$jsx("input",{value:name,onInput:setName,onSubmit:fire,focused:!0,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement}):$jsx("text",{fg:name?theme.text:theme.textMuted,children:name||`(${m2.name})`})})]}),$jsxs("box",{height:1,flexDirection:"row",backgroundColor:focusBg("alias"),children:[$jsx("box",{width:11,children:$jsx("text",{fg:theme.textMuted,children:"Alias"})}),$jsx("text",{fg:alias?theme.accent:theme.textMuted,children:alias?"[x] create shell wrapper":"[ ] create shell wrapper"})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Enter install \xB7 Tab next field \xB7 Space toggle \xB7 Esc cancel"})})]})},KV2=(p)=>$jsxs("box",{flexDirection:"row",minHeight:1,children:[$jsx("box",{width:11,flexShrink:0,children:$jsx("text",{fg:p.theme.textMuted,children:p.label})}),$jsx("box",{flexGrow:1,minWidth:0,children:$jsx("text",{fg:p.theme.text,wrapMode:p.wrap?"word":"none",children:p.value})})]});function envSummary(req,opt){return[req.length>0?`${req.length} required (${req.map((e)=>e.name).join(", ")})`:"",opt.length>0?`${opt.length} optional`:""].filter(Boolean).join(" \xB7 ")}var running=(s)=>!s||s==="running"||s==="queued";function tree(recs,live,now){let ids=new Set(recs.map((r)=>r.subagent_id)),by=new Map;for(let r of recs){let k2=r.parent_id&&ids.has(r.parent_id)?r.parent_id:"";(by.get(k2)??by.set(k2,[]).get(k2)).push(r)}let build2=(r)=>{let kids=(by.get(r.subagent_id)??[]).map(build2),lv=live.get(r.subagent_id)??{},dur3=r.started_at!=null?Math.max(0,now-r.started_at):0,a={agents:1,tools:lv.tool_count??r.tool_count??0,dur:dur3,tok:(lv.input_tokens??0)+(lv.output_tokens??0),cost:lv.cost_usd??0,active:running(lv.status??r.status)?1:0,depth:0,hot:0};for(let k2 of kids)a={agents:a.agents+k2.agg.agents,tools:a.tools+k2.agg.tools,dur:a.dur+k2.agg.dur,tok:a.tok+k2.agg.tok,cost:a.cost+k2.agg.cost,active:a.active+k2.agg.active,depth:Math.max(a.depth,k2.agg.depth+1),hot:0};return a.hot=a.dur>0?a.tools/a.dur:0,{rec:r,agg:a,kids}};return(by.get("")??[]).map(build2)}function totals(nodes){let z2={agents:0,tools:0,dur:0,tok:0,cost:0,active:0,depth:0,hot:0};for(let n of nodes)z2.agents+=n.agg.agents,z2.tools+=n.agg.tools,z2.dur+=n.agg.dur,z2.tok+=n.agg.tok,z2.cost+=n.agg.cost,z2.active+=n.agg.active,z2.depth=Math.max(z2.depth,n.agg.depth+1);return z2.hot=z2.dur>0?z2.tools/z2.dur:0,z2}var SPARK=["\u2581","\u2582","\u2583","\u2584","\u2585","\u2586","\u2587","\u2588"];function spark(nodes){let w2=[],walk=(ns,d2)=>{if(ns.length===0)return;w2[d2]=(w2[d2]??0)+ns.length;for(let n of ns)walk(n.kids,d2+1)};if(walk(nodes,0),w2.length===0)return"";let max=Math.max(...w2);return w2.map((v2)=>v2<=0?" ":SPARK[Math.min(7,Math.ceil(v2/max*7))]).join("")}var tk=(n)=>n<1000?String(Math.round(n)):n<1e4?`${(n/1000).toFixed(1)}k`:`${Math.round(n/1000)}k`,$$=(n)=>n<=0?"":n<0.01?"<$0.01":n<10?`$${n.toFixed(2)}`:`$${n.toFixed(1)}`,sec=(s)=>{if(s<60)return`${Math.round(s)}s`;let m2=Math.floor(s/60),r=Math.round(s-m2*60);return r===0?`${m2}m`:`${m2}m${r}s`};function summary(a){let p=[`d${a.depth}`,`${a.agents} agent${a.agents===1?"":"s"}`];if(a.tools>0)p.push(`${a.tools} tools`);if(a.dur>0)p.push(sec(a.dur));if(a.tok>0)p.push(`${tk(a.tok)} tok`);if(a.cost>0)p.push($$(a.cost));if(a.active>0)p.push(`\u26A1${a.active}`);return p.join(" \xB7 ")}function heat(hot,peak,buckets){if(hot<=0||peak<=0||buckets<=1)return 0;return Math.min(buckets-1,Math.round(Math.min(1,hot/peak)*(buckets-1)))}function peak(nodes){let p=0,walk=(ns)=>{for(let n of ns)p=Math.max(p,n.agg.hot),walk(n.kids)};return walk(nodes),p}var ProfileRow=import_react72.memo((props)=>{let theme=useTheme().theme,{p,idx:i}=props,[x2,setX]=import_react72.useState(!1);return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:props.selected?theme.backgroundElement:void 0,onMouseOver:()=>props.onHover(i),onMouseDown:()=>props.onEnter(i),children:[$jsx("box",{width:2,children:$jsx("text",{fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "})}),$jsx("box",{flexGrow:1,minWidth:8,height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:p.is_active?theme.accent:theme.text,children:p.is_active?$jsx("strong",{children:p.name}):p.name}),p.is_sticky?$jsx("span",{fg:theme.warning,children:" \u2605"}):null,p.distribution?$jsx("span",{fg:theme.info,children:" \u2B22"}):null,p.gateway_running?$jsx("span",{fg:theme.success,children:" \u25CF"}):null]})}),$jsx("box",{width:4,height:1,children:$jsx("text",{fg:theme.textMuted,children:p.is_active?" you":""})}),p.is_default||p.is_active?$jsx("box",{width:3}):$jsx("box",{width:3,onMouseDown:(e)=>{e.stopPropagation(),props.onDelete(i)},onMouseOver:()=>setX(!0),onMouseOut:()=>setX(!1),children:$jsx("text",{fg:x2?theme.error:theme.textMuted,children:" \u2715"})})]})}),DistBlock=import_react72.memo((props)=>{let theme=useTheme().theme,d2=props.d,req=d2.env_requires.filter((e)=>e.required).length,opt=d2.env_requires.length-req,link2=d2.source?{file:d2.source,relative:d2.source,label:d2.source}:props.yaml,when2=d2.installed_at?Date.parse(d2.installed_at):NaN;return $jsxs($Fragment2,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:"Distribution"})})}),$jsx(KVBlock,{rows:[["Name",d2.name],["Version",`v${d2.version}`],["Requires",d2.hermes_requires?`Hermes ${d2.hermes_requires}`:void 0]]}),$jsx(KVLink,{label:"Source",source:link2,text:d2.source||props.yaml.label}),$jsx(KVBlock,{rows:[["Installed at",Number.isFinite(when2)?ago(when2/1000):void 0],["Env vars",d2.env_requires.length?`${req} required, ${opt} optional`:void 0]]})]})}),ProfileDetail=import_react72.memo((props)=>{let{theme,syntaxStyle}=useTheme(),p=props.p,s=props.stats;return $jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",width:"100%",children:[$jsx("box",{height:1,children:$jsxs("text",{fg:theme.accent,children:[$jsx("strong",{children:p.name}),p.is_sticky?$jsx("span",{fg:theme.warning,children:" \u2605 sticky default"}):null]})}),$jsx("box",{height:1}),$jsx(KVLink,{label:"Path",source:p.sources.dir,text:p.sources.dir.relative}),$jsx(KV,{label:"Active",value:p.is_active?"yes (this session)":"no",fg:p.is_active?theme.accent:theme.textMuted}),$jsx(KV,{label:"Model",value:p.model??"\u2014"}),$jsx(KV,{label:"Provider",value:p.provider??"\u2014"}),$jsx(KV,{label:"Skills",value:String(p.skill_count)}),$jsx(KV,{label:"Sessions",value:s?s.sessions==null?"\u2014":`${fmt(s.sessions)} (${fmt(s.messages??0)} msgs)`:"\u2026"}),$jsx(KV,{label:"Cron jobs",value:s?s.crons==null?"\u2014":String(s.crons):"\u2026"}),$jsx(KV,{label:"Theme",value:s?s.prefs?.theme??"\u2014":"\u2026"}),$jsx(KV,{label:"Avatar",value:s?s.prefs?.eikon??"\u2014":"\u2026"}),s?.prefs?.keys?$jsx(KV,{label:"Keybinds",value:`${s.prefs.keys} overrides`}):null,$jsx(KV,{label:"Gateway",value:p.gateway_running?"running":"stopped",fg:p.gateway_running?theme.success:theme.textMuted}),p.has_alias?$jsx(KV,{label:"Alias",value:`${p.name} (shell)`}):null,p.distribution?$jsx(DistBlock,{d:p.distribution,yaml:p.sources.distribution}):null,$jsx("box",{height:1}),$jsx(KVLink,{label:"Config",source:p.sources.config}),$jsx(KVLink,{label:"Soul",source:p.sources.soul}),p.has_env?$jsx(KVLink,{label:"Env",source:p.sources.env}):$jsx(KV,{label:"Env",value:"\u2014"}),p.soul_preview?$jsxs($Fragment2,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"SOUL.md"})}),$jsx("markdown",{content:p.soul_preview,fg:theme.markdownText,syntaxStyle})]}):null]})})}),HOT=["\u2800","\u2801","\u2803","\u2807","\u280F","\u281F","\u283F","\u287F","\u28FF"],DelegRow=import_react72.memo((props)=>{let theme=useTheme().theme,{r,idx:i,now}=props,[x2,setX]=import_react72.useState(!1),up=r.started_at?dur2(now-r.started_at):"\u2014",hotFg=[theme.textMuted,theme.textMuted,theme.text,theme.info,theme.info,theme.accent,theme.accent,theme.warning,theme.error][props.hot]??theme.textMuted;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:props.selected?theme.backgroundElement:void 0,onMouseOver:()=>props.onHover(i),children:[$jsx("box",{width:2,children:$jsx("text",{fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "})}),$jsx("box",{width:2,children:$jsxs("text",{fg:hotFg,children:[HOT[props.hot]," "]})}),$jsx("box",{flexGrow:1,minWidth:8,height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"\xB7 ".repeat(r.depth)}),$jsx("span",{fg:theme.text,children:r.goal.replace(/\s+/g," ")})]})}),$jsx("box",{width:14,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:trunc4(r.model??"",13)})}),$jsx("box",{width:5,height:1,flexDirection:"row",justifyContent:"flex-end",children:$jsx("text",{fg:theme.textMuted,children:String(r.tool_count??0)})}),$jsx("box",{width:8,height:1,flexDirection:"row",justifyContent:"flex-end",children:$jsx("text",{fg:theme.textMuted,children:up})}),$jsx("box",{width:3,onMouseDown:(e)=>{e.stopPropagation(),props.onKill(i)},onMouseOver:()=>setX(!0),onMouseOut:()=>setX(!1),children:$jsx("text",{fg:x2?theme.error:theme.textMuted,children:" \u2715"})})]})});function preorder(recs){let byParent=new Map;for(let r of recs){let k2=r.parent_id??null;(byParent.get(k2)??byParent.set(k2,[]).get(k2)).push(r)}let out=[],seen=new Set,walk=(k2)=>{for(let r of byParent.get(k2)??[]){if(seen.has(r.subagent_id))continue;seen.add(r.subagent_id),out.push(r),walk(r.subagent_id)}};walk(null);for(let r of recs)if(!seen.has(r.subagent_id))out.push(r);return out}var DelegDetail=import_react72.memo((props)=>{let theme=useTheme().theme,{r,live,agg,now}=props,tc=live?.tool_count??r.tool_count??0,tr=trail(r.subagent_id);return $jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",width:"100%",children:[$jsx("box",{minHeight:1,children:$jsx("text",{fg:theme.accent,wrapMode:"word",children:$jsx("strong",{children:r.goal})})}),agg&&agg.agents>1?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:summary(agg)})}):null,$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Status",live?.status??r.status??"running"],["Model",r.model??"\u2014"],["Depth",String(r.depth)],["Parent",r.parent_id??"(root)"],["Uptime",r.started_at?dur2(now-r.started_at):"\u2014"],["Tools",String(tc)],["Tokens",live?`${fmt(live.input_tokens??0)} in / ${fmt(live.output_tokens??0)} out`:void 0],["Cost",live?.cost_usd!=null?`$${live.cost_usd.toFixed(4)}`:void 0]]}),live?.thinking?$jsxs($Fragment2,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"thinking"})}),$jsx("box",{minHeight:1,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:trunc4(live.thinking,200)})})]}):null,tr.length>0?$jsxs($Fragment2,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"recent tools"})}),tr.slice(-8).map((t2,i)=>$jsx("box",{height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"\u2503 "}),$jsx("span",{fg:theme.text,children:t2.name.padEnd(14)}),$jsx("span",{fg:theme.textMuted,children:t2.preview?trunc4(t2.preview.replace(/\s+/g," "),40):""})]})},i))]}):null]})})}),Agents=import_react72.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),cmd=useCommand(),[pane,setPane]=import_react72.useState("profiles"),[pView,setPView]=import_react72.useState("list"),[profiles,setProfiles]=import_react72.useState([]),[deleg,setDeleg]=import_react72.useState(null),[liveMap,setLiveMap]=import_react72.useState(()=>new Map),[now,setNow]=import_react72.useState(()=>Date.now()/1000),[pSel,setPSel]=import_react72.useState(0),[dSel,setDSel]=import_react72.useState(0),[err,setErr]=import_react72.useState(""),active=preorder(deleg?.active??[]),nodes=tree(deleg?.active??[],liveMap,now),all=totals(nodes),hotPeak=peak(nodes),aggOf=new Map;{let walk=(ns)=>{for(let n of ns)aggOf.set(n.rec.subagent_id,n.agg),walk(n.kids)};walk(nodes)}let live=import_react72.useRef({profiles,active});live.current={profiles,active};let gwHome=import_react72.useRef(void 0),[stats,setStats]=import_react72.useState(()=>new Map),[sticky,setSticky]=import_react72.useState(stickyDefault),loadProfiles=import_react72.useCallback(()=>{setStats(new Map),setSticky(stickyDefault()),listProfiles(gwHome.current).then((ps)=>{setProfiles(ps),setErr("")}).catch((e)=>setErr(`profiles: ${e.message}`))},[]);import_react72.useEffect(()=>{gw.request("config.get",{key:"profile"}).then((r)=>{gwHome.current=r.home}).catch(()=>{}).finally(loadProfiles)},[gw,loadProfiles]);let loadDeleg=import_react72.useCallback(()=>{gw.request("delegation.status").then((r)=>{setDeleg(r),setNow(Date.now()/1000)}).catch(()=>setDeleg({active:[],paused:!1,max_spawn_depth:0,max_concurrent_children:0}))},[gw]);import_react72.useEffect(loadDeleg,[loadDeleg]),import_react72.useEffect(()=>{if(!props.focused)return;let ms2=(deleg?.active.length??0)>0?1500:5000,t2=setInterval(loadDeleg,ms2);return()=>clearInterval(t2)},[props.focused,deleg?.active.length,loadDeleg]),useGatewayEvent((ev)=>{if(!ev.type.startsWith("subagent."))return;let p=ev.payload,id=p.subagent_id;if(!id)return;if(setLiveMap((prev)=>{let next=new Map(prev),cur=next.get(id)??{tool_count:0};switch(ev.type){case"subagent.start":next.set(id,{tool_count:0});break;case"subagent.tool":next.set(id,{...cur,tool_count:cur.tool_count+1,last_tool:p.tool_name,last_preview:p.tool_preview});break;case"subagent.thinking":next.set(id,{...cur,thinking:p.text});break;case"subagent.complete":next.set(id,{...cur,status:p.status,input_tokens:p.input_tokens,output_tokens:p.output_tokens,cost_usd:p.cost_usd});break}return next}),ev.type==="subagent.start"||ev.type==="subagent.complete")loadDeleg()});let sh=import_react72.useCallback((cmd2)=>gw.request("shell.exec",{command:cmd2}).then((r)=>{if(r.code!==0)throw Error((r.stderr||r.stdout||"exit "+r.code).trim());return r.stdout}),[gw]),pHover=import_react72.useCallback((i)=>setPSel(i),[]),dHover=import_react72.useCallback((i)=>setDSel(i),[]),pDelete=import_react72.useCallback(async(i)=>{let p=live.current.profiles[i];if(!p||p.is_default||p.is_active)return;let warn=p.gateway_running?`
4103
+ `,nl+1)).trim().startsWith("#")){end=nl;break}}end=nl}mark2(skH,end+1,"skills","Skills Catalog",makeSource("skills","skills/"))}let proj=text2.indexOf("# Project Context");if(proj>=0){let conv2=text2.indexOf("Conversation started:");mark2(proj,conv2>proj?conv2:text2.length,"project","Project Context",makeSource("AGENTS.md"))}let conv=text2.indexOf("Conversation started:");if(conv>=0)mark2(conv,text2.length,"meta","Session Metadata");let start=-1;for(let i=0;i<=text2.length;i++)if(i<text2.length&&!used[i]){if(start<0)start=i}else if(start>=0){let slice=text2.slice(start,i);if(slice.trim().length>0)sections.push({id:"other",label:"Other",chars:slice.length,tokens:count2(slice),text:slice});start=-1}return sections.sort((a,b2)=>text2.indexOf(a.text)-text2.indexOf(b2.text))}function classifyTools(tools){let system=[],mcp=[];for(let t2 of tools)if(t2.name.startsWith("mcp_"))mcp.push(t2);else system.push(t2);return{system,mcp}}function toolTokens(tool){return Math.ceil((tool.descriptionLength+tool.paramsLength)/CPT)}function build(opts){let pct=(t2)=>opts.contextLength>0?t2/opts.contextLength*100:0,result=[],byId2=new Map;for(let s of opts.sections)byId2.set(s.id,s);let promptChildren=opts.sections.filter((sec)=>SYSTEM_PROMPT_IDS.has(sec.id)&&sec.tokens>0).map((sec)=>({id:sec.id,label:sec.label,tokens:sec.tokens,percent:pct(sec.tokens),section:sec})),promptTok=promptChildren.reduce((s,c)=>s+c.tokens,0);if(promptTok>0)result.push({id:"system_prompt",label:"System Prompt",tokens:promptTok,percent:pct(promptTok),children:promptChildren});let{system:sysTools,mcp:mcpTools}=classifyTools(opts.tools),sysToolsTok=sysTools.reduce((s,t2)=>s+toolTokens(t2),0);if(sysToolsTok>0)result.push({id:"system_tools",label:"System Tools",tokens:sysToolsTok,percent:pct(sysToolsTok)});let mcpToolsTok=mcpTools.reduce((s,t2)=>s+toolTokens(t2),0);if(mcpToolsTok>0)result.push({id:"mcp_tools",label:"MCP Tools",tokens:mcpToolsTok,percent:pct(mcpToolsTok)});let memChildren=opts.sections.filter((sec)=>MEMORY_IDS.has(sec.id)&&sec.tokens>0).map((sec)=>({id:sec.id,label:sec.label,tokens:sec.tokens,percent:pct(sec.tokens),section:sec})),memTok=memChildren.reduce((s,c)=>s+c.tokens,0);if(memTok>0)result.push({id:"memory",label:"Memory",tokens:memTok,percent:pct(memTok),children:memChildren});let skillsSec=byId2.get("skills"),skillsTok=skillsSec?.tokens??opts.skillsTokens??0;if(skillsTok>0)result.push({id:"skills",label:"Skills",tokens:skillsTok,percent:pct(skillsTok),section:skillsSec});if(opts.conversationTokens>0){let ct=Math.min(opts.conversationTokens,opts.inputTokens||opts.conversationTokens);result.push({id:"conversation",label:"Conversation",tokens:ct,percent:pct(ct)})}let taken=result.reduce((s,g)=>s+g.tokens,0),free=Math.max(0,opts.contextLength-taken);return result.push({id:"free",label:"Free",tokens:free,percent:pct(free)}),result}function drill(group){if(!group.children||group.children.length===0)return[];let total=group.tokens;return group.children.map((c)=>({...c,percent:total>0?c.tokens/total*100:0}))}function cells(segments,fallback="free"){let filled=segments.flatMap((seg)=>Array.from({length:Math.round(seg.percent/100*GRID)},()=>({id:seg.id}))),pad=Array.from({length:Math.max(0,GRID-filled.length)},()=>({id:fallback}));return[...filled,...pad].slice(0,GRID)}var import_react54=__toESM(require_react_production(),1);var FileLink=import_react54.memo(({source,children:children2})=>{let theme=useTheme().theme,[hovered,setHovered]=import_react54.useState(!1);return $jsx("box",{height:1,onMouseDown:()=>openFile(source.file),onMouseOver:()=>setHovered(!0),onMouseOut:()=>setHovered(!1),children:$jsx("text",{fg:theme.info,attributes:hovered?TextAttributes.UNDERLINE:TextAttributes.NONE,children:children2??source.label})})}),KVLink=(props)=>{let theme=useTheme().theme;return $jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:13,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:props.label})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx(FileLink,{source:props.source,children:props.text??props.source.label})})]})};var GOLDEN_ANGLE=137.50776405003785;function luminance(c){return 0.299*c.r+0.587*c.g+0.114*c.b}function rgbaToHsl(c){let{r,g,b:b2}=c,max=Math.max(r,g,b2),min=Math.min(r,g,b2),l=(max+min)/2,d2=max-min;if(d2===0)return[0,0,l];let s=l>0.5?d2/(2-max-min):d2/(max+min),h2;switch(max){case r:h2=(g-b2)/d2+(g<b2?6:0);break;case g:h2=(b2-r)/d2+2;break;default:h2=(r-g)/d2+4}return[h2*60,s,l]}function hslToRgba(h2,s,l){if(h2=(h2%360+360)%360/360,s===0)return RGBA.fromValues(l,l,l,1);let q3=l<0.5?l*(1+s):l+s-l*s,p=2*l-q3,ch=(t2)=>{if(t2<0)t2+=1;if(t2>1)t2-=1;if(t2<0.16666666666666666)return p+(q3-p)*6*t2;if(t2<0.5)return q3;if(t2<0.6666666666666666)return p+(q3-p)*(0.6666666666666666-t2)*6;return p};return RGBA.fromValues(ch(h2+0.3333333333333333),ch(h2),ch(h2-0.3333333333333333),1)}function categorical(seed,bg2,n){let[h0]=rgbaToHsl(seed),dark=luminance(bg2)<0.5,s=dark?0.6:0.7,l=dark?0.62:0.42,out=[];for(let i=0;i<n;i++)out.push(hslToRgba(h0+i*GOLDEN_ANGLE,s,l));return out}var DEFAULT_CTX=128000,COLS2=16,SLOTS2=["system_prompt","system_tools","mcp_tools","memory","skills","conversation","soul","mem0","user","project","meta","other"],SLOT=Object.fromEntries(SLOTS2.map((id,i)=>[id,i])),rampCache=new WeakMap;function ramp2(theme){let r=rampCache.get(theme);if(!r)rampCache.set(theme,r=categorical(theme.primary,theme.background,SLOTS2.length));return r}function clr(id,theme){if(id==="free")return theme.borderSubtle;return ramp2(theme)[SLOT[id]??SLOT.other]}var fmt2=(n)=>{if(n>=1e6)return`${(n/1e6).toFixed(1)}M`;if(n>=1e4)return`${Math.round(n/1000)}k`;if(n>=1000)return`${(n/1000).toFixed(1)}k`;return String(n)},est=(s)=>s?count2(s):0,bar=(pct,w2=20)=>{let f=Math.round(Math.max(0,Math.min(100,pct))/100*w2);return`[${"\u2588".repeat(f)}${"\u2591".repeat(Math.max(0,w2-f))}]`},SectionPanel=import_react55.memo(({seg,theme})=>{let{syntaxStyle}=useTheme(),sec=seg.section;if(!sec)return null;return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr(seg.id,theme),children:"\u25FC"})," ",seg.label," \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),$jsxs("text",{children:[sec.chars.toLocaleString()," chars \xB7 ~",fmt2(sec.tokens)," tokens"]}),sec.source?$jsxs("box",{flexDirection:"row",height:1,children:[$jsx("text",{children:"Source: "}),$jsx(FileLink,{source:sec.source})]}):null,$jsx("text",{children:" "}),$jsx("markdown",{content:sec.text,fg:theme.markdownText,syntaxStyle})]})}),MemoryPanel=import_react55.memo(({seg,theme,label,chars,limit,pct,entries,source})=>$jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr(seg.id,theme),children:"\u25FC"})," ",seg.label," \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),$jsx("text",{children:" "}),$jsxs("box",{flexDirection:"row",height:1,children:[$jsx("text",{children:$jsx("strong",{children:label})}),source?$jsxs($Fragment,{children:[$jsx("text",{children:" ("}),$jsx(FileLink,{source}),$jsx("text",{children:")"})]}):null]}),$jsxs("text",{children:[chars.toLocaleString()," / ",limit.toLocaleString()," chars (",pct,"%)"]}),$jsxs("text",{children:[bar(pct,25),pct>=95?" \u26A0 near limit":""]}),$jsx("text",{children:" "}),$jsxs("text",{children:[entries.length," entries:"]}),entries.map((e,i)=>$jsxs("text",{fg:theme.text,children:["\xB7 ",e]},i))]})),SkillsPanel=import_react55.memo(({seg,theme})=>{let sec=seg.section;if(!sec)return null;let cats={};for(let line2 of sec.text.split(`
4104
+ `)){if(line2.match(/^\s{2}(\S[\w-]*(?:\/\S+)?):\s/)){let cat=line2.match(/^\s{2}(\S[\w-]*(?:\/\S+)?):\s/)[1];if(!cats[cat])cats[cat]=0}if(line2.match(/^\s{4}- \S+:/)){let last2=Object.keys(cats).pop();if(last2)cats[last2]++}}let sorted=Object.entries(cats).sort((a,b2)=>b2[1]-a[1]),total=sorted.reduce((s,[,n])=>s+n,0);return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr("skills",theme),children:"\u25FC"})," Skills Catalog \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),sec.source?$jsxs("box",{flexDirection:"row",height:1,children:[$jsx("text",{children:"Source: "}),$jsx(FileLink,{source:sec.source})]}):null,$jsx("text",{children:" "}),$jsxs("text",{children:[total," skills in ",sorted.length," categories \xB7 ",sec.chars.toLocaleString()," chars"]}),$jsx("text",{fg:theme.textMuted,children:"Largest context section \u2014 skill names + descriptions injected every turn."}),$jsx("text",{children:" "}),sorted.map(([cat,n])=>$jsxs("text",{fg:theme.text,children:["\xB7 ",cat," (",n,")"]},cat))]})}),ToolsPanel=import_react55.memo(({seg,theme,tools,kind:kind2})=>{let sorted=[...tools].sort((a,b2)=>b2.descriptionLength+b2.paramsLength-(a.descriptionLength+a.paramsLength)),label=kind2==="mcp_tools"?"MCP Tools":"System Tools",blurb=kind2==="mcp_tools"?"MCP-loaded tools \u2014 schemas injected via mcp_ prefix.":"Built-in tool schemas sent with every API call.";return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr(kind2,theme),children:"\u25FC"})," ",label," \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),$jsx("text",{children:" "}),$jsxs("text",{children:[tools.length," tools \u2014 ",blurb]}),$jsx("text",{children:" "}),sorted.map((t2)=>$jsxs("text",{fg:theme.text,children:["\xB7 ",t2.name," (",fmt2(toolTokens(t2))," tok)"]},t2.name))]})}),ConvPanel=import_react55.memo(({seg,theme,messages,output})=>{let user=messages.filter((m2)=>m2.role==="user"),asst=messages.filter((m2)=>m2.role==="assistant"),non=messages.filter((m2)=>m2.role!=="system");return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr("conversation",theme),children:"\u25FC"})," Conversation \u2014 ",fmt2(seg.tokens)," tokens (",seg.percent.toFixed(1),"%)"]})}),$jsx("text",{children:" "}),$jsxs("text",{children:["User: ",user.length," msgs (~",fmt2(est(user.map((m2)=>text(m2)).join("")))," tok)"]}),$jsxs("text",{children:["Agent: ",asst.length," msgs (~",fmt2(est(asst.map((m2)=>text(m2)).join("")))," tok)"]}),output>0?$jsxs("text",{children:["Output generated: ",fmt2(output)," tokens"]}):null,$jsx("text",{children:" "}),non.length>0?$jsxs($Fragment,{children:[$jsx("text",{fg:theme.info,children:"Messages:"}),$jsx("text",{children:" "}),non.map((m2,i)=>$jsxs("text",{children:[$jsx("span",{fg:m2.role==="user"?theme.info:theme.success,children:m2.role==="user"?"\u25B8 You":"\u25C2 Agent"})," ","(",fmt2(est(text(m2))),") ",text(m2).replace(/\n/g," ")]},i))]}):$jsx("text",{fg:theme.warning,children:"No messages yet"})]})}),FreePanel=import_react55.memo(({seg,theme,ctxLen,comp,onEditThreshold})=>{let used=ctxLen-seg.tokens,threshold=Math.round(ctxLen*(comp?.threshold??0.5)),pct=threshold>0?Math.min(100,Math.round(used/threshold*100)):0;return $jsxs("scrollbox",{borderStyle:"single",padding:1,flexGrow:1,scrollY:!0,children:[$jsx("text",{children:$jsxs("strong",{children:[$jsx("span",{fg:clr("free",theme),children:"\u25FB"})," Free Space \u2014 ",fmt2(seg.tokens)," tokens"]})}),$jsx("text",{children:" "}),$jsxs("text",{children:["Context window: ",fmt2(ctxLen)]}),$jsxs("text",{children:["Used: ",fmt2(used)," (",Math.round(used/ctxLen*100),"%)"]}),$jsxs("text",{children:["Available: ",fmt2(seg.tokens)," (",seg.percent.toFixed(1),"%)"]}),$jsx("text",{children:" "}),comp?$jsxs($Fragment,{children:[$jsx("text",{children:$jsx("strong",{children:"Compression"})}),$jsxs("box",{height:1,flexDirection:"row",children:[$jsxs("text",{children:[comp.enabled?"\u2713 Enabled":"\u2717 Disabled"," \xB7 threshold "]}),$jsx("box",{flexShrink:0,onMouseDown:onEditThreshold,children:$jsx("text",{fg:theme.info,children:$jsxs("u",{children:[Math.round(comp.threshold*100),"%"]})})}),$jsxs("text",{children:[" (",fmt2(threshold),")"]})]}),$jsxs("text",{children:[bar(pct)," ",pct,"%"]}),$jsxs("text",{children:["Protect last ",comp.protect_last_n," messages \xB7 target ratio ",Math.round(comp.target_ratio*100),"%"]}),comp.summary_model?$jsxs("text",{children:["Summary model: ",comp.summary_model]}):null]}):null]})}),NO_MESSAGES=Object.freeze([]),Context=import_react55.memo(({messages=NO_MESSAGES,info,focused})=>{let config=useHome("config"),memory=useHome("memory"),userProfile=useHome("userProfile"),gw=useGateway(),dialog=useDialog(),toast=useToast(),systemPrompt2=useHome("systemPrompt"),toolsInfo=useHome("toolsInfo"),soul=useHome("soul"),recentSessions=useHome("recentSessions"),liveSessions=useHome("liveSessions"),[wire,setWire]=import_react55.useState({input:0,output:0,total:0,calls:0}),wireRef=import_react55.useRef(wire),theme=useTheme().theme,[hovered,setHovered]=import_react55.useState(null),[selected,setSelected]=import_react55.useState(null),[drilled,setDrilled]=import_react55.useState(null);import_react55.useEffect(()=>{let input=0,output2=0,total=0,calls=0;for(let m2 of messages)if(m2.usage)input+=m2.usage.input,output2+=m2.usage.output,total+=m2.usage.total,calls++;let next={input,output:output2,total,calls};wireRef.current=next,setWire(next)},[messages]);let session=recentSessions?.[0],ctxLen=info?.context_max??DEFAULT_CTX,lastPrompt=(session?Object.values(liveSessions??{}).find((ls)=>ls.session_id===session.id):void 0)?.last_prompt_tokens??0,fill=wire.calls>0?wire.input:lastPrompt>0?lastPrompt:session?.input_tokens??0,cumulative=wire.calls===0&&lastPrompt===0&&(session?.input_tokens??0)>0,output=wire.calls>0?wire.output:session?.output_tokens??0,pct=ctxLen>0?Math.round(fill/ctxLen*100):0,thresholdPct=config?.compression?.threshold??0.5,thresholdIdx=Math.min(COLS2*COLS2,Math.max(0,Math.round(thresholdPct*COLS2*COLS2))),compressions=info?.usage?.compressions??0,promptText=info?.system_prompt??systemPrompt2?.text??"",sections=import_react55.useMemo(()=>parse4(promptText),[promptText]),convTok=import_react55.useMemo(()=>est(messages.filter((m2)=>m2.role!=="system").map((m2)=>text(m2)).join("")),[messages]),top=import_react55.useMemo(()=>build({contextLength:ctxLen,inputTokens:fill,sections,conversationTokens:convTok,tools:toolsInfo?.tools??[]}),[ctxLen,fill,sections,convTok,toolsInfo?.tools]),drilledGroup=drilled?top.find((s)=>s.id===drilled):null,view=drilledGroup?drill(drilledGroup):top,grid=import_react55.useMemo(()=>cells(view,drilledGroup?drilledGroup.children?.[0]?.id??"other":"free"),[view,drilledGroup]),findSeg=(id)=>{if(drilledGroup)return view.find((s)=>s.id===id);return top.find((s)=>s.id===id)},memEntries=import_react55.useMemo(()=>(memory?.content??"").split("\xA7").map((s)=>s.trim()).filter(Boolean),[memory?.content]),userEntries=import_react55.useMemo(()=>(userProfile?.content??"").split("\xA7").map((s)=>s.trim()).filter(Boolean),[userProfile?.content]),click=(id)=>{if(drilled){setSelected(selected===id?null:id);return}let seg=top.find((s)=>s.id===id);if(seg?.children&&seg.children.length>0){setDrilled(id),setSelected(null);return}setSelected(selected===id?null:id)},lastEsc=import_react55.useRef(0),segs=view.filter((s)=>s.tokens>0),idx=selected?segs.findIndex((s)=>s.id===selected):-1,setSel=(v2)=>{let n=Math.max(0,Math.min(segs.length-1,typeof v2==="function"?v2(idx):v2));setSelected(segs[n]?.id??null)},keys=useKeys();useKeyboard((key2)=>{if(!focused||dialog.open())return;if(handleListKey(keys,key2,{count:segs.length,setSel,onActivate:()=>{if(drilled||!selected)return;if(top.find((s)=>s.id===selected)?.children?.length)setDrilled(selected),setSelected(null)}}))return;if(key2.name==="right")return setSel((p)=>p+1);if(key2.name==="left")return setSel((p)=>p-1);if(key2.name!=="escape")return;let now=Date.now();if(now-lastEsc.current<400){setSelected(null),setDrilled(null),lastEsc.current=0;return}if(lastEsc.current=now,selected)return setSelected(null);if(drilled)return setDrilled(null)});let editThreshold=async()=>{let cur=Math.round((config?.compression?.threshold??0.5)*100),v2=await openTextPrompt(dialog,{title:"Compression threshold",label:"Percent (10\u201395)",initial:String(cur)});if(v2===null)return;let n=Math.max(10,Math.min(95,Number(v2)||cur)),{writeConfig:writeConfig2}=await Promise.resolve().then(() => (init_lane(),exports_lane)),r=await writeConfig2(gw,[{key:"compression.threshold",to:n/100}]);if(r.failed.length)return toast.show({variant:"error",message:r.failed[0].err});home2.invalidate("config"),toast.show({variant:"success",message:`Threshold \u2192 ${n}%`})},detail=()=>{if(!selected)return null;let seg=findSeg(selected);if(!seg)return null;if(selected==="memory"&&drilled==="memory"&&memory)return $jsx(MemoryPanel,{seg,theme,label:"Agent Notes",chars:memory.charCount,limit:memory.charLimit,pct:memory.usagePercent,entries:memEntries,source:memory.source});if(selected==="user"&&userProfile)return $jsx(MemoryPanel,{seg,theme,label:"User Profile",chars:userProfile.charCount,limit:userProfile.charLimit,pct:userProfile.usagePercent,entries:userEntries,source:userProfile.source});if(selected==="skills")return $jsx(SkillsPanel,{seg,theme});if(selected==="system_tools"&&toolsInfo){let{system}=classifyTools(toolsInfo.tools);return $jsx(ToolsPanel,{seg,theme,tools:system,kind:"system_tools"})}if(selected==="mcp_tools"&&toolsInfo){let{mcp}=classifyTools(toolsInfo.tools);return $jsx(ToolsPanel,{seg,theme,tools:mcp,kind:"mcp_tools"})}if(selected==="soul"&&soul){let soulSeg={...seg,section:{id:"soul",label:"SOUL.md",chars:soul.charCount,tokens:soul.tokenEstimate,text:soul.content,source:soul.source}};return $jsx(SectionPanel,{seg:soulSeg,theme})}if(selected==="conversation")return $jsx(ConvPanel,{seg,theme,messages,output});if(selected==="free")return $jsx(FreePanel,{seg,theme,ctxLen,comp:config?.compression,onEditThreshold:editThreshold});return $jsx(SectionPanel,{seg,theme})},breakdown=()=>$jsxs("box",{flexDirection:"column",marginBottom:1,children:[$jsxs("text",{children:[$jsx("strong",{children:"Breakdown"}),drilledGroup?$jsxs("span",{fg:theme.info,children:[" \xB7 ",drilledGroup.label," (",fmt2(drilledGroup.tokens)," tok)"]}):$jsx("span",{fg:theme.info,children:" (click group to expand)"})]}),view.filter((s)=>s.tokens>0).map((s)=>$jsxs("text",{children:[$jsx("span",{fg:clr(s.id,theme),children:s.id==="free"?"\u25FB":"\u25FC"})," ",s.label," \u2014 ",fmt2(s.tokens)," (",s.percent.toFixed(1),"%)",s.children?$jsx("span",{fg:theme.textMuted,children:" \u25B8"}):null]},s.id)),output>0&&!drilled?$jsxs("text",{children:[$jsx("span",{fg:theme.success,children:"\u25FC"})," Output \u2014 ",fmt2(output)," tokens"]}):null,$jsx("text",{children:$jsxs("span",{fg:theme.textMuted,children:["\u25FC Beyond compression threshold (",Math.round(thresholdPct*100),"%)"]})})]}),crumb=drilled?`${drilledGroup?.label}${selected?` \xB7 ${findSeg(selected)?.label}`:""}`:wire.calls===0&&fill===0?"[no data]":cumulative?"[cumulative \u2014 not current fill]":wire.calls===0&&fill>0?"[live session]":"\u2191\u2193 nav \xB7 click a group to drill in",escHint=selected||drilled?" \xB7 Esc back":"",focus=selected||hovered,focusSeg=focus?findSeg(focus):null;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs(TabShell,{title:`Context \xB7 ${fmt2(fill)} / ${fmt2(ctxLen)} (${pct}%)`,children:[$jsx("box",{height:1,children:focusSeg?$jsxs("text",{fg:clr(focusSeg.id,theme),children:["\u25FC ",focusSeg.label," \u2014 ",fmt2(focusSeg.tokens)," tok (",focusSeg.percent.toFixed(1),"%)"]}):$jsx("text",{children:" "})}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsxs("box",{flexDirection:"column",marginRight:2,flexShrink:0,children:[compressions>0?$jsx("box",{height:1,marginBottom:1,children:$jsxs("text",{fg:theme.warning,children:["\xD7",compressions," compressed"]})}):null,$jsx("box",{border:!0,customBorderChars:CORNERS,borderColor:theme.border,children:[...Array(COLS2)].map((_2,row)=>$jsx("box",{flexDirection:"row",height:1,children:[...Array(COLS2)].map((_3,col)=>{let cell=grid[row*COLS2+col],hl=selected?selected===cell.id:hovered===cell.id,past=row*COLS2+col>=thresholdIdx,glyph=!past&&cell.id==="free"?"\u25FB":"\u25FC";return $jsx("box",{height:1,width:2,backgroundColor:hl?clr(cell.id,theme):void 0,onMouseOver:()=>setHovered(cell.id),onMouseOut:()=>setHovered(null),onMouseDown:()=>click(cell.id),children:$jsx("text",{fg:past?theme.textMuted:clr(cell.id,theme),children:glyph})},col)})},row))})]}),$jsx("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:selected?detail():breakdown()})]})]}),$jsx(HintBar,{raw:crumb+escHint})]})});var import_react57=__toESM(require_react_production(),1);init_hermes_analytics();var BLOCKS=" \u2581\u2582\u2583\u2584\u2585\u2586\u2587\u2588",rows2=(vals,h2)=>{let peak=Math.max(1,...vals),ticks=vals.map((v2)=>Math.round(h2*8*v2/peak));return Array.from({length:h2},(_2,r)=>{let floor=(h2-1-r)*8;return ticks.map((t2)=>BLOCKS[Math.max(0,Math.min(8,t2-floor))]).join("")})},Chart=import_react57.memo((p)=>{let theme=useTheme().theme,days=p.data.byDay,vals=days.map((d2)=>d2.cost),peak=Math.max(...vals,0.01),axis=(v2)=>cost(v2).padStart(7),md=(s)=>s.slice(5);return $jsxs("box",{flexDirection:"column",children:[rows2(vals,p.h).map((line2,i)=>$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:8,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:i===0?axis(peak):i===p.h-1?axis(0):""})}),$jsx("text",{fg:theme.primary,children:line2})]},i)),$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:8,flexShrink:0}),$jsx("text",{fg:theme.textMuted,children:days.length>0?`${md(days[0].date)}${" ".repeat(Math.max(0,days.length-10))}${md(days[days.length-1].date)}`:""})]})]})}),Rank=import_react57.memo((p)=>{let theme=useTheme().theme;if(p.rows===null)return $jsxs("box",{flexDirection:"column",flexGrow:1,flexBasis:0,minWidth:0,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:p.title})}),$jsx("box",{height:1,children:$jsx(Spinner,{label:"aggregating\u2026"})})]});let top=p.rows.slice(0,p.n??10),peak=Math.max(1,...top.map((r)=>r.n)),total=p.rows.reduce((a,r)=>a+r.n,0);return $jsxs("box",{flexDirection:"column",flexGrow:1,flexBasis:0,minWidth:0,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:p.title})}),top.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2014"})}):top.map((r)=>$jsxs("box",{height:1,flexDirection:"row",children:[$jsx(Col,{w:18,children:trunc4(r.name,17)}),$jsx(Col,{w:12,fg:p.fg,children:"\u2587".repeat(Math.max(1,Math.round(10*r.n/peak)))}),$jsx(Col,{w:7,right:!0,children:fmt(r.n)}),$jsx(Col,{w:6,right:!0,fg:theme.textMuted,children:total?`${Math.round(100*r.n/total)}%`:""})]},r.name))]})}),Analytics=import_react57.memo((props)=>{let theme=useTheme().theme,dims=useTerminalDimensions(),[days,setDays]=import_react57.useState(7),[data2,setData]=import_react57.useState(()=>cache2.get(days)??null),[tools,setTools]=import_react57.useState(()=>cache2.get(days)?.byTool??null),[tick2,setTick]=import_react57.useState(0),gen=import_react57.useRef(0);import_react57.useEffect(()=>{let hit=cache2.get(days);setData(hit??null),setTools(hit?.byTool??null);let g=++gen.current;return io.analytics(days,{tools:!1}).then((fast)=>{if(gen.current!==g)return;setData(fast),io.analytics(days).then((full)=>{if(gen.current!==g)return;cache2.set(days,full),setData(full),setTools(full.byTool)})}),()=>{gen.current++}},[days,tick2]);let keys=useKeys();useKeyboard((key2)=>{if(!props.focused)return;if(keys.match("list.refresh",key2))return cache2.delete(days),setTick((n)=>n+1);if(key2.raw==="1")return setDays(1);if(key2.raw==="7")return setDays(7);if(key2.raw==="3")return setDays(30);if(key2.raw==="9")return setDays(90)});let t2=data2?.total,tok=(t2?.input??0)+(t2?.output??0),title=import_react57.useMemo(()=>!t2?`Analytics \xB7 ${days}d`:`Analytics \xB7 ${days}d \xB7 ${t2.sessions} sess \xB7 ${fmt(tok)} tok \xB7 ${cost(t2.cost)}`,[days,t2,tok]),wide=dims.width>=110,chartH=dims.height>=40?8:6;if(!data2)return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(TabShell,{title,children:$jsx("box",{height:1,children:$jsx(Spinner,{label:`aggregating ${days}d\u2026`})})}),$jsx(HintBar,{pairs:[["1/7/3/9","period"],[keys.print("list.refresh"),"reload"]]})]});let nTools=8,nSrc=6,ranksH=wide?Math.max(nTools,nSrc)+1:nTools+nSrc+3;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(TabShell,{title,children:$jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,overflow:"hidden",children:[$jsxs("box",{flexShrink:0,flexDirection:"column",children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`Cost per day \xB7 ${fmt(t2.input)} in \xB7 ${fmt(t2.output)} out \xB7 ${fmt(t2.cache)} cache \xB7 ${fmt(t2.calls)} tool calls`})}),$jsx(Chart,{data:data2,h:chartH})]}),$jsx("box",{height:1,flexShrink:0}),$jsx("box",{flexShrink:0,children:$jsxs(Hdr,{children:[$jsx(Col,{grow:!0,min:18,fg:theme.textMuted,children:"Model"}),$jsx(Col,{w:6,right:!0,fg:theme.textMuted,children:"sess"}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:"in"}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:"out"}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:"cache"}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:"cost"})]})}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,flexShrink:1,minHeight:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:data2.byModel.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"no sessions in range"})}):data2.byModel.map((m2)=>$jsxs("box",{height:1,flexDirection:"row",children:[$jsx(Col,{grow:!0,min:18,children:trunc4(m2.model,40)}),$jsx(Col,{w:6,right:!0,fg:theme.textMuted,children:String(m2.sessions)}),$jsx(Col,{w:9,right:!0,children:fmt(m2.input)}),$jsx(Col,{w:9,right:!0,children:fmt(m2.output)}),$jsx(Col,{w:9,right:!0,fg:theme.textMuted,children:fmt(m2.cache)}),$jsx(Col,{w:9,right:!0,fg:theme.accent,children:cost(m2.cost)})]},m2.model))})}),$jsx("box",{height:1,flexShrink:0}),$jsxs("box",{flexShrink:0,height:ranksH,flexDirection:wide?"row":"column",gap:wide?2:1,children:[$jsx(Rank,{title:"Tools",rows:tools,fg:theme.success,n:nTools}),$jsx(Rank,{title:"Sources",rows:data2.bySource,fg:theme.info,n:nSrc})]})]})}),$jsx(HintBar,{pairs:[["1/7/3/9","period"],[keys.print("list.refresh"),"reload"]]})]})});var import_react59=__toESM(require_react_production(),1);var SubTabBar=import_react59.memo((props)=>$jsx(TabStrip,{...props}));var TABS=[{name:"Chat",description:"Main chat interface"},{name:"Sessions",description:"Sessions, context, analytics"},{name:"Profiles & Automation",description:"Profiles, cron jobs, kanban boards"},{name:"Config",description:"Config, env, skills, toolsets, memory"}],TAB_MAX=TABS.length-1,CHAT_TAB=0,SESSIONS_TAB=1,AUTOMATION_TAB=2,CONFIG_TAB=3,SUB_TABS={[1]:["List","Context","Analytics"],[2]:["Kanban","Profiles","Cron"],[3]:["Config","Skills","Toolsets","Env","Memory"]},TAB_SLASH={chat:{tab:0,sub:0},sessions:{tab:1,sub:0},context:{tab:1,sub:1},analytics:{tab:1,sub:2},insights:{tab:1,sub:2},kanban:{tab:2,sub:0},automation:{tab:2,sub:0},profiles:{tab:2,sub:1},agents:{tab:2,sub:1},cron:{tab:2,sub:2},config:{tab:3,sub:0},skills:{tab:3,sub:1},toolsets:{tab:3,sub:2},env:{tab:3,sub:3},memory:{tab:3,sub:4}};var SessionsGroup=import_react60.memo((props)=>{let keys=useKeys(),labels=SUB_TABS[SESSIONS_TAB];import_react60.useEffect(()=>{if(props.sub>=labels.length)props.setSub(0)},[props.sub,labels.length]);let hint=`${keys.print("tab.prev")}/${keys.print("tab.next")} group \xB7 shift+\u2190/\u2192 sub`;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(SubTabBar,{tabs:labels,active:props.sub,onChange:props.setSub,hint}),$jsxs("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:[$jsx(Pane,{visible:props.sub===0,children:$jsx(Sessions,{focused:!!props.focused&&props.sub===0,onSwitch:props.onSwitch,currentId:props.currentId})}),$jsx(Pane,{visible:props.sub===1,children:$jsx(Context,{focused:!!props.focused&&props.sub===1,messages:props.messages,sessionStart:props.sessionStart,info:props.info})}),$jsx(Pane,{visible:props.sub===2,children:$jsx(Analytics,{focused:!!props.focused&&props.sub===2})})]})]})}),Pane=({visible,children:children2})=>visible?$jsx("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:children2}):null;var import_react81=__toESM(require_react_production(),1);var import_react72=__toESM(require_react_production(),1);var acc=new Map;function record(ev,p){let id=p.subagent_id;if(!id)return;let now=Date.now()/1000;if(ev==="start"){acc.set(id,{subagent_id:id,parent_id:p.parent_id??null,depth:p.depth??0,goal:p.goal,model:p.model,started_at:now,tool_count:0,status:"running",trail:[]});return}let r=acc.get(id);if(!r)return;if(ev==="tool"&&p.tool_name){r.tool_count++,r.trail=[...r.trail??[],{name:p.tool_name,preview:p.tool_preview}].slice(-20);return}if(ev==="complete")r.status=p.status??"completed",r.finished_at=now,r.input_tokens=p.input_tokens,r.output_tokens=p.output_tokens,r.cost_usd=p.cost_usd}function trail(id){return acc.get(id)?.trail??[]}function flush(gw,sessionId){if(acc.size===0)return;let subagents=[...acc.values()];acc.clear();let label=(subagents.filter((s)=>s.parent_id==null).slice(0,2).map((s)=>s.goal).join(" \xB7 ")||`${subagents.length} subagents`).slice(0,120),started=Math.min(...subagents.map((s)=>s.started_at));gw.request("spawn_tree.save",{session_id:sessionId,label,started_at:started,finished_at:Date.now()/1000,subagents}).catch(()=>{})}var import_react63=__toESM(require_react_production(),1);var import_react61=__toESM(require_react_production(),1);var DialogSelect=(props)=>{let filterable=props.filterable??!0,[filter,setFilter]=import_react61.useState(""),[cursor,setCursor]=import_react61.useState(0),mode=import_react61.useRef("kb"),sb=import_react61.useRef(null),theme=useTheme().theme,filtered=import_react61.useMemo(()=>{let lower=filter.toLowerCase();return props.options.filter((o)=>o.title.toLowerCase().includes(lower)||(o.description??"").toLowerCase().includes(lower))},[filter,props.options]),groups=import_react61.useMemo(()=>{let map=new Map;return filtered.forEach((o)=>{let cat=o.category??"",arr=map.get(cat)??[];arr.push(o),map.set(cat,arr)}),map},[filtered]);import_react61.useEffect(()=>{if(cursor>=filtered.length)setCursor(Math.max(0,filtered.length-1))},[filtered.length,cursor]);let rowId=(i)=>`ds-row-${i}`,scrollTo=(i)=>sb.current?.scrollChildIntoView(rowId(i));import_react61.useEffect(()=>{let item=filtered[cursor];if(item&&props.onMove)props.onMove(item)},[cursor,filtered,props.onMove]);let keys=useKeys();useKeyboard((key2)=>{let onToggle=!filterable?()=>{let item=filtered[cursor];if(item)props.onSelect(item)}:void 0;if(handleListKey(keys,key2,{count:filtered.length,setSel:(fn)=>{mode.current="kb",setCursor(fn)},scrollTo,page:Math.max(1,(sb.current?.viewport.height??10)-1),onActivate:()=>{let item=filtered[cursor];if(item)props.onSelect(item)},onToggle}))return;if(props.onKey?.(key2))return});let idx=0,entries=Array.from(groups.entries());return $jsxs("box",{flexDirection:"column",width:60,children:[$jsx("text",{fg:theme.text,children:$jsx("strong",{children:props.title})}),$jsx("box",{height:1}),filterable?$jsxs($Fragment,{children:[$jsx("input",{value:filter,onInput:(v2)=>{mode.current="kb",setFilter(v2)},placeholder:props.placeholder??"Type to filter...",focused:!0,textColor:theme.text,placeholderColor:theme.textMuted,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement}),$jsx("box",{height:1})]}):null,$jsxs("scrollbox",{ref:sb,scrollY:!0,maxHeight:16,focused:!filterable,contentOptions:{flexDirection:"column"},paddingRight:1,children:[filtered.length===0?$jsx("text",{fg:theme.textMuted,children:"No results found"}):null,entries.map(([cat,items])=>{let elements=[];if(cat)elements.push($jsx("text",{fg:theme.textMuted,children:$jsx("strong",{children:cat})},`cat-${cat}`));return items.forEach((item)=>{let i=idx++,active=i===cursor,current=item.value===props.current;elements.push($jsxs("box",{id:rowId(i),flexDirection:"row",backgroundColor:active?theme.backgroundElement:void 0,onMouseMove:()=>{mode.current="mouse",setCursor((c)=>c===i?c:i)},onMouseOver:()=>{if(mode.current==="mouse")setCursor(i)},onMouseDown:()=>props.onSelect(item),paddingLeft:1,paddingRight:1,children:[$jsx("box",{flexGrow:1,height:1,overflow:"hidden",children:$jsxs("text",{fg:active?theme.text:theme.textMuted,children:[current?"\u25CF ":" ",item.title,item.description?` \u2014 ${item.description}`:""]})}),item.hint?$jsx("box",{flexShrink:0,height:1,children:$jsx("text",{fg:theme.textMuted,children:item.hint})}):null]},item.value))}),elements}).flat()]}),props.footer!=null?$jsx("box",{paddingTop:1,children:props.footer}):null]})};var Ctx6=import_react63.createContext(null),CommandProvider=({children:children2})=>{let registry=import_react63.useRef(new Map),[,setRevision]=import_react63.useState(0),enabled2=import_react63.useRef(!0),dialog=useDialog(),keys=useKeys(),all=import_react63.useCallback(()=>{let result=[];return registry.current.forEach((cmds)=>cmds.forEach((c)=>result.push(c))),result},[]),register=import_react63.useCallback((cmds)=>{let id=String(Date.now())+Math.random();return registry.current.set(id,cmds),setRevision((r)=>r+1),()=>{registry.current.delete(id),setRevision((r)=>r+1)}},[]),setEnabled=import_react63.useCallback((val)=>{enabled2.current=val},[]),open2=import_react63.useCallback(()=>{let cmds=all(),options=cmds.map((c)=>({title:c.title,value:c.value,description:c.description,hint:c.action?keys.print(c.action):void 0,category:c.category}));dialog.replace($jsx(DialogSelect,{title:"Command Palette",options,onSelect:(opt)=>{dialog.clear();let found=cmds.find((c)=>c.value===opt.value);if(found)found.onSelect()},placeholder:"Search commands..."}))},[all,dialog,keys]);useKeyboard((key2)=>{if(!enabled2.current||dialog.open())return;if(keys.match("palette.open",key2))return open2();for(let c of all())if(c.action&&keys.match(c.action,key2))return c.onSelect()});let value=import_react63.useMemo(()=>({register,setEnabled}),[register,setEnabled]);return $jsx(Ctx6.Provider,{value,children:children2})},useCommand=makeUse(Ctx6,"useCommand");var Status=({s})=>{let theme=useTheme().theme,fg2=s==="completed"?theme.success:s==="failed"?theme.error:s==="interrupted"?theme.warning:theme.textMuted;return $jsx("span",{fg:fg2,children:s})},SnapshotView=(props)=>{let theme=useTheme().theme,subs2=props.snap.subagents??[],tok=subs2.reduce((n,s)=>n+(s.input_tokens??0)+(s.output_tokens??0),0),span2=props.snap.started_at&&props.snap.finished_at?dur2(props.snap.finished_at-props.snap.started_at):"\u2014";return $jsxs("box",{flexDirection:"column",width:80,children:[$jsx("text",{fg:theme.text,children:$jsx("strong",{children:props.entry.label||`${subs2.length} subagents`})}),$jsxs("text",{fg:theme.textMuted,children:[when(props.entry.finished_at)," \xB7 ",span2," \xB7 ",subs2.length," agents \xB7 ",fmt(tok)," tok"]}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,maxHeight:20,contentOptions:{flexDirection:"column"},children:subs2.map((s)=>$jsxs("box",{flexDirection:"column",marginBottom:1,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"\u2503 "+"\xB7 ".repeat(s.depth)}),$jsx("span",{fg:theme.text,children:trunc4(s.goal.replace(/\s+/g," "),60)})]})}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:["\u2503 "+" ".repeat(2*s.depth+2),$jsx(Status,{s:s.status}),` \xB7 ${s.tool_count}t`,s.finished_at?` \xB7 ${dur2(s.finished_at-s.started_at)}`:"",s.model?` \xB7 ${s.model}`:""]})})]},s.subagent_id))})]})};function openSpawnHistory(dialog,gw,sessionId){gw.request("spawn_tree.list",{session_id:sessionId,limit:50}).then((r)=>{let entries=r.entries??[];dialog.replace($jsx(DialogSelect,{title:"Spawn history",placeholder:entries.length?"filter\u2026":"no saved spawn trees",options:entries.map((e)=>({value:e.path,title:`${e.count.toString().padStart(2)}\xD7 ${trunc4(e.label||"(unlabeled)",40)}`,description:when(e.finished_at),category:e.session_id===sessionId?"This session":e.session_id})),onSelect:(opt)=>{let entry2=entries.find((e)=>e.path===opt.value);gw.request("spawn_tree.load",{path:entry2.path}).then((snap)=>dialog.replace($jsx(SnapshotView,{entry:entry2,snap}))).catch(()=>dialog.clear())}}))}).catch(()=>dialog.clear())}var import_react66=__toESM(require_react_production(),1);var Dialog=(props)=>{let theme=useTheme().theme,keys=useKeys();useKeyboard((key2)=>{if(keys.match("dialog.cancel",key2)||keys.match("dialog.accept",key2))return props.onClose()});let d2=props.d,req=d2.env_requires.filter((e)=>e.required),opt=d2.env_requires.filter((e)=>!e.required),link2=d2.source?{file:d2.source,relative:d2.source,label:d2.source}:props.yaml,when2=d2.installed_at?Date.parse(d2.installed_at):NaN;return $jsxs("box",{flexDirection:"column",minWidth:62,gap:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:`Distribution \xB7 ${props.profile}`})})}),$jsxs("box",{flexDirection:"column",children:[$jsx(KVBlock,{rows:[["Name",d2.name],["Version",`v${d2.version}`],["Requires",d2.hermes_requires?`Hermes ${d2.hermes_requires}`:void 0],["Author",d2.author||void 0],["License",d2.license||void 0],["Description",d2.description||void 0]]}),$jsx(KVLink,{label:"Source",source:link2,text:d2.source||props.yaml.label}),$jsx(KVBlock,{rows:[["Installed",Number.isFinite(when2)?ago(when2/1000):void 0],["Owned",d2.distribution_owned.length?d2.distribution_owned.join(", "):void 0]]})]}),d2.env_requires.length?$jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:"Environment variables"})})}),req.length?$jsxs($Fragment,{children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Required"})}),req.map((e)=>$jsx(EnvRow,{name:e.name,desc:e.description,fallback:e.default},e.name))]}):null,opt.length?$jsxs($Fragment,{children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Optional"})}),opt.map((e)=>$jsx(EnvRow,{name:e.name,desc:e.description,fallback:e.default},e.name))]}):null]}):null,$jsx("box",{height:1,children:$jsx("text",{fg:theme.borderSubtle,children:`[${keys.print("dialog.cancel")}] close`})})]})},EnvRow=(props)=>{let theme=useTheme().theme,tail=[props.desc,props.fallback?`default: ${props.fallback}`:""].filter(Boolean).join(" \xB7 ");return $jsxs("box",{flexDirection:"row",minHeight:1,children:[$jsx("box",{width:2,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:" "})}),$jsx("box",{width:22,flexShrink:0,children:$jsx("text",{fg:theme.accent,children:props.name})}),$jsx("box",{flexGrow:1,minWidth:0,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:tail})})]})};function openDistributionInfo(dialog,opts){dialog.replace($jsx(Dialog,{profile:opts.profile,d:opts.d,yaml:opts.yaml,onClose:()=>dialog.clear()}))}function openProfileMenu(dialog,p,ops){let opts=[...ops.switch&&!p.is_active?[{category:"Switch",value:"switch",title:`Switch to '${p.name}'`,description:"restart gateway under this HERMES_HOME \u2014 ends current session"}]:[],{category:"Open",value:"soul",title:"SOUL.md",description:"edit persona/system prompt"},{category:"Open",value:"config",title:"config.yaml",description:"model, provider, toolsets"},...p.has_env?[{category:"Open",value:"env",title:".env",description:"API keys + secrets"}]:[],{category:"Open",value:"dir",title:"Directory",description:p.path},...p.distribution?[{category:"Distribution",value:"dist-info",title:"Info",description:`v${p.distribution.version}${p.distribution.source?` \xB7 ${p.distribution.source}`:""}`},{category:"Distribution",value:"dist-update",title:"Update",description:`hermes profile update ${p.name}${p.is_active?" \xB7 ends current session":""}`}]:[],...p.is_sticky?[{category:"Default",value:"unsticky",title:"Clear sticky default",description:"hermes profile use --clear"}]:[{category:"Default",value:"sticky",title:"Set as sticky default",description:`hermes profile use ${p.name}`}],{category:"Manage",value:"export",title:"Export",description:`hermes profile export ${p.name}`},...p.is_default||p.is_active?[]:[{category:"Manage",value:"delete",title:"Delete",description:"irreversible \u2014 removes config, env, memory, sessions"}]];dialog.replace($jsx(DialogSelect,{title:`Profile \xB7 ${p.name}${p.is_active?" (active)":""}`,options:opts,onSelect:(o)=>{if(o.value==="dist-info"){if(!p.distribution)return dialog.clear();return openDistributionInfo(dialog,{profile:p.name,d:p.distribution,yaml:p.sources.distribution})}if(o.value==="dist-update"){if(!p.distribution)return dialog.clear();return openUpdateDistribution(dialog,p,(force)=>ops.update(p,force))}if(dialog.clear(),o.value==="switch")return ops.switch?.();if(o.value==="soul")return openFile(p.sources.soul.file);if(o.value==="config")return openFile(p.sources.config.file);if(o.value==="env")return openFile(p.sources.env.file);if(o.value==="dir")return openFile(p.path);if(o.value==="sticky")return ops.sticky(p);if(o.value==="unsticky")return ops.unsticky();if(o.value==="export")return ops.export(p);if(o.value==="delete")return ops.remove(p)}}))}var UpdateForm=(props)=>{let theme=useTheme().theme,keys=useKeys(),[force,setForce]=import_react66.useState(!1);useKeyboard((key2)=>{if(keys.match("dialog.cancel",key2)||keys.match("dialog.deny",key2))return props.done(null);if(keys.match("dialog.confirm",key2)||keys.match("dialog.accept",key2))return props.done(force);if(key2.name==="space"||key2.name===" ")return setForce((f)=>!f)});let d2=props.p.distribution;return $jsxs("box",{flexDirection:"column",width:62,gap:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.warning,children:$jsx("strong",{children:"Update distribution?"})})}),$jsxs("box",{flexDirection:"column",children:[$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:`'${props.p.name}' \xB7 v${d2.version}${d2.source?` \xB7 ${d2.source}`:""}`})}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:"Re-pulls from source; distribution-owned files are overwritten."})}),props.p.is_active?$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.warning,children:"\u26A0 This is the active profile. The gateway will re-spawn "+"and the current session will end."})}):null]}),$jsx("box",{height:1,children:$jsx("text",{fg:force?theme.warning:theme.textMuted,children:`${force?"[x]":"[ ]"} --force-config \xB7 also overwrite config.yaml`})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`[${keys.print("dialog.confirm")}] update [Space] toggle force [${keys.print("dialog.cancel")}] cancel`})})]})};function openUpdateDistribution(dialog,p,onConfirm){dialog.replace($jsx(UpdateForm,{p,done:(force)=>{if(dialog.clear(),force!==null)onConfirm(force)}}))}var import_react68=__toESM(require_react_production(),1);import{existsSync as existsSync10,readFileSync as readFileSync3}from"fs";import{readdir as readdir3}from"fs/promises";import{homedir as homedir6}from"os";import{join as join8,basename as basename7,dirname as dirname5}from"path";import{Database as Database2}from"bun:sqlite";var home3=()=>process.env.HOME||homedir6(),hermesHome=()=>process.env.HERMES_HOME||join8(home3(),".hermes");function root(){let hh=hermesHome(),parent=dirname5(hh);return basename7(parent)==="profiles"?dirname5(parent):hh}function profileNameFrom(hh){let parent=dirname5(hh);return basename7(parent)==="profiles"?basename7(hh):"default"}function activeProfileName(){return profileNameFrom(hermesHome())}function stickyDefault(){try{return readFileSync3(join8(root(),"active_profile"),"utf-8").trim()||null}catch{return null}}var ID_RE=/^[a-z0-9][a-z0-9_-]{0,63}$/;function readModel(dir){try{let raw=readFileSync3(join8(dir,"config.yaml"),"utf-8"),block=raw.split(/^model:\s*$/m)[1]?.split(/^\S/m)[0]??"",m2=block.match(/^\s+(?:default|model):\s*(.+)$/m)?.[1]?.trim()??raw.match(/^model:\s*(\S.+)$/m)?.[1]?.trim(),p=block.match(/^\s+provider:\s*(.+)$/m)?.[1]?.trim(),clean=(s)=>s?.replace(/^["']|["']$/g,"")??null;return[clean(m2),clean(p)]}catch{return[null,null]}}async function countSkills(dir){let glob=new Bun.Glob("**/SKILL.md"),n=0;try{for await(let _2 of glob.scan({cwd:join8(dir,"skills"),onlyFiles:!0}))n++}catch{}return n}function gatewayRunning(dir){try{let raw=readFileSync3(join8(dir,"gateway.pid"),"utf-8").trim(),pid2=raw.startsWith("{")?Number(JSON.parse(raw).pid):Number(raw);if(!Number.isFinite(pid2)||pid2<=0)return!1;return process.kill(pid2,0),!0}catch{return!1}}function soul(dir){try{return readFileSync3(join8(dir,"SOUL.md"),"utf-8").replace(/^#[^\n]*\n+/,"").replace(/^\s+/,"").slice(0,400)}catch{return""}}function readDistributionManifest(dir){let path7=join8(dir,"distribution.yaml");if(!existsSync10(path7))return null;let data2=(()=>{try{return $parse(readFileSync3(path7,"utf-8"))}catch{return null}})();if(!data2||typeof data2!=="object"||Array.isArray(data2))return null;let d2=data2,name=typeof d2.name==="string"?d2.name.trim():"";if(!name)return null;let envs=(Array.isArray(d2.env_requires)?d2.env_requires:[]).flatMap((e)=>{if(!e||typeof e!=="object")return[];let r=e,n=typeof r.name==="string"?r.name.trim():"";if(!n)return[];return[{name:n,description:typeof r.description==="string"?r.description:"",required:r.required===void 0?!0:Boolean(r.required),default:typeof r.default==="string"?r.default:null}]}),owned=(Array.isArray(d2.distribution_owned)?d2.distribution_owned:[]).map((p)=>typeof p==="string"?p.trim().replace(/\/+$/,""):"").filter((p)=>p.length>0);return{name,version:typeof d2.version==="string"?d2.version:"0.1.0",description:typeof d2.description==="string"?d2.description:"",hermes_requires:typeof d2.hermes_requires==="string"?d2.hermes_requires:"",author:typeof d2.author==="string"?d2.author:"",license:typeof d2.license==="string"?d2.license:"",env_requires:envs,distribution_owned:owned,source:typeof d2.source==="string"?d2.source:"",installed_at:typeof d2.installed_at==="string"?d2.installed_at:""}}var src=(file,label)=>({file,relative:file.replace(home3()+"/","~/"),label});async function info(name,dir,active,sticky){let[model,provider]=readModel(dir),alias=join8(home3(),".local","bin",name);return{name,path:dir,is_default:name==="default",is_active:name===active,is_sticky:name===sticky,gateway_running:gatewayRunning(dir),model,provider,has_env:existsSync10(join8(dir,".env")),skill_count:await countSkills(dir),has_alias:name!=="default"&&existsSync10(alias),soul_preview:soul(dir),distribution:readDistributionManifest(dir),sources:{dir:src(dir,dir.replace(home3()+"/","~/")),config:src(join8(dir,"config.yaml"),"config.yaml"),soul:src(join8(dir,"SOUL.md"),"SOUL.md"),env:src(join8(dir,".env"),".env"),distribution:src(join8(dir,"distribution.yaml"),"distribution.yaml")}}}async function listProfiles(activeHome){let r=root(),active=profileNameFrom(activeHome??hermesHome()),sticky=stickyDefault(),jobs=[];if(existsSync10(r))jobs.push(info("default",r,active,sticky));let pr=join8(r,"profiles");if(existsSync10(pr))for(let e of await readdir3(pr,{withFileTypes:!0})){if(!e.isDirectory()||!ID_RE.test(e.name))continue;jobs.push(info(e.name,join8(pr,e.name),active,sticky))}return Promise.all(jobs)}function validateName(name,existing){if(!ID_RE.test(name))return"must match [a-z0-9][a-z0-9_-]{0,63}";if(existing.includes(name))return"already exists";if(["hermes","default","test","tmp","root","sudo"].includes(name))return"reserved name";return null}function readPrefs(dir){try{let raw=JSON.parse(readFileSync3(join8(dir,"herm","tui.json"),"utf-8"));return{theme:raw.theme,eikon:raw.eikonPath?basename7(raw.eikonPath,".eikon"):void 0,keys:raw.keys?Object.keys(raw.keys).length:0}}catch{return null}}async function profileStats(dir){let sessions=null,messages=null,dbPath=join8(dir,"state.db");if(existsSync10(dbPath))try{let db=new Database2(dbPath,{readwrite:!0,create:!1}),r=db.query("SELECT COUNT(*) AS s FROM sessions WHERE message_count > 0").get(),m2=db.query("SELECT COALESCE(SUM(message_count), 0) AS m FROM sessions").get();sessions=r.s,messages=m2.m,db.close()}catch{}let crons=null;try{let jobs=await Bun.file(join8(dir,"cron","jobs.json")).json();crons=Array.isArray(jobs)?jobs.length:jobs&&typeof jobs==="object"&&Array.isArray(jobs.jobs)?jobs.jobs.length:0}catch{crons=existsSync10(join8(dir,"cron"))?0:null}return{sessions,messages,crons,prefs:readPrefs(dir)}}var ORDER2=["name","clone","alias"];function openCreateProfile(dialog,opts){return new Promise((resolve4)=>{let done=(r)=>{dialog.clear(),resolve4(r)};dialog.replace($jsx(Form,{existing:opts.existing,done}))})}var Form=({existing,done})=>{let theme=useTheme().theme,[name,setName]=import_react68.useState(""),[cloneIdx,setCloneIdx]=import_react68.useState(0),[alias,setAlias]=import_react68.useState(!0),[field,setField]=import_react68.useState("name"),options=["(fresh)",...existing],err=name?validateName(name,existing):null,valid=!!name&&!err,submit=()=>{if(!valid)return;done({name,cloneFrom:cloneIdx===0?null:options[cloneIdx],alias})},moveField=(dir)=>{let i=ORDER2.indexOf(field);setField(ORDER2[(i+dir+ORDER2.length)%ORDER2.length])};useKeyboard((key2)=>{if(key2.name==="escape")return done(null);if(key2.name==="tab")return moveField(key2.shift?-1:1);if(key2.name==="return")return submit();if(field==="name"){if(key2.name==="backspace")return setName((n)=>n.slice(0,-1));if(key2.raw&&key2.raw.length===1&&/[a-z0-9_-]/.test(key2.raw))return setName((n)=>n+key2.raw);return}if(field==="clone"){if(key2.name==="up")return setCloneIdx((i)=>Math.max(0,i-1));if(key2.name==="down")return setCloneIdx((i)=>Math.min(options.length-1,i+1));return}if(field==="alias"){if(key2.name==="space"||key2.name===" ")return setAlias((a)=>!a)}});let focusBg=(f)=>field===f?theme.backgroundElement:void 0;return $jsxs("box",{flexDirection:"column",width:54,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"New Profile"})})}),$jsx("box",{height:1}),$jsxs("box",{height:1,flexDirection:"row",backgroundColor:focusBg("name"),children:[$jsx("box",{width:11,children:$jsx("text",{fg:theme.textMuted,children:"Name"})}),$jsxs("text",{children:[$jsx("span",{fg:valid||!name?theme.text:theme.error,children:name}),field==="name"?$jsx("span",{fg:theme.accent,children:"\u2588"}):null]})]}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:" a-z 0-9 _ - \xB7 lowercase"})}),$jsx("box",{height:1}),$jsx("box",{height:1,backgroundColor:focusBg("clone"),children:$jsx("text",{fg:theme.textMuted,children:"Clone from (\u2191\u2193)"})}),options.map((o,i)=>$jsx("box",{height:1,backgroundColor:focusBg("clone"),children:$jsxs("text",{fg:i===cloneIdx?theme.accent:theme.text,children:[i===cloneIdx?"\u25B8 ":" ",o]})},o)),$jsx("box",{height:1}),$jsxs("box",{height:1,flexDirection:"row",backgroundColor:focusBg("alias"),children:[$jsx("box",{width:11,children:$jsx("text",{fg:theme.textMuted,children:"Alias"})}),$jsx("text",{fg:alias?theme.accent:theme.textMuted,children:alias?"[x] shell alias":"[ ] shell alias"})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:valid?"Enter create \xB7 Tab next field \xB7 Space toggle \xB7 Esc cancel":err??"type a name"})})]})};var import_react70=__toESM(require_react_production(),1);import{rmSync,mkdtempSync}from"fs";import{join as join9}from"path";import{tmpdir}from"os";var shq=(s)=>`'${s.replace(/'/g,"'\\''")}'`;function openInstallDistribution(dialog,gw){return new Promise((resolve4)=>{askSource(dialog,gw,(r)=>{dialog.clear(),resolve4(r)})})}function askSource(dialog,gw,done){dialog.replace($jsx(Step1,{onSubmit:(source)=>preview(dialog,gw,source,done),onCancel:()=>done(null)}))}async function preview(dialog,gw,source,done){let tmp=mkdtempSync(join9(tmpdir(),"herm-dist-preview-")),cleanup=()=>{try{rmSync(tmp,{recursive:!0,force:!0})}catch{}},state2={cancelled:!1},cancel=()=>{state2.cancelled=!0,cleanup(),done(null)};dialog.replace($jsx(Loading,{label:`Cloning ${source}\u2026`,onCancel:cancel}),void 0,{ownCancel:!0});let cmd=`git clone --depth 1 --quiet ${shq(source)} ${shq(tmp)} 2>&1`,r=await gw.request("shell.exec",{command:cmd}).catch((e)=>({stdout:"",stderr:e.message,code:-1}));if(state2.cancelled)return;if(r.code!==0){cleanup(),dialog.replace($jsx(ErrorBox,{title:"Clone failed",body:(r.stderr||r.stdout||`exit ${r.code}`).trim(),onClose:()=>done(null)}));return}let manifest=readDistributionManifest(tmp);if(!manifest){cleanup(),dialog.replace($jsx(ErrorBox,{title:"Not a distribution",body:`No valid distribution.yaml at the root of ${source}. A manifest must declare at minimum a 'name:' key.`,onClose:()=>done(null)}));return}dialog.replace($jsx(ConfirmStep,{source,manifest,onConfirm:(r2)=>{cleanup(),done(r2)},onCancel:()=>{cleanup(),done(null)}}),void 0,{ownCancel:!0})}var Step1=(p)=>{let theme=useTheme().theme,[value,setValue]=import_react70.useState("");return useKeyboard((key2)=>{if(key2.name==="escape")return p.onCancel()}),$jsxs("box",{flexDirection:"column",width:64,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Install Distribution"})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Source \u2014 git URL, github.com/owner/repo, or local directory"})}),$jsxs("box",{height:1,flexDirection:"row",overflow:"hidden",children:[$jsx("box",{flexShrink:0,children:$jsx("text",{fg:theme.accent,children:"\u2503 "})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("input",{value,onInput:setValue,onSubmit:()=>{let v2=value.trim();if(v2)p.onSubmit(v2)},focused:!0,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement})})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:value.trim()?"Enter preview \xB7 Esc cancel":"Esc cancel"})})]})},Loading=(p)=>{let theme=useTheme().theme;return useKeyboard((key2)=>{if(key2.name==="escape")return p.onCancel()}),$jsxs("box",{flexDirection:"column",width:54,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Install Distribution"})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx(Spinner,{color:theme.accent,label:p.label})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Esc to cancel"})})]})},ErrorBox=(p)=>{let theme=useTheme().theme,keys=useKeys();return useKeyboard((key2)=>{if(keys.match("dialog.accept",key2)||keys.match("dialog.cancel",key2))return p.onClose()}),$jsxs("box",{flexDirection:"column",width:68,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.error,children:$jsx("strong",{children:p.title})})}),$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.text,children:p.body})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Enter / Esc to close"})})]})},ORDER3=["name","alias"],ConfirmStep=(p)=>{let theme=useTheme().theme,keys=useKeys(),[name,setName]=import_react70.useState(""),[alias,setAlias]=import_react70.useState(!1),[field,setField]=import_react70.useState("name"),fire=()=>p.onConfirm({source:p.source,manifest:p.manifest,name:name.trim()||null,alias}),move=(dir)=>{let i=ORDER3.indexOf(field);setField(ORDER3[(i+dir+ORDER3.length)%ORDER3.length])};useKeyboard((key2)=>{if(key2.name==="escape")return p.onCancel();if(key2.name==="tab")return move(key2.shift?-1:1);if(field!=="name"&&keys.match("dialog.accept",key2))return fire();if(field==="alias"&&(key2.name==="space"||key2.name===" "))return setAlias((a)=>!a)});let m2=p.manifest,reqEnv=m2.env_requires.filter((e)=>e.required),optEnv=m2.env_requires.filter((e)=>!e.required),focusBg=(f)=>field===f?theme.backgroundElement:void 0;return $jsxs("box",{flexDirection:"column",width:72,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Install Distribution"})})}),$jsx("box",{height:1}),$jsx(KV2,{label:"Name",value:`${m2.name}${m2.version?` v${m2.version}`:""}`,theme}),m2.description?$jsx(KV2,{label:"About",value:m2.description,theme,wrap:!0}):null,m2.author?$jsx(KV2,{label:"Author",value:m2.author,theme}):null,m2.license?$jsx(KV2,{label:"License",value:m2.license,theme}):null,m2.hermes_requires?$jsx(KV2,{label:"Requires",value:`hermes ${m2.hermes_requires}`,theme}):null,$jsx(KV2,{label:"Source",value:p.source,theme}),m2.distribution_owned.length>0?$jsx(KV2,{label:"Owns",value:m2.distribution_owned.join(", "),theme,wrap:!0}):null,m2.env_requires.length>0?$jsx(KV2,{label:"Env",value:envSummary(reqEnv,optEnv),theme}):null,$jsx("box",{height:1}),$jsxs("box",{height:1,flexDirection:"row",backgroundColor:focusBg("name"),children:[$jsx("box",{width:11,children:$jsx("text",{fg:theme.textMuted,children:"Name as"})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:field==="name"?$jsx("input",{value:name,onInput:setName,onSubmit:fire,focused:!0,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement}):$jsx("text",{fg:name?theme.text:theme.textMuted,children:name||`(${m2.name})`})})]}),$jsxs("box",{height:1,flexDirection:"row",backgroundColor:focusBg("alias"),children:[$jsx("box",{width:11,children:$jsx("text",{fg:theme.textMuted,children:"Alias"})}),$jsx("text",{fg:alias?theme.accent:theme.textMuted,children:alias?"[x] create shell wrapper":"[ ] create shell wrapper"})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Enter install \xB7 Tab next field \xB7 Space toggle \xB7 Esc cancel"})})]})},KV2=(p)=>$jsxs("box",{flexDirection:"row",minHeight:1,children:[$jsx("box",{width:11,flexShrink:0,children:$jsx("text",{fg:p.theme.textMuted,children:p.label})}),$jsx("box",{flexGrow:1,minWidth:0,children:$jsx("text",{fg:p.theme.text,wrapMode:p.wrap?"word":"none",children:p.value})})]});function envSummary(req,opt){return[req.length>0?`${req.length} required (${req.map((e)=>e.name).join(", ")})`:"",opt.length>0?`${opt.length} optional`:""].filter(Boolean).join(" \xB7 ")}var running=(s)=>!s||s==="running"||s==="queued";function tree(recs,live,now){let ids=new Set(recs.map((r)=>r.subagent_id)),by=new Map;for(let r of recs){let k2=r.parent_id&&ids.has(r.parent_id)?r.parent_id:"";(by.get(k2)??by.set(k2,[]).get(k2)).push(r)}let build2=(r)=>{let kids=(by.get(r.subagent_id)??[]).map(build2),lv=live.get(r.subagent_id)??{},dur3=r.started_at!=null?Math.max(0,now-r.started_at):0,a={agents:1,tools:lv.tool_count??r.tool_count??0,dur:dur3,tok:(lv.input_tokens??0)+(lv.output_tokens??0),cost:lv.cost_usd??0,active:running(lv.status??r.status)?1:0,depth:0,hot:0};for(let k2 of kids)a={agents:a.agents+k2.agg.agents,tools:a.tools+k2.agg.tools,dur:a.dur+k2.agg.dur,tok:a.tok+k2.agg.tok,cost:a.cost+k2.agg.cost,active:a.active+k2.agg.active,depth:Math.max(a.depth,k2.agg.depth+1),hot:0};return a.hot=a.dur>0?a.tools/a.dur:0,{rec:r,agg:a,kids}};return(by.get("")??[]).map(build2)}function totals(nodes){let z2={agents:0,tools:0,dur:0,tok:0,cost:0,active:0,depth:0,hot:0};for(let n of nodes)z2.agents+=n.agg.agents,z2.tools+=n.agg.tools,z2.dur+=n.agg.dur,z2.tok+=n.agg.tok,z2.cost+=n.agg.cost,z2.active+=n.agg.active,z2.depth=Math.max(z2.depth,n.agg.depth+1);return z2.hot=z2.dur>0?z2.tools/z2.dur:0,z2}var SPARK=["\u2581","\u2582","\u2583","\u2584","\u2585","\u2586","\u2587","\u2588"];function spark(nodes){let w2=[],walk=(ns,d2)=>{if(ns.length===0)return;w2[d2]=(w2[d2]??0)+ns.length;for(let n of ns)walk(n.kids,d2+1)};if(walk(nodes,0),w2.length===0)return"";let max=Math.max(...w2);return w2.map((v2)=>v2<=0?" ":SPARK[Math.min(7,Math.ceil(v2/max*7))]).join("")}var tk=(n)=>n<1000?String(Math.round(n)):n<1e4?`${(n/1000).toFixed(1)}k`:`${Math.round(n/1000)}k`,$$=(n)=>n<=0?"":n<0.01?"<$0.01":n<10?`$${n.toFixed(2)}`:`$${n.toFixed(1)}`,sec=(s)=>{if(s<60)return`${Math.round(s)}s`;let m2=Math.floor(s/60),r=Math.round(s-m2*60);return r===0?`${m2}m`:`${m2}m${r}s`};function summary(a){let p=[`d${a.depth}`,`${a.agents} agent${a.agents===1?"":"s"}`];if(a.tools>0)p.push(`${a.tools} tools`);if(a.dur>0)p.push(sec(a.dur));if(a.tok>0)p.push(`${tk(a.tok)} tok`);if(a.cost>0)p.push($$(a.cost));if(a.active>0)p.push(`\u26A1${a.active}`);return p.join(" \xB7 ")}function heat(hot,peak,buckets){if(hot<=0||peak<=0||buckets<=1)return 0;return Math.min(buckets-1,Math.round(Math.min(1,hot/peak)*(buckets-1)))}function peak(nodes){let p=0,walk=(ns)=>{for(let n of ns)p=Math.max(p,n.agg.hot),walk(n.kids)};return walk(nodes),p}var ProfileRow=import_react72.memo((props)=>{let theme=useTheme().theme,{p,idx:i}=props,[x2,setX]=import_react72.useState(!1);return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:props.selected?theme.backgroundElement:void 0,onMouseOver:()=>props.onHover(i),onMouseDown:()=>props.onEnter(i),children:[$jsx("box",{width:2,children:$jsx("text",{fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "})}),$jsx("box",{flexGrow:1,minWidth:8,height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:p.is_active?theme.accent:theme.text,children:p.is_active?$jsx("strong",{children:p.name}):p.name}),p.is_sticky?$jsx("span",{fg:theme.warning,children:" \u2605"}):null,p.distribution?$jsx("span",{fg:theme.info,children:" \u2B22"}):null,p.gateway_running?$jsx("span",{fg:theme.success,children:" \u25CF"}):null]})}),$jsx("box",{width:4,height:1,children:$jsx("text",{fg:theme.textMuted,children:p.is_active?" you":""})}),p.is_default||p.is_active?$jsx("box",{width:3}):$jsx("box",{width:3,onMouseDown:(e)=>{e.stopPropagation(),props.onDelete(i)},onMouseOver:()=>setX(!0),onMouseOut:()=>setX(!1),children:$jsx("text",{fg:x2?theme.error:theme.textMuted,children:" \u2715"})})]})}),DistBlock=import_react72.memo((props)=>{let theme=useTheme().theme,d2=props.d,req=d2.env_requires.filter((e)=>e.required).length,opt=d2.env_requires.length-req,link2=d2.source?{file:d2.source,relative:d2.source,label:d2.source}:props.yaml,when2=d2.installed_at?Date.parse(d2.installed_at):NaN;return $jsxs($Fragment,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:"Distribution"})})}),$jsx(KVBlock,{rows:[["Name",d2.name],["Version",`v${d2.version}`],["Requires",d2.hermes_requires?`Hermes ${d2.hermes_requires}`:void 0]]}),$jsx(KVLink,{label:"Source",source:link2,text:d2.source||props.yaml.label}),$jsx(KVBlock,{rows:[["Installed at",Number.isFinite(when2)?ago(when2/1000):void 0],["Env vars",d2.env_requires.length?`${req} required, ${opt} optional`:void 0]]})]})}),ProfileDetail=import_react72.memo((props)=>{let{theme,syntaxStyle}=useTheme(),p=props.p,s=props.stats;return $jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",width:"100%",children:[$jsx("box",{height:1,children:$jsxs("text",{fg:theme.accent,children:[$jsx("strong",{children:p.name}),p.is_sticky?$jsx("span",{fg:theme.warning,children:" \u2605 sticky default"}):null]})}),$jsx("box",{height:1}),$jsx(KVLink,{label:"Path",source:p.sources.dir,text:p.sources.dir.relative}),$jsx(KV,{label:"Active",value:p.is_active?"yes (this session)":"no",fg:p.is_active?theme.accent:theme.textMuted}),$jsx(KV,{label:"Model",value:p.model??"\u2014"}),$jsx(KV,{label:"Provider",value:p.provider??"\u2014"}),$jsx(KV,{label:"Skills",value:String(p.skill_count)}),$jsx(KV,{label:"Sessions",value:s?s.sessions==null?"\u2014":`${fmt(s.sessions)} (${fmt(s.messages??0)} msgs)`:"\u2026"}),$jsx(KV,{label:"Cron jobs",value:s?s.crons==null?"\u2014":String(s.crons):"\u2026"}),$jsx(KV,{label:"Theme",value:s?s.prefs?.theme??"\u2014":"\u2026"}),$jsx(KV,{label:"Avatar",value:s?s.prefs?.eikon??"\u2014":"\u2026"}),s?.prefs?.keys?$jsx(KV,{label:"Keybinds",value:`${s.prefs.keys} overrides`}):null,$jsx(KV,{label:"Gateway",value:p.gateway_running?"running":"stopped",fg:p.gateway_running?theme.success:theme.textMuted}),p.has_alias?$jsx(KV,{label:"Alias",value:`${p.name} (shell)`}):null,p.distribution?$jsx(DistBlock,{d:p.distribution,yaml:p.sources.distribution}):null,$jsx("box",{height:1}),$jsx(KVLink,{label:"Config",source:p.sources.config}),$jsx(KVLink,{label:"Soul",source:p.sources.soul}),p.has_env?$jsx(KVLink,{label:"Env",source:p.sources.env}):$jsx(KV,{label:"Env",value:"\u2014"}),p.soul_preview?$jsxs($Fragment,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"SOUL.md"})}),$jsx("markdown",{content:p.soul_preview,fg:theme.markdownText,syntaxStyle})]}):null]})})}),HOT=["\u2800","\u2801","\u2803","\u2807","\u280F","\u281F","\u283F","\u287F","\u28FF"],DelegRow=import_react72.memo((props)=>{let theme=useTheme().theme,{r,idx:i,now}=props,[x2,setX]=import_react72.useState(!1),up=r.started_at?dur2(now-r.started_at):"\u2014",hotFg=[theme.textMuted,theme.textMuted,theme.text,theme.info,theme.info,theme.accent,theme.accent,theme.warning,theme.error][props.hot]??theme.textMuted;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:props.selected?theme.backgroundElement:void 0,onMouseOver:()=>props.onHover(i),children:[$jsx("box",{width:2,children:$jsx("text",{fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "})}),$jsx("box",{width:2,children:$jsxs("text",{fg:hotFg,children:[HOT[props.hot]," "]})}),$jsx("box",{flexGrow:1,minWidth:8,height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"\xB7 ".repeat(r.depth)}),$jsx("span",{fg:theme.text,children:r.goal.replace(/\s+/g," ")})]})}),$jsx("box",{width:14,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:trunc4(r.model??"",13)})}),$jsx("box",{width:5,height:1,flexDirection:"row",justifyContent:"flex-end",children:$jsx("text",{fg:theme.textMuted,children:String(r.tool_count??0)})}),$jsx("box",{width:8,height:1,flexDirection:"row",justifyContent:"flex-end",children:$jsx("text",{fg:theme.textMuted,children:up})}),$jsx("box",{width:3,onMouseDown:(e)=>{e.stopPropagation(),props.onKill(i)},onMouseOver:()=>setX(!0),onMouseOut:()=>setX(!1),children:$jsx("text",{fg:x2?theme.error:theme.textMuted,children:" \u2715"})})]})});function preorder(recs){let byParent=new Map;for(let r of recs){let k2=r.parent_id??null;(byParent.get(k2)??byParent.set(k2,[]).get(k2)).push(r)}let out=[],seen=new Set,walk=(k2)=>{for(let r of byParent.get(k2)??[]){if(seen.has(r.subagent_id))continue;seen.add(r.subagent_id),out.push(r),walk(r.subagent_id)}};walk(null);for(let r of recs)if(!seen.has(r.subagent_id))out.push(r);return out}var DelegDetail=import_react72.memo((props)=>{let theme=useTheme().theme,{r,live,agg,now}=props,tc=live?.tool_count??r.tool_count??0,tr=trail(r.subagent_id);return $jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",width:"100%",children:[$jsx("box",{minHeight:1,children:$jsx("text",{fg:theme.accent,wrapMode:"word",children:$jsx("strong",{children:r.goal})})}),agg&&agg.agents>1?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:summary(agg)})}):null,$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Status",live?.status??r.status??"running"],["Model",r.model??"\u2014"],["Depth",String(r.depth)],["Parent",r.parent_id??"(root)"],["Uptime",r.started_at?dur2(now-r.started_at):"\u2014"],["Tools",String(tc)],["Tokens",live?`${fmt(live.input_tokens??0)} in / ${fmt(live.output_tokens??0)} out`:void 0],["Cost",live?.cost_usd!=null?`$${live.cost_usd.toFixed(4)}`:void 0]]}),live?.thinking?$jsxs($Fragment,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"thinking"})}),$jsx("box",{minHeight:1,children:$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:trunc4(live.thinking,200)})})]}):null,tr.length>0?$jsxs($Fragment,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"recent tools"})}),tr.slice(-8).map((t2,i)=>$jsx("box",{height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"\u2503 "}),$jsx("span",{fg:theme.text,children:t2.name.padEnd(14)}),$jsx("span",{fg:theme.textMuted,children:t2.preview?trunc4(t2.preview.replace(/\s+/g," "),40):""})]})},i))]}):null]})})}),Agents=import_react72.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),cmd=useCommand(),[pane,setPane]=import_react72.useState("profiles"),[pView,setPView]=import_react72.useState("list"),[profiles,setProfiles]=import_react72.useState([]),[deleg,setDeleg]=import_react72.useState(null),[liveMap,setLiveMap]=import_react72.useState(()=>new Map),[now,setNow]=import_react72.useState(()=>Date.now()/1000),[pSel,setPSel]=import_react72.useState(0),[dSel,setDSel]=import_react72.useState(0),[err,setErr]=import_react72.useState(""),active=preorder(deleg?.active??[]),nodes=tree(deleg?.active??[],liveMap,now),all=totals(nodes),hotPeak=peak(nodes),aggOf=new Map;{let walk=(ns)=>{for(let n of ns)aggOf.set(n.rec.subagent_id,n.agg),walk(n.kids)};walk(nodes)}let live=import_react72.useRef({profiles,active});live.current={profiles,active};let gwHome=import_react72.useRef(void 0),[stats,setStats]=import_react72.useState(()=>new Map),[sticky,setSticky]=import_react72.useState(stickyDefault),loadProfiles=import_react72.useCallback(()=>{setStats(new Map),setSticky(stickyDefault()),listProfiles(gwHome.current).then((ps)=>{setProfiles(ps),setErr("")}).catch((e)=>setErr(`profiles: ${e.message}`))},[]);import_react72.useEffect(()=>{gw.request("config.get",{key:"profile"}).then((r)=>{gwHome.current=r.home}).catch(()=>{}).finally(loadProfiles)},[gw,loadProfiles]);let loadDeleg=import_react72.useCallback(()=>{gw.request("delegation.status").then((r)=>{setDeleg(r),setNow(Date.now()/1000)}).catch(()=>setDeleg({active:[],paused:!1,max_spawn_depth:0,max_concurrent_children:0}))},[gw]);import_react72.useEffect(loadDeleg,[loadDeleg]),import_react72.useEffect(()=>{if(!props.focused)return;let ms2=(deleg?.active.length??0)>0?1500:5000,t2=setInterval(loadDeleg,ms2);return()=>clearInterval(t2)},[props.focused,deleg?.active.length,loadDeleg]),useGatewayEvent((ev)=>{if(!ev.type.startsWith("subagent."))return;let p=ev.payload,id=p.subagent_id;if(!id)return;if(setLiveMap((prev)=>{let next=new Map(prev),cur=next.get(id)??{tool_count:0};switch(ev.type){case"subagent.start":next.set(id,{tool_count:0});break;case"subagent.tool":next.set(id,{...cur,tool_count:cur.tool_count+1,last_tool:p.tool_name,last_preview:p.tool_preview});break;case"subagent.thinking":next.set(id,{...cur,thinking:p.text});break;case"subagent.complete":next.set(id,{...cur,status:p.status,input_tokens:p.input_tokens,output_tokens:p.output_tokens,cost_usd:p.cost_usd});break}return next}),ev.type==="subagent.start"||ev.type==="subagent.complete")loadDeleg()});let sh=import_react72.useCallback((cmd2)=>gw.request("shell.exec",{command:cmd2}).then((r)=>{if(r.code!==0)throw Error((r.stderr||r.stdout||"exit "+r.code).trim());return r.stdout}),[gw]),pHover=import_react72.useCallback((i)=>setPSel(i),[]),dHover=import_react72.useCallback((i)=>setDSel(i),[]),pDelete=import_react72.useCallback(async(i)=>{let p=live.current.profiles[i];if(!p||p.is_default||p.is_active)return;let warn=p.gateway_running?`
4105
4105
 
4106
4106
  Its gateway is running and will be stopped first (may take up to ~10s).`:"";if(!await openConfirm(dialog,{title:"Delete Profile?",body:`'${p.name}' \u2014 config, env, memory, skills, and sessions will be removed. This cannot be undone.${warn}`,yes:"delete",danger:!0}))return;sh(`hermes profile delete ${p.name} -y`).then(()=>{toast.show({variant:"success",message:`Deleted '${p.name}'`}),loadProfiles()}).catch((e)=>toast.show({variant:"error",message:e.message}))},[sh,dialog,toast,loadProfiles]),pSwitch=import_react72.useCallback(async(i)=>{let p=live.current.profiles[i];if(!p||p.is_active||!props.onSwitchProfile)return;if(await openConfirm(dialog,{title:`Switch to '${p.name}'?`,body:"The gateway restarts under this profile's HERMES_HOME. The current session ends (it stays in the outgoing profile's history).",yes:"switch"}))props.onSwitchProfile(p.path,p.name)},[dialog,props.onSwitchProfile]),pUpdate=import_react72.useCallback((p,force)=>{let cmd2=`hermes profile update ${p.name} -y${force?" --force-config":""}`;toast.show({variant:"info",message:`Updating '${p.name}'\u2026`}),sh(cmd2).then(()=>{if(toast.show({variant:"success",message:`Updated '${p.name}'`}),p.is_active&&props.onSwitchProfile){props.onSwitchProfile(p.path,p.name);return}loadProfiles()}).catch((e)=>toast.show({variant:"error",message:e.message}))},[sh,toast,loadProfiles,props.onSwitchProfile]),pEnter=import_react72.useCallback((i)=>{setPSel(i);let p=live.current.profiles[i];if(!p)return;openProfileMenu(dialog,p,{switch:props.onSwitchProfile?()=>pSwitch(i):void 0,sticky:(pp)=>sh(`hermes profile use ${pp.name}`).then(()=>{toast.show({variant:"success",message:`Sticky default \u2192 '${pp.name}'`}),loadProfiles()}).catch((e)=>toast.show({variant:"error",message:e.message})),unsticky:()=>sh("hermes profile use --clear").then(()=>{toast.show({variant:"info",message:"Cleared sticky default"}),loadProfiles()}).catch((e)=>toast.show({variant:"error",message:e.message})),export:(pp)=>sh(`hermes profile export ${pp.name}`).then((out)=>toast.show({variant:"success",message:trunc4(out.trim()||`Exported '${pp.name}'`,80)})).catch((e)=>toast.show({variant:"error",message:e.message})),remove:()=>pDelete(i),update:(pp,force)=>pUpdate(pp,force)})},[sh,dialog,toast,loadProfiles,pDelete,pSwitch,pUpdate,props.onSwitchProfile]),dKill=import_react72.useCallback(async(i)=>{let r=live.current.active[i];if(!r)return;if(!await openConfirm(dialog,{title:"Interrupt subagent?",body:`${trunc4(r.goal,120)}
4107
4107
 
@@ -4113,15 +4113,15 @@ The child returns whatever partial result it has so far.`,yes:"interrupt",danger
4113
4113
  FROM task_events WHERE task_id = ? ORDER BY id DESC LIMIT ?`).all(id,EVENT_TAIL).map(toEvent).reverse()}catch{return[]}},latestSummary=(conn2,id)=>{try{return conn2.query(`SELECT summary FROM task_runs
4114
4114
  WHERE task_id = ? AND summary IS NOT NULL AND summary != ''
4115
4115
  ORDER BY id DESC LIMIT 1`).get(id)?.summary??null}catch{return null}};function tailLogOf(s,id,bytes=16384){let path7=`${logsDir(s)}/${id}.log`;if(!existsSync11(path7))return null;try{let size=statSync3(path7).size,want=Math.min(size,bytes),fd=openSync3(path7,"r"),buf=Buffer.alloc(want);readSync3(fd,buf,0,want,size-want),closeSync3(fd);let out=buf.toString("utf-8");if(size>bytes){let nl=out.indexOf(`
4116
- `);if(nl>=0&&nl<out.length-1)out=out.slice(nl+1)}return out}catch{return null}}function assignees(s=slug){let seen=new Set,dir=kp("profiles");if(existsSync11(dir)){for(let e of readdirSync4(dir,{withFileTypes:!0}))if(e.isDirectory())seen.add(e.name)}let conn2=dbOf(s);if(conn2)try{for(let r of conn2.query("SELECT DISTINCT assignee FROM tasks WHERE assignee IS NOT NULL AND status != 'archived'").all())seen.add(r.assignee)}catch{}return[...seen].sort()}function writeTxn(conn2,fn){conn2.exec("BEGIN IMMEDIATE");try{let out=fn();return conn2.exec("COMMIT"),out}catch(err){try{conn2.exec("ROLLBACK")}catch{}throw err}}var now=()=>Math.floor(Date.now()/1000);function patchTask(s,id,patch){let conn2=rwOf(s);if(!conn2)return!1;if(!conn2.query("SELECT 1 FROM tasks WHERE id = ?").get(id))return!1;if(patch.priority!==void 0){let p=Math.max(0,Math.min(9,Math.floor(patch.priority)));writeTxn(conn2,()=>{conn2.query("UPDATE tasks SET priority = ? WHERE id = ?").run(p,id),conn2.query("INSERT INTO task_events (task_id, run_id, kind, payload, created_at) VALUES (?, NULL, 'reprioritized', ?, ?)").run(id,JSON.stringify({priority:p}),now())})}if(patch.title!==void 0||patch.body!==void 0){let sets=[],vals=[];if(patch.title!==void 0){let t2=patch.title.trim();if(!t2)throw Error("title cannot be empty");sets.push("title = ?"),vals.push(t2)}if(patch.body!==void 0)sets.push("body = ?"),vals.push(patch.body);vals.push(id),writeTxn(conn2,()=>{conn2.query(`UPDATE tasks SET ${sets.join(", ")} WHERE id = ?`).run(...vals),conn2.query("INSERT INTO task_events (task_id, run_id, kind, payload, created_at) VALUES (?, NULL, 'edited', NULL, ?)").run(id,now())})}return!0}var q3=(s)=>/^[A-Za-z0-9._\/:+=-]+$/.test(s)?s:`'${s.replace(/'/g,"'\\''")}'`;var import_react76=__toESM(require_react_production(),1);var cycle=(t2)=>t2==="off"?"in":t2==="in"?"ex":"off",FilterChip=import_react76.memo((p)=>{let theme=useTheme().theme,bg2=p.state==="in"?theme.accent:p.state==="ex"?void 0:theme.backgroundElement,fg2=p.state==="in"?theme.background:p.state==="ex"?p.selected?theme.accent:theme.borderSubtle:p.selected?theme.accent:theme.text;return $jsx("box",{height:1,flexShrink:0,marginLeft:p.gap??1,paddingLeft:1,paddingRight:1,backgroundColor:bg2,onMouseDown:p.onMouseDown,children:$jsx("text",{fg:fg2,attributes:p.state==="ex"?TextAttributes.STRIKETHROUGH:TextAttributes.NONE,children:p.label})})});var import_react77=__toESM(require_react_production(),1);function openCreateTask(dialog,opts){return new Promise((resolve4)=>{let done=(r)=>{dialog.clear(),resolve4(r)};dialog.replace($jsx(Form2,{pool:opts.assignees,parent:opts.parent,done}),void 0,{ownCancel:!0})})}var CORE=["title","body","assignee","priority","triage","more"],MORE=["tenant","workspace","maxRuntime","skills"],SELECTY=new Set(["assignee","priority","workspace"]),MAX_RUNTIME_RE=/^\d+[smhd]?$/,SKILL_MATCHES_MAX=6,wsLabel=(w2)=>w2.kind==="scratch"?"scratch":w2.kind==="worktree"?"worktree":`dir @ ${w2.path}`,Form2=(p)=>{let theme=useTheme().theme,gw=useGateway(),body=import_react77.useRef(null),[bodyText,setBodyText]=import_react77.useState(""),[field,setField]=import_react77.useState("title"),[more,setMore]=import_react77.useState(!1),[picker,setPicker]=import_react77.useState(null),[title,setTitle]=import_react77.useState(""),[assignee,setAssignee]=import_react77.useState(null),[priority,setPriority]=import_react77.useState(0),[triage,setTriage]=import_react77.useState(!1),[tenant,setTenant]=import_react77.useState(""),[workspace,setWorkspace]=import_react77.useState({kind:"scratch"}),[maxRuntime,setMaxRuntime]=import_react77.useState(""),[catalog,setCatalog]=import_react77.useState([]),[skills,setSkills]=import_react77.useState([]),[filter,setFilter]=import_react77.useState(""),[matchIdx,setMatchIdx]=import_react77.useState(0);import_react77.useEffect(()=>{let live=!0;return gw.request("skills.manage",{action:"list"}).then((r)=>{if(!live)return;let raw=r.skills??{},out=[];for(let cat of Object.keys(raw))for(let name of raw[cat]??[])out.push({cat,name});out.sort((a,b2)=>a.name.localeCompare(b2.name)),setCatalog(out)}).catch(()=>{}),()=>{live=!1}},[gw]);let matches=import_react77.useMemo(()=>{if(!filter.trim())return[];let q4=filter.trim().toLowerCase(),picked=new Set(skills),hits=[];for(let s of catalog){if(picked.has(s.name))continue;if(s.name.toLowerCase().includes(q4)||s.cat.toLowerCase().includes(q4))hits.push(s);if(hits.length>=SKILL_MATCHES_MAX)break}return hits},[catalog,filter,skills]);import_react77.useEffect(()=>{if(matchIdx>0&&matchIdx>=matches.length)setMatchIdx(Math.max(0,matches.length-1))},[matches.length,matchIdx]);let order=()=>more?[...CORE,...MORE]:CORE,titleOk=title.trim().length>0,runtimeOk=maxRuntime.trim()===""||MAX_RUNTIME_RE.test(maxRuntime.trim()),valid=titleOk&&runtimeOk,submit=()=>{if(!valid)return;p.done({title:title.trim(),body:(body.current?.plainText??bodyText).trim(),assignee,priority,parent:p.parent?.id??null,triage,tenant:tenant.trim()||null,workspace,maxRuntime:maxRuntime.trim()||null,skills})},moveField=(dir)=>{let o=order(),i=o.indexOf(field),next2=o[(i+dir+o.length)%o.length];setField(next2)},openPicker=()=>{if(field==="assignee")return setPicker({kind:"assignee"});if(field==="priority")return setPicker({kind:"priority"});if(field==="workspace")return setPicker({kind:"workspace"})},commitMatch=()=>{let hit=matches[matchIdx];if(!hit)return!1;return setSkills((s)=>s.includes(hit.name)?s:[...s,hit.name]),setFilter(""),setMatchIdx(0),!0},popSkill=()=>setSkills((s)=>s.slice(0,-1));if(useKeyboard((key2)=>{if(picker){if(key2.name==="escape")setPicker(picker.kind==="dirPath"?{kind:"workspace"}:null);return}if(key2.name==="escape")return p.done(null);if(key2.name==="return"){if(key2.ctrl)return submit();if(field!=="body")return submit();return}if(field==="skills"){if(key2.name==="tab"){if(!key2.shift&&commitMatch())return;return moveField(key2.shift?-1:1)}if(key2.name==="backspace"){if(filter.length>0)return setFilter((f)=>f.slice(0,-1));return popSkill()}if(key2.name==="up"){if(matches.length>0)return setMatchIdx((i)=>Math.max(0,i-1));return moveField(-1)}if(key2.name==="down"){if(matches.length>0)return setMatchIdx((i)=>Math.min(matches.length-1,i+1));return moveField(1)}if(key2.raw&&key2.raw.length===1&&/[A-Za-z0-9_\-/ ]/.test(key2.raw))setFilter((f)=>f+key2.raw),setMatchIdx(0);return}if(key2.name==="tab")return moveField(key2.shift?-1:1);if(key2.name==="up"){if(field==="body"){if((body.current?.logicalCursor.row??0)>0)return}return moveField(-1)}if(key2.name==="down"){if(field==="body"){let row=body.current?.logicalCursor.row??0,last3=(body.current?.lineCount??1)-1;if(row<last3)return}return moveField(1)}if(field==="more"){if(key2.name==="return"||key2.name==="space")return setMore((m2)=>!m2);return}if(field==="triage"&&key2.name==="space")return setTriage((t2)=>!t2);if(SELECTY.has(field)&&key2.name==="space")return openPicker()}),picker?.kind==="assignee"){let opts=[{title:"(unassigned)",value:""},...p.pool.map((n)=>({title:n,value:n}))];return $jsx(DialogSelect,{title:"Assignee",options:opts,placeholder:"Search profiles\u2026",current:assignee??"",onSelect:(o)=>{setAssignee(o.value||null),setPicker(null)}})}if(picker?.kind==="priority"){let opts=Array.from({length:10},(_2,n)=>({title:n===0?"P0 (none)":`P${n}`,value:String(n),description:n===0?"default":n<=2?"normal":n<=5?"elevated":"high"}));return $jsx(DialogSelect,{title:"Priority",options:opts,filterable:!1,current:String(priority),onSelect:(o)=>{setPriority(Number(o.value)),setPicker(null)}})}if(picker?.kind==="workspace")return $jsx(DialogSelect,{title:"Workspace",options:[{title:"scratch",value:"scratch",description:"isolated temp dir under the board root (default)"},{title:"worktree",value:"worktree",description:"git worktree at .worktrees/<task-id> \u2014 worker runs `git worktree add`"},{title:"dir:\u2026",value:"dir",description:"an exact absolute path (prompts next)"}],filterable:!1,current:workspace.kind,onSelect:(o)=>{if(o.value==="scratch")return setWorkspace({kind:"scratch"}),setPicker(null);if(o.value==="worktree")return setWorkspace({kind:"worktree"}),setPicker(null);return setPicker({kind:"dirPath",value:workspace.kind==="dir"?workspace.path:""})}});if(picker?.kind==="dirPath"){let val=picker.value,ok=val.trim().length>0&&val.trim().startsWith("/");return $jsxs("box",{flexDirection:"column",width:64,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Directory path"})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"absolute path (required)"})}),$jsxs("box",{height:1,flexDirection:"row",overflow:"hidden",children:[$jsx("box",{flexShrink:0,children:$jsx("text",{fg:theme.accent,children:"\u2503 "})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("input",{value:val,onInput:(v2)=>setPicker({kind:"dirPath",value:v2}),onSubmit:()=>{if(!ok)return;setWorkspace({kind:"dir",path:val.trim()}),setPicker(null)},focused:!0,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement},"dirpath")})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:ok?"Enter confirm \xB7 Esc back":"absolute path required \xB7 Esc back"})})]})}let lbl=(f,text2)=>$jsx("box",{width:13,flexShrink:0,children:$jsxs("text",{fg:field===f?theme.accent:theme.textMuted,children:[field===f?"\u25B8 ":" ",text2]})}),textRow=(f,label,value,set2,placeholder)=>$jsxs("box",{height:1,flexDirection:"row",children:[lbl(f,label),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("input",{value,onInput:set2,onSubmit:submit,focused:field===f,placeholder,textColor:theme.text,placeholderColor:theme.textMuted,backgroundColor:field===f?theme.backgroundElement:void 0,focusedBackgroundColor:theme.backgroundElement},`field-${f}`)})]}),valRow=(f,label,value,hint)=>$jsxs("box",{height:1,flexDirection:"row",children:[lbl(f,label),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.text,children:value})}),field===f?$jsx("box",{flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:hint})}):null]}),skillsRows=()=>{let focused=field==="skills",empty=skills.length===0&&!focused;return $jsxs($Fragment2,{children:[$jsxs("box",{height:1,flexDirection:"row",children:[lbl("skills","Skills"),$jsxs("box",{flexGrow:1,minWidth:0,height:1,flexDirection:"row",overflow:"hidden",children:[skills.map((n)=>$jsx(FilterChip,{label:n,state:"in",gap:0},n)),empty?$jsx("text",{fg:theme.textMuted,children:"(none \u2014 focus field to pick)"}):$jsxs("box",{flexDirection:"row",marginLeft:skills.length>0?1:0,children:[$jsx("text",{fg:theme.text,children:filter}),focused?$jsx("text",{fg:theme.accent,children:"\u2588"}):null]})]})]}),focused&&matches.length>0?$jsx("box",{flexDirection:"column",children:matches.map((s,i)=>$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:13,flexShrink:0,children:$jsx("text",{fg:i===matchIdx?theme.accent:theme.textMuted,children:i===matchIdx?" \u25B8 ":" "})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:i===matchIdx?theme.accent:theme.text,children:s.name}),$jsx("span",{fg:theme.textMuted,children:` ${s.cat}`})]})})]},`${s.cat}/${s.name}`))}):null]})},footer=!valid?!titleOk?"type a title":"fix runtime (e.g. 30m, 2h, 1800)":field==="body"?"Ctrl+Enter create \xB7 Tab leave \xB7 \u2191\u2193 cursor \xB7 Esc cancel":field==="more"?`Space ${more?"collapse":"expand"} \xB7 Ctrl+Enter create \xB7 \u2191\u2193/Tab \xB7 Esc`:field==="skills"?(()=>{if(matches.length>0)return"Tab add \xB7 \u2191\u2193 pick \xB7 Bksp remove \xB7 Enter create \xB7 Esc";if(skills.length>0)return"type to filter \xB7 Bksp remove last \xB7 Enter create \xB7 \u2191\u2193/Tab \xB7 Esc";return"type to filter \xB7 Enter create \xB7 \u2191\u2193/Tab field \xB7 Esc cancel"})():SELECTY.has(field)?"Space pick \xB7 Enter create \xB7 \u2191\u2193/Tab field \xB7 Esc cancel":field==="triage"?"Space toggle \xB7 Enter create \xB7 \u2191\u2193/Tab field \xB7 Esc":"Enter create \xB7 \u2191\u2193/Tab field \xB7 Esc cancel";return $jsxs("box",{flexDirection:"column",width:66,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:p.parent?`New Task \xB7 child of ${p.parent.id}`:"New Task"})})}),p.parent?$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:[" ",p.parent.title]})}):null,$jsx("box",{height:1}),textRow("title","Title",title,setTitle,"one-line summary"),$jsxs("box",{flexDirection:"row",children:[lbl("body","Body"),$jsx("box",{flexGrow:1,minWidth:0,children:$jsx("textarea",{ref:body,initialValue:bodyText,onContentChange:()=>{if(body.current)setBodyText(body.current.plainText)},focused:field==="body",placeholder:"longer spec \u2014 markdown ok (Enter for newline)",textColor:theme.text,placeholderColor:theme.textMuted,backgroundColor:field==="body"?theme.backgroundElement:void 0,focusedBackgroundColor:theme.backgroundElement,minHeight:5,maxHeight:5},"field-body")})]}),valRow("assignee","Assignee",assignee??"(unassigned)","Space pick \u25BE"),valRow("priority","Priority",priority?`P${priority}`:"P0 (none)","Space pick \u25BE"),valRow("triage","Triage",triage?"yes \u2014 park for a specifier":"no","Space toggle"),$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:13,flexShrink:0,children:$jsxs("text",{fg:field==="more"?theme.accent:theme.textMuted,children:[field==="more"?"\u25B8 ":" ",more?"More \u25BE":"More \u25B8"]})}),!more?$jsx("box",{flexGrow:1,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:"tenant \xB7 workspace \xB7 runtime \xB7 skills"})}):null]}),more?textRow("tenant","Tenant",tenant,setTenant,"namespace (optional)"):null,more?valRow("workspace","Workspace",wsLabel(workspace),"Space pick \u25BE"):null,more?textRow("maxRuntime","Runtime",maxRuntime,setMaxRuntime,"e.g. 30m, 2h, 1800 (optional)"):null,more?skillsRows():null,$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:footer})})]})};var NOBAR={visible:!1},RULE=["bottom"],HEAD={triage:"triage",todo:"todo",ready:"ready",running:"running",blocked:"blocked",done:"done"},EMPTY2={who:new Map,pri:new Map,status:new Map},EMPTY_DIAG=new Map,EMPTY_DIAGS=[],chipId=(c)=>c.kind==="who"?`who:${c.v}`:c.kind==="pri"?`pri:${c.v}`:`st:${c.v}`,chipLabel=(c)=>c.kind==="who"?c.v:c.kind==="pri"?`P${c.v}`:HEAD[c.v],triOf=(c,m2)=>c.kind==="who"?m2.who.get(c.v)??"off":c.kind==="pri"?m2.pri.get(c.v)??"off":m2.status.get(c.v)??"off";function admits(g,v2){let t2=g.get(v2);if(t2==="ex")return!1;if(t2==="in")return!0;for(let s of g.values())if(s==="in")return!1;return!0}var pass=(t2,m2)=>admits(m2.who,t2.assignee??null)&&admits(m2.pri,t2.priority),indexDiags=(rows3)=>{let out=new Map;for(let r of rows3)if(r.diagnostics.length>0)out.set(r.task_id,sortDiags(r.diagnostics));return out},maskFromPrefs=(raw)=>{let out=new Map;if(!raw)return out;for(let slug2 of Object.keys(raw)){let g=raw[slug2];out.set(slug2,{who:new Map(g.who??[]),pri:new Map(g.pri??[]),status:new Map(g.status??[])})}return out},maskToPrefs=(masks)=>{let out={};for(let[slug2,m2]of masks){let filt=(xs)=>xs.filter(([,t2])=>t2==="in"||t2==="ex"),who=filt([...m2.who]),pri=filt([...m2.pri]),status=filt([...m2.status]);if(who.length||pri.length||status.length)out[slug2]={who,pri,status}}return out},persist=(masks,open2)=>{let cur=load().kanban??{};set("kanban",{...cur,open:[...open2],masks:maskToPrefs(masks)})},SEV_GLYPH={warning:"\u26A0",error:"!!",critical:"\u203C"},sevColor=(sev,theme)=>sev==="warning"?theme.warning:theme.error,Card=import_react79.memo((p)=>{let theme=useTheme().theme;return $jsx("box",{id:p.id,height:2,flexDirection:"row",paddingLeft:1,border:RULE,borderStyle:"single",borderColor:theme.borderSubtle,backgroundColor:p.on?theme.backgroundElement:void 0,onMouseDown:p.onPick,onMouseMove:p.onHover,children:$jsxs(Ticker,{active:p.on||p.hov,fg:p.on?theme.accent:theme.text,children:[p.sev?$jsxs($Fragment2,{children:[$jsx("span",{fg:sevColor(p.sev,theme),children:SEV_GLYPH[p.sev]})," "]}):null,p.t.title]})})}),Column=import_react79.memo((p)=>{let theme=useTheme().theme,box=import_react79.useRef(null),[hov,setHov]=import_react79.useState(-1),id=(i)=>`kb-${p.slug}-${p.status}-${i}`;import_react79.useEffect(()=>{if(p.on&&p.tasks.length>0)box.current?.scrollChildIntoView(id(p.sel))},[p.on,p.sel,p.tasks.length]);let tint=p.status==="blocked"?theme.warning:p.status==="running"?theme.success:p.status==="done"?theme.textMuted:theme.primary;return $jsxs("box",{flexDirection:"column",flexGrow:1,flexBasis:0,minWidth:18,border:!0,borderColor:p.on?theme.primary:theme.border,onMouseOut:()=>setHov(-1),children:[$jsx("box",{height:1,paddingLeft:1,children:$jsxs("text",{children:[$jsx("span",{fg:tint,children:$jsx("strong",{children:HEAD[p.status]})}),$jsx("span",{fg:theme.textMuted,children:` ${p.tasks.length}`})]})}),$jsx("scrollbox",{ref:box,scrollY:!0,flexGrow:1,verticalScrollbarOptions:NOBAR,children:$jsx("box",{flexDirection:"column",width:"100%",children:p.tasks.map((t2,i)=>$jsx(Card,{id:id(i),t:t2,on:p.on&&i===p.sel,hov:i===hov,sev:maxSeverity(p.diags.get(t2.id)??[]),onHover:()=>{if(hov!==i)setHov(i)},onPick:()=>p.onPick(i)},t2.id))})})]})}),FilterBar=import_react79.memo((p)=>{let theme=useTheme().theme;return $jsx("box",{height:1,flexDirection:"row",flexWrap:"no-wrap",overflow:"hidden",marginBottom:1,children:p.chips.flatMap((c,i)=>{let chip=$jsx(FilterChip,{label:chipLabel(c),state:triOf(c,p.mask),selected:p.on&&i===p.sel,onMouseDown:()=>p.onPick(i)},chipId(c));if(i===0||p.chips[i-1].kind===c.kind)return[chip];return[$jsx("box",{height:1,flexShrink:0,marginLeft:1,children:$jsx("text",{fg:theme.borderSubtle,children:"|"})},`sep:${chipId(c)}`),chip]})})}),FIELDS=["title","body","assignee","priority","status","parents","result","comment"],fieldsFor=(t2)=>FIELDS.filter((f)=>{if(f==="result")return t2.status==="done";return!0}),SidePane=import_react79.memo((p)=>{let{theme,syntaxStyle}=useTheme();if(p.pane.kind==="log")return $jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:theme.border,backgroundColor:theme.backgroundPanel,width:"50%",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:p.pane.id})}),$jsx("span",{fg:theme.textMuted,children:` \xB7 ${p.pane.slug} \xB7 worker log (tail)`})]})}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:p.pane.text||"(empty)"})})]});let d2=p.pane.d,fields=fieldsFor(d2),cur=p.on?fields[Math.min(p.sel,fields.length-1)]:null,srow=(f,label,value,hint)=>{let active=cur===f;return $jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,backgroundColor:active?theme.backgroundElement:void 0,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:active?theme.accent:theme.textMuted,children:label})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:active?theme.text:theme.textMuted,children:value})}),hint?$jsx("box",{flexShrink:0,paddingLeft:1,children:$jsx("text",{fg:theme.textMuted,children:hint})}):null]},f)},mrow=(f,label,content,hint)=>{let active=cur===f;return $jsxs("box",{flexDirection:"column",paddingLeft:1,backgroundColor:active?theme.backgroundElement:void 0,children:[$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:active?theme.accent:theme.textMuted,children:label})}),hint?$jsx("box",{flexGrow:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:hint})}):null]}),$jsx("box",{paddingLeft:10,flexShrink:0,children:content})]},f)},resultText=d2.result||d2.latest_summary||"";return $jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:theme.border,backgroundColor:theme.backgroundPanel,width:"50%",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:d2.id})}),$jsx("span",{fg:theme.textMuted,children:` \xB7 ${p.pane.slug} \xB7 ${d2.status} \xB7 ${ago(d2.updated_at)}`})]})}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",width:"100%",children:[srow("title","Title",d2.title,p.on&&cur==="title"?"Enter edit":void 0),mrow("body","Body",d2.body?cur==="body"?$jsx("text",{wrapMode:"word",fg:theme.text,children:d2.body}):$jsx("markdown",{content:d2.body,fg:theme.markdownText,syntaxStyle}):$jsx("text",{fg:theme.textMuted,children:"\u2014"}),p.on&&cur==="body"?"Enter edit (raw)":void 0),srow("assignee","Assignee",d2.assignee??"\u2014",p.on&&cur==="assignee"?"Enter pick":void 0),srow("priority","Priority",d2.priority?`P${d2.priority}`:"\u2014",p.on&&cur==="priority"?"\u2191\u2193 / Enter":void 0),srow("status","Status",d2.status,p.on&&cur==="status"?"Enter change":void 0),srow("parents","Parents",d2.parents.length?d2.parents.join(", "):"\u2014",p.on&&cur==="parents"?"Enter add/remove":void 0),d2.children.length?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"Children"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:d2.children.join(", ")})})]}):null,d2.workspace_kind?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"Workspace"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsxs("text",{fg:theme.textMuted,children:[d2.workspace_kind,d2.workspace_path?` @ ${d2.workspace_path}`:""]})})]}):null,d2.skills.length?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"Skills"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:d2.skills.join(", ")})})]}):null,d2.max_retries!==null?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"Retries"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:String(d2.max_retries)})})]}):null,d2.pid?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"PID"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:String(d2.pid)})})]}):null,d2.error?$jsxs("box",{flexDirection:"column",paddingLeft:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.error,children:"Error"})}),$jsx("box",{paddingLeft:2,children:$jsx("text",{fg:theme.error,wrapMode:"word",children:d2.error})})]}):null,d2.status==="done"?mrow("result","Result",resultText?cur==="result"?$jsx("text",{wrapMode:"word",fg:theme.text,children:resultText}):$jsx("markdown",{content:resultText,fg:theme.markdownText,syntaxStyle}):$jsx("text",{fg:theme.textMuted,children:"\u2014"}),p.on&&cur==="result"?"Enter edit":void 0):null,p.diags.length>0?$jsxs($Fragment2,{children:[$jsx("box",{height:1,marginTop:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"Diagnostics "}),$jsx("span",{fg:sevColor(p.diags[0].severity,theme),children:`(${p.diags.length})`})]})}),p.diags.map((dx,i)=>$jsxs("box",{flexDirection:"column",marginTop:i===0?0:1,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:sevColor(dx.severity,theme),children:SEV_GLYPH[dx.severity]}),$jsx("span",{fg:theme.text,children:` [${dx.severity}] ${dx.kind}`}),dx.count>1?$jsx("span",{fg:theme.textMuted,children:` \xD7${dx.count}`}):null]})}),$jsxs("box",{paddingLeft:2,flexDirection:"column",children:[$jsx("text",{wrapMode:"word",fg:theme.text,children:dx.title}),dx.detail?$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:dx.detail}):null,dx.actions.map((a,j2)=>$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:a.suggested?theme.accent:theme.textMuted,children:a.suggested?"\u2192 ":"\xB7 "}),$jsx("span",{fg:a.suggested?theme.text:theme.textMuted,children:a.label})]})},j2))]})]},`${dx.kind}-${i}`))]}):null,d2.runs.length>0?$jsxs($Fragment2,{children:[$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:`Runs (${d2.runs.length})`})}),d2.runs.map((r)=>{let outcome=r.outcome||r.status||(r.ended_at?"ended":"active"),elapsed=r.ended_at?`${Math.max(0,r.ended_at-r.started_at)}s`:"active";return $jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:`#${r.id} `}),$jsx("span",{fg:theme.text,children:outcome}),$jsx("span",{fg:theme.textMuted,children:` @${r.profile??"-"} ${elapsed} ${ago(r.started_at)}`})]})}),r.summary?$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:` \u2192 ${r.summary.split(`
4116
+ `);if(nl>=0&&nl<out.length-1)out=out.slice(nl+1)}return out}catch{return null}}function assignees(s=slug){let seen=new Set,dir=kp("profiles");if(existsSync11(dir)){for(let e of readdirSync4(dir,{withFileTypes:!0}))if(e.isDirectory())seen.add(e.name)}let conn2=dbOf(s);if(conn2)try{for(let r of conn2.query("SELECT DISTINCT assignee FROM tasks WHERE assignee IS NOT NULL AND status != 'archived'").all())seen.add(r.assignee)}catch{}return[...seen].sort()}function writeTxn(conn2,fn){conn2.exec("BEGIN IMMEDIATE");try{let out=fn();return conn2.exec("COMMIT"),out}catch(err){try{conn2.exec("ROLLBACK")}catch{}throw err}}var now=()=>Math.floor(Date.now()/1000);function patchTask(s,id,patch){let conn2=rwOf(s);if(!conn2)return!1;if(!conn2.query("SELECT 1 FROM tasks WHERE id = ?").get(id))return!1;if(patch.priority!==void 0){let p=Math.max(0,Math.min(9,Math.floor(patch.priority)));writeTxn(conn2,()=>{conn2.query("UPDATE tasks SET priority = ? WHERE id = ?").run(p,id),conn2.query("INSERT INTO task_events (task_id, run_id, kind, payload, created_at) VALUES (?, NULL, 'reprioritized', ?, ?)").run(id,JSON.stringify({priority:p}),now())})}if(patch.title!==void 0||patch.body!==void 0){let sets=[],vals=[];if(patch.title!==void 0){let t2=patch.title.trim();if(!t2)throw Error("title cannot be empty");sets.push("title = ?"),vals.push(t2)}if(patch.body!==void 0)sets.push("body = ?"),vals.push(patch.body);vals.push(id),writeTxn(conn2,()=>{conn2.query(`UPDATE tasks SET ${sets.join(", ")} WHERE id = ?`).run(...vals),conn2.query("INSERT INTO task_events (task_id, run_id, kind, payload, created_at) VALUES (?, NULL, 'edited', NULL, ?)").run(id,now())})}return!0}var q3=(s)=>/^[A-Za-z0-9._\/:+=-]+$/.test(s)?s:`'${s.replace(/'/g,"'\\''")}'`;var import_react76=__toESM(require_react_production(),1);var cycle=(t2)=>t2==="off"?"in":t2==="in"?"ex":"off",FilterChip=import_react76.memo((p)=>{let theme=useTheme().theme,bg2=p.state==="in"?theme.accent:p.state==="ex"?void 0:theme.backgroundElement,fg2=p.state==="in"?theme.background:p.state==="ex"?p.selected?theme.accent:theme.borderSubtle:p.selected?theme.accent:theme.text;return $jsx("box",{height:1,flexShrink:0,marginLeft:p.gap??1,paddingLeft:1,paddingRight:1,backgroundColor:bg2,onMouseDown:p.onMouseDown,children:$jsx("text",{fg:fg2,attributes:p.state==="ex"?TextAttributes.STRIKETHROUGH:TextAttributes.NONE,children:p.label})})});var import_react77=__toESM(require_react_production(),1);function openCreateTask(dialog,opts){return new Promise((resolve4)=>{let done=(r)=>{dialog.clear(),resolve4(r)};dialog.replace($jsx(Form2,{pool:opts.assignees,parent:opts.parent,done}),void 0,{ownCancel:!0})})}var CORE=["title","body","assignee","priority","triage","more"],MORE=["tenant","workspace","maxRuntime","skills"],SELECTY=new Set(["assignee","priority","workspace"]),MAX_RUNTIME_RE=/^\d+[smhd]?$/,SKILL_MATCHES_MAX=6,wsLabel=(w2)=>w2.kind==="scratch"?"scratch":w2.kind==="worktree"?"worktree":`dir @ ${w2.path}`,Form2=(p)=>{let theme=useTheme().theme,gw=useGateway(),body=import_react77.useRef(null),[bodyText,setBodyText]=import_react77.useState(""),[field,setField]=import_react77.useState("title"),[more,setMore]=import_react77.useState(!1),[picker,setPicker]=import_react77.useState(null),[title,setTitle]=import_react77.useState(""),[assignee,setAssignee]=import_react77.useState(null),[priority,setPriority]=import_react77.useState(0),[triage,setTriage]=import_react77.useState(!1),[tenant,setTenant]=import_react77.useState(""),[workspace,setWorkspace]=import_react77.useState({kind:"scratch"}),[maxRuntime,setMaxRuntime]=import_react77.useState(""),[catalog,setCatalog]=import_react77.useState([]),[skills,setSkills]=import_react77.useState([]),[filter,setFilter]=import_react77.useState(""),[matchIdx,setMatchIdx]=import_react77.useState(0);import_react77.useEffect(()=>{let live=!0;return gw.request("skills.manage",{action:"list"}).then((r)=>{if(!live)return;let raw=r.skills??{},out=[];for(let cat of Object.keys(raw))for(let name of raw[cat]??[])out.push({cat,name});out.sort((a,b2)=>a.name.localeCompare(b2.name)),setCatalog(out)}).catch(()=>{}),()=>{live=!1}},[gw]);let matches=import_react77.useMemo(()=>{if(!filter.trim())return[];let q4=filter.trim().toLowerCase(),picked=new Set(skills),hits=[];for(let s of catalog){if(picked.has(s.name))continue;if(s.name.toLowerCase().includes(q4)||s.cat.toLowerCase().includes(q4))hits.push(s);if(hits.length>=SKILL_MATCHES_MAX)break}return hits},[catalog,filter,skills]);import_react77.useEffect(()=>{if(matchIdx>0&&matchIdx>=matches.length)setMatchIdx(Math.max(0,matches.length-1))},[matches.length,matchIdx]);let order=()=>more?[...CORE,...MORE]:CORE,titleOk=title.trim().length>0,runtimeOk=maxRuntime.trim()===""||MAX_RUNTIME_RE.test(maxRuntime.trim()),valid=titleOk&&runtimeOk,submit=()=>{if(!valid)return;p.done({title:title.trim(),body:(body.current?.plainText??bodyText).trim(),assignee,priority,parent:p.parent?.id??null,triage,tenant:tenant.trim()||null,workspace,maxRuntime:maxRuntime.trim()||null,skills})},moveField=(dir)=>{let o=order(),i=o.indexOf(field),next2=o[(i+dir+o.length)%o.length];setField(next2)},openPicker=()=>{if(field==="assignee")return setPicker({kind:"assignee"});if(field==="priority")return setPicker({kind:"priority"});if(field==="workspace")return setPicker({kind:"workspace"})},commitMatch=()=>{let hit=matches[matchIdx];if(!hit)return!1;return setSkills((s)=>s.includes(hit.name)?s:[...s,hit.name]),setFilter(""),setMatchIdx(0),!0},popSkill=()=>setSkills((s)=>s.slice(0,-1));if(useKeyboard((key2)=>{if(picker){if(key2.name==="escape")setPicker(picker.kind==="dirPath"?{kind:"workspace"}:null);return}if(key2.name==="escape")return p.done(null);if(key2.name==="return"){if(key2.ctrl)return submit();if(field!=="body")return submit();return}if(field==="skills"){if(key2.name==="tab"){if(!key2.shift&&commitMatch())return;return moveField(key2.shift?-1:1)}if(key2.name==="backspace"){if(filter.length>0)return setFilter((f)=>f.slice(0,-1));return popSkill()}if(key2.name==="up"){if(matches.length>0)return setMatchIdx((i)=>Math.max(0,i-1));return moveField(-1)}if(key2.name==="down"){if(matches.length>0)return setMatchIdx((i)=>Math.min(matches.length-1,i+1));return moveField(1)}if(key2.raw&&key2.raw.length===1&&/[A-Za-z0-9_\-/ ]/.test(key2.raw))setFilter((f)=>f+key2.raw),setMatchIdx(0);return}if(key2.name==="tab")return moveField(key2.shift?-1:1);if(key2.name==="up"){if(field==="body"){if((body.current?.logicalCursor.row??0)>0)return}return moveField(-1)}if(key2.name==="down"){if(field==="body"){let row=body.current?.logicalCursor.row??0,last3=(body.current?.lineCount??1)-1;if(row<last3)return}return moveField(1)}if(field==="more"){if(key2.name==="return"||key2.name==="space")return setMore((m2)=>!m2);return}if(field==="triage"&&key2.name==="space")return setTriage((t2)=>!t2);if(SELECTY.has(field)&&key2.name==="space")return openPicker()}),picker?.kind==="assignee"){let opts=[{title:"(unassigned)",value:""},...p.pool.map((n)=>({title:n,value:n}))];return $jsx(DialogSelect,{title:"Assignee",options:opts,placeholder:"Search profiles\u2026",current:assignee??"",onSelect:(o)=>{setAssignee(o.value||null),setPicker(null)}})}if(picker?.kind==="priority"){let opts=Array.from({length:10},(_2,n)=>({title:n===0?"P0 (none)":`P${n}`,value:String(n),description:n===0?"default":n<=2?"normal":n<=5?"elevated":"high"}));return $jsx(DialogSelect,{title:"Priority",options:opts,filterable:!1,current:String(priority),onSelect:(o)=>{setPriority(Number(o.value)),setPicker(null)}})}if(picker?.kind==="workspace")return $jsx(DialogSelect,{title:"Workspace",options:[{title:"scratch",value:"scratch",description:"isolated temp dir under the board root (default)"},{title:"worktree",value:"worktree",description:"git worktree at .worktrees/<task-id> \u2014 worker runs `git worktree add`"},{title:"dir:\u2026",value:"dir",description:"an exact absolute path (prompts next)"}],filterable:!1,current:workspace.kind,onSelect:(o)=>{if(o.value==="scratch")return setWorkspace({kind:"scratch"}),setPicker(null);if(o.value==="worktree")return setWorkspace({kind:"worktree"}),setPicker(null);return setPicker({kind:"dirPath",value:workspace.kind==="dir"?workspace.path:""})}});if(picker?.kind==="dirPath"){let val=picker.value,ok=val.trim().length>0&&val.trim().startsWith("/");return $jsxs("box",{flexDirection:"column",width:64,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Directory path"})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"absolute path (required)"})}),$jsxs("box",{height:1,flexDirection:"row",overflow:"hidden",children:[$jsx("box",{flexShrink:0,children:$jsx("text",{fg:theme.accent,children:"\u2503 "})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("input",{value:val,onInput:(v2)=>setPicker({kind:"dirPath",value:v2}),onSubmit:()=>{if(!ok)return;setWorkspace({kind:"dir",path:val.trim()}),setPicker(null)},focused:!0,textColor:theme.text,backgroundColor:theme.backgroundElement,focusedBackgroundColor:theme.backgroundElement},"dirpath")})]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:ok?"Enter confirm \xB7 Esc back":"absolute path required \xB7 Esc back"})})]})}let lbl=(f,text2)=>$jsx("box",{width:13,flexShrink:0,children:$jsxs("text",{fg:field===f?theme.accent:theme.textMuted,children:[field===f?"\u25B8 ":" ",text2]})}),textRow=(f,label,value,set2,placeholder)=>$jsxs("box",{height:1,flexDirection:"row",children:[lbl(f,label),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("input",{value,onInput:set2,onSubmit:submit,focused:field===f,placeholder,textColor:theme.text,placeholderColor:theme.textMuted,backgroundColor:field===f?theme.backgroundElement:void 0,focusedBackgroundColor:theme.backgroundElement},`field-${f}`)})]}),valRow=(f,label,value,hint)=>$jsxs("box",{height:1,flexDirection:"row",children:[lbl(f,label),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.text,children:value})}),field===f?$jsx("box",{flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:hint})}):null]}),skillsRows=()=>{let focused=field==="skills",empty=skills.length===0&&!focused;return $jsxs($Fragment,{children:[$jsxs("box",{height:1,flexDirection:"row",children:[lbl("skills","Skills"),$jsxs("box",{flexGrow:1,minWidth:0,height:1,flexDirection:"row",overflow:"hidden",children:[skills.map((n)=>$jsx(FilterChip,{label:n,state:"in",gap:0},n)),empty?$jsx("text",{fg:theme.textMuted,children:"(none \u2014 focus field to pick)"}):$jsxs("box",{flexDirection:"row",marginLeft:skills.length>0?1:0,children:[$jsx("text",{fg:theme.text,children:filter}),focused?$jsx("text",{fg:theme.accent,children:"\u2588"}):null]})]})]}),focused&&matches.length>0?$jsx("box",{flexDirection:"column",children:matches.map((s,i)=>$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:13,flexShrink:0,children:$jsx("text",{fg:i===matchIdx?theme.accent:theme.textMuted,children:i===matchIdx?" \u25B8 ":" "})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:i===matchIdx?theme.accent:theme.text,children:s.name}),$jsx("span",{fg:theme.textMuted,children:` ${s.cat}`})]})})]},`${s.cat}/${s.name}`))}):null]})},footer=!valid?!titleOk?"type a title":"fix runtime (e.g. 30m, 2h, 1800)":field==="body"?"Ctrl+Enter create \xB7 Tab leave \xB7 \u2191\u2193 cursor \xB7 Esc cancel":field==="more"?`Space ${more?"collapse":"expand"} \xB7 Ctrl+Enter create \xB7 \u2191\u2193/Tab \xB7 Esc`:field==="skills"?(()=>{if(matches.length>0)return"Tab add \xB7 \u2191\u2193 pick \xB7 Bksp remove \xB7 Enter create \xB7 Esc";if(skills.length>0)return"type to filter \xB7 Bksp remove last \xB7 Enter create \xB7 \u2191\u2193/Tab \xB7 Esc";return"type to filter \xB7 Enter create \xB7 \u2191\u2193/Tab field \xB7 Esc cancel"})():SELECTY.has(field)?"Space pick \xB7 Enter create \xB7 \u2191\u2193/Tab field \xB7 Esc cancel":field==="triage"?"Space toggle \xB7 Enter create \xB7 \u2191\u2193/Tab field \xB7 Esc":"Enter create \xB7 \u2191\u2193/Tab field \xB7 Esc cancel";return $jsxs("box",{flexDirection:"column",width:66,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:p.parent?`New Task \xB7 child of ${p.parent.id}`:"New Task"})})}),p.parent?$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:[" ",p.parent.title]})}):null,$jsx("box",{height:1}),textRow("title","Title",title,setTitle,"one-line summary"),$jsxs("box",{flexDirection:"row",children:[lbl("body","Body"),$jsx("box",{flexGrow:1,minWidth:0,children:$jsx("textarea",{ref:body,initialValue:bodyText,onContentChange:()=>{if(body.current)setBodyText(body.current.plainText)},focused:field==="body",placeholder:"longer spec \u2014 markdown ok (Enter for newline)",textColor:theme.text,placeholderColor:theme.textMuted,backgroundColor:field==="body"?theme.backgroundElement:void 0,focusedBackgroundColor:theme.backgroundElement,minHeight:5,maxHeight:5},"field-body")})]}),valRow("assignee","Assignee",assignee??"(unassigned)","Space pick \u25BE"),valRow("priority","Priority",priority?`P${priority}`:"P0 (none)","Space pick \u25BE"),valRow("triage","Triage",triage?"yes \u2014 park for a specifier":"no","Space toggle"),$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:13,flexShrink:0,children:$jsxs("text",{fg:field==="more"?theme.accent:theme.textMuted,children:[field==="more"?"\u25B8 ":" ",more?"More \u25BE":"More \u25B8"]})}),!more?$jsx("box",{flexGrow:1,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:"tenant \xB7 workspace \xB7 runtime \xB7 skills"})}):null]}),more?textRow("tenant","Tenant",tenant,setTenant,"namespace (optional)"):null,more?valRow("workspace","Workspace",wsLabel(workspace),"Space pick \u25BE"):null,more?textRow("maxRuntime","Runtime",maxRuntime,setMaxRuntime,"e.g. 30m, 2h, 1800 (optional)"):null,more?skillsRows():null,$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:footer})})]})};var NOBAR={visible:!1},RULE=["bottom"],HEAD={triage:"triage",todo:"todo",ready:"ready",running:"running",blocked:"blocked",done:"done"},EMPTY2={who:new Map,pri:new Map,status:new Map},EMPTY_DIAG=new Map,EMPTY_DIAGS=[],chipId=(c)=>c.kind==="who"?`who:${c.v}`:c.kind==="pri"?`pri:${c.v}`:`st:${c.v}`,chipLabel=(c)=>c.kind==="who"?c.v:c.kind==="pri"?`P${c.v}`:HEAD[c.v],triOf=(c,m2)=>c.kind==="who"?m2.who.get(c.v)??"off":c.kind==="pri"?m2.pri.get(c.v)??"off":m2.status.get(c.v)??"off";function admits(g,v2){let t2=g.get(v2);if(t2==="ex")return!1;if(t2==="in")return!0;for(let s of g.values())if(s==="in")return!1;return!0}var pass=(t2,m2)=>admits(m2.who,t2.assignee??null)&&admits(m2.pri,t2.priority),indexDiags=(rows3)=>{let out=new Map;for(let r of rows3)if(r.diagnostics.length>0)out.set(r.task_id,sortDiags(r.diagnostics));return out},maskFromPrefs=(raw)=>{let out=new Map;if(!raw)return out;for(let slug2 of Object.keys(raw)){let g=raw[slug2];out.set(slug2,{who:new Map(g.who??[]),pri:new Map(g.pri??[]),status:new Map(g.status??[])})}return out},maskToPrefs=(masks)=>{let out={};for(let[slug2,m2]of masks){let filt=(xs)=>xs.filter(([,t2])=>t2==="in"||t2==="ex"),who=filt([...m2.who]),pri=filt([...m2.pri]),status=filt([...m2.status]);if(who.length||pri.length||status.length)out[slug2]={who,pri,status}}return out},persist=(masks,open2)=>{let cur=load().kanban??{};set("kanban",{...cur,open:[...open2],masks:maskToPrefs(masks)})},SEV_GLYPH={warning:"\u26A0",error:"!!",critical:"\u203C"},sevColor=(sev,theme)=>sev==="warning"?theme.warning:theme.error,Card=import_react79.memo((p)=>{let theme=useTheme().theme;return $jsx("box",{id:p.id,height:2,flexDirection:"row",paddingLeft:1,border:RULE,borderStyle:"single",borderColor:theme.borderSubtle,backgroundColor:p.on?theme.backgroundElement:void 0,onMouseDown:p.onPick,onMouseMove:p.onHover,children:$jsxs(Ticker,{active:p.on||p.hov,fg:p.on?theme.accent:theme.text,children:[p.sev?$jsxs($Fragment,{children:[$jsx("span",{fg:sevColor(p.sev,theme),children:SEV_GLYPH[p.sev]})," "]}):null,p.t.title]})})}),Column=import_react79.memo((p)=>{let theme=useTheme().theme,box=import_react79.useRef(null),[hov,setHov]=import_react79.useState(-1),id=(i)=>`kb-${p.slug}-${p.status}-${i}`;import_react79.useEffect(()=>{if(p.on&&p.tasks.length>0)box.current?.scrollChildIntoView(id(p.sel))},[p.on,p.sel,p.tasks.length]);let tint=p.status==="blocked"?theme.warning:p.status==="running"?theme.success:p.status==="done"?theme.textMuted:theme.primary;return $jsxs("box",{flexDirection:"column",flexGrow:1,flexBasis:0,minWidth:18,border:!0,borderColor:p.on?theme.primary:theme.border,onMouseOut:()=>setHov(-1),children:[$jsx("box",{height:1,paddingLeft:1,children:$jsxs("text",{children:[$jsx("span",{fg:tint,children:$jsx("strong",{children:HEAD[p.status]})}),$jsx("span",{fg:theme.textMuted,children:` ${p.tasks.length}`})]})}),$jsx("scrollbox",{ref:box,scrollY:!0,flexGrow:1,verticalScrollbarOptions:NOBAR,children:$jsx("box",{flexDirection:"column",width:"100%",children:p.tasks.map((t2,i)=>$jsx(Card,{id:id(i),t:t2,on:p.on&&i===p.sel,hov:i===hov,sev:maxSeverity(p.diags.get(t2.id)??[]),onHover:()=>{if(hov!==i)setHov(i)},onPick:()=>p.onPick(i)},t2.id))})})]})}),FilterBar=import_react79.memo((p)=>{let theme=useTheme().theme;return $jsx("box",{height:1,flexDirection:"row",flexWrap:"no-wrap",overflow:"hidden",marginBottom:1,children:p.chips.flatMap((c,i)=>{let chip=$jsx(FilterChip,{label:chipLabel(c),state:triOf(c,p.mask),selected:p.on&&i===p.sel,onMouseDown:()=>p.onPick(i)},chipId(c));if(i===0||p.chips[i-1].kind===c.kind)return[chip];return[$jsx("box",{height:1,flexShrink:0,marginLeft:1,children:$jsx("text",{fg:theme.borderSubtle,children:"|"})},`sep:${chipId(c)}`),chip]})})}),FIELDS=["title","body","assignee","priority","status","parents","result","comment"],fieldsFor=(t2)=>FIELDS.filter((f)=>{if(f==="result")return t2.status==="done";return!0}),SidePane=import_react79.memo((p)=>{let{theme,syntaxStyle}=useTheme();if(p.pane.kind==="log")return $jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:theme.border,backgroundColor:theme.backgroundPanel,width:"50%",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:p.pane.id})}),$jsx("span",{fg:theme.textMuted,children:` \xB7 ${p.pane.slug} \xB7 worker log (tail)`})]})}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:p.pane.text||"(empty)"})})]});let d2=p.pane.d,fields=fieldsFor(d2),cur=p.on?fields[Math.min(p.sel,fields.length-1)]:null,srow=(f,label,value,hint)=>{let active=cur===f;return $jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,backgroundColor:active?theme.backgroundElement:void 0,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:active?theme.accent:theme.textMuted,children:label})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:active?theme.text:theme.textMuted,children:value})}),hint?$jsx("box",{flexShrink:0,paddingLeft:1,children:$jsx("text",{fg:theme.textMuted,children:hint})}):null]},f)},mrow=(f,label,content,hint)=>{let active=cur===f;return $jsxs("box",{flexDirection:"column",paddingLeft:1,backgroundColor:active?theme.backgroundElement:void 0,children:[$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:active?theme.accent:theme.textMuted,children:label})}),hint?$jsx("box",{flexGrow:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:hint})}):null]}),$jsx("box",{paddingLeft:10,flexShrink:0,children:content})]},f)},resultText=d2.result||d2.latest_summary||"";return $jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:theme.border,backgroundColor:theme.backgroundPanel,width:"50%",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:d2.id})}),$jsx("span",{fg:theme.textMuted,children:` \xB7 ${p.pane.slug} \xB7 ${d2.status} \xB7 ${ago(d2.updated_at)}`})]})}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",width:"100%",children:[srow("title","Title",d2.title,p.on&&cur==="title"?"Enter edit":void 0),mrow("body","Body",d2.body?cur==="body"?$jsx("text",{wrapMode:"word",fg:theme.text,children:d2.body}):$jsx("markdown",{content:d2.body,fg:theme.markdownText,syntaxStyle}):$jsx("text",{fg:theme.textMuted,children:"\u2014"}),p.on&&cur==="body"?"Enter edit (raw)":void 0),srow("assignee","Assignee",d2.assignee??"\u2014",p.on&&cur==="assignee"?"Enter pick":void 0),srow("priority","Priority",d2.priority?`P${d2.priority}`:"\u2014",p.on&&cur==="priority"?"\u2191\u2193 / Enter":void 0),srow("status","Status",d2.status,p.on&&cur==="status"?"Enter change":void 0),srow("parents","Parents",d2.parents.length?d2.parents.join(", "):"\u2014",p.on&&cur==="parents"?"Enter add/remove":void 0),d2.children.length?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"Children"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:d2.children.join(", ")})})]}):null,d2.workspace_kind?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"Workspace"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsxs("text",{fg:theme.textMuted,children:[d2.workspace_kind,d2.workspace_path?` @ ${d2.workspace_path}`:""]})})]}):null,d2.skills.length?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"Skills"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:d2.skills.join(", ")})})]}):null,d2.max_retries!==null?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"Retries"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:String(d2.max_retries)})})]}):null,d2.pid?$jsxs("box",{height:1,flexDirection:"row",paddingLeft:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:"PID"})}),$jsx("box",{flexGrow:1,minWidth:0,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:String(d2.pid)})})]}):null,d2.error?$jsxs("box",{flexDirection:"column",paddingLeft:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.error,children:"Error"})}),$jsx("box",{paddingLeft:2,children:$jsx("text",{fg:theme.error,wrapMode:"word",children:d2.error})})]}):null,d2.status==="done"?mrow("result","Result",resultText?cur==="result"?$jsx("text",{wrapMode:"word",fg:theme.text,children:resultText}):$jsx("markdown",{content:resultText,fg:theme.markdownText,syntaxStyle}):$jsx("text",{fg:theme.textMuted,children:"\u2014"}),p.on&&cur==="result"?"Enter edit":void 0):null,p.diags.length>0?$jsxs($Fragment,{children:[$jsx("box",{height:1,marginTop:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"Diagnostics "}),$jsx("span",{fg:sevColor(p.diags[0].severity,theme),children:`(${p.diags.length})`})]})}),p.diags.map((dx,i)=>$jsxs("box",{flexDirection:"column",marginTop:i===0?0:1,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:sevColor(dx.severity,theme),children:SEV_GLYPH[dx.severity]}),$jsx("span",{fg:theme.text,children:` [${dx.severity}] ${dx.kind}`}),dx.count>1?$jsx("span",{fg:theme.textMuted,children:` \xD7${dx.count}`}):null]})}),$jsxs("box",{paddingLeft:2,flexDirection:"column",children:[$jsx("text",{wrapMode:"word",fg:theme.text,children:dx.title}),dx.detail?$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:dx.detail}):null,dx.actions.map((a,j2)=>$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:a.suggested?theme.accent:theme.textMuted,children:a.suggested?"\u2192 ":"\xB7 "}),$jsx("span",{fg:a.suggested?theme.text:theme.textMuted,children:a.label})]})},j2))]})]},`${dx.kind}-${i}`))]}):null,d2.runs.length>0?$jsxs($Fragment,{children:[$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:`Runs (${d2.runs.length})`})}),d2.runs.map((r)=>{let outcome=r.outcome||r.status||(r.ended_at?"ended":"active"),elapsed=r.ended_at?`${Math.max(0,r.ended_at-r.started_at)}s`:"active";return $jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:`#${r.id} `}),$jsx("span",{fg:theme.text,children:outcome}),$jsx("span",{fg:theme.textMuted,children:` @${r.profile??"-"} ${elapsed} ${ago(r.started_at)}`})]})}),r.summary?$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:` \u2192 ${r.summary.split(`
4117
4117
  `)[0].slice(0,200)}`}):null,r.error?$jsx("text",{wrapMode:"word",fg:theme.error,children:` \u2716 ${r.error.split(`
4118
- `)[0].slice(0,200)}`}):null]},r.id)})]}):null,d2.events.length>0?$jsxs($Fragment2,{children:[$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:`Events (${d2.events.length})`})}),d2.events.map((e)=>$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:`${ago(e.created_at).padEnd(10)} `}),$jsx("span",{fg:theme.text,children:e.kind}),e.payload?$jsx("span",{fg:theme.textMuted,children:` ${JSON.stringify(e.payload)}`}):null]})},e.id))]}):null,d2.comments.length>0?$jsxs($Fragment2,{children:[$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:`Comments (${d2.comments.length})`})}),d2.comments.map((c,i)=>$jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${c.author} \xB7 ${ago(c.at)}`})}),$jsx("text",{wrapMode:"word",children:c.body})]},i))]}):null,p.on&&cur==="comment"?$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.accent,children:"Enter add comment"})}):null]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:p.on?"Tab/\u2191\u2193 field Enter edit Esc grid a assign c comment l log":"Tab into pane a assign c comment u unblock d archive l log N child"})})]})}),Kanban=import_react79.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),dims=useTerminalDimensions(),keys=useKeys(),[boards,setBoards]=import_react79.useState(listBoards),[data2,setData]=import_react79.useState(()=>new Map(boards.map((b2)=>[b2.slug,boardOf(b2.slug)]))),[diags,setDiags]=import_react79.useState(()=>new Map),[masks,setMasks]=import_react79.useState(()=>maskFromPrefs(load().kanban?.masks)),[open2,setOpen]=import_react79.useState(()=>{let saved=load().kanban?.open;if(saved)return new Set(saved);let init=currentBoard();return new Set(listBoards().filter((b2)=>b2.slug===init||[...boardOf(b2.slug).values()].some((v2)=>v2.length>0)).map((b2)=>b2.slug))}),[at,setAt]=import_react79.useState(currentBoard),[tier,setTier]=import_react79.useState("grid"),[col,setCol]=import_react79.useState(0),[row,setRow]=import_react79.useState(0),[chip,setChip]=import_react79.useState(0),[paneSel,setPaneSel]=import_react79.useState(0),[pane,setPane]=import_react79.useState(null),outer=import_react79.useRef(null),load3=import_react79.useCallback(()=>{let bs=listBoards();setBoards(bs),setData(new Map(bs.map((b2)=>[b2.slug,boardOf(b2.slug)]))),setPane((p)=>p?.kind==="detail"?((d2)=>d2?{...p,d:d2}:null)(detailOf(p.slug,p.d.id)):p),Promise.all(bs.map((b2)=>gw.request("shell.exec",{command:`hermes kanban --board ${q3(b2.slug)} diagnostics --json`}).then((r)=>r.code===0?parseDiagnostics(r.stdout):[]).catch(()=>[]).then((rows3)=>[b2.slug,indexDiags(rows3)]))).then((pairs)=>setDiags(new Map(pairs)))},[gw]);import_react79.useEffect(load3,[load3]),import_react79.useEffect(()=>{persist(masks,open2)},[masks,open2]);let maskOf=(s)=>masks.get(s)??EMPTY2,wide=dims.width>=160,maxH=Math.max(8,dims.height-16),sections=import_react79.useMemo(()=>{let built=boards.map((b2)=>{let d2=data2.get(b2.slug)??new Map,flat=STATUSES.flatMap((s)=>d2.get(s)??[]),total=flat.length,who=[...new Set(flat.map((t2)=>t2.assignee).filter((v2)=>!!v2))].sort(),pri=[...new Set(flat.map((t2)=>t2.priority).filter((n)=>n>0))].sort((a,z2)=>z2-a),chips=[...who.map((v2)=>({kind:"who",v:v2})),...pri.map((v2)=>({kind:"pri",v:v2})),...STATUSES.map((v2)=>({kind:"status",v:v2}))],m2=maskOf(b2.slug),cols3=STATUSES.filter((s)=>admits(m2.status,s)).map((s)=>({status:s,tasks:(d2.get(s)??[]).filter((t2)=>pass(t2,m2))})).filter((c)=>wide||c.tasks.length>0),shown=cols3.reduce((a,c)=>a+c.tasks.length,0),tall=cols3.reduce((a,c)=>Math.max(a,c.tasks.length),0);return{board:b2,cols:cols3,chips,total,shown,running:d2.get("running")?.length??0,cap:Math.min(maxH,Math.max(5,3+2*tall))}});return[...built.filter((s)=>s.total>0),...built.filter((s)=>s.total===0)]},[boards,data2,masks,wide,maxH]),idx=sections.findIndex((s)=>s.board.slug===at),sec3=sections[idx]??sections[0],cols2=sec3?.cols??[],clampCol=Math.min(col,Math.max(0,cols2.length-1)),cur=cols2[clampCol],task=tier==="grid"||tier==="pane"?cur?.tasks[Math.min(row,Math.max(0,(cur?.tasks.length??1)-1))]:void 0,grand=sections.reduce((a,s)=>a+s.total,0),running2=sections.reduce((a,s)=>a+s.running,0);import_react79.useEffect(()=>{if(pane?.kind!=="detail")return;if(tier!=="grid"&&tier!=="pane"){setPane(null);return}if(!task){setPane(null);return}if(pane.slug===at&&pane.d.id===task.id)return;let d2=detailOf(at,task.id);setPane(d2?{kind:"detail",slug:at,d:d2}:null),setPaneSel(0)},[task?.id,at,tier]),import_react79.useEffect(()=>{if(!props.focused||running2===0)return;let t2=setInterval(load3,3000);return()=>clearInterval(t2)},[props.focused,running2,load3]),import_react79.useEffect(()=>{outer.current?.scrollChildIntoView(`kb-sec-${at}`)},[at,open2]);let sh=import_react79.useCallback((argv,ok)=>gw.request("shell.exec",{command:`hermes kanban --board ${q3(at)} ${argv}`}).then((r)=>{if(r.code!==0)throw Error((r.stderr||r.stdout||`exit ${r.code}`).trim());if(ok)toast.show({variant:"success",message:ok});return resetKanban(),load3(),r.stdout}).catch((e)=>void toast.show({variant:"error",message:trunc4(e.message,120)})),[gw,toast,load3,at]),patchDirect=import_react79.useCallback((id,p,ok)=>{try{if(!patchTask(at,id,p))return void toast.show({variant:"error",message:`no such task: ${id}`});toast.show({variant:"success",message:ok}),load3()}catch(e){toast.show({variant:"error",message:trunc4(e.message,120)})}},[at,toast,load3]),enterTop=(s)=>{setAt(s.board.slug),setTier("head"),setChip(0),setRow(0)},enterBottom=(s)=>{if(setAt(s.board.slug),setChip(Math.max(0,s.chips.length-1)),open2.has(s.board.slug)&&s.shown>0){let nc=Math.min(col,Math.max(0,s.cols.length-1));setTier("grid"),setCol(nc),setRow(Math.max(0,(s.cols[nc]?.tasks.length??1)-1));return}if(open2.has(s.board.slug)){setTier("filter");return}setTier("head")},stepBoard=(d2)=>{let n=idx+d2;return n<0||n>=sections.length?null:sections[n]},goBoard=import_react79.useCallback((d2)=>{let n=(idx+d2+sections.length)%sections.length,s=sections[n];setAt(s.board.slug),setTier("head"),setCol(0),setRow(0),setChip(0),setOpen((o)=>o.has(s.board.slug)?o:new Set(o).add(s.board.slug))},[idx,sections]),flip=import_react79.useCallback((c)=>setMasks((m2)=>{let cur2=m2.get(at)??EMPTY2,who=new Map(cur2.who),pri=new Map(cur2.pri),status=new Map(cur2.status),g=c.kind==="who"?who:c.kind==="pri"?pri:status,next2=cycle(g.get(c.v)??"off");next2==="off"?g.delete(c.v):g.set(c.v,next2);let out=new Map(m2);return out.set(at,{who,pri,status}),setRow(0),out}),[at]),toggle=import_react79.useCallback((s)=>setOpen((o)=>{let n=new Set(o);return n.has(s)?n.delete(s):n.add(s),n}),[]),newBoard=import_react79.useCallback(()=>openTextPrompt(dialog,{title:"New board",label:"Slug (a-z, 0-9, -_)"}).then((v2)=>{if(!v2)return;return gw.request("shell.exec",{command:`hermes kanban boards create ${q3(v2)}`}).then((r)=>r.code===0?(toast.show({variant:"success",message:`Board '${v2}' created`}),resetKanban(),load3(),setAt(v2),setTier("head")):Promise.reject(Error((r.stderr||r.stdout).trim()))).catch((e)=>toast.show({variant:"error",message:trunc4(e.message,120)}))}),[dialog,gw,toast,load3]),live=import_react79.useRef({task,at,sec:sec3});live.current={task,at,sec:sec3};let create=import_react79.useCallback((parent)=>openCreateTask(dialog,{assignees:assignees(live.current.at),parent:parent?{id:parent.id,title:parent.title}:void 0}).then((d2)=>{if(!d2)return;let ws=d2.workspace.kind==="scratch"?"":d2.workspace.kind==="worktree"?"--workspace worktree":`--workspace ${q3(`dir:${d2.workspace.path}`)}`,flags=[d2.assignee?`--assignee ${q3(d2.assignee)}`:"",d2.body?`--body ${q3(d2.body)}`:"",d2.priority?`--priority ${d2.priority}`:"",d2.parent?`--parent ${q3(d2.parent)}`:"",d2.triage?"--triage":"",d2.tenant?`--tenant ${q3(d2.tenant)}`:"",ws,d2.maxRuntime?`--max-runtime ${q3(d2.maxRuntime)}`:"",...d2.skills.map((s)=>`--skill ${q3(s)}`)].filter(Boolean).join(" ");return sh(`create ${q3(d2.title)} ${flags}`.trim(),`Created${d2.triage?" (triage)":""}${d2.assignee?` \u2192 ${d2.assignee}`:""}`)}),[dialog,sh]),assign=import_react79.useCallback((t2)=>{let opts=[{title:"(unassigned)",value:"none"},...assignees(live.current.at).map((n)=>({title:n,value:n}))];dialog.replace($jsx(DialogSelect,{title:`Assign ${t2.id}`,options:opts,current:t2.assignee??"none",placeholder:"Search profiles\u2026",onSelect:(o)=>{dialog.clear(),sh(`assign ${q3(t2.id)} ${q3(o.value)}`,o.value==="none"?`Unassigned ${t2.id}`:`${t2.id} \u2192 ${o.value}`)}}))},[dialog,sh]),comment=import_react79.useCallback((t2)=>openTextPrompt(dialog,{title:`Comment on ${t2.id}`,label:t2.title}).then((v2)=>v2&&sh(`comment ${q3(t2.id)} ${q3(v2)} --author user`,"Comment added")),[dialog,sh]),unblock=import_react79.useCallback((t2)=>{if(t2.status!=="blocked")return void toast.show({variant:"info",message:`${t2.id} is ${t2.status}, not blocked`});return openTextPrompt(dialog,{title:`Unblock ${t2.id}`,label:"Answer (posted as comment, then task \u2192 ready)"}).then((v2)=>{if(v2)return sh(`comment ${q3(t2.id)} ${q3(v2)} --author user`)}).then(()=>sh(`unblock ${q3(t2.id)}`,`Unblocked ${t2.id}`))},[dialog,sh,toast]),archive=import_react79.useCallback((t2)=>openConfirm(dialog,{title:"Archive task?",danger:!0,yes:"archive",body:`${t2.id} \xB7 ${trunc4(t2.title,60)}
4118
+ `)[0].slice(0,200)}`}):null]},r.id)})]}):null,d2.events.length>0?$jsxs($Fragment,{children:[$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:`Events (${d2.events.length})`})}),d2.events.map((e)=>$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:`${ago(e.created_at).padEnd(10)} `}),$jsx("span",{fg:theme.text,children:e.kind}),e.payload?$jsx("span",{fg:theme.textMuted,children:` ${JSON.stringify(e.payload)}`}):null]})},e.id))]}):null,d2.comments.length>0?$jsxs($Fragment,{children:[$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:`Comments (${d2.comments.length})`})}),d2.comments.map((c,i)=>$jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${c.author} \xB7 ${ago(c.at)}`})}),$jsx("text",{wrapMode:"word",children:c.body})]},i))]}):null,p.on&&cur==="comment"?$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.accent,children:"Enter add comment"})}):null]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:p.on?"Tab/\u2191\u2193 field Enter edit Esc grid a assign c comment l log":"Tab into pane a assign c comment u unblock d archive l log N child"})})]})}),Kanban=import_react79.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),dims=useTerminalDimensions(),keys=useKeys(),[boards,setBoards]=import_react79.useState(listBoards),[data2,setData]=import_react79.useState(()=>new Map(boards.map((b2)=>[b2.slug,boardOf(b2.slug)]))),[diags,setDiags]=import_react79.useState(()=>new Map),[masks,setMasks]=import_react79.useState(()=>maskFromPrefs(load().kanban?.masks)),[open2,setOpen]=import_react79.useState(()=>{let saved=load().kanban?.open;if(saved)return new Set(saved);let init=currentBoard();return new Set(listBoards().filter((b2)=>b2.slug===init||[...boardOf(b2.slug).values()].some((v2)=>v2.length>0)).map((b2)=>b2.slug))}),[at,setAt]=import_react79.useState(currentBoard),[tier,setTier]=import_react79.useState("grid"),[col,setCol]=import_react79.useState(0),[row,setRow]=import_react79.useState(0),[chip,setChip]=import_react79.useState(0),[paneSel,setPaneSel]=import_react79.useState(0),[pane,setPane]=import_react79.useState(null),outer=import_react79.useRef(null),load3=import_react79.useCallback(()=>{let bs=listBoards();setBoards(bs),setData(new Map(bs.map((b2)=>[b2.slug,boardOf(b2.slug)]))),setPane((p)=>p?.kind==="detail"?((d2)=>d2?{...p,d:d2}:null)(detailOf(p.slug,p.d.id)):p),Promise.all(bs.map((b2)=>gw.request("shell.exec",{command:`hermes kanban --board ${q3(b2.slug)} diagnostics --json`}).then((r)=>r.code===0?parseDiagnostics(r.stdout):[]).catch(()=>[]).then((rows3)=>[b2.slug,indexDiags(rows3)]))).then((pairs)=>setDiags(new Map(pairs)))},[gw]);import_react79.useEffect(load3,[load3]),import_react79.useEffect(()=>{persist(masks,open2)},[masks,open2]);let maskOf=(s)=>masks.get(s)??EMPTY2,wide=dims.width>=160,maxH=Math.max(8,dims.height-16),sections=import_react79.useMemo(()=>{let built=boards.map((b2)=>{let d2=data2.get(b2.slug)??new Map,flat=STATUSES.flatMap((s)=>d2.get(s)??[]),total=flat.length,who=[...new Set(flat.map((t2)=>t2.assignee).filter((v2)=>!!v2))].sort(),pri=[...new Set(flat.map((t2)=>t2.priority).filter((n)=>n>0))].sort((a,z2)=>z2-a),chips=[...who.map((v2)=>({kind:"who",v:v2})),...pri.map((v2)=>({kind:"pri",v:v2})),...STATUSES.map((v2)=>({kind:"status",v:v2}))],m2=maskOf(b2.slug),cols3=STATUSES.filter((s)=>admits(m2.status,s)).map((s)=>({status:s,tasks:(d2.get(s)??[]).filter((t2)=>pass(t2,m2))})).filter((c)=>wide||c.tasks.length>0),shown=cols3.reduce((a,c)=>a+c.tasks.length,0),tall=cols3.reduce((a,c)=>Math.max(a,c.tasks.length),0);return{board:b2,cols:cols3,chips,total,shown,running:d2.get("running")?.length??0,cap:Math.min(maxH,Math.max(5,3+2*tall))}});return[...built.filter((s)=>s.total>0),...built.filter((s)=>s.total===0)]},[boards,data2,masks,wide,maxH]),idx=sections.findIndex((s)=>s.board.slug===at),sec3=sections[idx]??sections[0],cols2=sec3?.cols??[],clampCol=Math.min(col,Math.max(0,cols2.length-1)),cur=cols2[clampCol],task=tier==="grid"||tier==="pane"?cur?.tasks[Math.min(row,Math.max(0,(cur?.tasks.length??1)-1))]:void 0,grand=sections.reduce((a,s)=>a+s.total,0),running2=sections.reduce((a,s)=>a+s.running,0);import_react79.useEffect(()=>{if(pane?.kind!=="detail")return;if(tier!=="grid"&&tier!=="pane"){setPane(null);return}if(!task){setPane(null);return}if(pane.slug===at&&pane.d.id===task.id)return;let d2=detailOf(at,task.id);setPane(d2?{kind:"detail",slug:at,d:d2}:null),setPaneSel(0)},[task?.id,at,tier]),import_react79.useEffect(()=>{if(!props.focused||running2===0)return;let t2=setInterval(load3,3000);return()=>clearInterval(t2)},[props.focused,running2,load3]),import_react79.useEffect(()=>{outer.current?.scrollChildIntoView(`kb-sec-${at}`)},[at,open2]);let sh=import_react79.useCallback((argv,ok)=>gw.request("shell.exec",{command:`hermes kanban --board ${q3(at)} ${argv}`}).then((r)=>{if(r.code!==0)throw Error((r.stderr||r.stdout||`exit ${r.code}`).trim());if(ok)toast.show({variant:"success",message:ok});return resetKanban(),load3(),r.stdout}).catch((e)=>void toast.show({variant:"error",message:trunc4(e.message,120)})),[gw,toast,load3,at]),patchDirect=import_react79.useCallback((id,p,ok)=>{try{if(!patchTask(at,id,p))return void toast.show({variant:"error",message:`no such task: ${id}`});toast.show({variant:"success",message:ok}),load3()}catch(e){toast.show({variant:"error",message:trunc4(e.message,120)})}},[at,toast,load3]),enterTop=(s)=>{setAt(s.board.slug),setTier("head"),setChip(0),setRow(0)},enterBottom=(s)=>{if(setAt(s.board.slug),setChip(Math.max(0,s.chips.length-1)),open2.has(s.board.slug)&&s.shown>0){let nc=Math.min(col,Math.max(0,s.cols.length-1));setTier("grid"),setCol(nc),setRow(Math.max(0,(s.cols[nc]?.tasks.length??1)-1));return}if(open2.has(s.board.slug)){setTier("filter");return}setTier("head")},stepBoard=(d2)=>{let n=idx+d2;return n<0||n>=sections.length?null:sections[n]},goBoard=import_react79.useCallback((d2)=>{let n=(idx+d2+sections.length)%sections.length,s=sections[n];setAt(s.board.slug),setTier("head"),setCol(0),setRow(0),setChip(0),setOpen((o)=>o.has(s.board.slug)?o:new Set(o).add(s.board.slug))},[idx,sections]),flip=import_react79.useCallback((c)=>setMasks((m2)=>{let cur2=m2.get(at)??EMPTY2,who=new Map(cur2.who),pri=new Map(cur2.pri),status=new Map(cur2.status),g=c.kind==="who"?who:c.kind==="pri"?pri:status,next2=cycle(g.get(c.v)??"off");next2==="off"?g.delete(c.v):g.set(c.v,next2);let out=new Map(m2);return out.set(at,{who,pri,status}),setRow(0),out}),[at]),toggle=import_react79.useCallback((s)=>setOpen((o)=>{let n=new Set(o);return n.has(s)?n.delete(s):n.add(s),n}),[]),newBoard=import_react79.useCallback(()=>openTextPrompt(dialog,{title:"New board",label:"Slug (a-z, 0-9, -_)"}).then((v2)=>{if(!v2)return;return gw.request("shell.exec",{command:`hermes kanban boards create ${q3(v2)}`}).then((r)=>r.code===0?(toast.show({variant:"success",message:`Board '${v2}' created`}),resetKanban(),load3(),setAt(v2),setTier("head")):Promise.reject(Error((r.stderr||r.stdout).trim()))).catch((e)=>toast.show({variant:"error",message:trunc4(e.message,120)}))}),[dialog,gw,toast,load3]),live=import_react79.useRef({task,at,sec:sec3});live.current={task,at,sec:sec3};let create=import_react79.useCallback((parent)=>openCreateTask(dialog,{assignees:assignees(live.current.at),parent:parent?{id:parent.id,title:parent.title}:void 0}).then((d2)=>{if(!d2)return;let ws=d2.workspace.kind==="scratch"?"":d2.workspace.kind==="worktree"?"--workspace worktree":`--workspace ${q3(`dir:${d2.workspace.path}`)}`,flags=[d2.assignee?`--assignee ${q3(d2.assignee)}`:"",d2.body?`--body ${q3(d2.body)}`:"",d2.priority?`--priority ${d2.priority}`:"",d2.parent?`--parent ${q3(d2.parent)}`:"",d2.triage?"--triage":"",d2.tenant?`--tenant ${q3(d2.tenant)}`:"",ws,d2.maxRuntime?`--max-runtime ${q3(d2.maxRuntime)}`:"",...d2.skills.map((s)=>`--skill ${q3(s)}`)].filter(Boolean).join(" ");return sh(`create ${q3(d2.title)} ${flags}`.trim(),`Created${d2.triage?" (triage)":""}${d2.assignee?` \u2192 ${d2.assignee}`:""}`)}),[dialog,sh]),assign=import_react79.useCallback((t2)=>{let opts=[{title:"(unassigned)",value:"none"},...assignees(live.current.at).map((n)=>({title:n,value:n}))];dialog.replace($jsx(DialogSelect,{title:`Assign ${t2.id}`,options:opts,current:t2.assignee??"none",placeholder:"Search profiles\u2026",onSelect:(o)=>{dialog.clear(),sh(`assign ${q3(t2.id)} ${q3(o.value)}`,o.value==="none"?`Unassigned ${t2.id}`:`${t2.id} \u2192 ${o.value}`)}}))},[dialog,sh]),comment=import_react79.useCallback((t2)=>openTextPrompt(dialog,{title:`Comment on ${t2.id}`,label:t2.title}).then((v2)=>v2&&sh(`comment ${q3(t2.id)} ${q3(v2)} --author user`,"Comment added")),[dialog,sh]),unblock=import_react79.useCallback((t2)=>{if(t2.status!=="blocked")return void toast.show({variant:"info",message:`${t2.id} is ${t2.status}, not blocked`});return openTextPrompt(dialog,{title:`Unblock ${t2.id}`,label:"Answer (posted as comment, then task \u2192 ready)"}).then((v2)=>{if(v2)return sh(`comment ${q3(t2.id)} ${q3(v2)} --author user`)}).then(()=>sh(`unblock ${q3(t2.id)}`,`Unblocked ${t2.id}`))},[dialog,sh,toast]),archive=import_react79.useCallback((t2)=>openConfirm(dialog,{title:"Archive task?",danger:!0,yes:"archive",body:`${t2.id} \xB7 ${trunc4(t2.title,60)}
4119
4119
 
4120
4120
  Moves to 'archived' and ends any open run. Children stay; their dependency on this task is treated as satisfied.`}).then((ok)=>{if(ok)sh(`archive ${q3(t2.id)}`,`Archived ${t2.id}`)}),[dialog,sh]),parseSpecify=(out)=>out.split(`
4121
- `).flatMap((l)=>l.trim()?[JSON.parse(l)]:[]),specify=import_react79.useCallback((t2)=>{if(t2.status!=="triage")return void toast.show({variant:"info",message:`${t2.id} is ${t2.status}, not triage`});return sh(`specify ${q3(t2.id)} --json`).then((out)=>{if(out==null)return;let r=parseSpecify(out)[0];if(!r)return;if(!r.ok)return void toast.show({variant:"error",message:`specify ${r.task_id}: ${trunc4(r.reason??"failed",100)}`});toast.show({variant:"success",message:r.new_title?`Specified ${r.task_id} \u2192 ${trunc4(r.new_title,60)}`:`Specified ${r.task_id} \u2192 todo`})})},[sh,toast]),specifyAll=import_react79.useCallback(()=>{let triage=live.current.sec?.cols.find((c)=>c.status==="triage")?.tasks.length??0;if(triage===0)return void toast.show({variant:"info",message:`No 'triage' tasks on ${live.current.at}`});return openConfirm(dialog,{title:`Specify all \xB7 ${live.current.at}`,body:`${triage} task${triage===1?"":"s"} in 'triage'. Auxiliary LLM expands each body and promotes to todo.`,yes:"specify"}).then((go)=>{if(!go)return;return sh("specify --all --json").then((out)=>{if(out==null)return;let rows3=parseSpecify(out),ok=rows3.filter((r)=>r.ok).length,bad=rows3.length-ok;toast.show({variant:ok===0&&bad>0?"error":"success",message:`Specified ${ok}/${rows3.length}${bad?` (${bad} failed)`:""}`})})})},[dialog,sh,toast]),dispatch=import_react79.useCallback(()=>{let ready=live.current.sec?.cols.find((c)=>c.status==="ready")?.tasks.length??0;if(ready===0)return void toast.show({variant:"info",message:`No 'ready' tasks on ${live.current.at}`});return openConfirm(dialog,{title:`Dispatch \xB7 ${live.current.at}`,body:`${ready} task${ready===1?"":"s"} in 'ready'. Spawns one worker per task (one pass).`,yes:"dispatch"}).then((ok)=>{if(ok)sh("dispatch --json",`Dispatched (${ready} ready)`)})},[dialog,sh,toast]),showLog=import_react79.useCallback((t2)=>{let s=live.current.at,text2=tailLogOf(s,t2.id);if(text2==null)return void toast.show({variant:"info",message:`No worker log for ${t2.id}`});setPane({kind:"log",slug:s,id:t2.id,text:text2})},[toast]),editTitle=import_react79.useCallback((t2)=>openTextPrompt(dialog,{title:"Edit title",label:t2.id,initial:t2.title}).then((v2)=>v2!==null&&v2!==void 0&&patchDirect(t2.id,{title:v2},`Updated ${t2.id}`)),[dialog,patchDirect]),editBody=import_react79.useCallback((t2)=>openTextPrompt(dialog,{title:"Edit body",label:t2.id,initial:t2.body??""}).then((v2)=>{if(v2===null||v2===void 0)return;patchDirect(t2.id,{body:v2},`Updated ${t2.id}`)}),[dialog,patchDirect]),editPriority=import_react79.useCallback((t2)=>{let opts=Array.from({length:10},(_2,i)=>({title:i===0?"P0 (none)":`P${i}`,value:String(i)}));dialog.replace($jsx(DialogSelect,{title:`Priority for ${t2.id}`,options:opts,current:String(t2.priority),filterable:!1,onSelect:(o)=>{dialog.clear(),patchDirect(t2.id,{priority:Number(o.value)},`${t2.id} \u2192 P${o.value}`)}}))},[dialog,patchDirect]),editResult=import_react79.useCallback((t2)=>{if(t2.status!=="done")return void toast.show({variant:"info",message:`${t2.id} is not done`});return openTextPrompt(dialog,{title:"Edit result",label:t2.id,initial:t2.result??""}).then((v2)=>{if(v2==null)return;sh(`edit ${q3(t2.id)} --result ${q3(v2)}`,`Updated ${t2.id} result`)})},[dialog,sh,toast]),editStatus=import_react79.useCallback((t2)=>{let opts=[];if(t2.status!=="done")opts.push({title:"done",value:"complete",description:"mark complete (prompts for result)"});if(t2.status!=="blocked")opts.push({title:"blocked",value:"block",description:"mark blocked (prompts for reason)"});if(t2.status==="blocked")opts.push({title:"ready",value:"unblock",description:"return to ready"});opts.push({title:"archived",value:"archive",description:"archive (terminal)"}),dialog.replace($jsx(DialogSelect,{title:`Status for ${t2.id}`,options:opts,current:t2.status,filterable:!1,onSelect:async(o)=>{if(dialog.clear(),o.value==="complete"){let res=await openTextPrompt(dialog,{title:`Complete ${t2.id}`,label:"Result (optional)",initial:t2.result??""}),flag=res?` --result ${q3(res)}`:"";sh(`complete ${q3(t2.id)}${flag}`,`Completed ${t2.id}`);return}if(o.value==="block"){let r=await openTextPrompt(dialog,{title:`Block ${t2.id}`,label:"Reason (optional, posted as comment)"}),arg=r?` ${q3(r)}`:"";sh(`block ${q3(t2.id)}${arg}`,`Blocked ${t2.id}`);return}if(o.value==="unblock")return void sh(`unblock ${q3(t2.id)}`,`Unblocked ${t2.id}`);if(o.value==="archive")return void archive(t2)}}))},[dialog,sh,archive]),editParents=import_react79.useCallback((t2)=>{let cur2=(pane?.kind==="detail"&&pane.d.id===t2.id?pane.d:detailOf(at,t2.id))?.parents??[],d2=data2.get(at)??new Map,opts=STATUSES.flatMap((s)=>d2.get(s)??[]).filter((x2)=>x2.id!==t2.id).map((x2)=>({title:x2.id,description:trunc4(x2.title,50),value:x2.id,category:cur2.includes(x2.id)?"linked":"available"}));dialog.replace($jsx(DialogSelect,{title:`Parents for ${t2.id}`,options:opts,placeholder:"Select to toggle link\u2026",onSelect:(o)=>{if(dialog.clear(),cur2.includes(o.value))sh(`unlink ${q3(o.value)} ${q3(t2.id)}`,`Unlinked ${o.value}`);else sh(`link ${q3(o.value)} ${q3(t2.id)}`,`Linked ${o.value}`)}}))},[dialog,sh,data2,at,pane]),openField=import_react79.useCallback((f,t2)=>{if(f==="title")return void editTitle(t2);if(f==="body")return void editBody(t2);if(f==="assignee")return assign(t2);if(f==="priority")return editPriority(t2);if(f==="status")return editStatus(t2);if(f==="parents")return editParents(t2);if(f==="result")return void editResult(t2);if(f==="comment")return void comment(t2)},[editTitle,editBody,assign,editPriority,editStatus,editParents,editResult,comment]),bumpPriority=import_react79.useCallback((t2,d2)=>{let next2=Math.max(0,Math.min(9,t2.priority+d2));if(next2===t2.priority)return;patchDirect(t2.id,{priority:next2},`${t2.id} \u2192 P${next2}`)},[patchDirect]),ACTS=import_react79.useMemo(()=>[{key:"n",title:"New task",when:()=>!0,run:()=>void create()},{key:"N",title:"New child",when:(t2)=>!!t2,run:(t2)=>void create(t2)},{key:"a",title:"Assign",when:(t2)=>!!t2,run:(t2)=>void assign(t2)},{key:"c",title:"Comment",when:(t2)=>!!t2,run:(t2)=>void comment(t2)},{key:"s",title:"Specify",when:(t2)=>t2?.status==="triage",run:(t2)=>void specify(t2)},{key:"S",title:"Specify all",when:()=>!0,run:()=>void specifyAll()},{key:"u",title:"Unblock",when:(t2)=>t2?.status==="blocked",run:(t2)=>void unblock(t2)},{key:"d",title:"Archive",when:(t2)=>!!t2,run:(t2)=>void archive(t2)},{key:"l",title:"Worker log",when:(t2)=>!!t2,run:(t2)=>showLog(t2)},{key:"b",title:"New board",when:()=>!0,run:()=>void newBoard()},{key:"D",title:"Dispatch",when:()=>!0,run:()=>void dispatch()}],[create,assign,comment,specify,specifyAll,unblock,archive,showLog,newBoard,dispatch]),isOpen=open2.has(at),paneOpen=pane?.kind==="detail",paneFields=paneOpen?fieldsFor(pane.d):[];useKeyboard((key2)=>{if(!props.focused||dialog.open())return;if(key2.name==="escape"&&pane){if(tier==="pane"){setTier("grid");return}return setPane(null)}if(keys.match("list.refresh",key2))return load3();if(key2.name==="tab"){if(paneOpen&&tier!=="pane"){setTier("pane"),setPaneSel(0);return}if(tier==="pane"){let n=paneFields.length;if(n===0)return;let d2=key2.shift?-1:1;setPaneSel((s)=>(s+d2+n)%n);return}return goBoard(key2.shift?-1:1)}if(tier==="pane"){let t3=live.current.task;if(!t3||!paneOpen)return;let f=paneFields[Math.min(paneSel,paneFields.length-1)];if(key2.name==="up"){if(f==="priority")return bumpPriority(t3,1);let n=paneFields.length;if(n===0)return;return setPaneSel((s)=>(s-1+n)%n)}if(key2.name==="down"){if(f==="priority")return bumpPriority(t3,-1);let n=paneFields.length;if(n===0)return;return setPaneSel((s)=>(s+1)%n)}if(key2.name==="return")return openField(f,t3);let hit2=ACTS.find((a)=>a.key===key2.raw&&a.when(t3));if(hit2)return hit2.run(t3);return}if(key2.name==="space"||key2.name===" "){if(tier==="head")return toggle(at);if(tier==="filter"&&sec3?.chips[chip])return flip(sec3.chips[chip]);return}if(key2.name==="down"){if(tier==="head"){if(isOpen)return setTier("filter");let n2=stepBoard(1);return n2?enterTop(n2):void 0}if(tier==="filter"){if(sec3&&sec3.shown>0){setTier("grid"),setRow(0);return}let n2=stepBoard(1);return n2?enterTop(n2):void 0}if(row<(cur?.tasks.length??1)-1)return setRow((r)=>r+1);let n=stepBoard(1);return n?enterTop(n):void 0}if(key2.name==="up"){if(tier==="head"){let p=stepBoard(-1);return p?enterBottom(p):void 0}if(tier==="filter")return setTier("head");if(row>0)return setRow((r)=>r-1);return setTier("filter")}if(key2.name==="left"){if(tier==="filter")return setChip((c)=>Math.max(0,c-1));if(tier==="grid")return setCol((c)=>{let n=Math.max(0,c-1);return setRow(0),n});return}if(key2.name==="right"){if(tier==="filter")return setChip((c)=>Math.min((sec3?.chips.length??1)-1,c+1));if(tier==="grid")return setCol((c)=>{let n=Math.min(cols2.length-1,c+1);return setRow(0),n});return}if(key2.name==="return"){if(tier==="head")return toggle(at);if(tier==="filter"&&sec3?.chips[chip])return flip(sec3.chips[chip]);if(task)return setPane((p)=>p?.kind==="detail"&&p.d.id===task.id?null:((d2)=>d2?{kind:"detail",slug:at,d:d2}:null)(detailOf(at,task.id)));return}let t2=live.current.task,hit=ACTS.find((a)=>a.key===key2.raw&&a.when(t2));if(hit)return hit.run(t2)});let hint=import_react79.useMemo(()=>{let t2=task;return[tier==="pane"?"Esc grid":"Tab board",tier==="head"?"\u2191\u2193 nav Space fold":tier==="filter"?"\u2190\u2192 chip Space toggle":tier==="pane"?"Tab/\u2191\u2193 field Enter edit Esc grid":"\u2190\u2192\u2191\u2193 nav Enter detail",...ACTS.filter((a)=>a.when(t2)).map((a)=>`${a.key} ${a.title.toLowerCase()}`),`${keys.print("list.refresh")} reload`].join(" ")},[ACTS,keys,task,tier]),onHead=import_react79.useCallback((s)=>{setAt(s),setTier("head"),toggle(s)},[toggle]),onChip=import_react79.useCallback((s,i,c)=>{setAt(s),setTier("filter"),setChip(i),flip(c)},[flip]),onPick=import_react79.useCallback((s,ci,ri,id)=>{setAt(s),setTier("grid"),setCol(ci),setRow(ri),setOpen((o)=>o.has(s)?o:new Set(o).add(s));let d2=detailOf(s,id);if(d2)setPane({kind:"detail",slug:s,d:d2})},[]);return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsx(TabShell,{title:`Kanban \xB7 ${sections.length} board${sections.length===1?"":"s"} \xB7 ${grand} task${grand===1?"":"s"}${running2?` \xB7 ${running2} running`:""}`,children:$jsx("scrollbox",{ref:outer,scrollY:!0,flexGrow:1,verticalScrollbarOptions:NOBAR,children:$jsx("box",{flexDirection:"column",width:"100%",children:sections.map((s)=>{let on=s.board.slug===at,secOpen=open2.has(s.board.slug),m2=maskOf(s.board.slug),filt=m2.who.size+m2.pri.size+m2.status.size,dg=diags.get(s.board.slug)??EMPTY_DIAG;return $jsxs("box",{id:`kb-sec-${s.board.slug}`,flexDirection:"column",flexShrink:0,marginBottom:1,children:[$jsx("box",{height:1,onMouseDown:()=>onHead(s.board.slug),backgroundColor:on&&tier==="head"?theme.backgroundElement:void 0,children:$jsxs("text",{children:[$jsx("span",{fg:on?theme.accent:theme.textMuted,children:secOpen?"\u25BE ":"\u25B8 "}),$jsx("span",{fg:on?theme.primary:theme.text,children:$jsx("strong",{children:s.board.name})}),$jsx("span",{fg:theme.textMuted,children:s.total===0?" \xB7 empty":` \xB7 ${filt?`${s.shown}/`:""}${s.total} task${s.total===1?"":"s"}${s.running?` \xB7 ${s.running} running`:""}`})]})}),secOpen?s.total===0?$jsx("box",{height:1,marginLeft:2,children:$jsxs("text",{fg:theme.textMuted,children:["no tasks \u2014 ",$jsx("span",{fg:theme.accent,children:"n"})," to create one here"]})}):$jsxs($Fragment2,{children:[$jsx(FilterBar,{chips:s.chips,mask:m2,on:on&&tier==="filter",sel:on?Math.min(chip,s.chips.length-1):-1,onPick:(i)=>onChip(s.board.slug,i,s.chips[i])}),s.cols.length>0?$jsx("box",{flexDirection:"row",height:s.cap,gap:1,children:s.cols.map((c,ci)=>$jsx(Column,{slug:s.board.slug,status:c.status,tasks:c.tasks,diags:dg,on:on&&(tier==="grid"||tier==="pane")&&ci===clampCol,sel:on?row:0,onPick:(ri)=>onPick(s.board.slug,ci,ri,c.tasks[ri].id)},c.status))}):$jsx("box",{height:1,marginLeft:2,children:$jsx("text",{fg:theme.textMuted,children:"all columns hidden"})})]}):null]},s.board.slug)})})})}),pane?$jsx(SidePane,{pane,on:tier==="pane",sel:paneSel,diags:pane.kind==="detail"?diags.get(pane.slug)?.get(pane.d.id)??EMPTY_DIAGS:EMPTY_DIAGS}):null]}),$jsx(HintBar,{raw:hint})]})});var Automation=import_react81.memo((props)=>{let keys=useKeys(),labels=SUB_TABS[AUTOMATION_TAB];import_react81.useEffect(()=>{if(props.sub>=labels.length)props.setSub(0)},[props.sub,labels.length]);let hint=`${keys.print("tab.prev")}/${keys.print("tab.next")} group \xB7 shift+\u2190/\u2192 sub`;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(SubTabBar,{tabs:labels,active:props.sub,onChange:props.setSub,hint}),$jsxs("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:[$jsx(Pane2,{visible:props.sub===0,children:$jsx(Kanban,{focused:!!props.focused&&props.sub===0})}),$jsx(Pane2,{visible:props.sub===1,children:$jsx(Agents,{focused:!!props.focused&&props.sub===1,sessionId:props.sessionId,onSwitchProfile:props.onSwitchProfile})}),$jsx(Pane2,{visible:props.sub===2,children:$jsx(Cron,{focused:!!props.focused&&props.sub===2})})]})]})}),Pane2=({visible,children:children2})=>visible?$jsx("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:children2}):null;var import_react93=__toESM(require_react_production(),1);var import_react83=__toESM(require_react_production(),1);init_lane();var int=(lo,hi,what=`${lo}\u2013${hi}`)=>(raw)=>{let n=Number(raw);if(!Number.isInteger(n))return`expected integer ${what}`;if(n<lo||n>hi)return`expected ${what}`;return null},float=(lo,hi)=>(raw)=>{let n=Number(raw);if(!Number.isFinite(n))return`expected number ${lo}\u2013${hi}`;if(n<lo||n>hi)return`expected ${lo}\u2013${hi}`;return null},oneOf=(...opts)=>(raw)=>opts.includes(raw)?null:`expected one of: ${opts.join(" | ")}`,nonNeg=(raw)=>{let n=Number(raw);return Number.isFinite(n)&&n>=0?null:"expected \u2265 0"},RULES={"compression.threshold":float(0.1,0.95),"compression.target_ratio":float(0.05,0.9),"prompt_caching.cache_ttl":(raw)=>/^\d+[smhd]$/.test(raw.trim())?null:"expected duration e.g. 5m, 1h","prompt_caching.long_lived_ttl":(raw)=>/^\d+[smhd]$/.test(raw.trim())?null:"expected duration e.g. 5m, 1h","agent.max_turns":int(1,1e4),"delegation.max_iterations":int(1,1e4),"delegation.max_concurrent_children":int(1,64),"delegation.max_spawn_depth":int(1,3),"agent.gateway_timeout":nonNeg,"agent.gateway_timeout_warning":nonNeg,"agent.gateway_notify_interval":nonNeg,"agent.restart_drain_timeout":nonNeg,"delegation.child_timeout_seconds":int(30,86400),"browser.command_timeout":int(1,600),"approvals.timeout":int(1,3600),"security.tirith_timeout":int(1,120),"agent.api_max_retries":int(0,20),"tool_output.max_bytes":int(1024,1e7),"tool_output.max_lines":int(10,1e5),"sessions.retention_days":int(1,3650),"sessions.min_interval_hours":int(1,720),"agent.service_tier":oneOf("","fast","standard"),"display.busy_input_mode":oneOf("queue","steer","interrupt"),"display.details_mode":oneOf("hidden","collapsed","expanded"),"display.thinking_mode":oneOf("collapsed","truncated","full"),"display.tool_progress":oneOf("off","new","all","verbose"),"display.final_response_markdown":oneOf("render","strip","raw"),"logging.level":oneOf("DEBUG","INFO","WARNING","ERROR"),"approvals.mode":oneOf("manual","ask","yolo","deny"),"code_execution.mode":oneOf("project","strict")},check=(key2,raw)=>RULES[key2]?.(raw)??null;init_schema();init_lane();var SELECTS={"terminal.backend":["local","docker","ssh","modal","daytona","singularity","vercel_sandbox"],"tts.provider":["edge","elevenlabs","openai","neutts","xai","mistral"],"display.skin":[...SKINS],"logging.level":["DEBUG","INFO","WARNING","ERROR"],"agent.reasoning_effort":["","none","minimal","low","medium","high","xhigh"],"display.busy_input_mode":["queue","steer","interrupt"],"display.details_mode":["hidden","collapsed","expanded"],"display.thinking_mode":["collapsed","truncated","full"],"display.tool_progress":["off","new","all","verbose"],"approvals.mode":["manual","ask","yolo","deny"]},get3=(obj,path7)=>{let cur=obj;for(let p of path7.split("."))if(cur&&typeof cur==="object"&&!Array.isArray(cur))cur=cur[p];else return;return cur},classify2=(key2,t2)=>{if(route(key2).via==="readonly")return"readonly";if(SELECTS[key2])return"select";if(t2==="bool")return"boolean";if(t2==="int"||t2==="float")return"number";return"string"},labelOf=(key2)=>{let raw=SCHEMA[key2]?.group??key2.split(".")[0];return key2.startsWith(`${raw}.`)?key2.slice(raw.length+1):key2},buildFields=(user)=>{let seen=new Set,out=[];for(let key2 of SCHEMA_KEYS){let s=SCHEMA[key2],uv=get3(user,key2),set2=uv!==void 0;out.push({key:key2,label:labelOf(key2),type:classify2(key2,s.type),value:set2?uv:s.default,set:set2,doc:s.doc,effect:s.effect,options:SELECTS[key2]}),seen.add(key2)}let walk=(obj,prefix="")=>{for(let[k2,v2]of Object.entries(obj)){let key2=prefix?`${prefix}.${k2}`:k2;if(v2&&typeof v2==="object"&&!Array.isArray(v2)){if(SCHEMA[key2]?.type==="dict"){seen.add(key2);continue}walk(v2,key2);continue}if(seen.has(key2))continue;out.push({key:key2,label:labelOf(key2),type:Array.isArray(v2)?"readonly":typeof v2==="boolean"?"boolean":typeof v2==="number"?"number":"string",value:v2,set:!0,doc:"",effect:"live"})}};return walk(user),out},MERGE={approvals:"security",privacy:"security",checkpoints:"agent",context:"agent",cron:"agent",network:"agent",model_catalog:"general",onboarding:"general",human_delay:"display",dashboard:"display",tool_output:"agent",prompt_caching:"compression",code_execution:"terminal",slack:"platforms",telegram:"platforms",mattermost:"platforms",discord:"platforms",whatsapp:"platforms",matrix:"platforms"},rawGroupOf=(key2)=>SCHEMA[key2]?.group??(key2.includes(".")?key2.split(".")[0]:"general"),groupOf=(key2)=>{let raw=rawGroupOf(key2);return MERGE[raw]??raw},sections=(group,fields)=>{let by=new Map;for(let f of fields){let r=rawGroupOf(f.key);if(!by.has(r))by.set(r,[]);by.get(r).push(f)}if(by.size<=1)return[{head:null,items:fields}];return[...by.keys()].sort((a,b2)=>a===group?-1:b2===group?1:a.localeCompare(b2)).map((r)=>({head:r,items:by.get(r)}))},GROUPS=(()=>{let g=new Set(["general"]);for(let k2 of SCHEMA_KEYS)g.add(groupOf(k2));return[...g]})(),EFFECT_GLYPH={live:"",session:"\u21BB",restart:"\u27F3"};init_lane();var AUX_TASKS=[{key:"vision",label:"Vision",hint:"Image analysis"},{key:"web_extract",label:"Web Extract",hint:"Page summarization"},{key:"compression",label:"Compression",hint:"Context compaction"},{key:"session_search",label:"Session Search",hint:"Recall queries"},{key:"skills_hub",label:"Skills Hub",hint:"Skill search"},{key:"approval",label:"Approval",hint:"Smart auto-approve"},{key:"mcp",label:"MCP",hint:"MCP tool routing"},{key:"title_generation",label:"Title Gen",hint:"Session titles"},{key:"curator",label:"Curator",hint:"Skill-usage review"}],dig=(o,...path7)=>path7.reduce((c,p)=>c&&typeof c==="object"?c[p]:void 0,o),str2=(v2)=>typeof v2==="string"?v2:"",readSlots=(raw)=>{let main2={kind:"main",key:"main",label:"Main model",hint:"Primary agent model",provider:str2(dig(raw,"model","provider")),model:str2(dig(raw,"model","default"))||str2(dig(raw,"model","name")),auto:!1},aux=AUX_TASKS.map((t2)=>{let p=str2(dig(raw,"auxiliary",t2.key,"provider"));return{kind:"aux",key:t2.key,label:t2.label,hint:t2.hint,provider:p,model:str2(dig(raw,"auxiliary",t2.key,"model")),auto:p===""||p==="auto"}});return[main2,...aux]},assign=async(gw,slot,provider,model)=>{if(slot==="main"){let r=await gw.request("config.set",{key:"model",value:`${model} --provider ${provider} --global`,session_id:void 0});return{ok:["model.default","model.provider"],failed:[],warnings:[],warning:r.warning}}return writeConfig(gw,[{key:`auxiliary.${slot}.provider`,to:provider},{key:`auxiliary.${slot}.model`,to:model}])},resetAux=(gw,slot)=>{let keys=slot==="all"?AUX_TASKS.map((t2)=>t2.key):[slot];return writeConfig(gw,keys.flatMap((k2)=>[{key:`auxiliary.${k2}.provider`,to:"auto"},{key:`auxiliary.${k2}.model`,to:""}]))};var import_react82=__toESM(require_react_production(),1);var ModelPickerDialog=(props)=>{let dialog=useDialog(),toast=useToast(),theme=useTheme().theme,[data2,setData]=import_react82.useState(null),[step,setStep]=import_react82.useState("provider"),[provider,setProvider]=import_react82.useState(null),[global2,setGlobal]=import_react82.useState(!1);import_react82.useEffect(()=>{props.gw.request("model.options").then(setData).catch(()=>setData({providers:[]}))},[props.gw]);let apply=import_react82.useCallback((model,prov)=>{if(props.onApply)return void props.onApply(prov,model).catch((e)=>toast.show({variant:"error",message:e.message}));let value=`${model} --provider ${prov}${global2?" --global":""}`;props.gw.request("config.set",global2?{key:"model",value,session_id:void 0}:{key:"model",value}).then((r)=>{if(toast.show({variant:"success",message:`model \u2192 ${r.value??model}${global2?" (global)":""}`}),r.warning)toast.show({variant:"warning",message:r.warning})}).catch((e)=>toast.show({variant:"error",message:e.message}))},[props.gw,props.onApply,global2,toast]),onKey=import_react82.useCallback((k2)=>{if(k2.name==="tab"&&!props.onApply)return setGlobal((g)=>!g),!0;if(k2.name==="left"&&step==="model")return setStep("provider"),!0;return!1},[step,props.onApply]),footer=props.onApply?$jsx("text",{fg:theme.textMuted,children:step==="model"?"\u2190: providers":" "}):$jsxs("text",{fg:theme.textMuted,children:[$jsx("span",{children:"Scope: "}),$jsx("span",{fg:global2?theme.warning:theme.accent,children:global2?"global (persists to config)":"this session"}),$jsxs("span",{children:[" \xB7 Tab: toggle",step==="model"?" \xB7 \u2190: providers":""]})]});if(!data2)return $jsx("box",{width:50,padding:1,children:$jsx("text",{children:"Loading models\u2026"})});if(step==="provider"){let options2=(data2.providers??[]).map((p2)=>({title:p2.name,value:p2.slug,description:p2.total_models?`${p2.total_models} models`:void 0,category:p2.is_current?"Current":"Available"}));return $jsx(DialogSelect,{title:props.title??"Switch Provider",options:options2,current:data2.provider,onSelect:(o)=>{setProvider(o.value),setStep("model")},onKey,placeholder:"Search providers...",footer})}let p=data2.providers?.find((pp)=>pp.slug===provider),options=(p?.models??[]).map((m2)=>({title:m2,value:m2}));return $jsx(DialogSelect,{title:props.title?`${props.title} \xB7 ${p?.name??provider}`:`Switch Model (${p?.name??provider})`,options,current:data2.model,onSelect:(o)=>{if(provider)apply(o.value,provider);dialog.clear()},onKey,placeholder:"Search models...",footer})},openModelPicker=(dialog,gw,opts)=>{dialog.replace($jsx(ModelPickerDialog,{gw,title:opts?.title,onApply:opts?.onApply}))};var flatten=(obj,prefix="")=>Object.entries(obj).flatMap(([k2,v2])=>{let key2=prefix?`${prefix}.${k2}`:k2;if(v2&&typeof v2==="object"&&!Array.isArray(v2))return flatten(v2,key2);return[[key2,v2]]}),setNested=(obj,path7,val)=>{let parts2=path7.split("."),cur=obj;for(let i=0;i<parts2.length-1;i++){if(!cur[parts2[i]]||typeof cur[parts2[i]]!=="object")cur[parts2[i]]={};cur=cur[parts2[i]]}cur[parts2[parts2.length-1]]=val},getNested=(obj,path7)=>{let parts2=path7.split("."),cur=obj;for(let p of parts2)if(cur&&typeof cur==="object"&&!Array.isArray(cur))cur=cur[p];else return;return cur},FieldRow=import_react83.memo((props)=>{let theme=useTheme().theme,f=props.field,bg2=props.active?theme.backgroundElement:void 0,indicator=props.active?"\u25B8 ":" ",mark2=props.changed?"\u25CF ":f.set?"\xB7":" ",markFg=props.changed?theme.warning:theme.textMuted,display=()=>{if(props.editing)return props.buf+"\u2588";if(f.type==="readonly"){let n=Array.isArray(f.value)?f.value.length:f.value&&typeof f.value==="object"?Object.keys(f.value).length:0;return n===0?"\u2014":`${n} item${n===1?"":"s"}`}if(f.type==="boolean")return f.value?"\u2713 ON":"\u2717 OFF";return String(f.value??"")},hint=()=>{if(props.readonly||f.type==="readonly")return"\uD83D\uDD12";if(f.type==="boolean")return"[space]";if(f.type==="select")return"[h/l]";return"[enter]"},ro=props.readonly||f.type==="readonly",valFg=ro||!f.set?theme.textMuted:f.type==="boolean"?f.value?theme.success:theme.error:theme.text,labelFg=ro?theme.textMuted:props.active?theme.accent:theme.text,lead=4+(props.badge!==void 0?12:0),glyph=props.active?EFFECT_GLYPH[f.effect]:"";return $jsxs("box",{id:props.id,flexDirection:"column",backgroundColor:bg2,children:[$jsxs("box",{flexDirection:"row",height:1,children:[$jsx(Col,{w:2,fg:markFg,children:mark2}),$jsx(Col,{w:2,fg:props.active?theme.primary:theme.text,children:indicator}),props.badge!==void 0?$jsx(Col,{w:12,fg:theme.textMuted,children:props.badge}):null,$jsx(Col,{w:40,fg:labelFg,children:f.label}),$jsx(Col,{grow:!0,min:6,fg:valFg,children:display()}),$jsx(Col,{w:2,fg:theme.textMuted,children:glyph}),$jsx(Col,{w:9,fg:theme.textMuted,right:!0,children:props.active?hint():""})]}),props.error?$jsxs("box",{flexDirection:"row",height:1,children:[$jsx(Col,{w:lead+40,fg:theme.textMuted,children:""}),$jsx(Col,{grow:!0,min:6,fg:theme.error,children:`\u2717 ${props.error}`})]}):props.active&&f.doc?$jsxs("box",{flexDirection:"row",minHeight:1,children:[$jsx("box",{width:lead,flexShrink:0}),$jsx("box",{width:40,flexShrink:0,minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:f.doc})})]}):null]})}),SlotRow=import_react83.memo((p)=>{let theme=useTheme().theme,main2=p.s.kind==="main",val=main2?`${p.s.provider||"(unset)"} \xB7 ${p.s.model||"(unset)"}`:p.s.auto?"auto (use main model)":`${p.s.provider} \xB7 ${p.s.model||"(provider default)"}`;return $jsxs("box",{id:p.id,flexDirection:"row",height:1,backgroundColor:p.on?theme.backgroundElement:void 0,children:[$jsx(Col,{w:2,fg:p.on?theme.primary:theme.text,children:p.on?"\u25B8 ":" "}),$jsx(Col,{w:2,fg:main2?theme.primary:theme.textMuted,children:main2?"\u2605":" "}),$jsx(Col,{w:16,fg:p.on?theme.accent:theme.text,children:p.s.label}),$jsx(Col,{w:22,fg:theme.textMuted,children:p.s.hint}),$jsx(Col,{grow:!0,min:10,fg:p.s.auto?theme.textMuted:theme.text,children:val}),$jsx(Col,{w:14,fg:theme.textMuted,right:!0,children:p.on?main2?"[enter]":"[enter] [x]":""})]})}),Config=import_react83.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),toast=useToast(),dialog=useDialog(),[raw,setRaw]=import_react83.useState({}),[original,setOriginal]=import_react83.useState({}),[yaml,setYaml]=import_react83.useState(""),[mode,setMode]=import_react83.useState("form"),[cat,setCat]=import_react83.useState(0),[cursor,setCursor]=import_react83.useState(0),[editing,setEditing]=import_react83.useState(!1),[buf,setBuf]=import_react83.useState(""),[err,setErr]=import_react83.useState({}),[searching,setSearching]=import_react83.useState(!1),[query,setQuery]=import_react83.useState(""),[focus,setFocus]=import_react83.useState("categories"),[managed,setManaged]=import_react83.useState(null);import_react83.useEffect(()=>{managedSystem().then(setManaged)},[]);let load3=import_react83.useCallback(()=>{gw.request("config.get",{key:"full"}).then((res)=>{let parsed=res.config??{};setRaw(structuredClone(parsed)),setOriginal(structuredClone(parsed)),setYaml($stringify(parsed)),setErr({})}).catch(()=>{setRaw({}),setOriginal({}),setYaml("")})},[gw]);import_react83.useEffect(()=>{load3()},[load3]);let all=buildFields(raw),grouped=all.reduce((map,f)=>{let g=groupOf(f.key);if(!map.has(g))map.set(g,[]);return map.get(g).push(f),map},new Map(GROUPS.map((g)=>[g,[]]))),groups=[...grouped.keys()];groups.splice(1,0,"models");let active=groups[cat]??groups[0],onSlots=active==="models"&&!searching,slots=readSlots(raw),secs=searching&&query.trim()?[{head:null,items:all.filter((f)=>f.key.toLowerCase().includes(query.toLowerCase()))}]:sections(active,grouped.get(active)??[]),fields=secs.flatMap((s)=>s.items),count3=onSlots?slots.length:fields.length,follow=useFollow("cfg"),catFollow=useFollow("cfg-cat"),changed=(key2)=>JSON.stringify(getNested(raw,key2))!==JSON.stringify(getNested(original,key2)),nChanged=all.reduce((n,f)=>n+(changed(f.key)?1:0),0),update=(key2,val)=>{let next2=structuredClone(raw);setNested(next2,key2,val),setRaw(next2),setYaml($stringify(next2))},fmt3=(v2)=>v2===void 0?"\u2014":Array.isArray(v2)?v2.join(", "):String(v2),save2=async()=>{if(managed){toast.show({variant:"error",message:`Managed by ${managed} \u2014 edit configuration.nix`});return}let nErr=Object.keys(err).length;if(nErr>0){toast.show({variant:"error",message:`${nErr} invalid field${nErr===1?"":"s"}`});return}let target=mode==="yaml"?$parse(yaml)??{}:raw,diffs=flatten(target).filter(([key2])=>JSON.stringify(getNested(target,key2))!==JSON.stringify(getNested(original,key2))).map(([key2,val])=>({key:key2,from:getNested(original,key2),to:val}));if(diffs.length===0){toast.show({variant:"info",message:"No changes"});return}let body=diffs.map((d2)=>`${d2.key}: ${fmt3(d2.from)} \u2192 ${fmt3(d2.to)}`).join(`
4121
+ `).flatMap((l)=>l.trim()?[JSON.parse(l)]:[]),specify=import_react79.useCallback((t2)=>{if(t2.status!=="triage")return void toast.show({variant:"info",message:`${t2.id} is ${t2.status}, not triage`});return sh(`specify ${q3(t2.id)} --json`).then((out)=>{if(out==null)return;let r=parseSpecify(out)[0];if(!r)return;if(!r.ok)return void toast.show({variant:"error",message:`specify ${r.task_id}: ${trunc4(r.reason??"failed",100)}`});toast.show({variant:"success",message:r.new_title?`Specified ${r.task_id} \u2192 ${trunc4(r.new_title,60)}`:`Specified ${r.task_id} \u2192 todo`})})},[sh,toast]),specifyAll=import_react79.useCallback(()=>{let triage=live.current.sec?.cols.find((c)=>c.status==="triage")?.tasks.length??0;if(triage===0)return void toast.show({variant:"info",message:`No 'triage' tasks on ${live.current.at}`});return openConfirm(dialog,{title:`Specify all \xB7 ${live.current.at}`,body:`${triage} task${triage===1?"":"s"} in 'triage'. Auxiliary LLM expands each body and promotes to todo.`,yes:"specify"}).then((go)=>{if(!go)return;return sh("specify --all --json").then((out)=>{if(out==null)return;let rows3=parseSpecify(out),ok=rows3.filter((r)=>r.ok).length,bad=rows3.length-ok;toast.show({variant:ok===0&&bad>0?"error":"success",message:`Specified ${ok}/${rows3.length}${bad?` (${bad} failed)`:""}`})})})},[dialog,sh,toast]),dispatch=import_react79.useCallback(()=>{let ready=live.current.sec?.cols.find((c)=>c.status==="ready")?.tasks.length??0;if(ready===0)return void toast.show({variant:"info",message:`No 'ready' tasks on ${live.current.at}`});return openConfirm(dialog,{title:`Dispatch \xB7 ${live.current.at}`,body:`${ready} task${ready===1?"":"s"} in 'ready'. Spawns one worker per task (one pass).`,yes:"dispatch"}).then((ok)=>{if(ok)sh("dispatch --json",`Dispatched (${ready} ready)`)})},[dialog,sh,toast]),showLog=import_react79.useCallback((t2)=>{let s=live.current.at,text2=tailLogOf(s,t2.id);if(text2==null)return void toast.show({variant:"info",message:`No worker log for ${t2.id}`});setPane({kind:"log",slug:s,id:t2.id,text:text2})},[toast]),editTitle=import_react79.useCallback((t2)=>openTextPrompt(dialog,{title:"Edit title",label:t2.id,initial:t2.title}).then((v2)=>v2!==null&&v2!==void 0&&patchDirect(t2.id,{title:v2},`Updated ${t2.id}`)),[dialog,patchDirect]),editBody=import_react79.useCallback((t2)=>openTextPrompt(dialog,{title:"Edit body",label:t2.id,initial:t2.body??""}).then((v2)=>{if(v2===null||v2===void 0)return;patchDirect(t2.id,{body:v2},`Updated ${t2.id}`)}),[dialog,patchDirect]),editPriority=import_react79.useCallback((t2)=>{let opts=Array.from({length:10},(_2,i)=>({title:i===0?"P0 (none)":`P${i}`,value:String(i)}));dialog.replace($jsx(DialogSelect,{title:`Priority for ${t2.id}`,options:opts,current:String(t2.priority),filterable:!1,onSelect:(o)=>{dialog.clear(),patchDirect(t2.id,{priority:Number(o.value)},`${t2.id} \u2192 P${o.value}`)}}))},[dialog,patchDirect]),editResult=import_react79.useCallback((t2)=>{if(t2.status!=="done")return void toast.show({variant:"info",message:`${t2.id} is not done`});return openTextPrompt(dialog,{title:"Edit result",label:t2.id,initial:t2.result??""}).then((v2)=>{if(v2==null)return;sh(`edit ${q3(t2.id)} --result ${q3(v2)}`,`Updated ${t2.id} result`)})},[dialog,sh,toast]),editStatus=import_react79.useCallback((t2)=>{let opts=[];if(t2.status!=="done")opts.push({title:"done",value:"complete",description:"mark complete (prompts for result)"});if(t2.status!=="blocked")opts.push({title:"blocked",value:"block",description:"mark blocked (prompts for reason)"});if(t2.status==="blocked")opts.push({title:"ready",value:"unblock",description:"return to ready"});opts.push({title:"archived",value:"archive",description:"archive (terminal)"}),dialog.replace($jsx(DialogSelect,{title:`Status for ${t2.id}`,options:opts,current:t2.status,filterable:!1,onSelect:async(o)=>{if(dialog.clear(),o.value==="complete"){let res=await openTextPrompt(dialog,{title:`Complete ${t2.id}`,label:"Result (optional)",initial:t2.result??""}),flag=res?` --result ${q3(res)}`:"";sh(`complete ${q3(t2.id)}${flag}`,`Completed ${t2.id}`);return}if(o.value==="block"){let r=await openTextPrompt(dialog,{title:`Block ${t2.id}`,label:"Reason (optional, posted as comment)"}),arg=r?` ${q3(r)}`:"";sh(`block ${q3(t2.id)}${arg}`,`Blocked ${t2.id}`);return}if(o.value==="unblock")return void sh(`unblock ${q3(t2.id)}`,`Unblocked ${t2.id}`);if(o.value==="archive")return void archive(t2)}}))},[dialog,sh,archive]),editParents=import_react79.useCallback((t2)=>{let cur2=(pane?.kind==="detail"&&pane.d.id===t2.id?pane.d:detailOf(at,t2.id))?.parents??[],d2=data2.get(at)??new Map,opts=STATUSES.flatMap((s)=>d2.get(s)??[]).filter((x2)=>x2.id!==t2.id).map((x2)=>({title:x2.id,description:trunc4(x2.title,50),value:x2.id,category:cur2.includes(x2.id)?"linked":"available"}));dialog.replace($jsx(DialogSelect,{title:`Parents for ${t2.id}`,options:opts,placeholder:"Select to toggle link\u2026",onSelect:(o)=>{if(dialog.clear(),cur2.includes(o.value))sh(`unlink ${q3(o.value)} ${q3(t2.id)}`,`Unlinked ${o.value}`);else sh(`link ${q3(o.value)} ${q3(t2.id)}`,`Linked ${o.value}`)}}))},[dialog,sh,data2,at,pane]),openField=import_react79.useCallback((f,t2)=>{if(f==="title")return void editTitle(t2);if(f==="body")return void editBody(t2);if(f==="assignee")return assign(t2);if(f==="priority")return editPriority(t2);if(f==="status")return editStatus(t2);if(f==="parents")return editParents(t2);if(f==="result")return void editResult(t2);if(f==="comment")return void comment(t2)},[editTitle,editBody,assign,editPriority,editStatus,editParents,editResult,comment]),bumpPriority=import_react79.useCallback((t2,d2)=>{let next2=Math.max(0,Math.min(9,t2.priority+d2));if(next2===t2.priority)return;patchDirect(t2.id,{priority:next2},`${t2.id} \u2192 P${next2}`)},[patchDirect]),ACTS=import_react79.useMemo(()=>[{key:"n",title:"New task",when:()=>!0,run:()=>void create()},{key:"N",title:"New child",when:(t2)=>!!t2,run:(t2)=>void create(t2)},{key:"a",title:"Assign",when:(t2)=>!!t2,run:(t2)=>void assign(t2)},{key:"c",title:"Comment",when:(t2)=>!!t2,run:(t2)=>void comment(t2)},{key:"s",title:"Specify",when:(t2)=>t2?.status==="triage",run:(t2)=>void specify(t2)},{key:"S",title:"Specify all",when:()=>!0,run:()=>void specifyAll()},{key:"u",title:"Unblock",when:(t2)=>t2?.status==="blocked",run:(t2)=>void unblock(t2)},{key:"d",title:"Archive",when:(t2)=>!!t2,run:(t2)=>void archive(t2)},{key:"l",title:"Worker log",when:(t2)=>!!t2,run:(t2)=>showLog(t2)},{key:"b",title:"New board",when:()=>!0,run:()=>void newBoard()},{key:"D",title:"Dispatch",when:()=>!0,run:()=>void dispatch()}],[create,assign,comment,specify,specifyAll,unblock,archive,showLog,newBoard,dispatch]),isOpen=open2.has(at),paneOpen=pane?.kind==="detail",paneFields=paneOpen?fieldsFor(pane.d):[];useKeyboard((key2)=>{if(!props.focused||dialog.open())return;if(key2.name==="escape"&&pane){if(tier==="pane"){setTier("grid");return}return setPane(null)}if(keys.match("list.refresh",key2))return load3();if(key2.name==="tab"){if(paneOpen&&tier!=="pane"){setTier("pane"),setPaneSel(0);return}if(tier==="pane"){let n=paneFields.length;if(n===0)return;let d2=key2.shift?-1:1;setPaneSel((s)=>(s+d2+n)%n);return}return goBoard(key2.shift?-1:1)}if(tier==="pane"){let t3=live.current.task;if(!t3||!paneOpen)return;let f=paneFields[Math.min(paneSel,paneFields.length-1)];if(key2.name==="up"){if(f==="priority")return bumpPriority(t3,1);let n=paneFields.length;if(n===0)return;return setPaneSel((s)=>(s-1+n)%n)}if(key2.name==="down"){if(f==="priority")return bumpPriority(t3,-1);let n=paneFields.length;if(n===0)return;return setPaneSel((s)=>(s+1)%n)}if(key2.name==="return")return openField(f,t3);let hit2=ACTS.find((a)=>a.key===key2.raw&&a.when(t3));if(hit2)return hit2.run(t3);return}if(key2.name==="space"||key2.name===" "){if(tier==="head")return toggle(at);if(tier==="filter"&&sec3?.chips[chip])return flip(sec3.chips[chip]);return}if(key2.name==="down"){if(tier==="head"){if(isOpen)return setTier("filter");let n2=stepBoard(1);return n2?enterTop(n2):void 0}if(tier==="filter"){if(sec3&&sec3.shown>0){setTier("grid"),setRow(0);return}let n2=stepBoard(1);return n2?enterTop(n2):void 0}if(row<(cur?.tasks.length??1)-1)return setRow((r)=>r+1);let n=stepBoard(1);return n?enterTop(n):void 0}if(key2.name==="up"){if(tier==="head"){let p=stepBoard(-1);return p?enterBottom(p):void 0}if(tier==="filter")return setTier("head");if(row>0)return setRow((r)=>r-1);return setTier("filter")}if(key2.name==="left"){if(tier==="filter")return setChip((c)=>Math.max(0,c-1));if(tier==="grid")return setCol((c)=>{let n=Math.max(0,c-1);return setRow(0),n});return}if(key2.name==="right"){if(tier==="filter")return setChip((c)=>Math.min((sec3?.chips.length??1)-1,c+1));if(tier==="grid")return setCol((c)=>{let n=Math.min(cols2.length-1,c+1);return setRow(0),n});return}if(key2.name==="return"){if(tier==="head")return toggle(at);if(tier==="filter"&&sec3?.chips[chip])return flip(sec3.chips[chip]);if(task)return setPane((p)=>p?.kind==="detail"&&p.d.id===task.id?null:((d2)=>d2?{kind:"detail",slug:at,d:d2}:null)(detailOf(at,task.id)));return}let t2=live.current.task,hit=ACTS.find((a)=>a.key===key2.raw&&a.when(t2));if(hit)return hit.run(t2)});let hint=import_react79.useMemo(()=>{let t2=task;return[tier==="pane"?"Esc grid":"Tab board",tier==="head"?"\u2191\u2193 nav Space fold":tier==="filter"?"\u2190\u2192 chip Space toggle":tier==="pane"?"Tab/\u2191\u2193 field Enter edit Esc grid":"\u2190\u2192\u2191\u2193 nav Enter detail",...ACTS.filter((a)=>a.when(t2)).map((a)=>`${a.key} ${a.title.toLowerCase()}`),`${keys.print("list.refresh")} reload`].join(" ")},[ACTS,keys,task,tier]),onHead=import_react79.useCallback((s)=>{setAt(s),setTier("head"),toggle(s)},[toggle]),onChip=import_react79.useCallback((s,i,c)=>{setAt(s),setTier("filter"),setChip(i),flip(c)},[flip]),onPick=import_react79.useCallback((s,ci,ri,id)=>{setAt(s),setTier("grid"),setCol(ci),setRow(ri),setOpen((o)=>o.has(s)?o:new Set(o).add(s));let d2=detailOf(s,id);if(d2)setPane({kind:"detail",slug:s,d:d2})},[]);return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsx(TabShell,{title:`Kanban \xB7 ${sections.length} board${sections.length===1?"":"s"} \xB7 ${grand} task${grand===1?"":"s"}${running2?` \xB7 ${running2} running`:""}`,children:$jsx("scrollbox",{ref:outer,scrollY:!0,flexGrow:1,verticalScrollbarOptions:NOBAR,children:$jsx("box",{flexDirection:"column",width:"100%",children:sections.map((s)=>{let on=s.board.slug===at,secOpen=open2.has(s.board.slug),m2=maskOf(s.board.slug),filt=m2.who.size+m2.pri.size+m2.status.size,dg=diags.get(s.board.slug)??EMPTY_DIAG;return $jsxs("box",{id:`kb-sec-${s.board.slug}`,flexDirection:"column",flexShrink:0,marginBottom:1,children:[$jsx("box",{height:1,onMouseDown:()=>onHead(s.board.slug),backgroundColor:on&&tier==="head"?theme.backgroundElement:void 0,children:$jsxs("text",{children:[$jsx("span",{fg:on?theme.accent:theme.textMuted,children:secOpen?"\u25BE ":"\u25B8 "}),$jsx("span",{fg:on?theme.primary:theme.text,children:$jsx("strong",{children:s.board.name})}),$jsx("span",{fg:theme.textMuted,children:s.total===0?" \xB7 empty":` \xB7 ${filt?`${s.shown}/`:""}${s.total} task${s.total===1?"":"s"}${s.running?` \xB7 ${s.running} running`:""}`})]})}),secOpen?s.total===0?$jsx("box",{height:1,marginLeft:2,children:$jsxs("text",{fg:theme.textMuted,children:["no tasks \u2014 ",$jsx("span",{fg:theme.accent,children:"n"})," to create one here"]})}):$jsxs($Fragment,{children:[$jsx(FilterBar,{chips:s.chips,mask:m2,on:on&&tier==="filter",sel:on?Math.min(chip,s.chips.length-1):-1,onPick:(i)=>onChip(s.board.slug,i,s.chips[i])}),s.cols.length>0?$jsx("box",{flexDirection:"row",height:s.cap,gap:1,children:s.cols.map((c,ci)=>$jsx(Column,{slug:s.board.slug,status:c.status,tasks:c.tasks,diags:dg,on:on&&(tier==="grid"||tier==="pane")&&ci===clampCol,sel:on?row:0,onPick:(ri)=>onPick(s.board.slug,ci,ri,c.tasks[ri].id)},c.status))}):$jsx("box",{height:1,marginLeft:2,children:$jsx("text",{fg:theme.textMuted,children:"all columns hidden"})})]}):null]},s.board.slug)})})})}),pane?$jsx(SidePane,{pane,on:tier==="pane",sel:paneSel,diags:pane.kind==="detail"?diags.get(pane.slug)?.get(pane.d.id)??EMPTY_DIAGS:EMPTY_DIAGS}):null]}),$jsx(HintBar,{raw:hint})]})});var Automation=import_react81.memo((props)=>{let keys=useKeys(),labels=SUB_TABS[AUTOMATION_TAB];import_react81.useEffect(()=>{if(props.sub>=labels.length)props.setSub(0)},[props.sub,labels.length]);let hint=`${keys.print("tab.prev")}/${keys.print("tab.next")} group \xB7 shift+\u2190/\u2192 sub`;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(SubTabBar,{tabs:labels,active:props.sub,onChange:props.setSub,hint}),$jsxs("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:[$jsx(Pane2,{visible:props.sub===0,children:$jsx(Kanban,{focused:!!props.focused&&props.sub===0})}),$jsx(Pane2,{visible:props.sub===1,children:$jsx(Agents,{focused:!!props.focused&&props.sub===1,sessionId:props.sessionId,onSwitchProfile:props.onSwitchProfile})}),$jsx(Pane2,{visible:props.sub===2,children:$jsx(Cron,{focused:!!props.focused&&props.sub===2})})]})]})}),Pane2=({visible,children:children2})=>visible?$jsx("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:children2}):null;var import_react93=__toESM(require_react_production(),1);var import_react83=__toESM(require_react_production(),1);init_lane();var int=(lo,hi,what=`${lo}\u2013${hi}`)=>(raw)=>{let n=Number(raw);if(!Number.isInteger(n))return`expected integer ${what}`;if(n<lo||n>hi)return`expected ${what}`;return null},float=(lo,hi)=>(raw)=>{let n=Number(raw);if(!Number.isFinite(n))return`expected number ${lo}\u2013${hi}`;if(n<lo||n>hi)return`expected ${lo}\u2013${hi}`;return null},oneOf=(...opts)=>(raw)=>opts.includes(raw)?null:`expected one of: ${opts.join(" | ")}`,nonNeg=(raw)=>{let n=Number(raw);return Number.isFinite(n)&&n>=0?null:"expected \u2265 0"},RULES={"compression.threshold":float(0.1,0.95),"compression.target_ratio":float(0.05,0.9),"prompt_caching.cache_ttl":(raw)=>/^\d+[smhd]$/.test(raw.trim())?null:"expected duration e.g. 5m, 1h","prompt_caching.long_lived_ttl":(raw)=>/^\d+[smhd]$/.test(raw.trim())?null:"expected duration e.g. 5m, 1h","agent.max_turns":int(1,1e4),"delegation.max_iterations":int(1,1e4),"delegation.max_concurrent_children":int(1,64),"delegation.max_spawn_depth":int(1,3),"agent.gateway_timeout":nonNeg,"agent.gateway_timeout_warning":nonNeg,"agent.gateway_notify_interval":nonNeg,"agent.restart_drain_timeout":nonNeg,"delegation.child_timeout_seconds":int(30,86400),"browser.command_timeout":int(1,600),"approvals.timeout":int(1,3600),"security.tirith_timeout":int(1,120),"agent.api_max_retries":int(0,20),"tool_output.max_bytes":int(1024,1e7),"tool_output.max_lines":int(10,1e5),"sessions.retention_days":int(1,3650),"sessions.min_interval_hours":int(1,720),"agent.service_tier":oneOf("","fast","standard"),"display.busy_input_mode":oneOf("queue","steer","interrupt"),"display.details_mode":oneOf("hidden","collapsed","expanded"),"display.thinking_mode":oneOf("collapsed","truncated","full"),"display.tool_progress":oneOf("off","new","all","verbose"),"display.final_response_markdown":oneOf("render","strip","raw"),"logging.level":oneOf("DEBUG","INFO","WARNING","ERROR"),"approvals.mode":oneOf("manual","ask","yolo","deny"),"code_execution.mode":oneOf("project","strict")},check=(key2,raw)=>RULES[key2]?.(raw)??null;init_schema();init_lane();var SELECTS={"terminal.backend":["local","docker","ssh","modal","daytona","singularity","vercel_sandbox"],"tts.provider":["edge","elevenlabs","openai","neutts","xai","mistral"],"display.skin":[...SKINS],"logging.level":["DEBUG","INFO","WARNING","ERROR"],"agent.reasoning_effort":["","none","minimal","low","medium","high","xhigh"],"display.busy_input_mode":["queue","steer","interrupt"],"display.details_mode":["hidden","collapsed","expanded"],"display.thinking_mode":["collapsed","truncated","full"],"display.tool_progress":["off","new","all","verbose"],"approvals.mode":["manual","ask","yolo","deny"]},get3=(obj,path7)=>{let cur=obj;for(let p of path7.split("."))if(cur&&typeof cur==="object"&&!Array.isArray(cur))cur=cur[p];else return;return cur},classify2=(key2,t2)=>{if(route(key2).via==="readonly")return"readonly";if(SELECTS[key2])return"select";if(t2==="bool")return"boolean";if(t2==="int"||t2==="float")return"number";return"string"},labelOf=(key2)=>{let raw=SCHEMA[key2]?.group??key2.split(".")[0];return key2.startsWith(`${raw}.`)?key2.slice(raw.length+1):key2},buildFields=(user)=>{let seen=new Set,out=[];for(let key2 of SCHEMA_KEYS){let s=SCHEMA[key2],uv=get3(user,key2),set2=uv!==void 0;out.push({key:key2,label:labelOf(key2),type:classify2(key2,s.type),value:set2?uv:s.default,set:set2,doc:s.doc,effect:s.effect,options:SELECTS[key2]}),seen.add(key2)}let walk=(obj,prefix="")=>{for(let[k2,v2]of Object.entries(obj)){let key2=prefix?`${prefix}.${k2}`:k2;if(v2&&typeof v2==="object"&&!Array.isArray(v2)){if(SCHEMA[key2]?.type==="dict"){seen.add(key2);continue}walk(v2,key2);continue}if(seen.has(key2))continue;out.push({key:key2,label:labelOf(key2),type:Array.isArray(v2)?"readonly":typeof v2==="boolean"?"boolean":typeof v2==="number"?"number":"string",value:v2,set:!0,doc:"",effect:"live"})}};return walk(user),out},MERGE={approvals:"security",privacy:"security",checkpoints:"agent",context:"agent",cron:"agent",network:"agent",model_catalog:"general",onboarding:"general",human_delay:"display",dashboard:"display",tool_output:"agent",prompt_caching:"compression",code_execution:"terminal",slack:"platforms",telegram:"platforms",mattermost:"platforms",discord:"platforms",whatsapp:"platforms",matrix:"platforms"},rawGroupOf=(key2)=>SCHEMA[key2]?.group??(key2.includes(".")?key2.split(".")[0]:"general"),groupOf=(key2)=>{let raw=rawGroupOf(key2);return MERGE[raw]??raw},sections=(group,fields)=>{let by=new Map;for(let f of fields){let r=rawGroupOf(f.key);if(!by.has(r))by.set(r,[]);by.get(r).push(f)}if(by.size<=1)return[{head:null,items:fields}];return[...by.keys()].sort((a,b2)=>a===group?-1:b2===group?1:a.localeCompare(b2)).map((r)=>({head:r,items:by.get(r)}))},GROUPS=(()=>{let g=new Set(["general"]);for(let k2 of SCHEMA_KEYS)g.add(groupOf(k2));return[...g]})(),EFFECT_GLYPH={live:"",session:"\u21BB",restart:"\u27F3"};init_lane();var AUX_TASKS=[{key:"vision",label:"Vision",hint:"Image analysis"},{key:"web_extract",label:"Web Extract",hint:"Page summarization"},{key:"compression",label:"Compression",hint:"Context compaction"},{key:"session_search",label:"Session Search",hint:"Recall queries"},{key:"skills_hub",label:"Skills Hub",hint:"Skill search"},{key:"approval",label:"Approval",hint:"Smart auto-approve"},{key:"mcp",label:"MCP",hint:"MCP tool routing"},{key:"title_generation",label:"Title Gen",hint:"Session titles"},{key:"curator",label:"Curator",hint:"Skill-usage review"}],dig=(o,...path7)=>path7.reduce((c,p)=>c&&typeof c==="object"?c[p]:void 0,o),str2=(v2)=>typeof v2==="string"?v2:"",readSlots=(raw)=>{let main2={kind:"main",key:"main",label:"Main model",hint:"Primary agent model",provider:str2(dig(raw,"model","provider")),model:str2(dig(raw,"model","default"))||str2(dig(raw,"model","name")),auto:!1},aux=AUX_TASKS.map((t2)=>{let p=str2(dig(raw,"auxiliary",t2.key,"provider"));return{kind:"aux",key:t2.key,label:t2.label,hint:t2.hint,provider:p,model:str2(dig(raw,"auxiliary",t2.key,"model")),auto:p===""||p==="auto"}});return[main2,...aux]},assign=async(gw,slot,provider,model)=>{if(slot==="main"){let r=await gw.request("config.set",{key:"model",value:`${model} --provider ${provider} --global`,session_id:void 0});return{ok:["model.default","model.provider"],failed:[],warnings:[],warning:r.warning}}return writeConfig(gw,[{key:`auxiliary.${slot}.provider`,to:provider},{key:`auxiliary.${slot}.model`,to:model}])},resetAux=(gw,slot)=>{let keys=slot==="all"?AUX_TASKS.map((t2)=>t2.key):[slot];return writeConfig(gw,keys.flatMap((k2)=>[{key:`auxiliary.${k2}.provider`,to:"auto"},{key:`auxiliary.${k2}.model`,to:""}]))};var import_react82=__toESM(require_react_production(),1);var ModelPickerDialog=(props)=>{let dialog=useDialog(),toast=useToast(),theme=useTheme().theme,[data2,setData]=import_react82.useState(null),[step,setStep]=import_react82.useState("provider"),[provider,setProvider]=import_react82.useState(null),[global2,setGlobal]=import_react82.useState(!1);import_react82.useEffect(()=>{props.gw.request("model.options").then(setData).catch(()=>setData({providers:[]}))},[props.gw]);let apply=import_react82.useCallback((model,prov)=>{if(props.onApply)return void props.onApply(prov,model).catch((e)=>toast.show({variant:"error",message:e.message}));let value=`${model} --provider ${prov}${global2?" --global":""}`;props.gw.request("config.set",global2?{key:"model",value,session_id:void 0}:{key:"model",value}).then((r)=>{if(toast.show({variant:"success",message:`model \u2192 ${r.value??model}${global2?" (global)":""}`}),r.warning)toast.show({variant:"warning",message:r.warning})}).catch((e)=>toast.show({variant:"error",message:e.message}))},[props.gw,props.onApply,global2,toast]),onKey=import_react82.useCallback((k2)=>{if(k2.name==="tab"&&!props.onApply)return setGlobal((g)=>!g),!0;if(k2.name==="left"&&step==="model")return setStep("provider"),!0;return!1},[step,props.onApply]),footer=props.onApply?$jsx("text",{fg:theme.textMuted,children:step==="model"?"\u2190: providers":" "}):$jsxs("text",{fg:theme.textMuted,children:[$jsx("span",{children:"Scope: "}),$jsx("span",{fg:global2?theme.warning:theme.accent,children:global2?"global (persists to config)":"this session"}),$jsxs("span",{children:[" \xB7 Tab: toggle",step==="model"?" \xB7 \u2190: providers":""]})]});if(!data2)return $jsx("box",{width:50,padding:1,children:$jsx("text",{children:"Loading models\u2026"})});if(step==="provider"){let options2=(data2.providers??[]).map((p2)=>({title:p2.name,value:p2.slug,description:p2.total_models?`${p2.total_models} models`:void 0,category:p2.is_current?"Current":"Available"}));return $jsx(DialogSelect,{title:props.title??"Switch Provider",options:options2,current:data2.provider,onSelect:(o)=>{setProvider(o.value),setStep("model")},onKey,placeholder:"Search providers...",footer})}let p=data2.providers?.find((pp)=>pp.slug===provider),options=(p?.models??[]).map((m2)=>({title:m2,value:m2}));return $jsx(DialogSelect,{title:props.title?`${props.title} \xB7 ${p?.name??provider}`:`Switch Model (${p?.name??provider})`,options,current:data2.model,onSelect:(o)=>{if(provider)apply(o.value,provider);dialog.clear()},onKey,placeholder:"Search models...",footer})},openModelPicker=(dialog,gw,opts)=>{dialog.replace($jsx(ModelPickerDialog,{gw,title:opts?.title,onApply:opts?.onApply}))};var flatten=(obj,prefix="")=>Object.entries(obj).flatMap(([k2,v2])=>{let key2=prefix?`${prefix}.${k2}`:k2;if(v2&&typeof v2==="object"&&!Array.isArray(v2))return flatten(v2,key2);return[[key2,v2]]}),setNested=(obj,path7,val)=>{let parts2=path7.split("."),cur=obj;for(let i=0;i<parts2.length-1;i++){if(!cur[parts2[i]]||typeof cur[parts2[i]]!=="object")cur[parts2[i]]={};cur=cur[parts2[i]]}cur[parts2[parts2.length-1]]=val},getNested=(obj,path7)=>{let parts2=path7.split("."),cur=obj;for(let p of parts2)if(cur&&typeof cur==="object"&&!Array.isArray(cur))cur=cur[p];else return;return cur},FieldRow=import_react83.memo((props)=>{let theme=useTheme().theme,f=props.field,bg2=props.active?theme.backgroundElement:void 0,indicator=props.active?"\u25B8 ":" ",mark2=props.changed?"\u25CF ":f.set?"\xB7":" ",markFg=props.changed?theme.warning:theme.textMuted,display=()=>{if(props.editing)return props.buf+"\u2588";if(f.type==="readonly"){let n=Array.isArray(f.value)?f.value.length:f.value&&typeof f.value==="object"?Object.keys(f.value).length:0;return n===0?"\u2014":`${n} item${n===1?"":"s"}`}if(f.type==="boolean")return f.value?"\u2713 ON":"\u2717 OFF";return String(f.value??"")},hint=()=>{if(props.readonly||f.type==="readonly")return"\uD83D\uDD12";if(f.type==="boolean")return"[space]";if(f.type==="select")return"[h/l]";return"[enter]"},ro=props.readonly||f.type==="readonly",valFg=ro||!f.set?theme.textMuted:f.type==="boolean"?f.value?theme.success:theme.error:theme.text,labelFg=ro?theme.textMuted:props.active?theme.accent:theme.text,lead=4+(props.badge!==void 0?12:0),glyph=props.active?EFFECT_GLYPH[f.effect]:"";return $jsxs("box",{id:props.id,flexDirection:"column",backgroundColor:bg2,children:[$jsxs("box",{flexDirection:"row",height:1,children:[$jsx(Col,{w:2,fg:markFg,children:mark2}),$jsx(Col,{w:2,fg:props.active?theme.primary:theme.text,children:indicator}),props.badge!==void 0?$jsx(Col,{w:12,fg:theme.textMuted,children:props.badge}):null,$jsx(Col,{w:40,fg:labelFg,children:f.label}),$jsx(Col,{grow:!0,min:6,fg:valFg,children:display()}),$jsx(Col,{w:2,fg:theme.textMuted,children:glyph}),$jsx(Col,{w:9,fg:theme.textMuted,right:!0,children:props.active?hint():""})]}),props.error?$jsxs("box",{flexDirection:"row",height:1,children:[$jsx(Col,{w:lead+40,fg:theme.textMuted,children:""}),$jsx(Col,{grow:!0,min:6,fg:theme.error,children:`\u2717 ${props.error}`})]}):props.active&&f.doc?$jsxs("box",{flexDirection:"row",minHeight:1,children:[$jsx("box",{width:lead,flexShrink:0}),$jsx("box",{width:40,flexShrink:0,minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:f.doc})})]}):null]})}),SlotRow=import_react83.memo((p)=>{let theme=useTheme().theme,main2=p.s.kind==="main",val=main2?`${p.s.provider||"(unset)"} \xB7 ${p.s.model||"(unset)"}`:p.s.auto?"auto (use main model)":`${p.s.provider} \xB7 ${p.s.model||"(provider default)"}`;return $jsxs("box",{id:p.id,flexDirection:"row",height:1,backgroundColor:p.on?theme.backgroundElement:void 0,children:[$jsx(Col,{w:2,fg:p.on?theme.primary:theme.text,children:p.on?"\u25B8 ":" "}),$jsx(Col,{w:2,fg:main2?theme.primary:theme.textMuted,children:main2?"\u2605":" "}),$jsx(Col,{w:16,fg:p.on?theme.accent:theme.text,children:p.s.label}),$jsx(Col,{w:22,fg:theme.textMuted,children:p.s.hint}),$jsx(Col,{grow:!0,min:10,fg:p.s.auto?theme.textMuted:theme.text,children:val}),$jsx(Col,{w:14,fg:theme.textMuted,right:!0,children:p.on?main2?"[enter]":"[enter] [x]":""})]})}),Config=import_react83.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),toast=useToast(),dialog=useDialog(),[raw,setRaw]=import_react83.useState({}),[original,setOriginal]=import_react83.useState({}),[yaml,setYaml]=import_react83.useState(""),[mode,setMode]=import_react83.useState("form"),[cat,setCat]=import_react83.useState(0),[cursor,setCursor]=import_react83.useState(0),[editing,setEditing]=import_react83.useState(!1),[buf,setBuf]=import_react83.useState(""),[err,setErr]=import_react83.useState({}),[searching,setSearching]=import_react83.useState(!1),[query,setQuery]=import_react83.useState(""),[focus,setFocus]=import_react83.useState("categories"),[managed,setManaged]=import_react83.useState(null);import_react83.useEffect(()=>{managedSystem().then(setManaged)},[]);let load3=import_react83.useCallback(()=>{gw.request("config.get",{key:"full"}).then((res)=>{let parsed=res.config??{};setRaw(structuredClone(parsed)),setOriginal(structuredClone(parsed)),setYaml($stringify(parsed)),setErr({})}).catch(()=>{setRaw({}),setOriginal({}),setYaml("")})},[gw]);import_react83.useEffect(()=>{load3()},[load3]);let all=buildFields(raw),grouped=all.reduce((map,f)=>{let g=groupOf(f.key);if(!map.has(g))map.set(g,[]);return map.get(g).push(f),map},new Map(GROUPS.map((g)=>[g,[]]))),groups=[...grouped.keys()];groups.splice(1,0,"models");let active=groups[cat]??groups[0],onSlots=active==="models"&&!searching,slots=readSlots(raw),secs=searching&&query.trim()?[{head:null,items:all.filter((f)=>f.key.toLowerCase().includes(query.toLowerCase()))}]:sections(active,grouped.get(active)??[]),fields=secs.flatMap((s)=>s.items),count3=onSlots?slots.length:fields.length,follow=useFollow("cfg"),catFollow=useFollow("cfg-cat"),changed=(key2)=>JSON.stringify(getNested(raw,key2))!==JSON.stringify(getNested(original,key2)),nChanged=all.reduce((n,f)=>n+(changed(f.key)?1:0),0),update=(key2,val)=>{let next2=structuredClone(raw);setNested(next2,key2,val),setRaw(next2),setYaml($stringify(next2))},fmt3=(v2)=>v2===void 0?"\u2014":Array.isArray(v2)?v2.join(", "):String(v2),save2=async()=>{if(managed){toast.show({variant:"error",message:`Managed by ${managed} \u2014 edit configuration.nix`});return}let nErr=Object.keys(err).length;if(nErr>0){toast.show({variant:"error",message:`${nErr} invalid field${nErr===1?"":"s"}`});return}let target=mode==="yaml"?$parse(yaml)??{}:raw,diffs=flatten(target).filter(([key2])=>JSON.stringify(getNested(target,key2))!==JSON.stringify(getNested(original,key2))).map(([key2,val])=>({key:key2,from:getNested(original,key2),to:val}));if(diffs.length===0){toast.show({variant:"info",message:"No changes"});return}let body=diffs.map((d2)=>`${d2.key}: ${fmt3(d2.from)} \u2192 ${fmt3(d2.to)}`).join(`
4122
4122
  `);if(!await openConfirm(dialog,{title:`Write ${diffs.length} change${diffs.length===1?"":"s"} to config.yaml?`,body,yes:"save"}))return;let res=await writeConfig(gw,diffs.map((d2)=>({key:d2.key,to:d2.to})));for(let w2 of res.warnings)toast.show({variant:"info",message:`${w2.key}: ${w2.msg}`});if(load3(),res.failed.length>0){toast.show({variant:"error",message:`${res.failed.length} failed: ${res.failed.map((f)=>f.key).join(", ")}`});return}let landed=diffs.filter((d2)=>res.ok.includes(d2.key)),miss=await verifyWrite(gw,landed.map((d2)=>({key:d2.key,to:d2.to})));if(miss.length>0){toast.show({variant:"error",message:`Write didn't land: ${miss.join(", ")}`});return}let tier=maxEffect(res.ok);if(tier==="restart"){if(await openConfirm(dialog,{title:`Saved \u2014 ${res.ok.length} setting${res.ok.length===1?"":"s"} need a gateway restart`,body:"Restart now? This interrupts any running turn.",yes:"restart now",no:"later",danger:!0}))gw.start(),toast.show({variant:"info",message:"Gateway restarting\u2026"});return}toast.show({variant:"success",message:tier==="live"?"Saved":"Saved \u2014 new sessions pick this up"})},pick=import_react83.useCallback((s)=>{if(managed)return toast.show({variant:"error",message:`Managed by ${managed}`});openModelPicker(dialog,gw,{title:s.kind==="main"?"Set main model":`Set auxiliary \xB7 ${s.label}`,onApply:async(prov,model)=>{let r=await assign(gw,s.key,prov,model);if(r.failed.length)return toast.show({variant:"error",message:r.failed.map((f)=>f.err).join("; ")});if(toast.show({variant:"success",message:s.kind==="main"?`main \u2192 ${prov} \xB7 ${model}`:`${s.key} \u2192 ${prov} \xB7 ${model}`}),r.warning)toast.show({variant:"warning",message:r.warning});load3()}})},[gw,dialog,toast,load3,managed]),unset=import_react83.useCallback((s)=>{if(managed||s.kind!=="aux"||s.auto)return;resetAux(gw,s.key).then((r)=>{if(r.failed.length)return toast.show({variant:"error",message:r.failed.map((f)=>f.err).join("; ")});toast.show({variant:"success",message:`${s.key} \u2192 auto`}),load3()})},[gw,toast,load3,managed]),unsetAll=import_react83.useCallback(()=>openConfirm(dialog,{title:"Reset all auxiliary slots to auto?",body:`${AUX_TASKS.length} slots. Each falls back to the main model.`,yes:"reset",danger:!0}).then((ok)=>{if(!ok)return;resetAux(gw,"all").then((r)=>{if(r.failed.length)return toast.show({variant:"error",message:`${r.failed.length} failed`});toast.show({variant:"success",message:"All auxiliary slots \u2192 auto"}),load3()})}),[gw,dialog,toast,load3]),keys=useKeys();if(useKeyboard((key2)=>{if(!props.focused||dialog.open())return;if(keys.match("config.mode",key2)&&!editing&&!searching){setMode((m2)=>m2==="form"?"yaml":"form");return}if(keys.match("config.save",key2))return void save2();if(mode==="yaml"){if(key2.name==="backspace"){setYaml((prev)=>prev.slice(0,-1));return}if(key2.name==="return"){setYaml((prev)=>prev+`
4123
- `);return}if(key2.raw&&key2.raw.length===1&&key2.raw>=" "){setYaml((prev)=>prev+key2.raw);return}return}if(searching){if(key2.name==="escape"){setSearching(!1),setQuery(""),setCursor(0);return}if(key2.name==="backspace"){setQuery((prev)=>prev.slice(0,-1)),setCursor(0);return}if(key2.name==="up"){setCursor((c)=>Math.max(0,c-1));return}if(key2.name==="down"){setCursor((c)=>Math.min(count3-1,c+1));return}if(key2.raw&&key2.raw.length===1&&key2.raw>=" "){setQuery((prev)=>prev+key2.raw),setCursor(0);return}return}if(editing){let f2=fields[cursor];if(key2.name==="escape"){if(setEditing(!1),setBuf(""),f2)setErr((e)=>{let{[f2.key]:_2,...rest}=e;return rest});return}if(key2.name==="return"){if(f2){let msg=check(f2.key,buf);if(msg){setErr((e)=>({...e,[f2.key]:msg}));return}setErr((e)=>{let{[f2.key]:_2,...rest}=e;return rest});let val=f2.type==="number"?Number(buf)||0:buf;update(f2.key,val)}setEditing(!1),setBuf("");return}if(key2.name==="backspace"){setBuf((prev)=>prev.slice(0,-1));return}if(key2.raw&&key2.raw.length===1){setBuf((prev)=>prev+key2.raw);return}return}if(key2.name==="tab"){setFocus((f2)=>f2==="categories"?"fields":"categories");return}if(keys.match("list.search",key2)){setSearching(!0),setQuery(""),setCursor(0);return}if(focus==="categories"){if(key2.name==="up"){setCat((c)=>{let n=Math.max(0,c-1);return catFollow.opts.scrollTo(n),n}),setCursor(0);return}if(key2.name==="down"){setCat((c)=>{let n=Math.min(groups.length-1,c+1);return catFollow.opts.scrollTo(n),n}),setCursor(0);return}if(key2.name==="return"){setFocus("fields");return}return}if(onSlots){let s=slots[cursor];if(handleListKey(keys,key2,{count:count3,setSel:setCursor,...follow.opts,onActivate:s?()=>pick(s):void 0,onRefresh:()=>{load3(),toast.show({variant:"info",message:"Reloaded",duration:1000})}})||!s)return;if(key2.raw==="x")return unset(s);if(key2.raw==="X")return void unsetAll();return}let f=fields[cursor],writable=!managed;if(handleListKey(keys,key2,{count:count3,setSel:setCursor,...follow.opts,onRefresh:()=>{load3(),toast.show({variant:"info",message:"Reloaded",duration:1000})},onToggle:writable&&f?.type==="boolean"?()=>update(f.key,!f.value):void 0,onActivate:f&&writable&&(f.type==="string"||f.type==="number")?()=>{setEditing(!0),setBuf(String(f.value??""))}:void 0})||!f||!writable)return;if(f.type==="select"&&f.options){let idx=f.options.indexOf(String(f.value));if(key2.raw==="l"||key2.raw==="]"){update(f.key,f.options[(idx+1)%f.options.length]);return}if(key2.raw==="h"||key2.raw==="["){update(f.key,f.options[(idx-1+f.options.length)%f.options.length]);return}}}),mode==="yaml")return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(TabShell,{title:"Config \xB7 YAML",children:$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("text",{wrapMode:"word",children:[$jsx("span",{fg:theme.text,children:yaml}),$jsx("span",{fg:theme.accent,children:"\u2588"})]})})}),$jsx(HintBar,{pairs:[[keys.print("config.mode"),"form"],[keys.print("config.save"),"save"]]})]});return $jsxs("box",{flexDirection:"column",flexGrow:1,children:[searching?$jsx("box",{height:1,paddingLeft:1,paddingRight:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"\u2503 "}),$jsx("span",{fg:theme.text,children:query}),$jsx("span",{fg:theme.accent,children:"\u2588"}),$jsx("span",{fg:theme.textMuted,children:` ${count3} of ${all.length} \xB7 \u2191\u2193 nav \xB7 Esc close`})]})}):null,$jsxs("box",{flexDirection:"row",flexGrow:1,children:[searching?null:$jsx(TabShell,{title:"Config",grow:1,focus:focus==="categories",children:$jsx("scrollbox",{ref:catFollow.ref,scrollY:!0,flexGrow:1,children:groups.map((c,i)=>{let sel=i===cat,hot=sel&&focus==="categories",items=grouped.get(c)??[],n=c==="models"?slots.length:items.length,catDirty=items.some((f)=>changed(f.key));return $jsx("box",{id:catFollow.id(i),backgroundColor:hot?theme.backgroundElement:void 0,onMouseDown:()=>{setCat(i),setCursor(0),setFocus("categories")},children:$jsxs("text",{children:[$jsx("span",{fg:catDirty?theme.warning:theme.textMuted,children:catDirty?"\u25CF":" "}),$jsxs("span",{fg:hot?theme.accent:sel?theme.primary:theme.text,children:[sel?"\u25B8 ":" ",c]}),$jsx("span",{fg:theme.textMuted,children:` (${n})`})]})},c)})})}),$jsxs(TabShell,{title:onSlots?"models \xB7 applies immediately":searching?"Search":nChanged>0?`${active} \xB7 ${nChanged} unsaved`:active,grow:3,focus:focus==="fields"||searching,children:[managed?$jsxs("box",{height:1,flexDirection:"row",gap:1,children:[$jsx("text",{fg:theme.warning,children:"\uD83D\uDD12 managed install \u2014 edit"}),$jsx(FileLink,{source:makeSource("config.yaml"),children:"config.yaml"}),$jsx("text",{fg:theme.warning,children:"via configuration.nix"})]}):null,onSlots?$jsxs("box",{flexDirection:"column",flexGrow:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Auxiliary tasks handle side-jobs. 'auto' = use main model. Per-task api_key/base_url/timeout live in the 'auxiliary' category."})}),$jsx("box",{height:1}),$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:slots.map((s,i)=>$jsx(SlotRow,{id:follow.id(i),s,on:i===cursor&&focus==="fields"},s.key))})]},"slots"):$jsxs($Fragment2,{children:[$jsxs(Hdr,{children:[$jsx(Col,{w:4,fg:theme.textMuted,children:""}),searching?$jsx(Col,{w:12,fg:theme.textMuted,bold:!0,children:"Category"}):null,$jsx(Col,{w:40,fg:theme.textMuted,bold:!0,children:"Field"}),$jsx(Col,{grow:!0,min:6,fg:theme.textMuted,bold:!0,children:"Value"}),$jsx(Col,{w:2,fg:theme.textMuted,children:""}),$jsx(Col,{w:9,fg:theme.textMuted,children:""})]}),$jsx("box",{height:1}),count3===0?$jsx("box",{flexGrow:1,padding:2,children:$jsx("text",{fg:theme.textMuted,children:searching?"No matching fields":"No fields in this category"})},"empty"):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:secs.reduce((acc2,s)=>{if(s.head!==null)acc2.out.push($jsx("box",{height:1,marginTop:acc2.base>0?1:0,children:$jsxs("text",{fg:theme.textMuted,children:["\u2500 ",s.head," "]})},`\xA7${s.head}`));return s.items.forEach((f,j2)=>{let i=acc2.base+j2;acc2.out.push($jsx(FieldRow,{id:follow.id(i),field:f,active:i===cursor&&(focus==="fields"||searching),changed:changed(f.key),editing:editing&&i===cursor,buf,readonly:!!managed,error:err[f.key],badge:searching?groupOf(f.key):void 0},f.key))}),acc2.base+=s.items.length,acc2},{base:0,out:[]}).out},"list")]})]})]}),managed?$jsx(HintBar,{raw:`read-only \xB7 managed by ${managed}`}):onSlots?$jsx(HintBar,{pairs:[["\u2191\u2193","nav"],["Enter","pick"],["x","reset"],["X","reset-all"],["Tab","categories"]]}):focus==="categories"&&!searching?$jsx(HintBar,{pairs:[["\u2191\u2193","select"],["Tab","fields"]]}):$jsx(HintBar,{pairs:[[keys.print("config.mode"),"yaml"],["Tab","categories"],["\u2191\u2193","nav"],[keys.print("list.search"),"search"],[keys.print("config.save"),"save"]],suffix:nChanged>0?`\u25CF ${nChanged} unsaved`:void 0})]})});var import_react87=__toESM(require_react_production(),1);var import_react85=__toESM(require_react_production(),1);var iso2=(s)=>{if(!s)return null;let t2=Date.parse(s);return Number.isFinite(t2)?Math.floor(t2/1000):null},parseList=(stdout)=>stdout.split(`
4124
- `).map((s)=>s.trim()).filter((s)=>s.length>0&&!s.startsWith("(")),CuratorDialog=()=>{let{theme,syntaxStyle}=useTheme(),gw=useGateway(),toast=useToast(),dialog=useDialog(),state2=useHome("curatorState"),cfg=useHome("config")?.curator,[report2,setReport]=import_react85.useState(null),[loaded,setLoaded]=import_react85.useState(!1),[busy,setBusy]=import_react85.useState(null),[archived,setArchived]=import_react85.useState([]),[mode,setMode]=import_react85.useState("report"),[sel,setSel]=import_react85.useState(0),sb=import_react85.useRef(null);import_react85.useEffect(()=>{readLatestCuratorReport().then((r)=>{setReport(r),setLoaded(!0)}).catch(()=>setLoaded(!0))},[]);let refreshArchived=import_react85.useCallback(()=>{gw.request("shell.exec",{command:"hermes curator list-archived"}).then((r)=>{if(r.code===0)setArchived(parseList(r.stdout))}).catch(()=>{})},[gw]);import_react85.useEffect(()=>{refreshArchived()},[refreshArchived]);let sh=import_react85.useCallback((verb,ok)=>{if(busy)return;setBusy(verb),gw.request("shell.exec",{command:`hermes curator ${verb}`}).then((r)=>{if(r.code!==0)throw Error((r.stderr||r.stdout||`exit ${r.code}`).trim());toast.show({variant:"success",message:ok}),home2.invalidate("curatorState")}).catch((e)=>toast.show({variant:"error",message:trunc4(e.message,120)})).finally(()=>setBusy(null))},[gw,toast,busy]),restore=import_react85.useCallback((name)=>{if(busy)return;setBusy("restore"),gw.request("shell.exec",{command:`hermes curator restore ${name}`}).then((r)=>{if(r.code!==0)throw Error((r.stderr||r.stdout||`exit ${r.code}`).trim());toast.show({variant:"success",message:`Restored ${name}`}),setArchived((prev)=>prev.filter((n)=>n!==name)),setSel((s)=>Math.max(0,s-1))}).catch((e)=>toast.show({variant:"error",message:trunc4(e.message,120)})).finally(()=>setBusy(null))},[gw,toast,busy]);useKeyboard((key2)=>{if(mode==="archived"){if(key2.name==="escape"){setMode("report");return}if(key2.raw==="a"){setMode("report");return}if(key2.name==="up")return setSel((s)=>Math.max(0,s-1));if(key2.name==="down")return setSel((s)=>Math.min(archived.length-1,s+1));if(key2.name==="return"){let name=archived[sel];if(name)restore(name);return}return}if(key2.name==="escape")return dialog.clear();if(key2.raw==="r")return sh("run","Curator run started (background)");if(key2.raw==="p")return state2?.paused?sh("resume","Curator resumed"):sh("pause","Curator paused");if(key2.raw==="a"&&archived.length>0)setSel(0),setMode("archived")}),import_react85.useEffect(()=>{if(mode==="archived")sb.current?.scrollChildIntoView(`arch-${sel}`)},[sel,mode]);let last3=iso2(state2?.last_run_at??null),due=last3&&cfg?last3+cfg.interval_hours*3600:null,status=cfg?.enabled===!1?"disabled":state2?.paused?"paused":"enabled",tint=status==="enabled"?theme.success:status==="paused"?theme.warning:theme.textMuted;return $jsxs("box",{flexDirection:"column",width:120,height:34,children:[$jsxs("box",{height:1,flexDirection:"row",children:[$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:"Skill Curator"})}),$jsx("span",{fg:tint,children:` \xB7 ${status}`})]}),busy?$jsx("box",{marginLeft:2,children:$jsx(Spinner,{color:theme.textMuted,label:busy})}):null]}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:state2?`${state2.run_count} run${state2.run_count===1?"":"s"}${last3?" \xB7 last "+ago(last3):" \xB7 never"} \xB7 Esc to close`:"No curator state yet \xB7 Esc to close"})}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"row",flexGrow:1,gap:2,children:[$jsxs("box",{flexDirection:"column",width:40,height:"100%",flexShrink:0,children:[$jsx(KVBlock,{rows:[["Next run",status!=="enabled"?`\u2014 (${status})`:due?until(due):"when idle"],["Last run",last3?ago(last3):"never"],["Duration",state2?.last_run_duration_seconds?dur2(state2.last_run_duration_seconds):void 0],["Archived",archived.length>0?String(archived.length):void 0]]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Config \xB7 edit in Config tab"})}),$jsx(KVBlock,{rows:[["Interval",cfg?`${cfg.interval_hours}h`:"\u2014"],["Stale after",cfg?`${cfg.stale_after_days}d`:"\u2014"],["Archive after",cfg?`${cfg.archive_after_days}d`:"\u2014"]]}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"r "}),$jsx("span",{fg:theme.text,children:"run now"}),$jsx("span",{fg:theme.textMuted,children:" (background)"})]})}),$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"p "}),$jsx("span",{fg:theme.text,children:state2?.paused?"resume":"pause"})]})}),archived.length>0?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"a "}),$jsx("span",{fg:theme.text,children:"archived skills"}),$jsx("span",{fg:theme.textMuted,children:` (${archived.length})`})]})}):null]}),state2?.last_run_summary?$jsxs($Fragment2,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Last run"})}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("markdown",{content:state2.last_run_summary,fg:theme.markdownText,syntaxStyle})})]}):null]}),mode==="archived"?$jsxs("box",{flexDirection:"column",flexGrow:1,height:"100%",minWidth:0,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:`\u25BE Archived skills (${archived.length})`})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2191\u2193 select \xB7 Enter restore \xB7 a/Esc back to report"})}),$jsx("box",{height:1}),$jsx("scrollbox",{ref:sb,scrollY:!0,flexGrow:1,border:!0,borderColor:theme.border,paddingLeft:1,paddingRight:1,contentOptions:{flexDirection:"column"},children:archived.length===0?$jsx("text",{fg:theme.textMuted,children:"No archived skills."}):archived.map((name,i)=>$jsx("box",{id:`arch-${i}`,height:1,backgroundColor:i===sel?theme.backgroundElement:void 0,onMouseMove:()=>setSel(i),onMouseDown:()=>restore(name),children:$jsxs("text",{fg:i===sel?theme.text:theme.textMuted,children:[i===sel?"\u25B8 ":" ",name]})},name))})]}):!loaded?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"loading report\u2026"})}):report2?$jsxs("box",{flexDirection:"column",flexGrow:1,height:"100%",minWidth:0,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:`\u25BE Report \xB7 ${report2.runId}`})})}),$jsx(KVLink,{label:"File",source:report2.source,text:report2.source.relative}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,border:!0,borderColor:theme.border,paddingLeft:1,paddingRight:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:$jsx("markdown",{content:report2.content||"(empty)",fg:theme.markdownText,syntaxStyle})})})]}):$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No runs yet \u2014 curator has not completed a cycle."})})]})]})},openCurator=(dialog)=>dialog.replace($jsx(CuratorDialog,{}),void 0,{ownCancel:!0});var NO_EVENTS=[],iso3=(s)=>{if(!s)return null;let t2=Date.parse(s);return Number.isFinite(t2)?Math.floor(t2/1000):null},SkillRow=import_react87.memo((props)=>{let theme=useTheme().theme,s=props.skill,u3=props.usage,bg2=props.selected?theme.backgroundElement:void 0,used=iso3(u3?.last_used_at)??iso3(u3?.last_viewed_at),stale=u3?.state==="stale",archived=u3?.state==="archived";return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:bg2,onMouseDown:props.onSelect,onMouseMove:props.onHover,children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "}),$jsx(Col,{w:2,fg:theme.warning,children:u3?.pinned?"\uD83D\uDCCC":" "}),$jsx(Marquee,{grow:!0,min:8,active:props.selected,fg:archived?theme.textMuted:props.selected?theme.accent:theme.text,children:s.name}),archived?$jsx(Col,{w:10,fg:theme.textMuted,children:"archived"}):stale?$jsx(Col,{w:10,fg:theme.warning,children:"stale"}):$jsx(Col,{w:10,fg:theme.textMuted,children:used?ago(used):""})]})}),HitRow=import_react87.memo((props)=>{let theme=useTheme().theme,on=props.selected;return $jsxs("box",{flexDirection:"row",height:1,backgroundColor:on?theme.backgroundElement:void 0,onMouseMove:props.onHover,children:[$jsx(Col,{w:2,fg:on?theme.primary:theme.textMuted,children:on?"\u25B8 ":" "}),$jsx(Col,{w:28,fg:on?theme.accent:theme.text,children:props.hit.name}),$jsx(Col,{grow:!0,min:8,fg:theme.textMuted,children:props.hit.description||"\u2014"})]})}),line2=(e)=>{switch(e.kind){case"absorbed":return`absorbed ${e.sources.map((s)=>`\`${s}\``).join(", ")}`;case"merged":return`merged into \`${e.into}\`${e.reason?` \u2014 ${e.reason}`:""}`;case"transition":return`${e.from} \u2192 ${e.to}`;case"pruned":return`pruned${e.reason?` \u2014 ${e.reason}`:""}`;case"added":return"created by curator"}},DetailPanel2=import_react87.memo((props)=>{let theme=useTheme().theme,s=props.skill,u3=props.usage,used=iso3(u3?.last_used_at),viewed=iso3(u3?.last_viewed_at),patched=iso3(u3?.last_patched_at);return $jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:theme.border,backgroundColor:theme.backgroundPanel,width:"50%",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:"Skill Detail"})}),u3?.pinned?$jsx("span",{fg:theme.warning,children:" \uD83D\uDCCC pinned"}):null,u3?.state==="stale"?$jsx("span",{fg:theme.warning,children:" \xB7 stale"}):null,u3?.state==="archived"?$jsx("span",{fg:theme.textMuted,children:" \xB7 archived"}):null]})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.accent,children:$jsx("strong",{children:s.name})})}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Category",s.category||"uncategorized",theme.info],["Tags",s.tags.length>0?s.tags.join(", "):void 0],u3?["Used",u3.use_count>0?`${u3.use_count}\xD7 \xB7 last ${used?ago(used):"never"}`:"never"]:null,u3&&viewed?["Viewed",`${u3.view_count}\xD7 \xB7 last ${ago(viewed)}`]:null,u3&&patched?["Patched",`${u3.patch_count}\xD7 \xB7 last ${ago(patched)}`]:null].filter(Boolean)}),$jsx(KVLink,{label:"File",source:s.source,text:s.source.relative}),$jsx("box",{height:1}),s.description?$jsx("text",{wrapMode:"word",children:$jsx("span",{fg:theme.text,children:s.description})}):$jsx("text",{fg:theme.textMuted,children:"No description"}),props.events.length>0?$jsxs("box",{flexDirection:"column",marginTop:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Curator lineage"})}),props.events.map((e,i)=>$jsxs("box",{flexDirection:"row",minHeight:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:ago(e.at)})}),$jsx("box",{flexGrow:1,minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.text,children:line2(e)})})]},i))]}):u3?$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:"No curator events for this skill"})}):null]})}),EmptyState=import_react87.memo((props)=>{let theme=useTheme().theme;return $jsx("box",{flexGrow:1,padding:2,children:$jsx("text",{children:$jsx("span",{fg:theme.textMuted,children:props.searching?"No matching skills on hub":"No skills found in ~/.hermes/skills/"})})})}),HistoryPanel=import_react87.memo((props)=>{let{theme,syntaxStyle}=useTheme(),keys=useKeys(),follow=useFollow("skills-history"),[runs,setRuns]=import_react87.useState(()=>listCuratorRuns()),[sel,setSel]=import_react87.useState(0),[open2,setOpen]=import_react87.useState(!1),[body,setBody]=import_react87.useState(""),run=runs[sel];import_react87.useEffect(()=>{if(!open2||!run)return;let live=!0;return readCuratorReport(run.id).then((t2)=>{if(live)setBody(t2)}),()=>{live=!1}},[open2,run?.id]);let moveSel=import_react87.useCallback((v2)=>{setOpen(!1),setSel(v2)},[]);return useKeyboard((key2)=>{if(!props.focused)return;handleListKey(keys,key2,{count:runs.length,setSel:moveSel,...follow.opts,onActivate:()=>setOpen((o)=>!o),onRefresh:()=>setRuns(listCuratorRuns())})}),$jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:props.focused?theme.primary:theme.border,backgroundColor:theme.backgroundPanel,width:"50%",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:"Curator History"})}),$jsx("span",{fg:theme.textMuted,children:` ${runs.length} run${runs.length===1?"":"s"}${runs[0]?` \xB7 last ${ago(runs[0].at)}`:""}`})]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`\u2191\u2193 select \xB7 Enter expand \xB7 ${keys.print("list.refresh")} reload \xB7 h close`})}),$jsx("box",{height:1}),runs.length===0?$jsx("text",{fg:theme.textMuted,children:"no runs in ~/.hermes/logs/curator/"}):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:runs.map((r,i)=>{let on=i===sel;return $jsxs("box",{id:follow.id(i),flexDirection:"column",children:[$jsxs("box",{height:1,flexDirection:"row",backgroundColor:on?theme.backgroundElement:void 0,onMouseDown:()=>{setSel(i),setOpen((o)=>i===sel?!o:!0)},children:[$jsx(Col,{w:2,fg:on?theme.primary:theme.textMuted,children:on?"\u25B8 ":" "}),$jsx(Col,{w:12,fg:on?theme.accent:theme.text,children:ago(r.at)}),$jsx(Col,{grow:!0,fg:theme.textMuted,children:`${r.before}\u2192${r.after} arch ${r.archived} cons ${r.consolidated}${r.added?` +${r.added}`:""}`})]}),on&&open2?$jsx("box",{marginLeft:2,marginTop:1,marginBottom:1,children:$jsx("markdown",{content:body||"\u2026",fg:theme.markdownText,syntaxStyle})}):null]},r.id)})})})]})}),Skills=import_react87.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),usage=useHome("skillUsage")??{},curator=useHome("curatorState"),lineage2=import_react87.useRef(indexCuratorLineage());import_react87.useEffect(()=>{lineage2.current=indexCuratorLineage()},[curator?.run_count]);let[skills,setSkills]=import_react87.useState([]),[selected,setSelected]=import_react87.useState(0),[searching,setSearching]=import_react87.useState(!1),[query,setQuery]=import_react87.useState(""),[hits,setHits]=import_react87.useState([]),[sort,setSort]=import_react87.useState("name"),[history,setHistory]=import_react87.useState(!1),seq=import_react87.useRef(0),load3=import_react87.useCallback(()=>{gw.request("skills.manage",{action:"list"}).then((res)=>{let raw=res.skills??{},rows3=Object.entries(raw).flatMap(([cat,names])=>names.map((n)=>{let source=makeSource(`skills/${cat}/${n}/SKILL.md`,`${n}/SKILL.md`),fm=readSkillFrontmatter(source);return{source,category:cat,name:n,description:fm.description,tags:fm.tags,tokenEstimate:count2(`${n} ${fm.description}`)}}));rows3.sort((a,b2)=>a.source.relative.localeCompare(b2.source.relative)),setSkills(rows3)}).catch(()=>{})},[gw]);import_react87.useEffect(()=>{load3()},[load3]),import_react87.useEffect(()=>{let id=++seq.current;if(!searching||!query.trim()){setHits([]);return}let t2=setTimeout(()=>{gw.request("skills.manage",{action:"search",query}).then((r)=>{if(seq.current!==id)return;setHits(r.results??[]),setSelected(0)}).catch(()=>{if(seq.current===id)setHits([])})},150);return()=>clearTimeout(t2)},[gw,query,searching]);let flat=[...sort==="used"?new Map([["by recency",[...skills].sort((a,b2)=>{let ta=iso3(usage[a.name]?.last_used_at)??iso3(usage[a.name]?.last_viewed_at)??0;return(iso3(usage[b2.name]?.last_used_at)??iso3(usage[b2.name]?.last_viewed_at)??0)-ta})]]):Map.groupBy(skills,(s)=>s.category||"uncategorized")].flatMap(([cat,items])=>[{type:"header",category:cat},...items.map((s)=>({type:"skill",skill:s}))]),skillRows=flat.filter((r)=>r.type==="skill"),count3=searching?hits.length:skillRows.length,current=!searching&&skillRows[selected]?.type==="skill"?skillRows[selected].skill:null,follow=useFollow("sk"),exit=import_react87.useCallback(()=>{setSearching(!1),setQuery(""),setHits([]),setSelected(0)},[]),install=import_react87.useCallback(async(name)=>{if(!await openConfirm(dialog,{title:"Install skill?",body:name,yes:"install"}))return;gw.request("skills.manage",{action:"install",query:name}).then(()=>{toast.show({variant:"success",message:`Installed ${name}`}),exit(),load3()}).catch((e)=>toast.show({variant:"error",message:`Install failed: ${e.message}`}))},[dialog,gw,toast,exit,load3]),keys=useKeys();useKeyboard((key2)=>{if(!props.focused||dialog.open())return;if(searching){if(key2.name==="escape"){exit();return}if(key2.name==="backspace"){setQuery((p)=>p.slice(0,-1)),setSelected(0);return}if(key2.name==="up")return setSelected((p)=>Math.max(0,p-1));if(key2.name==="down")return setSelected((p)=>Math.min(count3-1,p+1));if(key2.name==="return"){let hit=hits[selected];if(hit)install(hit.name);return}if(key2.raw&&key2.raw.length===1&&key2.raw>=" ")setQuery((p)=>p+key2.raw),setSelected(0);return}if(!key2.ctrl&&!key2.meta&&key2.raw==="s"){setSort((p)=>p==="name"?"used":"name"),setSelected(0);return}if(!key2.ctrl&&!key2.meta&&key2.raw==="c"){openCurator(dialog);return}if(!key2.ctrl&&!key2.meta&&key2.raw==="h"){setHistory((h2)=>!h2);return}if(history){if(key2.name==="escape")return setHistory(!1);return}handleListKey(keys,key2,{count:count3,setSel:setSelected,...follow.opts,onRefresh:()=>{load3(),toast.show({variant:"info",message:"Reloaded",duration:1000})},onSearch:()=>{setSearching(!0),setQuery(""),setHits([]),setSelected(0)}})});let skillIdx=-1;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsxs(TabShell,{title:searching?`Hub Search (${hits.length})`:`Skills (${skills.length}${sort==="used"?" \xB7 by use":""})`,children:[searching?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"/ "}),$jsx("span",{fg:theme.text,children:query}),$jsx("span",{fg:theme.accent,children:"\u2588"})]})}):null,searching?null:$jsxs(Hdr,{children:[$jsx(Col,{w:2,fg:theme.textMuted,children:""}),$jsx(Col,{grow:!0,min:8,fg:theme.textMuted,bold:!0,children:"Name"})]}),searching?null:$jsx("box",{height:1}),count3===0?$jsx(EmptyState,{searching}):searching?$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:hits.map((h2,i)=>$jsx(HitRow,{hit:h2,selected:i===selected,onHover:()=>setSelected(i)},h2.name))})}):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:flat.map((row,i)=>{if(row.type==="header")return $jsx("box",{marginTop:i>0?1:0,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:`\u25BE ${row.category}`})})},`h-${row.category}`);skillIdx++;let idx=skillIdx;return $jsx(SkillRow,{id:follow.id(idx),skill:row.skill,usage:usage[row.skill.name],selected:idx===selected,onSelect:()=>setSelected(idx),onHover:()=>setSelected(idx)},row.skill.name)})}),!searching&&curator?$jsx("box",{height:1,flexShrink:0,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"curator \xB7 "}),curator.paused?$jsx("span",{fg:theme.warning,children:"paused"}):curator.last_run_at?$jsx("span",{fg:theme.textMuted,children:`${curator.run_count} run${curator.run_count===1?"":"s"} \xB7 last ${ago(iso3(curator.last_run_at)??0)}`}):$jsx("span",{fg:theme.textMuted,children:"never run"})]})}):null]}),history?$jsx(HistoryPanel,{focused:!!props.focused&&!searching}):current?$jsx(DetailPanel2,{skill:current,usage:usage[current.name],events:lineage2.current.get(current.name)??NO_EVENTS}):null]}),$jsx(HintBar,{pairs:searching?[["\u2191\u2193","navigate"],["Enter","install"],["Esc","cancel"]]:[["\u2191\u2193","navigate"],[keys.print("list.search"),"search hub"],["s","sort"],["c","curator"],["h","history"],[keys.print("list.refresh"),"refresh"]]})]})});var import_react89=__toESM(require_react_production(),1);var kindOf=(ts)=>ts.name.includes(":")?"mcp":ts.name.startsWith("hermes-")?"platform":"core",KIND_LABEL={core:"core",platform:"platform bundles",mcp:"mcp"},group=(list)=>{let by={core:[],platform:[],mcp:[]};for(let ts of list)by[kindOf(ts)].push(ts);return["core","platform","mcp"].filter((k2)=>by[k2].length>0).map((k2)=>({kind:k2,items:by[k2]}))},Row2=import_react89.memo((props)=>{let theme=useTheme().theme,ts=props.ts,bg2=props.selected?theme.backgroundElement:void 0,unavail=ts.available===!1,glyph=unavail?"\u25CC":ts.enabled?"\u25CF":"\u25CB",glyphFg=unavail?theme.warning:ts.enabled?theme.success:theme.textMuted;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:bg2,onMouseDown:props.onSelect,onMouseMove:props.onHover,children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "}),$jsx(Col,{w:2,fg:glyphFg,children:`${glyph} `}),$jsx(Col,{grow:!0,fg:props.selected?theme.accent:theme.text,children:ts.name}),$jsx(Col,{w:9,fg:theme.info,right:!0,children:`${ts.tool_count} tools`})]})}),DetailPanel3=import_react89.memo((props)=>{let theme=useTheme().theme,ts=props.ts,unavail=ts.available===!1;return $jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:theme.border,backgroundColor:theme.backgroundPanel,width:"40%",children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.accent,children:$jsx("strong",{children:ts.name})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:KIND_LABEL[kindOf(ts)]})}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Status",unavail?"unavailable":ts.enabled?"enabled":"disabled",unavail?theme.warning:ts.enabled?theme.success:theme.textMuted],["Tools",String(ts.tool_count),theme.info],["Includes",ts.includes?.length?ts.includes.join(", "):void 0,theme.text],["Requires",ts.requirements?.length?ts.requirements.join(", "):void 0,unavail?theme.warning:theme.text]]}),$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.text,children:ts.description||"\u2014"})}),ts.tools?.length?$jsxs($Fragment2,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:["Tools (",ts.tools.length,"):"]})}),$jsx("scrollbox",{flexGrow:1,scrollY:!0,children:ts.tools.map((n)=>$jsxs("text",{fg:theme.text,children:["\xB7 ",n]},n))})]}):null]})}),Toolsets=import_react89.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),[list,setList]=import_react89.useState([]),[sel,setSel]=import_react89.useState(0),[err,setErr]=import_react89.useState(null),secs=group(list),flat=secs.flatMap((s)=>s.items),live=import_react89.useRef({flat,sel});live.current={flat,sel};let load3=import_react89.useCallback(()=>{gw.request("toolsets.list",{}).then((r)=>{setList(r.toolsets??[]),setErr(null)}).catch((e)=>setErr(e instanceof Error?e.message:String(e)))},[gw]);import_react89.useEffect(()=>{load3()},[load3]);let toggle=import_react89.useCallback(()=>{let ts2=live.current.flat[live.current.sel];if(!ts2)return;if(ts2.available===!1){toast.show({variant:"warning",message:`${ts2.name} is unavailable`});return}let action=ts2.enabled?"disable":"enable",was=ts2.enabled;setList((prev)=>prev.map((t2)=>t2.name===ts2.name?{...t2,enabled:!t2.enabled}:t2)),gw.request("tools.configure",{action,names:[ts2.name]}).then((r)=>{if(r.unknown?.includes(ts2.name)){setList((prev)=>prev.map((t2)=>t2.name===ts2.name?{...t2,enabled:was}:t2)),toast.show({variant:"warning",message:`${ts2.name} is not configurable`});return}if(r.missing_servers?.length&&ts2.name.includes(":")){let server=ts2.name.split(":",1)[0];if(r.missing_servers.includes(server)){setList((prev)=>prev.map((t2)=>t2.name===ts2.name?{...t2,enabled:was}:t2)),toast.show({variant:"warning",message:`MCP server '${server}' not in config`});return}}if(Array.isArray(r.enabled_toolsets)){let on=new Set(r.enabled_toolsets);setList((prev)=>prev.map((t2)=>({...t2,enabled:on.has(t2.name)})))}else load3()}).catch((e)=>{setList((prev)=>prev.map((t2)=>t2.name===ts2.name?{...t2,enabled:was}:t2)),toast.show({variant:"error",message:e.message})})},[gw,toast,load3]),count3=flat.length,ts=flat[sel]??null,follow=useFollow("ts"),keys=useListKeys({active:()=>!!props.focused&&!dialog.open(),count:count3,setSel,...follow.opts,onToggle:toggle,onRefresh:()=>{load3(),toast.show({variant:"info",message:"Reloaded",duration:1000})}});return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsxs(TabShell,{title:`Toolsets (${count3})`,error:err,children:[$jsxs(Hdr,{children:[$jsx(Col,{w:4,fg:theme.textMuted,children:""}),$jsx(Col,{grow:!0,fg:theme.textMuted,bold:!0,children:"Name"}),$jsx(Col,{w:9,fg:theme.textMuted,bold:!0,right:!0,children:"Tools"})]}),$jsx("box",{height:1}),count3===0?$jsx("box",{flexGrow:1,padding:2,children:$jsx("text",{fg:theme.textMuted,children:"No toolsets found"})},"empty"):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:secs.reduce((acc2,s)=>{return acc2.out.push($jsx("box",{height:1,marginTop:acc2.base>0?1:0,children:$jsxs("text",{fg:theme.textMuted,children:["\u2500 ",KIND_LABEL[s.kind]," (",s.items.length,") "]})},`\xA7${s.kind}`)),s.items.forEach((t2,j2)=>{let i=acc2.base+j2;acc2.out.push($jsx(Row2,{id:follow.id(i),ts:t2,selected:i===sel,onSelect:()=>setSel(i),onHover:()=>setSel(i)},t2.name))}),acc2.base+=s.items.length,acc2},{base:0,out:[]}).out},"list")]}),ts?$jsx(DetailPanel3,{ts}):null]}),$jsx(HintBar,{pairs:[["\u2191\u2193","nav"],[keys.print("list.toggle"),"toggle"],[keys.print("list.refresh"),"refresh"]]})]})});var import_react90=__toESM(require_react_production(),1);var mask=(val)=>"\u2022".repeat(Math.min(val.length,12)),VarRow=import_react90.memo((props)=>{let theme=useTheme().theme,set2=props.value!==void 0,bg2=props.selected?theme.backgroundElement:void 0;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:bg2,onMouseDown:props.onClick,onMouseMove:props.onHover,children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "}),$jsx(Col,{w:28,fg:props.selected?theme.accent:theme.text,children:props.name}),$jsx(Col,{w:8,fg:set2?theme.success:theme.textMuted,children:set2?" SET ":"UNSET"}),$jsx(Col,{grow:!0,min:4,fg:props.shown?theme.text:theme.textMuted,children:set2?props.shown?props.value:mask(props.value):"\u2014"})]})}),Env=import_react90.memo((props)=>{let theme=useTheme().theme,dialog=useDialog(),toast=useToast(),vars=useHome("env")??{},[sel,setSel]=import_react90.useState(0),[reveal,setReveal]=import_react90.useState(new Set),[collapsed,setCollapsed]=import_react90.useState({}),[searching,setSearching]=import_react90.useState(!1),[query,setQuery]=import_react90.useState(""),known=new Set(ENV_CATALOG.flatMap((g)=>g.keys)),extra=Object.keys(vars).filter((k2)=>!known.has(k2)).sort(),rows3=(extra.length>0?[...ENV_CATALOG,{category:"Other",keys:extra}]:ENV_CATALOG).flatMap((g)=>{let keys2=searching&&query.trim()?g.keys.filter((k2)=>k2.toLowerCase().includes(query.toLowerCase())):g.keys;if(keys2.length===0)return[];let hide=collapsed[g.category]??!1,header={type:"header",category:g.category,collapsed:hide};if(hide)return[header];return[header,...keys2.map((key2)=>({type:"var",key:key2,value:vars[key2]}))]}),count3=rows3.length,cur=rows3[sel],setKeys=rows3.flatMap((r)=>r.type==="var"&&r.value!==void 0?[r.key]:[]),follow=useFollow("env"),edit=import_react90.useCallback(async(key2,initial)=>{let val=await openTextPrompt(dialog,{title:`Edit ${key2}`,label:"Value",initial});if(val==null)return;await writeEnvVar(key2,val),home2.invalidate("env"),toast.show({variant:"success",message:`${key2} saved`})},[dialog,toast]),add=import_react90.useCallback(async()=>{let key2=await openTextPrompt(dialog,{title:"New Variable",label:"Name (e.g. FOO_API_KEY)"});if(!key2)return;let val=await openTextPrompt(dialog,{title:`Set ${key2}`,label:"Value"});if(val==null)return;await writeEnvVar(key2,val),home2.invalidate("env"),toast.show({variant:"success",message:`${key2} added`})},[dialog,toast]),del=import_react90.useCallback(async(key2)=>{if(!await openConfirm(dialog,{title:"Delete Variable",body:`Remove ${key2} from .env?`,yes:"delete",danger:!0}))return;await removeEnvVar(key2),home2.invalidate("env"),toast.show({variant:"success",message:`${key2} removed`})},[dialog,toast]),revealAll=import_react90.useCallback(()=>setReveal((s)=>s.size===setKeys.length&&setKeys.length>0?new Set:new Set(setKeys)),[setKeys]),activateAt=import_react90.useCallback((i)=>{let r=rows3[i];if(r?.type==="header")return setCollapsed((p)=>({...p,[r.category]:!p[r.category]}));if(r?.type==="var"){if(r.value!==void 0&&!reveal.has(r.key))return setReveal((s)=>new Set(s).add(r.key));return void edit(r.key,r.value??"")}},[rows3,reveal,edit]),activate=import_react90.useCallback(()=>activateAt(sel),[activateAt,sel]),rowClick=import_react90.useCallback((i)=>{setSel(i),activateAt(i)},[activateAt]),keys=useKeys();return useKeyboard((key2)=>{if(!props.focused||dialog.open())return;if(searching){if(key2.name==="escape"){setSearching(!1),setQuery(""),setSel(0);return}if(key2.name==="backspace"){setQuery((q4)=>q4.slice(0,-1)),setSel(0);return}if(key2.name==="up")return setSel((p)=>Math.max(0,p-1));if(key2.name==="down")return setSel((p)=>Math.min(count3-1,p+1));if(key2.name==="return")return setSearching(!1),activate();if(key2.raw&&key2.raw.length===1&&key2.raw>=" "){setQuery((q4)=>q4+key2.raw),setSel(0);return}return}handleListKey(keys,key2,{count:count3,setSel,...follow.opts,onActivate:activate,onToggle:revealAll,onNew:add,onDelete:()=>{if(cur?.type==="var"&&cur.value!==void 0)del(cur.key)},onSearch:()=>{setSearching(!0),setQuery(""),setSel(0)},onRefresh:()=>{home2.invalidate("env"),toast.show({variant:"info",message:"Reloaded",duration:1000})}})}),$jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs(TabShell,{title:searching?"Env (searching)":"Env / API Keys",children:[searching?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"/ "}),$jsx("span",{fg:theme.text,children:query}),$jsx("span",{fg:theme.accent,children:"\u2588"})]})}):null,$jsxs(Hdr,{children:[$jsx(Col,{w:2,fg:theme.textMuted,children:""}),$jsx(Col,{w:28,fg:theme.textMuted,bold:!0,children:"Name"}),$jsx(Col,{w:8,fg:theme.textMuted,bold:!0,children:"Status"}),$jsx(Col,{grow:!0,min:4,fg:theme.textMuted,bold:!0,children:"Value"})]}),$jsx("box",{height:1}),count3===0?$jsx("box",{flexGrow:1,padding:2,children:$jsx("text",{fg:theme.textMuted,children:searching?"No matching variables":"No variables configured"})},"empty"):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:$jsx("box",{flexDirection:"column",width:"100%",children:rows3.map((row,i)=>row.type==="header"?$jsx("box",{id:follow.id(i),marginTop:i>0?1:0,backgroundColor:i===sel?theme.backgroundElement:void 0,onMouseMove:()=>setSel(i),onMouseDown:()=>rowClick(i),children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:`${row.collapsed?"\u25B8":"\u25BE"} ${row.category}`})})},`h-${row.category}`):$jsx(VarRow,{id:follow.id(i),name:row.key,value:row.value,shown:reveal.has(row.key),selected:i===sel,onHover:()=>setSel(i),onClick:()=>rowClick(i)},row.key))})},"list")]}),$jsx(HintBar,{pairs:searching?[["\u2191\u2193","move"],["Enter","reveal/edit"],["Esc","cancel"]]:[["\u2191\u2193","move"],[keys.print("list.activate"),"reveal/edit"],[keys.print("list.toggle"),"show-all"],[keys.print("list.new"),"new"],[keys.print("list.delete"),"delete"],[keys.print("list.search"),"search"],[keys.print("list.refresh"),"reload"]]})]})});var import_react92=__toESM(require_react_production(),1);function usageColor(pct,theme){if(pct>=95)return theme.error;if(pct>=80)return theme.warning;return theme.success}function bar2(pct,w2){let filled=Math.round(pct/100*w2);return"\u2588".repeat(filled)+"\u2591".repeat(w2-filled)}var DESC={builtin:"File-based \xA7-delimited entries (MEMORY.md + USER.md). Always active.",mem0:"Server-side LLM fact extraction with semantic search and reranking.",honcho:"AI-native cross-session user modeling with dialectic Q&A.",hindsight:"Knowledge graph with entity resolution and multi-strategy retrieval.",holographic:"Local SQLite fact store with FTS5, trust scoring, HRR retrieval.",openviking:"Session-managed memory with tiered retrieval.",retaindb:"Cloud memory API with hybrid search and 7 memory types.",byterover:"Persistent knowledge tree via brv CLI.",supermemory:"Semantic long-term memory with profile recall and session ingest."},Memory=import_react92.memo((props)=>{let theme=useTheme().theme,dialog=useDialog(),toast=useToast(),gw=useGateway(),[sel,setSel]=import_react92.useState(0),config=useHome("config"),memory=useHome("memory"),userProfile=useHome("userProfile"),providers=useHome("memoryProviders")??[],activity=useHome("memoryActivity")??[],cfg=config?.memory,active=cfg?.provider||"",cur=providers[sel],on=!!cur&&(cur.name==="builtin"||cur.name===active),toggle=async()=>{if(!cur||cur.name==="builtin")return;let isOn=cur.name===active;if(!await openConfirm(dialog,{title:isOn?"Deactivate memory provider?":"Activate memory provider?",body:isOn?`Clear '${cur.name}' as the active provider (revert to built-in only).`:`Set '${cur.name}' as the active provider. Ensure required env vars are set (Env tab).`,yes:isOn?"deactivate":"activate"}))return;let{writeConfig:writeConfig2}=await Promise.resolve().then(() => (init_lane(),exports_lane)),r=await writeConfig2(gw,[{key:"memory.provider",to:isOn?"":cur.name}]);if(r.failed.length)return toast.show({variant:"error",message:r.failed[0].err});home2.invalidate("config"),home2.invalidate("memoryProviders"),toast.show({variant:"success",message:isOn?"Deactivated":`Activated ${cur.name} \u2014 new sessions pick this up`})},keys=useListKeys({active:()=>!!props.focused&&!dialog.open(),count:providers.length,setSel,onToggle:toggle,onRefresh:()=>{home2.invalidate("memoryProviders"),home2.invalidate("memoryActivity"),toast.show({variant:"info",message:"Reloaded",duration:1000})}}),feed=!cur?[]:cur.name==="builtin"?activity:activity.filter((a)=>a.provider===cur.name);return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsx(TabShell,{title:"Memory Providers",grow:1,children:$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:providers.map((p,i)=>{let pOn=p.name==="builtin"||p.name===active,has=Object.keys(p.config).length>0,dot=pOn?"\u25CF":has?"\u25D0":"\u25CB",fg2=pOn?theme.success:has?theme.warning:theme.textMuted,tag=pOn?"active":has?"configured":"";return $jsxs("box",{flexDirection:"column",marginBottom:1,backgroundColor:i===sel?theme.backgroundElement:void 0,onMouseDown:()=>setSel(i),onMouseMove:()=>setSel(i),children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsxs("span",{fg:fg2,children:[dot," "]}),$jsx("span",{fg:i===sel?theme.accent:theme.text,children:p.name}),tag?$jsxs("span",{fg:fg2,children:[" (",tag,")"]}):null]})}),$jsx("box",{height:1,overflow:"hidden",paddingLeft:2,children:$jsx("text",{fg:theme.textMuted,children:DESC[p.name]||"\u2014"})})]},p.name)})})}),$jsx(TabShell,{title:cur?.name??"Provider",grow:2,children:cur?$jsx(ProviderDetail,{provider:cur,active,cfg,memory,userProfile,feed}):$jsx("text",{fg:theme.textMuted,children:"Select a provider"})})]}),$jsx(HintBar,{pairs:[["\u2191\u2193","select"],[keys.print("list.toggle"),"activate"]],suffix:on?"\u25CF active":"\u25CB inactive"})]})}),ProviderDetail=import_react92.memo((props)=>{let theme=useTheme().theme,p=props.provider,on=p.name==="builtin"||p.name===props.active;return $jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",children:[$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:DESC[p.name]||"Memory provider"})}),$jsx("box",{height:1}),p.name==="builtin"?$jsxs("box",{flexDirection:"column",children:[props.cfg?$jsxs($Fragment2,{children:[$jsx(KVBlock,{rows:[["Notes",props.cfg.memory_enabled?"enabled":"disabled",props.cfg.memory_enabled?theme.success:theme.error],["Profile",props.cfg.user_profile_enabled?"enabled":"disabled",props.cfg.user_profile_enabled?theme.success:theme.error]]}),$jsx("box",{height:1})]}):null,$jsx(CapacityBar,{title:"Notes (MEMORY.md)",info:props.memory??null}),$jsx("box",{height:1}),$jsx(CapacityBar,{title:"Profile (USER.md)",info:props.userProfile??null})]}):null,p.name!=="builtin"&&on&&props.cfg?$jsxs($Fragment2,{children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.accent,children:$jsx("strong",{children:"Agent Settings"})})}),$jsx(KVBlock,{rows:[["Nudge",`every ${props.cfg.nudge_interval} turns`],["Flush",`after ${props.cfg.flush_min_turns} turns`]]}),$jsx("box",{height:1})]}):null,Object.keys(p.config).length>0?$jsxs($Fragment2,{children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.accent,children:$jsx("strong",{children:"Local Configuration"})})}),$jsx(KVBlock,{rows:Object.entries(p.config).map(([k2,v2])=>[k2,String(v2)])})]}):p.name!=="builtin"?$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:"No local config found. Run `hermes memory setup` to configure."})}):null,$jsx(ActivityFeed,{items:props.feed,own:p.name})]})})}),OP_GLYPH={write:"+",read:"?"},ActivityFeed=import_react92.memo((props)=>{let theme=useTheme().theme,all=props.own==="builtin",nW=props.items.filter((a)=>a.op==="write").length;return $jsxs("box",{flexDirection:"column",marginTop:1,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:"Recent Activity"})}),props.items.length?$jsxs("span",{fg:theme.textMuted,children:[" \xB7 ",nW," writes, ",props.items.length-nW," reads"]}):null]})}),props.items.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No memory-tool calls in the last ~2000 messages"})}):null,props.items.map((a,i)=>$jsx("box",{height:1,flexDirection:"row",overflow:"hidden",children:$jsxs("text",{children:[$jsxs("span",{fg:a.op==="write"?theme.success:theme.textMuted,children:[OP_GLYPH[a.op]," "]}),$jsx("span",{fg:theme.textMuted,children:ago(a.ts).padEnd(8)}),all&&a.provider!=="builtin"?$jsxs("span",{fg:theme.primary,children:[a.provider,"\xB7"]}):null,$jsx("span",{fg:theme.text,children:a.verb}),$jsxs("span",{fg:theme.textMuted,children:[" ",a.summary]})]})},i))]})}),CapacityBar=import_react92.memo((props)=>{let theme=useTheme().theme;if(!props.info)return $jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:[props.title,": unavailable"]})});let color=usageColor(props.info.usagePercent,theme);return $jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.text,children:props.title}),$jsxs("span",{fg:theme.textMuted,children:[" \xB7 ",props.info.entryCount," entries"]})]})}),$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:color,children:bar2(props.info.usagePercent,20)}),$jsxs("span",{fg:theme.textMuted,children:[" ",props.info.charCount,"/",props.info.charLimit," (",props.info.usagePercent,"%)"]})]})})]})});var ConfigGroup=import_react93.memo((props)=>{let keys=useKeys(),labels=SUB_TABS[CONFIG_TAB];import_react93.useEffect(()=>{if(props.sub>=labels.length)props.setSub(0)},[props.sub,labels.length]);let hint=`${keys.print("tab.prev")}/${keys.print("tab.next")} group \xB7 shift+\u2190/\u2192 sub`;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(SubTabBar,{tabs:labels,active:props.sub,onChange:props.setSub,hint}),$jsxs("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:[$jsx(Pane3,{visible:props.sub===0,children:$jsx(Config,{focused:!!props.focused&&props.sub===0})}),$jsx(Pane3,{visible:props.sub===1,children:$jsx(Skills,{focused:!!props.focused&&props.sub===1})}),$jsx(Pane3,{visible:props.sub===2,children:$jsx(Toolsets,{focused:!!props.focused&&props.sub===2})}),$jsx(Pane3,{visible:props.sub===3,children:$jsx(Env,{focused:!!props.focused&&props.sub===3})}),$jsx(Pane3,{visible:props.sub===4,children:$jsx(Memory,{focused:!!props.focused&&props.sub===4})})]})]})}),Pane3=({visible,children:children2})=>visible?$jsx("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:children2}):null;var import_react94=__toESM(require_react_production(),1);var FRAME={cw:16,ch:8,tw:20,tv:8},TL=["\u2800\u2880\u28E4\u2824\u2884\u28C0\u2804\u2880\u28E0\u28E4\u28C4\u2864\u2844\u2840\u2800\u2800","\u2800\u28DC\u2841\u28A9\u28C8\u2842\u2880\u28CB\u28ED\u2809\u2808\u2888\u28EE\u28FB\u2851\u28F6","\u2800\u28B8\u2856\u28BF\u280F\u28E4\u28F6\u28FD\u28EB\u28B6\u28E2\u284C\u2839\u28E7\u284F\u283B","\u2800\u2808\u2864\u2892\u28E6\u28BB\u28FF\u28FF\u28FF\u28BF\u28C5\u2847\u28C6\u2849\u2802\u2880","\u2801\u28B8\u284F\u2818\u280B\u289E\u28B3\u28FF\u28FF\u28DF\u284D\u284D\u28E4\u2805\u2800\u28A8","\u2800\u2824\u28AF\u28C6\u28C0\u2819\u28A6\u28FF\u284B\u2880\u28DC\u2807\u28C1\u28D2\u28CA\u28C9","\u2800\u2880\u28F7\u28DD\u28FB\u28F6\u28F6\u2884\u280D\u2818\u2841\u2847\u28E7\u28E0\u28E4\u2862","\u2800\u2800\u2818\u288E\u28BF\u28EF\u2803\u2801\u2864\u28DA\u287C\u2800\u284F\u28F9\u28FF\u2869"],TR=["\u2800\u2800\u2880\u28A0\u28A0\u28E0\u28E4\u28C0\u2840\u2820\u28C0\u2860\u2824\u28E4\u28C0\u2800","\u28F6\u288A\u28DF\u28F5\u2841\u2801\u2809\u28ED\u28D9\u2800\u2890\u28C2\u284D\u2888\u28E3\u2800","\u281F\u28B9\u28FC\u280F\u28A1\u28D4\u28B6\u28DD\u28EF\u28F6\u28E4\u2839\u287F\u28B2\u2847\u2800","\u2840\u2801\u2889\u28F0\u28B8\u28E8\u287F\u28FF\u28FF\u28FF\u285F\u28F4\u2852\u28A4\u2801\u2800","\u2845\u2804\u2828\u28E4\u28A9\u28A9\u28FB\u28FF\u28FF\u285E\u2873\u2819\u2803\u28B9\u2847\u2800","\u28C9\u28D1\u28D2\u28C8\u2838\u28E3\u2840\u2899\u28FF\u2874\u280B\u28C0\u28F0\u287D\u2824\u2880","\u2884\u28E4\u28C4\u28F8\u28B8\u2888\u2803\u2829\u2860\u28F6\u28F6\u28DF\u28EB\u28FE\u2802\u2800","\u288D\u28FF\u289F\u28B9\u2800\u28A7\u28D2\u28A4\u2801\u2808\u28FD\u287F\u2871\u2807\u2800\u2800"],BL=["\u2800\u2800\u28C0\u28FF\u28FF\u285F\u2801\u2800\u283B\u28AC\u28F3\u2800\u28C7\u28F2\u28DF\u28BF","\u2800\u2890\u287A\u28DB\u286F\u28ED\u2837\u280C\u2882\u2880\u2842\u2847\u284F\u2819\u281B\u2827","\u2800\u2816\u287C\u2809\u2809\u28A0\u28F0\u2825\u28AD\u2818\u28DB\u28C4\u288B\u28C9\u28C9\u2859","\u2800\u28B8\u284C\u2880\u28E0\u28F5\u28FF\u28FF\u28FF\u28FF\u28E8\u2803\u2837\u2802\u2810\u288D","\u2800\u2800\u283B\u281D\u283F\u28F4\u28FF\u28FF\u287F\u28FF\u28DF\u28CB\u284F\u2841\u2804\u2818","\u2800\u28B8\u28F0\u28F6\u28C4\u283B\u283F\u28FF\u28F9\u2830\u281F\u2882\u28A0\u285F\u28C6\u28F4","\u2800\u28AA\u2849\u2838\u28FB\u2807\u2800\u285D\u28DB\u2880\u2840\u28D8\u285F\u2877\u28EB\u286F","\u2800\u2819\u283B\u282A\u281C\u2813\u2802\u2808\u281B\u2813\u281B\u2819\u281A\u2808\u2801\u2800"],BR2=["\u287F\u28FB\u28D6\u28F8\u2800\u28DE\u2861\u281F\u2880\u2804\u28BB\u28FF\u28FF\u28C0\u2800\u2800","\u2836\u281B\u280B\u28B9\u28B8\u2890\u2840\u2850\u2821\u283E\u28ED\u28BD\u28DB\u2897\u2842\u2800","\u288B\u28C9\u28C9\u2859\u28E0\u28DB\u2803\u286D\u282C\u28C6\u2844\u2809\u2829\u28A7\u2832\u2800","\u2869\u2802\u2810\u283E\u2818\u28C5\u28FF\u28FF\u28FF\u28FF\u28EE\u28C4\u2840\u28B1\u2847\u2800","\u2803\u2880\u2888\u28B3\u28D9\u28FB\u28FF\u28DF\u28FF\u28FF\u28E6\u283F\u282B\u281F\u2800\u2800","\u28E6\u28F0\u28BB\u2844\u2850\u283B\u2803\u28CF\u28FF\u283F\u281F\u28E0\u28F6\u28C6\u2847\u2800","\u28BD\u28DD\u28AF\u28BB\u28C3\u2880\u2840\u28DB\u28E9\u2800\u2838\u28DF\u2807\u2889\u2855\u2800","\u2801\u2800\u2801\u2813\u280B\u281B\u281A\u281B\u2801\u2810\u281A\u2823\u2807\u281F\u280B\u2800"],T2=["\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28C0\u28C0\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800","\u2844\u28E2\u28F4\u28F6\u2836\u2816\u2832\u28CC\u2818\u2809\u2822\u285B\u28A1\u2834\u2832\u2836\u28F0\u2896\u28B4\u28E4","\u28FE\u28E5\u283F\u2800\u28E0\u28B0\u283F\u28BE\u2850\u283E\u283F\u2887\u2873\u28FF\u28D7\u2804\u2800\u2823\u28D1\u28F5","\u28BE\u285F\u2804\u2810\u28AD\u28CD\u2896\u2844\u2828\u28BB\u28EB\u283D\u287C\u287F\u28BD\u28A5\u2842\u2804\u283B\u287D","\u2813\u287B\u28B6\u28C4\u2848\u2818\u282D\u281A\u280D\u28BB\u2849\u280B\u280B\u282D\u2803\u2803\u2861\u28F6\u28DF\u28BE","\u2801\u2804\u2809\u2809\u281A\u2824\u2824\u282C\u281F\u2830\u2827\u280A\u282F\u2834\u2824\u2813\u281B\u2809\u2810\u2822","\u28DB\u28DB\u285F\u28DB\u285B\u28DB\u28DB\u289B\u28DB\u28DB\u285B\u28DB\u28DB\u289B\u28FB\u28FB\u28DF\u281B\u28FB\u28BB","\u28CA\u28C9\u28C9\u28DB\u28CB\u28D9\u28CB\u28FC\u28F7\u28E5\u28EF\u28FA\u28CB\u28F5\u28F7\u28ED\u28D9\u28D1\u28FB\u28FD"],B2=["\u28FF\u28BF\u28FF\u28FF\u28BF\u28FF\u287F\u287F\u28FF\u28FF\u283F\u28FF\u28BF\u287F\u28FF\u28FF\u287F\u28FF\u287F\u28BF","\u28C3\u28DB\u28C8\u28D3\u28DA\u28DA\u28C3\u28D9\u28DB\u28C9\u28DB\u28DB\u28C1\u28DB\u28D9\u28D9\u28CB\u28D8\u28C9\u28D9","\u2820\u2884\u2884\u28C0\u2864\u28E4\u2810\u28E0\u2884\u28A0\u2844\u2864\u28C4\u2800\u2864\u2884\u28C0\u2840\u2880\u2880","\u28F1\u282C\u282B\u2811\u2881\u28E0\u28A0\u286B\u28E1\u28E0\u28E4\u28C9\u2885\u2884\u28C4\u2809\u283B\u2850\u28A5\u28CC","\u2894\u28C8\u2800\u28B0\u2841\u28B6\u28FF\u28FF\u28DF\u28FF\u28C3\u285B\u2815\u280D\u28E6\u28C3\u2844\u2802\u28F9\u2862","\u287F\u288F\u2884\u2800\u2803\u28EB\u28FF\u289C\u28A9\u28F6\u28E6\u2809\u2876\u28FE\u2856\u281B\u2800\u28E0\u285B\u287F","\u283C\u28BE\u283F\u28F5\u28D6\u28D8\u2834\u2803\u2808\u2886\u2880\u2800\u2873\u2824\u28C2\u28F2\u28FE\u282F\u281A\u280F","\u2800\u2800\u2801\u2800\u2800\u2800\u2800\u2808\u2809\u2819\u280B\u2809\u2801\u2800\u2800\u2800\u2800\u2800\u2800\u2800"],L2=["\u2800\u2800\u2890\u289F\u28FE\u283F\u282E\u2836\u2877\u28EA\u283E\u2802\u2857\u28AD\u28BF\u28B9","\u2800\u2800\u28E8\u2855\u2809\u2861\u2824\u28C1\u284C\u282A\u28A7\u2801\u2847\u28F0\u28FF\u28BC","\u2800\u2800\u2839\u2843\u28BE\u28D5\u28F7\u2866\u28D3\u2840\u2849\u2846\u284F\u28F6\u2863\u28FB","\u2800\u28B0\u2876\u28AC\u28ED\u285C\u28FF\u28FF\u28EF\u2888\u2893\u2801\u284F\u28DA\u287E\u28FF","\u2800\u2818\u285B\u288A\u28D9\u2823\u2887\u28AF\u28FF\u2828\u286D\u2841\u2867\u28BC\u28F2\u28FF","\u2800\u2800\u28B1\u2849\u28BF\u2847\u2824\u28DD\u2844\u2800\u2841\u2801\u284F\u28F6\u2896\u28BF","\u2800\u2800\u28B0\u28E7\u2840\u2813\u2813\u2809\u2881\u28F4\u284D\u2800\u2847\u283A\u283D\u28BA","\u2800\u2800\u2828\u283A\u28FD\u28F7\u28E6\u2874\u285A\u2803\u2880\u2800\u2847\u287E\u28FF\u28B9"],R=["\u284F\u287F\u286D\u28BA\u2880\u2837\u289D\u28BE\u2836\u2835\u283F\u28F7\u287B\u2842\u2800\u2800","\u2867\u28FF\u28C6\u28B8\u2800\u287C\u2815\u28A1\u28C0\u2824\u288C\u2809\u28AA\u28C5\u2801\u2800","\u28DF\u289C\u28F6\u28B9\u28B0\u2889\u2880\u28DA\u28B4\u28FE\u28EA\u2877\u2898\u280F\u2800\u2800","\u28FF\u28B7\u285B\u28B9\u2808\u285A\u2841\u28FD\u28FF\u28FF\u28A3\u28ED\u2865\u28B6\u2846\u2800","\u28FF\u28D6\u2867\u28BC\u2888\u28AD\u2805\u28FF\u287D\u2878\u2858\u28CB\u2851\u289B\u2803\u2800","\u287F\u2872\u28F6\u28B9\u2808\u2888\u2800\u28A0\u28EB\u2824\u28B8\u287F\u2889\u2846\u2800\u2800","\u2857\u282F\u2817\u28B8\u2800\u28A9\u28E6\u2848\u2809\u281A\u281A\u2880\u28FC\u2846\u2800\u2800","\u284F\u28FF\u28AF\u28B8\u2800\u2880\u2818\u2893\u28A6\u28B6\u28FE\u28EF\u2817\u2805\u2800\u2800"];function frame(w2,h2){let{cw,ch,tw,tv}=FRAME,mw=w2-2*cw,mh=h2-2*ch,inner={x:cw,y:ch,w:Math.max(0,mw),h:Math.max(0,mh)};if(mw<4||mh<2)return{lines:[],inner};let repH=(p,span2)=>p.map((l2)=>l2.repeat(Math.ceil(span2/tw)).slice(0,span2)),repV=(p,span2)=>Array.from({length:span2},(_2,i)=>p[i%tv]),t2=repH(T2,mw),b2=repH(B2,mw),l=repV(L2,mh),r=repV(R,mh),mid2=" ".repeat(mw),out=[];for(let i=0;i<ch;i++)out.push(TL[i]+t2[i]+TR[i]);for(let i=0;i<mh;i++)out.push(l[i]+mid2+r[i]);for(let i=0;i<ch;i++)out.push(BL[i]+b2[i]+BR2[i]);return{lines:out,inner}}import{readFileSync as readFileSync5}from"fs";import{join as join10}from"path";var FALLBACK=["`@file:path/to/file.py` injects file contents directly into your message.","`/title <name>` names the session \u2014 resume it later from the Sessions tab.","Ctrl+G opens $EDITOR seeded with the composer contents.","Ctrl+Z suspends to the shell; `fg` resumes.","Pasting 5+ lines collapses to a `[Pasted #N \u2026]` placeholder.","Click a user message in the transcript to rewind to that point."],HL=/(\/[a-z][\w-]*|@[\w:./-]+|(?:Ctrl|Alt|Shift)\+\S+|`[^`]+`|"[^"]+")/g;function splitTip(tip2){let out=[],i=0;for(let m2 of tip2.matchAll(HL)){let j2=m2.index;if(j2>i)out.push({t:tip2.slice(i,j2),hl:!1});out.push({t:m2[0].replace(/^`|`$/g,""),hl:!0}),i=j2+m2[0].length}if(i<tip2.length)out.push({t:tip2.slice(i),hl:!1});return out}var cache3=null;function loadTips(){if(cache3)return cache3;try{let body=readFileSync5(join10(hermesAgentRoot(),"hermes_cli","tips.py"),"utf8").split(/^TIPS\s*=\s*\[/m)[1]?.split(/^\]/m)[0]??"",tips=[];for(let line3 of body.split(`
4123
+ `);return}if(key2.raw&&key2.raw.length===1&&key2.raw>=" "){setYaml((prev)=>prev+key2.raw);return}return}if(searching){if(key2.name==="escape"){setSearching(!1),setQuery(""),setCursor(0);return}if(key2.name==="backspace"){setQuery((prev)=>prev.slice(0,-1)),setCursor(0);return}if(key2.name==="up"){setCursor((c)=>Math.max(0,c-1));return}if(key2.name==="down"){setCursor((c)=>Math.min(count3-1,c+1));return}if(key2.raw&&key2.raw.length===1&&key2.raw>=" "){setQuery((prev)=>prev+key2.raw),setCursor(0);return}return}if(editing){let f2=fields[cursor];if(key2.name==="escape"){if(setEditing(!1),setBuf(""),f2)setErr((e)=>{let{[f2.key]:_2,...rest}=e;return rest});return}if(key2.name==="return"){if(f2){let msg=check(f2.key,buf);if(msg){setErr((e)=>({...e,[f2.key]:msg}));return}setErr((e)=>{let{[f2.key]:_2,...rest}=e;return rest});let val=f2.type==="number"?Number(buf)||0:buf;update(f2.key,val)}setEditing(!1),setBuf("");return}if(key2.name==="backspace"){setBuf((prev)=>prev.slice(0,-1));return}if(key2.raw&&key2.raw.length===1){setBuf((prev)=>prev+key2.raw);return}return}if(key2.name==="tab"){setFocus((f2)=>f2==="categories"?"fields":"categories");return}if(keys.match("list.search",key2)){setSearching(!0),setQuery(""),setCursor(0);return}if(focus==="categories"){if(key2.name==="up"){setCat((c)=>{let n=Math.max(0,c-1);return catFollow.opts.scrollTo(n),n}),setCursor(0);return}if(key2.name==="down"){setCat((c)=>{let n=Math.min(groups.length-1,c+1);return catFollow.opts.scrollTo(n),n}),setCursor(0);return}if(key2.name==="return"){setFocus("fields");return}return}if(onSlots){let s=slots[cursor];if(handleListKey(keys,key2,{count:count3,setSel:setCursor,...follow.opts,onActivate:s?()=>pick(s):void 0,onRefresh:()=>{load3(),toast.show({variant:"info",message:"Reloaded",duration:1000})}})||!s)return;if(key2.raw==="x")return unset(s);if(key2.raw==="X")return void unsetAll();return}let f=fields[cursor],writable=!managed;if(handleListKey(keys,key2,{count:count3,setSel:setCursor,...follow.opts,onRefresh:()=>{load3(),toast.show({variant:"info",message:"Reloaded",duration:1000})},onToggle:writable&&f?.type==="boolean"?()=>update(f.key,!f.value):void 0,onActivate:f&&writable&&(f.type==="string"||f.type==="number")?()=>{setEditing(!0),setBuf(String(f.value??""))}:void 0})||!f||!writable)return;if(f.type==="select"&&f.options){let idx=f.options.indexOf(String(f.value));if(key2.raw==="l"||key2.raw==="]"){update(f.key,f.options[(idx+1)%f.options.length]);return}if(key2.raw==="h"||key2.raw==="["){update(f.key,f.options[(idx-1+f.options.length)%f.options.length]);return}}}),mode==="yaml")return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(TabShell,{title:"Config \xB7 YAML",children:$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("text",{wrapMode:"word",children:[$jsx("span",{fg:theme.text,children:yaml}),$jsx("span",{fg:theme.accent,children:"\u2588"})]})})}),$jsx(HintBar,{pairs:[[keys.print("config.mode"),"form"],[keys.print("config.save"),"save"]]})]});return $jsxs("box",{flexDirection:"column",flexGrow:1,children:[searching?$jsx("box",{height:1,paddingLeft:1,paddingRight:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"\u2503 "}),$jsx("span",{fg:theme.text,children:query}),$jsx("span",{fg:theme.accent,children:"\u2588"}),$jsx("span",{fg:theme.textMuted,children:` ${count3} of ${all.length} \xB7 \u2191\u2193 nav \xB7 Esc close`})]})}):null,$jsxs("box",{flexDirection:"row",flexGrow:1,children:[searching?null:$jsx(TabShell,{title:"Config",grow:1,focus:focus==="categories",children:$jsx("scrollbox",{ref:catFollow.ref,scrollY:!0,flexGrow:1,children:groups.map((c,i)=>{let sel=i===cat,hot=sel&&focus==="categories",items=grouped.get(c)??[],n=c==="models"?slots.length:items.length,catDirty=items.some((f)=>changed(f.key));return $jsx("box",{id:catFollow.id(i),backgroundColor:hot?theme.backgroundElement:void 0,onMouseDown:()=>{setCat(i),setCursor(0),setFocus("categories")},children:$jsxs("text",{children:[$jsx("span",{fg:catDirty?theme.warning:theme.textMuted,children:catDirty?"\u25CF":" "}),$jsxs("span",{fg:hot?theme.accent:sel?theme.primary:theme.text,children:[sel?"\u25B8 ":" ",c]}),$jsx("span",{fg:theme.textMuted,children:` (${n})`})]})},c)})})}),$jsxs(TabShell,{title:onSlots?"models \xB7 applies immediately":searching?"Search":nChanged>0?`${active} \xB7 ${nChanged} unsaved`:active,grow:3,focus:focus==="fields"||searching,children:[managed?$jsxs("box",{height:1,flexDirection:"row",gap:1,children:[$jsx("text",{fg:theme.warning,children:"\uD83D\uDD12 managed install \u2014 edit"}),$jsx(FileLink,{source:makeSource("config.yaml"),children:"config.yaml"}),$jsx("text",{fg:theme.warning,children:"via configuration.nix"})]}):null,onSlots?$jsxs("box",{flexDirection:"column",flexGrow:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Auxiliary tasks handle side-jobs. 'auto' = use main model. Per-task api_key/base_url/timeout live in the 'auxiliary' category."})}),$jsx("box",{height:1}),$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:slots.map((s,i)=>$jsx(SlotRow,{id:follow.id(i),s,on:i===cursor&&focus==="fields"},s.key))})]},"slots"):$jsxs($Fragment,{children:[$jsxs(Hdr,{children:[$jsx(Col,{w:4,fg:theme.textMuted,children:""}),searching?$jsx(Col,{w:12,fg:theme.textMuted,bold:!0,children:"Category"}):null,$jsx(Col,{w:40,fg:theme.textMuted,bold:!0,children:"Field"}),$jsx(Col,{grow:!0,min:6,fg:theme.textMuted,bold:!0,children:"Value"}),$jsx(Col,{w:2,fg:theme.textMuted,children:""}),$jsx(Col,{w:9,fg:theme.textMuted,children:""})]}),$jsx("box",{height:1}),count3===0?$jsx("box",{flexGrow:1,padding:2,children:$jsx("text",{fg:theme.textMuted,children:searching?"No matching fields":"No fields in this category"})},"empty"):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:secs.reduce((acc2,s)=>{if(s.head!==null)acc2.out.push($jsx("box",{height:1,marginTop:acc2.base>0?1:0,children:$jsxs("text",{fg:theme.textMuted,children:["\u2500 ",s.head," "]})},`\xA7${s.head}`));return s.items.forEach((f,j2)=>{let i=acc2.base+j2;acc2.out.push($jsx(FieldRow,{id:follow.id(i),field:f,active:i===cursor&&(focus==="fields"||searching),changed:changed(f.key),editing:editing&&i===cursor,buf,readonly:!!managed,error:err[f.key],badge:searching?groupOf(f.key):void 0},f.key))}),acc2.base+=s.items.length,acc2},{base:0,out:[]}).out},"list")]})]})]}),managed?$jsx(HintBar,{raw:`read-only \xB7 managed by ${managed}`}):onSlots?$jsx(HintBar,{pairs:[["\u2191\u2193","nav"],["Enter","pick"],["x","reset"],["X","reset-all"],["Tab","categories"]]}):focus==="categories"&&!searching?$jsx(HintBar,{pairs:[["\u2191\u2193","select"],["Tab","fields"]]}):$jsx(HintBar,{pairs:[[keys.print("config.mode"),"yaml"],["Tab","categories"],["\u2191\u2193","nav"],[keys.print("list.search"),"search"],[keys.print("config.save"),"save"]],suffix:nChanged>0?`\u25CF ${nChanged} unsaved`:void 0})]})});var import_react87=__toESM(require_react_production(),1);var import_react85=__toESM(require_react_production(),1);var iso2=(s)=>{if(!s)return null;let t2=Date.parse(s);return Number.isFinite(t2)?Math.floor(t2/1000):null},parseList=(stdout)=>stdout.split(`
4124
+ `).map((s)=>s.trim()).filter((s)=>s.length>0&&!s.startsWith("(")),CuratorDialog=()=>{let{theme,syntaxStyle}=useTheme(),gw=useGateway(),toast=useToast(),dialog=useDialog(),state2=useHome("curatorState"),cfg=useHome("config")?.curator,[report2,setReport]=import_react85.useState(null),[loaded,setLoaded]=import_react85.useState(!1),[busy,setBusy]=import_react85.useState(null),[archived,setArchived]=import_react85.useState([]),[mode,setMode]=import_react85.useState("report"),[sel,setSel]=import_react85.useState(0),sb=import_react85.useRef(null);import_react85.useEffect(()=>{readLatestCuratorReport().then((r)=>{setReport(r),setLoaded(!0)}).catch(()=>setLoaded(!0))},[]);let refreshArchived=import_react85.useCallback(()=>{gw.request("shell.exec",{command:"hermes curator list-archived"}).then((r)=>{if(r.code===0)setArchived(parseList(r.stdout))}).catch(()=>{})},[gw]);import_react85.useEffect(()=>{refreshArchived()},[refreshArchived]);let sh=import_react85.useCallback((verb,ok)=>{if(busy)return;setBusy(verb),gw.request("shell.exec",{command:`hermes curator ${verb}`}).then((r)=>{if(r.code!==0)throw Error((r.stderr||r.stdout||`exit ${r.code}`).trim());toast.show({variant:"success",message:ok}),home2.invalidate("curatorState")}).catch((e)=>toast.show({variant:"error",message:trunc4(e.message,120)})).finally(()=>setBusy(null))},[gw,toast,busy]),restore=import_react85.useCallback((name)=>{if(busy)return;setBusy("restore"),gw.request("shell.exec",{command:`hermes curator restore ${name}`}).then((r)=>{if(r.code!==0)throw Error((r.stderr||r.stdout||`exit ${r.code}`).trim());toast.show({variant:"success",message:`Restored ${name}`}),setArchived((prev)=>prev.filter((n)=>n!==name)),setSel((s)=>Math.max(0,s-1))}).catch((e)=>toast.show({variant:"error",message:trunc4(e.message,120)})).finally(()=>setBusy(null))},[gw,toast,busy]);useKeyboard((key2)=>{if(mode==="archived"){if(key2.name==="escape"){setMode("report");return}if(key2.raw==="a"){setMode("report");return}if(key2.name==="up")return setSel((s)=>Math.max(0,s-1));if(key2.name==="down")return setSel((s)=>Math.min(archived.length-1,s+1));if(key2.name==="return"){let name=archived[sel];if(name)restore(name);return}return}if(key2.name==="escape")return dialog.clear();if(key2.raw==="r")return sh("run","Curator run started (background)");if(key2.raw==="p")return state2?.paused?sh("resume","Curator resumed"):sh("pause","Curator paused");if(key2.raw==="a"&&archived.length>0)setSel(0),setMode("archived")}),import_react85.useEffect(()=>{if(mode==="archived")sb.current?.scrollChildIntoView(`arch-${sel}`)},[sel,mode]);let last3=iso2(state2?.last_run_at??null),due=last3&&cfg?last3+cfg.interval_hours*3600:null,status=cfg?.enabled===!1?"disabled":state2?.paused?"paused":"enabled",tint=status==="enabled"?theme.success:status==="paused"?theme.warning:theme.textMuted;return $jsxs("box",{flexDirection:"column",width:120,height:34,children:[$jsxs("box",{height:1,flexDirection:"row",children:[$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:"Skill Curator"})}),$jsx("span",{fg:tint,children:` \xB7 ${status}`})]}),busy?$jsx("box",{marginLeft:2,children:$jsx(Spinner,{color:theme.textMuted,label:busy})}):null]}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:state2?`${state2.run_count} run${state2.run_count===1?"":"s"}${last3?" \xB7 last "+ago(last3):" \xB7 never"} \xB7 Esc to close`:"No curator state yet \xB7 Esc to close"})}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"row",flexGrow:1,gap:2,children:[$jsxs("box",{flexDirection:"column",width:40,height:"100%",flexShrink:0,children:[$jsx(KVBlock,{rows:[["Next run",status!=="enabled"?`\u2014 (${status})`:due?until(due):"when idle"],["Last run",last3?ago(last3):"never"],["Duration",state2?.last_run_duration_seconds?dur2(state2.last_run_duration_seconds):void 0],["Archived",archived.length>0?String(archived.length):void 0]]}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Config \xB7 edit in Config tab"})}),$jsx(KVBlock,{rows:[["Interval",cfg?`${cfg.interval_hours}h`:"\u2014"],["Stale after",cfg?`${cfg.stale_after_days}d`:"\u2014"],["Archive after",cfg?`${cfg.archive_after_days}d`:"\u2014"]]}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"r "}),$jsx("span",{fg:theme.text,children:"run now"}),$jsx("span",{fg:theme.textMuted,children:" (background)"})]})}),$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"p "}),$jsx("span",{fg:theme.text,children:state2?.paused?"resume":"pause"})]})}),archived.length>0?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"a "}),$jsx("span",{fg:theme.text,children:"archived skills"}),$jsx("span",{fg:theme.textMuted,children:` (${archived.length})`})]})}):null]}),state2?.last_run_summary?$jsxs($Fragment,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Last run"})}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("markdown",{content:state2.last_run_summary,fg:theme.markdownText,syntaxStyle})})]}):null]}),mode==="archived"?$jsxs("box",{flexDirection:"column",flexGrow:1,height:"100%",minWidth:0,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:`\u25BE Archived skills (${archived.length})`})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2191\u2193 select \xB7 Enter restore \xB7 a/Esc back to report"})}),$jsx("box",{height:1}),$jsx("scrollbox",{ref:sb,scrollY:!0,flexGrow:1,border:!0,borderColor:theme.border,paddingLeft:1,paddingRight:1,contentOptions:{flexDirection:"column"},children:archived.length===0?$jsx("text",{fg:theme.textMuted,children:"No archived skills."}):archived.map((name,i)=>$jsx("box",{id:`arch-${i}`,height:1,backgroundColor:i===sel?theme.backgroundElement:void 0,onMouseMove:()=>setSel(i),onMouseDown:()=>restore(name),children:$jsxs("text",{fg:i===sel?theme.text:theme.textMuted,children:[i===sel?"\u25B8 ":" ",name]})},name))})]}):!loaded?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"loading report\u2026"})}):report2?$jsxs("box",{flexDirection:"column",flexGrow:1,height:"100%",minWidth:0,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:`\u25BE Report \xB7 ${report2.runId}`})})}),$jsx(KVLink,{label:"File",source:report2.source,text:report2.source.relative}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,border:!0,borderColor:theme.border,paddingLeft:1,paddingRight:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:$jsx("markdown",{content:report2.content||"(empty)",fg:theme.markdownText,syntaxStyle})})})]}):$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No runs yet \u2014 curator has not completed a cycle."})})]})]})},openCurator=(dialog)=>dialog.replace($jsx(CuratorDialog,{}),void 0,{ownCancel:!0});var NO_EVENTS=[],iso3=(s)=>{if(!s)return null;let t2=Date.parse(s);return Number.isFinite(t2)?Math.floor(t2/1000):null},SkillRow=import_react87.memo((props)=>{let theme=useTheme().theme,s=props.skill,u3=props.usage,bg2=props.selected?theme.backgroundElement:void 0,used=iso3(u3?.last_used_at)??iso3(u3?.last_viewed_at),stale=u3?.state==="stale",archived=u3?.state==="archived";return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:bg2,onMouseDown:props.onSelect,onMouseMove:props.onHover,children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "}),$jsx(Col,{w:2,fg:theme.warning,children:u3?.pinned?"\uD83D\uDCCC":" "}),$jsx(Marquee,{grow:!0,min:8,active:props.selected,fg:archived?theme.textMuted:props.selected?theme.accent:theme.text,children:s.name}),archived?$jsx(Col,{w:10,fg:theme.textMuted,children:"archived"}):stale?$jsx(Col,{w:10,fg:theme.warning,children:"stale"}):$jsx(Col,{w:10,fg:theme.textMuted,children:used?ago(used):""})]})}),HitRow=import_react87.memo((props)=>{let theme=useTheme().theme,on=props.selected;return $jsxs("box",{flexDirection:"row",height:1,backgroundColor:on?theme.backgroundElement:void 0,onMouseMove:props.onHover,children:[$jsx(Col,{w:2,fg:on?theme.primary:theme.textMuted,children:on?"\u25B8 ":" "}),$jsx(Col,{w:28,fg:on?theme.accent:theme.text,children:props.hit.name}),$jsx(Col,{grow:!0,min:8,fg:theme.textMuted,children:props.hit.description||"\u2014"})]})}),line2=(e)=>{switch(e.kind){case"absorbed":return`absorbed ${e.sources.map((s)=>`\`${s}\``).join(", ")}`;case"merged":return`merged into \`${e.into}\`${e.reason?` \u2014 ${e.reason}`:""}`;case"transition":return`${e.from} \u2192 ${e.to}`;case"pruned":return`pruned${e.reason?` \u2014 ${e.reason}`:""}`;case"added":return"created by curator"}},DetailPanel2=import_react87.memo((props)=>{let theme=useTheme().theme,s=props.skill,u3=props.usage,used=iso3(u3?.last_used_at),viewed=iso3(u3?.last_viewed_at),patched=iso3(u3?.last_patched_at);return $jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:theme.border,backgroundColor:theme.backgroundPanel,width:"50%",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:"Skill Detail"})}),u3?.pinned?$jsx("span",{fg:theme.warning,children:" \uD83D\uDCCC pinned"}):null,u3?.state==="stale"?$jsx("span",{fg:theme.warning,children:" \xB7 stale"}):null,u3?.state==="archived"?$jsx("span",{fg:theme.textMuted,children:" \xB7 archived"}):null]})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.accent,children:$jsx("strong",{children:s.name})})}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Category",s.category||"uncategorized",theme.info],["Tags",s.tags.length>0?s.tags.join(", "):void 0],u3?["Used",u3.use_count>0?`${u3.use_count}\xD7 \xB7 last ${used?ago(used):"never"}`:"never"]:null,u3&&viewed?["Viewed",`${u3.view_count}\xD7 \xB7 last ${ago(viewed)}`]:null,u3&&patched?["Patched",`${u3.patch_count}\xD7 \xB7 last ${ago(patched)}`]:null].filter(Boolean)}),$jsx(KVLink,{label:"File",source:s.source,text:s.source.relative}),$jsx("box",{height:1}),s.description?$jsx("text",{wrapMode:"word",children:$jsx("span",{fg:theme.text,children:s.description})}):$jsx("text",{fg:theme.textMuted,children:"No description"}),props.events.length>0?$jsxs("box",{flexDirection:"column",marginTop:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Curator lineage"})}),props.events.map((e,i)=>$jsxs("box",{flexDirection:"row",minHeight:1,children:[$jsx("box",{width:10,flexShrink:0,children:$jsx("text",{fg:theme.textMuted,children:ago(e.at)})}),$jsx("box",{flexGrow:1,minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.text,children:line2(e)})})]},i))]}):u3?$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:"No curator events for this skill"})}):null]})}),EmptyState=import_react87.memo((props)=>{let theme=useTheme().theme;return $jsx("box",{flexGrow:1,padding:2,children:$jsx("text",{children:$jsx("span",{fg:theme.textMuted,children:props.searching?"No matching skills on hub":"No skills found in ~/.hermes/skills/"})})})}),HistoryPanel=import_react87.memo((props)=>{let{theme,syntaxStyle}=useTheme(),keys=useKeys(),follow=useFollow("skills-history"),[runs,setRuns]=import_react87.useState(()=>listCuratorRuns()),[sel,setSel]=import_react87.useState(0),[open2,setOpen]=import_react87.useState(!1),[body,setBody]=import_react87.useState(""),run=runs[sel];import_react87.useEffect(()=>{if(!open2||!run)return;let live=!0;return readCuratorReport(run.id).then((t2)=>{if(live)setBody(t2)}),()=>{live=!1}},[open2,run?.id]);let moveSel=import_react87.useCallback((v2)=>{setOpen(!1),setSel(v2)},[]);return useKeyboard((key2)=>{if(!props.focused)return;handleListKey(keys,key2,{count:runs.length,setSel:moveSel,...follow.opts,onActivate:()=>setOpen((o)=>!o),onRefresh:()=>setRuns(listCuratorRuns())})}),$jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:props.focused?theme.primary:theme.border,backgroundColor:theme.backgroundPanel,width:"50%",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:"Curator History"})}),$jsx("span",{fg:theme.textMuted,children:` ${runs.length} run${runs.length===1?"":"s"}${runs[0]?` \xB7 last ${ago(runs[0].at)}`:""}`})]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`\u2191\u2193 select \xB7 Enter expand \xB7 ${keys.print("list.refresh")} reload \xB7 h close`})}),$jsx("box",{height:1}),runs.length===0?$jsx("text",{fg:theme.textMuted,children:"no runs in ~/.hermes/logs/curator/"}):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:runs.map((r,i)=>{let on=i===sel;return $jsxs("box",{id:follow.id(i),flexDirection:"column",children:[$jsxs("box",{height:1,flexDirection:"row",backgroundColor:on?theme.backgroundElement:void 0,onMouseDown:()=>{setSel(i),setOpen((o)=>i===sel?!o:!0)},children:[$jsx(Col,{w:2,fg:on?theme.primary:theme.textMuted,children:on?"\u25B8 ":" "}),$jsx(Col,{w:12,fg:on?theme.accent:theme.text,children:ago(r.at)}),$jsx(Col,{grow:!0,fg:theme.textMuted,children:`${r.before}\u2192${r.after} arch ${r.archived} cons ${r.consolidated}${r.added?` +${r.added}`:""}`})]}),on&&open2?$jsx("box",{marginLeft:2,marginTop:1,marginBottom:1,children:$jsx("markdown",{content:body||"\u2026",fg:theme.markdownText,syntaxStyle})}):null]},r.id)})})})]})}),Skills=import_react87.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),usage=useHome("skillUsage")??{},curator=useHome("curatorState"),lineage2=import_react87.useRef(indexCuratorLineage());import_react87.useEffect(()=>{lineage2.current=indexCuratorLineage()},[curator?.run_count]);let[skills,setSkills]=import_react87.useState([]),[selected,setSelected]=import_react87.useState(0),[searching,setSearching]=import_react87.useState(!1),[query,setQuery]=import_react87.useState(""),[hits,setHits]=import_react87.useState([]),[sort,setSort]=import_react87.useState("name"),[history,setHistory]=import_react87.useState(!1),seq=import_react87.useRef(0),load3=import_react87.useCallback(()=>{gw.request("skills.manage",{action:"list"}).then((res)=>{let raw=res.skills??{},rows3=Object.entries(raw).flatMap(([cat,names])=>names.map((n)=>{let source=makeSource(`skills/${cat}/${n}/SKILL.md`,`${n}/SKILL.md`),fm=readSkillFrontmatter(source);return{source,category:cat,name:n,description:fm.description,tags:fm.tags,tokenEstimate:count2(`${n} ${fm.description}`)}}));rows3.sort((a,b2)=>a.source.relative.localeCompare(b2.source.relative)),setSkills(rows3)}).catch(()=>{})},[gw]);import_react87.useEffect(()=>{load3()},[load3]),import_react87.useEffect(()=>{let id=++seq.current;if(!searching||!query.trim()){setHits([]);return}let t2=setTimeout(()=>{gw.request("skills.manage",{action:"search",query}).then((r)=>{if(seq.current!==id)return;setHits(r.results??[]),setSelected(0)}).catch(()=>{if(seq.current===id)setHits([])})},150);return()=>clearTimeout(t2)},[gw,query,searching]);let flat=[...sort==="used"?new Map([["by recency",[...skills].sort((a,b2)=>{let ta=iso3(usage[a.name]?.last_used_at)??iso3(usage[a.name]?.last_viewed_at)??0;return(iso3(usage[b2.name]?.last_used_at)??iso3(usage[b2.name]?.last_viewed_at)??0)-ta})]]):Map.groupBy(skills,(s)=>s.category||"uncategorized")].flatMap(([cat,items])=>[{type:"header",category:cat},...items.map((s)=>({type:"skill",skill:s}))]),skillRows=flat.filter((r)=>r.type==="skill"),count3=searching?hits.length:skillRows.length,current=!searching&&skillRows[selected]?.type==="skill"?skillRows[selected].skill:null,follow=useFollow("sk"),exit=import_react87.useCallback(()=>{setSearching(!1),setQuery(""),setHits([]),setSelected(0)},[]),install=import_react87.useCallback(async(name)=>{if(!await openConfirm(dialog,{title:"Install skill?",body:name,yes:"install"}))return;gw.request("skills.manage",{action:"install",query:name}).then(()=>{toast.show({variant:"success",message:`Installed ${name}`}),exit(),load3()}).catch((e)=>toast.show({variant:"error",message:`Install failed: ${e.message}`}))},[dialog,gw,toast,exit,load3]),keys=useKeys();useKeyboard((key2)=>{if(!props.focused||dialog.open())return;if(searching){if(key2.name==="escape"){exit();return}if(key2.name==="backspace"){setQuery((p)=>p.slice(0,-1)),setSelected(0);return}if(key2.name==="up")return setSelected((p)=>Math.max(0,p-1));if(key2.name==="down")return setSelected((p)=>Math.min(count3-1,p+1));if(key2.name==="return"){let hit=hits[selected];if(hit)install(hit.name);return}if(key2.raw&&key2.raw.length===1&&key2.raw>=" ")setQuery((p)=>p+key2.raw),setSelected(0);return}if(!key2.ctrl&&!key2.meta&&key2.raw==="s"){setSort((p)=>p==="name"?"used":"name"),setSelected(0);return}if(!key2.ctrl&&!key2.meta&&key2.raw==="c"){openCurator(dialog);return}if(!key2.ctrl&&!key2.meta&&key2.raw==="h"){setHistory((h2)=>!h2);return}if(history){if(key2.name==="escape")return setHistory(!1);return}handleListKey(keys,key2,{count:count3,setSel:setSelected,...follow.opts,onRefresh:()=>{load3(),toast.show({variant:"info",message:"Reloaded",duration:1000})},onSearch:()=>{setSearching(!0),setQuery(""),setHits([]),setSelected(0)}})});let skillIdx=-1;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsxs(TabShell,{title:searching?`Hub Search (${hits.length})`:`Skills (${skills.length}${sort==="used"?" \xB7 by use":""})`,children:[searching?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"/ "}),$jsx("span",{fg:theme.text,children:query}),$jsx("span",{fg:theme.accent,children:"\u2588"})]})}):null,searching?null:$jsxs(Hdr,{children:[$jsx(Col,{w:2,fg:theme.textMuted,children:""}),$jsx(Col,{grow:!0,min:8,fg:theme.textMuted,bold:!0,children:"Name"})]}),searching?null:$jsx("box",{height:1}),count3===0?$jsx(EmptyState,{searching}):searching?$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:hits.map((h2,i)=>$jsx(HitRow,{hit:h2,selected:i===selected,onHover:()=>setSelected(i)},h2.name))})}):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:flat.map((row,i)=>{if(row.type==="header")return $jsx("box",{marginTop:i>0?1:0,children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:`\u25BE ${row.category}`})})},`h-${row.category}`);skillIdx++;let idx=skillIdx;return $jsx(SkillRow,{id:follow.id(idx),skill:row.skill,usage:usage[row.skill.name],selected:idx===selected,onSelect:()=>setSelected(idx),onHover:()=>setSelected(idx)},row.skill.name)})}),!searching&&curator?$jsx("box",{height:1,flexShrink:0,children:$jsxs("text",{children:[$jsx("span",{fg:theme.textMuted,children:"curator \xB7 "}),curator.paused?$jsx("span",{fg:theme.warning,children:"paused"}):curator.last_run_at?$jsx("span",{fg:theme.textMuted,children:`${curator.run_count} run${curator.run_count===1?"":"s"} \xB7 last ${ago(iso3(curator.last_run_at)??0)}`}):$jsx("span",{fg:theme.textMuted,children:"never run"})]})}):null]}),history?$jsx(HistoryPanel,{focused:!!props.focused&&!searching}):current?$jsx(DetailPanel2,{skill:current,usage:usage[current.name],events:lineage2.current.get(current.name)??NO_EVENTS}):null]}),$jsx(HintBar,{pairs:searching?[["\u2191\u2193","navigate"],["Enter","install"],["Esc","cancel"]]:[["\u2191\u2193","navigate"],[keys.print("list.search"),"search hub"],["s","sort"],["c","curator"],["h","history"],[keys.print("list.refresh"),"refresh"]]})]})});var import_react89=__toESM(require_react_production(),1);var kindOf=(ts)=>ts.name.includes(":")?"mcp":ts.name.startsWith("hermes-")?"platform":"core",KIND_LABEL={core:"core",platform:"platform bundles",mcp:"mcp"},group=(list)=>{let by={core:[],platform:[],mcp:[]};for(let ts of list)by[kindOf(ts)].push(ts);return["core","platform","mcp"].filter((k2)=>by[k2].length>0).map((k2)=>({kind:k2,items:by[k2]}))},Row2=import_react89.memo((props)=>{let theme=useTheme().theme,ts=props.ts,bg2=props.selected?theme.backgroundElement:void 0,unavail=ts.available===!1,glyph=unavail?"\u25CC":ts.enabled?"\u25CF":"\u25CB",glyphFg=unavail?theme.warning:ts.enabled?theme.success:theme.textMuted;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:bg2,onMouseDown:props.onSelect,onMouseMove:props.onHover,children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "}),$jsx(Col,{w:2,fg:glyphFg,children:`${glyph} `}),$jsx(Col,{grow:!0,fg:props.selected?theme.accent:theme.text,children:ts.name}),$jsx(Col,{w:9,fg:theme.info,right:!0,children:`${ts.tool_count} tools`})]})}),DetailPanel3=import_react89.memo((props)=>{let theme=useTheme().theme,ts=props.ts,unavail=ts.available===!1;return $jsxs("box",{flexDirection:"column",padding:1,border:!0,borderColor:theme.border,backgroundColor:theme.backgroundPanel,width:"40%",children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.accent,children:$jsx("strong",{children:ts.name})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:KIND_LABEL[kindOf(ts)]})}),$jsx("box",{height:1}),$jsx(KVBlock,{rows:[["Status",unavail?"unavailable":ts.enabled?"enabled":"disabled",unavail?theme.warning:ts.enabled?theme.success:theme.textMuted],["Tools",String(ts.tool_count),theme.info],["Includes",ts.includes?.length?ts.includes.join(", "):void 0,theme.text],["Requires",ts.requirements?.length?ts.requirements.join(", "):void 0,unavail?theme.warning:theme.text]]}),$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.text,children:ts.description||"\u2014"})}),ts.tools?.length?$jsxs($Fragment,{children:[$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:["Tools (",ts.tools.length,"):"]})}),$jsx("scrollbox",{flexGrow:1,scrollY:!0,children:ts.tools.map((n)=>$jsxs("text",{fg:theme.text,children:["\xB7 ",n]},n))})]}):null]})}),Toolsets=import_react89.memo((props)=>{let theme=useTheme().theme,gw=useGateway(),dialog=useDialog(),toast=useToast(),[list,setList]=import_react89.useState([]),[sel,setSel]=import_react89.useState(0),[err,setErr]=import_react89.useState(null),secs=group(list),flat=secs.flatMap((s)=>s.items),live=import_react89.useRef({flat,sel});live.current={flat,sel};let load3=import_react89.useCallback(()=>{gw.request("toolsets.list",{}).then((r)=>{setList(r.toolsets??[]),setErr(null)}).catch((e)=>setErr(e instanceof Error?e.message:String(e)))},[gw]);import_react89.useEffect(()=>{load3()},[load3]);let toggle=import_react89.useCallback(()=>{let ts2=live.current.flat[live.current.sel];if(!ts2)return;if(ts2.available===!1){toast.show({variant:"warning",message:`${ts2.name} is unavailable`});return}let action=ts2.enabled?"disable":"enable",was=ts2.enabled;setList((prev)=>prev.map((t2)=>t2.name===ts2.name?{...t2,enabled:!t2.enabled}:t2)),gw.request("tools.configure",{action,names:[ts2.name]}).then((r)=>{if(r.unknown?.includes(ts2.name)){setList((prev)=>prev.map((t2)=>t2.name===ts2.name?{...t2,enabled:was}:t2)),toast.show({variant:"warning",message:`${ts2.name} is not configurable`});return}if(r.missing_servers?.length&&ts2.name.includes(":")){let server=ts2.name.split(":",1)[0];if(r.missing_servers.includes(server)){setList((prev)=>prev.map((t2)=>t2.name===ts2.name?{...t2,enabled:was}:t2)),toast.show({variant:"warning",message:`MCP server '${server}' not in config`});return}}if(Array.isArray(r.enabled_toolsets)){let on=new Set(r.enabled_toolsets);setList((prev)=>prev.map((t2)=>({...t2,enabled:on.has(t2.name)})))}else load3()}).catch((e)=>{setList((prev)=>prev.map((t2)=>t2.name===ts2.name?{...t2,enabled:was}:t2)),toast.show({variant:"error",message:e.message})})},[gw,toast,load3]),count3=flat.length,ts=flat[sel]??null,follow=useFollow("ts"),keys=useListKeys({active:()=>!!props.focused&&!dialog.open(),count:count3,setSel,...follow.opts,onToggle:toggle,onRefresh:()=>{load3(),toast.show({variant:"info",message:"Reloaded",duration:1000})}});return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsxs(TabShell,{title:`Toolsets (${count3})`,error:err,children:[$jsxs(Hdr,{children:[$jsx(Col,{w:4,fg:theme.textMuted,children:""}),$jsx(Col,{grow:!0,fg:theme.textMuted,bold:!0,children:"Name"}),$jsx(Col,{w:9,fg:theme.textMuted,bold:!0,right:!0,children:"Tools"})]}),$jsx("box",{height:1}),count3===0?$jsx("box",{flexGrow:1,padding:2,children:$jsx("text",{fg:theme.textMuted,children:"No toolsets found"})},"empty"):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:secs.reduce((acc2,s)=>{return acc2.out.push($jsx("box",{height:1,marginTop:acc2.base>0?1:0,children:$jsxs("text",{fg:theme.textMuted,children:["\u2500 ",KIND_LABEL[s.kind]," (",s.items.length,") "]})},`\xA7${s.kind}`)),s.items.forEach((t2,j2)=>{let i=acc2.base+j2;acc2.out.push($jsx(Row2,{id:follow.id(i),ts:t2,selected:i===sel,onSelect:()=>setSel(i),onHover:()=>setSel(i)},t2.name))}),acc2.base+=s.items.length,acc2},{base:0,out:[]}).out},"list")]}),ts?$jsx(DetailPanel3,{ts}):null]}),$jsx(HintBar,{pairs:[["\u2191\u2193","nav"],[keys.print("list.toggle"),"toggle"],[keys.print("list.refresh"),"refresh"]]})]})});var import_react90=__toESM(require_react_production(),1);var mask=(val)=>"\u2022".repeat(Math.min(val.length,12)),VarRow=import_react90.memo((props)=>{let theme=useTheme().theme,set2=props.value!==void 0,bg2=props.selected?theme.backgroundElement:void 0;return $jsxs("box",{id:props.id,flexDirection:"row",height:1,backgroundColor:bg2,onMouseDown:props.onClick,onMouseMove:props.onHover,children:[$jsx(Col,{w:2,fg:props.selected?theme.primary:theme.text,children:props.selected?"\u25B8 ":" "}),$jsx(Col,{w:28,fg:props.selected?theme.accent:theme.text,children:props.name}),$jsx(Col,{w:8,fg:set2?theme.success:theme.textMuted,children:set2?" SET ":"UNSET"}),$jsx(Col,{grow:!0,min:4,fg:props.shown?theme.text:theme.textMuted,children:set2?props.shown?props.value:mask(props.value):"\u2014"})]})}),Env=import_react90.memo((props)=>{let theme=useTheme().theme,dialog=useDialog(),toast=useToast(),vars=useHome("env")??{},[sel,setSel]=import_react90.useState(0),[reveal,setReveal]=import_react90.useState(new Set),[collapsed,setCollapsed]=import_react90.useState({}),[searching,setSearching]=import_react90.useState(!1),[query,setQuery]=import_react90.useState(""),known=new Set(ENV_CATALOG.flatMap((g)=>g.keys)),extra=Object.keys(vars).filter((k2)=>!known.has(k2)).sort(),rows3=(extra.length>0?[...ENV_CATALOG,{category:"Other",keys:extra}]:ENV_CATALOG).flatMap((g)=>{let keys2=searching&&query.trim()?g.keys.filter((k2)=>k2.toLowerCase().includes(query.toLowerCase())):g.keys;if(keys2.length===0)return[];let hide=collapsed[g.category]??!1,header={type:"header",category:g.category,collapsed:hide};if(hide)return[header];return[header,...keys2.map((key2)=>({type:"var",key:key2,value:vars[key2]}))]}),count3=rows3.length,cur=rows3[sel],setKeys=rows3.flatMap((r)=>r.type==="var"&&r.value!==void 0?[r.key]:[]),follow=useFollow("env"),edit=import_react90.useCallback(async(key2,initial)=>{let val=await openTextPrompt(dialog,{title:`Edit ${key2}`,label:"Value",initial});if(val==null)return;await writeEnvVar(key2,val),home2.invalidate("env"),toast.show({variant:"success",message:`${key2} saved`})},[dialog,toast]),add=import_react90.useCallback(async()=>{let key2=await openTextPrompt(dialog,{title:"New Variable",label:"Name (e.g. FOO_API_KEY)"});if(!key2)return;let val=await openTextPrompt(dialog,{title:`Set ${key2}`,label:"Value"});if(val==null)return;await writeEnvVar(key2,val),home2.invalidate("env"),toast.show({variant:"success",message:`${key2} added`})},[dialog,toast]),del=import_react90.useCallback(async(key2)=>{if(!await openConfirm(dialog,{title:"Delete Variable",body:`Remove ${key2} from .env?`,yes:"delete",danger:!0}))return;await removeEnvVar(key2),home2.invalidate("env"),toast.show({variant:"success",message:`${key2} removed`})},[dialog,toast]),revealAll=import_react90.useCallback(()=>setReveal((s)=>s.size===setKeys.length&&setKeys.length>0?new Set:new Set(setKeys)),[setKeys]),activateAt=import_react90.useCallback((i)=>{let r=rows3[i];if(r?.type==="header")return setCollapsed((p)=>({...p,[r.category]:!p[r.category]}));if(r?.type==="var"){if(r.value!==void 0&&!reveal.has(r.key))return setReveal((s)=>new Set(s).add(r.key));return void edit(r.key,r.value??"")}},[rows3,reveal,edit]),activate=import_react90.useCallback(()=>activateAt(sel),[activateAt,sel]),rowClick=import_react90.useCallback((i)=>{setSel(i),activateAt(i)},[activateAt]),keys=useKeys();return useKeyboard((key2)=>{if(!props.focused||dialog.open())return;if(searching){if(key2.name==="escape"){setSearching(!1),setQuery(""),setSel(0);return}if(key2.name==="backspace"){setQuery((q4)=>q4.slice(0,-1)),setSel(0);return}if(key2.name==="up")return setSel((p)=>Math.max(0,p-1));if(key2.name==="down")return setSel((p)=>Math.min(count3-1,p+1));if(key2.name==="return")return setSearching(!1),activate();if(key2.raw&&key2.raw.length===1&&key2.raw>=" "){setQuery((q4)=>q4+key2.raw),setSel(0);return}return}handleListKey(keys,key2,{count:count3,setSel,...follow.opts,onActivate:activate,onToggle:revealAll,onNew:add,onDelete:()=>{if(cur?.type==="var"&&cur.value!==void 0)del(cur.key)},onSearch:()=>{setSearching(!0),setQuery(""),setSel(0)},onRefresh:()=>{home2.invalidate("env"),toast.show({variant:"info",message:"Reloaded",duration:1000})}})}),$jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs(TabShell,{title:searching?"Env (searching)":"Env / API Keys",children:[searching?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:"/ "}),$jsx("span",{fg:theme.text,children:query}),$jsx("span",{fg:theme.accent,children:"\u2588"})]})}):null,$jsxs(Hdr,{children:[$jsx(Col,{w:2,fg:theme.textMuted,children:""}),$jsx(Col,{w:28,fg:theme.textMuted,bold:!0,children:"Name"}),$jsx(Col,{w:8,fg:theme.textMuted,bold:!0,children:"Status"}),$jsx(Col,{grow:!0,min:4,fg:theme.textMuted,bold:!0,children:"Value"})]}),$jsx("box",{height:1}),count3===0?$jsx("box",{flexGrow:1,padding:2,children:$jsx("text",{fg:theme.textMuted,children:searching?"No matching variables":"No variables configured"})},"empty"):$jsx("scrollbox",{ref:follow.ref,scrollY:!0,flexGrow:1,verticalScrollbarOptions:VBAR,children:$jsx("box",{flexDirection:"column",width:"100%",children:rows3.map((row,i)=>row.type==="header"?$jsx("box",{id:follow.id(i),marginTop:i>0?1:0,backgroundColor:i===sel?theme.backgroundElement:void 0,onMouseMove:()=>setSel(i),onMouseDown:()=>rowClick(i),children:$jsx("text",{fg:theme.info,children:$jsx("strong",{children:`${row.collapsed?"\u25B8":"\u25BE"} ${row.category}`})})},`h-${row.category}`):$jsx(VarRow,{id:follow.id(i),name:row.key,value:row.value,shown:reveal.has(row.key),selected:i===sel,onHover:()=>setSel(i),onClick:()=>rowClick(i)},row.key))})},"list")]}),$jsx(HintBar,{pairs:searching?[["\u2191\u2193","move"],["Enter","reveal/edit"],["Esc","cancel"]]:[["\u2191\u2193","move"],[keys.print("list.activate"),"reveal/edit"],[keys.print("list.toggle"),"show-all"],[keys.print("list.new"),"new"],[keys.print("list.delete"),"delete"],[keys.print("list.search"),"search"],[keys.print("list.refresh"),"reload"]]})]})});var import_react92=__toESM(require_react_production(),1);function usageColor(pct,theme){if(pct>=95)return theme.error;if(pct>=80)return theme.warning;return theme.success}function bar2(pct,w2){let filled=Math.round(pct/100*w2);return"\u2588".repeat(filled)+"\u2591".repeat(w2-filled)}var DESC={builtin:"File-based \xA7-delimited entries (MEMORY.md + USER.md). Always active.",mem0:"Server-side LLM fact extraction with semantic search and reranking.",honcho:"AI-native cross-session user modeling with dialectic Q&A.",hindsight:"Knowledge graph with entity resolution and multi-strategy retrieval.",holographic:"Local SQLite fact store with FTS5, trust scoring, HRR retrieval.",openviking:"Session-managed memory with tiered retrieval.",retaindb:"Cloud memory API with hybrid search and 7 memory types.",byterover:"Persistent knowledge tree via brv CLI.",supermemory:"Semantic long-term memory with profile recall and session ingest."},Memory=import_react92.memo((props)=>{let theme=useTheme().theme,dialog=useDialog(),toast=useToast(),gw=useGateway(),[sel,setSel]=import_react92.useState(0),config=useHome("config"),memory=useHome("memory"),userProfile=useHome("userProfile"),providers=useHome("memoryProviders")??[],activity=useHome("memoryActivity")??[],cfg=config?.memory,active=cfg?.provider||"",cur=providers[sel],on=!!cur&&(cur.name==="builtin"||cur.name===active),toggle=async()=>{if(!cur||cur.name==="builtin")return;let isOn=cur.name===active;if(!await openConfirm(dialog,{title:isOn?"Deactivate memory provider?":"Activate memory provider?",body:isOn?`Clear '${cur.name}' as the active provider (revert to built-in only).`:`Set '${cur.name}' as the active provider. Ensure required env vars are set (Env tab).`,yes:isOn?"deactivate":"activate"}))return;let{writeConfig:writeConfig2}=await Promise.resolve().then(() => (init_lane(),exports_lane)),r=await writeConfig2(gw,[{key:"memory.provider",to:isOn?"":cur.name}]);if(r.failed.length)return toast.show({variant:"error",message:r.failed[0].err});home2.invalidate("config"),home2.invalidate("memoryProviders"),toast.show({variant:"success",message:isOn?"Deactivated":`Activated ${cur.name} \u2014 new sessions pick this up`})},keys=useListKeys({active:()=>!!props.focused&&!dialog.open(),count:providers.length,setSel,onToggle:toggle,onRefresh:()=>{home2.invalidate("memoryProviders"),home2.invalidate("memoryActivity"),toast.show({variant:"info",message:"Reloaded",duration:1000})}}),feed=!cur?[]:cur.name==="builtin"?activity:activity.filter((a)=>a.provider===cur.name);return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsx(TabShell,{title:"Memory Providers",grow:1,children:$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:providers.map((p,i)=>{let pOn=p.name==="builtin"||p.name===active,has=Object.keys(p.config).length>0,dot=pOn?"\u25CF":has?"\u25D0":"\u25CB",fg2=pOn?theme.success:has?theme.warning:theme.textMuted,tag=pOn?"active":has?"configured":"";return $jsxs("box",{flexDirection:"column",marginBottom:1,backgroundColor:i===sel?theme.backgroundElement:void 0,onMouseDown:()=>setSel(i),onMouseMove:()=>setSel(i),children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsxs("span",{fg:fg2,children:[dot," "]}),$jsx("span",{fg:i===sel?theme.accent:theme.text,children:p.name}),tag?$jsxs("span",{fg:fg2,children:[" (",tag,")"]}):null]})}),$jsx("box",{height:1,overflow:"hidden",paddingLeft:2,children:$jsx("text",{fg:theme.textMuted,children:DESC[p.name]||"\u2014"})})]},p.name)})})}),$jsx(TabShell,{title:cur?.name??"Provider",grow:2,children:cur?$jsx(ProviderDetail,{provider:cur,active,cfg,memory,userProfile,feed}):$jsx("text",{fg:theme.textMuted,children:"Select a provider"})})]}),$jsx(HintBar,{pairs:[["\u2191\u2193","select"],[keys.print("list.toggle"),"activate"]],suffix:on?"\u25CF active":"\u25CB inactive"})]})}),ProviderDetail=import_react92.memo((props)=>{let theme=useTheme().theme,p=props.provider,on=p.name==="builtin"||p.name===props.active;return $jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsxs("box",{flexDirection:"column",children:[$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",fg:theme.textMuted,children:DESC[p.name]||"Memory provider"})}),$jsx("box",{height:1}),p.name==="builtin"?$jsxs("box",{flexDirection:"column",children:[props.cfg?$jsxs($Fragment,{children:[$jsx(KVBlock,{rows:[["Notes",props.cfg.memory_enabled?"enabled":"disabled",props.cfg.memory_enabled?theme.success:theme.error],["Profile",props.cfg.user_profile_enabled?"enabled":"disabled",props.cfg.user_profile_enabled?theme.success:theme.error]]}),$jsx("box",{height:1})]}):null,$jsx(CapacityBar,{title:"Notes (MEMORY.md)",info:props.memory??null}),$jsx("box",{height:1}),$jsx(CapacityBar,{title:"Profile (USER.md)",info:props.userProfile??null})]}):null,p.name!=="builtin"&&on&&props.cfg?$jsxs($Fragment,{children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.accent,children:$jsx("strong",{children:"Agent Settings"})})}),$jsx(KVBlock,{rows:[["Nudge",`every ${props.cfg.nudge_interval} turns`],["Flush",`after ${props.cfg.flush_min_turns} turns`]]}),$jsx("box",{height:1})]}):null,Object.keys(p.config).length>0?$jsxs($Fragment,{children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.accent,children:$jsx("strong",{children:"Local Configuration"})})}),$jsx(KVBlock,{rows:Object.entries(p.config).map(([k2,v2])=>[k2,String(v2)])})]}):p.name!=="builtin"?$jsx("box",{height:1,marginTop:1,children:$jsx("text",{fg:theme.textMuted,children:"No local config found. Run `hermes memory setup` to configure."})}):null,$jsx(ActivityFeed,{items:props.feed,own:p.name})]})})}),OP_GLYPH={write:"+",read:"?"},ActivityFeed=import_react92.memo((props)=>{let theme=useTheme().theme,all=props.own==="builtin",nW=props.items.filter((a)=>a.op==="write").length;return $jsxs("box",{flexDirection:"column",marginTop:1,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.accent,children:$jsx("strong",{children:"Recent Activity"})}),props.items.length?$jsxs("span",{fg:theme.textMuted,children:[" \xB7 ",nW," writes, ",props.items.length-nW," reads"]}):null]})}),props.items.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No memory-tool calls in the last ~2000 messages"})}):null,props.items.map((a,i)=>$jsx("box",{height:1,flexDirection:"row",overflow:"hidden",children:$jsxs("text",{children:[$jsxs("span",{fg:a.op==="write"?theme.success:theme.textMuted,children:[OP_GLYPH[a.op]," "]}),$jsx("span",{fg:theme.textMuted,children:ago(a.ts).padEnd(8)}),all&&a.provider!=="builtin"?$jsxs("span",{fg:theme.primary,children:[a.provider,"\xB7"]}):null,$jsx("span",{fg:theme.text,children:a.verb}),$jsxs("span",{fg:theme.textMuted,children:[" ",a.summary]})]})},i))]})}),CapacityBar=import_react92.memo((props)=>{let theme=useTheme().theme;if(!props.info)return $jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:[props.title,": unavailable"]})});let color=usageColor(props.info.usagePercent,theme);return $jsxs("box",{flexDirection:"column",children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.text,children:props.title}),$jsxs("span",{fg:theme.textMuted,children:[" \xB7 ",props.info.entryCount," entries"]})]})}),$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:color,children:bar2(props.info.usagePercent,20)}),$jsxs("span",{fg:theme.textMuted,children:[" ",props.info.charCount,"/",props.info.charLimit," (",props.info.usagePercent,"%)"]})]})})]})});var ConfigGroup=import_react93.memo((props)=>{let keys=useKeys(),labels=SUB_TABS[CONFIG_TAB];import_react93.useEffect(()=>{if(props.sub>=labels.length)props.setSub(0)},[props.sub,labels.length]);let hint=`${keys.print("tab.prev")}/${keys.print("tab.next")} group \xB7 shift+\u2190/\u2192 sub`;return $jsxs("box",{flexDirection:"column",flexGrow:1,minWidth:0,children:[$jsx(SubTabBar,{tabs:labels,active:props.sub,onChange:props.setSub,hint}),$jsxs("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:[$jsx(Pane3,{visible:props.sub===0,children:$jsx(Config,{focused:!!props.focused&&props.sub===0})}),$jsx(Pane3,{visible:props.sub===1,children:$jsx(Skills,{focused:!!props.focused&&props.sub===1})}),$jsx(Pane3,{visible:props.sub===2,children:$jsx(Toolsets,{focused:!!props.focused&&props.sub===2})}),$jsx(Pane3,{visible:props.sub===3,children:$jsx(Env,{focused:!!props.focused&&props.sub===3})}),$jsx(Pane3,{visible:props.sub===4,children:$jsx(Memory,{focused:!!props.focused&&props.sub===4})})]})]})}),Pane3=({visible,children:children2})=>visible?$jsx("box",{flexGrow:1,minWidth:0,flexDirection:"column",children:children2}):null;var import_react94=__toESM(require_react_production(),1);var FRAME={cw:16,ch:8,tw:20,tv:8},TL=["\u2800\u2880\u28E4\u2824\u2884\u28C0\u2804\u2880\u28E0\u28E4\u28C4\u2864\u2844\u2840\u2800\u2800","\u2800\u28DC\u2841\u28A9\u28C8\u2842\u2880\u28CB\u28ED\u2809\u2808\u2888\u28EE\u28FB\u2851\u28F6","\u2800\u28B8\u2856\u28BF\u280F\u28E4\u28F6\u28FD\u28EB\u28B6\u28E2\u284C\u2839\u28E7\u284F\u283B","\u2800\u2808\u2864\u2892\u28E6\u28BB\u28FF\u28FF\u28FF\u28BF\u28C5\u2847\u28C6\u2849\u2802\u2880","\u2801\u28B8\u284F\u2818\u280B\u289E\u28B3\u28FF\u28FF\u28DF\u284D\u284D\u28E4\u2805\u2800\u28A8","\u2800\u2824\u28AF\u28C6\u28C0\u2819\u28A6\u28FF\u284B\u2880\u28DC\u2807\u28C1\u28D2\u28CA\u28C9","\u2800\u2880\u28F7\u28DD\u28FB\u28F6\u28F6\u2884\u280D\u2818\u2841\u2847\u28E7\u28E0\u28E4\u2862","\u2800\u2800\u2818\u288E\u28BF\u28EF\u2803\u2801\u2864\u28DA\u287C\u2800\u284F\u28F9\u28FF\u2869"],TR=["\u2800\u2800\u2880\u28A0\u28A0\u28E0\u28E4\u28C0\u2840\u2820\u28C0\u2860\u2824\u28E4\u28C0\u2800","\u28F6\u288A\u28DF\u28F5\u2841\u2801\u2809\u28ED\u28D9\u2800\u2890\u28C2\u284D\u2888\u28E3\u2800","\u281F\u28B9\u28FC\u280F\u28A1\u28D4\u28B6\u28DD\u28EF\u28F6\u28E4\u2839\u287F\u28B2\u2847\u2800","\u2840\u2801\u2889\u28F0\u28B8\u28E8\u287F\u28FF\u28FF\u28FF\u285F\u28F4\u2852\u28A4\u2801\u2800","\u2845\u2804\u2828\u28E4\u28A9\u28A9\u28FB\u28FF\u28FF\u285E\u2873\u2819\u2803\u28B9\u2847\u2800","\u28C9\u28D1\u28D2\u28C8\u2838\u28E3\u2840\u2899\u28FF\u2874\u280B\u28C0\u28F0\u287D\u2824\u2880","\u2884\u28E4\u28C4\u28F8\u28B8\u2888\u2803\u2829\u2860\u28F6\u28F6\u28DF\u28EB\u28FE\u2802\u2800","\u288D\u28FF\u289F\u28B9\u2800\u28A7\u28D2\u28A4\u2801\u2808\u28FD\u287F\u2871\u2807\u2800\u2800"],BL=["\u2800\u2800\u28C0\u28FF\u28FF\u285F\u2801\u2800\u283B\u28AC\u28F3\u2800\u28C7\u28F2\u28DF\u28BF","\u2800\u2890\u287A\u28DB\u286F\u28ED\u2837\u280C\u2882\u2880\u2842\u2847\u284F\u2819\u281B\u2827","\u2800\u2816\u287C\u2809\u2809\u28A0\u28F0\u2825\u28AD\u2818\u28DB\u28C4\u288B\u28C9\u28C9\u2859","\u2800\u28B8\u284C\u2880\u28E0\u28F5\u28FF\u28FF\u28FF\u28FF\u28E8\u2803\u2837\u2802\u2810\u288D","\u2800\u2800\u283B\u281D\u283F\u28F4\u28FF\u28FF\u287F\u28FF\u28DF\u28CB\u284F\u2841\u2804\u2818","\u2800\u28B8\u28F0\u28F6\u28C4\u283B\u283F\u28FF\u28F9\u2830\u281F\u2882\u28A0\u285F\u28C6\u28F4","\u2800\u28AA\u2849\u2838\u28FB\u2807\u2800\u285D\u28DB\u2880\u2840\u28D8\u285F\u2877\u28EB\u286F","\u2800\u2819\u283B\u282A\u281C\u2813\u2802\u2808\u281B\u2813\u281B\u2819\u281A\u2808\u2801\u2800"],BR2=["\u287F\u28FB\u28D6\u28F8\u2800\u28DE\u2861\u281F\u2880\u2804\u28BB\u28FF\u28FF\u28C0\u2800\u2800","\u2836\u281B\u280B\u28B9\u28B8\u2890\u2840\u2850\u2821\u283E\u28ED\u28BD\u28DB\u2897\u2842\u2800","\u288B\u28C9\u28C9\u2859\u28E0\u28DB\u2803\u286D\u282C\u28C6\u2844\u2809\u2829\u28A7\u2832\u2800","\u2869\u2802\u2810\u283E\u2818\u28C5\u28FF\u28FF\u28FF\u28FF\u28EE\u28C4\u2840\u28B1\u2847\u2800","\u2803\u2880\u2888\u28B3\u28D9\u28FB\u28FF\u28DF\u28FF\u28FF\u28E6\u283F\u282B\u281F\u2800\u2800","\u28E6\u28F0\u28BB\u2844\u2850\u283B\u2803\u28CF\u28FF\u283F\u281F\u28E0\u28F6\u28C6\u2847\u2800","\u28BD\u28DD\u28AF\u28BB\u28C3\u2880\u2840\u28DB\u28E9\u2800\u2838\u28DF\u2807\u2889\u2855\u2800","\u2801\u2800\u2801\u2813\u280B\u281B\u281A\u281B\u2801\u2810\u281A\u2823\u2807\u281F\u280B\u2800"],T2=["\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u28C0\u28C0\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800\u2800","\u2844\u28E2\u28F4\u28F6\u2836\u2816\u2832\u28CC\u2818\u2809\u2822\u285B\u28A1\u2834\u2832\u2836\u28F0\u2896\u28B4\u28E4","\u28FE\u28E5\u283F\u2800\u28E0\u28B0\u283F\u28BE\u2850\u283E\u283F\u2887\u2873\u28FF\u28D7\u2804\u2800\u2823\u28D1\u28F5","\u28BE\u285F\u2804\u2810\u28AD\u28CD\u2896\u2844\u2828\u28BB\u28EB\u283D\u287C\u287F\u28BD\u28A5\u2842\u2804\u283B\u287D","\u2813\u287B\u28B6\u28C4\u2848\u2818\u282D\u281A\u280D\u28BB\u2849\u280B\u280B\u282D\u2803\u2803\u2861\u28F6\u28DF\u28BE","\u2801\u2804\u2809\u2809\u281A\u2824\u2824\u282C\u281F\u2830\u2827\u280A\u282F\u2834\u2824\u2813\u281B\u2809\u2810\u2822","\u28DB\u28DB\u285F\u28DB\u285B\u28DB\u28DB\u289B\u28DB\u28DB\u285B\u28DB\u28DB\u289B\u28FB\u28FB\u28DF\u281B\u28FB\u28BB","\u28CA\u28C9\u28C9\u28DB\u28CB\u28D9\u28CB\u28FC\u28F7\u28E5\u28EF\u28FA\u28CB\u28F5\u28F7\u28ED\u28D9\u28D1\u28FB\u28FD"],B2=["\u28FF\u28BF\u28FF\u28FF\u28BF\u28FF\u287F\u287F\u28FF\u28FF\u283F\u28FF\u28BF\u287F\u28FF\u28FF\u287F\u28FF\u287F\u28BF","\u28C3\u28DB\u28C8\u28D3\u28DA\u28DA\u28C3\u28D9\u28DB\u28C9\u28DB\u28DB\u28C1\u28DB\u28D9\u28D9\u28CB\u28D8\u28C9\u28D9","\u2820\u2884\u2884\u28C0\u2864\u28E4\u2810\u28E0\u2884\u28A0\u2844\u2864\u28C4\u2800\u2864\u2884\u28C0\u2840\u2880\u2880","\u28F1\u282C\u282B\u2811\u2881\u28E0\u28A0\u286B\u28E1\u28E0\u28E4\u28C9\u2885\u2884\u28C4\u2809\u283B\u2850\u28A5\u28CC","\u2894\u28C8\u2800\u28B0\u2841\u28B6\u28FF\u28FF\u28DF\u28FF\u28C3\u285B\u2815\u280D\u28E6\u28C3\u2844\u2802\u28F9\u2862","\u287F\u288F\u2884\u2800\u2803\u28EB\u28FF\u289C\u28A9\u28F6\u28E6\u2809\u2876\u28FE\u2856\u281B\u2800\u28E0\u285B\u287F","\u283C\u28BE\u283F\u28F5\u28D6\u28D8\u2834\u2803\u2808\u2886\u2880\u2800\u2873\u2824\u28C2\u28F2\u28FE\u282F\u281A\u280F","\u2800\u2800\u2801\u2800\u2800\u2800\u2800\u2808\u2809\u2819\u280B\u2809\u2801\u2800\u2800\u2800\u2800\u2800\u2800\u2800"],L2=["\u2800\u2800\u2890\u289F\u28FE\u283F\u282E\u2836\u2877\u28EA\u283E\u2802\u2857\u28AD\u28BF\u28B9","\u2800\u2800\u28E8\u2855\u2809\u2861\u2824\u28C1\u284C\u282A\u28A7\u2801\u2847\u28F0\u28FF\u28BC","\u2800\u2800\u2839\u2843\u28BE\u28D5\u28F7\u2866\u28D3\u2840\u2849\u2846\u284F\u28F6\u2863\u28FB","\u2800\u28B0\u2876\u28AC\u28ED\u285C\u28FF\u28FF\u28EF\u2888\u2893\u2801\u284F\u28DA\u287E\u28FF","\u2800\u2818\u285B\u288A\u28D9\u2823\u2887\u28AF\u28FF\u2828\u286D\u2841\u2867\u28BC\u28F2\u28FF","\u2800\u2800\u28B1\u2849\u28BF\u2847\u2824\u28DD\u2844\u2800\u2841\u2801\u284F\u28F6\u2896\u28BF","\u2800\u2800\u28B0\u28E7\u2840\u2813\u2813\u2809\u2881\u28F4\u284D\u2800\u2847\u283A\u283D\u28BA","\u2800\u2800\u2828\u283A\u28FD\u28F7\u28E6\u2874\u285A\u2803\u2880\u2800\u2847\u287E\u28FF\u28B9"],R=["\u284F\u287F\u286D\u28BA\u2880\u2837\u289D\u28BE\u2836\u2835\u283F\u28F7\u287B\u2842\u2800\u2800","\u2867\u28FF\u28C6\u28B8\u2800\u287C\u2815\u28A1\u28C0\u2824\u288C\u2809\u28AA\u28C5\u2801\u2800","\u28DF\u289C\u28F6\u28B9\u28B0\u2889\u2880\u28DA\u28B4\u28FE\u28EA\u2877\u2898\u280F\u2800\u2800","\u28FF\u28B7\u285B\u28B9\u2808\u285A\u2841\u28FD\u28FF\u28FF\u28A3\u28ED\u2865\u28B6\u2846\u2800","\u28FF\u28D6\u2867\u28BC\u2888\u28AD\u2805\u28FF\u287D\u2878\u2858\u28CB\u2851\u289B\u2803\u2800","\u287F\u2872\u28F6\u28B9\u2808\u2888\u2800\u28A0\u28EB\u2824\u28B8\u287F\u2889\u2846\u2800\u2800","\u2857\u282F\u2817\u28B8\u2800\u28A9\u28E6\u2848\u2809\u281A\u281A\u2880\u28FC\u2846\u2800\u2800","\u284F\u28FF\u28AF\u28B8\u2800\u2880\u2818\u2893\u28A6\u28B6\u28FE\u28EF\u2817\u2805\u2800\u2800"];function frame(w2,h2){let{cw,ch,tw,tv}=FRAME,mw=w2-2*cw,mh=h2-2*ch,inner={x:cw,y:ch,w:Math.max(0,mw),h:Math.max(0,mh)};if(mw<4||mh<2)return{lines:[],inner};let repH=(p,span2)=>p.map((l2)=>l2.repeat(Math.ceil(span2/tw)).slice(0,span2)),repV=(p,span2)=>Array.from({length:span2},(_2,i)=>p[i%tv]),t2=repH(T2,mw),b2=repH(B2,mw),l=repV(L2,mh),r=repV(R,mh),mid2=" ".repeat(mw),out=[];for(let i=0;i<ch;i++)out.push(TL[i]+t2[i]+TR[i]);for(let i=0;i<mh;i++)out.push(l[i]+mid2+r[i]);for(let i=0;i<ch;i++)out.push(BL[i]+b2[i]+BR2[i]);return{lines:out,inner}}import{readFileSync as readFileSync5}from"fs";import{join as join10}from"path";var FALLBACK=["`@file:path/to/file.py` injects file contents directly into your message.","`/title <name>` names the session \u2014 resume it later from the Sessions tab.","Ctrl+G opens $EDITOR seeded with the composer contents.","Ctrl+Z suspends to the shell; `fg` resumes.","Pasting 5+ lines collapses to a `[Pasted #N \u2026]` placeholder.","Click a user message in the transcript to rewind to that point."],HL=/(\/[a-z][\w-]*|@[\w:./-]+|(?:Ctrl|Alt|Shift)\+\S+|`[^`]+`|"[^"]+")/g;function splitTip(tip2){let out=[],i=0;for(let m2 of tip2.matchAll(HL)){let j2=m2.index;if(j2>i)out.push({t:tip2.slice(i,j2),hl:!1});out.push({t:m2[0].replace(/^`|`$/g,""),hl:!0}),i=j2+m2[0].length}if(i<tip2.length)out.push({t:tip2.slice(i),hl:!1});return out}var cache3=null;function loadTips(){if(cache3)return cache3;try{let body=readFileSync5(join10(hermesAgentRoot(),"hermes_cli","tips.py"),"utf8").split(/^TIPS\s*=\s*\[/m)[1]?.split(/^\]/m)[0]??"",tips=[];for(let line3 of body.split(`
4125
4125
  `)){let m2=line3.match(/^\s+"((?:[^"\\]|\\.)*)",?\s*$/);if(m2)tips.push(m2[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\"))}cache3=tips.length>10?tips:FALLBACK}catch{cache3=FALLBACK}return cache3}function randomTip(prev){let t2=loadTips();if(t2.length<2)return t2[0]??"";let pick=t2[Math.floor(Math.random()*t2.length)];while(pick===prev)pick=t2[Math.floor(Math.random()*t2.length)];return pick}import{readFileSync as readFileSync6,existsSync as existsSync12}from"fs";import{dirname as dirname6,join as join11}from"path";var pkgVersion=(d2,up=4)=>{let p=join11(d2,"package.json");if(existsSync12(p))return JSON.parse(readFileSync6(p,"utf8")).version;return up>0?pkgVersion(dirname6(d2),up-1):"0.0.0"},VERSION=pkgVersion(import.meta.dirname);function parseLaunch(argv){let splash=!0;for(let i=0;i<argv.length;i++){let a=argv[i];if(a==="--no-splash"){splash=!1;continue}if(a==="-c"||a==="--continue")return{mode:"resume",splash};if(a==="--resume"){let next2=argv[i+1];return next2&&!next2.startsWith("-")?{mode:"resume",sid:next2,splash}:{mode:"resume",splash}}}return{mode:"new",splash}}var HELP=`herm \u2014 OpenTUI client for hermes-agent
4126
4126
 
4127
4127
  Usage:
@@ -4131,12 +4131,12 @@ Usage:
4131
4131
  herm --no-splash skip the launch splash
4132
4132
  herm -v, --version print version
4133
4133
  herm -h, --help show this help
4134
- `;var TIERS=["block","slick","tiny"],pickFont=(innerW)=>TIERS.find((f)=>measureText({text:"HERM",font:f}).width<=innerW)??"tiny",clip=(s,w2)=>[...s].length<=w2?s:[...s].slice(0,Math.max(1,w2-1)).join("")+"\u2026";function Splash(p){let theme=useTheme().theme,ref=import_react94.useRef(null),[box,setBox]=import_react94.useState({w:0,h:0}),renderer=useRenderer();import_react94.useEffect(()=>{let cb=async()=>{let r=ref.current;if(!r)return;setBox((b2)=>b2.w===r.width&&b2.h===r.height?b2:{w:r.width,h:r.height})};return renderer.setFrameCallback(cb),()=>renderer.removeFrameCallback(cb)},[renderer]);let{lines:lines2,inner}=import_react94.useMemo(()=>frame(box.w,box.h),[box.w,box.h]),font=import_react94.useMemo(()=>pickFont(inner.w),[inner.w]),[tip2,setTip]=import_react94.useState(()=>randomTip()),behind=p.info?.behind,sub2=[`v${VERSION}`,p.info?`hermes ${p.info.agentVersion??"?"}`:"\u2026",behind==null?null:behind===0?"up to date":`${behind} behind`,p.info?.model].filter(Boolean).join(" \xB7 "),prompt=p.last&&!p.composing,title=p.last?.title?.trim()||p.last?.id;return $jsxs("box",{ref,position:"absolute",left:0,top:0,right:0,bottom:0,zIndex:50,backgroundColor:theme.background,children:[lines2.map((l,i)=>$jsx("box",{position:"absolute",top:i,left:0,height:1,children:$jsx("text",{fg:theme.accent,children:l})},i)),lines2.length>0&&$jsxs("box",{position:"absolute",left:inner.x,top:inner.y,width:inner.w,height:inner.h,flexDirection:"column",alignItems:"center",justifyContent:"center",children:[$jsx("box",{children:$jsx("ascii-font",{text:"HERM",font,color:[theme.accent,theme.textMuted],selectable:!1})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:clip(sub2,inner.w)})}),p.news?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:clip(`\u203A ${p.news}`,inner.w)})}):null,$jsx("box",{height:2}),p.loading?$jsx("text",{fg:theme.textMuted,children:$jsx("span",{fg:theme.accent,children:"Loading\u2026"})}):prompt?$jsxs($Fragment2,{children:[$jsxs("text",{fg:theme.textMuted,children:["continue ",$jsxs("span",{fg:theme.text,children:['"',clip(title??"",Math.max(8,inner.w-14)),'"']})," ?"]}),$jsxs("text",{fg:theme.textMuted,children:[$jsx("span",{fg:theme.accent,children:"[enter]"})," yes \xB7 type to start fresh"]})]}):$jsxs("text",{fg:theme.textMuted,children:[$jsx("span",{fg:theme.accent,children:"[enter]"})," to send"]}),inner.h>=14?$jsx("box",{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",alignItems:"center",onMouseDown:()=>setTip((t2)=>randomTip(t2)),children:$jsx("text",{wrapMode:"word",children:splitTip(clip(tip2,inner.w*2)).map((s,i)=>$jsx("span",{fg:s.hl?theme.accent:theme.textMuted,children:s.t},i))})}):null]})]})}init_sessions_db();function openMessage(dialog,m2,ops){let text2=m2.parts.filter((p)=>p.type==="text").map((p)=>p.content).join("");dialog.replace($jsx(DialogSelect,{title:"Message Actions",options:[{title:"Copy",value:"copy",description:"message text to clipboard"},{title:"Rewind here",value:"rewind",description:"undo back to this turn (destructive)"},{title:"Fork here",value:"fork",description:"branch a new session at this point"}],onSelect:(o)=>{if(dialog.clear(),o.value==="copy")return void copy(text2);if(o.value==="rewind")return ops.rewind(m2);if(o.value==="fork")return ops.fork(m2)}}))}import{existsSync as existsSync13}from"fs";import{join as join12,dirname as dirname7}from"path";var locate=()=>{let d2=import.meta.dir;for(let i=0;i<5;i++){let p=join12(d2,"assets/eikons");if(existsSync13(p))return p;let up=dirname7(d2);if(up===d2)break;d2=up}return join12(import.meta.dir,"../../../assets/eikons")},BUNDLED_EIKON_DIR=locate();function bundledEikonPath(name){if(!name)return;let p=join12(BUNDLED_EIKON_DIR,`${name}.eikon`);return existsSync13(p)?p:void 0}var LOCAL_NAMES=new Set(["clear","new","theme","help","keys","logs","eikon","title","rollback","save","history","status","usage","profile","steer","reload","reload-mcp","reload-skills","chafa","splash","skin","resume","branch","compress","undo","redo","retry","model","quit","copy","paste","image","background","voice","mouse","redraw","queue","stash","compact","setup"]),LOCAL_COMMANDS=[{name:"clear",description:"Clear chat messages",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"new",description:"Start a new session",category:"Client",aliases:["reset"],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"theme",description:"Switch color theme",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"help",description:"Show keyboard shortcuts",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"keys",description:"Rebind keyboard shortcuts",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"logs",description:"Show gateway stderr log",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"eikon",description:"Pick sidebar avatar",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"title",description:"Set session title",category:"Client",aliases:[],argsHint:"[text]",subcommands:[],source:"local",target:"local"},{name:"rollback",description:"Browse & restore checkpoints",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"history",description:"Server-side transcript viewer",category:"Info",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"status",description:"Version, model, paths",category:"Info",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"usage",description:"Tokens, context fill, cost",category:"Info",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"profile",description:"Active profile details",category:"Info",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"steer",description:"Inject a note mid-turn (no interrupt)",category:"Session",aliases:[],argsHint:"[text]",subcommands:[],source:"local",target:"local"},{name:"reload-mcp",description:"Restart MCP servers & rediscover tools",category:"Session",aliases:[],argsHint:"[now|always]",subcommands:["now","always"],source:"local",target:"local"},{name:"reload",description:"Hot-reload ~/.hermes/.env (API keys)",category:"Session",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"reload-skills",description:"Re-scan ~/.hermes/skills/ for added/removed skills",category:"Session",aliases:["reload_skills"],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"chafa",description:"Render image via chafa (demo)",category:"Client",aliases:[],argsHint:"<path>",subcommands:[],source:"local",target:"local"},{name:"splash",description:"Show the launch splash",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"goal",description:"Set/control the session goal",category:"Session",aliases:[],argsHint:"[text|done|pause|resume|clear|status]",subcommands:["done","pause","resume","clear","status"],source:"command",target:"gateway"},{name:"skin",description:"Switch Hermes skin (+ theme + eikon)",category:"Client",aliases:[],argsHint:"[name]",subcommands:[...SKINS],source:"local",target:"local"},{name:"stash",description:"Park the prompt (pop/list to restore)",category:"Client",aliases:[],argsHint:"[pop|list]",subcommands:["pop","list"],source:"local",target:"local"},{name:"redo",description:"Re-send the last undone message",category:"Session",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"}];function resolve7(list,name){let q4=name.toLowerCase();for(let c of list)if(c.name.toLowerCase()===q4||c.aliases.some((a)=>a.toLowerCase()===q4))return{hit:c};let hits=new Set;for(let c of list)for(let n of[c.name,...c.aliases])if(n.toLowerCase().startsWith(q4)){hits.add(c);break}if(hits.size===1)return{hit:[...hits][0]};if(hits.size===0)return{miss:!0};return{ambiguous:[...hits].map((c)=>`/${c.name}`).sort()}}function matchSub(list,input){let m2=input.match(/^\/(\w+)\s+(\S*)$/);if(!m2)return null;let name=m2[1],sub2=m2[2],cmd=list.find((c)=>c.name===name||c.aliases.includes(name));if(!cmd||cmd.subcommands.length===0)return null;let q4=sub2.toLowerCase(),matches=cmd.subcommands.filter((s)=>s.toLowerCase().startsWith(q4));if(matches.length===0)return null;return matches.map((s)=>({...cmd,name:`${cmd.name} ${s}`,description:`${cmd.name} \u2192 ${s}`,argsHint:"",subcommands:[]}))}var CATEGORY_ORDER=["Client","Session","Configuration","Config","Tools & Skills","Skills","Plugins","MCP","Info","Exit"];function sort(list){let idx=(c)=>{let i=CATEGORY_ORDER.indexOf(c);return i<0?999:i};return[...list].sort((a,b2)=>{let ca=idx(a.category)-idx(b2.category);return ca!==0?ca:a.name.localeCompare(b2.name)})}var import_react96=__toESM(require_react_production(),1);var bare=(s)=>s[0]==="/"?s.slice(1):s;function useSlashCommands(){let gw=useGateway(),ready=useGatewayReady(),[cmds,setCmds]=import_react96.useState(LOCAL_COMMANDS),fetch2=import_react96.useCallback(async()=>{let res=await gw.request("commands.catalog").catch(()=>null);if(!res){setCmds(LOCAL_COMMANDS);return}let cat=new Map;for(let g of res.categories??[])for(let[n]of g.pairs??[])cat.set(bare(n),g.name);let alias=new Map;for(let[a,c]of Object.entries(res.canon??{})){let k2=bare(c),v2=bare(a);if(k2===v2)continue;(alias.get(k2)??alias.set(k2,[]).get(k2)).push(v2)}let sub2=new Map(Object.entries(res.sub??{}).map(([k2,v2])=>[bare(k2),v2])),local=new Map(LOCAL_COMMANDS.map((c)=>[c.name,c])),remote=(res.pairs??[]).map(([raw,desc])=>{let name=bare(raw),l=local.get(name);return{name,description:desc,category:cat.get(name)??(name.includes(":")?"Skills":"Command"),aliases:alias.get(name)??[],argsHint:l?.argsHint??"",subcommands:sub2.get(name)??l?.subcommands??[],source:"command",target:LOCAL_NAMES.has(name)?"local":"gateway"}}),seen=new Set(remote.map((c)=>c.name)),locals=LOCAL_COMMANDS.filter((c)=>!seen.has(c.name));setCmds(sort([...locals,...remote]))},[gw]);return import_react96.useEffect(()=>{if(ready)fetch2()},[ready,fetch2]),{cmds,refresh:fetch2}}var import_react109=__toESM(require_react_production(),1);var import_react97=__toESM(require_react_production(),1);var GROUPS2=[{title:"Global",scope:"global"},{title:"Composer",scope:"composer"},{title:"Lists",scope:"list"},{title:"Dialogs",scope:"dialog"},{title:"Sessions",scope:"sessions"},{title:"Agents",scope:"agents"},{title:"Config",scope:"config"}],COLS3=2,HelpDialog=()=>{let theme=useTheme().theme,keys=useKeys(),sections2=import_react97.useMemo(()=>GROUPS2.map((g)=>({title:g.title,rows:keys.all(g.scope).filter((e)=>e.id!=="leader"&&e.chord.length>0).map((e)=>[keys.print(e.id),e.desc])})).filter((s)=>s.rows.length>0),[keys]),total=sections2.reduce((n,s)=>n+s.rows.length+2,0),split=Math.ceil(total/COLS3),cols2=[[],[]],acc2=0;for(let s of sections2){let h2=s.rows.length+2,i=acc2+h2<=split||cols2[0].length===0?0:1;if(cols2[i].push(s),i===0)acc2+=h2}return $jsxs("box",{flexDirection:"column",width:104,children:[$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{flexGrow:1,children:$jsx("text",{fg:theme.text,children:$jsx("strong",{children:"Keyboard Shortcuts"})})}),$jsx("text",{fg:theme.textMuted,children:`leader = ${keys.print("leader")}`})]}),$jsx("box",{height:1}),$jsx("box",{flexDirection:"row",gap:3,children:cols2.map((col,ci)=>$jsx("box",{flexDirection:"column",flexGrow:1,flexBasis:0,children:col.map((s)=>$jsxs("box",{flexDirection:"column",marginBottom:1,children:[$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:s.title})}),s.rows.map(([chord,desc])=>$jsxs("box",{flexDirection:"row",height:1,paddingLeft:1,children:[$jsx("box",{width:14,children:$jsx("text",{fg:theme.accent,children:chord})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:desc})})]},chord+desc))]},s.title))},ci))}),$jsx("text",{fg:theme.textMuted,children:"esc to close"})]})};var import_react98=__toESM(require_react_production(),1);import{existsSync as existsSync14,readFileSync as readFileSync7}from"fs";import{homedir as homedir7}from"os";import{join as join13}from"path";var OC_TO_HERM=[["leader","leader"],["app_exit","app.exit"],["terminal_suspend","app.suspend"],["sidebar_toggle","app.sidebar"],["command_list","palette.open"],["editor_open","editor.open"],["theme_list","theme.pick"],["model_list","model.pick"],["status_view","status.open"],["session_new","session.new"],["session_compact","session.compress"],["session_timeline","session.timeline"],["session_interrupt","session.interrupt"],["session_rename","sessions.rename"],["messages_copy","reply.copy"],["messages_redo","session.redo"],["input_clear","input.clear"],["input_submit","input.submit"],["input_newline","input.newline"],["input_paste","clipboard.attach"]],TABLE=new Map(OC_TO_HERM),ocPaths=(cwd=process.cwd())=>[join13(homedir7(),".config","opencode","tui.json"),join13(cwd,"tui.json"),join13(cwd,".opencode","tui.json"),join13(cwd,"opencode.json")],read=(p)=>{if(!existsSync14(p))return{};return JSON.parse(readFileSync7(p,"utf8")).keybinds??{}},loadOcKeybinds=(cwd)=>{let merged={},sources=[];for(let p of ocPaths(cwd)){let kb=read(p);if(Object.keys(kb).length===0)continue;Object.assign(merged,kb),sources.push(p)}let overrides={},skipped=[];for(let[oc,chord]of Object.entries(merged)){let herm=TABLE.get(oc);if(herm)overrides[herm]=chord;else skipped.push(oc)}return{overrides,skipped,sources}};var GROUPS3=[{title:"Global",scope:"global"},{title:"Composer",scope:"composer"},{title:"Lists",scope:"list"},{title:"Dialogs",scope:"dialog"},{title:"Sessions",scope:"sessions"},{title:"Agents",scope:"agents"},{title:"Config",scope:"config"}],KeysDialog=(props)=>{let theme=useTheme().theme,keys=useKeys(),toast=useToast(),overrides=exports_preferences.get("keys")??{},rows3=import_react98.useMemo(()=>GROUPS3.flatMap((g)=>{let entries=keys.all(g.scope).filter((e)=>e.id!=="leader");if(entries.length===0)return[];return[{type:"header",title:g.title},...entries.map((e)=>({type:"action",id:e.id,desc:e.desc,chord:e.chord,override:overrides[e.id]!==void 0}))]}),[keys,overrides]),actionRows=rows3.map((r,i)=>({r,i})).filter((x2)=>x2.r.type==="action"),[sel,setSel]=import_react98.useState(0),cur=actionRows[sel]?.r,curConflicts=cur?conflictsWith(keys.table,cur.id):[],write=(id,value)=>{let next2={...exports_preferences.get("keys")??{}};if(value===void 0)delete next2[id];else next2[id]=value;exports_preferences.set("keys",next2)},rebind=(id)=>{let now2=overrides[id]??DEFAULTS2[id].chord;openTextPrompt(props.dialog,{title:`Rebind ${id}`,label:"Chord (e.g. ctrl+k, <leader>m, shift+return; empty = unbind)",initial:now2}).then((v2)=>{if(openKeys(props.dialog),v2===null)return;let parsed=parse2(v2);write(id,parsed.length===0?"none":v2)})},importOc=()=>{let r=loadOcKeybinds();if(r.sources.length===0)return toast.show({variant:"info",message:"No opencode tui.json found"});let n=Object.keys(r.overrides).length;openConfirm(props.dialog,{title:`Import ${n} keybind${n===1?"":"s"} from opencode?`,body:`${r.sources.map((s)=>`\xB7 ${s}`).join(`
4134
+ `;var TIERS=["block","slick","tiny"],pickFont=(innerW)=>TIERS.find((f)=>measureText({text:"HERM",font:f}).width<=innerW)??"tiny",clip=(s,w2)=>[...s].length<=w2?s:[...s].slice(0,Math.max(1,w2-1)).join("")+"\u2026";function Splash(p){let theme=useTheme().theme,ref=import_react94.useRef(null),[box,setBox]=import_react94.useState({w:0,h:0}),renderer=useRenderer();import_react94.useEffect(()=>{let cb=async()=>{let r=ref.current;if(!r)return;setBox((b2)=>b2.w===r.width&&b2.h===r.height?b2:{w:r.width,h:r.height})};return renderer.setFrameCallback(cb),()=>renderer.removeFrameCallback(cb)},[renderer]);let{lines:lines2,inner}=import_react94.useMemo(()=>frame(box.w,box.h),[box.w,box.h]),font=import_react94.useMemo(()=>pickFont(inner.w),[inner.w]),[tip2,setTip]=import_react94.useState(()=>randomTip()),behind=p.info?.behind,sub2=[`v${VERSION}`,p.info?`hermes ${p.info.agentVersion??"?"}`:"\u2026",behind==null?null:behind===0?"up to date":`${behind} behind`,p.info?.model].filter(Boolean).join(" \xB7 "),prompt=p.last&&!p.composing,title=p.last?.title?.trim()||p.last?.id;return $jsxs("box",{ref,position:"absolute",left:0,top:0,right:0,bottom:0,zIndex:50,backgroundColor:theme.background,children:[lines2.map((l,i)=>$jsx("box",{position:"absolute",top:i,left:0,height:1,children:$jsx("text",{fg:theme.accent,children:l})},i)),lines2.length>0&&$jsxs("box",{position:"absolute",left:inner.x,top:inner.y,width:inner.w,height:inner.h,flexDirection:"column",alignItems:"center",justifyContent:"center",children:[$jsx("box",{children:$jsx("ascii-font",{text:"HERM",font,color:[theme.accent,theme.textMuted],selectable:!1})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:clip(sub2,inner.w)})}),p.news?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:clip(`\u203A ${p.news}`,inner.w)})}):null,$jsx("box",{height:2}),p.loading?$jsx("text",{fg:theme.textMuted,children:$jsx("span",{fg:theme.accent,children:"Loading\u2026"})}):prompt?$jsxs($Fragment,{children:[$jsxs("text",{fg:theme.textMuted,children:["continue ",$jsxs("span",{fg:theme.text,children:['"',clip(title??"",Math.max(8,inner.w-14)),'"']})," ?"]}),$jsxs("text",{fg:theme.textMuted,children:[$jsx("span",{fg:theme.accent,children:"[enter]"})," yes \xB7 type to start fresh"]})]}):$jsxs("text",{fg:theme.textMuted,children:[$jsx("span",{fg:theme.accent,children:"[enter]"})," to send"]}),inner.h>=14?$jsx("box",{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",alignItems:"center",onMouseDown:()=>setTip((t2)=>randomTip(t2)),children:$jsx("text",{wrapMode:"word",children:splitTip(clip(tip2,inner.w*2)).map((s,i)=>$jsx("span",{fg:s.hl?theme.accent:theme.textMuted,children:s.t},i))})}):null]})]})}init_sessions_db();function openMessage(dialog,m2,ops){let text2=m2.parts.filter((p)=>p.type==="text").map((p)=>p.content).join("");dialog.replace($jsx(DialogSelect,{title:"Message Actions",options:[{title:"Copy",value:"copy",description:"message text to clipboard"},{title:"Rewind here",value:"rewind",description:"undo back to this turn (destructive)"},{title:"Fork here",value:"fork",description:"branch a new session at this point"}],onSelect:(o)=>{if(dialog.clear(),o.value==="copy")return void copy(text2);if(o.value==="rewind")return ops.rewind(m2);if(o.value==="fork")return ops.fork(m2)}}))}import{existsSync as existsSync13}from"fs";import{join as join12,dirname as dirname7}from"path";var locate=()=>{let d2=import.meta.dir;for(let i=0;i<5;i++){let p=join12(d2,"assets/eikons");if(existsSync13(p))return p;let up=dirname7(d2);if(up===d2)break;d2=up}return join12(import.meta.dir,"../../../assets/eikons")},BUNDLED_EIKON_DIR=locate();function bundledEikonPath(name){if(!name)return;let p=join12(BUNDLED_EIKON_DIR,`${name}.eikon`);return existsSync13(p)?p:void 0}var LOCAL_NAMES=new Set(["clear","new","theme","help","keys","logs","eikon","title","rollback","save","history","status","usage","profile","steer","reload","reload-mcp","reload-skills","chafa","splash","skin","resume","branch","compress","undo","redo","retry","model","quit","copy","paste","image","background","voice","mouse","redraw","queue","stash","compact","setup"]),LOCAL_COMMANDS=[{name:"clear",description:"Clear chat messages",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"new",description:"Start a new session",category:"Client",aliases:["reset"],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"theme",description:"Switch color theme",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"help",description:"Show keyboard shortcuts",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"keys",description:"Rebind keyboard shortcuts",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"logs",description:"Show gateway stderr log",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"eikon",description:"Pick sidebar avatar",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"title",description:"Set session title",category:"Client",aliases:[],argsHint:"[text]",subcommands:[],source:"local",target:"local"},{name:"rollback",description:"Browse & restore checkpoints",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"history",description:"Server-side transcript viewer",category:"Info",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"status",description:"Version, model, paths",category:"Info",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"usage",description:"Tokens, context fill, cost",category:"Info",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"profile",description:"Active profile details",category:"Info",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"steer",description:"Inject a note mid-turn (no interrupt)",category:"Session",aliases:[],argsHint:"[text]",subcommands:[],source:"local",target:"local"},{name:"reload-mcp",description:"Restart MCP servers & rediscover tools",category:"Session",aliases:[],argsHint:"[now|always]",subcommands:["now","always"],source:"local",target:"local"},{name:"reload",description:"Hot-reload ~/.hermes/.env (API keys)",category:"Session",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"reload-skills",description:"Re-scan ~/.hermes/skills/ for added/removed skills",category:"Session",aliases:["reload_skills"],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"chafa",description:"Render image via chafa (demo)",category:"Client",aliases:[],argsHint:"<path>",subcommands:[],source:"local",target:"local"},{name:"splash",description:"Show the launch splash",category:"Client",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"},{name:"goal",description:"Set/control the session goal",category:"Session",aliases:[],argsHint:"[text|done|pause|resume|clear|status]",subcommands:["done","pause","resume","clear","status"],source:"command",target:"gateway"},{name:"skin",description:"Switch Hermes skin (+ theme + eikon)",category:"Client",aliases:[],argsHint:"[name]",subcommands:[...SKINS],source:"local",target:"local"},{name:"stash",description:"Park the prompt (pop/list to restore)",category:"Client",aliases:[],argsHint:"[pop|list]",subcommands:["pop","list"],source:"local",target:"local"},{name:"redo",description:"Re-send the last undone message",category:"Session",aliases:[],argsHint:"",subcommands:[],source:"local",target:"local"}];function resolve7(list,name){let q4=name.toLowerCase();for(let c of list)if(c.name.toLowerCase()===q4||c.aliases.some((a)=>a.toLowerCase()===q4))return{hit:c};let hits=new Set;for(let c of list)for(let n of[c.name,...c.aliases])if(n.toLowerCase().startsWith(q4)){hits.add(c);break}if(hits.size===1)return{hit:[...hits][0]};if(hits.size===0)return{miss:!0};return{ambiguous:[...hits].map((c)=>`/${c.name}`).sort()}}function matchSub(list,input){let m2=input.match(/^\/(\w+)\s+(\S*)$/);if(!m2)return null;let name=m2[1],sub2=m2[2],cmd=list.find((c)=>c.name===name||c.aliases.includes(name));if(!cmd||cmd.subcommands.length===0)return null;let q4=sub2.toLowerCase(),matches=cmd.subcommands.filter((s)=>s.toLowerCase().startsWith(q4));if(matches.length===0)return null;return matches.map((s)=>({...cmd,name:`${cmd.name} ${s}`,description:`${cmd.name} \u2192 ${s}`,argsHint:"",subcommands:[]}))}var CATEGORY_ORDER=["Client","Session","Configuration","Config","Tools & Skills","Skills","Plugins","MCP","Info","Exit"];function sort(list){let idx=(c)=>{let i=CATEGORY_ORDER.indexOf(c);return i<0?999:i};return[...list].sort((a,b2)=>{let ca=idx(a.category)-idx(b2.category);return ca!==0?ca:a.name.localeCompare(b2.name)})}var import_react96=__toESM(require_react_production(),1);var bare=(s)=>s[0]==="/"?s.slice(1):s;function useSlashCommands(){let gw=useGateway(),ready=useGatewayReady(),[cmds,setCmds]=import_react96.useState(LOCAL_COMMANDS),fetch2=import_react96.useCallback(async()=>{let res=await gw.request("commands.catalog").catch(()=>null);if(!res){setCmds(LOCAL_COMMANDS);return}let cat=new Map;for(let g of res.categories??[])for(let[n]of g.pairs??[])cat.set(bare(n),g.name);let alias=new Map;for(let[a,c]of Object.entries(res.canon??{})){let k2=bare(c),v2=bare(a);if(k2===v2)continue;(alias.get(k2)??alias.set(k2,[]).get(k2)).push(v2)}let sub2=new Map(Object.entries(res.sub??{}).map(([k2,v2])=>[bare(k2),v2])),local=new Map(LOCAL_COMMANDS.map((c)=>[c.name,c])),remote=(res.pairs??[]).map(([raw,desc])=>{let name=bare(raw),l=local.get(name);return{name,description:desc,category:cat.get(name)??(name.includes(":")?"Skills":"Command"),aliases:alias.get(name)??[],argsHint:l?.argsHint??"",subcommands:sub2.get(name)??l?.subcommands??[],source:"command",target:LOCAL_NAMES.has(name)?"local":"gateway"}}),seen=new Set(remote.map((c)=>c.name)),locals=LOCAL_COMMANDS.filter((c)=>!seen.has(c.name));setCmds(sort([...locals,...remote]))},[gw]);return import_react96.useEffect(()=>{if(ready)fetch2()},[ready,fetch2]),{cmds,refresh:fetch2}}var import_react109=__toESM(require_react_production(),1);var import_react97=__toESM(require_react_production(),1);var GROUPS2=[{title:"Global",scope:"global"},{title:"Composer",scope:"composer"},{title:"Lists",scope:"list"},{title:"Dialogs",scope:"dialog"},{title:"Sessions",scope:"sessions"},{title:"Agents",scope:"agents"},{title:"Config",scope:"config"}],COLS3=2,HelpDialog=()=>{let theme=useTheme().theme,keys=useKeys(),sections2=import_react97.useMemo(()=>GROUPS2.map((g)=>({title:g.title,rows:keys.all(g.scope).filter((e)=>e.id!=="leader"&&e.chord.length>0).map((e)=>[keys.print(e.id),e.desc])})).filter((s)=>s.rows.length>0),[keys]),total=sections2.reduce((n,s)=>n+s.rows.length+2,0),split=Math.ceil(total/COLS3),cols2=[[],[]],acc2=0;for(let s of sections2){let h2=s.rows.length+2,i=acc2+h2<=split||cols2[0].length===0?0:1;if(cols2[i].push(s),i===0)acc2+=h2}return $jsxs("box",{flexDirection:"column",width:104,children:[$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{flexGrow:1,children:$jsx("text",{fg:theme.text,children:$jsx("strong",{children:"Keyboard Shortcuts"})})}),$jsx("text",{fg:theme.textMuted,children:`leader = ${keys.print("leader")}`})]}),$jsx("box",{height:1}),$jsx("box",{flexDirection:"row",gap:3,children:cols2.map((col,ci)=>$jsx("box",{flexDirection:"column",flexGrow:1,flexBasis:0,children:col.map((s)=>$jsxs("box",{flexDirection:"column",marginBottom:1,children:[$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:s.title})}),s.rows.map(([chord,desc])=>$jsxs("box",{flexDirection:"row",height:1,paddingLeft:1,children:[$jsx("box",{width:14,children:$jsx("text",{fg:theme.accent,children:chord})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:desc})})]},chord+desc))]},s.title))},ci))}),$jsx("text",{fg:theme.textMuted,children:"esc to close"})]})};var import_react98=__toESM(require_react_production(),1);import{existsSync as existsSync14,readFileSync as readFileSync7}from"fs";import{homedir as homedir7}from"os";import{join as join13}from"path";var OC_TO_HERM=[["leader","leader"],["app_exit","app.exit"],["terminal_suspend","app.suspend"],["sidebar_toggle","app.sidebar"],["command_list","palette.open"],["editor_open","editor.open"],["theme_list","theme.pick"],["model_list","model.pick"],["status_view","status.open"],["session_new","session.new"],["session_compact","session.compress"],["session_timeline","session.timeline"],["session_interrupt","session.interrupt"],["session_rename","sessions.rename"],["messages_copy","reply.copy"],["messages_redo","session.redo"],["input_clear","input.clear"],["input_submit","input.submit"],["input_newline","input.newline"],["input_paste","clipboard.attach"]],TABLE=new Map(OC_TO_HERM),ocPaths=(cwd=process.cwd())=>[join13(homedir7(),".config","opencode","tui.json"),join13(cwd,"tui.json"),join13(cwd,".opencode","tui.json"),join13(cwd,"opencode.json")],read=(p)=>{if(!existsSync14(p))return{};return JSON.parse(readFileSync7(p,"utf8")).keybinds??{}},loadOcKeybinds=(cwd)=>{let merged={},sources=[];for(let p of ocPaths(cwd)){let kb=read(p);if(Object.keys(kb).length===0)continue;Object.assign(merged,kb),sources.push(p)}let overrides={},skipped=[];for(let[oc,chord]of Object.entries(merged)){let herm=TABLE.get(oc);if(herm)overrides[herm]=chord;else skipped.push(oc)}return{overrides,skipped,sources}};var GROUPS3=[{title:"Global",scope:"global"},{title:"Composer",scope:"composer"},{title:"Lists",scope:"list"},{title:"Dialogs",scope:"dialog"},{title:"Sessions",scope:"sessions"},{title:"Agents",scope:"agents"},{title:"Config",scope:"config"}],KeysDialog=(props)=>{let theme=useTheme().theme,keys=useKeys(),toast=useToast(),overrides=exports_preferences.get("keys")??{},rows3=import_react98.useMemo(()=>GROUPS3.flatMap((g)=>{let entries=keys.all(g.scope).filter((e)=>e.id!=="leader");if(entries.length===0)return[];return[{type:"header",title:g.title},...entries.map((e)=>({type:"action",id:e.id,desc:e.desc,chord:e.chord,override:overrides[e.id]!==void 0}))]}),[keys,overrides]),actionRows=rows3.map((r,i)=>({r,i})).filter((x2)=>x2.r.type==="action"),[sel,setSel]=import_react98.useState(0),cur=actionRows[sel]?.r,curConflicts=cur?conflictsWith(keys.table,cur.id):[],write=(id,value)=>{let next2={...exports_preferences.get("keys")??{}};if(value===void 0)delete next2[id];else next2[id]=value;exports_preferences.set("keys",next2)},rebind=(id)=>{let now2=overrides[id]??DEFAULTS2[id].chord;openTextPrompt(props.dialog,{title:`Rebind ${id}`,label:"Chord (e.g. ctrl+k, <leader>m, shift+return; empty = unbind)",initial:now2}).then((v2)=>{if(openKeys(props.dialog),v2===null)return;let parsed=parse2(v2);write(id,parsed.length===0?"none":v2)})},importOc=()=>{let r=loadOcKeybinds();if(r.sources.length===0)return toast.show({variant:"info",message:"No opencode tui.json found"});let n=Object.keys(r.overrides).length;openConfirm(props.dialog,{title:`Import ${n} keybind${n===1?"":"s"} from opencode?`,body:`${r.sources.map((s)=>`\xB7 ${s}`).join(`
4135
4135
  `)}
4136
4136
 
4137
4137
  ${n} mapped \xB7 ${r.skipped.length} skipped (no herm equivalent)${r.skipped.length?`:
4138
4138
  ${r.skipped.slice(0,8).join(", ")}${r.skipped.length>8?", \u2026":""}`:""}`,yes:"import"}).then((ok)=>{if(openKeys(props.dialog),!ok)return;exports_preferences.set("keys",{...exports_preferences.get("keys")??{},...r.overrides}),toast.show({variant:"success",message:`Imported ${n} \xB7 skipped ${r.skipped.length}`})})};return useKeyboard((key2)=>{if(key2.name==="up")return setSel((s)=>Math.max(0,s-1));if(key2.name==="down")return setSel((s)=>Math.min(actionRows.length-1,s+1));if(key2.name==="return"&&cur)return rebind(cur.id);if(key2.name==="r"&&!key2.ctrl&&cur?.override){write(cur.id,void 0);return}if(key2.name==="o"&&!key2.ctrl)return importOc()}),$jsxs("box",{flexDirection:"column",width:78,children:[$jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{flexGrow:1,children:$jsx("text",{fg:theme.text,children:$jsx("strong",{children:"Keybindings"})})}),$jsx("text",{fg:theme.textMuted,children:`leader = ${keys.print("leader")}`})]}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,maxHeight:22,verticalScrollbarOptions:VBAR,children:$jsx("box",{flexDirection:"column",width:"100%",children:rows3.map((r,i)=>{if(r.type==="header")return $jsx("box",{height:1,marginTop:i>0?1:0,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:r.title})})},`h-${r.title}`);let ai=actionRows.findIndex((x2)=>x2.i===i),on=ai===sel,conf=conflictsWith(keys.table,r.id);return $jsxs("box",{height:1,flexDirection:"row",backgroundColor:on?theme.backgroundElement:void 0,onMouseOver:()=>setSel(ai),onMouseDown:()=>{setSel(ai),rebind(r.id)},children:[$jsx("box",{width:2,flexShrink:0,children:$jsx("text",{fg:on?theme.primary:theme.text,children:on?"\u25B8 ":" "})}),$jsx("box",{width:16,flexShrink:0,height:1,overflow:"hidden",children:$jsx("text",{fg:on?theme.accent:theme.text,children:print(r.chord,keys.print("leader"))||"\u2014"})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("text",{fg:theme.textMuted,children:r.desc})}),$jsx("box",{width:5,flexShrink:0,flexDirection:"row",justifyContent:"flex-end",children:$jsxs("text",{children:[r.override?$jsx("span",{fg:theme.info,children:"\xB7 "}):null,conf.length>0?$jsx("span",{fg:theme.warning,children:"\u26A0"}):null]})})]},r.id)})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:curConflicts.length>0?$jsx("text",{fg:theme.warning,children:`\u26A0 shares ${keys.print(cur.id)} with: ${curConflicts.join(", ")}`}):$jsx("text",{fg:theme.textMuted,children:`\u2191\u2193 select Enter rebind${cur?.override?" \xB7 r reset":""} \xB7 o import opencode \xB7 esc close \xB7 \xB7 = overridden`})})]})};function openKeys(dialog){dialog.replace($jsx(KeysDialog,{dialog}))}var ERRLIKE=/error|fail|traceback|exception|\b[45]\d\d\b|refused|denied|unauthori/i,LogsDialog=()=>{let theme=useTheme().theme,lines2=useGateway().tail(200).split(`
4139
- `).filter(Boolean);return $jsxs("box",{flexDirection:"column",width:110,height:Math.min(34,Math.max(8,lines2.length+5)),children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Gateway Logs"})})}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:[lines2.length," lines \xB7 stderr + protocol \xB7 Esc to close"]})}),$jsx("box",{height:1}),lines2.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No log output captured."})}):$jsx("scrollbox",{scrollY:!0,stickyScroll:!0,stickyStart:"bottom",flexGrow:1,children:$jsx("box",{flexDirection:"column",children:lines2.map((l,i)=>$jsx("box",{height:1,children:$jsx("text",{fg:ERRLIKE.test(l)?theme.error:theme.textMuted,children:l.length>106?l.slice(0,105)+"\u2026":l})},i))})})]})},openLogs=(dialog)=>dialog.replace($jsx(LogsDialog,{}));var import_react100=__toESM(require_react_production(),1);var ThemePickerDialog=({onConfirm})=>{let ctx=useTheme(),dialog=useDialog(),options=ctx.names.map((n)=>({title:n,value:n})),onMove=import_react100.useCallback((opt)=>{ctx.set(opt.value)},[ctx]),onSelect=import_react100.useCallback((opt)=>{ctx.set(opt.value),onConfirm(),dialog.clear()},[ctx,dialog,onConfirm]);return $jsx(DialogSelect,{title:"Switch Theme",options,current:ctx.name,onSelect,onMove,placeholder:"Search themes..."})},openThemePicker=(dialog,ctx)=>{let saved=ctx.name,confirmed=!1;dialog.replace($jsx(ThemePickerDialog,{onConfirm:()=>{confirmed=!0}}),()=>{if(!confirmed)ctx.set(saved)})};var import_react101=__toESM(require_react_production(),1);import{readFileSync as readFileSync8}from"fs";import{homedir as homedir8}from"os";import{join as join14}from"path";var trunc5=(s,n)=>s.length<=n?s:s.slice(0,n-1)+"\u2026",defaultDirs=()=>{let hermesHome2=process.env.HERMES_HOME||join14(homedir8(),".hermes");return[BUNDLED_EIKON_DIR,join14(hermesHome2,"eikons")]},EikonPickerDialog=(props)=>{let theme=useTheme().theme,dialog=useDialog(),dirs=props.dirs??defaultDirs(),found=import_react101.useMemo(()=>listEikons(dirs),[dirs]),[cursor,setCursor]=import_react101.useState(0),cur=found[cursor],parsed=import_react101.useMemo(()=>{if(!cur)return;try{return parseEikon(readFileSync8(cur.path,"utf8"))}catch{return}},[cur]);useListKeys({active:!0,count:found.length,setSel:setCursor,onActivate:()=>{if(cur)props.onSelect(cur.path),dialog.clear()}});let w2=(parsed?.meta.width??48)+2,h2=Math.max(parsed?.meta.height??24,12);return $jsxs("box",{flexDirection:"column",width:40+w2,height:h2+4,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Pick Avatar"})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${found.length} found \xB7 \u2191\u2193 nav \xB7 Enter select \xB7 Esc close`})}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsx("box",{width:38,marginRight:2,children:$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:found.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No .eikon files found."})},"empty"):found.map((e,i)=>{let on=i===cursor;return $jsxs("box",{flexDirection:"column",paddingLeft:1,paddingRight:1,backgroundColor:on?theme.backgroundElement:void 0,onMouseDown:()=>setCursor(i),children:[$jsx("box",{height:1,children:$jsx("text",{fg:on?theme.text:theme.textMuted,children:$jsx("strong",{children:trunc5(e.meta.name,34)})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${e.meta.author??"\u2014"} \xB7 ${e.meta.states.length} states \xB7 ${e.meta.width}\xD7${e.meta.height}`})})]},e.path)})})})}),$jsx("box",{flexGrow:1,flexDirection:"column",overflow:"hidden",children:parsed?$jsx(AnimatedAvatar,{state:"idle",eikon:parsed},cur?.path??"none"):$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No preview."})},"blank")})]})]})},openEikonPicker=(dialog,onSelect)=>dialog.replace($jsx(EikonPickerDialog,{onSelect}));var import_react102=__toESM(require_react_production(),1);var RollbackDialog=(props)=>{let theme=useTheme().theme,[data2,setData]=import_react102.useState(props.initial??null),[sel,setSel]=import_react102.useState(props.sel??0),[diff,setDiff]=import_react102.useState(null),[confirm,setConfirm]=import_react102.useState(!1);import_react102.useEffect(()=>{if(props.initial)return;props.gw.request("rollback.list").then(setData).catch((e)=>setData({enabled:!1,checkpoints:[],...{err:e.message}}))},[props.gw,props.initial]);let points=data2?.checkpoints??[],cur=points[sel],open2=(cp)=>{props.gw.request("rollback.diff",{hash:cp.hash}).then(setDiff).catch((e)=>props.toast.error(e))},back=()=>{setDiff(null),setConfirm(!1),props.dialog.replace($jsx(RollbackDialog,{gw:props.gw,toast:props.toast,dialog:props.dialog,initial:data2??void 0,sel}))},restore=(cp)=>{props.gw.request("rollback.restore",{hash:cp.hash}).then((r)=>{if(!r.success)throw Error("restore rejected");let n=r.history_removed;props.toast.show({variant:"success",message:`Restored ${cp.hash.slice(0,7)}${n?` \xB7 ${n} turns removed`:""}`}),props.dialog.clear()}).catch((e)=>{props.toast.show({variant:"error",message:`Restore failed: ${e.message}`}),props.dialog.clear()})},keys=useKeys();if(useKeyboard((key2)=>{if(diff){if(confirm){if(keys.match("dialog.confirm",key2))return restore(cur);if(keys.match("dialog.deny",key2)||keys.match("dialog.cancel",key2))return setConfirm(!1),back();return}if(keys.match("dialog.cancel",key2))return back();if(key2.name==="r")return setConfirm(!0);return}if(!data2?.enabled)return;handleListKey(keys,key2,{count:points.length,setSel,onActivate:()=>{if(cur)open2(cur)}})}),!data2)return $jsx("box",{width:60,height:3,children:$jsx("text",{fg:theme.textMuted,children:"Loading checkpoints\u2026"})});if(!data2.enabled)return $jsxs("box",{flexDirection:"column",width:60,height:5,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.warning,children:$jsx("strong",{children:"Checkpoints disabled"})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Enable checkpoints in config to use /rollback."})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Esc to close"})})]});if(diff){let body=diff.rendered||diff.diff||diff.stat||"(empty diff)";return $jsxs("box",{flexDirection:"column",width:110,height:30,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:"Rollback \xB7 "})}),$jsx("span",{fg:theme.accent,children:cur.hash.slice(0,7)}),$jsx("span",{fg:theme.textMuted,children:` ${trunc4(cur.message,70)}`})]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:diff.stat||" "})}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:$jsx(DiffBlock,{text:body})})}),$jsx("box",{height:1}),confirm?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.warning,children:$jsx("strong",{children:"Restore this checkpoint? "})}),$jsx("span",{fg:theme.textMuted,children:"[y] restore [n] cancel"})]})}):$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"[r] restore \xB7 Esc back"})})]})}return $jsxs("box",{flexDirection:"column",width:90,height:Math.min(28,Math.max(8,points.length+6)),children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Rollback"})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${points.length} checkpoints \xB7 \u2191\u2193 navigate Enter diff Esc close`})}),$jsx("box",{height:1}),points.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No checkpoints yet."})}):$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:points.map((cp,i)=>{let on=i===sel;return $jsx("box",{height:1,backgroundColor:on?theme.backgroundElement:void 0,onMouseDown:()=>{setSel(i),open2(cp)},onMouseOver:()=>setSel(i),children:$jsxs("text",{children:[$jsx("span",{fg:on?theme.primary:theme.textMuted,children:on?"\u25B8 ":" "}),$jsx("span",{fg:theme.accent,children:cp.hash.slice(0,7).padEnd(9)}),$jsx("span",{fg:theme.textMuted,children:ago(cp.timestamp).padEnd(12)}),$jsx("span",{fg:on?theme.text:theme.textMuted,children:trunc4(cp.message,56)})]})},cp.hash)})})})]})},openRollback=(dialog,gw,toast)=>dialog.replace($jsx(RollbackDialog,{gw,toast,dialog}));var import_react104=__toESM(require_react_production(),1);var tag=(m2,theme)=>m2.role==="user"?{label:"\u25B8 You",fg:theme.info}:m2.role==="assistant"?{label:"\u25C2 Agent",fg:theme.success}:m2.role==="tool"?{label:`\u2699 ${m2.name??"tool"}`,fg:theme.warning}:{label:"\xB7 system",fg:theme.textMuted},flatten2=(t2)=>{if(typeof t2==="string")return t2;if(!Array.isArray(t2))return"";for(let p of t2)if(p&&typeof p==="object"&&"type"in p&&p.type==="text"&&"text"in p&&typeof p.text==="string")return p.text;return""},body=(m2)=>m2.role==="tool"?m2.context??"":flatten2(m2.text),HistoryDialog=(props)=>{let theme=useTheme().theme,[rows3,setRows]=import_react104.useState(null),[err,setErr]=import_react104.useState("");import_react104.useEffect(()=>{props.gw.request("session.history").then((r)=>setRows(r.messages??[])).catch((e)=>{setErr(e.message),setRows([])})},[props.gw]);let n=rows3?.length??0,h2=Math.min(34,Math.max(8,n+5));return $jsxs("box",{flexDirection:"column",width:110,height:h2,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Session History"})})}),$jsx("box",{height:1,children:$jsx("text",{fg:err?theme.error:theme.textMuted,children:err?`\u26A0 ${err}`:`${n} messages \xB7 server-authoritative \xB7 Esc to close`})}),$jsx("box",{height:1}),rows3===null?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"loading\u2026"})}):n===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Empty \u2014 no turns yet."})}):$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",children:rows3.map((m2,i)=>{let t2=tag(m2,theme);return $jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:14,flexShrink:0,children:$jsx("text",{fg:t2.fg,children:trunc4(t2.label,13)})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("text",{fg:m2.role==="tool"||m2.role==="system"?theme.textMuted:theme.text,children:body(m2).replace(/\n/g," ")})})]},i)})})})]})},openHistory=(dialog,gw)=>dialog.replace($jsx(HistoryDialog,{gw}));var import_react105=__toESM(require_react_production(),1);var InfoDialog=(props)=>{let theme=useTheme().theme,body2=props.rows.filter((r)=>r[1]!==void 0);return $jsxs("box",{flexDirection:"column",minWidth:52,gap:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:props.title})})}),$jsx("box",{flexDirection:"column",children:$jsx(KVBlock,{rows:body2})}),props.note?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:props.note})}):null,$jsx("box",{height:1,children:$jsx("text",{fg:theme.borderSubtle,children:"Esc to close"})})]})};function openStatus(dialog,info2,sid){let toolsets=Object.keys(info2?.tools??{}),nTools=Object.values(info2?.tools??{}).reduce((n,v2)=>n+v2.length,0),mcp=info2?.mcp_servers??[],up=mcp.filter((s)=>s.connected).length;dialog.replace($jsx(InfoDialog,{title:"Status",rows:[["Version",info2?.version||"\u2014"],["Model",info2?.model||"\u2014"],["Profile",activeProfileName()],["Home",hermesPath("")],["CWD",info2?.cwd||process.cwd()],["Session",sid||"\u2014"],["Tools",`${nTools} in ${toolsets.length} toolset${toolsets.length===1?"":"s"}`],["Skills",String(Object.values(info2?.skills??{}).reduce((n,v2)=>n+v2.length,0))],["MCP",mcp.length?`${up}/${mcp.length} connected`:void 0]]}))}var UsageDialog=({gw})=>{let theme=useTheme().theme,[u3,setU]=import_react105.useState(null),[err,setErr]=import_react105.useState("");if(import_react105.useEffect(()=>{gw.request("session.usage").then(setU).catch((e)=>setErr(e instanceof Error?e.message:String(e)))},[gw]),err)return $jsx(InfoDialog,{title:"Usage",rows:[["Error",err,theme.error]]});if(!u3)return $jsx(InfoDialog,{title:"Usage",rows:[["","\u2026"]]});let ctx=u3.context_max?`${fmt(u3.context_used??0)} / ${fmt(u3.context_max)} (${Math.round(u3.context_percent??0)}%)`:void 0;return $jsx(InfoDialog,{title:"Usage",note:u3.cost_status==="estimated"?"cost is estimated":void 0,rows:[["Model",u3.model||"\u2014"],["API calls",String(u3.calls??0)],["Input",fmt(u3.input??0)],["Output",fmt(u3.output??0)],["Cache r/w",u3.cache_read||u3.cache_write?`${fmt(u3.cache_read??0)} / ${fmt(u3.cache_write??0)}`:void 0],["Reasoning",u3.reasoning?fmt(u3.reasoning):void 0],["Total",fmt(u3.total??0)],["Context",ctx],["Cost",u3.cost_usd!=null?cost(u3.cost_usd):void 0,theme.accent]]})},openUsage=(dialog,gw)=>dialog.replace($jsx(UsageDialog,{gw})),ProfileDialog=()=>{let[p,setP]=import_react105.useState(void 0),active=activeProfileName();if(import_react105.useEffect(()=>{listProfiles().then((ps)=>setP(ps.find((x2)=>x2.name===active)??null)).catch(()=>setP(null))},[]),p===void 0)return $jsx(InfoDialog,{title:"Profile",rows:[["","\u2026"]]});return $jsx(InfoDialog,{title:"Profile",note:p?void 0:"profile directory not found",rows:[["Active",active],["Home",p?.path??hermesPath("")],["Model",p?.model??"\u2014"],["Provider",p?.provider??"\u2014"],["Skills",p?String(p.skill_count):void 0],["Gateway",p?.gateway_running?"running":"stopped"],["Sticky",p?.is_sticky?"yes":void 0],["Alias",p?.is_default?void 0:p?.has_alias?`~/.local/bin/${active}`:"\u2014"],[".env",p?.has_env?"present":"\u2014"]]})},openProfile=(dialog)=>dialog.replace($jsx(ProfileDialog,{}));var import_react106=__toESM(require_react_production(),1);import{spawnSync as spawnSync2}from"child_process";import{existsSync as existsSync15}from"fs";var CHAFA=["/usr/sbin/chafa","/usr/bin/chafa","/usr/local/bin/chafa","/opt/homebrew/bin/chafa"];function whichChafa(){for(let p of CHAFA)if(existsSync15(p))return p;return null}function render(path7,w2,h2){let bin=whichChafa();if(!bin)return{err:"chafa not installed (brew/apt install chafa)"};let full=path7.startsWith("~")?path7.replace(/^~/,process.env.HOME??""):path7;if(!existsSync15(full))return{err:`file not found: ${full}`};let r=spawnSync2(bin,[`--size=${w2}x${h2}`,"--format=symbols","--symbols=block","--colors=full",full],{encoding:"utf8"});if(r.status!==0)return{err:r.stderr||`chafa exit ${r.status}`};return{rows:parseChafa(r.stdout)}}var ChafaDialog=({path:path7})=>{let theme=useTheme().theme,[w2]=import_react106.useState(80),[h2]=import_react106.useState(28),result=import_react106.useMemo(()=>render(path7,w2,h2),[path7,w2,h2]);return $jsxs("box",{flexDirection:"column",minWidth:w2+4,gap:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsxs("strong",{children:["chafa demo \xB7 ",path7]})})}),result.err?$jsx("box",{height:1,children:$jsx("text",{fg:theme.error,children:result.err})}):$jsx("box",{flexDirection:"column",children:result.rows.map((row,i)=>$jsx("text",{children:row.map((c,j2)=>$jsx("span",{fg:hex(c.fg),bg:hex(c.bg),children:c.ch},j2))},i))}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.borderSubtle,children:[result.rows?`${result.rows.length} rows \xB7 ${result.rows.reduce((a,r)=>a+r.length,0)} cells \xB7 `:"","Esc to close"]})})]})};function openChafa(dialog,path7){dialog.replace($jsx(ChafaDialog,{path:path7}))}var import_react108=__toESM(require_react_production(),1);import{tmpdir as tmpdir2}from"os";import{join as join15}from"path";import{rm}from"fs/promises";async function editInEditor(renderer,seed){let cmd=process.env.VISUAL||process.env.EDITOR;if(!cmd)return;let path7=join15(tmpdir2(),`herm-${Date.now()}.md`);await Bun.write(path7,seed),renderer.suspend(),renderer.currentRenderBuffer.clear();let parts2=cmd.split(" ");await Bun.spawn([...parts2,path7],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;let text2=await Bun.file(path7).text().catch(()=>"");if(rm(path7,{force:!0}).catch(()=>{}),renderer.isDestroyed)return text2.trim()||void 0;return renderer.currentRenderBuffer.clear(),renderer.resume(),renderer.requestRender(),text2.trim()||void 0}var exports_selection={};__export(exports_selection,{yank:()=>yank,key:()=>key2,Selection:()=>exports_selection});function yank(renderer,toast){let text2=renderer.getSelection()?.getSelectedText();if(!text2)return!1;return copy(text2).then(()=>toast?.push("Copied to clipboard","info")).catch(()=>toast?.push("Clipboard write failed","err")),renderer.clearSelection(),!0}function key2(renderer,evt,toast){let sel=renderer.getSelection();if(!sel?.getSelectedText())return!1;if(evt.ctrl&&evt.name==="c")return yank(renderer,toast),!0;if(evt.name==="escape")return renderer.clearSelection(),!0;let focus=renderer.currentFocusedRenderable;if(focus&&sel.selectedRenderables.includes(focus))return!1;return renderer.clearSelection(),!1}function redraw(renderer){resolveRenderLib().clearTerminal(renderer.rendererPtr),renderer.currentRenderBuffer.clear(RGBA.fromValues(0,0,0,0)),renderer.requestRender()}var INTERRUPT_MS=5000,DOUBLE_TAB_MS=400;function useAppKeys(o){let renderer=useRenderer(),keys=useKeys(),lastEsc=import_react108.useRef(0),lastTab=import_react108.useRef(0),regionFor=(t2)=>t2===o.chatTab?"input":"content";import_react108.useEffect(()=>{let found=conflicts(keys.table).filter((c)=>!(c.a==="session.interrupt"&&c.b==="dialog.cancel")).filter((c)=>!(c.a==="app.exit"&&c.b==="input.clear"));if(found.length===0)return;let first=found[0];o.onNotice(`Keybinding conflict: ${print([first.chord])} \u2192 ${first.a} and ${first.b}`+(found.length>1?` (+${found.length-1} more)`:""))},[keys.table]),useKeyboard((key3)=>{let c=o.composer.current;if(exports_selection.key(renderer,key3)){key3.stopPropagation();return}if(keys.match("input.clear",key3)&&c&&!c.isEmpty()){let v2=c.value().trim();if(v2.length>=20)c.remember(v2);c.set(""),key3.stopPropagation();return}if(keys.match("input.stash",key3)){o.onStash(),key3.stopPropagation();return}if(keys.match("app.exit",key3))return o.onQuit();if(keys.match("app.suspend",key3)){renderer.suspend(),process.kill(process.pid,"SIGTSTP"),process.once("SIGCONT",()=>renderer.resume());return}if(keys.match("app.redraw",key3)){redraw(renderer),key3.stopPropagation();return}if(keys.match("app.sidebar",key3)){o.onToggleSidebar();return}if(o.dialogOpen())return;if(c?.mode()==="shell"){if(key3.name==="escape"){c.setMode("normal"),key3.stopPropagation();return}if(key3.name==="backspace"&&!key3.ctrl&&!key3.meta&&c.caret()===0){c.setMode("normal"),key3.stopPropagation();return}}if(keys.match("queue.flush",key3)&&o.streaming&&o.queued>0){o.onFlushQueue(),key3.stopPropagation();return}if(o.onPromptKey&&!keys.leader&&!key3.ctrl&&!key3.meta&&key3.eventType!=="release"){if(o.onPromptKey(key3)){key3.stopPropagation();return}}if(keys.match("editor.open",key3)&&!o.streaming){let seed=c?.value()??"";editInEditor(renderer,seed).then((out)=>{if(out===void 0){if(!process.env.VISUAL&&!process.env.EDITOR)o.onNotice("Set $EDITOR or $VISUAL to use the external editor");return}c?.set(out),o.setFocusRegion("input")});return}if(keys.match("tab.prev",key3)){o.setTab((t2)=>{let n=Math.max(0,t2-1);return o.setFocusRegion(regionFor(n)),n});return}if(keys.match("tab.next",key3)){o.setTab((t2)=>{let n=Math.min(o.tabMax,t2+1);return o.setFocusRegion(regionFor(n)),n});return}if(o.subCount>0&&key3.shift&&!key3.ctrl&&!key3.meta&&key3.eventType!=="release"){if(key3.name==="left"){o.cycleSub(-1),key3.stopPropagation();return}if(key3.name==="right"){o.cycleSub(1),key3.stopPropagation();return}}if(keys.leader&&!key3.ctrl&&!key3.meta&&!key3.shift&&key3.eventType!=="release"){let n={"1":0,"2":1,"3":2,"4":3,"5":4,"6":5,"7":6,"8":7,"9":8,"0":9,"-":10}[key3.name];if(n!==void 0&&n<=o.tabMax){o.setTab(()=>{return o.setFocusRegion(regionFor(n)),n}),key3.stopPropagation();return}}if(key3.meta&&!key3.ctrl&&!key3.shift&&key3.eventType!=="release"){let n={"1":0,"2":1,"3":2,"4":3,"5":4,"6":5,"7":6,"8":7,"9":8,"0":9,"-":10}[key3.name];if(n!==void 0&&n<=o.tabMax){o.setTab(()=>{return o.setFocusRegion(regionFor(n)),n}),key3.stopPropagation();return}}if(c?.popOpen()){if(key3.name==="escape")return c.popCancel();if(key3.name==="up"){c.popNav(-1),key3.stopPropagation();return}if(key3.name==="down"){c.popNav(1),key3.stopPropagation();return}if(key3.name==="tab")return c.popAccept();return}if(keys.match("focus.cycle",key3)&&!o.streaming){if(o.tab===o.chatTab){o.setFocusRegion((r)=>r==="input"?"content":"input");return}if(o.focusRegion==="input"){o.setFocusRegion("content");return}let now2=Date.now();if(now2-lastTab.current<DOUBLE_TAB_MS)o.setFocusRegion("input"),lastTab.current=0,key3.stopPropagation();else lastTab.current=now2;return}if(keys.match("session.interrupt",key3)){if(!o.streaming&&o.onEscape?.())return;if(o.streaming){let now2=Date.now();if(now2-lastEsc.current<INTERRUPT_MS){o.onInterrupt(),lastEsc.current=0;return}lastEsc.current=now2,o.onInterruptNotice();return}if(o.tab===o.chatTab&&o.focusRegion==="content")o.setFocusRegion("input");return}if(keys.match("reply.copy",key3))return o.onCopyLast();if(keys.match("clipboard.attach",key3)){o.onAttachClipboard(),key3.stopPropagation();return}if(o.focusRegion==="input"&&!o.streaming){if((key3.name==="!"||key3.name==="1"&&key3.shift)&&!key3.ctrl&&!key3.meta&&key3.eventType!=="release"&&c&&c.mode()==="normal"&&!c.popOpen()&&c.caret()===0){c.setMode("shell"),key3.stopPropagation();return}if(key3.name==="up")return void c?.historyUp();if(key3.name==="down")return void c?.historyDown();if(key3.name==="backspace"&&!key3.ctrl&&!key3.meta&&c?.isEmpty()&&o.onDetachLast()){key3.stopPropagation();return}}if(o.tab===o.chatTab&&o.focusRegion==="content"&&!o.streaming&&!key3.ctrl&&!key3.meta&&key3.eventType!=="release"){if(key3.name.length===1&&key3.name!==" "){let ch=key3.shift&&/[a-z]/.test(key3.name)?key3.name.toUpperCase():key3.name;o.setFocusRegion("input"),c?.insert(ch),key3.stopPropagation()}}})}import{writeSync}from"fs";var done=!1;function quit(renderer,sid,title,gw){if(done)process.exit(0);done=!0;try{gw?.kill()}catch{}if(renderer.destroy(),process.stdout.isTTY&&sid){let t2=title?` \u2014 ${title.slice(0,60)}`:"";writeSync(1,`
4139
+ `).filter(Boolean);return $jsxs("box",{flexDirection:"column",width:110,height:Math.min(34,Math.max(8,lines2.length+5)),children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Gateway Logs"})})}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.textMuted,children:[lines2.length," lines \xB7 stderr + protocol \xB7 Esc to close"]})}),$jsx("box",{height:1}),lines2.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No log output captured."})}):$jsx("scrollbox",{scrollY:!0,stickyScroll:!0,stickyStart:"bottom",flexGrow:1,children:$jsx("box",{flexDirection:"column",children:lines2.map((l,i)=>$jsx("box",{height:1,children:$jsx("text",{fg:ERRLIKE.test(l)?theme.error:theme.textMuted,children:l.length>106?l.slice(0,105)+"\u2026":l})},i))})})]})},openLogs=(dialog)=>dialog.replace($jsx(LogsDialog,{}));var import_react100=__toESM(require_react_production(),1);var ThemePickerDialog=({onConfirm})=>{let ctx=useTheme(),dialog=useDialog(),options=ctx.names.map((n)=>({title:n,value:n})),onMove=import_react100.useCallback((opt)=>{ctx.set(opt.value)},[ctx]),onSelect=import_react100.useCallback((opt)=>{ctx.set(opt.value),onConfirm(),dialog.clear()},[ctx,dialog,onConfirm]);return $jsx(DialogSelect,{title:"Switch Theme",options,current:ctx.name,onSelect,onMove,placeholder:"Search themes..."})},openThemePicker=(dialog,ctx)=>{let saved=ctx.name,confirmed=!1;dialog.replace($jsx(ThemePickerDialog,{onConfirm:()=>{confirmed=!0}}),()=>{if(!confirmed)ctx.set(saved)})};var import_react101=__toESM(require_react_production(),1);import{readFileSync as readFileSync8}from"fs";import{homedir as homedir8}from"os";import{join as join14}from"path";var trunc5=(s,n)=>s.length<=n?s:s.slice(0,n-1)+"\u2026",defaultDirs=()=>{let hermesHome2=process.env.HERMES_HOME||join14(homedir8(),".hermes");return[BUNDLED_EIKON_DIR,join14(hermesHome2,"eikons")]},EikonPickerDialog=(props)=>{let theme=useTheme().theme,dialog=useDialog(),dirs=props.dirs??defaultDirs(),found=import_react101.useMemo(()=>listEikons(dirs),[dirs]),[cursor,setCursor]=import_react101.useState(0),cur=found[cursor],parsed=import_react101.useMemo(()=>{if(!cur)return;try{return parseEikon(readFileSync8(cur.path,"utf8"))}catch{return}},[cur]);useListKeys({active:!0,count:found.length,setSel:setCursor,onActivate:()=>{if(cur)props.onSelect(cur.path),dialog.clear()}});let w2=(parsed?.meta.width??48)+2,h2=Math.max(parsed?.meta.height??24,12);return $jsxs("box",{flexDirection:"column",width:40+w2,height:h2+4,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Pick Avatar"})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${found.length} found \xB7 \u2191\u2193 nav \xB7 Enter select \xB7 Esc close`})}),$jsx("box",{height:1}),$jsxs("box",{flexDirection:"row",flexGrow:1,children:[$jsx("box",{width:38,marginRight:2,children:$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:found.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No .eikon files found."})},"empty"):found.map((e,i)=>{let on=i===cursor;return $jsxs("box",{flexDirection:"column",paddingLeft:1,paddingRight:1,backgroundColor:on?theme.backgroundElement:void 0,onMouseDown:()=>setCursor(i),children:[$jsx("box",{height:1,children:$jsx("text",{fg:on?theme.text:theme.textMuted,children:$jsx("strong",{children:trunc5(e.meta.name,34)})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${e.meta.author??"\u2014"} \xB7 ${e.meta.states.length} states \xB7 ${e.meta.width}\xD7${e.meta.height}`})})]},e.path)})})})}),$jsx("box",{flexGrow:1,flexDirection:"column",overflow:"hidden",children:parsed?$jsx(AnimatedAvatar,{state:"idle",eikon:parsed},cur?.path??"none"):$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No preview."})},"blank")})]})]})},openEikonPicker=(dialog,onSelect)=>dialog.replace($jsx(EikonPickerDialog,{onSelect}));var import_react102=__toESM(require_react_production(),1);var RollbackDialog=(props)=>{let theme=useTheme().theme,[data2,setData]=import_react102.useState(props.initial??null),[sel,setSel]=import_react102.useState(props.sel??0),[diff,setDiff]=import_react102.useState(null),[confirm,setConfirm]=import_react102.useState(!1);import_react102.useEffect(()=>{if(props.initial)return;props.gw.request("rollback.list").then(setData).catch((e)=>setData({enabled:!1,checkpoints:[],...{err:e.message}}))},[props.gw,props.initial]);let points=data2?.checkpoints??[],cur=points[sel],open2=(cp)=>{props.gw.request("rollback.diff",{hash:cp.hash}).then(setDiff).catch((e)=>props.toast.error(e))},back=()=>{setDiff(null),setConfirm(!1),props.dialog.replace($jsx(RollbackDialog,{gw:props.gw,toast:props.toast,dialog:props.dialog,initial:data2??void 0,sel}))},restore=(cp)=>{props.gw.request("rollback.restore",{hash:cp.hash}).then((r)=>{if(!r.success)throw Error("restore rejected");let n=r.history_removed;props.toast.show({variant:"success",message:`Restored ${cp.hash.slice(0,7)}${n?` \xB7 ${n} turns removed`:""}`}),props.dialog.clear()}).catch((e)=>{props.toast.show({variant:"error",message:`Restore failed: ${e.message}`}),props.dialog.clear()})},keys=useKeys();if(useKeyboard((key2)=>{if(diff){if(confirm){if(keys.match("dialog.confirm",key2))return restore(cur);if(keys.match("dialog.deny",key2)||keys.match("dialog.cancel",key2))return setConfirm(!1),back();return}if(keys.match("dialog.cancel",key2))return back();if(key2.name==="r")return setConfirm(!0);return}if(!data2?.enabled)return;handleListKey(keys,key2,{count:points.length,setSel,onActivate:()=>{if(cur)open2(cur)}})}),!data2)return $jsx("box",{width:60,height:3,children:$jsx("text",{fg:theme.textMuted,children:"Loading checkpoints\u2026"})});if(!data2.enabled)return $jsxs("box",{flexDirection:"column",width:60,height:5,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.warning,children:$jsx("strong",{children:"Checkpoints disabled"})})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Enable checkpoints in config to use /rollback."})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Esc to close"})})]});if(diff){let body=diff.rendered||diff.diff||diff.stat||"(empty diff)";return $jsxs("box",{flexDirection:"column",width:110,height:30,children:[$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.primary,children:$jsx("strong",{children:"Rollback \xB7 "})}),$jsx("span",{fg:theme.accent,children:cur.hash.slice(0,7)}),$jsx("span",{fg:theme.textMuted,children:` ${trunc4(cur.message,70)}`})]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:diff.stat||" "})}),$jsx("box",{height:1}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:$jsx(DiffBlock,{text:body})})}),$jsx("box",{height:1}),confirm?$jsx("box",{height:1,children:$jsxs("text",{children:[$jsx("span",{fg:theme.warning,children:$jsx("strong",{children:"Restore this checkpoint? "})}),$jsx("span",{fg:theme.textMuted,children:"[y] restore [n] cancel"})]})}):$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"[r] restore \xB7 Esc back"})})]})}return $jsxs("box",{flexDirection:"column",width:90,height:Math.min(28,Math.max(8,points.length+6)),children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Rollback"})})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:`${points.length} checkpoints \xB7 \u2191\u2193 navigate Enter diff Esc close`})}),$jsx("box",{height:1}),points.length===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"No checkpoints yet."})}):$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",width:"100%",children:points.map((cp,i)=>{let on=i===sel;return $jsx("box",{height:1,backgroundColor:on?theme.backgroundElement:void 0,onMouseDown:()=>{setSel(i),open2(cp)},onMouseOver:()=>setSel(i),children:$jsxs("text",{children:[$jsx("span",{fg:on?theme.primary:theme.textMuted,children:on?"\u25B8 ":" "}),$jsx("span",{fg:theme.accent,children:cp.hash.slice(0,7).padEnd(9)}),$jsx("span",{fg:theme.textMuted,children:ago(cp.timestamp).padEnd(12)}),$jsx("span",{fg:on?theme.text:theme.textMuted,children:trunc4(cp.message,56)})]})},cp.hash)})})})]})},openRollback=(dialog,gw,toast)=>dialog.replace($jsx(RollbackDialog,{gw,toast,dialog}));var import_react104=__toESM(require_react_production(),1);var tag=(m2,theme)=>m2.role==="user"?{label:"\u25B8 You",fg:theme.info}:m2.role==="assistant"?{label:"\u25C2 Agent",fg:theme.success}:m2.role==="tool"?{label:`\u2699 ${m2.name??"tool"}`,fg:theme.warning}:{label:"\xB7 system",fg:theme.textMuted},flatten2=(t2)=>{if(typeof t2==="string")return t2;if(!Array.isArray(t2))return"";for(let p of t2)if(p&&typeof p==="object"&&"type"in p&&p.type==="text"&&"text"in p&&typeof p.text==="string")return p.text;return""},body=(m2)=>m2.role==="tool"?m2.context??"":flatten2(m2.text),HistoryDialog=(props)=>{let theme=useTheme().theme,[rows3,setRows]=import_react104.useState(null),[err,setErr]=import_react104.useState("");import_react104.useEffect(()=>{props.gw.request("session.history").then((r)=>setRows(r.messages??[])).catch((e)=>{setErr(e.message),setRows([])})},[props.gw]);let n=rows3?.length??0,h2=Math.min(34,Math.max(8,n+5));return $jsxs("box",{flexDirection:"column",width:110,height:h2,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:"Session History"})})}),$jsx("box",{height:1,children:$jsx("text",{fg:err?theme.error:theme.textMuted,children:err?`\u26A0 ${err}`:`${n} messages \xB7 server-authoritative \xB7 Esc to close`})}),$jsx("box",{height:1}),rows3===null?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"loading\u2026"})}):n===0?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"Empty \u2014 no turns yet."})}):$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("box",{flexDirection:"column",children:rows3.map((m2,i)=>{let t2=tag(m2,theme);return $jsxs("box",{height:1,flexDirection:"row",children:[$jsx("box",{width:14,flexShrink:0,children:$jsx("text",{fg:t2.fg,children:trunc4(t2.label,13)})}),$jsx("box",{flexGrow:1,minWidth:0,height:1,overflow:"hidden",children:$jsx("text",{fg:m2.role==="tool"||m2.role==="system"?theme.textMuted:theme.text,children:body(m2).replace(/\n/g," ")})})]},i)})})})]})},openHistory=(dialog,gw)=>dialog.replace($jsx(HistoryDialog,{gw}));var import_react105=__toESM(require_react_production(),1);var InfoDialog=(props)=>{let theme=useTheme().theme,body2=props.rows.filter((r)=>r[1]!==void 0);return $jsxs("box",{flexDirection:"column",minWidth:52,gap:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsx("strong",{children:props.title})})}),$jsx("box",{flexDirection:"column",children:$jsx(KVBlock,{rows:body2})}),props.note?$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:props.note})}):null,$jsx("box",{height:1,children:$jsx("text",{fg:theme.borderSubtle,children:"Esc to close"})})]})};function openStatus(dialog,info2,sid){let toolsets=Object.keys(info2?.tools??{}),nTools=Object.values(info2?.tools??{}).reduce((n,v2)=>n+v2.length,0),mcp=info2?.mcp_servers??[],up=mcp.filter((s)=>s.connected).length;dialog.replace($jsx(InfoDialog,{title:"Status",rows:[["Version",info2?.version||"\u2014"],["Model",info2?.model||"\u2014"],["Profile",activeProfileName()],["Home",hermesPath("")],["CWD",info2?.cwd||process.cwd()],["Session",sid||"\u2014"],["Tools",`${nTools} in ${toolsets.length} toolset${toolsets.length===1?"":"s"}`],["Skills",String(Object.values(info2?.skills??{}).reduce((n,v2)=>n+v2.length,0))],["MCP",mcp.length?`${up}/${mcp.length} connected`:void 0]]}))}var UsageDialog=({gw})=>{let theme=useTheme().theme,[u3,setU]=import_react105.useState(null),[err,setErr]=import_react105.useState("");if(import_react105.useEffect(()=>{gw.request("session.usage").then(setU).catch((e)=>setErr(e instanceof Error?e.message:String(e)))},[gw]),err)return $jsx(InfoDialog,{title:"Usage",rows:[["Error",err,theme.error]]});if(!u3)return $jsx(InfoDialog,{title:"Usage",rows:[["","\u2026"]]});let ctx=u3.context_max?`${fmt(u3.context_used??0)} / ${fmt(u3.context_max)} (${Math.round(u3.context_percent??0)}%)`:void 0;return $jsx(InfoDialog,{title:"Usage",note:u3.cost_status==="estimated"?"cost is estimated":void 0,rows:[["Model",u3.model||"\u2014"],["API calls",String(u3.calls??0)],["Input",fmt(u3.input??0)],["Output",fmt(u3.output??0)],["Cache r/w",u3.cache_read||u3.cache_write?`${fmt(u3.cache_read??0)} / ${fmt(u3.cache_write??0)}`:void 0],["Reasoning",u3.reasoning?fmt(u3.reasoning):void 0],["Total",fmt(u3.total??0)],["Context",ctx],["Cost",u3.cost_usd!=null?cost(u3.cost_usd):void 0,theme.accent]]})},openUsage=(dialog,gw)=>dialog.replace($jsx(UsageDialog,{gw})),ProfileDialog=()=>{let[p,setP]=import_react105.useState(void 0),active=activeProfileName();if(import_react105.useEffect(()=>{listProfiles().then((ps)=>setP(ps.find((x2)=>x2.name===active)??null)).catch(()=>setP(null))},[]),p===void 0)return $jsx(InfoDialog,{title:"Profile",rows:[["","\u2026"]]});return $jsx(InfoDialog,{title:"Profile",note:p?void 0:"profile directory not found",rows:[["Active",active],["Home",p?.path??hermesPath("")],["Model",p?.model??"\u2014"],["Provider",p?.provider??"\u2014"],["Skills",p?String(p.skill_count):void 0],["Gateway",p?.gateway_running?"running":"stopped"],["Sticky",p?.is_sticky?"yes":void 0],["Alias",p?.is_default?void 0:p?.has_alias?`~/.local/bin/${active}`:"\u2014"],[".env",p?.has_env?"present":"\u2014"]]})},openProfile=(dialog)=>dialog.replace($jsx(ProfileDialog,{}));var import_react106=__toESM(require_react_production(),1);import{spawnSync as spawnSync2}from"child_process";import{existsSync as existsSync15}from"fs";var CHAFA=["/usr/sbin/chafa","/usr/bin/chafa","/usr/local/bin/chafa","/opt/homebrew/bin/chafa"];function whichChafa(){for(let p of CHAFA)if(existsSync15(p))return p;return null}function render(path7,w2,h2){let bin=whichChafa();if(!bin)return{err:"chafa not installed (brew/apt install chafa)"};let full=path7.startsWith("~")?path7.replace(/^~/,process.env.HOME??""):path7;if(!existsSync15(full))return{err:`file not found: ${full}`};let r=spawnSync2(bin,[`--size=${w2}x${h2}`,"--format=symbols","--symbols=block","--colors=full",full],{encoding:"utf8"});if(r.status!==0)return{err:r.stderr||`chafa exit ${r.status}`};return{rows:parseChafa(r.stdout)}}var ChafaDialog=({path:path7})=>{let theme=useTheme().theme,[w2]=import_react106.useState(80),[h2]=import_react106.useState(28),result=import_react106.useMemo(()=>render(path7,w2,h2),[path7,w2,h2]);return $jsxs("box",{flexDirection:"column",minWidth:w2+4,gap:1,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.primary,children:$jsxs("strong",{children:["chafa demo \xB7 ",path7]})})}),result.err?$jsx("box",{height:1,children:$jsx("text",{fg:theme.error,children:result.err})}):$jsx("box",{flexDirection:"column",children:result.rows.map((row,i)=>$jsx("text",{children:row.map((c,j2)=>$jsx("span",{fg:hex(c.fg),bg:hex(c.bg),children:c.ch},j2))},i))}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.borderSubtle,children:[result.rows?`${result.rows.length} rows \xB7 ${result.rows.reduce((a,r)=>a+r.length,0)} cells \xB7 `:"","Esc to close"]})})]})};function openChafa(dialog,path7){dialog.replace($jsx(ChafaDialog,{path:path7}))}var import_react108=__toESM(require_react_production(),1);import{tmpdir as tmpdir2}from"os";import{join as join15}from"path";import{rm}from"fs/promises";async function editInEditor(renderer,seed){let cmd=process.env.VISUAL||process.env.EDITOR;if(!cmd)return;let path7=join15(tmpdir2(),`herm-${Date.now()}.md`);await Bun.write(path7,seed),renderer.suspend(),renderer.currentRenderBuffer.clear();let parts2=cmd.split(" ");await Bun.spawn([...parts2,path7],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;let text2=await Bun.file(path7).text().catch(()=>"");if(rm(path7,{force:!0}).catch(()=>{}),renderer.isDestroyed)return text2.trim()||void 0;return renderer.currentRenderBuffer.clear(),renderer.resume(),renderer.requestRender(),text2.trim()||void 0}var exports_selection={};__export(exports_selection,{yank:()=>yank,key:()=>key2,Selection:()=>exports_selection});function yank(renderer,toast){let text2=renderer.getSelection()?.getSelectedText();if(!text2)return!1;return copy(text2).then(()=>toast?.push("Copied to clipboard","info")).catch(()=>toast?.push("Clipboard write failed","err")),renderer.clearSelection(),!0}function key2(renderer,evt,toast){let sel=renderer.getSelection();if(!sel?.getSelectedText())return!1;if(evt.ctrl&&evt.name==="c")return yank(renderer,toast),!0;if(evt.name==="escape")return renderer.clearSelection(),!0;let focus=renderer.currentFocusedRenderable;if(focus&&sel.selectedRenderables.includes(focus))return!1;return renderer.clearSelection(),!1}function redraw(renderer){resolveRenderLib().clearTerminal(renderer.rendererPtr),renderer.currentRenderBuffer.clear(RGBA.fromValues(0,0,0,0)),renderer.requestRender()}var INTERRUPT_MS=5000,DOUBLE_TAB_MS=400,QUIT_MS=2000;function useAppKeys(o){let renderer=useRenderer(),keys=useKeys(),lastEsc=import_react108.useRef(0),lastTab=import_react108.useRef(0),lastQuit=import_react108.useRef(0),regionFor=(t2)=>t2===o.chatTab?"input":"content";import_react108.useEffect(()=>{let found=conflicts(keys.table).filter((c)=>!(c.a==="session.interrupt"&&c.b==="dialog.cancel")).filter((c)=>!(c.a==="app.exit"&&c.b==="input.clear"));if(found.length===0)return;let first=found[0];o.onNotice(`Keybinding conflict: ${print([first.chord])} \u2192 ${first.a} and ${first.b}`+(found.length>1?` (+${found.length-1} more)`:""))},[keys.table]),useKeyboard((key3)=>{let c=o.composer.current;if(exports_selection.key(renderer,key3)){key3.stopPropagation();return}if(keys.match("input.clear",key3)&&c&&!c.isEmpty()){let v2=c.value().trim();if(v2.length>=20)c.remember(v2);c.set(""),lastQuit.current=0,key3.stopPropagation();return}if(keys.match("input.stash",key3)){o.onStash(),key3.stopPropagation();return}if(keys.match("app.exit",key3)){let now2=Date.now();if(now2-lastQuit.current<QUIT_MS)return o.onQuit();lastQuit.current=now2,o.onQuitArm(keys.print("app.exit")),key3.stopPropagation();return}if(keys.match("app.suspend",key3)){renderer.suspend(),process.kill(process.pid,"SIGTSTP"),process.once("SIGCONT",()=>renderer.resume());return}if(keys.match("app.redraw",key3)){redraw(renderer),key3.stopPropagation();return}if(keys.match("app.sidebar",key3)){o.onToggleSidebar();return}if(o.dialogOpen())return;if(c?.mode()==="shell"){if(key3.name==="escape"){c.setMode("normal"),key3.stopPropagation();return}if(key3.name==="backspace"&&!key3.ctrl&&!key3.meta&&c.caret()===0){c.setMode("normal"),key3.stopPropagation();return}}if(keys.match("queue.flush",key3)&&o.streaming&&o.queued>0){o.onFlushQueue(),key3.stopPropagation();return}if(o.onPromptKey&&!keys.leader&&!key3.ctrl&&!key3.meta&&key3.eventType!=="release"){if(o.onPromptKey(key3)){key3.stopPropagation();return}}if(keys.match("editor.open",key3)&&!o.streaming){let seed=c?.value()??"";editInEditor(renderer,seed).then((out)=>{if(out===void 0){if(!process.env.VISUAL&&!process.env.EDITOR)o.onNotice("Set $EDITOR or $VISUAL to use the external editor");return}c?.set(out),o.setFocusRegion("input")});return}if(keys.match("tab.prev",key3)){o.setTab((t2)=>{let n=Math.max(0,t2-1);return o.setFocusRegion(regionFor(n)),n});return}if(keys.match("tab.next",key3)){o.setTab((t2)=>{let n=Math.min(o.tabMax,t2+1);return o.setFocusRegion(regionFor(n)),n});return}if(o.subCount>0&&key3.shift&&!key3.ctrl&&!key3.meta&&key3.eventType!=="release"){if(key3.name==="left"){o.cycleSub(-1),key3.stopPropagation();return}if(key3.name==="right"){o.cycleSub(1),key3.stopPropagation();return}}if(keys.leader&&!key3.ctrl&&!key3.meta&&!key3.shift&&key3.eventType!=="release"){let n={"1":0,"2":1,"3":2,"4":3,"5":4,"6":5,"7":6,"8":7,"9":8,"0":9,"-":10}[key3.name];if(n!==void 0&&n<=o.tabMax){o.setTab(()=>{return o.setFocusRegion(regionFor(n)),n}),key3.stopPropagation();return}}if(key3.meta&&!key3.ctrl&&!key3.shift&&key3.eventType!=="release"){let n={"1":0,"2":1,"3":2,"4":3,"5":4,"6":5,"7":6,"8":7,"9":8,"0":9,"-":10}[key3.name];if(n!==void 0&&n<=o.tabMax){o.setTab(()=>{return o.setFocusRegion(regionFor(n)),n}),key3.stopPropagation();return}}if(c?.popOpen()){if(key3.name==="escape")return c.popCancel();if(key3.name==="up"){c.popNav(-1),key3.stopPropagation();return}if(key3.name==="down"){c.popNav(1),key3.stopPropagation();return}if(key3.name==="tab")return c.popAccept();return}if(keys.match("focus.cycle",key3)&&!o.streaming){if(o.tab===o.chatTab){o.setFocusRegion((r)=>r==="input"?"content":"input");return}if(o.focusRegion==="input"){o.setFocusRegion("content");return}let now2=Date.now();if(now2-lastTab.current<DOUBLE_TAB_MS)o.setFocusRegion("input"),lastTab.current=0,key3.stopPropagation();else lastTab.current=now2;return}if(keys.match("session.interrupt",key3)){if(!o.streaming&&o.onEscape?.())return;if(o.streaming){let now2=Date.now();if(now2-lastEsc.current<INTERRUPT_MS){o.onInterrupt(),lastEsc.current=0;return}lastEsc.current=now2,o.onInterruptNotice();return}if(o.tab===o.chatTab&&o.focusRegion==="content")o.setFocusRegion("input");return}if(keys.match("reply.copy",key3))return o.onCopyLast();if(keys.match("clipboard.attach",key3)){o.onAttachClipboard(),key3.stopPropagation();return}if(o.focusRegion==="input"&&!o.streaming){if((key3.name==="!"||key3.name==="1"&&key3.shift)&&!key3.ctrl&&!key3.meta&&key3.eventType!=="release"&&c&&c.mode()==="normal"&&!c.popOpen()&&c.caret()===0){c.setMode("shell"),key3.stopPropagation();return}if(key3.name==="up")return void c?.historyUp();if(key3.name==="down")return void c?.historyDown();if(key3.name==="backspace"&&!key3.ctrl&&!key3.meta&&c?.isEmpty()&&o.onDetachLast()){key3.stopPropagation();return}}if(o.tab===o.chatTab&&o.focusRegion==="content"&&!o.streaming&&!key3.ctrl&&!key3.meta&&key3.eventType!=="release"){if(key3.name.length===1&&key3.name!==" "){let ch=key3.shift&&/[a-z]/.test(key3.name)?key3.name.toUpperCase():key3.name;o.setFocusRegion("input"),c?.insert(ch),key3.stopPropagation()}}})}import{writeSync}from"fs";var done=!1;function quit(renderer,sid,title,gw){if(done)process.exit(0);done=!0;try{gw?.kill()}catch{}if(renderer.destroy(),process.stdout.isTTY&&sid){let t2=title?` \u2014 ${title.slice(0,60)}`:"";writeSync(1,`
4140
4140
  continue herm --resume ${sid}${t2}
4141
4141
 
4142
4142
  `)}process.exit(0)}var exports_stash={};__export(exports_stash,{push:()=>push2,pop:()=>pop2,drop:()=>drop,all:()=>all,Stash:()=>exports_stash});import{join as join16}from"path";import{existsSync as existsSync16,readFileSync as readFileSync9,writeFileSync as writeFileSync3,mkdirSync as mkdirSync3}from"fs";var MAX=50,file=()=>join16(configDir(),"stash.jsonl");function load3(){if(!existsSync16(file()))return[];return readFileSync9(file(),"utf-8").split(`
@@ -4167,14 +4167,14 @@ ${r.skipped.slice(0,8).join(", ")}${r.skipped.length>8?", \u2026":""}`:""}`,yes:
4167
4167
  `,"utf-8");else appendFileSync2(FILE2,enc2(msg)+`
4168
4168
  `,"utf-8");bump2((n)=>n+1)},[]),up=import_react118.useCallback(()=>{let h2=hist.current;if(h2.length===0)return;if(idx2.current===-1)stash.current=input;let next2=Math.min(idx2.current+1,h2.length-1);idx2.current=next2,setInput(h2[next2])},[input,setInput]),down=import_react118.useCallback(()=>{if(idx2.current===-1)return;let next2=idx2.current-1;idx2.current=next2,setInput(next2===-1?stash.current:hist.current[next2])},[setInput]);return{push:push3,up,down}}var import_react119=__toESM(require_react_production(),1);var MAX_VISIBLE=14;function badge2(source,theme){if(source==="skill")return theme.success;if(source==="plugin")return theme.info;if(source==="mcp")return theme.warning;return null}var SlashPopover=import_react119.memo(({commands:cmds,cursor,onCursor,onSelect})=>{let theme=useTheme().theme;if(cmds.length===0)return $jsx("box",{border:!0,borderStyle:"single",borderColor:theme.border,backgroundColor:theme.backgroundPanel,paddingX:1,height:3,children:$jsx("text",{fg:theme.textMuted,children:"No matching commands"})});let rows3=import_react119.useMemo(()=>{let sorted=sort(cmds),result=[],flat=0,lastCat="";for(let cmd of sorted){if(cmd.category!==lastCat)result.push({type:"header",cat:cmd.category}),lastCat=cmd.category;result.push({type:"cmd",cmd,flat:flat++})}return result},[cmds]),cursorRow=rows3.findIndex((r)=>r.type==="cmd"&&r.flat===cursor),start2=Math.max(0,Math.min(cursorRow-2,rows3.length-MAX_VISIBLE)),visible=rows3.slice(start2,start2+MAX_VISIBLE),clipped=rows3.length>MAX_VISIBLE,above=clipped&&start2>0,below=clipped&&start2+MAX_VISIBLE<rows3.length,height=visible.length+2+(above?1:0)+(below?1:0);return $jsxs("box",{flexDirection:"column",border:!0,borderStyle:"single",borderColor:theme.border,backgroundColor:theme.backgroundPanel,paddingX:1,height,children:[above?$jsx("box",{height:1,paddingLeft:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2191 more"})}):null,visible.map((row)=>{if(row.type==="header")return $jsx("box",{height:1,paddingLeft:1,children:$jsx("text",{children:$jsx("span",{fg:theme.textMuted,children:$jsx("strong",{children:row.cat})})})},`h-${row.cat}`);let active=row.flat===cursor,color=badge2(row.cmd.source,theme);return $jsxs("box",{height:1,flexDirection:"row",backgroundColor:active?theme.backgroundElement:void 0,onMouseOver:()=>onCursor(row.flat),onMouseDown:()=>onSelect(row.cmd),paddingLeft:2,paddingRight:1,children:[$jsx("box",{flexGrow:1,height:1,children:$jsxs("text",{children:[$jsxs("span",{fg:active?theme.primary:theme.text,children:["/",row.cmd.name]}),row.cmd.argsHint?$jsxs("span",{fg:theme.textMuted,children:[" ",row.cmd.argsHint]}):null,$jsxs("span",{fg:theme.textMuted,children:[" ",row.cmd.description]})]})}),$jsxs("box",{height:1,flexDirection:"row",children:[color?$jsx("text",{children:$jsxs("span",{fg:color,children:[" ",row.cmd.source]})}):null,row.cmd.keybind?$jsx("text",{children:$jsxs("span",{fg:theme.textMuted,children:[" ",row.cmd.keybind]})}):null]})]},`c-${row.cmd.name}`)}),below?$jsx("box",{height:1,paddingLeft:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2193 more"})}):null]})});var import_react120=__toESM(require_react_production(),1);var MAX_VISIBLE2=10,AtRefPopover=import_react120.memo(({items,cursor,onCursor,onSelect})=>{let theme=useTheme().theme,start2=Math.max(0,Math.min(cursor-2,items.length-MAX_VISIBLE2)),visible=items.slice(start2,start2+MAX_VISIBLE2),above=start2>0,below=start2+MAX_VISIBLE2<items.length,height=visible.length+2+(above?1:0)+(below?1:0);return $jsxs("box",{flexDirection:"column",border:!0,borderStyle:"single",borderColor:theme.border,backgroundColor:theme.backgroundPanel,paddingX:1,height,children:[above?$jsx("box",{height:1,paddingLeft:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2191 more"})}):null,visible.map((it,j2)=>{let i=start2+j2,active=i===cursor;return $jsxs("box",{height:1,flexDirection:"row",backgroundColor:active?theme.backgroundElement:void 0,onMouseOver:()=>onCursor(i),onMouseDown:()=>onSelect(i),paddingLeft:2,paddingRight:1,children:[$jsx("box",{flexGrow:1,height:1,overflow:"hidden",children:$jsxs("text",{children:[$jsx("span",{fg:active?theme.primary:theme.text,children:it.display}),it.text!==it.display?$jsx("span",{fg:theme.textMuted,children:` ${it.text}`}):null]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:it.meta})})]},it.text)}),below?$jsx("box",{height:1,paddingLeft:1,children:$jsx("text",{fg:theme.textMuted,children:"\u2193 more"})}):null]})});var MAX_ROWS=6;function fmt3(n){if(n<1000)return String(n);if(n<1e6)return`${(n/1000).toFixed(1)}k`;return`${(n/1e6).toFixed(2)}M`}var Composer=import_react121.memo(import_react121.forwardRef((props,ref)=>{let theme=useTheme().theme,gw=useGateway(),keys=useKeys(),ta=import_react121.useRef(null),[input,setInput]=import_react121.useState(""),[caret,setCaret]=import_react121.useState(0),[mode,setMode]=import_react121.useState("normal"),modeRef=import_react121.useRef(mode);modeRef.current=mode;let head=import_react121.useMemo(()=>{let i=input.indexOf(`
4169
4169
  `);return i<0?input:input.slice(0,i)},[input]),pop3=useSlashPopover(mode==="normal"?head:"",props.cmds),at=useAtRefPopover(mode==="normal"?input:"",caret),write=import_react121.useCallback((v2)=>{ta.current?.setText(v2),ta.current?.gotoBufferEnd(),setInput(v2)},[]),hist=useInputHistory(input,write),bindings=import_react121.useMemo(()=>[...toBindings(keys.chord("input.submit"),"submit"),...toBindings(keys.chord("input.newline"),"newline")],[keys]),live=import_react121.useRef({pop:pop3,at,props,input});live.current={pop:pop3,at,props,input};let wasDirty=import_react121.useRef(!1);import_react121.useEffect(()=>{let dirty=input.trim().length>0;if(dirty===wasDirty.current)return;wasDirty.current=dirty,live.current.props.onDirty?.(dirty)},[input]);let select=(c)=>{if(c.name.includes(" ")){write(`/${c.name} `);return}write(""),live.current.props.onSlash(c)},atAccept=(idx2)=>{let off=ta.current?.cursorOffset,next2=live.current.at.accept(live.current.input,idx2,off);if(next2!==null)write(next2)},paste=import_react121.useCallback((e)=>{e.preventDefault();let raw=decodePasteBytes(e.bytes).replace(/\r\n?/g,`
4170
- `),text2=/[^\n]/.test(raw)?raw.replace(/\n+$/,""):raw,verbatim=()=>ta.current?.insertText(text2);if(looksLikePath(text2)){gw.request("input.detect_drop",{text:text2}).then((r)=>{if(!r.matched)return verbatim();if(r.is_image){let{path:path7,count:count4,name,width,height,token_estimate}=r;if(live.current.props.onAttach?.({attached:!0,path:path7,count:count4,name,width,height,token_estimate}),!r.text.startsWith("[User attached"))ta.current?.insertText(r.text+" ");return}ta.current?.insertText(r.text+" ")}).catch(verbatim);return}if(text2.split(`
4170
+ `),text2=/[^\n]/.test(raw)?raw.replace(/\n+$/,""):raw;if(!text2){live.current.props.onAttachClipboard?.();return}let verbatim=()=>ta.current?.insertText(text2);if(looksLikePath(text2)){gw.request("input.detect_drop",{text:text2}).then((r)=>{if(!r.matched)return verbatim();if(r.is_image){let{path:path7,count:count4,name,width,height,token_estimate}=r;if(live.current.props.onAttach?.({attached:!0,path:path7,count:count4,name,width,height,token_estimate}),!r.text.startsWith("[User attached"))ta.current?.insertText(r.text+" ");return}ta.current?.insertText(r.text+" ")}).catch(verbatim);return}if(text2.split(`
4171
4171
  `).length<5)return verbatim();gw.request("paste.collapse",{text:text2}).then((r)=>ta.current?.insertText(r.placeholder+" ")).catch(verbatim)},[gw]),submit=()=>{if(live.current.at.open)return atAccept();let p=live.current.pop;if(p.open){let c=p.popover?.[p.cursor];if(c)select(c);return}if(modeRef.current==="shell"){let text3=live.current.input.trim();if(!text3)return;hist.push(text3),write(""),setMode("normal"),live.current.props.onShell?.(text3);return}let text2=live.current.input.trim();if(live.current.props.streaming){if(!text2||!live.current.props.ready)return;if(hist.push(text2),write(""),text2.startsWith("/"))return void live.current.props.onSend(text2);live.current.props.onEnqueue?.(text2);return}let hasAtt=(live.current.props.attachments?.length??0)>0;if(!text2&&!hasAtt){live.current.props.onEmptyEnter?.();return}if(!live.current.props.ready)return;if(text2)hist.push(text2);write(""),live.current.props.onSend(text2)};import_react121.useImperativeHandle(ref,()=>({value:()=>live.current.input,set:write,insert:(text2)=>ta.current?.insertText(text2),remember:hist.push,lines:()=>ta.current?.lineCount??1,isEmpty:()=>live.current.input.trim().length===0,mode:()=>modeRef.current,setMode,caret:()=>ta.current?.cursorOffset??0,popOpen:()=>live.current.pop.open||live.current.at.open,popNav:(d2)=>{let a=live.current.at;if(a.open)return a.setCursor((c)=>Math.max(0,Math.min(a.items.length-1,c+d2)));let max=(live.current.pop.popover?.length??1)-1;pop3.setCursor((c)=>Math.max(0,Math.min(max,c+d2)))},popAccept:()=>{if(live.current.at.open)return atAccept();let p=live.current.pop,c=p.popover?.[p.cursor];if(c)write(`/${c.name}${c.name.includes(" ")?" ":""}`)},popCancel:()=>{let a=live.current.at;if(a.open)return a.dismiss();write("")},historyUp:()=>{let t2=ta.current;if(!t2||modeRef.current==="shell")return!1;let buf=live.current.input;if(t2.cursorOffset>0&&buf.lastIndexOf(`
4172
4172
  `,t2.cursorOffset-1)>=0)return!1;if(buf.includes(`
4173
4173
  `)&&t2.cursorOffset!==0)return t2.cursorOffset=0,!0;return hist.up(),!0},historyDown:()=>{let t2=ta.current;if(!t2||modeRef.current==="shell")return!1;let buf=live.current.input;if(buf.indexOf(`
4174
4174
  `,t2.cursorOffset)>=0)return!1;if(buf.includes(`
4175
4175
  `)&&t2.cursorOffset!==buf.length)return t2.cursorOffset=buf.length,!0;return hist.down(),!0}}),[hist.up,hist.down,pop3.setCursor,write]);let label=!props.ready?"Connecting...":props.streaming?props.status||"Generating...":"Ready",dot=props.ready?props.streaming?theme.warning:theme.success:theme.error,rows3=Math.min(MAX_ROWS,Math.max(1,input.split(`
4176
- `).length)),lift=rows3+3;return $jsxs("box",{flexDirection:"column",position:"relative",children:[props.focused&&pop3.open?$jsx("box",{position:"absolute",bottom:lift,left:0,right:0,children:$jsx(SlashPopover,{commands:pop3.popover,cursor:pop3.cursor,onCursor:pop3.setCursor,onSelect:select})}):props.focused&&at.open?$jsx("box",{position:"absolute",bottom:lift,left:0,right:0,children:$jsx(AtRefPopover,{items:at.items,cursor:at.cursor,onCursor:at.setCursor,onSelect:atAccept})}):null,(props.queue?.length??0)>0?$jsx("box",{flexDirection:"column",paddingX:1,paddingBottom:1,children:props.queue.map((q4,i)=>$jsx("box",{height:1,onMouseDown:()=>props.onDequeue?.(i),children:$jsxs("text",{children:[$jsxs("span",{fg:theme.borderSubtle,children:[i===0?"\u256D":"\u2502"," "]}),$jsxs("span",{fg:theme.textMuted,children:["\u23F8 ",i+1,". ",trunc4(q4,60)]})]})},i))}):null,(props.attachments?.length??0)>0?$jsx("box",{flexDirection:"column",paddingX:1,paddingBottom:1,gap:1,children:props.attachments.map((a)=>a.path?$jsx(ChafaImage,{path:a.path,width:60},`p-${a.path}`):null)}):null,(props.attachments?.length??0)>0?$jsx("box",{flexDirection:"row",flexWrap:"wrap",gap:1,paddingX:1,paddingBottom:1,children:props.attachments.map((a,i)=>$jsxs("text",{children:[$jsx("span",{bg:theme.accent,fg:theme.background,children:" img "}),$jsxs("span",{bg:theme.backgroundElement,fg:theme.textMuted,children:[" ",a.name??`image ${i+1}`," "]}),a.width&&a.height?$jsxs("span",{bg:theme.backgroundElement,fg:theme.textMuted,children:[a.width,"\xD7",a.height," "]}):null,a.token_estimate?$jsxs("span",{bg:theme.backgroundElement,fg:theme.textMuted,children:["~",fmt3(a.token_estimate),"t "]}):null,$jsx("span",{fg:theme.textMuted,children:" "}),$jsx("span",{fg:theme.textMuted,children:"\u232B to detach"})]},a.path??i))}):null,$jsxs("box",{border:!0,borderStyle:"single",borderColor:mode==="shell"?theme.primary:props.focused?theme.borderActive:theme.border,flexDirection:"row",position:"relative",children:[$jsx("box",{width:1,children:$jsx("text",{fg:theme.primary,children:mode==="shell"?"$":">"})}),$jsx("box",{width:1}),$jsx("textarea",{ref:ta,onContentChange:()=>{let t2=ta.current;setInput(t2?.plainText??""),setCaret(t2?.cursorOffset??0)},onCursorChange:()=>{if(!live.current.input.includes("@"))return;let off=ta.current?.cursorOffset??0;setCaret((c)=>c===off?c:off)},onSubmit:submit,onPaste:paste,keyBindings:bindings,wrapMode:"word",minHeight:1,maxHeight:MAX_ROWS,placeholder:mode==="shell"?"Run a shell command (30s cap, cwd) \u2014 esc or \u232B to exit":props.streaming?"Type to queue... (Enter queues, click chip to edit)":"Message Hermes... (/ for commands, Shift+Enter for newline)",focused:props.focused,textColor:theme.text,focusedTextColor:theme.text,placeholderColor:theme.textMuted,cursorColor:theme.text,backgroundColor:"transparent",focusedBackgroundColor:"transparent",flexGrow:1}),pop3.ghost&&props.focused&&rows3===1?$jsx("box",{position:"absolute",top:0,left:2+input.length,height:1,children:$jsx("text",{fg:theme.textMuted,children:pop3.ghost})}):null]}),$jsxs("box",{height:1,flexDirection:"row",paddingX:1,children:[$jsxs("text",{children:[$jsx("span",{fg:dot,children:"\u25CF "}),$jsx("span",{fg:theme.textMuted,children:mode==="shell"?"Shell":label}),mode==="shell"?$jsx("span",{fg:theme.textMuted,children:" esc exit shell mode"}):props.streaming&&props.escHint?$jsx("span",{fg:theme.warning,children:" esc again to interrupt"}):props.streaming?$jsx("span",{fg:theme.textMuted,children:" esc\xD72 interrupt"}):null]}),$jsx("box",{flexGrow:1}),props.streaming&&(props.queue?.length??0)>0?$jsxs("text",{fg:theme.textMuted,children:[keys.print("queue.flush")," to send queued now "]}):null,props.model?$jsx("text",{fg:theme.textMuted,children:props.model}):null]})]})}));var import_react122=__toESM(require_react_production(),1);init_sessions_db();var normalize2=(sid)=>sid.trim().replace(/\.json$/i,"").replace(/^session_(?=\d{8}_)/,"");function useSession(){let gw=useGateway(),resume=import_react122.useCallback(async(sid)=>{let target=normalize2(sid),res=await gw.request("session.resume",{session_id:target}),id=res.session_id;gw.setSession(id),set("lastSessionId",res.resumed??target);let messages=res.messages?.length?transcriptToMessages(res.messages):[];return{id,messages}},[gw]),create=import_react122.useCallback(async()=>{let res=await gw.request("session.create",{});return gw.setSession(res.session_id),res.session_id},[gw]),close=import_react122.useCallback(async(sid)=>{if(!sid)return;try{await gw.request("session.close",{session_id:sid})}catch{}},[gw]),boot2=import_react122.useCallback(async(launch)=>{let fresh=async(note)=>({id:await create(),messages:[],note});if(launch.mode==="resume"){let target=launch.sid??exports_sessions_db.lastReal()?.id;if(!target)return fresh("no prior session to resume \u2014 starting fresh");try{return await resume(target)}catch(e){let msg=e instanceof Error?e.message:String(e);return fresh(`resume ${target} failed: ${msg} \u2014 starting fresh`)}}let last3=get("lastSessionId"),tip2=last3?exports_sessions_db.chainTip(last3):null;if(tip2&&exports_sessions_db.byId(tip2)?.message_count===0)try{return await resume(tip2)}catch{}return fresh()},[create,resume]),interrupt=import_react122.useCallback(async()=>{try{await gw.request("session.interrupt")}catch{}},[gw]),branch2=import_react122.useCallback(async(name)=>{try{return(await gw.request("session.branch",name?{name}:{})).session_id??null}catch{return null}},[gw]),compress=import_react122.useCallback(async()=>{try{return await gw.request("session.compress")}catch{return null}},[gw]),undo=import_react122.useCallback(async()=>{try{await gw.request("session.undo")}catch{}},[gw]);return import_react122.useMemo(()=>({boot:boot2,create,resume,close,interrupt,branch:branch2,compress,undo}),[boot2,create,resume,close,interrupt,branch2,compress,undo])}init_sessions_db();init_hermes_analytics();function rehome(newHome){process.env.HERMES_HOME=newHome,setHome2(newHome),setHome(newHome),cache2.clear(),resetKanban(),exports_preferences.reload(),home2.reset()}var import_react123=__toESM(require_react_production(),1);var Countdown=(p)=>{let theme=useTheme().theme,[n,setN]=import_react123.useState(p.seconds);import_react123.useEffect(()=>{if(n<=0){p.onFire();return}let t2=setTimeout(()=>setN((v2)=>v2-1),1000);return()=>clearTimeout(t2)},[n,p.onFire]),useKeyboard(()=>p.onCancel());let bar3="\u2588".repeat(n)+"\u2591".repeat(Math.max(0,p.seconds-n));return $jsxs("box",{flexDirection:"column",width:58,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.warning,children:$jsx("strong",{children:p.title})})}),$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:p.body})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.warning,children:[bar3," ",n,"s"]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:p.action})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"press any key to cancel"})})]})};function openCountdown(dialog,opts){return new Promise((resolve4)=>{dialog.replace($jsx(Countdown,{...opts,onFire:()=>{dialog.clear(),resolve4(!0)},onCancel:()=>{dialog.clear(),resolve4(!1)}}),()=>resolve4(!1))})}var SECONDS=10,SUSPEND=process.platform==="darwin"?"pmset sleepnow":"systemctl suspend",run=(cmd)=>Bun.spawn(["sh","-c",cmd],{stdout:"ignore",stderr:"ignore"}),fired=new Map;function makeGoalHook(dialog,toast){let act=(goal,done2,total)=>{let pref=(exports_preferences.get("onGoalDone")??"toast").trim(),head=goal.length>60?goal.slice(0,57)+"\u2026":goal,n=total&&total>0?` ${done2}/${total} items`:"";if(toast.show({variant:"success",title:"Goal complete",message:head+n,duration:8000}),pref==="toast")return;let cmd=pref==="suspend"?SUSPEND:pref;openCountdown(dialog,{title:"Goal complete \u2014 "+(pref==="suspend"?"suspending":"running hook"),body:head,action:`\u2192 ${cmd}`,seconds:SECONDS}).then((ok)=>{if(ok)run(cmd)})};return{check:(sid)=>{if(!sid)return;io.goalState(sid).then((s)=>{if(!s||s.status!=="done")return;if(fired.get(sid)===s.goal)return;fired.set(sid,s.goal);let list=s.checklist??[],done2=list.filter((i)=>i.status==="completed"||i.status==="impossible").length;act(s.goal,done2,list.length)}).catch(()=>{})}}}var import_react128=__toESM(require_react_production(),1);function select(dialog,opts){return new Promise((res)=>{let settled=!1,done2=(v2)=>{if(settled)return;settled=!0,res(v2),dialog.clear()};dialog.replace($jsx(DialogSelect,{title:opts.title,options:opts.options,placeholder:opts.placeholder,onSelect:(o)=>done2(o)}),()=>done2(null))})}function locate2(routes,name){let lower=name.toLowerCase(),hit=TAB_SLASH[lower];if(hit)return hit;let i=[...routes.keys()].findIndex((n)=>n.toLowerCase()===lower);if(i<0)return;return{tab:TABS.length+i,sub:0}}function createApi(input){return{renderer:input.renderer,theme:{get current(){return input.theme.current.theme},get name(){return input.theme.current.name},get mode(){return input.theme.current.mode},set:(name)=>input.theme.current.set(name),has:(name)=>input.theme.current.has(name)},get keys(){return input.keys.current},ui:{dialog:input.dialog,toast:(o)=>input.toast.show({variant:o.variant??"info",title:o.title,message:o.message}),confirm:(o)=>openConfirm(input.dialog,o),prompt:(o)=>openTextPrompt(input.dialog,o),alert:(title,body2)=>openAlert(input.dialog,title,body2),select:(o)=>select(input.dialog,o)},kv:{get:(key3,fallback)=>{return get("plugin")?.[key3]??fallback},set:(key3,value)=>{let bag=get("plugin")??{};set("plugin",{...bag,[key3]:value})}},get client(){return input.gw.current},event:{on:(fn)=>{let c=input.gw.current,h2=(ev)=>fn(ev);return c.on("event",h2),()=>c.off("event",h2)}},route:{register:(defs)=>{for(let d2 of defs)input.routes.set(d2.name,d2);return input.bump(),()=>{for(let d2 of defs)input.routes.delete(d2.name);input.bump()}},navigate:(name,sub2)=>{let at=locate2(input.routes,name);if(!at)return;input.nav.current?.(at.tab,sub2??at.sub)},get current(){return input.cur.current?.()}},command:{register:(cmds)=>input.cmd.register(cmds)},slots:{register(){throw Error("slots.register is only available inside a plugin's tui() factory")}},lifecycle:{signal:new AbortController().signal,onDispose:()=>()=>{}}}}function createScope(id,fail){let ctrl=new AbortController,list=[],done2=!1,onDispose=(fn)=>{if(done2)return()=>{};let key3=Symbol();return list.push({key:key3,fn}),()=>{list=list.filter((x2)=>x2.key!==key3)}},track=(fn)=>{if(!fn)return()=>{};let ran=!1,drop2=()=>{},wrapped=()=>{if(ran)return;return ran=!0,drop2(),fn()};return drop2=onDispose(wrapped),wrapped},race=(fn,left)=>new Promise((res)=>{let t2=setTimeout(()=>res("timeout"),left);Promise.resolve().then(fn).then(()=>{clearTimeout(t2),res("ok")}).catch((e)=>{clearTimeout(t2),res(e instanceof Error?e:Error(String(e)))})}),dispose=async()=>{if(done2)return;done2=!0,ctrl.abort();let queue=[...list].reverse();list=[];let until2=Date.now()+5000;for(let item of queue){let left=until2-Date.now();if(left<=0){fail(`[plugin:${id}] dispose budget exhausted`);return}let out=await race(item.fn,left);if(out==="ok")continue;if(out==="timeout"){fail(`[plugin:${id}] dispose timed out`);return}fail(`[plugin:${id}] dispose threw`,out)}};return{lifecycle:{signal:ctrl.signal,onDispose},track,dispose}}var import_react125=__toESM(require_react_production(),1);var fmt4=(d2)=>[d2.getHours(),d2.getMinutes(),d2.getSeconds()].map((n)=>String(n).padStart(2,"0")).join(":");function Clock(props){let[now2,set2]=import_react125.useState(()=>new Date);return import_react125.useEffect(()=>{let t2=setInterval(()=>set2(new Date),1000);return()=>clearInterval(t2)},[]),$jsx("text",{fg:props.api.theme.current.textMuted,wrapMode:"none",children:fmt4(now2)})}var plugin={id:"demo.clock",tui(api){api.slots.register({order:100,slots:{app_bottom:()=>$jsx(Clock,{api})}})}},clock_default=plugin;var import_react126=__toESM(require_react_production(),1);import{readdirSync as readdirSync5,statSync as statSync4}from"fs";import{join as join19,basename as basename8}from"path";import{homedir as homedir9}from"os";var PREVIEW_MAX=200000,read2=(dir)=>{return(dir==="/"?[]:[{name:"..",dir:!0}]).concat(readdirSync5(dir,{withFileTypes:!0}).filter((d2)=>!d2.name.startsWith(".")).sort((a,b2)=>a.isDirectory()===b2.isDirectory()?a.name.localeCompare(b2.name):a.isDirectory()?-1:1).map((d2)=>({name:d2.name,dir:d2.isDirectory()})))},isMd=(name)=>/\.(md|markdown|mdx)$/i.test(name);function Files(props){let api=props.api,theme=api.theme.current,[dir,setDir]=import_react126.useState(()=>homedir9()),[sel,setSel]=import_react126.useState(0),[preview2,setPreview]=import_react126.useState(""),[err,setErr]=import_react126.useState(""),rows3=import_react126.useMemo(()=>{setErr("");try{return read2(dir)}catch(e){return setErr(String(e.message??e)),[]}},[dir]);import_react126.useEffect(()=>{setSel((s)=>Math.min(s,Math.max(0,rows3.length-1)))},[rows3.length]);let active=rows3[sel];import_react126.useEffect(()=>{if(!active||active.dir){setPreview("");return}let path7=join19(dir,active.name),cancel=!1;return(async()=>{let st=statSync4(path7);if(st.size>PREVIEW_MAX){if(!cancel)setPreview(`(file too large \u2014 ${st.size} bytes)`);return}let text2=await Bun.file(path7).text();if(!cancel)setPreview(text2)})().catch((e)=>{if(!cancel)setPreview(`(read error: ${e})`)}),()=>{cancel=!0}},[dir,active?.name,active?.dir]);let enter=()=>{if(!active)return;if(active.name===".."){setDir((d2)=>d2==="/"?"/":join19(d2,"..")),setSel(0);return}if(active.dir)setDir((d2)=>join19(d2,active.name)),setSel(0)};return useKeyboard((key3)=>{if(key3.name==="left"){setDir((d2)=>d2==="/"?"/":join19(d2,"..")),setSel(0);return}handleListKey(api.keys,key3,{count:rows3.length,setSel,onActivate:enter})}),$jsxs("box",{flexGrow:1,flexDirection:"column",children:[$jsx("box",{height:1,flexShrink:0,paddingX:1,children:$jsx("text",{fg:theme.textMuted,wrapMode:"none",children:dir})}),$jsxs("box",{flexGrow:1,flexDirection:"row",children:[$jsxs("box",{width:32,flexShrink:0,flexDirection:"column",border:!0,borderColor:theme.border,children:[rows3.map((e,i)=>$jsx("box",{height:1,paddingX:1,backgroundColor:i===sel?theme.backgroundElement:void 0,children:$jsx("text",{fg:i===sel?theme.selectedListItemText:e.dir?theme.accent:theme.text,wrapMode:"none",children:(e.dir?"\u25B8 ":" ")+e.name})},e.name)),err?$jsx("box",{height:1,paddingX:1,children:$jsx("text",{fg:theme.error,wrapMode:"none",children:err})}):null]}),$jsx("box",{flexGrow:1,flexDirection:"column",border:!0,borderColor:theme.border,children:active&&!active.dir?$jsxs($Fragment2,{children:[$jsx("box",{height:1,flexShrink:0,paddingX:1,children:$jsxs("text",{fg:theme.textMuted,wrapMode:"none",children:[basename8(active.name),isMd(active.name)?" \xB7 markdown":""]})}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("text",{fg:theme.text,wrapMode:"word",children:preview2})})]}):$jsx("box",{paddingX:1,children:$jsx("text",{fg:theme.textMuted,children:"Select a file to preview."})})})]})]})}var plugin2={id:"demo.files",tui(api){api.route.register([{name:"Files",description:"File browser",render:()=>$jsx(Files,{api})}]),api.command.register([{title:"Files: open browser",value:"plugin.files.open",category:"Plugin",onSelect:()=>api.route.navigate("Files")}])}},files_default=plugin2;var INTERNAL=[clock_default,files_default];var KV_ENABLED="enabled",Ctx7=import_react128.createContext(null);function fail(msg,err){let tail=err instanceof Error?`: ${err.message}`:err!==void 0?`: ${String(err)}`:"";console.error(msg+tail)}function enabledMap(){let v2=get("plugin")?.[KV_ENABLED];return v2&&typeof v2==="object"?v2:{}}function persist2(id,on){let bag=get("plugin")??{},map={...enabledMap(),[id]:on};set("plugin",{...bag,[KV_ENABLED]:map})}function scoped(base2,reg,id,scope){let n=0;return{...base2,slots:{register(p){let sid=n++?`${id}:${n}`:id;return scope.track(reg.register({...p,id:sid}))}},route:{register:(defs)=>scope.track(base2.route.register(defs)),navigate:base2.route.navigate,get current(){return base2.route.current}},event:{on:(fn)=>scope.track(base2.event.on(fn))},command:{register:(cmds)=>scope.track(base2.command.register(cmds))},kv:{get:(key3,fb)=>base2.kv.get(`${id}.${key3}`,fb),set:(key3,v2)=>base2.kv.set(`${id}.${key3}`,v2)},lifecycle:scope.lifecycle}}function PluginProvider(props){let list=props.plugins??INTERNAL,renderer=useRenderer(),themeCtx=useTheme(),keys=useKeys(),dialog=useDialog(),toast=useToast(),cmd=useCommand(),gw=useGateway(),themeRef=import_react128.useRef(themeCtx);themeRef.current=themeCtx;let keysRef=import_react128.useRef(keys);keysRef.current=keys;let gwRef=import_react128.useRef(gw);gwRef.current=gw;let navRef=import_react128.useRef(null),curRef=import_react128.useRef(null),routes=import_react128.useRef(new Map).current,[rev,bump2]=import_react128.useReducer((x2)=>x2+1,0),reg=import_react128.useMemo(()=>createReactSlotRegistry(renderer,Object.defineProperty({},"theme",{get:()=>themeRef.current.theme,enumerable:!0}),{onPluginError:(e)=>fail(`[plugin:${e.pluginId}] ${e.phase} error in slot "${e.slot}"`,e.error)}),[renderer]),Slot2=import_react128.useMemo(()=>createSlot(reg),[reg]),api=import_react128.useMemo(()=>createApi({renderer,theme:themeRef,keys:keysRef,dialog,toast,gw:gwRef,cmd,routes,bump:bump2,nav:navRef,cur:curRef}),[renderer,dialog,toast,cmd,routes]),entries=import_react128.useRef(new Map),[gen,force]=import_react128.useReducer((x2)=>x2+1,0),activate=async(id,write=!0)=>{let e=entries.current.get(id);if(!e)return!1;if(e.enabled=!0,write)persist2(id,!0);if(e.scope)return!0;let scope=createScope(id,fail),ok=await Promise.resolve().then(()=>e.plugin.tui(scoped(api,reg,id,scope))).then(()=>!0).catch((err)=>{return fail(`[plugin:${id}] activation failed`,err),e.error=String(err?.message??err),!1});if(!ok||!e.enabled)return await scope.dispose(),force(),ok&&!0;return e.scope=scope,e.error=void 0,force(),!0},deactivate=async(id,write=!0)=>{let e=entries.current.get(id);if(!e)return!1;if(e.enabled=!1,write)persist2(id,!1);let scope=e.scope;if(e.scope=void 0,scope)await scope.dispose();return force(),!0},started=import_react128.useRef(!1);import_react128.useEffect(()=>{if(started.current)return;started.current=!0;let on=enabledMap();for(let p of list)entries.current.set(p.id,{plugin:p,enabled:on[p.id]??p.enabled??!0});return(async()=>{for(let[id,e]of entries.current)if(e.enabled)await activate(id,!1)})(),()=>{for(let[,e]of entries.current)e.scope?.dispose();entries.current.clear(),routes.clear(),reg.clear()}},[]);let value=import_react128.useMemo(()=>({Slot:Slot2,routes:[...routes.values()],bind:(nav,current)=>{navRef.current=nav,curRef.current=current},status:()=>[...entries.current.values()].map((e)=>({id:e.plugin.id,enabled:e.enabled,active:!!e.scope,error:e.error})),activate:(id)=>activate(id),deactivate:(id)=>deactivate(id)}),[Slot2,routes,rev,gen]);return $jsx(Ctx7.Provider,{value,children:props.children})}var usePlugins=makeUse(Ctx7,"usePlugins");var App=(props)=>$jsx(ThemeProvider,{initial:props.initialTheme,children:$jsx(GatewayProvider,{client:props.gateway,children:$jsx(ToastProvider,{children:$jsx(KeysProvider,{children:$jsx(DialogProvider,{children:$jsx(CommandProvider,{children:$jsx(PluginProvider,{children:$jsx(AppInner,{launch:props.launch??{mode:"new"}})})})})})})})}),AppInner=({launch:launch0})=>{let gw=useGateway(),gwRestart=useGatewayRestart(),dialog=useDialog(),themeCtx=useTheme(),toast=useToast(),renderer=useRenderer(),plugins=usePlugins(),session=useSession(),dims=useTerminalDimensions(),goalHook=import_react131.useMemo(()=>makeGoalHook(dialog,toast),[dialog,toast]),[turn,dispatch]=import_react131.useReducer(turnReducer,initialTurn),[ready,setReady]=import_react131.useState(!1),[sid,setSid]=import_react131.useState(""),sidRef=import_react131.useRef(sid);sidRef.current=sid;let[tab,setTab]=import_react131.useState(CHAT_TAB),[subTabs,setSubTabs]=import_react131.useState(()=>({[SESSIONS_TAB]:0,[AUTOMATION_TAB]:0,[CONFIG_TAB]:0})),setSub=import_react131.useCallback((tabIdx,sub2)=>setSubTabs((prev)=>prev[tabIdx]===sub2?prev:{...prev,[tabIdx]:sub2}),[]),sessSub=import_react131.useCallback((i)=>setSub(SESSIONS_TAB,i),[setSub]),autoSub=import_react131.useCallback((i)=>setSub(AUTOMATION_TAB,i),[setSub]),cfgSub=import_react131.useCallback((i)=>setSub(CONFIG_TAB,i),[setSub]),[hideSidebar,setHideSidebar]=import_react131.useState(!1),[usage,setUsage]=import_react131.useState(void 0),[info2,setInfo]=import_react131.useState(null),[title,setTitle]=import_react131.useState(""),[focusRegion,setFocusRegion]=import_react131.useState("input"),goToTab=import_react131.useCallback((t2)=>{setTab(t2),setFocusRegion(t2===CHAT_TAB?"input":"content")},[]),goTo=import_react131.useCallback((t2,sub2)=>{setTab(t2),setSubTabs((prev)=>prev[t2]===sub2?prev:{...prev,[t2]:sub2}),setFocusRegion(t2===CHAT_TAB?"input":"content")},[]),[status,setStatus]=import_react131.useState(""),[escHint,setEscHint]=import_react131.useState(!1),[eikon,setEikon]=import_react131.useState(void 0),[queue,setQueue]=import_react131.useState([]),[busy,setBusy]=import_react131.useState("queue"),turnRef=import_react131.useRef(turn);turnRef.current=turn;let queueRef=import_react131.useRef(queue);queueRef.current=queue;let launchRef=import_react131.useRef(launch0),launch=launchRef.current,[splash,setSplash]=import_react131.useState(launch.splash!==!1),[switching,setSwitching]=import_react131.useState(!1),summoned=import_react131.useRef(!1),[composing,setComposing]=import_react131.useState(!1),splashLast=import_react131.useMemo(()=>launch.mode==="new"?lastReal():void 0,[launch.mode]),splashInfo=import_react131.useMemo(()=>info2?{agentVersion:info2.version,behind:info2.update_behind,model:info2.model}:void 0,[info2?.version,info2?.update_behind,info2?.model]),splashLastProp=import_react131.useMemo(()=>splashLast?{id:splashLast.id,title:splashLast.title}:void 0,[splashLast]),news=import_react131.useMemo(()=>readChangelog()?.headline,[]),[attachments,setAttachments]=import_react131.useState([]),[cloudH,setCloudH]=import_react131.useState(CLOUD_MIN),[pick,setPick]=import_react131.useState(void 0),[skin,setSkin]=import_react131.useState(()=>deriveSkin(void 0)),inflight=import_react131.useRef(!1),undone=import_react131.useRef([]),sessionStart=import_react131.useRef(Date.now()),composer2=import_react131.useRef(null),promptRef=import_react131.useRef(null),{cmds}=useSlashCommands(),cmdsRef=import_react131.useRef(cmds);cmdsRef.current=cmds;let[errorPulse,setErrorPulse]=import_react131.useState(!1),agentState=errorPulse?"error":turn.toolActive?"working":turn.streaming&&turn.hasContent?"speaking":turn.streaming?"thinking":composing?"listening":"idle",onAvatarHold=import_react131.useCallback((s)=>{if(s==="error")setErrorPulse(!1)},[]),prompt=import_react131.useMemo(()=>pending(turn.messages),[turn.messages]),cloudAuto=turn.streaming&&!turn.hasContent&&!prompt,[force,setForce]=import_react131.useState(void 0),cloud=!prompt&&(force??cloudAuto),prevStream=import_react131.useRef(turn.streaming);import_react131.useEffect(()=>{if(!prevStream.current&&turn.streaming)setForce(void 0),setPick(void 0);prevStream.current=turn.streaming},[turn.streaming]);let onPick=import_react131.useCallback((m2)=>{setPick((p)=>{if(m2&&p&&m2.id===p.id){setForce(!1);return}return setForce(!!m2),m2})},[]),onAvatar=import_react131.useCallback(()=>{let next2=!cloud;if(!next2)setPick(void 0);setForce(next2)},[cloud]),closeCloud=import_react131.useCallback(()=>{setForce(!1),setPick(void 0)},[]),intr=import_react131.useRef(()=>{}),onEnqueue=import_react131.useCallback((t2)=>{if(busy==="steer"){gw.request("session.steer",{text:t2}).then((r)=>{if(r.status==="queued")return toast.show({variant:"success",message:"steered \u2014 lands on next tool result"});setQueue((q4)=>[...q4,t2]),toast.show({variant:"info",message:"steer rejected \u2014 queued for next turn"})}).catch(()=>setQueue((q4)=>[...q4,t2]));return}if(busy==="interrupt")return intr.current(),setQueue((q4)=>[t2,...q4]);setQueue((q4)=>[...q4,t2])},[busy,gw,toast]),onAttach=import_react131.useCallback((r)=>setAttachments((a)=>[...a,r]),[]),stream=useStream({dispatch,session,launchRef,sidRef,sessionStart,goalHook,setSid,setInfo,setReady,setTitle,setBusy,setUsage,setStatus,setSkin,setErrorPulse});intr.current=stream.doInterrupt;let reset2=import_react131.useCallback(()=>{stream.interrupted.current=!1,undone.current=[],dispatch({kind:"reset"}),setUsage(void 0),setReady(!1),setStatus(""),setTitle(""),setAttachments([])},[]),newSession=import_react131.useCallback(async()=>{let prev=sidRef.current;if(reset2(),summoned.current=!0,setSplash(!0),prev)session.close(prev);try{setSid(await session.create()),sessionStart.current=Date.now()}catch{}},[reset2,session]),switchSession=import_react131.useCallback(async(target)=>{let prev=sidRef.current;reset2(),summoned.current=!0,setSplash(!0),setSwitching(!0),goToTab(CHAT_TAB);try{let res=await session.resume(target);if(setSid(res.id),sessionStart.current=Date.now(),res.messages.length)dispatch({kind:"load",messages:res.messages});if(prev&&prev!==res.id)session.close(prev);setSplash(!1),summoned.current=!1}catch(err){dispatch({kind:"system",text:`Failed to resume: ${err instanceof Error?err.message:String(err)}`}),setSplash(!1),summoned.current=!1}finally{setSwitching(!1)}},[reset2,session,goToTab]),switchProfile=import_react131.useCallback((newHome,name)=>{rehome(newHome),reset2(),gw.setSession(""),setSid(""),setInfo(null),setSkin(deriveSkin(void 0)),summoned.current=!0,setSplash(!0),launchRef.current={mode:"new",splash:!0},toast.show({variant:"info",message:`Switching to '${name}'\u2026`}),goToTab(CHAT_TAB),gwRestart()},[reset2,goToTab,gwRestart,toast,gw]),loadEikon=import_react131.useCallback((path7)=>{Bun.file(path7).text().then((t2)=>setEikon(parseEikon(t2))).catch(()=>{})},[]),eikonPath=usePref("eikonPath");import_react131.useEffect(()=>{let p=eikonPath||bundledEikonPath(skin.skin?.name);if(p)loadEikon(p);else setEikon(void 0)},[eikonPath,skin.skin?.name,loadEikon]);let turnsFrom=(m2)=>{let msgs=turnRef.current.messages,at=msgs.findIndex((x2)=>x2.id===m2.id);return at<0?0:msgs.slice(at).filter((x2)=>x2.role==="user").length},rewind=import_react131.useCallback(async(m2)=>{if(turnRef.current.streaming)return;let n=turnsFrom(m2);if(n===0)return;let text2=m2.parts.filter((p)=>p.type==="text").map((p)=>p.content).join("");for(let i=0;i<n;i++)await gw.request("session.undo").catch(()=>{});let r=await gw.request("session.history").catch(()=>null),msgs=turnRef.current.messages,at=msgs.findIndex((x2)=>x2.id===m2.id);dispatch({kind:"load",messages:r?transcriptToMessages(r.messages??[]):msgs.slice(0,at)}),composer2.current?.set(text2),setFocusRegion("input")},[gw]),fork=import_react131.useCallback(async(m2)=>{if(turnRef.current.streaming)return;let n=turnsFrom(m2),text2=m2.parts.filter((p)=>p.type==="text").map((p)=>p.content).join(""),res=await gw.request("session.branch",{}).catch((e)=>{return toast.show({variant:"error",message:`branch failed: ${e.message}`}),null});if(!res?.session_id)return;for(let i=0;i<n;i++)await gw.request("session.undo",{session_id:res.session_id}).catch(()=>{});await switchSession(res.session_id),composer2.current?.set(text2),setFocusRegion("input"),toast.show({variant:"success",message:`forked \u2192 ${res.title??res.session_id}`})},[gw,toast,switchSession]),msgMenu=import_react131.useCallback((m2)=>{if(turnRef.current.streaming)return;openMessage(dialog,m2,{rewind,fork})},[dialog,rewind,fork]),attachClipboard=import_react131.useCallback(()=>{gw.request("clipboard.paste").then((r)=>r.attached?setAttachments((a)=>[...a,r]):toast.show({variant:"info",message:r.message??"No image in clipboard"})).catch((e)=>toast.show({variant:"error",message:e.message}))},[gw,toast]),sendRef=import_react131.useRef(()=>{}),slash=useSlash({dispatch,session,turnRef,queueRef,sendRef,composer:composer2,summoned,undone,ready,info:info2,sid,title,skin,setQueue,setFocusRegion,setSplash,setAttachments,setInfo,setUsage,setTitle,newSession,switchSession,rewind,goTo,attachClipboard}),send=import_react131.useCallback(async(raw)=>{if(["exit","quit",":q",":q!",":wq"].includes(raw.trim()))return quit(renderer,sid,title,gw);let m2=raw.match(/^\/(\S+)(?:\s+([\s\S]*))?$/);if(m2){let[,name,arg=""]=m2,r=resolve7(cmdsRef.current,name);if("hit"in r)return slash(r.hit,arg.trim());if("ambiguous"in r){let head=r.ambiguous.slice(0,6).join(", ");return dispatch({kind:"system",text:`ambiguous: /${name} \u2192 ${head}${r.ambiguous.length>6?", \u2026":""}`})}}let text2=raw;if(hasInterp(raw))setStatus("interpolating\u2026"),text2=await interpolate(gw,raw),setStatus("");stream.interrupted.current=!1;let withMedia=attachments.length?[...attachments.flatMap((a)=>a.path?[`MEDIA:${a.path}`]:[]),text2].filter(Boolean).join(`
4176
+ `).length)),lift=rows3+3;return $jsxs("box",{flexDirection:"column",position:"relative",children:[props.focused&&pop3.open?$jsx("box",{position:"absolute",bottom:lift,left:0,right:0,children:$jsx(SlashPopover,{commands:pop3.popover,cursor:pop3.cursor,onCursor:pop3.setCursor,onSelect:select})}):props.focused&&at.open?$jsx("box",{position:"absolute",bottom:lift,left:0,right:0,children:$jsx(AtRefPopover,{items:at.items,cursor:at.cursor,onCursor:at.setCursor,onSelect:atAccept})}):null,(props.queue?.length??0)>0?$jsx("box",{flexDirection:"column",paddingX:1,paddingBottom:1,children:props.queue.map((q4,i)=>$jsx("box",{height:1,onMouseDown:()=>props.onDequeue?.(i),children:$jsxs("text",{children:[$jsxs("span",{fg:theme.borderSubtle,children:[i===0?"\u256D":"\u2502"," "]}),$jsxs("span",{fg:theme.textMuted,children:["\u23F8 ",i+1,". ",trunc4(q4,60)]})]})},i))}):null,(props.attachments?.length??0)>0?$jsx("box",{flexDirection:"column",paddingX:1,paddingBottom:1,gap:1,children:props.attachments.map((a)=>a.path?$jsx(ChafaImage,{path:a.path,width:60},`p-${a.path}`):null)}):null,(props.attachments?.length??0)>0?$jsx("box",{flexDirection:"row",flexWrap:"wrap",gap:1,paddingX:1,paddingBottom:1,children:props.attachments.map((a,i)=>$jsxs("text",{children:[$jsx("span",{bg:theme.accent,fg:theme.background,children:" img "}),$jsxs("span",{bg:theme.backgroundElement,fg:theme.textMuted,children:[" ",a.name??`image ${i+1}`," "]}),a.width&&a.height?$jsxs("span",{bg:theme.backgroundElement,fg:theme.textMuted,children:[a.width,"\xD7",a.height," "]}):null,a.token_estimate?$jsxs("span",{bg:theme.backgroundElement,fg:theme.textMuted,children:["~",fmt3(a.token_estimate),"t "]}):null,$jsx("span",{fg:theme.textMuted,children:" "}),$jsx("span",{fg:theme.textMuted,children:"\u232B to detach"})]},a.path??i))}):null,$jsxs("box",{border:!0,borderStyle:"single",borderColor:mode==="shell"?theme.primary:props.focused?theme.borderActive:theme.border,flexDirection:"row",position:"relative",children:[$jsx("box",{width:1,children:$jsx("text",{fg:theme.primary,children:mode==="shell"?"$":">"})}),$jsx("box",{width:1}),$jsx("textarea",{ref:ta,onContentChange:()=>{let t2=ta.current;setInput(t2?.plainText??""),setCaret(t2?.cursorOffset??0)},onCursorChange:()=>{if(!live.current.input.includes("@"))return;let off=ta.current?.cursorOffset??0;setCaret((c)=>c===off?c:off)},onSubmit:submit,onPaste:paste,keyBindings:bindings,wrapMode:"word",minHeight:1,maxHeight:MAX_ROWS,placeholder:mode==="shell"?"Run a shell command (30s cap, cwd) \u2014 esc or \u232B to exit":props.streaming?"Type to queue... (Enter queues, click chip to edit)":"Message Hermes... (/ for commands, Shift+Enter for newline)",focused:props.focused,textColor:theme.text,focusedTextColor:theme.text,placeholderColor:theme.textMuted,cursorColor:theme.text,backgroundColor:"transparent",focusedBackgroundColor:"transparent",flexGrow:1}),pop3.ghost&&props.focused&&rows3===1?$jsx("box",{position:"absolute",top:0,left:2+input.length,height:1,children:$jsx("text",{fg:theme.textMuted,children:pop3.ghost})}):null]}),$jsxs("box",{height:1,flexDirection:"row",paddingX:1,children:[$jsxs("text",{children:[$jsx("span",{fg:dot,children:"\u25CF "}),$jsx("span",{fg:theme.textMuted,children:mode==="shell"?"Shell":label}),mode==="shell"?$jsx("span",{fg:theme.textMuted,children:" esc exit shell mode"}):props.streaming&&props.escHint?$jsx("span",{fg:theme.warning,children:" esc again to interrupt"}):props.streaming?$jsx("span",{fg:theme.textMuted,children:" esc\xD72 interrupt"}):null]}),$jsx("box",{flexGrow:1}),props.streaming&&(props.queue?.length??0)>0?$jsxs("text",{fg:theme.textMuted,children:[keys.print("queue.flush")," to send queued now "]}):null,props.model?$jsx("text",{fg:theme.textMuted,children:props.model}):null]})]})}));var import_react122=__toESM(require_react_production(),1);init_sessions_db();var normalize2=(sid)=>sid.trim().replace(/\.json$/i,"").replace(/^session_(?=\d{8}_)/,"");function useSession(){let gw=useGateway(),resume=import_react122.useCallback(async(sid)=>{let target=normalize2(sid),res=await gw.request("session.resume",{session_id:target}),id=res.session_id;gw.setSession(id),set("lastSessionId",res.resumed??target);let messages=res.messages?.length?transcriptToMessages(res.messages):[];return{id,messages}},[gw]),create=import_react122.useCallback(async()=>{let res=await gw.request("session.create",{});return gw.setSession(res.session_id),res.session_id},[gw]),close=import_react122.useCallback(async(sid)=>{if(!sid)return;try{await gw.request("session.close",{session_id:sid})}catch{}},[gw]),boot2=import_react122.useCallback(async(launch)=>{let fresh=async(note)=>({id:await create(),messages:[],note});if(launch.mode==="resume"){let target=launch.sid??exports_sessions_db.lastReal()?.id;if(!target)return fresh("no prior session to resume \u2014 starting fresh");try{return await resume(target)}catch(e){let msg=e instanceof Error?e.message:String(e);return fresh(`resume ${target} failed: ${msg} \u2014 starting fresh`)}}let last3=get("lastSessionId"),tip2=last3?exports_sessions_db.chainTip(last3):null;if(tip2&&exports_sessions_db.byId(tip2)?.message_count===0)try{return await resume(tip2)}catch{}return fresh()},[create,resume]),interrupt=import_react122.useCallback(async()=>{try{await gw.request("session.interrupt")}catch{}},[gw]),branch2=import_react122.useCallback(async(name)=>{try{return(await gw.request("session.branch",name?{name}:{})).session_id??null}catch{return null}},[gw]),compress=import_react122.useCallback(async()=>{try{return await gw.request("session.compress")}catch{return null}},[gw]),undo=import_react122.useCallback(async()=>{try{await gw.request("session.undo")}catch{}},[gw]);return import_react122.useMemo(()=>({boot:boot2,create,resume,close,interrupt,branch:branch2,compress,undo}),[boot2,create,resume,close,interrupt,branch2,compress,undo])}init_sessions_db();init_hermes_analytics();function rehome(newHome){process.env.HERMES_HOME=newHome,setHome2(newHome),setHome(newHome),cache2.clear(),resetKanban(),exports_preferences.reload(),home2.reset()}var import_react123=__toESM(require_react_production(),1);var Countdown=(p)=>{let theme=useTheme().theme,[n,setN]=import_react123.useState(p.seconds);import_react123.useEffect(()=>{if(n<=0){p.onFire();return}let t2=setTimeout(()=>setN((v2)=>v2-1),1000);return()=>clearTimeout(t2)},[n,p.onFire]),useKeyboard(()=>p.onCancel());let bar3="\u2588".repeat(n)+"\u2591".repeat(Math.max(0,p.seconds-n));return $jsxs("box",{flexDirection:"column",width:58,children:[$jsx("box",{height:1,children:$jsx("text",{fg:theme.warning,children:$jsx("strong",{children:p.title})})}),$jsx("box",{height:1}),$jsx("box",{minHeight:1,children:$jsx("text",{wrapMode:"word",children:p.body})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsxs("text",{fg:theme.warning,children:[bar3," ",n,"s"]})}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:p.action})}),$jsx("box",{height:1}),$jsx("box",{height:1,children:$jsx("text",{fg:theme.textMuted,children:"press any key to cancel"})})]})};function openCountdown(dialog,opts){return new Promise((resolve4)=>{dialog.replace($jsx(Countdown,{...opts,onFire:()=>{dialog.clear(),resolve4(!0)},onCancel:()=>{dialog.clear(),resolve4(!1)}}),()=>resolve4(!1))})}var SECONDS=10,SUSPEND=process.platform==="darwin"?"pmset sleepnow":"systemctl suspend",run=(cmd)=>Bun.spawn(["sh","-c",cmd],{stdout:"ignore",stderr:"ignore"}),fired=new Map;function makeGoalHook(dialog,toast){let act=(goal,done2,total)=>{let pref=(exports_preferences.get("onGoalDone")??"toast").trim(),head=goal.length>60?goal.slice(0,57)+"\u2026":goal,n=total&&total>0?` ${done2}/${total} items`:"";if(toast.show({variant:"success",title:"Goal complete",message:head+n,duration:8000}),pref==="toast")return;let cmd=pref==="suspend"?SUSPEND:pref;openCountdown(dialog,{title:"Goal complete \u2014 "+(pref==="suspend"?"suspending":"running hook"),body:head,action:`\u2192 ${cmd}`,seconds:SECONDS}).then((ok)=>{if(ok)run(cmd)})};return{check:(sid)=>{if(!sid)return;io.goalState(sid).then((s)=>{if(!s||s.status!=="done")return;if(fired.get(sid)===s.goal)return;fired.set(sid,s.goal);let list=s.checklist??[],done2=list.filter((i)=>i.status==="completed"||i.status==="impossible").length;act(s.goal,done2,list.length)}).catch(()=>{})}}}var import_react128=__toESM(require_react_production(),1);function select(dialog,opts){return new Promise((res)=>{let settled=!1,done2=(v2)=>{if(settled)return;settled=!0,res(v2),dialog.clear()};dialog.replace($jsx(DialogSelect,{title:opts.title,options:opts.options,placeholder:opts.placeholder,onSelect:(o)=>done2(o)}),()=>done2(null))})}function locate2(routes,name){let lower=name.toLowerCase(),hit=TAB_SLASH[lower];if(hit)return hit;let i=[...routes.keys()].findIndex((n)=>n.toLowerCase()===lower);if(i<0)return;return{tab:TABS.length+i,sub:0}}function createApi(input){return{renderer:input.renderer,theme:{get current(){return input.theme.current.theme},get name(){return input.theme.current.name},get mode(){return input.theme.current.mode},set:(name)=>input.theme.current.set(name),has:(name)=>input.theme.current.has(name)},get keys(){return input.keys.current},ui:{dialog:input.dialog,toast:(o)=>input.toast.show({variant:o.variant??"info",title:o.title,message:o.message}),confirm:(o)=>openConfirm(input.dialog,o),prompt:(o)=>openTextPrompt(input.dialog,o),alert:(title,body2)=>openAlert(input.dialog,title,body2),select:(o)=>select(input.dialog,o)},kv:{get:(key3,fallback)=>{return get("plugin")?.[key3]??fallback},set:(key3,value)=>{let bag=get("plugin")??{};set("plugin",{...bag,[key3]:value})}},get client(){return input.gw.current},event:{on:(fn)=>{let c=input.gw.current,h2=(ev)=>fn(ev);return c.on("event",h2),()=>c.off("event",h2)}},route:{register:(defs)=>{for(let d2 of defs)input.routes.set(d2.name,d2);return input.bump(),()=>{for(let d2 of defs)input.routes.delete(d2.name);input.bump()}},navigate:(name,sub2)=>{let at=locate2(input.routes,name);if(!at)return;input.nav.current?.(at.tab,sub2??at.sub)},get current(){return input.cur.current?.()}},command:{register:(cmds)=>input.cmd.register(cmds)},slots:{register(){throw Error("slots.register is only available inside a plugin's tui() factory")}},lifecycle:{signal:new AbortController().signal,onDispose:()=>()=>{}}}}function createScope(id,fail){let ctrl=new AbortController,list=[],done2=!1,onDispose=(fn)=>{if(done2)return()=>{};let key3=Symbol();return list.push({key:key3,fn}),()=>{list=list.filter((x2)=>x2.key!==key3)}},track=(fn)=>{if(!fn)return()=>{};let ran=!1,drop2=()=>{},wrapped=()=>{if(ran)return;return ran=!0,drop2(),fn()};return drop2=onDispose(wrapped),wrapped},race=(fn,left)=>new Promise((res)=>{let t2=setTimeout(()=>res("timeout"),left);Promise.resolve().then(fn).then(()=>{clearTimeout(t2),res("ok")}).catch((e)=>{clearTimeout(t2),res(e instanceof Error?e:Error(String(e)))})}),dispose=async()=>{if(done2)return;done2=!0,ctrl.abort();let queue=[...list].reverse();list=[];let until2=Date.now()+5000;for(let item of queue){let left=until2-Date.now();if(left<=0){fail(`[plugin:${id}] dispose budget exhausted`);return}let out=await race(item.fn,left);if(out==="ok")continue;if(out==="timeout"){fail(`[plugin:${id}] dispose timed out`);return}fail(`[plugin:${id}] dispose threw`,out)}};return{lifecycle:{signal:ctrl.signal,onDispose},track,dispose}}var import_react125=__toESM(require_react_production(),1);var fmt4=(d2)=>[d2.getHours(),d2.getMinutes(),d2.getSeconds()].map((n)=>String(n).padStart(2,"0")).join(":");function Clock(props){let[now2,set2]=import_react125.useState(()=>new Date);return import_react125.useEffect(()=>{let t2=setInterval(()=>set2(new Date),1000);return()=>clearInterval(t2)},[]),$jsx("text",{fg:props.api.theme.current.textMuted,wrapMode:"none",children:fmt4(now2)})}var plugin={id:"demo.clock",tui(api){api.slots.register({order:100,slots:{app_bottom:()=>$jsx(Clock,{api})}})}},clock_default=plugin;var import_react126=__toESM(require_react_production(),1);import{readdirSync as readdirSync5,statSync as statSync4}from"fs";import{join as join19,basename as basename8}from"path";import{homedir as homedir9}from"os";var PREVIEW_MAX=200000,read2=(dir)=>{return(dir==="/"?[]:[{name:"..",dir:!0}]).concat(readdirSync5(dir,{withFileTypes:!0}).filter((d2)=>!d2.name.startsWith(".")).sort((a,b2)=>a.isDirectory()===b2.isDirectory()?a.name.localeCompare(b2.name):a.isDirectory()?-1:1).map((d2)=>({name:d2.name,dir:d2.isDirectory()})))},isMd=(name)=>/\.(md|markdown|mdx)$/i.test(name);function Files(props){let api=props.api,theme=api.theme.current,[dir,setDir]=import_react126.useState(()=>homedir9()),[sel,setSel]=import_react126.useState(0),[preview2,setPreview]=import_react126.useState(""),[err,setErr]=import_react126.useState(""),rows3=import_react126.useMemo(()=>{setErr("");try{return read2(dir)}catch(e){return setErr(String(e.message??e)),[]}},[dir]);import_react126.useEffect(()=>{setSel((s)=>Math.min(s,Math.max(0,rows3.length-1)))},[rows3.length]);let active=rows3[sel];import_react126.useEffect(()=>{if(!active||active.dir){setPreview("");return}let path7=join19(dir,active.name),cancel=!1;return(async()=>{let st=statSync4(path7);if(st.size>PREVIEW_MAX){if(!cancel)setPreview(`(file too large \u2014 ${st.size} bytes)`);return}let text2=await Bun.file(path7).text();if(!cancel)setPreview(text2)})().catch((e)=>{if(!cancel)setPreview(`(read error: ${e})`)}),()=>{cancel=!0}},[dir,active?.name,active?.dir]);let enter=()=>{if(!active)return;if(active.name===".."){setDir((d2)=>d2==="/"?"/":join19(d2,"..")),setSel(0);return}if(active.dir)setDir((d2)=>join19(d2,active.name)),setSel(0)};return useKeyboard((key3)=>{if(key3.name==="left"){setDir((d2)=>d2==="/"?"/":join19(d2,"..")),setSel(0);return}handleListKey(api.keys,key3,{count:rows3.length,setSel,onActivate:enter})}),$jsxs("box",{flexGrow:1,flexDirection:"column",children:[$jsx("box",{height:1,flexShrink:0,paddingX:1,children:$jsx("text",{fg:theme.textMuted,wrapMode:"none",children:dir})}),$jsxs("box",{flexGrow:1,flexDirection:"row",children:[$jsxs("box",{width:32,flexShrink:0,flexDirection:"column",border:!0,borderColor:theme.border,children:[rows3.map((e,i)=>$jsx("box",{height:1,paddingX:1,backgroundColor:i===sel?theme.backgroundElement:void 0,children:$jsx("text",{fg:i===sel?theme.selectedListItemText:e.dir?theme.accent:theme.text,wrapMode:"none",children:(e.dir?"\u25B8 ":" ")+e.name})},e.name)),err?$jsx("box",{height:1,paddingX:1,children:$jsx("text",{fg:theme.error,wrapMode:"none",children:err})}):null]}),$jsx("box",{flexGrow:1,flexDirection:"column",border:!0,borderColor:theme.border,children:active&&!active.dir?$jsxs($Fragment,{children:[$jsx("box",{height:1,flexShrink:0,paddingX:1,children:$jsxs("text",{fg:theme.textMuted,wrapMode:"none",children:[basename8(active.name),isMd(active.name)?" \xB7 markdown":""]})}),$jsx("scrollbox",{scrollY:!0,flexGrow:1,children:$jsx("text",{fg:theme.text,wrapMode:"word",children:preview2})})]}):$jsx("box",{paddingX:1,children:$jsx("text",{fg:theme.textMuted,children:"Select a file to preview."})})})]})]})}var plugin2={id:"demo.files",tui(api){api.route.register([{name:"Files",description:"File browser",render:()=>$jsx(Files,{api})}]),api.command.register([{title:"Files: open browser",value:"plugin.files.open",category:"Plugin",onSelect:()=>api.route.navigate("Files")}])}},files_default=plugin2;var INTERNAL=[clock_default,files_default];var KV_ENABLED="enabled",Ctx7=import_react128.createContext(null);function fail(msg,err){let tail=err instanceof Error?`: ${err.message}`:err!==void 0?`: ${String(err)}`:"";console.error(msg+tail)}function enabledMap(){let v2=get("plugin")?.[KV_ENABLED];return v2&&typeof v2==="object"?v2:{}}function persist2(id,on){let bag=get("plugin")??{},map={...enabledMap(),[id]:on};set("plugin",{...bag,[KV_ENABLED]:map})}function scoped(base2,reg,id,scope){let n=0;return{...base2,slots:{register(p){let sid=n++?`${id}:${n}`:id;return scope.track(reg.register({...p,id:sid}))}},route:{register:(defs)=>scope.track(base2.route.register(defs)),navigate:base2.route.navigate,get current(){return base2.route.current}},event:{on:(fn)=>scope.track(base2.event.on(fn))},command:{register:(cmds)=>scope.track(base2.command.register(cmds))},kv:{get:(key3,fb)=>base2.kv.get(`${id}.${key3}`,fb),set:(key3,v2)=>base2.kv.set(`${id}.${key3}`,v2)},lifecycle:scope.lifecycle}}var CELLS=new WeakMap;function ctxFor(renderer,themeRef){let hit=CELLS.get(renderer);if(hit)return hit.themeRef=themeRef,hit.ctx;let cell={themeRef,ctx:{}};return Object.defineProperty(cell.ctx,"theme",{get:()=>cell.themeRef.current.theme,enumerable:!0}),CELLS.set(renderer,cell),cell.ctx}function PluginProvider(props){let list=props.plugins??INTERNAL,renderer=useRenderer(),themeCtx=useTheme(),keys=useKeys(),dialog=useDialog(),toast=useToast(),cmd=useCommand(),gw=useGateway(),themeRef=import_react128.useRef(themeCtx);themeRef.current=themeCtx;let keysRef=import_react128.useRef(keys);keysRef.current=keys;let gwRef=import_react128.useRef(gw);gwRef.current=gw;let navRef=import_react128.useRef(null),curRef=import_react128.useRef(null),routes=import_react128.useRef(new Map).current,[rev,bump2]=import_react128.useReducer((x2)=>x2+1,0),reg=import_react128.useMemo(()=>createReactSlotRegistry(renderer,ctxFor(renderer,themeRef),{onPluginError:(e)=>fail(`[plugin:${e.pluginId}] ${e.phase} error in slot "${e.slot}"`,e.error)}),[renderer]),Slot2=import_react128.useMemo(()=>createSlot(reg),[reg]),api=import_react128.useMemo(()=>createApi({renderer,theme:themeRef,keys:keysRef,dialog,toast,gw:gwRef,cmd,routes,bump:bump2,nav:navRef,cur:curRef}),[renderer,dialog,toast,cmd,routes]),entries=import_react128.useRef(new Map),[gen,force]=import_react128.useReducer((x2)=>x2+1,0),activate=async(id,write=!0)=>{let e=entries.current.get(id);if(!e)return!1;if(e.enabled=!0,write)persist2(id,!0);if(e.scope)return!0;let scope=createScope(id,fail),ok=await Promise.resolve().then(()=>e.plugin.tui(scoped(api,reg,id,scope))).then(()=>!0).catch((err)=>{return fail(`[plugin:${id}] activation failed`,err),e.error=String(err?.message??err),!1});if(!ok||!e.enabled)return await scope.dispose(),force(),ok&&!0;return e.scope=scope,e.error=void 0,force(),!0},deactivate=async(id,write=!0)=>{let e=entries.current.get(id);if(!e)return!1;if(e.enabled=!1,write)persist2(id,!1);let scope=e.scope;if(e.scope=void 0,scope)await scope.dispose();return force(),!0},started=import_react128.useRef(!1);import_react128.useEffect(()=>{if(started.current)return;started.current=!0;let on=enabledMap();for(let p of list)entries.current.set(p.id,{plugin:p,enabled:on[p.id]??p.enabled??!0});return(async()=>{for(let[id,e]of entries.current)if(e.enabled)await activate(id,!1)})(),()=>{for(let[,e]of entries.current)e.scope?.dispose();entries.current.clear(),routes.clear(),reg.clear()}},[]);let value=import_react128.useMemo(()=>({Slot:Slot2,routes:[...routes.values()],bind:(nav,current)=>{navRef.current=nav,curRef.current=current},status:()=>[...entries.current.values()].map((e)=>({id:e.plugin.id,enabled:e.enabled,active:!!e.scope,error:e.error})),activate:(id)=>activate(id),deactivate:(id)=>deactivate(id)}),[Slot2,routes,rev,gen]);return $jsx(Ctx7.Provider,{value,children:props.children})}var usePlugins=makeUse(Ctx7,"usePlugins");var App=(props)=>$jsx(ThemeProvider,{initial:props.initialTheme,children:$jsx(GatewayProvider,{client:props.gateway,children:$jsx(ToastProvider,{children:$jsx(KeysProvider,{children:$jsx(DialogProvider,{children:$jsx(CommandProvider,{children:$jsx(PluginProvider,{children:$jsx(AppInner,{launch:props.launch??{mode:"new"}})})})})})})})}),AppInner=({launch:launch0})=>{let gw=useGateway(),gwRestart=useGatewayRestart(),dialog=useDialog(),themeCtx=useTheme(),toast=useToast(),renderer=useRenderer(),plugins=usePlugins(),session=useSession(),dims=useTerminalDimensions(),goalHook=import_react131.useMemo(()=>makeGoalHook(dialog,toast),[dialog,toast]),[turn,dispatch]=import_react131.useReducer(turnReducer,initialTurn),[ready,setReady]=import_react131.useState(!1),[sid,setSid]=import_react131.useState(""),sidRef=import_react131.useRef(sid);sidRef.current=sid;let[tab,setTab]=import_react131.useState(CHAT_TAB),[subTabs,setSubTabs]=import_react131.useState(()=>({[SESSIONS_TAB]:0,[AUTOMATION_TAB]:0,[CONFIG_TAB]:0})),setSub=import_react131.useCallback((tabIdx,sub2)=>setSubTabs((prev)=>prev[tabIdx]===sub2?prev:{...prev,[tabIdx]:sub2}),[]),sessSub=import_react131.useCallback((i)=>setSub(SESSIONS_TAB,i),[setSub]),autoSub=import_react131.useCallback((i)=>setSub(AUTOMATION_TAB,i),[setSub]),cfgSub=import_react131.useCallback((i)=>setSub(CONFIG_TAB,i),[setSub]),[hideSidebar,setHideSidebar]=import_react131.useState(!1),[usage,setUsage]=import_react131.useState(void 0),[info2,setInfo]=import_react131.useState(null),[title,setTitle]=import_react131.useState(""),[focusRegion,setFocusRegion]=import_react131.useState("input"),goToTab=import_react131.useCallback((t2)=>{setTab(t2),setFocusRegion(t2===CHAT_TAB?"input":"content")},[]),goTo=import_react131.useCallback((t2,sub2)=>{setTab(t2),setSubTabs((prev)=>prev[t2]===sub2?prev:{...prev,[t2]:sub2}),setFocusRegion(t2===CHAT_TAB?"input":"content")},[]),[status,setStatus]=import_react131.useState(""),[escHint,setEscHint]=import_react131.useState(!1),[eikon,setEikon]=import_react131.useState(void 0),[queue,setQueue]=import_react131.useState([]),[busy,setBusy]=import_react131.useState("queue"),turnRef=import_react131.useRef(turn);turnRef.current=turn;let queueRef=import_react131.useRef(queue);queueRef.current=queue;let launchRef=import_react131.useRef(launch0),launch=launchRef.current,[splash,setSplash]=import_react131.useState(launch.splash!==!1),[switching,setSwitching]=import_react131.useState(!1),summoned=import_react131.useRef(!1),[composing,setComposing]=import_react131.useState(!1),splashLast=import_react131.useMemo(()=>launch.mode==="new"?lastReal():void 0,[launch.mode]),splashInfo=import_react131.useMemo(()=>info2?{agentVersion:info2.version,behind:info2.update_behind,model:info2.model}:void 0,[info2?.version,info2?.update_behind,info2?.model]),splashLastProp=import_react131.useMemo(()=>splashLast?{id:splashLast.id,title:splashLast.title}:void 0,[splashLast]),news=import_react131.useMemo(()=>readChangelog()?.headline,[]),[attachments,setAttachments]=import_react131.useState([]),[cloudH,setCloudH]=import_react131.useState(CLOUD_MIN),[pick,setPick]=import_react131.useState(void 0),[skin,setSkin]=import_react131.useState(()=>deriveSkin(void 0)),inflight=import_react131.useRef(!1),undone=import_react131.useRef([]),sessionStart=import_react131.useRef(Date.now()),composer2=import_react131.useRef(null),promptRef=import_react131.useRef(null),{cmds}=useSlashCommands(),cmdsRef=import_react131.useRef(cmds);cmdsRef.current=cmds;let[errorPulse,setErrorPulse]=import_react131.useState(!1),agentState=errorPulse?"error":turn.toolActive?"working":turn.streaming&&turn.hasContent?"speaking":turn.streaming?"thinking":composing?"listening":"idle",onAvatarHold=import_react131.useCallback((s)=>{if(s==="error")setErrorPulse(!1)},[]),prompt=import_react131.useMemo(()=>pending(turn.messages),[turn.messages]),cloudAuto=turn.streaming&&!turn.hasContent&&!prompt,[force,setForce]=import_react131.useState(void 0),cloud=!prompt&&(force??cloudAuto),prevStream=import_react131.useRef(turn.streaming);import_react131.useEffect(()=>{if(!prevStream.current&&turn.streaming)setForce(void 0),setPick(void 0);prevStream.current=turn.streaming},[turn.streaming]);let onPick=import_react131.useCallback((m2)=>{setPick((p)=>{if(m2&&p&&m2.id===p.id){setForce(!1);return}return setForce(!!m2),m2})},[]),onAvatar=import_react131.useCallback(()=>{let next2=!cloud;if(!next2)setPick(void 0);setForce(next2)},[cloud]),closeCloud=import_react131.useCallback(()=>{setForce(!1),setPick(void 0)},[]),intr=import_react131.useRef(()=>{}),onEnqueue=import_react131.useCallback((t2)=>{if(busy==="steer"){gw.request("session.steer",{text:t2}).then((r)=>{if(r.status==="queued")return toast.show({variant:"success",message:"steered \u2014 lands on next tool result"});setQueue((q4)=>[...q4,t2]),toast.show({variant:"info",message:"steer rejected \u2014 queued for next turn"})}).catch(()=>setQueue((q4)=>[...q4,t2]));return}if(busy==="interrupt")return intr.current(),setQueue((q4)=>[t2,...q4]);setQueue((q4)=>[...q4,t2])},[busy,gw,toast]),onAttach=import_react131.useCallback((r)=>setAttachments((a)=>[...a,r]),[]),stream=useStream({dispatch,session,launchRef,sidRef,sessionStart,goalHook,setSid,setInfo,setReady,setTitle,setBusy,setUsage,setStatus,setSkin,setErrorPulse});intr.current=stream.doInterrupt;let reset2=import_react131.useCallback(()=>{stream.interrupted.current=!1,undone.current=[],dispatch({kind:"reset"}),setUsage(void 0),setReady(!1),setStatus(""),setTitle(""),setAttachments([])},[]),newSession=import_react131.useCallback(async()=>{let prev=sidRef.current;if(reset2(),summoned.current=!0,setSplash(!0),prev)session.close(prev);try{setSid(await session.create()),sessionStart.current=Date.now()}catch{}},[reset2,session]),switchSession=import_react131.useCallback(async(target)=>{let prev=sidRef.current;reset2(),summoned.current=!0,setSplash(!0),setSwitching(!0),goToTab(CHAT_TAB);try{let res=await session.resume(target);if(setSid(res.id),sessionStart.current=Date.now(),res.messages.length)dispatch({kind:"load",messages:res.messages});if(prev&&prev!==res.id)session.close(prev);setSplash(!1),summoned.current=!1}catch(err){dispatch({kind:"system",text:`Failed to resume: ${err instanceof Error?err.message:String(err)}`}),setSplash(!1),summoned.current=!1}finally{setSwitching(!1)}},[reset2,session,goToTab]),switchProfile=import_react131.useCallback((newHome,name)=>{rehome(newHome),reset2(),gw.setSession(""),setSid(""),setInfo(null),setSkin(deriveSkin(void 0)),summoned.current=!0,setSplash(!0),launchRef.current={mode:"new",splash:!0},toast.show({variant:"info",message:`Switching to '${name}'\u2026`}),goToTab(CHAT_TAB),gwRestart()},[reset2,goToTab,gwRestart,toast,gw]),loadEikon=import_react131.useCallback((path7)=>{Bun.file(path7).text().then((t2)=>setEikon(parseEikon(t2))).catch(()=>{})},[]),eikonPath=usePref("eikonPath");import_react131.useEffect(()=>{let p=eikonPath||bundledEikonPath(skin.skin?.name);if(p)loadEikon(p);else setEikon(void 0)},[eikonPath,skin.skin?.name,loadEikon]);let turnsFrom=(m2)=>{let msgs=turnRef.current.messages,at=msgs.findIndex((x2)=>x2.id===m2.id);return at<0?0:msgs.slice(at).filter((x2)=>x2.role==="user").length},rewind=import_react131.useCallback(async(m2)=>{if(turnRef.current.streaming)return;let n=turnsFrom(m2);if(n===0)return;let text2=m2.parts.filter((p)=>p.type==="text").map((p)=>p.content).join("");for(let i=0;i<n;i++)await gw.request("session.undo").catch(()=>{});let r=await gw.request("session.history").catch(()=>null),msgs=turnRef.current.messages,at=msgs.findIndex((x2)=>x2.id===m2.id);dispatch({kind:"load",messages:r?transcriptToMessages(r.messages??[]):msgs.slice(0,at)}),composer2.current?.set(text2),setFocusRegion("input")},[gw]),fork=import_react131.useCallback(async(m2)=>{if(turnRef.current.streaming)return;let n=turnsFrom(m2),text2=m2.parts.filter((p)=>p.type==="text").map((p)=>p.content).join(""),res=await gw.request("session.branch",{}).catch((e)=>{return toast.show({variant:"error",message:`branch failed: ${e.message}`}),null});if(!res?.session_id)return;for(let i=0;i<n;i++)await gw.request("session.undo",{session_id:res.session_id}).catch(()=>{});await switchSession(res.session_id),composer2.current?.set(text2),setFocusRegion("input"),toast.show({variant:"success",message:`forked \u2192 ${res.title??res.session_id}`})},[gw,toast,switchSession]),msgMenu=import_react131.useCallback((m2)=>{if(turnRef.current.streaming)return;openMessage(dialog,m2,{rewind,fork})},[dialog,rewind,fork]),attachClipboard=import_react131.useCallback(()=>{gw.request("clipboard.paste").then((r)=>r.attached?setAttachments((a)=>[...a,r]):toast.show({variant:"info",message:r.message??"No image in clipboard"})).catch((e)=>toast.show({variant:"error",message:e.message}))},[gw,toast]),sendRef=import_react131.useRef(()=>{}),slash=useSlash({dispatch,session,turnRef,queueRef,sendRef,composer:composer2,summoned,undone,ready,info:info2,sid,title,skin,setQueue,setFocusRegion,setSplash,setAttachments,setInfo,setUsage,setTitle,newSession,switchSession,rewind,goTo,attachClipboard}),send=import_react131.useCallback(async(raw)=>{if(["exit","quit",":q",":q!",":wq"].includes(raw.trim()))return quit(renderer,sid,title,gw);let m2=raw.match(/^\/(\S+)(?:\s+([\s\S]*))?$/);if(m2){let[,name,arg=""]=m2,r=resolve7(cmdsRef.current,name);if("hit"in r)return slash(r.hit,arg.trim());if("ambiguous"in r){let head=r.ambiguous.slice(0,6).join(", ");return dispatch({kind:"system",text:`ambiguous: /${name} \u2192 ${head}${r.ambiguous.length>6?", \u2026":""}`})}}let text2=raw;if(hasInterp(raw))setStatus("interpolating\u2026"),text2=await interpolate(gw,raw),setStatus("");stream.interrupted.current=!1;let withMedia=attachments.length?[...attachments.flatMap((a)=>a.path?[`MEDIA:${a.path}`]:[]),text2].filter(Boolean).join(`
4177
4177
  `):text2;dispatch({kind:"user",text:withMedia}),setAttachments([]),undone.current=[],gw.request("prompt.submit",{text:text2}).catch(()=>{inflight.current=!1}),setTab(CHAT_TAB)},[gw,slash,attachments]);sendRef.current=send;let onShell=import_react131.useCallback((command)=>{setSplash(!1),dispatch({kind:"system",text:`$ ${command}`}),setStatus("running\u2026"),gw.request("shell.exec",{command}).then((r)=>{let out=(r.stdout??"").trimEnd(),err=(r.stderr??"").trimEnd(),body2=[out,err&&`stderr:
4178
4178
  ${err}`].filter(Boolean).join(`
4179
- `);if(dispatch({kind:"system",text:body2||`(exit ${r.code??0})`}),(r.code??0)!==0)toast.show({variant:"warning",message:`exit ${r.code}`})}).catch((e)=>dispatch({kind:"system",text:`error: ${e.message}`})).finally(()=>setStatus(""))},[gw,toast]),onSend=import_react131.useCallback((raw)=>{return setSplash(!1),send(raw)},[send]),onEmptyEnter=import_react131.useCallback(()=>{if(!splash||summoned.current||!splashLast||composing)return!1;return setSplash(!1),switchSession(splashLast.id),!0},[splash,splashLast,composing,switchSession]);import_react131.useEffect(()=>{if(turn.streaming)inflight.current=!1},[turn.streaming]),import_react131.useEffect(()=>{if(turn.streaming||inflight.current||!ready||queue.length===0)return;let[head,...rest]=queue;inflight.current=!0,setQueue(rest),send(head)},[turn.streaming,ready,queue,send]);let dequeue=import_react131.useCallback((i)=>{let item=queueRef.current[i];if(item===void 0)return;setQueue((q4)=>q4.filter((_2,j2)=>j2!==i)),composer2.current?.set(item),setFocusRegion("input")},[]),extra=plugins.routes,all2=import_react131.useMemo(()=>[...TABS,...extra.map((r)=>({name:r.name,description:r.description??"Plugin"}))],[extra]),tabMax=all2.length-1;import_react131.useEffect(()=>{plugins.bind(goTo,()=>all2[tab]?.name)},[plugins,goTo,all2,tab]);let subCount=SUB_TABS[tab]?.length??0,cycleSub=import_react131.useCallback((dir)=>{let labels=SUB_TABS[tab];if(!labels||labels.length===0)return;setSubTabs((prev)=>{let cur=prev[tab]??0,next2=(cur+dir+labels.length)%labels.length;return next2===cur?prev:{...prev,[tab]:next2}})},[tab]);useAppKeys({tab,tabMax,chatTab:CHAT_TAB,setTab,subCount,cycleSub,focusRegion,setFocusRegion,streaming:turn.streaming,dialogOpen:dialog.open,composer:composer2,onPromptKey:(k2)=>promptRef.current?.feed(k2)??!1,onEscape:()=>{if(!splash||!summoned.current)return!1;return setSplash(!1),summoned.current=!1,!0},onInterrupt:stream.doInterrupt,queued:queue.length,onFlushQueue:stream.doInterrupt,onQuit:()=>quit(renderer,sid,title,gw),onInterruptNotice:()=>{setEscHint(!0),setTimeout(()=>setEscHint(!1),5000)},onCopyLast:()=>{let m2=[...turnRef.current.messages].reverse().find((x2)=>x2.role==="assistant"&&text(x2));if(m2)copy(text(m2))},onAttachClipboard:attachClipboard,onDetachLast:()=>{if(attachments.length===0)return!1;return setAttachments((a)=>a.slice(0,-1)),!0},onNotice:(text2)=>dispatch({kind:"system",text:text2}),onToggleSidebar:()=>setHideSidebar((v2)=>!v2),onStash:()=>{let c=composer2.current,v2=c?.value().trim()??"";if(!v2){let e=exports_stash.pop();if(!e)return toast.show({variant:"info",message:"stash empty"});c?.set(e.text);return}let n=exports_stash.push(v2);c?.set(""),toast.show({variant:"info",message:`stashed (${n})`})}}),useBridge({tab,ready,streaming:turn.streaming,messages:turn.messages,sid,focusRegion,setTab,setFocusRegion,dispatch,composer:composer2});let contentFocused=focusRegion==="content"&&!turn.streaming,promptAnswer=import_react131.useCallback((id,label,ok)=>dispatch({kind:"prompt.answered",id,label,ok}),[]),promptWire=import_react131.useMemo(()=>({ref:promptRef,onAnswer:promptAnswer}),[promptAnswer]);import_react131.useEffect(()=>{if(prompt&&tab!==CHAT_TAB)setTab(CHAT_TAB)},[prompt?.id]);let content=()=>{let inner=(()=>{switch(tab){case CHAT_TAB:return $jsx(Chat,{messages:turn.messages,streaming:turn.streaming,prompt:promptWire,cloud,cloudH,pick,onResize:setCloudH,onPick,onClose:closeCloud,onRewind:msgMenu});case SESSIONS_TAB:return $jsx(SessionsGroup,{focused:contentFocused,sub:subTabs[SESSIONS_TAB]??0,setSub:sessSub,onSwitch:switchSession,currentId:sid,messages:turn.messages,sessionStart:sessionStart.current,info:info2??void 0});case AUTOMATION_TAB:return $jsx(Automation,{focused:contentFocused,sub:subTabs[AUTOMATION_TAB]??0,setSub:autoSub,sessionId:sid,onSwitchProfile:switchProfile});case CONFIG_TAB:return $jsx(ConfigGroup,{focused:contentFocused,sub:subTabs[CONFIG_TAB]??0,setSub:cfgSub});default:{let r=extra[tab-TABS.length];return r?r.render():null}}})(),name=all2[tab]?.name??"unknown";return $jsx(import_react131.Profiler,{id:`tab:${name}`,onRender,children:inner})},theme=themeCtx.theme,onMouseUp=import_react131.useCallback(()=>copySelection(renderer),[renderer]),inputFocused=focusRegion==="input"&&!prompt;return $jsx(import_react131.Profiler,{id:"shell",onRender,children:$jsx(SkinProvider,{value:skin,children:$jsxs("box",{width:"100%",height:"100%",flexDirection:"column",backgroundColor:theme.background,onMouseUp,children:[$jsx(TabBar,{tabs:all2,activeTab:tab,onTabChange:goToTab}),$jsxs("box",{flexGrow:1,flexDirection:"row",children:[$jsxs("box",{flexGrow:1,flexDirection:"column",children:[$jsxs("box",{flexGrow:1,position:"relative",children:[content(),splash&&tab===CHAT_TAB?$jsx(Splash,{info:splashInfo,last:summoned.current?void 0:splashLastProp,composing,news,loading:switching||!info2}):null]}),$jsx("box",{flexShrink:0,zIndex:1,children:$jsx(Composer,{ref:composer2,focused:inputFocused,ready,streaming:turn.streaming,status,model:info2?.model,escHint,queue,attachments,cmds,onSend,onSlash:slash,onShell,onAttach,onEnqueue,onDequeue:dequeue,onDirty:setComposing,onEmptyEnter})})]}),dims.width>=(tab===CHAT_TAB?120:140)&&!hideSidebar?$jsx(import_react131.Profiler,{id:"sidebar",onRender,children:$jsx(Sidebar,{agentState,info:info2,usage,eikon,profile:activeProfileName(),title,cloud:tab===0&&cloud,pulse:turn.streaming,onAvatar,onAvatarHold})}):null]}),$jsx("box",{height:1,flexShrink:0,paddingX:1,overflow:"hidden",children:$jsx(plugins.Slot,{name:"app_bottom",mode:"single_winner",sid,tab,streaming:turn.streaming})})]})})})};init_perf();import{writeSync as writeSync2}from"fs";var TERMINAL_MODE_RESET="\x1B[0'z\x1B[0'{\x1B[?2029l\x1B[?1016l\x1B[?1015l\x1B[?1006l\x1B[?1005l\x1B[?1003l\x1B[?1002l\x1B[?1001l\x1B[?1000l\x1B[?9l\x1B[?1004l\x1B[?2004l\x1B[?1049l\x1B[<u\x1B[>4;0m\x1B[0m\x1B[?25h";function resetTerminalModes(stream=process.stdout){if(!stream.isTTY)return!1;let fd=typeof stream.fd==="number"?stream.fd:stream===process.stdout?1:void 0;if(fd!==void 0)try{return writeSync2(fd,TERMINAL_MODE_RESET),!0}catch{}try{return stream.write(TERMINAL_MODE_RESET),!0}catch{return!1}}var wired=!1;function installExitResetHooks(){if(wired)return;wired=!0,process.on("exit",()=>{resetTerminalModes()});let codes={SIGHUP:129,SIGINT:130,SIGTERM:143};for(let sig of["SIGINT","SIGTERM","SIGHUP"])process.on(sig,()=>{resetTerminalModes(),process.exit(codes[sig])});process.on("uncaughtException",(err)=>{resetTerminalModes(),console.error(err),process.exit(1)}),process.on("unhandledRejection",(reason)=>{resetTerminalModes(),console.error(reason),process.exit(1)})}boot("import-graph",Bun.nanoseconds()/1e6);var argv=Bun.argv.slice(2);if(argv.includes("--help")||argv.includes("-h"))process.stdout.write(HELP),process.exit(0);if(argv.includes("--version")||argv.includes("-v"))process.stdout.write(VERSION+`
4179
+ `);if(dispatch({kind:"system",text:body2||`(exit ${r.code??0})`}),(r.code??0)!==0)toast.show({variant:"warning",message:`exit ${r.code}`})}).catch((e)=>dispatch({kind:"system",text:`error: ${e.message}`})).finally(()=>setStatus(""))},[gw,toast]),onSend=import_react131.useCallback((raw)=>{return setSplash(!1),send(raw)},[send]),onEmptyEnter=import_react131.useCallback(()=>{if(!splash||summoned.current||!splashLast||composing)return!1;return setSplash(!1),switchSession(splashLast.id),!0},[splash,splashLast,composing,switchSession]);import_react131.useEffect(()=>{if(turn.streaming)inflight.current=!1},[turn.streaming]),import_react131.useEffect(()=>{if(turn.streaming||inflight.current||!ready||queue.length===0)return;let[head,...rest]=queue;inflight.current=!0,setQueue(rest),send(head)},[turn.streaming,ready,queue,send]);let dequeue=import_react131.useCallback((i)=>{let item=queueRef.current[i];if(item===void 0)return;setQueue((q4)=>q4.filter((_2,j2)=>j2!==i)),composer2.current?.set(item),setFocusRegion("input")},[]),extra=plugins.routes,all2=import_react131.useMemo(()=>[...TABS,...extra.map((r)=>({name:r.name,description:r.description??"Plugin"}))],[extra]),tabMax=all2.length-1;import_react131.useEffect(()=>{plugins.bind(goTo,()=>all2[tab]?.name)},[plugins,goTo,all2,tab]);let subCount=SUB_TABS[tab]?.length??0,cycleSub=import_react131.useCallback((dir)=>{let labels=SUB_TABS[tab];if(!labels||labels.length===0)return;setSubTabs((prev)=>{let cur=prev[tab]??0,next2=(cur+dir+labels.length)%labels.length;return next2===cur?prev:{...prev,[tab]:next2}})},[tab]);useAppKeys({tab,tabMax,chatTab:CHAT_TAB,setTab,subCount,cycleSub,focusRegion,setFocusRegion,streaming:turn.streaming,dialogOpen:dialog.open,composer:composer2,onPromptKey:(k2)=>promptRef.current?.feed(k2)??!1,onEscape:()=>{if(!splash||!summoned.current)return!1;return setSplash(!1),summoned.current=!1,!0},onInterrupt:stream.doInterrupt,queued:queue.length,onFlushQueue:stream.doInterrupt,onQuit:()=>quit(renderer,sid,title,gw),onQuitArm:(label)=>toast.show({variant:"info",message:`${label} again to quit`}),onInterruptNotice:()=>{setEscHint(!0),setTimeout(()=>setEscHint(!1),5000)},onCopyLast:()=>{let m2=[...turnRef.current.messages].reverse().find((x2)=>x2.role==="assistant"&&text(x2));if(m2)copy(text(m2))},onAttachClipboard:attachClipboard,onDetachLast:()=>{if(attachments.length===0)return!1;return setAttachments((a)=>a.slice(0,-1)),!0},onNotice:(text2)=>dispatch({kind:"system",text:text2}),onToggleSidebar:()=>setHideSidebar((v2)=>!v2),onStash:()=>{let c=composer2.current,v2=c?.value().trim()??"";if(!v2){let e=exports_stash.pop();if(!e)return toast.show({variant:"info",message:"stash empty"});c?.set(e.text);return}let n=exports_stash.push(v2);c?.set(""),toast.show({variant:"info",message:`stashed (${n})`})}}),useBridge({tab,ready,streaming:turn.streaming,messages:turn.messages,sid,focusRegion,setTab,setFocusRegion,dispatch,composer:composer2});let contentFocused=focusRegion==="content"&&!turn.streaming,promptAnswer=import_react131.useCallback((id,label,ok)=>dispatch({kind:"prompt.answered",id,label,ok}),[]),promptWire=import_react131.useMemo(()=>({ref:promptRef,onAnswer:promptAnswer}),[promptAnswer]);import_react131.useEffect(()=>{if(prompt&&tab!==CHAT_TAB)setTab(CHAT_TAB)},[prompt?.id]);let content=()=>{let inner=(()=>{switch(tab){case CHAT_TAB:return $jsx(Chat,{messages:turn.messages,streaming:turn.streaming,prompt:promptWire,cloud,cloudH,pick,onResize:setCloudH,onPick,onClose:closeCloud,onRewind:msgMenu});case SESSIONS_TAB:return $jsx(SessionsGroup,{focused:contentFocused,sub:subTabs[SESSIONS_TAB]??0,setSub:sessSub,onSwitch:switchSession,currentId:sid,messages:turn.messages,sessionStart:sessionStart.current,info:info2??void 0});case AUTOMATION_TAB:return $jsx(Automation,{focused:contentFocused,sub:subTabs[AUTOMATION_TAB]??0,setSub:autoSub,sessionId:sid,onSwitchProfile:switchProfile});case CONFIG_TAB:return $jsx(ConfigGroup,{focused:contentFocused,sub:subTabs[CONFIG_TAB]??0,setSub:cfgSub});default:{let r=extra[tab-TABS.length];return r?r.render():null}}})(),name=all2[tab]?.name??"unknown";return $jsx(import_react131.Profiler,{id:`tab:${name}`,onRender,children:inner})},theme=themeCtx.theme,onMouseUp=import_react131.useCallback(()=>copySelection(renderer),[renderer]),inputFocused=focusRegion==="input"&&!prompt;return $jsx(import_react131.Profiler,{id:"shell",onRender,children:$jsx(SkinProvider,{value:skin,children:$jsxs("box",{width:"100%",height:"100%",flexDirection:"column",backgroundColor:theme.background,onMouseUp,children:[$jsx(TabBar,{tabs:all2,activeTab:tab,onTabChange:goToTab}),$jsxs("box",{flexGrow:1,flexDirection:"row",children:[$jsxs("box",{flexGrow:1,flexDirection:"column",children:[$jsxs("box",{flexGrow:1,position:"relative",children:[content(),splash&&tab===CHAT_TAB?$jsx(Splash,{info:splashInfo,last:summoned.current?void 0:splashLastProp,composing,news,loading:switching||!info2}):null]}),$jsx("box",{flexShrink:0,zIndex:1,children:$jsx(Composer,{ref:composer2,focused:inputFocused,ready,streaming:turn.streaming,status,model:info2?.model,escHint,queue,attachments,cmds,onSend,onSlash:slash,onShell,onAttach,onAttachClipboard:attachClipboard,onEnqueue,onDequeue:dequeue,onDirty:setComposing,onEmptyEnter})})]}),dims.width>=(tab===CHAT_TAB?120:140)&&!hideSidebar?$jsx(import_react131.Profiler,{id:"sidebar",onRender,children:$jsx(Sidebar,{agentState,info:info2,usage,eikon,profile:activeProfileName(),title,cloud:tab===0&&cloud,pulse:turn.streaming,onAvatar,onAvatarHold})}):null]}),$jsx("box",{height:1,flexShrink:0,paddingX:1,overflow:"hidden",children:$jsx(plugins.Slot,{name:"app_bottom",mode:"single_winner",sid,tab,streaming:turn.streaming})})]})})})};init_perf();import{writeSync as writeSync2}from"fs";var TERMINAL_MODE_RESET="\x1B[0'z\x1B[0'{\x1B[?2029l\x1B[?1016l\x1B[?1015l\x1B[?1006l\x1B[?1005l\x1B[?1003l\x1B[?1002l\x1B[?1001l\x1B[?1000l\x1B[?9l\x1B[?1004l\x1B[?2004l\x1B[?1049l\x1B[<u\x1B[>4;0m\x1B[0m\x1B[?25h";function resetTerminalModes(stream=process.stdout){if(!stream.isTTY)return!1;let fd=typeof stream.fd==="number"?stream.fd:stream===process.stdout?1:void 0;if(fd!==void 0)try{return writeSync2(fd,TERMINAL_MODE_RESET),!0}catch{}try{return stream.write(TERMINAL_MODE_RESET),!0}catch{return!1}}var wired=!1;function installExitResetHooks(){if(wired)return;wired=!0,process.on("exit",()=>{resetTerminalModes()});let codes={SIGHUP:129,SIGINT:130,SIGTERM:143};for(let sig of["SIGINT","SIGTERM","SIGHUP"])process.on(sig,()=>{resetTerminalModes(),process.exit(codes[sig])});process.on("uncaughtException",(err)=>{resetTerminalModes(),console.error(err),process.exit(1)}),process.on("unhandledRejection",(reason)=>{resetTerminalModes(),console.error(reason),process.exit(1)})}boot("import-graph",Bun.nanoseconds()/1e6);var argv=Bun.argv.slice(2);if(argv.includes("--help")||argv.includes("-h"))process.stdout.write(HELP),process.exit(0);if(argv.includes("--version")||argv.includes("-v"))process.stdout.write(VERSION+`
4180
4180
  `),process.exit(0);var launch=parseLaunch(argv),main2=async()=>{resetTerminalModes(),installExitResetHooks(),mem("pre-renderer");let prefs=load(),end=mark("renderer-init"),renderer=await createCliRenderer({exitOnCtrlC:!1,useMouse:prefs.mouse??!0,targetFps:prefs.targetFps??30,gatherStats:!1});end();let bump2=()=>renderer.capabilities?.kitty_keyboard||process.stdout.isTTY&&process.stdout.write("\x1B[>4;2m");bump2(),renderer.on("focus",bump2),mem("post-renderer");let root2=createRoot(renderer),endRender=mark("first-render");root2.render($jsx(App,{initialTheme:prefs.theme,launch})),endRender(),boot("first-render",Bun.nanoseconds()/1e6),warmup(),warm(),mem("post-first-render"),monitor(15000),start()};main2().catch(console.error);