claude-code-session-manager 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./monaco-editor-BW5C4Iv1.js","./monaco-editor-BTnBOi8r.css","./TiptapBody-BEQBrmt2.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./monaco-editor-BW5C4Iv1.js","./monaco-editor-BTnBOi8r.css","./TiptapBody-BIuH7h34.js"])))=>i.map(i=>d[i]);
2
2
  var G8=Object.defineProperty;var V8=(e,r,n)=>r in e?G8(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n;var Zr=(e,r,n)=>V8(e,typeof r!="symbol"?r+"":r,n);import{_ as nm}from"./monaco-editor-BW5C4Iv1.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();var ox=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Q_={exports:{}},Hg={},Z_={exports:{}},xr={};/**
3
3
  * @license React
4
4
  * react.production.min.js
@@ -38,7 +38,7 @@ var G8=Object.defineProperty;var V8=(e,r,n)=>r in e?G8(e,r,{enumerable:!0,config
38
38
  `+q[de].replace(" at new "," at ");return p.displayName&&Ne.includes("<anonymous>")&&(Ne=Ne.replace("<anonymous>",p.displayName)),Ne}while(1<=de&&0<=ke);break}}}finally{ce=!1,Error.prepareStackTrace=$}return(p=p?p.displayName||p.name:"")?te(p):""}function _e(p){switch(p.tag){case 5:return te(p.type);case 16:return te("Lazy");case 13:return te("Suspense");case 19:return te("SuspenseList");case 0:case 2:case 15:return p=we(p.type,!1),p;case 11:return p=we(p.type.render,!1),p;case 1:return p=we(p.type,!0),p;default:return""}}function Ae(p){if(p==null)return null;if(typeof p=="function")return p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case N:return"Fragment";case A:return"Portal";case I:return"Profiler";case O:return"StrictMode";case F:return"Suspense";case z:return"SuspenseList"}if(typeof p=="object")switch(p.$$typeof){case G:return(p.displayName||"Context")+".Consumer";case W:return(p._context.displayName||"Context")+".Provider";case V:var v=p.render;return p=p.displayName,p||(p=v.displayName||v.name||"",p=p!==""?"ForwardRef("+p+")":"ForwardRef"),p;case H:return v=p.displayName||null,v!==null?v:Ae(p.type)||"Memo";case X:v=p._payload,p=p._init;try{return Ae(p(v))}catch{}}return null}function ve(p){var v=p.type;switch(p.tag){case 24:return"Cache";case 9:return(v.displayName||"Context")+".Consumer";case 10:return(v._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return p=v.render,p=p.displayName||p.name||"",v.displayName||(p!==""?"ForwardRef("+p+")":"ForwardRef");case 7:return"Fragment";case 5:return v;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ae(v);case 8:return v===O?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof v=="function")return v.displayName||v.name||null;if(typeof v=="string")return v}return null}function ie(p){switch(typeof p){case"boolean":case"number":case"string":case"undefined":return p;case"object":return p;default:return""}}function ye(p){var v=p.type;return(p=p.nodeName)&&p.toLowerCase()==="input"&&(v==="checkbox"||v==="radio")}function xe(p){var v=ye(p)?"checked":"value",$=Object.getOwnPropertyDescriptor(p.constructor.prototype,v),M=""+p[v];if(!p.hasOwnProperty(v)&&typeof $<"u"&&typeof $.get=="function"&&typeof $.set=="function"){var q=$.get,Z=$.set;return Object.defineProperty(p,v,{configurable:!0,get:function(){return q.call(this)},set:function(de){M=""+de,Z.call(this,de)}}),Object.defineProperty(p,v,{enumerable:$.enumerable}),{getValue:function(){return M},setValue:function(de){M=""+de},stopTracking:function(){p._valueTracker=null,delete p[v]}}}}function Ge(p){p._valueTracker||(p._valueTracker=xe(p))}function Me(p){if(!p)return!1;var v=p._valueTracker;if(!v)return!0;var $=v.getValue(),M="";return p&&(M=ye(p)?p.checked?"true":"false":p.value),p=M,p!==$?(v.setValue(p),!0):!1}function We(p){if(p=p||(typeof document<"u"?document:void 0),typeof p>"u")return null;try{return p.activeElement||p.body}catch{return p.body}}function Le(p,v){var $=v.checked;return ee({},v,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:$??p._wrapperState.initialChecked})}function Ze(p,v){var $=v.defaultValue==null?"":v.defaultValue,M=v.checked!=null?v.checked:v.defaultChecked;$=ie(v.value!=null?v.value:$),p._wrapperState={initialChecked:M,initialValue:$,controlled:v.type==="checkbox"||v.type==="radio"?v.checked!=null:v.value!=null}}function ut(p,v){v=v.checked,v!=null&&C(p,"checked",v,!1)}function dt(p,v){ut(p,v);var $=ie(v.value),M=v.type;if($!=null)M==="number"?($===0&&p.value===""||p.value!=$)&&(p.value=""+$):p.value!==""+$&&(p.value=""+$);else if(M==="submit"||M==="reset"){p.removeAttribute("value");return}v.hasOwnProperty("value")?Xt(p,v.type,$):v.hasOwnProperty("defaultValue")&&Xt(p,v.type,ie(v.defaultValue)),v.checked==null&&v.defaultChecked!=null&&(p.defaultChecked=!!v.defaultChecked)}function dr(p,v,$){if(v.hasOwnProperty("value")||v.hasOwnProperty("defaultValue")){var M=v.type;if(!(M!=="submit"&&M!=="reset"||v.value!==void 0&&v.value!==null))return;v=""+p._wrapperState.initialValue,$||v===p.value||(p.value=v),p.defaultValue=v}$=p.name,$!==""&&(p.name=""),p.defaultChecked=!!p._wrapperState.initialChecked,$!==""&&(p.name=$)}function Xt(p,v,$){(v!=="number"||We(p.ownerDocument)!==p)&&($==null?p.defaultValue=""+p._wrapperState.initialValue:p.defaultValue!==""+$&&(p.defaultValue=""+$))}var Jt=Array.isArray;function cr(p,v,$,M){if(p=p.options,v){v={};for(var q=0;q<$.length;q++)v["$"+$[q]]=!0;for($=0;$<p.length;$++)q=v.hasOwnProperty("$"+p[$].value),p[$].selected!==q&&(p[$].selected=q),q&&M&&(p[$].defaultSelected=!0)}else{for($=""+ie($),v=null,q=0;q<p.length;q++){if(p[q].value===$){p[q].selected=!0,M&&(p[q].defaultSelected=!0);return}v!==null||p[q].disabled||(v=p[q])}v!==null&&(v.selected=!0)}}function Nr(p,v){if(v.dangerouslySetInnerHTML!=null)throw Error(n(91));return ee({},v,{value:void 0,defaultValue:void 0,children:""+p._wrapperState.initialValue})}function wr(p,v){var $=v.value;if($==null){if($=v.children,v=v.defaultValue,$!=null){if(v!=null)throw Error(n(92));if(Jt($)){if(1<$.length)throw Error(n(93));$=$[0]}v=$}v==null&&(v=""),$=v}p._wrapperState={initialValue:ie($)}}function nn(p,v){var $=ie(v.value),M=ie(v.defaultValue);$!=null&&($=""+$,$!==p.value&&(p.value=$),v.defaultValue==null&&p.defaultValue!==$&&(p.defaultValue=$)),M!=null&&(p.defaultValue=""+M)}function Wr(p){var v=p.textContent;v===p._wrapperState.initialValue&&v!==""&&v!==null&&(p.value=v)}function ii(p){switch(p){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Kn(p,v){return p==null||p==="http://www.w3.org/1999/xhtml"?ii(v):p==="http://www.w3.org/2000/svg"&&v==="foreignObject"?"http://www.w3.org/1999/xhtml":p}var mr,vt=(function(p){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(v,$,M,q){MSApp.execUnsafeLocalFunction(function(){return p(v,$,M,q)})}:p})(function(p,v){if(p.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in p)p.innerHTML=v;else{for(mr=mr||document.createElement("div"),mr.innerHTML="<svg>"+v.valueOf().toString()+"</svg>",v=mr.firstChild;p.firstChild;)p.removeChild(p.firstChild);for(;v.firstChild;)p.appendChild(v.firstChild)}});function Et(p,v){if(v){var $=p.firstChild;if($&&$===p.lastChild&&$.nodeType===3){$.nodeValue=v;return}}p.textContent=v}var It={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Pt=["Webkit","ms","Moz","O"];Object.keys(It).forEach(function(p){Pt.forEach(function(v){v=v+p.charAt(0).toUpperCase()+p.substring(1),It[v]=It[p]})});function Ir(p,v,$){return v==null||typeof v=="boolean"||v===""?"":$||typeof v!="number"||v===0||It.hasOwnProperty(p)&&It[p]?(""+v).trim():v+"px"}function yi(p,v){p=p.style;for(var $ in v)if(v.hasOwnProperty($)){var M=$.indexOf("--")===0,q=Ir($,v[$],M);$==="float"&&($="cssFloat"),M?p.setProperty($,q):p[$]=q}}var ka=ee({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Di(p,v){if(v){if(ka[p]&&(v.children!=null||v.dangerouslySetInnerHTML!=null))throw Error(n(137,p));if(v.dangerouslySetInnerHTML!=null){if(v.children!=null)throw Error(n(60));if(typeof v.dangerouslySetInnerHTML!="object"||!("__html"in v.dangerouslySetInnerHTML))throw Error(n(61))}if(v.style!=null&&typeof v.style!="object")throw Error(n(62))}}function Cr(p,v){if(p.indexOf("-")===-1)return typeof v.is=="string";switch(p){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var si=null;function In(p){return p=p.target||p.srcElement||window,p.correspondingUseElement&&(p=p.correspondingUseElement),p.nodeType===3?p.parentNode:p}var Ve=null,rt=null,$t=null;function ur(p){if(p=Wc(p)){if(typeof Ve!="function")throw Error(n(280));var v=p.stateNode;v&&(v=Zu(v),Ve(p.stateNode,p.type,v))}}function Pr(p){rt?$t?$t.push(p):$t=[p]:rt=p}function Xr(){if(rt){var p=rt,v=$t;if($t=rt=null,ur(p),v)for(p=0;p<v.length;p++)ur(v[p])}}function sn(p,v){return p(v)}function Li(){}var pn=!1;function es(p,v,$){if(pn)return p(v,$);pn=!0;try{return sn(p,v,$)}finally{pn=!1,(rt!==null||$t!==null)&&(Li(),Xr())}}function Bi(p,v){var $=p.stateNode;if($===null)return null;var M=Zu($);if(M===null)return null;$=M[v];e:switch(v){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(M=!M.disabled)||(p=p.type,M=!(p==="button"||p==="input"||p==="select"||p==="textarea")),p=!M;break e;default:p=!1}if(p)return null;if($&&typeof $!="function")throw Error(n(231,v,typeof $));return $}var _r=!1;if(o)try{var Xn={};Object.defineProperty(Xn,"passive",{get:function(){_r=!0}}),window.addEventListener("test",Xn,Xn),window.removeEventListener("test",Xn,Xn)}catch{_r=!1}function El(p,v,$,M,q,Z,de,ke,Ne){var Ke=Array.prototype.slice.call(arguments,3);try{v.apply($,Ke)}catch(ft){this.onError(ft)}}var Rs=!1,Ms=null,ds=!1,Kt=null,bi={onError:function(p){Rs=!0,Ms=p}};function Sr(p,v,$,M,q,Z,de,ke,Ne){Rs=!1,Ms=null,El.apply(bi,arguments)}function ai(p,v,$,M,q,Z,de,ke,Ne){if(Sr.apply(this,arguments),Rs){if(Rs){var Ke=Ms;Rs=!1,Ms=null}else throw Error(n(198));ds||(ds=!0,Kt=Ke)}}function Ot(p){var v=p,$=p;if(p.alternate)for(;v.return;)v=v.return;else{p=v;do v=p,(v.flags&4098)!==0&&($=v.return),p=v.return;while(p)}return v.tag===3?$:null}function ta(p){if(p.tag===13){var v=p.memoizedState;if(v===null&&(p=p.alternate,p!==null&&(v=p.memoizedState)),v!==null)return v.dehydrated}return null}function Ca(p){if(Ot(p)!==p)throw Error(n(188))}function zo(p){var v=p.alternate;if(!v){if(v=Ot(p),v===null)throw Error(n(188));return v!==p?null:p}for(var $=p,M=v;;){var q=$.return;if(q===null)break;var Z=q.alternate;if(Z===null){if(M=q.return,M!==null){$=M;continue}break}if(q.child===Z.child){for(Z=q.child;Z;){if(Z===$)return Ca(q),p;if(Z===M)return Ca(q),v;Z=Z.sibling}throw Error(n(188))}if($.return!==M.return)$=q,M=Z;else{for(var de=!1,ke=q.child;ke;){if(ke===$){de=!0,$=q,M=Z;break}if(ke===M){de=!0,M=q,$=Z;break}ke=ke.sibling}if(!de){for(ke=Z.child;ke;){if(ke===$){de=!0,$=Z,M=q;break}if(ke===M){de=!0,M=Z,$=q;break}ke=ke.sibling}if(!de)throw Error(n(189))}}if($.alternate!==M)throw Error(n(190))}if($.tag!==3)throw Error(n(188));return $.stateNode.current===$?p:v}function fs(p){return p=zo(p),p!==null?ra(p):null}function ra(p){if(p.tag===5||p.tag===6)return p;for(p=p.child;p!==null;){var v=ra(p);if(v!==null)return v;p=p.sibling}return null}var xi=r.unstable_scheduleCallback,Dn=r.unstable_cancelCallback,Fo=r.unstable_shouldYield,jl=r.unstable_requestPaint,Yr=r.unstable_now,oi=r.unstable_getCurrentPriorityLevel,kn=r.unstable_ImmediatePriority,bn=r.unstable_UserBlockingPriority,jt=r.unstable_NormalPriority,Se=r.unstable_LowPriority,it=r.unstable_IdlePriority,_t=null,lr=null;function mt(p){if(lr&&typeof lr.onCommitFiberRoot=="function")try{lr.onCommitFiberRoot(_t,p,void 0,(p.current.flags&128)===128)}catch{}}var fr=Math.clz32?Math.clz32:Jn,an=Math.log,Yn=Math.LN2;function Jn(p){return p>>>=0,p===0?32:31-(an(p)/Yn|0)|0}var hs=64,Rr=4194304;function ps(p){switch(p&-p){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return p&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return p&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return p}}function Is(p,v){var $=p.pendingLanes;if($===0)return 0;var M=0,q=p.suspendedLanes,Z=p.pingedLanes,de=$&268435455;if(de!==0){var ke=de&~q;ke!==0?M=ps(ke):(Z&=de,Z!==0&&(M=ps(Z)))}else de=$&~q,de!==0?M=ps(de):Z!==0&&(M=ps(Z));if(M===0)return 0;if(v!==0&&v!==M&&(v&q)===0&&(q=M&-M,Z=v&-v,q>=Z||q===16&&(Z&4194240)!==0))return v;if((M&4)!==0&&(M|=$&16),v=p.entangledLanes,v!==0)for(p=p.entanglements,v&=M;0<v;)$=31-fr(v),q=1<<$,M|=p[$],v&=~q;return M}function hr(p,v){switch(p){case 1:case 2:case 4:return v+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return v+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ms(p,v){for(var $=p.suspendedLanes,M=p.pingedLanes,q=p.expirationTimes,Z=p.pendingLanes;0<Z;){var de=31-fr(Z),ke=1<<de,Ne=q[de];Ne===-1?((ke&$)===0||(ke&M)!==0)&&(q[de]=hr(ke,v)):Ne<=v&&(p.expiredLanes|=ke),Z&=~ke}}function Uo(p){return p=p.pendingLanes&-1073741825,p!==0?p:p&1073741824?1073741824:0}function na(){var p=hs;return hs<<=1,(hs&4194240)===0&&(hs=64),p}function Qe(p){for(var v=[],$=0;31>$;$++)v.push(p);return v}function Ds(p,v,$){p.pendingLanes|=v,v!==536870912&&(p.suspendedLanes=0,p.pingedLanes=0),p=p.eventTimes,v=31-fr(v),p[v]=$}function Tc(p,v){var $=p.pendingLanes&~v;p.pendingLanes=v,p.suspendedLanes=0,p.pingedLanes=0,p.expiredLanes&=v,p.mutableReadLanes&=v,p.entangledLanes&=v,v=p.entanglements;var M=p.eventTimes;for(p=p.expirationTimes;0<$;){var q=31-fr($),Z=1<<q;v[q]=0,M[q]=-1,p[q]=-1,$&=~Z}}function Tl(p,v){var $=p.entangledLanes|=v;for(p=p.entanglements;$;){var M=31-fr($),q=1<<M;q&v|p[M]&v&&(p[M]|=v),$&=~q}}var gr=0;function zt(p){return p&=-p,1<p?4<p?(p&268435455)!==0?16:536870912:4:1}var ia,Ea,ja,eo,qo,to=!1,ts=[],li=null,gs=null,vs=null,Ta=new Map,ro=new Map,Ls=[],bf="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function no(p,v){switch(p){case"focusin":case"focusout":li=null;break;case"dragenter":case"dragleave":gs=null;break;case"mouseover":case"mouseout":vs=null;break;case"pointerover":case"pointerout":Ta.delete(v.pointerId);break;case"gotpointercapture":case"lostpointercapture":ro.delete(v.pointerId)}}function io(p,v,$,M,q,Z){return p===null||p.nativeEvent!==Z?(p={blockedOn:v,domEventName:$,eventSystemFlags:M,nativeEvent:Z,targetContainers:[q]},v!==null&&(v=Wc(v),v!==null&&Ea(v)),p):(p.eventSystemFlags|=M,v=p.targetContainers,q!==null&&v.indexOf(q)===-1&&v.push(q),p)}function Du(p,v,$,M,q){switch(v){case"focusin":return li=io(li,p,v,$,M,q),!0;case"dragenter":return gs=io(gs,p,v,$,M,q),!0;case"mouseover":return vs=io(vs,p,v,$,M,q),!0;case"pointerover":var Z=q.pointerId;return Ta.set(Z,io(Ta.get(Z)||null,p,v,$,M,q)),!0;case"gotpointercapture":return Z=q.pointerId,ro.set(Z,io(ro.get(Z)||null,p,v,$,M,q)),!0}return!1}function Ac(p){var v=Go(p.target);if(v!==null){var $=Ot(v);if($!==null){if(v=$.tag,v===13){if(v=ta($),v!==null){p.blockedOn=v,qo(p.priority,function(){ja($)});return}}else if(v===3&&$.stateNode.current.memoizedState.isDehydrated){p.blockedOn=$.tag===3?$.stateNode.containerInfo:null;return}}}p.blockedOn=null}function so(p){if(p.blockedOn!==null)return!1;for(var v=p.targetContainers;0<v.length;){var $=ae(p.domEventName,p.eventSystemFlags,v[0],p.nativeEvent);if($===null){$=p.nativeEvent;var M=new $.constructor($.type,$);si=M,$.target.dispatchEvent(M),si=null}else return v=Wc($),v!==null&&Ea(v),p.blockedOn=$,!1;v.shift()}return!0}function Al(p,v,$){so(p)&&$.delete(v)}function $c(){to=!1,li!==null&&so(li)&&(li=null),gs!==null&&so(gs)&&(gs=null),vs!==null&&so(vs)&&(vs=null),Ta.forEach(Al),ro.forEach(Al)}function sa(p,v){p.blockedOn===v&&(p.blockedOn=null,to||(to=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,$c)))}function Aa(p){function v(q){return sa(q,p)}if(0<ts.length){sa(ts[0],p);for(var $=1;$<ts.length;$++){var M=ts[$];M.blockedOn===p&&(M.blockedOn=null)}}for(li!==null&&sa(li,p),gs!==null&&sa(gs,p),vs!==null&&sa(vs,p),Ta.forEach(v),ro.forEach(v),$=0;$<Ls.length;$++)M=Ls[$],M.blockedOn===p&&(M.blockedOn=null);for(;0<Ls.length&&($=Ls[0],$.blockedOn===null);)Ac($),$.blockedOn===null&&Ls.shift()}var aa=T.ReactCurrentBatchConfig,ao=!0;function Lu(p,v,$,M){var q=gr,Z=aa.transition;aa.transition=null;try{gr=1,Oc(p,v,$,M)}finally{gr=q,aa.transition=Z}}function Bu(p,v,$,M){var q=gr,Z=aa.transition;aa.transition=null;try{gr=4,Oc(p,v,$,M)}finally{gr=q,aa.transition=Z}}function Oc(p,v,$,M){if(ao){var q=ae(p,v,$,M);if(q===null)Pf(p,v,M,Nc,$),no(p,M);else if(Du(q,p,v,$,M))M.stopPropagation();else if(no(p,M),v&4&&-1<bf.indexOf(p)){for(;q!==null;){var Z=Wc(q);if(Z!==null&&ia(Z),Z=ae(p,v,$,M),Z===null&&Pf(p,v,M,Nc,$),Z===q)break;q=Z}q!==null&&M.stopPropagation()}else Pf(p,v,M,null,$)}}var Nc=null;function ae(p,v,$,M){if(Nc=null,p=In(M),p=Go(p),p!==null)if(v=Ot(p),v===null)p=null;else if($=v.tag,$===13){if(p=ta(v),p!==null)return p;p=null}else if($===3){if(v.stateNode.current.memoizedState.isDehydrated)return v.tag===3?v.stateNode.containerInfo:null;p=null}else v!==p&&(p=null);return Nc=p,null}function he(p){switch(p){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(oi()){case kn:return 1;case bn:return 4;case jt:case Se:return 16;case it:return 536870912;default:return 16}default:return 16}}var be=null,Oe=null,Ee=null;function ze(){if(Ee)return Ee;var p,v=Oe,$=v.length,M,q="value"in be?be.value:be.textContent,Z=q.length;for(p=0;p<$&&v[p]===q[p];p++);var de=$-p;for(M=1;M<=de&&v[$-M]===q[Z-M];M++);return Ee=q.slice(p,1<M?1-M:void 0)}function Pe(p){var v=p.keyCode;return"charCode"in p?(p=p.charCode,p===0&&v===13&&(p=13)):p=v,p===10&&(p=13),32<=p||p===13?p:0}function Re(){return!0}function Ue(){return!1}function tt(p){function v($,M,q,Z,de){this._reactName=$,this._targetInst=q,this.type=M,this.nativeEvent=Z,this.target=de,this.currentTarget=null;for(var ke in p)p.hasOwnProperty(ke)&&($=p[ke],this[ke]=$?$(Z):Z[ke]);return this.isDefaultPrevented=(Z.defaultPrevented!=null?Z.defaultPrevented:Z.returnValue===!1)?Re:Ue,this.isPropagationStopped=Ue,this}return ee(v.prototype,{preventDefault:function(){this.defaultPrevented=!0;var $=this.nativeEvent;$&&($.preventDefault?$.preventDefault():typeof $.returnValue!="unknown"&&($.returnValue=!1),this.isDefaultPrevented=Re)},stopPropagation:function(){var $=this.nativeEvent;$&&($.stopPropagation?$.stopPropagation():typeof $.cancelBubble!="unknown"&&($.cancelBubble=!0),this.isPropagationStopped=Re)},persist:function(){},isPersistent:Re}),v}var lt={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(p){return p.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},nt=tt(lt),Je=ee({},lt,{view:0,detail:0}),Nt=tt(Je),Be,pt,Br,nr=ee({},Je,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:pr,button:0,buttons:0,relatedTarget:function(p){return p.relatedTarget===void 0?p.fromElement===p.srcElement?p.toElement:p.fromElement:p.relatedTarget},movementX:function(p){return"movementX"in p?p.movementX:(p!==Br&&(Br&&p.type==="mousemove"?(Be=p.screenX-Br.screenX,pt=p.screenY-Br.screenY):pt=Be=0,Br=p),Be)},movementY:function(p){return"movementY"in p?p.movementY:pt}}),ir=tt(nr),zr=ee({},nr,{dataTransfer:0}),Ft=tt(zr),Hr=ee({},Je,{relatedTarget:0}),yr=tt(Hr),Ln=ee({},lt,{animationName:0,elapsedTime:0,pseudoElement:0}),ci=tt(Ln),wi=ee({},lt,{clipboardData:function(p){return"clipboardData"in p?p.clipboardData:window.clipboardData}}),$l=tt(wi),_i=ee({},lt,{data:0}),Pc=tt(_i),zu={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Bn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Bs={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Fu(p){var v=this.nativeEvent;return v.getModifierState?v.getModifierState(p):(p=Bs[p])?!!v[p]:!1}function pr(){return Fu}var ys=ee({},Je,{key:function(p){if(p.key){var v=zu[p.key]||p.key;if(v!=="Unidentified")return v}return p.type==="keypress"?(p=Pe(p),p===13?"Enter":String.fromCharCode(p)):p.type==="keydown"||p.type==="keyup"?Bn[p.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:pr,charCode:function(p){return p.type==="keypress"?Pe(p):0},keyCode:function(p){return p.type==="keydown"||p.type==="keyup"?p.keyCode:0},which:function(p){return p.type==="keypress"?Pe(p):p.type==="keydown"||p.type==="keyup"?p.keyCode:0}}),xf=tt(ys),oa=ee({},nr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Wo=tt(oa),Cn=ee({},Je,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:pr}),Si=tt(Cn),Rc=ee({},lt,{propertyName:0,elapsedTime:0,pseudoElement:0}),ki=tt(Rc),Uu=ee({},nr,{deltaX:function(p){return"deltaX"in p?p.deltaX:"wheelDeltaX"in p?-p.wheelDeltaX:0},deltaY:function(p){return"deltaY"in p?p.deltaY:"wheelDeltaY"in p?-p.wheelDeltaY:"wheelDelta"in p?-p.wheelDelta:0},deltaZ:0,deltaMode:0}),wf=tt(Uu),la=[9,13,27,32],bs=o&&"CompositionEvent"in window,zs=null;o&&"documentMode"in document&&(zs=document.documentMode);var En=o&&"TextEvent"in window&&!zs,on=o&&(!bs||zs&&8<zs&&11>=zs),xs=" ",qu=!1;function Wu(p,v){switch(p){case"keyup":return la.indexOf(v.keyCode)!==-1;case"keydown":return v.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ub(p){return p=p.detail,typeof p=="object"&&"data"in p?p.data:null}var Ci=!1;function db(p,v){switch(p){case"compositionend":return ub(v);case"keypress":return v.which!==32?null:(qu=!0,xs);case"textInput":return p=v.data,p===xs&&qu?null:p;default:return null}}function _f(p,v){if(Ci)return p==="compositionend"||!bs&&Wu(p,v)?(p=ze(),Ee=Oe=be=null,Ci=!1,p):null;switch(p){case"paste":return null;case"keypress":if(!(v.ctrlKey||v.altKey||v.metaKey)||v.ctrlKey&&v.altKey){if(v.char&&1<v.char.length)return v.char;if(v.which)return String.fromCharCode(v.which)}return null;case"compositionend":return on&&v.locale!=="ko"?null:v.data;default:return null}}var fm={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Fs(p){var v=p&&p.nodeName&&p.nodeName.toLowerCase();return v==="input"?!!fm[p.type]:v==="textarea"}function hm(p,v,$,M){Pr(M),v=Ku(v,"onChange"),0<v.length&&($=new nt("onChange","change",null,$,M),p.push({event:$,listeners:v}))}var Mc=null,Ic=null;function fb(p){Am(p,0)}function Hu(p){var v=Pl(p);if(Me(v))return p}function hb(p,v){if(p==="change")return v}var pm=!1;if(o){var Sf;if(o){var kf="oninput"in document;if(!kf){var mm=document.createElement("div");mm.setAttribute("oninput","return;"),kf=typeof mm.oninput=="function"}Sf=kf}else Sf=!1;pm=Sf&&(!document.documentMode||9<document.documentMode)}function Us(){Mc&&(Mc.detachEvent("onpropertychange",gm),Ic=Mc=null)}function gm(p){if(p.propertyName==="value"&&Hu(Ic)){var v=[];hm(v,Ic,p,In(p)),es(fb,v)}}function pb(p,v,$){p==="focusin"?(Us(),Mc=v,Ic=$,Mc.attachEvent("onpropertychange",gm)):p==="focusout"&&Us()}function mb(p){if(p==="selectionchange"||p==="keyup"||p==="keydown")return Hu(Ic)}function gb(p,v){if(p==="click")return Hu(v)}function vb(p,v){if(p==="input"||p==="change")return Hu(v)}function yb(p,v){return p===v&&(p!==0||1/p===1/v)||p!==p&&v!==v}var qs=typeof Object.is=="function"?Object.is:yb;function Dc(p,v){if(qs(p,v))return!0;if(typeof p!="object"||p===null||typeof v!="object"||v===null)return!1;var $=Object.keys(p),M=Object.keys(v);if($.length!==M.length)return!1;for(M=0;M<$.length;M++){var q=$[M];if(!u.call(v,q)||!qs(p[q],v[q]))return!1}return!0}function vm(p){for(;p&&p.firstChild;)p=p.firstChild;return p}function ym(p,v){var $=vm(p);p=0;for(var M;$;){if($.nodeType===3){if(M=p+$.textContent.length,p<=v&&M>=v)return{node:$,offset:v-p};p=M}e:{for(;$;){if($.nextSibling){$=$.nextSibling;break e}$=$.parentNode}$=void 0}$=vm($)}}function Cf(p,v){return p&&v?p===v?!0:p&&p.nodeType===3?!1:v&&v.nodeType===3?Cf(p,v.parentNode):"contains"in p?p.contains(v):p.compareDocumentPosition?!!(p.compareDocumentPosition(v)&16):!1:!1}function Ef(){for(var p=window,v=We();v instanceof p.HTMLIFrameElement;){try{var $=typeof v.contentWindow.location.href=="string"}catch{$=!1}if($)p=v.contentWindow;else break;v=We(p.document)}return v}function jf(p){var v=p&&p.nodeName&&p.nodeName.toLowerCase();return v&&(v==="input"&&(p.type==="text"||p.type==="search"||p.type==="tel"||p.type==="url"||p.type==="password")||v==="textarea"||p.contentEditable==="true")}function bb(p){var v=Ef(),$=p.focusedElem,M=p.selectionRange;if(v!==$&&$&&$.ownerDocument&&Cf($.ownerDocument.documentElement,$)){if(M!==null&&jf($)){if(v=M.start,p=M.end,p===void 0&&(p=v),"selectionStart"in $)$.selectionStart=v,$.selectionEnd=Math.min(p,$.value.length);else if(p=(v=$.ownerDocument||document)&&v.defaultView||window,p.getSelection){p=p.getSelection();var q=$.textContent.length,Z=Math.min(M.start,q);M=M.end===void 0?Z:Math.min(M.end,q),!p.extend&&Z>M&&(q=M,M=Z,Z=q),q=ym($,Z);var de=ym($,M);q&&de&&(p.rangeCount!==1||p.anchorNode!==q.node||p.anchorOffset!==q.offset||p.focusNode!==de.node||p.focusOffset!==de.offset)&&(v=v.createRange(),v.setStart(q.node,q.offset),p.removeAllRanges(),Z>M?(p.addRange(v),p.extend(de.node,de.offset)):(v.setEnd(de.node,de.offset),p.addRange(v)))}}for(v=[],p=$;p=p.parentNode;)p.nodeType===1&&v.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof $.focus=="function"&&$.focus(),$=0;$<v.length;$++)p=v[$],p.element.scrollLeft=p.left,p.element.scrollTop=p.top}}var bm=o&&"documentMode"in document&&11>=document.documentMode,Lc=null,Tf=null,Ho=null,Af=!1;function xm(p,v,$){var M=$.window===$?$.document:$.nodeType===9?$:$.ownerDocument;Af||Lc==null||Lc!==We(M)||(M=Lc,"selectionStart"in M&&jf(M)?M={start:M.selectionStart,end:M.selectionEnd}:(M=(M.ownerDocument&&M.ownerDocument.defaultView||window).getSelection(),M={anchorNode:M.anchorNode,anchorOffset:M.anchorOffset,focusNode:M.focusNode,focusOffset:M.focusOffset}),Ho&&Dc(Ho,M)||(Ho=M,M=Ku(Tf,"onSelect"),0<M.length&&(v=new nt("onSelect","select",null,v,$),p.push({event:v,listeners:M}),v.target=Lc)))}function Gu(p,v){var $={};return $[p.toLowerCase()]=v.toLowerCase(),$["Webkit"+p]="webkit"+v,$["Moz"+p]="moz"+v,$}var $a={animationend:Gu("Animation","AnimationEnd"),animationiteration:Gu("Animation","AnimationIteration"),animationstart:Gu("Animation","AnimationStart"),transitionend:Gu("Transition","TransitionEnd")},$f={},wm={};o&&(wm=document.createElement("div").style,"AnimationEvent"in window||(delete $a.animationend.animation,delete $a.animationiteration.animation,delete $a.animationstart.animation),"TransitionEvent"in window||delete $a.transitionend.transition);function Bc(p){if($f[p])return $f[p];if(!$a[p])return p;var v=$a[p],$;for($ in v)if(v.hasOwnProperty($)&&$ in wm)return $f[p]=v[$];return p}var _m=Bc("animationend"),Sm=Bc("animationiteration"),km=Bc("animationstart"),Cm=Bc("transitionend"),xb=new Map,Em="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function oo(p,v){xb.set(p,v),a(v,[p])}for(var Of=0;Of<Em.length;Of++){var jm=Em[Of],wb=jm.toLowerCase(),Er=jm[0].toUpperCase()+jm.slice(1);oo(wb,"on"+Er)}oo(_m,"onAnimationEnd"),oo(Sm,"onAnimationIteration"),oo(km,"onAnimationStart"),oo("dblclick","onDoubleClick"),oo("focusin","onFocus"),oo("focusout","onBlur"),oo(Cm,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),a("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),a("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),a("onBeforeInput",["compositionend","keypress","textInput","paste"]),a("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),a("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),a("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var zc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),_b=new Set("cancel close invalid load scroll toggle".split(" ").concat(zc));function Tm(p,v,$){var M=p.type||"unknown-event";p.currentTarget=$,ai(M,v,void 0,p),p.currentTarget=null}function Am(p,v){v=(v&4)!==0;for(var $=0;$<p.length;$++){var M=p[$],q=M.event;M=M.listeners;e:{var Z=void 0;if(v)for(var de=M.length-1;0<=de;de--){var ke=M[de],Ne=ke.instance,Ke=ke.currentTarget;if(ke=ke.listener,Ne!==Z&&q.isPropagationStopped())break e;Tm(q,ke,Ke),Z=Ne}else for(de=0;de<M.length;de++){if(ke=M[de],Ne=ke.instance,Ke=ke.currentTarget,ke=ke.listener,Ne!==Z&&q.isPropagationStopped())break e;Tm(q,ke,Ke),Z=Ne}}}if(ds)throw p=Kt,ds=!1,Kt=null,p}function Jr(p,v){var $=v[Bf];$===void 0&&($=v[Bf]=new Set);var M=p+"__bubble";$.has(M)||($m(v,p,2,!1),$.add(M))}function Nf(p,v,$){var M=0;v&&(M|=4),$m($,p,M,v)}var Vu="_reactListening"+Math.random().toString(36).slice(2);function Fc(p){if(!p[Vu]){p[Vu]=!0,i.forEach(function($){$!=="selectionchange"&&(_b.has($)||Nf($,!1,p),Nf($,!0,p))});var v=p.nodeType===9?p:p.ownerDocument;v===null||v[Vu]||(v[Vu]=!0,Nf("selectionchange",!1,v))}}function $m(p,v,$,M){switch(he(v)){case 1:var q=Lu;break;case 4:q=Bu;break;default:q=Oc}$=q.bind(null,v,$,p),q=void 0,!_r||v!=="touchstart"&&v!=="touchmove"&&v!=="wheel"||(q=!0),M?q!==void 0?p.addEventListener(v,$,{capture:!0,passive:q}):p.addEventListener(v,$,!0):q!==void 0?p.addEventListener(v,$,{passive:q}):p.addEventListener(v,$,!1)}function Pf(p,v,$,M,q){var Z=M;if((v&1)===0&&(v&2)===0&&M!==null)e:for(;;){if(M===null)return;var de=M.tag;if(de===3||de===4){var ke=M.stateNode.containerInfo;if(ke===q||ke.nodeType===8&&ke.parentNode===q)break;if(de===4)for(de=M.return;de!==null;){var Ne=de.tag;if((Ne===3||Ne===4)&&(Ne=de.stateNode.containerInfo,Ne===q||Ne.nodeType===8&&Ne.parentNode===q))return;de=de.return}for(;ke!==null;){if(de=Go(ke),de===null)return;if(Ne=de.tag,Ne===5||Ne===6){M=Z=de;continue e}ke=ke.parentNode}}M=M.return}es(function(){var Ke=Z,ft=In($),ht=[];e:{var ct=xb.get(p);if(ct!==void 0){var Ct=nt,Mt=p;switch(p){case"keypress":if(Pe($)===0)break e;case"keydown":case"keyup":Ct=xf;break;case"focusin":Mt="focus",Ct=yr;break;case"focusout":Mt="blur",Ct=yr;break;case"beforeblur":case"afterblur":Ct=yr;break;case"click":if($.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Ct=ir;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Ct=Ft;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Ct=Si;break;case _m:case Sm:case km:Ct=ci;break;case Cm:Ct=ki;break;case"scroll":Ct=Nt;break;case"wheel":Ct=wf;break;case"copy":case"cut":case"paste":Ct=$l;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Ct=Wo}var Dt=(v&4)!==0,Vr=!Dt&&p==="scroll",qe=Dt?ct!==null?ct+"Capture":null:ct;Dt=[];for(var Ie=Ke,Xe;Ie!==null;){Xe=Ie;var yt=Xe.stateNode;if(Xe.tag===5&&yt!==null&&(Xe=yt,qe!==null&&(yt=Bi(Ie,qe),yt!=null&&Dt.push(Uc(Ie,yt,Xe)))),Vr)break;Ie=Ie.return}0<Dt.length&&(ct=new Ct(ct,Mt,null,$,ft),ht.push({event:ct,listeners:Dt}))}}if((v&7)===0){e:{if(ct=p==="mouseover"||p==="pointerover",Ct=p==="mouseout"||p==="pointerout",ct&&$!==si&&(Mt=$.relatedTarget||$.fromElement)&&(Go(Mt)||Mt[ua]))break e;if((Ct||ct)&&(ct=ft.window===ft?ft:(ct=ft.ownerDocument)?ct.defaultView||ct.parentWindow:window,Ct?(Mt=$.relatedTarget||$.toElement,Ct=Ke,Mt=Mt?Go(Mt):null,Mt!==null&&(Vr=Ot(Mt),Mt!==Vr||Mt.tag!==5&&Mt.tag!==6)&&(Mt=null)):(Ct=null,Mt=Ke),Ct!==Mt)){if(Dt=ir,yt="onMouseLeave",qe="onMouseEnter",Ie="mouse",(p==="pointerout"||p==="pointerover")&&(Dt=Wo,yt="onPointerLeave",qe="onPointerEnter",Ie="pointer"),Vr=Ct==null?ct:Pl(Ct),Xe=Mt==null?ct:Pl(Mt),ct=new Dt(yt,Ie+"leave",Ct,$,ft),ct.target=Vr,ct.relatedTarget=Xe,yt=null,Go(ft)===Ke&&(Dt=new Dt(qe,Ie+"enter",Mt,$,ft),Dt.target=Xe,Dt.relatedTarget=Vr,yt=Dt),Vr=yt,Ct&&Mt)t:{for(Dt=Ct,qe=Mt,Ie=0,Xe=Dt;Xe;Xe=Ol(Xe))Ie++;for(Xe=0,yt=qe;yt;yt=Ol(yt))Xe++;for(;0<Ie-Xe;)Dt=Ol(Dt),Ie--;for(;0<Xe-Ie;)qe=Ol(qe),Xe--;for(;Ie--;){if(Dt===qe||qe!==null&&Dt===qe.alternate)break t;Dt=Ol(Dt),qe=Ol(qe)}Dt=null}else Dt=null;Ct!==null&&Om(ht,ct,Ct,Dt,!1),Mt!==null&&Vr!==null&&Om(ht,Vr,Mt,Dt,!0)}}e:{if(ct=Ke?Pl(Ke):window,Ct=ct.nodeName&&ct.nodeName.toLowerCase(),Ct==="select"||Ct==="input"&&ct.type==="file")var Wt=hb;else if(Fs(ct))if(pm)Wt=vb;else{Wt=mb;var tr=pb}else(Ct=ct.nodeName)&&Ct.toLowerCase()==="input"&&(ct.type==="checkbox"||ct.type==="radio")&&(Wt=gb);if(Wt&&(Wt=Wt(p,Ke))){hm(ht,Wt,$,ft);break e}tr&&tr(p,ct,Ke),p==="focusout"&&(tr=ct._wrapperState)&&tr.controlled&&ct.type==="number"&&Xt(ct,"number",ct.value)}switch(tr=Ke?Pl(Ke):window,p){case"focusin":(Fs(tr)||tr.contentEditable==="true")&&(Lc=tr,Tf=Ke,Ho=null);break;case"focusout":Ho=Tf=Lc=null;break;case"mousedown":Af=!0;break;case"contextmenu":case"mouseup":case"dragend":Af=!1,xm(ht,$,ft);break;case"selectionchange":if(bm)break;case"keydown":case"keyup":xm(ht,$,ft)}var rr;if(bs)e:{switch(p){case"compositionstart":var ar="onCompositionStart";break e;case"compositionend":ar="onCompositionEnd";break e;case"compositionupdate":ar="onCompositionUpdate";break e}ar=void 0}else Ci?Wu(p,$)&&(ar="onCompositionEnd"):p==="keydown"&&$.keyCode===229&&(ar="onCompositionStart");ar&&(on&&$.locale!=="ko"&&(Ci||ar!=="onCompositionStart"?ar==="onCompositionEnd"&&Ci&&(rr=ze()):(be=ft,Oe="value"in be?be.value:be.textContent,Ci=!0)),tr=Ku(Ke,ar),0<tr.length&&(ar=new Pc(ar,p,null,$,ft),ht.push({event:ar,listeners:tr}),rr?ar.data=rr:(rr=ub($),rr!==null&&(ar.data=rr)))),(rr=En?db(p,$):_f(p,$))&&(Ke=Ku(Ke,"onBeforeInput"),0<Ke.length&&(ft=new Pc("onBeforeInput","beforeinput",null,$,ft),ht.push({event:ft,listeners:Ke}),ft.data=rr))}Am(ht,v)})}function Uc(p,v,$){return{instance:p,listener:v,currentTarget:$}}function Ku(p,v){for(var $=v+"Capture",M=[];p!==null;){var q=p,Z=q.stateNode;q.tag===5&&Z!==null&&(q=Z,Z=Bi(p,$),Z!=null&&M.unshift(Uc(p,Z,q)),Z=Bi(p,v),Z!=null&&M.push(Uc(p,Z,q))),p=p.return}return M}function Ol(p){if(p===null)return null;do p=p.return;while(p&&p.tag!==5);return p||null}function Om(p,v,$,M,q){for(var Z=v._reactName,de=[];$!==null&&$!==M;){var ke=$,Ne=ke.alternate,Ke=ke.stateNode;if(Ne!==null&&Ne===M)break;ke.tag===5&&Ke!==null&&(ke=Ke,q?(Ne=Bi($,Z),Ne!=null&&de.unshift(Uc($,Ne,ke))):q||(Ne=Bi($,Z),Ne!=null&&de.push(Uc($,Ne,ke)))),$=$.return}de.length!==0&&p.push({event:v,listeners:de})}var Xu=/\r\n?/g,Sb=/\u0000|\uFFFD/g;function Yu(p){return(typeof p=="string"?p:""+p).replace(Xu,`
39
39
  `).replace(Sb,"")}function Ju(p,v,$){if(v=Yu(v),Yu(p)!==v&&$)throw Error(n(425))}function Qu(){}var Rf=null,Mf=null;function If(p,v){return p==="textarea"||p==="noscript"||typeof v.children=="string"||typeof v.children=="number"||typeof v.dangerouslySetInnerHTML=="object"&&v.dangerouslySetInnerHTML!==null&&v.dangerouslySetInnerHTML.__html!=null}var Df=typeof setTimeout=="function"?setTimeout:void 0,kb=typeof clearTimeout=="function"?clearTimeout:void 0,Nm=typeof Promise=="function"?Promise:void 0,Cb=typeof queueMicrotask=="function"?queueMicrotask:typeof Nm<"u"?function(p){return Nm.resolve(null).then(p).catch(Eb)}:Df;function Eb(p){setTimeout(function(){throw p})}function Lf(p,v){var $=v,M=0;do{var q=$.nextSibling;if(p.removeChild($),q&&q.nodeType===8)if($=q.data,$==="/$"){if(M===0){p.removeChild(q),Aa(v);return}M--}else $!=="$"&&$!=="$?"&&$!=="$!"||M++;$=q}while($);Aa(v)}function lo(p){for(;p!=null;p=p.nextSibling){var v=p.nodeType;if(v===1||v===3)break;if(v===8){if(v=p.data,v==="$"||v==="$!"||v==="$?")break;if(v==="/$")return null}}return p}function Pm(p){p=p.previousSibling;for(var v=0;p;){if(p.nodeType===8){var $=p.data;if($==="$"||$==="$!"||$==="$?"){if(v===0)return p;v--}else $==="/$"&&v++}p=p.previousSibling}return null}var Nl=Math.random().toString(36).slice(2),ca="__reactFiber$"+Nl,qc="__reactProps$"+Nl,ua="__reactContainer$"+Nl,Bf="__reactEvents$"+Nl,Rm="__reactListeners$"+Nl,Mm="__reactHandles$"+Nl;function Go(p){var v=p[ca];if(v)return v;for(var $=p.parentNode;$;){if(v=$[ua]||$[ca]){if($=v.alternate,v.child!==null||$!==null&&$.child!==null)for(p=Pm(p);p!==null;){if($=p[ca])return $;p=Pm(p)}return v}p=$,$=p.parentNode}return null}function Wc(p){return p=p[ca]||p[ua],!p||p.tag!==5&&p.tag!==6&&p.tag!==13&&p.tag!==3?null:p}function Pl(p){if(p.tag===5||p.tag===6)return p.stateNode;throw Error(n(33))}function Zu(p){return p[qc]||null}var zf=[],Rl=-1;function Oa(p){return{current:p}}function Qr(p){0>Rl||(p.current=zf[Rl],zf[Rl]=null,Rl--)}function Gr(p,v){Rl++,zf[Rl]=p.current,p.current=v}var co={},Ei=Oa(co),zi=Oa(!1),Vo=co;function ji(p,v){var $=p.type.contextTypes;if(!$)return co;var M=p.stateNode;if(M&&M.__reactInternalMemoizedUnmaskedChildContext===v)return M.__reactInternalMemoizedMaskedChildContext;var q={},Z;for(Z in $)q[Z]=v[Z];return M&&(p=p.stateNode,p.__reactInternalMemoizedUnmaskedChildContext=v,p.__reactInternalMemoizedMaskedChildContext=q),q}function Fi(p){return p=p.childContextTypes,p!=null}function ed(){Qr(zi),Qr(Ei)}function Im(p,v,$){if(Ei.current!==co)throw Error(n(168));Gr(Ei,v),Gr(zi,$)}function Dm(p,v,$){var M=p.stateNode;if(v=v.childContextTypes,typeof M.getChildContext!="function")return $;M=M.getChildContext();for(var q in M)if(!(q in v))throw Error(n(108,ve(p)||"Unknown",q));return ee({},$,M)}function td(p){return p=(p=p.stateNode)&&p.__reactInternalMemoizedMergedChildContext||co,Vo=Ei.current,Gr(Ei,p),Gr(zi,zi.current),!0}function Lm(p,v,$){var M=p.stateNode;if(!M)throw Error(n(169));$?(p=Dm(p,v,Vo),M.__reactInternalMemoizedMergedChildContext=p,Qr(zi),Qr(Ei),Gr(Ei,p)):Qr(zi),Gr(zi,$)}var Na=null,rd=!1,Ff=!1;function Bm(p){Na===null?Na=[p]:Na.push(p)}function U_(p){rd=!0,Bm(p)}function uo(){if(!Ff&&Na!==null){Ff=!0;var p=0,v=gr;try{var $=Na;for(gr=1;p<$.length;p++){var M=$[p];do M=M(!0);while(M!==null)}Na=null,rd=!1}catch(q){throw Na!==null&&(Na=Na.slice(p+1)),xi(kn,uo),q}finally{gr=v,Ff=!1}}return null}var Ml=[],Il=0,nd=null,id=0,ws=[],Ws=0,_s=null,Ui=1,qi="";function fo(p,v){Ml[Il++]=id,Ml[Il++]=nd,nd=p,id=v}function Ko(p,v,$){ws[Ws++]=Ui,ws[Ws++]=qi,ws[Ws++]=_s,_s=p;var M=Ui;p=qi;var q=32-fr(M)-1;M&=~(1<<q),$+=1;var Z=32-fr(v)+q;if(30<Z){var de=q-q%5;Z=(M&(1<<de)-1).toString(32),M>>=de,q-=de,Ui=1<<32-fr(v)+q|$<<q|M,qi=Z+p}else Ui=1<<Z|$<<q|M,qi=p}function Tn(p){p.return!==null&&(fo(p,1),Ko(p,1,0))}function Uf(p){for(;p===nd;)nd=Ml[--Il],Ml[Il]=null,id=Ml[--Il],Ml[Il]=null;for(;p===_s;)_s=ws[--Ws],ws[Ws]=null,qi=ws[--Ws],ws[Ws]=null,Ui=ws[--Ws],ws[Ws]=null}var Wi=null,rs=null,dn=!1,Hi=null;function qf(p,v){var $=is(5,null,null,0);$.elementType="DELETED",$.stateNode=v,$.return=p,v=p.deletions,v===null?(p.deletions=[$],p.flags|=16):v.push($)}function Wf(p,v){switch(p.tag){case 5:var $=p.type;return v=v.nodeType!==1||$.toLowerCase()!==v.nodeName.toLowerCase()?null:v,v!==null?(p.stateNode=v,Wi=p,rs=lo(v.firstChild),!0):!1;case 6:return v=p.pendingProps===""||v.nodeType!==3?null:v,v!==null?(p.stateNode=v,Wi=p,rs=null,!0):!1;case 13:return v=v.nodeType!==8?null:v,v!==null?($=_s!==null?{id:Ui,overflow:qi}:null,p.memoizedState={dehydrated:v,treeContext:$,retryLane:1073741824},$=is(18,null,null,0),$.stateNode=v,$.return=p,p.child=$,Wi=p,rs=null,!0):!1;default:return!1}}function Hf(p){return(p.mode&1)!==0&&(p.flags&128)===0}function Gf(p){if(dn){var v=rs;if(v){var $=v;if(!Wf(p,v)){if(Hf(p))throw Error(n(418));v=lo($.nextSibling);var M=Wi;v&&Wf(p,v)?qf(M,$):(p.flags=p.flags&-4097|2,dn=!1,Wi=p)}}else{if(Hf(p))throw Error(n(418));p.flags=p.flags&-4097|2,dn=!1,Wi=p}}}function Vf(p){for(p=p.return;p!==null&&p.tag!==5&&p.tag!==3&&p.tag!==13;)p=p.return;Wi=p}function Hc(p){if(p!==Wi)return!1;if(!dn)return Vf(p),dn=!0,!1;var v;if((v=p.tag!==3)&&!(v=p.tag!==5)&&(v=p.type,v=v!=="head"&&v!=="body"&&!If(p.type,p.memoizedProps)),v&&(v=rs)){if(Hf(p))throw zm(),Error(n(418));for(;v;)qf(p,v),v=lo(v.nextSibling)}if(Vf(p),p.tag===13){if(p=p.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(n(317));e:{for(p=p.nextSibling,v=0;p;){if(p.nodeType===8){var $=p.data;if($==="/$"){if(v===0){rs=lo(p.nextSibling);break e}v--}else $!=="$"&&$!=="$!"&&$!=="$?"||v++}p=p.nextSibling}rs=null}}else rs=Wi?lo(p.stateNode.nextSibling):null;return!0}function zm(){for(var p=rs;p;)p=lo(p.nextSibling)}function Xo(){rs=Wi=null,dn=!1}function Kf(p){Hi===null?Hi=[p]:Hi.push(p)}var Xf=T.ReactCurrentBatchConfig;function Dl(p,v,$){if(p=$.ref,p!==null&&typeof p!="function"&&typeof p!="object"){if($._owner){if($=$._owner,$){if($.tag!==1)throw Error(n(309));var M=$.stateNode}if(!M)throw Error(n(147,p));var q=M,Z=""+p;return v!==null&&v.ref!==null&&typeof v.ref=="function"&&v.ref._stringRef===Z?v.ref:(v=function(de){var ke=q.refs;de===null?delete ke[Z]:ke[Z]=de},v._stringRef=Z,v)}if(typeof p!="string")throw Error(n(284));if(!$._owner)throw Error(n(290,p))}return p}function sd(p,v){throw p=Object.prototype.toString.call(v),Error(n(31,p==="[object Object]"?"object with keys {"+Object.keys(v).join(", ")+"}":p))}function Fm(p){var v=p._init;return v(p._payload)}function jb(p){function v(qe,Ie){if(p){var Xe=qe.deletions;Xe===null?(qe.deletions=[Ie],qe.flags|=16):Xe.push(Ie)}}function $(qe,Ie){if(!p)return null;for(;Ie!==null;)v(qe,Ie),Ie=Ie.sibling;return null}function M(qe,Ie){for(qe=new Map;Ie!==null;)Ie.key!==null?qe.set(Ie.key,Ie):qe.set(Ie.index,Ie),Ie=Ie.sibling;return qe}function q(qe,Ie){return qe=xo(qe,Ie),qe.index=0,qe.sibling=null,qe}function Z(qe,Ie,Xe){return qe.index=Xe,p?(Xe=qe.alternate,Xe!==null?(Xe=Xe.index,Xe<Ie?(qe.flags|=2,Ie):Xe):(qe.flags|=2,Ie)):(qe.flags|=1048576,Ie)}function de(qe){return p&&qe.alternate===null&&(qe.flags|=2),qe}function ke(qe,Ie,Xe,yt){return Ie===null||Ie.tag!==6?(Ie=Gh(Xe,qe.mode,yt),Ie.return=qe,Ie):(Ie=q(Ie,Xe),Ie.return=qe,Ie)}function Ne(qe,Ie,Xe,yt){var Wt=Xe.type;return Wt===N?ft(qe,Ie,Xe.props.children,yt,Xe.key):Ie!==null&&(Ie.elementType===Wt||typeof Wt=="object"&&Wt!==null&&Wt.$$typeof===X&&Fm(Wt)===Ie.type)?(yt=q(Ie,Xe.props),yt.ref=Dl(qe,Ie,Xe),yt.return=qe,yt):(yt=jd(Xe.type,Xe.key,Xe.props,null,qe.mode,yt),yt.ref=Dl(qe,Ie,Xe),yt.return=qe,yt)}function Ke(qe,Ie,Xe,yt){return Ie===null||Ie.tag!==4||Ie.stateNode.containerInfo!==Xe.containerInfo||Ie.stateNode.implementation!==Xe.implementation?(Ie=Vh(Xe,qe.mode,yt),Ie.return=qe,Ie):(Ie=q(Ie,Xe.children||[]),Ie.return=qe,Ie)}function ft(qe,Ie,Xe,yt,Wt){return Ie===null||Ie.tag!==7?(Ie=Vl(Xe,qe.mode,yt,Wt),Ie.return=qe,Ie):(Ie=q(Ie,Xe),Ie.return=qe,Ie)}function ht(qe,Ie,Xe){if(typeof Ie=="string"&&Ie!==""||typeof Ie=="number")return Ie=Gh(""+Ie,qe.mode,Xe),Ie.return=qe,Ie;if(typeof Ie=="object"&&Ie!==null){switch(Ie.$$typeof){case j:return Xe=jd(Ie.type,Ie.key,Ie.props,null,qe.mode,Xe),Xe.ref=Dl(qe,null,Ie),Xe.return=qe,Xe;case A:return Ie=Vh(Ie,qe.mode,Xe),Ie.return=qe,Ie;case X:var yt=Ie._init;return ht(qe,yt(Ie._payload),Xe)}if(Jt(Ie)||Q(Ie))return Ie=Vl(Ie,qe.mode,Xe,null),Ie.return=qe,Ie;sd(qe,Ie)}return null}function ct(qe,Ie,Xe,yt){var Wt=Ie!==null?Ie.key:null;if(typeof Xe=="string"&&Xe!==""||typeof Xe=="number")return Wt!==null?null:ke(qe,Ie,""+Xe,yt);if(typeof Xe=="object"&&Xe!==null){switch(Xe.$$typeof){case j:return Xe.key===Wt?Ne(qe,Ie,Xe,yt):null;case A:return Xe.key===Wt?Ke(qe,Ie,Xe,yt):null;case X:return Wt=Xe._init,ct(qe,Ie,Wt(Xe._payload),yt)}if(Jt(Xe)||Q(Xe))return Wt!==null?null:ft(qe,Ie,Xe,yt,null);sd(qe,Xe)}return null}function Ct(qe,Ie,Xe,yt,Wt){if(typeof yt=="string"&&yt!==""||typeof yt=="number")return qe=qe.get(Xe)||null,ke(Ie,qe,""+yt,Wt);if(typeof yt=="object"&&yt!==null){switch(yt.$$typeof){case j:return qe=qe.get(yt.key===null?Xe:yt.key)||null,Ne(Ie,qe,yt,Wt);case A:return qe=qe.get(yt.key===null?Xe:yt.key)||null,Ke(Ie,qe,yt,Wt);case X:var tr=yt._init;return Ct(qe,Ie,Xe,tr(yt._payload),Wt)}if(Jt(yt)||Q(yt))return qe=qe.get(Xe)||null,ft(Ie,qe,yt,Wt,null);sd(Ie,yt)}return null}function Mt(qe,Ie,Xe,yt){for(var Wt=null,tr=null,rr=Ie,ar=Ie=0,Un=null;rr!==null&&ar<Xe.length;ar++){rr.index>ar?(Un=rr,rr=null):Un=rr.sibling;var $r=ct(qe,rr,Xe[ar],yt);if($r===null){rr===null&&(rr=Un);break}p&&rr&&$r.alternate===null&&v(qe,rr),Ie=Z($r,Ie,ar),tr===null?Wt=$r:tr.sibling=$r,tr=$r,rr=Un}if(ar===Xe.length)return $(qe,rr),dn&&fo(qe,ar),Wt;if(rr===null){for(;ar<Xe.length;ar++)rr=ht(qe,Xe[ar],yt),rr!==null&&(Ie=Z(rr,Ie,ar),tr===null?Wt=rr:tr.sibling=rr,tr=rr);return dn&&fo(qe,ar),Wt}for(rr=M(qe,rr);ar<Xe.length;ar++)Un=Ct(rr,qe,ar,Xe[ar],yt),Un!==null&&(p&&Un.alternate!==null&&rr.delete(Un.key===null?ar:Un.key),Ie=Z(Un,Ie,ar),tr===null?Wt=Un:tr.sibling=Un,tr=Un);return p&&rr.forEach(function(Da){return v(qe,Da)}),dn&&fo(qe,ar),Wt}function Dt(qe,Ie,Xe,yt){var Wt=Q(Xe);if(typeof Wt!="function")throw Error(n(150));if(Xe=Wt.call(Xe),Xe==null)throw Error(n(151));for(var tr=Wt=null,rr=Ie,ar=Ie=0,Un=null,$r=Xe.next();rr!==null&&!$r.done;ar++,$r=Xe.next()){rr.index>ar?(Un=rr,rr=null):Un=rr.sibling;var Da=ct(qe,rr,$r.value,yt);if(Da===null){rr===null&&(rr=Un);break}p&&rr&&Da.alternate===null&&v(qe,rr),Ie=Z(Da,Ie,ar),tr===null?Wt=Da:tr.sibling=Da,tr=Da,rr=Un}if($r.done)return $(qe,rr),dn&&fo(qe,ar),Wt;if(rr===null){for(;!$r.done;ar++,$r=Xe.next())$r=ht(qe,$r.value,yt),$r!==null&&(Ie=Z($r,Ie,ar),tr===null?Wt=$r:tr.sibling=$r,tr=$r);return dn&&fo(qe,ar),Wt}for(rr=M(qe,rr);!$r.done;ar++,$r=Xe.next())$r=Ct(rr,qe,ar,$r.value,yt),$r!==null&&(p&&$r.alternate!==null&&rr.delete($r.key===null?ar:$r.key),Ie=Z($r,Ie,ar),tr===null?Wt=$r:tr.sibling=$r,tr=$r);return p&&rr.forEach(function(ax){return v(qe,ax)}),dn&&fo(qe,ar),Wt}function Vr(qe,Ie,Xe,yt){if(typeof Xe=="object"&&Xe!==null&&Xe.type===N&&Xe.key===null&&(Xe=Xe.props.children),typeof Xe=="object"&&Xe!==null){switch(Xe.$$typeof){case j:e:{for(var Wt=Xe.key,tr=Ie;tr!==null;){if(tr.key===Wt){if(Wt=Xe.type,Wt===N){if(tr.tag===7){$(qe,tr.sibling),Ie=q(tr,Xe.props.children),Ie.return=qe,qe=Ie;break e}}else if(tr.elementType===Wt||typeof Wt=="object"&&Wt!==null&&Wt.$$typeof===X&&Fm(Wt)===tr.type){$(qe,tr.sibling),Ie=q(tr,Xe.props),Ie.ref=Dl(qe,tr,Xe),Ie.return=qe,qe=Ie;break e}$(qe,tr);break}else v(qe,tr);tr=tr.sibling}Xe.type===N?(Ie=Vl(Xe.props.children,qe.mode,yt,Xe.key),Ie.return=qe,qe=Ie):(yt=jd(Xe.type,Xe.key,Xe.props,null,qe.mode,yt),yt.ref=Dl(qe,Ie,Xe),yt.return=qe,qe=yt)}return de(qe);case A:e:{for(tr=Xe.key;Ie!==null;){if(Ie.key===tr)if(Ie.tag===4&&Ie.stateNode.containerInfo===Xe.containerInfo&&Ie.stateNode.implementation===Xe.implementation){$(qe,Ie.sibling),Ie=q(Ie,Xe.children||[]),Ie.return=qe,qe=Ie;break e}else{$(qe,Ie);break}else v(qe,Ie);Ie=Ie.sibling}Ie=Vh(Xe,qe.mode,yt),Ie.return=qe,qe=Ie}return de(qe);case X:return tr=Xe._init,Vr(qe,Ie,tr(Xe._payload),yt)}if(Jt(Xe))return Mt(qe,Ie,Xe,yt);if(Q(Xe))return Dt(qe,Ie,Xe,yt);sd(qe,Xe)}return typeof Xe=="string"&&Xe!==""||typeof Xe=="number"?(Xe=""+Xe,Ie!==null&&Ie.tag===6?($(qe,Ie.sibling),Ie=q(Ie,Xe),Ie.return=qe,qe=Ie):($(qe,Ie),Ie=Gh(Xe,qe.mode,yt),Ie.return=qe,qe=Ie),de(qe)):$(qe,Ie)}return Vr}var Ll=jb(!0),Yf=jb(!1),Yo=Oa(null),ad=null,Jo=null,Jf=null;function Qf(){Jf=Jo=ad=null}function Zf(p){var v=Yo.current;Qr(Yo),p._currentValue=v}function Um(p,v,$){for(;p!==null;){var M=p.alternate;if((p.childLanes&v)!==v?(p.childLanes|=v,M!==null&&(M.childLanes|=v)):M!==null&&(M.childLanes&v)!==v&&(M.childLanes|=v),p===$)break;p=p.return}}function Bl(p,v){ad=p,Jf=Jo=null,p=p.dependencies,p!==null&&p.firstContext!==null&&((p.lanes&v)!==0&&(Gi=!0),p.firstContext=null)}function Ss(p){var v=p._currentValue;if(Jf!==p)if(p={context:p,memoizedValue:v,next:null},Jo===null){if(ad===null)throw Error(n(308));Jo=p,ad.dependencies={lanes:0,firstContext:p}}else Jo=Jo.next=p;return v}var zl=null;function eh(p){zl===null?zl=[p]:zl.push(p)}function od(p,v,$,M){var q=v.interleaved;return q===null?($.next=$,eh(v)):($.next=q.next,q.next=$),v.interleaved=$,Pa(p,M)}function Pa(p,v){p.lanes|=v;var $=p.alternate;for($!==null&&($.lanes|=v),$=p,p=p.return;p!==null;)p.childLanes|=v,$=p.alternate,$!==null&&($.childLanes|=v),$=p,p=p.return;return $.tag===3?$.stateNode:null}var da=!1;function ld(p){p.updateQueue={baseState:p.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function th(p,v){p=p.updateQueue,v.updateQueue===p&&(v.updateQueue={baseState:p.baseState,firstBaseUpdate:p.firstBaseUpdate,lastBaseUpdate:p.lastBaseUpdate,shared:p.shared,effects:p.effects})}function Ra(p,v){return{eventTime:p,lane:v,tag:0,payload:null,callback:null,next:null}}function ho(p,v,$){var M=p.updateQueue;if(M===null)return null;if(M=M.shared,(jr&2)!==0){var q=M.pending;return q===null?v.next=v:(v.next=q.next,q.next=v),M.pending=v,Pa(p,$)}return q=M.interleaved,q===null?(v.next=v,eh(M)):(v.next=q.next,q.next=v),M.interleaved=v,Pa(p,$)}function Gc(p,v,$){if(v=v.updateQueue,v!==null&&(v=v.shared,($&4194240)!==0)){var M=v.lanes;M&=p.pendingLanes,$|=M,v.lanes=$,Tl(p,$)}}function Tb(p,v){var $=p.updateQueue,M=p.alternate;if(M!==null&&(M=M.updateQueue,$===M)){var q=null,Z=null;if($=$.firstBaseUpdate,$!==null){do{var de={eventTime:$.eventTime,lane:$.lane,tag:$.tag,payload:$.payload,callback:$.callback,next:null};Z===null?q=Z=de:Z=Z.next=de,$=$.next}while($!==null);Z===null?q=Z=v:Z=Z.next=v}else q=Z=v;$={baseState:M.baseState,firstBaseUpdate:q,lastBaseUpdate:Z,shared:M.shared,effects:M.effects},p.updateQueue=$;return}p=$.lastBaseUpdate,p===null?$.firstBaseUpdate=v:p.next=v,$.lastBaseUpdate=v}function cd(p,v,$,M){var q=p.updateQueue;da=!1;var Z=q.firstBaseUpdate,de=q.lastBaseUpdate,ke=q.shared.pending;if(ke!==null){q.shared.pending=null;var Ne=ke,Ke=Ne.next;Ne.next=null,de===null?Z=Ke:de.next=Ke,de=Ne;var ft=p.alternate;ft!==null&&(ft=ft.updateQueue,ke=ft.lastBaseUpdate,ke!==de&&(ke===null?ft.firstBaseUpdate=Ke:ke.next=Ke,ft.lastBaseUpdate=Ne))}if(Z!==null){var ht=q.baseState;de=0,ft=Ke=Ne=null,ke=Z;do{var ct=ke.lane,Ct=ke.eventTime;if((M&ct)===ct){ft!==null&&(ft=ft.next={eventTime:Ct,lane:0,tag:ke.tag,payload:ke.payload,callback:ke.callback,next:null});e:{var Mt=p,Dt=ke;switch(ct=v,Ct=$,Dt.tag){case 1:if(Mt=Dt.payload,typeof Mt=="function"){ht=Mt.call(Ct,ht,ct);break e}ht=Mt;break e;case 3:Mt.flags=Mt.flags&-65537|128;case 0:if(Mt=Dt.payload,ct=typeof Mt=="function"?Mt.call(Ct,ht,ct):Mt,ct==null)break e;ht=ee({},ht,ct);break e;case 2:da=!0}}ke.callback!==null&&ke.lane!==0&&(p.flags|=64,ct=q.effects,ct===null?q.effects=[ke]:ct.push(ke))}else Ct={eventTime:Ct,lane:ct,tag:ke.tag,payload:ke.payload,callback:ke.callback,next:null},ft===null?(Ke=ft=Ct,Ne=ht):ft=ft.next=Ct,de|=ct;if(ke=ke.next,ke===null){if(ke=q.shared.pending,ke===null)break;ct=ke,ke=ct.next,ct.next=null,q.lastBaseUpdate=ct,q.shared.pending=null}}while(!0);if(ft===null&&(Ne=ht),q.baseState=Ne,q.firstBaseUpdate=Ke,q.lastBaseUpdate=ft,v=q.shared.interleaved,v!==null){q=v;do de|=q.lane,q=q.next;while(q!==v)}else Z===null&&(q.shared.lanes=0);nl|=de,p.lanes=de,p.memoizedState=ht}}function Ab(p,v,$){if(p=v.effects,v.effects=null,p!==null)for(v=0;v<p.length;v++){var M=p[v],q=M.callback;if(q!==null){if(M.callback=null,M=$,typeof q!="function")throw Error(n(191,q));q.call(M)}}}var Vc={},fa=Oa(Vc),Kc=Oa(Vc),Fl=Oa(Vc);function Qo(p){if(p===Vc)throw Error(n(174));return p}function rh(p,v){switch(Gr(Fl,v),Gr(Kc,p),Gr(fa,Vc),p=v.nodeType,p){case 9:case 11:v=(v=v.documentElement)?v.namespaceURI:Kn(null,"");break;default:p=p===8?v.parentNode:v,v=p.namespaceURI||null,p=p.tagName,v=Kn(v,p)}Qr(fa),Gr(fa,v)}function Zo(){Qr(fa),Qr(Kc),Qr(Fl)}function qm(p){Qo(Fl.current);var v=Qo(fa.current),$=Kn(v,p.type);v!==$&&(Gr(Kc,p),Gr(fa,$))}function nh(p){Kc.current===p&&(Qr(fa),Qr(Kc))}var mn=Oa(0);function ud(p){for(var v=p;v!==null;){if(v.tag===13){var $=v.memoizedState;if($!==null&&($=$.dehydrated,$===null||$.data==="$?"||$.data==="$!"))return v}else if(v.tag===19&&v.memoizedProps.revealOrder!==void 0){if((v.flags&128)!==0)return v}else if(v.child!==null){v.child.return=v,v=v.child;continue}if(v===p)break;for(;v.sibling===null;){if(v.return===null||v.return===p)return null;v=v.return}v.sibling.return=v.return,v=v.sibling}return null}var ih=[];function sh(){for(var p=0;p<ih.length;p++)ih[p]._workInProgressVersionPrimary=null;ih.length=0}var ah=T.ReactCurrentDispatcher,oh=T.ReactCurrentBatchConfig,el=0,fn=null,An=null,zn=null,lh=!1,tl=!1,po=0,Wm=0;function ui(){throw Error(n(321))}function ch(p,v){if(v===null)return!1;for(var $=0;$<v.length&&$<p.length;$++)if(!qs(p[$],v[$]))return!1;return!0}function uh(p,v,$,M,q,Z){if(el=Z,fn=v,v.memoizedState=null,v.updateQueue=null,v.lanes=0,ah.current=p===null||p.memoizedState===null?Mb:Ib,p=$(M,q),tl){Z=0;do{if(tl=!1,po=0,25<=Z)throw Error(n(301));Z+=1,zn=An=null,v.updateQueue=null,ah.current=W_,p=$(M,q)}while(tl)}if(ah.current=pd,v=An!==null&&An.next!==null,el=0,zn=An=fn=null,lh=!1,v)throw Error(n(300));return p}function dh(){var p=po!==0;return po=0,p}function Hs(){var p={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return zn===null?fn.memoizedState=zn=p:zn=zn.next=p,zn}function ks(){if(An===null){var p=fn.alternate;p=p!==null?p.memoizedState:null}else p=An.next;var v=zn===null?fn.memoizedState:zn.next;if(v!==null)zn=v,An=p;else{if(p===null)throw Error(n(310));An=p,p={memoizedState:An.memoizedState,baseState:An.baseState,baseQueue:An.baseQueue,queue:An.queue,next:null},zn===null?fn.memoizedState=zn=p:zn=zn.next=p}return zn}function Xc(p,v){return typeof v=="function"?v(p):v}function fh(p){var v=ks(),$=v.queue;if($===null)throw Error(n(311));$.lastRenderedReducer=p;var M=An,q=M.baseQueue,Z=$.pending;if(Z!==null){if(q!==null){var de=q.next;q.next=Z.next,Z.next=de}M.baseQueue=q=Z,$.pending=null}if(q!==null){Z=q.next,M=M.baseState;var ke=de=null,Ne=null,Ke=Z;do{var ft=Ke.lane;if((el&ft)===ft)Ne!==null&&(Ne=Ne.next={lane:0,action:Ke.action,hasEagerState:Ke.hasEagerState,eagerState:Ke.eagerState,next:null}),M=Ke.hasEagerState?Ke.eagerState:p(M,Ke.action);else{var ht={lane:ft,action:Ke.action,hasEagerState:Ke.hasEagerState,eagerState:Ke.eagerState,next:null};Ne===null?(ke=Ne=ht,de=M):Ne=Ne.next=ht,fn.lanes|=ft,nl|=ft}Ke=Ke.next}while(Ke!==null&&Ke!==Z);Ne===null?de=M:Ne.next=ke,qs(M,v.memoizedState)||(Gi=!0),v.memoizedState=M,v.baseState=de,v.baseQueue=Ne,$.lastRenderedState=M}if(p=$.interleaved,p!==null){q=p;do Z=q.lane,fn.lanes|=Z,nl|=Z,q=q.next;while(q!==p)}else q===null&&($.lanes=0);return[v.memoizedState,$.dispatch]}function Hm(p){var v=ks(),$=v.queue;if($===null)throw Error(n(311));$.lastRenderedReducer=p;var M=$.dispatch,q=$.pending,Z=v.memoizedState;if(q!==null){$.pending=null;var de=q=q.next;do Z=p(Z,de.action),de=de.next;while(de!==q);qs(Z,v.memoizedState)||(Gi=!0),v.memoizedState=Z,v.baseQueue===null&&(v.baseState=Z),$.lastRenderedState=Z}return[Z,M]}function Gm(){}function hh(p,v){var $=fn,M=ks(),q=v(),Z=!qs(M.memoizedState,q);if(Z&&(M.memoizedState=q,Gi=!0),M=M.queue,eg(Xm.bind(null,$,M,p),[p]),M.getSnapshot!==v||Z||zn!==null&&zn.memoizedState.tag&1){if($.flags|=2048,dd(9,Km.bind(null,$,M,q,v),void 0,null),On===null)throw Error(n(349));(el&30)!==0||Vm($,v,q)}return q}function Vm(p,v,$){p.flags|=16384,p={getSnapshot:v,value:$},v=fn.updateQueue,v===null?(v={lastEffect:null,stores:null},fn.updateQueue=v,v.stores=[p]):($=v.stores,$===null?v.stores=[p]:$.push(p))}function Km(p,v,$,M){v.value=$,v.getSnapshot=M,$b(v)&&Ym(p)}function Xm(p,v,$){return $(function(){$b(v)&&Ym(p)})}function $b(p){var v=p.getSnapshot;p=p.value;try{var $=v();return!qs(p,$)}catch{return!0}}function Ym(p){var v=Pa(p,1);v!==null&&Ks(v,p,1,-1)}function Jm(p){var v=Hs();return typeof p=="function"&&(p=p()),v.memoizedState=v.baseState=p,p={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Xc,lastRenderedState:p},v.queue=p,p=p.dispatch=Pb.bind(null,fn,p),[v.memoizedState,p]}function dd(p,v,$,M){return p={tag:p,create:v,destroy:$,deps:M,next:null},v=fn.updateQueue,v===null?(v={lastEffect:null,stores:null},fn.updateQueue=v,v.lastEffect=p.next=p):($=v.lastEffect,$===null?v.lastEffect=p.next=p:(M=$.next,$.next=p,p.next=M,v.lastEffect=p)),p}function Qm(){return ks().memoizedState}function fd(p,v,$,M){var q=Hs();fn.flags|=p,q.memoizedState=dd(1|v,$,void 0,M===void 0?null:M)}function hd(p,v,$,M){var q=ks();M=M===void 0?null:M;var Z=void 0;if(An!==null){var de=An.memoizedState;if(Z=de.destroy,M!==null&&ch(M,de.deps)){q.memoizedState=dd(v,$,Z,M);return}}fn.flags|=p,q.memoizedState=dd(1|v,$,Z,M)}function Zm(p,v){return fd(8390656,8,p,v)}function eg(p,v){return hd(2048,8,p,v)}function tg(p,v){return hd(4,2,p,v)}function rg(p,v){return hd(4,4,p,v)}function ng(p,v){if(typeof v=="function")return p=p(),v(p),function(){v(null)};if(v!=null)return p=p(),v.current=p,function(){v.current=null}}function Ob(p,v,$){return $=$!=null?$.concat([p]):null,hd(4,4,ng.bind(null,v,p),$)}function ph(){}function ig(p,v){var $=ks();v=v===void 0?null:v;var M=$.memoizedState;return M!==null&&v!==null&&ch(v,M[1])?M[0]:($.memoizedState=[p,v],p)}function sg(p,v){var $=ks();v=v===void 0?null:v;var M=$.memoizedState;return M!==null&&v!==null&&ch(v,M[1])?M[0]:(p=p(),$.memoizedState=[p,v],p)}function ag(p,v,$){return(el&21)===0?(p.baseState&&(p.baseState=!1,Gi=!0),p.memoizedState=$):(qs($,v)||($=na(),fn.lanes|=$,nl|=$,p.baseState=!0),v)}function q_(p,v){var $=gr;gr=$!==0&&4>$?$:4,p(!0);var M=oh.transition;oh.transition={};try{p(!1),v()}finally{gr=$,oh.transition=M}}function og(){return ks().memoizedState}function Nb(p,v,$){var M=yo(p);if($={lane:M,action:$,hasEagerState:!1,eagerState:null,next:null},lg(p))Rb(v,$);else if($=od(p,v,$,M),$!==null){var q=Ai();Ks($,p,M,q),cg($,v,M)}}function Pb(p,v,$){var M=yo(p),q={lane:M,action:$,hasEagerState:!1,eagerState:null,next:null};if(lg(p))Rb(v,q);else{var Z=p.alternate;if(p.lanes===0&&(Z===null||Z.lanes===0)&&(Z=v.lastRenderedReducer,Z!==null))try{var de=v.lastRenderedState,ke=Z(de,$);if(q.hasEagerState=!0,q.eagerState=ke,qs(ke,de)){var Ne=v.interleaved;Ne===null?(q.next=q,eh(v)):(q.next=Ne.next,Ne.next=q),v.interleaved=q;return}}catch{}finally{}$=od(p,v,q,M),$!==null&&(q=Ai(),Ks($,p,M,q),cg($,v,M))}}function lg(p){var v=p.alternate;return p===fn||v!==null&&v===fn}function Rb(p,v){tl=lh=!0;var $=p.pending;$===null?v.next=v:(v.next=$.next,$.next=v),p.pending=v}function cg(p,v,$){if(($&4194240)!==0){var M=v.lanes;M&=p.pendingLanes,$|=M,v.lanes=$,Tl(p,$)}}var pd={readContext:Ss,useCallback:ui,useContext:ui,useEffect:ui,useImperativeHandle:ui,useInsertionEffect:ui,useLayoutEffect:ui,useMemo:ui,useReducer:ui,useRef:ui,useState:ui,useDebugValue:ui,useDeferredValue:ui,useTransition:ui,useMutableSource:ui,useSyncExternalStore:ui,useId:ui,unstable_isNewReconciler:!1},Mb={readContext:Ss,useCallback:function(p,v){return Hs().memoizedState=[p,v===void 0?null:v],p},useContext:Ss,useEffect:Zm,useImperativeHandle:function(p,v,$){return $=$!=null?$.concat([p]):null,fd(4194308,4,ng.bind(null,v,p),$)},useLayoutEffect:function(p,v){return fd(4194308,4,p,v)},useInsertionEffect:function(p,v){return fd(4,2,p,v)},useMemo:function(p,v){var $=Hs();return v=v===void 0?null:v,p=p(),$.memoizedState=[p,v],p},useReducer:function(p,v,$){var M=Hs();return v=$!==void 0?$(v):v,M.memoizedState=M.baseState=v,p={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:p,lastRenderedState:v},M.queue=p,p=p.dispatch=Nb.bind(null,fn,p),[M.memoizedState,p]},useRef:function(p){var v=Hs();return p={current:p},v.memoizedState=p},useState:Jm,useDebugValue:ph,useDeferredValue:function(p){return Hs().memoizedState=p},useTransition:function(){var p=Jm(!1),v=p[0];return p=q_.bind(null,p[1]),Hs().memoizedState=p,[v,p]},useMutableSource:function(){},useSyncExternalStore:function(p,v,$){var M=fn,q=Hs();if(dn){if($===void 0)throw Error(n(407));$=$()}else{if($=v(),On===null)throw Error(n(349));(el&30)!==0||Vm(M,v,$)}q.memoizedState=$;var Z={value:$,getSnapshot:v};return q.queue=Z,Zm(Xm.bind(null,M,Z,p),[p]),M.flags|=2048,dd(9,Km.bind(null,M,Z,$,v),void 0,null),$},useId:function(){var p=Hs(),v=On.identifierPrefix;if(dn){var $=qi,M=Ui;$=(M&~(1<<32-fr(M)-1)).toString(32)+$,v=":"+v+"R"+$,$=po++,0<$&&(v+="H"+$.toString(32)),v+=":"}else $=Wm++,v=":"+v+"r"+$.toString(32)+":";return p.memoizedState=v},unstable_isNewReconciler:!1},Ib={readContext:Ss,useCallback:ig,useContext:Ss,useEffect:eg,useImperativeHandle:Ob,useInsertionEffect:tg,useLayoutEffect:rg,useMemo:sg,useReducer:fh,useRef:Qm,useState:function(){return fh(Xc)},useDebugValue:ph,useDeferredValue:function(p){var v=ks();return ag(v,An.memoizedState,p)},useTransition:function(){var p=fh(Xc)[0],v=ks().memoizedState;return[p,v]},useMutableSource:Gm,useSyncExternalStore:hh,useId:og,unstable_isNewReconciler:!1},W_={readContext:Ss,useCallback:ig,useContext:Ss,useEffect:eg,useImperativeHandle:Ob,useInsertionEffect:tg,useLayoutEffect:rg,useMemo:sg,useReducer:Hm,useRef:Qm,useState:function(){return Hm(Xc)},useDebugValue:ph,useDeferredValue:function(p){var v=ks();return An===null?v.memoizedState=p:ag(v,An.memoizedState,p)},useTransition:function(){var p=Hm(Xc)[0],v=ks().memoizedState;return[p,v]},useMutableSource:Gm,useSyncExternalStore:hh,useId:og,unstable_isNewReconciler:!1};function $n(p,v){if(p&&p.defaultProps){v=ee({},v),p=p.defaultProps;for(var $ in p)v[$]===void 0&&(v[$]=p[$]);return v}return v}function ha(p,v,$,M){v=p.memoizedState,$=$(M,v),$=$==null?v:ee({},v,$),p.memoizedState=$,p.lanes===0&&(p.updateQueue.baseState=$)}var Ma={isMounted:function(p){return(p=p._reactInternals)?Ot(p)===p:!1},enqueueSetState:function(p,v,$){p=p._reactInternals;var M=Ai(),q=yo(p),Z=Ra(M,q);Z.payload=v,$!=null&&(Z.callback=$),v=ho(p,Z,q),v!==null&&(Ks(v,p,q,M),Gc(v,p,q))},enqueueReplaceState:function(p,v,$){p=p._reactInternals;var M=Ai(),q=yo(p),Z=Ra(M,q);Z.tag=1,Z.payload=v,$!=null&&(Z.callback=$),v=ho(p,Z,q),v!==null&&(Ks(v,p,q,M),Gc(v,p,q))},enqueueForceUpdate:function(p,v){p=p._reactInternals;var $=Ai(),M=yo(p),q=Ra($,M);q.tag=2,v!=null&&(q.callback=v),v=ho(p,q,M),v!==null&&(Ks(v,p,M,$),Gc(v,p,M))}};function rl(p,v,$,M,q,Z,de){return p=p.stateNode,typeof p.shouldComponentUpdate=="function"?p.shouldComponentUpdate(M,Z,de):v.prototype&&v.prototype.isPureReactComponent?!Dc($,M)||!Dc(q,Z):!0}function ug(p,v,$){var M=!1,q=co,Z=v.contextType;return typeof Z=="object"&&Z!==null?Z=Ss(Z):(q=Fi(v)?Vo:Ei.current,M=v.contextTypes,Z=(M=M!=null)?ji(p,q):co),v=new v($,Z),p.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,v.updater=Ma,p.stateNode=v,v._reactInternals=p,M&&(p=p.stateNode,p.__reactInternalMemoizedUnmaskedChildContext=q,p.__reactInternalMemoizedMaskedChildContext=Z),v}function dg(p,v,$,M){p=v.state,typeof v.componentWillReceiveProps=="function"&&v.componentWillReceiveProps($,M),typeof v.UNSAFE_componentWillReceiveProps=="function"&&v.UNSAFE_componentWillReceiveProps($,M),v.state!==p&&Ma.enqueueReplaceState(v,v.state,null)}function mh(p,v,$,M){var q=p.stateNode;q.props=$,q.state=p.memoizedState,q.refs={},ld(p);var Z=v.contextType;typeof Z=="object"&&Z!==null?q.context=Ss(Z):(Z=Fi(v)?Vo:Ei.current,q.context=ji(p,Z)),q.state=p.memoizedState,Z=v.getDerivedStateFromProps,typeof Z=="function"&&(ha(p,v,Z,$),q.state=p.memoizedState),typeof v.getDerivedStateFromProps=="function"||typeof q.getSnapshotBeforeUpdate=="function"||typeof q.UNSAFE_componentWillMount!="function"&&typeof q.componentWillMount!="function"||(v=q.state,typeof q.componentWillMount=="function"&&q.componentWillMount(),typeof q.UNSAFE_componentWillMount=="function"&&q.UNSAFE_componentWillMount(),v!==q.state&&Ma.enqueueReplaceState(q,q.state,null),cd(p,$,q,M),q.state=p.memoizedState),typeof q.componentDidMount=="function"&&(p.flags|=4194308)}function Ul(p,v){try{var $="",M=v;do $+=_e(M),M=M.return;while(M);var q=$}catch(Z){q=`
40
40
  Error generating stack: `+Z.message+`
41
- `+Z.stack}return{value:p,source:v,stack:q,digest:null}}function gh(p,v,$){return{value:p,source:null,stack:$??null,digest:v??null}}function vh(p,v){try{console.error(v.value)}catch($){setTimeout(function(){throw $})}}var Db=typeof WeakMap=="function"?WeakMap:Map;function fg(p,v,$){$=Ra(-1,$),$.tag=3,$.payload={element:null};var M=v.value;return $.callback=function(){_d||(_d=!0,Lh=M),vh(p,v)},$}function hg(p,v,$){$=Ra(-1,$),$.tag=3;var M=p.type.getDerivedStateFromError;if(typeof M=="function"){var q=v.value;$.payload=function(){return M(q)},$.callback=function(){vh(p,v)}}var Z=p.stateNode;return Z!==null&&typeof Z.componentDidCatch=="function"&&($.callback=function(){vh(p,v),typeof M!="function"&&(vo===null?vo=new Set([this]):vo.add(this));var de=v.stack;this.componentDidCatch(v.value,{componentStack:de!==null?de:""})}),$}function pg(p,v,$){var M=p.pingCache;if(M===null){M=p.pingCache=new Db;var q=new Set;M.set(v,q)}else q=M.get(v),q===void 0&&(q=new Set,M.set(v,q));q.has($)||(q.add($),p=Xb.bind(null,p,v,$),v.then(p,p))}function Lb(p){do{var v;if((v=p.tag===13)&&(v=p.memoizedState,v=v!==null?v.dehydrated!==null:!0),v)return p;p=p.return}while(p!==null);return null}function Ti(p,v,$,M,q){return(p.mode&1)===0?(p===v?p.flags|=65536:(p.flags|=128,$.flags|=131072,$.flags&=-52805,$.tag===1&&($.alternate===null?$.tag=17:(v=Ra(-1,1),v.tag=2,ho($,v,1))),$.lanes|=1),p):(p.flags|=65536,p.lanes=q,p)}var Bb=T.ReactCurrentOwner,Gi=!1;function di(p,v,$,M){v.child=p===null?Yf(v,null,$,M):Ll(v,p.child,$,M)}function mg(p,v,$,M,q){$=$.render;var Z=v.ref;return Bl(v,q),M=uh(p,v,$,M,Z,q),$=dh(),p!==null&&!Gi?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~q,Ia(p,v,q)):(dn&&$&&Tn(v),v.flags|=1,di(p,v,M,q),v.child)}function Yc(p,v,$,M,q){if(p===null){var Z=$.type;return typeof Z=="function"&&!Hh(Z)&&Z.defaultProps===void 0&&$.compare===null&&$.defaultProps===void 0?(v.tag=15,v.type=Z,gg(p,v,Z,M,q)):(p=jd($.type,null,M,v,v.mode,q),p.ref=v.ref,p.return=v,v.child=p)}if(Z=p.child,(p.lanes&q)===0){var de=Z.memoizedProps;if($=$.compare,$=$!==null?$:Dc,$(de,M)&&p.ref===v.ref)return Ia(p,v,q)}return v.flags|=1,p=xo(Z,M),p.ref=v.ref,p.return=v,v.child=p}function gg(p,v,$,M,q){if(p!==null){var Z=p.memoizedProps;if(Dc(Z,M)&&p.ref===v.ref)if(Gi=!1,v.pendingProps=M=Z,(p.lanes&q)!==0)(p.flags&131072)!==0&&(Gi=!0);else return v.lanes=p.lanes,Ia(p,v,q)}return yh(p,v,$,M,q)}function vg(p,v,$){var M=v.pendingProps,q=M.children,Z=p!==null?p.memoizedState:null;if(M.mode==="hidden")if((v.mode&1)===0)v.memoizedState={baseLanes:0,cachePool:null,transitions:null},Gr(Wl,ns),ns|=$;else{if(($&1073741824)===0)return p=Z!==null?Z.baseLanes|$:$,v.lanes=v.childLanes=1073741824,v.memoizedState={baseLanes:p,cachePool:null,transitions:null},v.updateQueue=null,Gr(Wl,ns),ns|=p,null;v.memoizedState={baseLanes:0,cachePool:null,transitions:null},M=Z!==null?Z.baseLanes:$,Gr(Wl,ns),ns|=M}else Z!==null?(M=Z.baseLanes|$,v.memoizedState=null):M=$,Gr(Wl,ns),ns|=M;return di(p,v,q,$),v.child}function yg(p,v){var $=v.ref;(p===null&&$!==null||p!==null&&p.ref!==$)&&(v.flags|=512,v.flags|=2097152)}function yh(p,v,$,M,q){var Z=Fi($)?Vo:Ei.current;return Z=ji(v,Z),Bl(v,q),$=uh(p,v,$,M,Z,q),M=dh(),p!==null&&!Gi?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~q,Ia(p,v,q)):(dn&&M&&Tn(v),v.flags|=1,di(p,v,$,q),v.child)}function bg(p,v,$,M,q){if(Fi($)){var Z=!0;td(v)}else Z=!1;if(Bl(v,q),v.stateNode===null)gd(p,v),ug(v,$,M),mh(v,$,M,q),M=!0;else if(p===null){var de=v.stateNode,ke=v.memoizedProps;de.props=ke;var Ne=de.context,Ke=$.contextType;typeof Ke=="object"&&Ke!==null?Ke=Ss(Ke):(Ke=Fi($)?Vo:Ei.current,Ke=ji(v,Ke));var ft=$.getDerivedStateFromProps,ht=typeof ft=="function"||typeof de.getSnapshotBeforeUpdate=="function";ht||typeof de.UNSAFE_componentWillReceiveProps!="function"&&typeof de.componentWillReceiveProps!="function"||(ke!==M||Ne!==Ke)&&dg(v,de,M,Ke),da=!1;var ct=v.memoizedState;de.state=ct,cd(v,M,de,q),Ne=v.memoizedState,ke!==M||ct!==Ne||zi.current||da?(typeof ft=="function"&&(ha(v,$,ft,M),Ne=v.memoizedState),(ke=da||rl(v,$,ke,M,ct,Ne,Ke))?(ht||typeof de.UNSAFE_componentWillMount!="function"&&typeof de.componentWillMount!="function"||(typeof de.componentWillMount=="function"&&de.componentWillMount(),typeof de.UNSAFE_componentWillMount=="function"&&de.UNSAFE_componentWillMount()),typeof de.componentDidMount=="function"&&(v.flags|=4194308)):(typeof de.componentDidMount=="function"&&(v.flags|=4194308),v.memoizedProps=M,v.memoizedState=Ne),de.props=M,de.state=Ne,de.context=Ke,M=ke):(typeof de.componentDidMount=="function"&&(v.flags|=4194308),M=!1)}else{de=v.stateNode,th(p,v),ke=v.memoizedProps,Ke=v.type===v.elementType?ke:$n(v.type,ke),de.props=Ke,ht=v.pendingProps,ct=de.context,Ne=$.contextType,typeof Ne=="object"&&Ne!==null?Ne=Ss(Ne):(Ne=Fi($)?Vo:Ei.current,Ne=ji(v,Ne));var Ct=$.getDerivedStateFromProps;(ft=typeof Ct=="function"||typeof de.getSnapshotBeforeUpdate=="function")||typeof de.UNSAFE_componentWillReceiveProps!="function"&&typeof de.componentWillReceiveProps!="function"||(ke!==ht||ct!==Ne)&&dg(v,de,M,Ne),da=!1,ct=v.memoizedState,de.state=ct,cd(v,M,de,q);var Mt=v.memoizedState;ke!==ht||ct!==Mt||zi.current||da?(typeof Ct=="function"&&(ha(v,$,Ct,M),Mt=v.memoizedState),(Ke=da||rl(v,$,Ke,M,ct,Mt,Ne)||!1)?(ft||typeof de.UNSAFE_componentWillUpdate!="function"&&typeof de.componentWillUpdate!="function"||(typeof de.componentWillUpdate=="function"&&de.componentWillUpdate(M,Mt,Ne),typeof de.UNSAFE_componentWillUpdate=="function"&&de.UNSAFE_componentWillUpdate(M,Mt,Ne)),typeof de.componentDidUpdate=="function"&&(v.flags|=4),typeof de.getSnapshotBeforeUpdate=="function"&&(v.flags|=1024)):(typeof de.componentDidUpdate!="function"||ke===p.memoizedProps&&ct===p.memoizedState||(v.flags|=4),typeof de.getSnapshotBeforeUpdate!="function"||ke===p.memoizedProps&&ct===p.memoizedState||(v.flags|=1024),v.memoizedProps=M,v.memoizedState=Mt),de.props=M,de.state=Mt,de.context=Ne,M=Ke):(typeof de.componentDidUpdate!="function"||ke===p.memoizedProps&&ct===p.memoizedState||(v.flags|=4),typeof de.getSnapshotBeforeUpdate!="function"||ke===p.memoizedProps&&ct===p.memoizedState||(v.flags|=1024),M=!1)}return bh(p,v,$,M,Z,q)}function bh(p,v,$,M,q,Z){yg(p,v);var de=(v.flags&128)!==0;if(!M&&!de)return q&&Lm(v,$,!1),Ia(p,v,Z);M=v.stateNode,Bb.current=v;var ke=de&&typeof $.getDerivedStateFromError!="function"?null:M.render();return v.flags|=1,p!==null&&de?(v.child=Ll(v,p.child,null,Z),v.child=Ll(v,null,ke,Z)):di(p,v,ke,Z),v.memoizedState=M.state,q&&Lm(v,$,!0),v.child}function xh(p){var v=p.stateNode;v.pendingContext?Im(p,v.pendingContext,v.pendingContext!==v.context):v.context&&Im(p,v.context,!1),rh(p,v.containerInfo)}function xg(p,v,$,M,q){return Xo(),Kf(q),v.flags|=256,di(p,v,$,M),v.child}var wh={dehydrated:null,treeContext:null,retryLane:0};function _h(p){return{baseLanes:p,cachePool:null,transitions:null}}function wg(p,v,$){var M=v.pendingProps,q=mn.current,Z=!1,de=(v.flags&128)!==0,ke;if((ke=de)||(ke=p!==null&&p.memoizedState===null?!1:(q&2)!==0),ke?(Z=!0,v.flags&=-129):(p===null||p.memoizedState!==null)&&(q|=1),Gr(mn,q&1),p===null)return Gf(v),p=v.memoizedState,p!==null&&(p=p.dehydrated,p!==null)?((v.mode&1)===0?v.lanes=1:p.data==="$!"?v.lanes=8:v.lanes=1073741824,null):(de=M.children,p=M.fallback,Z?(M=v.mode,Z=v.child,de={mode:"hidden",children:de},(M&1)===0&&Z!==null?(Z.childLanes=0,Z.pendingProps=de):Z=Td(de,M,0,null),p=Vl(p,M,$,null),Z.return=v,p.return=v,Z.sibling=p,v.child=Z,v.child.memoizedState=_h($),v.memoizedState=wh,p):Jc(v,de));if(q=p.memoizedState,q!==null&&(ke=q.dehydrated,ke!==null))return zb(p,v,de,M,ke,q,$);if(Z){Z=M.fallback,de=v.mode,q=p.child,ke=q.sibling;var Ne={mode:"hidden",children:M.children};return(de&1)===0&&v.child!==q?(M=v.child,M.childLanes=0,M.pendingProps=Ne,v.deletions=null):(M=xo(q,Ne),M.subtreeFlags=q.subtreeFlags&14680064),ke!==null?Z=xo(ke,Z):(Z=Vl(Z,de,$,null),Z.flags|=2),Z.return=v,M.return=v,M.sibling=Z,v.child=M,M=Z,Z=v.child,de=p.child.memoizedState,de=de===null?_h($):{baseLanes:de.baseLanes|$,cachePool:null,transitions:de.transitions},Z.memoizedState=de,Z.childLanes=p.childLanes&~$,v.memoizedState=wh,M}return Z=p.child,p=Z.sibling,M=xo(Z,{mode:"visible",children:M.children}),(v.mode&1)===0&&(M.lanes=$),M.return=v,M.sibling=null,p!==null&&($=v.deletions,$===null?(v.deletions=[p],v.flags|=16):$.push(p)),v.child=M,v.memoizedState=null,M}function Jc(p,v){return v=Td({mode:"visible",children:v},p.mode,0,null),v.return=p,p.child=v}function md(p,v,$,M){return M!==null&&Kf(M),Ll(v,p.child,null,$),p=Jc(v,v.pendingProps.children),p.flags|=2,v.memoizedState=null,p}function zb(p,v,$,M,q,Z,de){if($)return v.flags&256?(v.flags&=-257,M=gh(Error(n(422))),md(p,v,de,M)):v.memoizedState!==null?(v.child=p.child,v.flags|=128,null):(Z=M.fallback,q=v.mode,M=Td({mode:"visible",children:M.children},q,0,null),Z=Vl(Z,q,de,null),Z.flags|=2,M.return=v,Z.return=v,M.sibling=Z,v.child=M,(v.mode&1)!==0&&Ll(v,p.child,null,de),v.child.memoizedState=_h(de),v.memoizedState=wh,Z);if((v.mode&1)===0)return md(p,v,de,null);if(q.data==="$!"){if(M=q.nextSibling&&q.nextSibling.dataset,M)var ke=M.dgst;return M=ke,Z=Error(n(419)),M=gh(Z,M,void 0),md(p,v,de,M)}if(ke=(de&p.childLanes)!==0,Gi||ke){if(M=On,M!==null){switch(de&-de){case 4:q=2;break;case 16:q=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:q=32;break;case 536870912:q=268435456;break;default:q=0}q=(q&(M.suspendedLanes|de))!==0?0:q,q!==0&&q!==Z.retryLane&&(Z.retryLane=q,Pa(p,q),Ks(M,p,q,-1))}return Wh(),M=gh(Error(n(421))),md(p,v,de,M)}return q.data==="$?"?(v.flags|=128,v.child=p.child,v=Jb.bind(null,p),q._reactRetry=v,null):(p=Z.treeContext,rs=lo(q.nextSibling),Wi=v,dn=!0,Hi=null,p!==null&&(ws[Ws++]=Ui,ws[Ws++]=qi,ws[Ws++]=_s,Ui=p.id,qi=p.overflow,_s=v),v=Jc(v,M.children),v.flags|=4096,v)}function _g(p,v,$){p.lanes|=v;var M=p.alternate;M!==null&&(M.lanes|=v),Um(p.return,v,$)}function Sh(p,v,$,M,q){var Z=p.memoizedState;Z===null?p.memoizedState={isBackwards:v,rendering:null,renderingStartTime:0,last:M,tail:$,tailMode:q}:(Z.isBackwards=v,Z.rendering=null,Z.renderingStartTime=0,Z.last=M,Z.tail=$,Z.tailMode=q)}function kh(p,v,$){var M=v.pendingProps,q=M.revealOrder,Z=M.tail;if(di(p,v,M.children,$),M=mn.current,(M&2)!==0)M=M&1|2,v.flags|=128;else{if(p!==null&&(p.flags&128)!==0)e:for(p=v.child;p!==null;){if(p.tag===13)p.memoizedState!==null&&_g(p,$,v);else if(p.tag===19)_g(p,$,v);else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===v)break e;for(;p.sibling===null;){if(p.return===null||p.return===v)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}M&=1}if(Gr(mn,M),(v.mode&1)===0)v.memoizedState=null;else switch(q){case"forwards":for($=v.child,q=null;$!==null;)p=$.alternate,p!==null&&ud(p)===null&&(q=$),$=$.sibling;$=q,$===null?(q=v.child,v.child=null):(q=$.sibling,$.sibling=null),Sh(v,!1,q,$,Z);break;case"backwards":for($=null,q=v.child,v.child=null;q!==null;){if(p=q.alternate,p!==null&&ud(p)===null){v.child=q;break}p=q.sibling,q.sibling=$,$=q,q=p}Sh(v,!0,$,null,Z);break;case"together":Sh(v,!1,null,null,void 0);break;default:v.memoizedState=null}return v.child}function gd(p,v){(v.mode&1)===0&&p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2)}function Ia(p,v,$){if(p!==null&&(v.dependencies=p.dependencies),nl|=v.lanes,($&v.childLanes)===0)return null;if(p!==null&&v.child!==p.child)throw Error(n(153));if(v.child!==null){for(p=v.child,$=xo(p,p.pendingProps),v.child=$,$.return=v;p.sibling!==null;)p=p.sibling,$=$.sibling=xo(p,p.pendingProps),$.return=v;$.sibling=null}return v.child}function H_(p,v,$){switch(v.tag){case 3:xh(v),Xo();break;case 5:qm(v);break;case 1:Fi(v.type)&&td(v);break;case 4:rh(v,v.stateNode.containerInfo);break;case 10:var M=v.type._context,q=v.memoizedProps.value;Gr(Yo,M._currentValue),M._currentValue=q;break;case 13:if(M=v.memoizedState,M!==null)return M.dehydrated!==null?(Gr(mn,mn.current&1),v.flags|=128,null):($&v.child.childLanes)!==0?wg(p,v,$):(Gr(mn,mn.current&1),p=Ia(p,v,$),p!==null?p.sibling:null);Gr(mn,mn.current&1);break;case 19:if(M=($&v.childLanes)!==0,(p.flags&128)!==0){if(M)return kh(p,v,$);v.flags|=128}if(q=v.memoizedState,q!==null&&(q.rendering=null,q.tail=null,q.lastEffect=null),Gr(mn,mn.current),M)break;return null;case 22:case 23:return v.lanes=0,vg(p,v,$)}return Ia(p,v,$)}var Ch,Eh,Sg,kg;Ch=function(p,v){for(var $=v.child;$!==null;){if($.tag===5||$.tag===6)p.appendChild($.stateNode);else if($.tag!==4&&$.child!==null){$.child.return=$,$=$.child;continue}if($===v)break;for(;$.sibling===null;){if($.return===null||$.return===v)return;$=$.return}$.sibling.return=$.return,$=$.sibling}},Eh=function(){},Sg=function(p,v,$,M){var q=p.memoizedProps;if(q!==M){p=v.stateNode,Qo(fa.current);var Z=null;switch($){case"input":q=Le(p,q),M=Le(p,M),Z=[];break;case"select":q=ee({},q,{value:void 0}),M=ee({},M,{value:void 0}),Z=[];break;case"textarea":q=Nr(p,q),M=Nr(p,M),Z=[];break;default:typeof q.onClick!="function"&&typeof M.onClick=="function"&&(p.onclick=Qu)}Di($,M);var de;$=null;for(Ke in q)if(!M.hasOwnProperty(Ke)&&q.hasOwnProperty(Ke)&&q[Ke]!=null)if(Ke==="style"){var ke=q[Ke];for(de in ke)ke.hasOwnProperty(de)&&($||($={}),$[de]="")}else Ke!=="dangerouslySetInnerHTML"&&Ke!=="children"&&Ke!=="suppressContentEditableWarning"&&Ke!=="suppressHydrationWarning"&&Ke!=="autoFocus"&&(s.hasOwnProperty(Ke)?Z||(Z=[]):(Z=Z||[]).push(Ke,null));for(Ke in M){var Ne=M[Ke];if(ke=q!=null?q[Ke]:void 0,M.hasOwnProperty(Ke)&&Ne!==ke&&(Ne!=null||ke!=null))if(Ke==="style")if(ke){for(de in ke)!ke.hasOwnProperty(de)||Ne&&Ne.hasOwnProperty(de)||($||($={}),$[de]="");for(de in Ne)Ne.hasOwnProperty(de)&&ke[de]!==Ne[de]&&($||($={}),$[de]=Ne[de])}else $||(Z||(Z=[]),Z.push(Ke,$)),$=Ne;else Ke==="dangerouslySetInnerHTML"?(Ne=Ne?Ne.__html:void 0,ke=ke?ke.__html:void 0,Ne!=null&&ke!==Ne&&(Z=Z||[]).push(Ke,Ne)):Ke==="children"?typeof Ne!="string"&&typeof Ne!="number"||(Z=Z||[]).push(Ke,""+Ne):Ke!=="suppressContentEditableWarning"&&Ke!=="suppressHydrationWarning"&&(s.hasOwnProperty(Ke)?(Ne!=null&&Ke==="onScroll"&&Jr("scroll",p),Z||ke===Ne||(Z=[])):(Z=Z||[]).push(Ke,Ne))}$&&(Z=Z||[]).push("style",$);var Ke=Z;(v.updateQueue=Ke)&&(v.flags|=4)}},kg=function(p,v,$,M){$!==M&&(v.flags|=4)};function vd(p,v){if(!dn)switch(p.tailMode){case"hidden":v=p.tail;for(var $=null;v!==null;)v.alternate!==null&&($=v),v=v.sibling;$===null?p.tail=null:$.sibling=null;break;case"collapsed":$=p.tail;for(var M=null;$!==null;)$.alternate!==null&&(M=$),$=$.sibling;M===null?v||p.tail===null?p.tail=null:p.tail.sibling=null:M.sibling=null}}function fi(p){var v=p.alternate!==null&&p.alternate.child===p.child,$=0,M=0;if(v)for(var q=p.child;q!==null;)$|=q.lanes|q.childLanes,M|=q.subtreeFlags&14680064,M|=q.flags&14680064,q.return=p,q=q.sibling;else for(q=p.child;q!==null;)$|=q.lanes|q.childLanes,M|=q.subtreeFlags,M|=q.flags,q.return=p,q=q.sibling;return p.subtreeFlags|=M,p.childLanes=$,v}function Fb(p,v,$){var M=v.pendingProps;switch(Uf(v),v.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return fi(v),null;case 1:return Fi(v.type)&&ed(),fi(v),null;case 3:return M=v.stateNode,Zo(),Qr(zi),Qr(Ei),sh(),M.pendingContext&&(M.context=M.pendingContext,M.pendingContext=null),(p===null||p.child===null)&&(Hc(v)?v.flags|=4:p===null||p.memoizedState.isDehydrated&&(v.flags&256)===0||(v.flags|=1024,Hi!==null&&(Fh(Hi),Hi=null))),Eh(p,v),fi(v),null;case 5:nh(v);var q=Qo(Fl.current);if($=v.type,p!==null&&v.stateNode!=null)Sg(p,v,$,M,q),p.ref!==v.ref&&(v.flags|=512,v.flags|=2097152);else{if(!M){if(v.stateNode===null)throw Error(n(166));return fi(v),null}if(p=Qo(fa.current),Hc(v)){M=v.stateNode,$=v.type;var Z=v.memoizedProps;switch(M[ca]=v,M[qc]=Z,p=(v.mode&1)!==0,$){case"dialog":Jr("cancel",M),Jr("close",M);break;case"iframe":case"object":case"embed":Jr("load",M);break;case"video":case"audio":for(q=0;q<zc.length;q++)Jr(zc[q],M);break;case"source":Jr("error",M);break;case"img":case"image":case"link":Jr("error",M),Jr("load",M);break;case"details":Jr("toggle",M);break;case"input":Ze(M,Z),Jr("invalid",M);break;case"select":M._wrapperState={wasMultiple:!!Z.multiple},Jr("invalid",M);break;case"textarea":wr(M,Z),Jr("invalid",M)}Di($,Z),q=null;for(var de in Z)if(Z.hasOwnProperty(de)){var ke=Z[de];de==="children"?typeof ke=="string"?M.textContent!==ke&&(Z.suppressHydrationWarning!==!0&&Ju(M.textContent,ke,p),q=["children",ke]):typeof ke=="number"&&M.textContent!==""+ke&&(Z.suppressHydrationWarning!==!0&&Ju(M.textContent,ke,p),q=["children",""+ke]):s.hasOwnProperty(de)&&ke!=null&&de==="onScroll"&&Jr("scroll",M)}switch($){case"input":Ge(M),dr(M,Z,!0);break;case"textarea":Ge(M),Wr(M);break;case"select":case"option":break;default:typeof Z.onClick=="function"&&(M.onclick=Qu)}M=q,v.updateQueue=M,M!==null&&(v.flags|=4)}else{de=q.nodeType===9?q:q.ownerDocument,p==="http://www.w3.org/1999/xhtml"&&(p=ii($)),p==="http://www.w3.org/1999/xhtml"?$==="script"?(p=de.createElement("div"),p.innerHTML="<script><\/script>",p=p.removeChild(p.firstChild)):typeof M.is=="string"?p=de.createElement($,{is:M.is}):(p=de.createElement($),$==="select"&&(de=p,M.multiple?de.multiple=!0:M.size&&(de.size=M.size))):p=de.createElementNS(p,$),p[ca]=v,p[qc]=M,Ch(p,v,!1,!1),v.stateNode=p;e:{switch(de=Cr($,M),$){case"dialog":Jr("cancel",p),Jr("close",p),q=M;break;case"iframe":case"object":case"embed":Jr("load",p),q=M;break;case"video":case"audio":for(q=0;q<zc.length;q++)Jr(zc[q],p);q=M;break;case"source":Jr("error",p),q=M;break;case"img":case"image":case"link":Jr("error",p),Jr("load",p),q=M;break;case"details":Jr("toggle",p),q=M;break;case"input":Ze(p,M),q=Le(p,M),Jr("invalid",p);break;case"option":q=M;break;case"select":p._wrapperState={wasMultiple:!!M.multiple},q=ee({},M,{value:void 0}),Jr("invalid",p);break;case"textarea":wr(p,M),q=Nr(p,M),Jr("invalid",p);break;default:q=M}Di($,q),ke=q;for(Z in ke)if(ke.hasOwnProperty(Z)){var Ne=ke[Z];Z==="style"?yi(p,Ne):Z==="dangerouslySetInnerHTML"?(Ne=Ne?Ne.__html:void 0,Ne!=null&&vt(p,Ne)):Z==="children"?typeof Ne=="string"?($!=="textarea"||Ne!=="")&&Et(p,Ne):typeof Ne=="number"&&Et(p,""+Ne):Z!=="suppressContentEditableWarning"&&Z!=="suppressHydrationWarning"&&Z!=="autoFocus"&&(s.hasOwnProperty(Z)?Ne!=null&&Z==="onScroll"&&Jr("scroll",p):Ne!=null&&C(p,Z,Ne,de))}switch($){case"input":Ge(p),dr(p,M,!1);break;case"textarea":Ge(p),Wr(p);break;case"option":M.value!=null&&p.setAttribute("value",""+ie(M.value));break;case"select":p.multiple=!!M.multiple,Z=M.value,Z!=null?cr(p,!!M.multiple,Z,!1):M.defaultValue!=null&&cr(p,!!M.multiple,M.defaultValue,!0);break;default:typeof q.onClick=="function"&&(p.onclick=Qu)}switch($){case"button":case"input":case"select":case"textarea":M=!!M.autoFocus;break e;case"img":M=!0;break e;default:M=!1}}M&&(v.flags|=4)}v.ref!==null&&(v.flags|=512,v.flags|=2097152)}return fi(v),null;case 6:if(p&&v.stateNode!=null)kg(p,v,p.memoizedProps,M);else{if(typeof M!="string"&&v.stateNode===null)throw Error(n(166));if($=Qo(Fl.current),Qo(fa.current),Hc(v)){if(M=v.stateNode,$=v.memoizedProps,M[ca]=v,(Z=M.nodeValue!==$)&&(p=Wi,p!==null))switch(p.tag){case 3:Ju(M.nodeValue,$,(p.mode&1)!==0);break;case 5:p.memoizedProps.suppressHydrationWarning!==!0&&Ju(M.nodeValue,$,(p.mode&1)!==0)}Z&&(v.flags|=4)}else M=($.nodeType===9?$:$.ownerDocument).createTextNode(M),M[ca]=v,v.stateNode=M}return fi(v),null;case 13:if(Qr(mn),M=v.memoizedState,p===null||p.memoizedState!==null&&p.memoizedState.dehydrated!==null){if(dn&&rs!==null&&(v.mode&1)!==0&&(v.flags&128)===0)zm(),Xo(),v.flags|=98560,Z=!1;else if(Z=Hc(v),M!==null&&M.dehydrated!==null){if(p===null){if(!Z)throw Error(n(318));if(Z=v.memoizedState,Z=Z!==null?Z.dehydrated:null,!Z)throw Error(n(317));Z[ca]=v}else Xo(),(v.flags&128)===0&&(v.memoizedState=null),v.flags|=4;fi(v),Z=!1}else Hi!==null&&(Fh(Hi),Hi=null),Z=!0;if(!Z)return v.flags&65536?v:null}return(v.flags&128)!==0?(v.lanes=$,v):(M=M!==null,M!==(p!==null&&p.memoizedState!==null)&&M&&(v.child.flags|=8192,(v.mode&1)!==0&&(p===null||(mn.current&1)!==0?Fn===0&&(Fn=3):Wh())),v.updateQueue!==null&&(v.flags|=4),fi(v),null);case 4:return Zo(),Eh(p,v),p===null&&Fc(v.stateNode.containerInfo),fi(v),null;case 10:return Zf(v.type._context),fi(v),null;case 17:return Fi(v.type)&&ed(),fi(v),null;case 19:if(Qr(mn),Z=v.memoizedState,Z===null)return fi(v),null;if(M=(v.flags&128)!==0,de=Z.rendering,de===null)if(M)vd(Z,!1);else{if(Fn!==0||p!==null&&(p.flags&128)!==0)for(p=v.child;p!==null;){if(de=ud(p),de!==null){for(v.flags|=128,vd(Z,!1),M=de.updateQueue,M!==null&&(v.updateQueue=M,v.flags|=4),v.subtreeFlags=0,M=$,$=v.child;$!==null;)Z=$,p=M,Z.flags&=14680066,de=Z.alternate,de===null?(Z.childLanes=0,Z.lanes=p,Z.child=null,Z.subtreeFlags=0,Z.memoizedProps=null,Z.memoizedState=null,Z.updateQueue=null,Z.dependencies=null,Z.stateNode=null):(Z.childLanes=de.childLanes,Z.lanes=de.lanes,Z.child=de.child,Z.subtreeFlags=0,Z.deletions=null,Z.memoizedProps=de.memoizedProps,Z.memoizedState=de.memoizedState,Z.updateQueue=de.updateQueue,Z.type=de.type,p=de.dependencies,Z.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext}),$=$.sibling;return Gr(mn,mn.current&1|2),v.child}p=p.sibling}Z.tail!==null&&Yr()>Hl&&(v.flags|=128,M=!0,vd(Z,!1),v.lanes=4194304)}else{if(!M)if(p=ud(de),p!==null){if(v.flags|=128,M=!0,$=p.updateQueue,$!==null&&(v.updateQueue=$,v.flags|=4),vd(Z,!0),Z.tail===null&&Z.tailMode==="hidden"&&!de.alternate&&!dn)return fi(v),null}else 2*Yr()-Z.renderingStartTime>Hl&&$!==1073741824&&(v.flags|=128,M=!0,vd(Z,!1),v.lanes=4194304);Z.isBackwards?(de.sibling=v.child,v.child=de):($=Z.last,$!==null?$.sibling=de:v.child=de,Z.last=de)}return Z.tail!==null?(v=Z.tail,Z.rendering=v,Z.tail=v.sibling,Z.renderingStartTime=Yr(),v.sibling=null,$=mn.current,Gr(mn,M?$&1|2:$&1),v):(fi(v),null);case 22:case 23:return qh(),M=v.memoizedState!==null,p!==null&&p.memoizedState!==null!==M&&(v.flags|=8192),M&&(v.mode&1)!==0?(ns&1073741824)!==0&&(fi(v),v.subtreeFlags&6&&(v.flags|=8192)):fi(v),null;case 24:return null;case 25:return null}throw Error(n(156,v.tag))}function Ub(p,v){switch(Uf(v),v.tag){case 1:return Fi(v.type)&&ed(),p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 3:return Zo(),Qr(zi),Qr(Ei),sh(),p=v.flags,(p&65536)!==0&&(p&128)===0?(v.flags=p&-65537|128,v):null;case 5:return nh(v),null;case 13:if(Qr(mn),p=v.memoizedState,p!==null&&p.dehydrated!==null){if(v.alternate===null)throw Error(n(340));Xo()}return p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 19:return Qr(mn),null;case 4:return Zo(),null;case 10:return Zf(v.type._context),null;case 22:case 23:return qh(),null;case 24:return null;default:return null}}var jh=!1,hi=!1,qb=typeof WeakSet=="function"?WeakSet:Set,Rt=null;function ql(p,v){var $=p.ref;if($!==null)if(typeof $=="function")try{$(null)}catch(M){gn(p,v,M)}else $.current=null}function Th(p,v,$){try{$()}catch(M){gn(p,v,M)}}var Cg=!1;function Wb(p,v){if(Rf=ao,p=Ef(),jf(p)){if("selectionStart"in p)var $={start:p.selectionStart,end:p.selectionEnd};else e:{$=($=p.ownerDocument)&&$.defaultView||window;var M=$.getSelection&&$.getSelection();if(M&&M.rangeCount!==0){$=M.anchorNode;var q=M.anchorOffset,Z=M.focusNode;M=M.focusOffset;try{$.nodeType,Z.nodeType}catch{$=null;break e}var de=0,ke=-1,Ne=-1,Ke=0,ft=0,ht=p,ct=null;t:for(;;){for(var Ct;ht!==$||q!==0&&ht.nodeType!==3||(ke=de+q),ht!==Z||M!==0&&ht.nodeType!==3||(Ne=de+M),ht.nodeType===3&&(de+=ht.nodeValue.length),(Ct=ht.firstChild)!==null;)ct=ht,ht=Ct;for(;;){if(ht===p)break t;if(ct===$&&++Ke===q&&(ke=de),ct===Z&&++ft===M&&(Ne=de),(Ct=ht.nextSibling)!==null)break;ht=ct,ct=ht.parentNode}ht=Ct}$=ke===-1||Ne===-1?null:{start:ke,end:Ne}}else $=null}$=$||{start:0,end:0}}else $=null;for(Mf={focusedElem:p,selectionRange:$},ao=!1,Rt=v;Rt!==null;)if(v=Rt,p=v.child,(v.subtreeFlags&1028)!==0&&p!==null)p.return=v,Rt=p;else for(;Rt!==null;){v=Rt;try{var Mt=v.alternate;if((v.flags&1024)!==0)switch(v.tag){case 0:case 11:case 15:break;case 1:if(Mt!==null){var Dt=Mt.memoizedProps,Vr=Mt.memoizedState,qe=v.stateNode,Ie=qe.getSnapshotBeforeUpdate(v.elementType===v.type?Dt:$n(v.type,Dt),Vr);qe.__reactInternalSnapshotBeforeUpdate=Ie}break;case 3:var Xe=v.stateNode.containerInfo;Xe.nodeType===1?Xe.textContent="":Xe.nodeType===9&&Xe.documentElement&&Xe.removeChild(Xe.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(yt){gn(v,v.return,yt)}if(p=v.sibling,p!==null){p.return=v.return,Rt=p;break}Rt=v.return}return Mt=Cg,Cg=!1,Mt}function Qc(p,v,$){var M=v.updateQueue;if(M=M!==null?M.lastEffect:null,M!==null){var q=M=M.next;do{if((q.tag&p)===p){var Z=q.destroy;q.destroy=void 0,Z!==void 0&&Th(v,$,Z)}q=q.next}while(q!==M)}}function Ah(p,v){if(v=v.updateQueue,v=v!==null?v.lastEffect:null,v!==null){var $=v=v.next;do{if(($.tag&p)===p){var M=$.create;$.destroy=M()}$=$.next}while($!==v)}}function $h(p){var v=p.ref;if(v!==null){var $=p.stateNode;switch(p.tag){case 5:p=$;break;default:p=$}typeof v=="function"?v(p):v.current=p}}function Eg(p){var v=p.alternate;v!==null&&(p.alternate=null,Eg(v)),p.child=null,p.deletions=null,p.sibling=null,p.tag===5&&(v=p.stateNode,v!==null&&(delete v[ca],delete v[qc],delete v[Bf],delete v[Rm],delete v[Mm])),p.stateNode=null,p.return=null,p.dependencies=null,p.memoizedProps=null,p.memoizedState=null,p.pendingProps=null,p.stateNode=null,p.updateQueue=null}function jg(p){return p.tag===5||p.tag===3||p.tag===4}function Tg(p){e:for(;;){for(;p.sibling===null;){if(p.return===null||jg(p.return))return null;p=p.return}for(p.sibling.return=p.return,p=p.sibling;p.tag!==5&&p.tag!==6&&p.tag!==18;){if(p.flags&2||p.child===null||p.tag===4)continue e;p.child.return=p,p=p.child}if(!(p.flags&2))return p.stateNode}}function Oh(p,v,$){var M=p.tag;if(M===5||M===6)p=p.stateNode,v?$.nodeType===8?$.parentNode.insertBefore(p,v):$.insertBefore(p,v):($.nodeType===8?(v=$.parentNode,v.insertBefore(p,$)):(v=$,v.appendChild(p)),$=$._reactRootContainer,$!=null||v.onclick!==null||(v.onclick=Qu));else if(M!==4&&(p=p.child,p!==null))for(Oh(p,v,$),p=p.sibling;p!==null;)Oh(p,v,$),p=p.sibling}function Nh(p,v,$){var M=p.tag;if(M===5||M===6)p=p.stateNode,v?$.insertBefore(p,v):$.appendChild(p);else if(M!==4&&(p=p.child,p!==null))for(Nh(p,v,$),p=p.sibling;p!==null;)Nh(p,v,$),p=p.sibling}var Qn=null,Gs=!1;function mo(p,v,$){for($=$.child;$!==null;)Hb(p,v,$),$=$.sibling}function Hb(p,v,$){if(lr&&typeof lr.onCommitFiberUnmount=="function")try{lr.onCommitFiberUnmount(_t,$)}catch{}switch($.tag){case 5:hi||ql($,v);case 6:var M=Qn,q=Gs;Qn=null,mo(p,v,$),Qn=M,Gs=q,Qn!==null&&(Gs?(p=Qn,$=$.stateNode,p.nodeType===8?p.parentNode.removeChild($):p.removeChild($)):Qn.removeChild($.stateNode));break;case 18:Qn!==null&&(Gs?(p=Qn,$=$.stateNode,p.nodeType===8?Lf(p.parentNode,$):p.nodeType===1&&Lf(p,$),Aa(p)):Lf(Qn,$.stateNode));break;case 4:M=Qn,q=Gs,Qn=$.stateNode.containerInfo,Gs=!0,mo(p,v,$),Qn=M,Gs=q;break;case 0:case 11:case 14:case 15:if(!hi&&(M=$.updateQueue,M!==null&&(M=M.lastEffect,M!==null))){q=M=M.next;do{var Z=q,de=Z.destroy;Z=Z.tag,de!==void 0&&((Z&2)!==0||(Z&4)!==0)&&Th($,v,de),q=q.next}while(q!==M)}mo(p,v,$);break;case 1:if(!hi&&(ql($,v),M=$.stateNode,typeof M.componentWillUnmount=="function"))try{M.props=$.memoizedProps,M.state=$.memoizedState,M.componentWillUnmount()}catch(ke){gn($,v,ke)}mo(p,v,$);break;case 21:mo(p,v,$);break;case 22:$.mode&1?(hi=(M=hi)||$.memoizedState!==null,mo(p,v,$),hi=M):mo(p,v,$);break;default:mo(p,v,$)}}function Zc(p){var v=p.updateQueue;if(v!==null){p.updateQueue=null;var $=p.stateNode;$===null&&($=p.stateNode=new qb),v.forEach(function(M){var q=Qb.bind(null,p,M);$.has(M)||($.add(M),M.then(q,q))})}}function Cs(p,v){var $=v.deletions;if($!==null)for(var M=0;M<$.length;M++){var q=$[M];try{var Z=p,de=v,ke=de;e:for(;ke!==null;){switch(ke.tag){case 5:Qn=ke.stateNode,Gs=!1;break e;case 3:Qn=ke.stateNode.containerInfo,Gs=!0;break e;case 4:Qn=ke.stateNode.containerInfo,Gs=!0;break e}ke=ke.return}if(Qn===null)throw Error(n(160));Hb(Z,de,q),Qn=null,Gs=!1;var Ne=q.alternate;Ne!==null&&(Ne.return=null),q.return=null}catch(Ke){gn(q,v,Ke)}}if(v.subtreeFlags&12854)for(v=v.child;v!==null;)Ph(v,p),v=v.sibling}function Ph(p,v){var $=p.alternate,M=p.flags;switch(p.tag){case 0:case 11:case 14:case 15:if(Cs(v,p),Vs(p),M&4){try{Qc(3,p,p.return),Ah(3,p)}catch(Dt){gn(p,p.return,Dt)}try{Qc(5,p,p.return)}catch(Dt){gn(p,p.return,Dt)}}break;case 1:Cs(v,p),Vs(p),M&512&&$!==null&&ql($,$.return);break;case 5:if(Cs(v,p),Vs(p),M&512&&$!==null&&ql($,$.return),p.flags&32){var q=p.stateNode;try{Et(q,"")}catch(Dt){gn(p,p.return,Dt)}}if(M&4&&(q=p.stateNode,q!=null)){var Z=p.memoizedProps,de=$!==null?$.memoizedProps:Z,ke=p.type,Ne=p.updateQueue;if(p.updateQueue=null,Ne!==null)try{ke==="input"&&Z.type==="radio"&&Z.name!=null&&ut(q,Z),Cr(ke,de);var Ke=Cr(ke,Z);for(de=0;de<Ne.length;de+=2){var ft=Ne[de],ht=Ne[de+1];ft==="style"?yi(q,ht):ft==="dangerouslySetInnerHTML"?vt(q,ht):ft==="children"?Et(q,ht):C(q,ft,ht,Ke)}switch(ke){case"input":dt(q,Z);break;case"textarea":nn(q,Z);break;case"select":var ct=q._wrapperState.wasMultiple;q._wrapperState.wasMultiple=!!Z.multiple;var Ct=Z.value;Ct!=null?cr(q,!!Z.multiple,Ct,!1):ct!==!!Z.multiple&&(Z.defaultValue!=null?cr(q,!!Z.multiple,Z.defaultValue,!0):cr(q,!!Z.multiple,Z.multiple?[]:"",!1))}q[qc]=Z}catch(Dt){gn(p,p.return,Dt)}}break;case 6:if(Cs(v,p),Vs(p),M&4){if(p.stateNode===null)throw Error(n(162));q=p.stateNode,Z=p.memoizedProps;try{q.nodeValue=Z}catch(Dt){gn(p,p.return,Dt)}}break;case 3:if(Cs(v,p),Vs(p),M&4&&$!==null&&$.memoizedState.isDehydrated)try{Aa(v.containerInfo)}catch(Dt){gn(p,p.return,Dt)}break;case 4:Cs(v,p),Vs(p);break;case 13:Cs(v,p),Vs(p),q=p.child,q.flags&8192&&(Z=q.memoizedState!==null,q.stateNode.isHidden=Z,!Z||q.alternate!==null&&q.alternate.memoizedState!==null||(Dh=Yr())),M&4&&Zc(p);break;case 22:if(ft=$!==null&&$.memoizedState!==null,p.mode&1?(hi=(Ke=hi)||ft,Cs(v,p),hi=Ke):Cs(v,p),Vs(p),M&8192){if(Ke=p.memoizedState!==null,(p.stateNode.isHidden=Ke)&&!ft&&(p.mode&1)!==0)for(Rt=p,ft=p.child;ft!==null;){for(ht=Rt=ft;Rt!==null;){switch(ct=Rt,Ct=ct.child,ct.tag){case 0:case 11:case 14:case 15:Qc(4,ct,ct.return);break;case 1:ql(ct,ct.return);var Mt=ct.stateNode;if(typeof Mt.componentWillUnmount=="function"){M=ct,$=ct.return;try{v=M,Mt.props=v.memoizedProps,Mt.state=v.memoizedState,Mt.componentWillUnmount()}catch(Dt){gn(M,$,Dt)}}break;case 5:ql(ct,ct.return);break;case 22:if(ct.memoizedState!==null){Rh(ht);continue}}Ct!==null?(Ct.return=ct,Rt=Ct):Rh(ht)}ft=ft.sibling}e:for(ft=null,ht=p;;){if(ht.tag===5){if(ft===null){ft=ht;try{q=ht.stateNode,Ke?(Z=q.style,typeof Z.setProperty=="function"?Z.setProperty("display","none","important"):Z.display="none"):(ke=ht.stateNode,Ne=ht.memoizedProps.style,de=Ne!=null&&Ne.hasOwnProperty("display")?Ne.display:null,ke.style.display=Ir("display",de))}catch(Dt){gn(p,p.return,Dt)}}}else if(ht.tag===6){if(ft===null)try{ht.stateNode.nodeValue=Ke?"":ht.memoizedProps}catch(Dt){gn(p,p.return,Dt)}}else if((ht.tag!==22&&ht.tag!==23||ht.memoizedState===null||ht===p)&&ht.child!==null){ht.child.return=ht,ht=ht.child;continue}if(ht===p)break e;for(;ht.sibling===null;){if(ht.return===null||ht.return===p)break e;ft===ht&&(ft=null),ht=ht.return}ft===ht&&(ft=null),ht.sibling.return=ht.return,ht=ht.sibling}}break;case 19:Cs(v,p),Vs(p),M&4&&Zc(p);break;case 21:break;default:Cs(v,p),Vs(p)}}function Vs(p){var v=p.flags;if(v&2){try{e:{for(var $=p.return;$!==null;){if(jg($)){var M=$;break e}$=$.return}throw Error(n(160))}switch(M.tag){case 5:var q=M.stateNode;M.flags&32&&(Et(q,""),M.flags&=-33);var Z=Tg(p);Nh(p,Z,q);break;case 3:case 4:var de=M.stateNode.containerInfo,ke=Tg(p);Oh(p,ke,de);break;default:throw Error(n(161))}}catch(Ne){gn(p,p.return,Ne)}p.flags&=-3}v&4096&&(p.flags&=-4097)}function Ag(p,v,$){Rt=p,$g(p)}function $g(p,v,$){for(var M=(p.mode&1)!==0;Rt!==null;){var q=Rt,Z=q.child;if(q.tag===22&&M){var de=q.memoizedState!==null||jh;if(!de){var ke=q.alternate,Ne=ke!==null&&ke.memoizedState!==null||hi;ke=jh;var Ke=hi;if(jh=de,(hi=Ne)&&!Ke)for(Rt=q;Rt!==null;)de=Rt,Ne=de.child,de.tag===22&&de.memoizedState!==null?Mh(q):Ne!==null?(Ne.return=de,Rt=Ne):Mh(q);for(;Z!==null;)Rt=Z,$g(Z),Z=Z.sibling;Rt=q,jh=ke,hi=Ke}Og(p)}else(q.subtreeFlags&8772)!==0&&Z!==null?(Z.return=q,Rt=Z):Og(p)}}function Og(p){for(;Rt!==null;){var v=Rt;if((v.flags&8772)!==0){var $=v.alternate;try{if((v.flags&8772)!==0)switch(v.tag){case 0:case 11:case 15:hi||Ah(5,v);break;case 1:var M=v.stateNode;if(v.flags&4&&!hi)if($===null)M.componentDidMount();else{var q=v.elementType===v.type?$.memoizedProps:$n(v.type,$.memoizedProps);M.componentDidUpdate(q,$.memoizedState,M.__reactInternalSnapshotBeforeUpdate)}var Z=v.updateQueue;Z!==null&&Ab(v,Z,M);break;case 3:var de=v.updateQueue;if(de!==null){if($=null,v.child!==null)switch(v.child.tag){case 5:$=v.child.stateNode;break;case 1:$=v.child.stateNode}Ab(v,de,$)}break;case 5:var ke=v.stateNode;if($===null&&v.flags&4){$=ke;var Ne=v.memoizedProps;switch(v.type){case"button":case"input":case"select":case"textarea":Ne.autoFocus&&$.focus();break;case"img":Ne.src&&($.src=Ne.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(v.memoizedState===null){var Ke=v.alternate;if(Ke!==null){var ft=Ke.memoizedState;if(ft!==null){var ht=ft.dehydrated;ht!==null&&Aa(ht)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(n(163))}hi||v.flags&512&&$h(v)}catch(ct){gn(v,v.return,ct)}}if(v===p){Rt=null;break}if($=v.sibling,$!==null){$.return=v.return,Rt=$;break}Rt=v.return}}function Rh(p){for(;Rt!==null;){var v=Rt;if(v===p){Rt=null;break}var $=v.sibling;if($!==null){$.return=v.return,Rt=$;break}Rt=v.return}}function Mh(p){for(;Rt!==null;){var v=Rt;try{switch(v.tag){case 0:case 11:case 15:var $=v.return;try{Ah(4,v)}catch(Ne){gn(v,$,Ne)}break;case 1:var M=v.stateNode;if(typeof M.componentDidMount=="function"){var q=v.return;try{M.componentDidMount()}catch(Ne){gn(v,q,Ne)}}var Z=v.return;try{$h(v)}catch(Ne){gn(v,Z,Ne)}break;case 5:var de=v.return;try{$h(v)}catch(Ne){gn(v,de,Ne)}}}catch(Ne){gn(v,v.return,Ne)}if(v===p){Rt=null;break}var ke=v.sibling;if(ke!==null){ke.return=v.return,Rt=ke;break}Rt=v.return}}var Gb=Math.ceil,yd=T.ReactCurrentDispatcher,bd=T.ReactCurrentOwner,Es=T.ReactCurrentBatchConfig,jr=0,On=null,jn=null,Zn=0,ns=0,Wl=Oa(0),Fn=0,eu=null,nl=0,xd=0,Ih=0,wd=null,Vi=null,Dh=0,Hl=1/0,go=null,_d=!1,Lh=null,vo=null,Sd=!1,il=null,kd=0,tu=0,Bh=null,ru=-1,Cd=0;function Ai(){return(jr&6)!==0?Yr():ru!==-1?ru:ru=Yr()}function yo(p){return(p.mode&1)===0?1:(jr&2)!==0&&Zn!==0?Zn&-Zn:Xf.transition!==null?(Cd===0&&(Cd=na()),Cd):(p=gr,p!==0||(p=window.event,p=p===void 0?16:he(p.type)),p)}function Ks(p,v,$,M){if(50<tu)throw tu=0,Bh=null,Error(n(185));Ds(p,$,M),((jr&2)===0||p!==On)&&(p===On&&((jr&2)===0&&(xd|=$),Fn===4&&bo(p,Zn)),Ki(p,M),$===1&&jr===0&&(v.mode&1)===0&&(Hl=Yr()+500,rd&&uo()))}function Ki(p,v){var $=p.callbackNode;ms(p,v);var M=Is(p,p===On?Zn:0);if(M===0)$!==null&&Dn($),p.callbackNode=null,p.callbackPriority=0;else if(v=M&-M,p.callbackPriority!==v){if($!=null&&Dn($),v===1)p.tag===0?U_(Rg.bind(null,p)):Bm(Rg.bind(null,p)),Cb(function(){(jr&6)===0&&uo()}),$=null;else{switch(zt(M)){case 1:$=kn;break;case 4:$=bn;break;case 16:$=jt;break;case 536870912:$=it;break;default:$=jt}$=zg($,Ng.bind(null,p))}p.callbackPriority=v,p.callbackNode=$}}function Ng(p,v){if(ru=-1,Cd=0,(jr&6)!==0)throw Error(n(327));var $=p.callbackNode;if(Gl()&&p.callbackNode!==$)return null;var M=Is(p,p===On?Zn:0);if(M===0)return null;if((M&30)!==0||(M&p.expiredLanes)!==0||v)v=Ed(p,M);else{v=M;var q=jr;jr|=2;var Z=Vb();(On!==p||Zn!==v)&&(go=null,Hl=Yr()+500,al(p,v));do try{G_();break}catch(ke){Mg(p,ke)}while(!0);Qf(),yd.current=Z,jr=q,jn!==null?v=0:(On=null,Zn=0,v=Fn)}if(v!==0){if(v===2&&(q=Uo(p),q!==0&&(M=q,v=zh(p,q))),v===1)throw $=eu,al(p,0),bo(p,M),Ki(p,Yr()),$;if(v===6)bo(p,M);else{if(q=p.current.alternate,(M&30)===0&&!Pg(q)&&(v=Ed(p,M),v===2&&(Z=Uo(p),Z!==0&&(M=Z,v=zh(p,Z))),v===1))throw $=eu,al(p,0),bo(p,M),Ki(p,Yr()),$;switch(p.finishedWork=q,p.finishedLanes=M,v){case 0:case 1:throw Error(n(345));case 2:ol(p,Vi,go);break;case 3:if(bo(p,M),(M&130023424)===M&&(v=Dh+500-Yr(),10<v)){if(Is(p,0)!==0)break;if(q=p.suspendedLanes,(q&M)!==M){Ai(),p.pingedLanes|=p.suspendedLanes&q;break}p.timeoutHandle=Df(ol.bind(null,p,Vi,go),v);break}ol(p,Vi,go);break;case 4:if(bo(p,M),(M&4194240)===M)break;for(v=p.eventTimes,q=-1;0<M;){var de=31-fr(M);Z=1<<de,de=v[de],de>q&&(q=de),M&=~Z}if(M=q,M=Yr()-M,M=(120>M?120:480>M?480:1080>M?1080:1920>M?1920:3e3>M?3e3:4320>M?4320:1960*Gb(M/1960))-M,10<M){p.timeoutHandle=Df(ol.bind(null,p,Vi,go),M);break}ol(p,Vi,go);break;case 5:ol(p,Vi,go);break;default:throw Error(n(329))}}}return Ki(p,Yr()),p.callbackNode===$?Ng.bind(null,p):null}function zh(p,v){var $=wd;return p.current.memoizedState.isDehydrated&&(al(p,v).flags|=256),p=Ed(p,v),p!==2&&(v=Vi,Vi=$,v!==null&&Fh(v)),p}function Fh(p){Vi===null?Vi=p:Vi.push.apply(Vi,p)}function Pg(p){for(var v=p;;){if(v.flags&16384){var $=v.updateQueue;if($!==null&&($=$.stores,$!==null))for(var M=0;M<$.length;M++){var q=$[M],Z=q.getSnapshot;q=q.value;try{if(!qs(Z(),q))return!1}catch{return!1}}}if($=v.child,v.subtreeFlags&16384&&$!==null)$.return=v,v=$;else{if(v===p)break;for(;v.sibling===null;){if(v.return===null||v.return===p)return!0;v=v.return}v.sibling.return=v.return,v=v.sibling}}return!0}function bo(p,v){for(v&=~Ih,v&=~xd,p.suspendedLanes|=v,p.pingedLanes&=~v,p=p.expirationTimes;0<v;){var $=31-fr(v),M=1<<$;p[$]=-1,v&=~M}}function Rg(p){if((jr&6)!==0)throw Error(n(327));Gl();var v=Is(p,0);if((v&1)===0)return Ki(p,Yr()),null;var $=Ed(p,v);if(p.tag!==0&&$===2){var M=Uo(p);M!==0&&(v=M,$=zh(p,M))}if($===1)throw $=eu,al(p,0),bo(p,v),Ki(p,Yr()),$;if($===6)throw Error(n(345));return p.finishedWork=p.current.alternate,p.finishedLanes=v,ol(p,Vi,go),Ki(p,Yr()),null}function Uh(p,v){var $=jr;jr|=1;try{return p(v)}finally{jr=$,jr===0&&(Hl=Yr()+500,rd&&uo())}}function sl(p){il!==null&&il.tag===0&&(jr&6)===0&&Gl();var v=jr;jr|=1;var $=Es.transition,M=gr;try{if(Es.transition=null,gr=1,p)return p()}finally{gr=M,Es.transition=$,jr=v,(jr&6)===0&&uo()}}function qh(){ns=Wl.current,Qr(Wl)}function al(p,v){p.finishedWork=null,p.finishedLanes=0;var $=p.timeoutHandle;if($!==-1&&(p.timeoutHandle=-1,kb($)),jn!==null)for($=jn.return;$!==null;){var M=$;switch(Uf(M),M.tag){case 1:M=M.type.childContextTypes,M!=null&&ed();break;case 3:Zo(),Qr(zi),Qr(Ei),sh();break;case 5:nh(M);break;case 4:Zo();break;case 13:Qr(mn);break;case 19:Qr(mn);break;case 10:Zf(M.type._context);break;case 22:case 23:qh()}$=$.return}if(On=p,jn=p=xo(p.current,null),Zn=ns=v,Fn=0,eu=null,Ih=xd=nl=0,Vi=wd=null,zl!==null){for(v=0;v<zl.length;v++)if($=zl[v],M=$.interleaved,M!==null){$.interleaved=null;var q=M.next,Z=$.pending;if(Z!==null){var de=Z.next;Z.next=q,M.next=de}$.pending=M}zl=null}return p}function Mg(p,v){do{var $=jn;try{if(Qf(),ah.current=pd,lh){for(var M=fn.memoizedState;M!==null;){var q=M.queue;q!==null&&(q.pending=null),M=M.next}lh=!1}if(el=0,zn=An=fn=null,tl=!1,po=0,bd.current=null,$===null||$.return===null){Fn=1,eu=v,jn=null;break}e:{var Z=p,de=$.return,ke=$,Ne=v;if(v=Zn,ke.flags|=32768,Ne!==null&&typeof Ne=="object"&&typeof Ne.then=="function"){var Ke=Ne,ft=ke,ht=ft.tag;if((ft.mode&1)===0&&(ht===0||ht===11||ht===15)){var ct=ft.alternate;ct?(ft.updateQueue=ct.updateQueue,ft.memoizedState=ct.memoizedState,ft.lanes=ct.lanes):(ft.updateQueue=null,ft.memoizedState=null)}var Ct=Lb(de);if(Ct!==null){Ct.flags&=-257,Ti(Ct,de,ke,Z,v),Ct.mode&1&&pg(Z,Ke,v),v=Ct,Ne=Ke;var Mt=v.updateQueue;if(Mt===null){var Dt=new Set;Dt.add(Ne),v.updateQueue=Dt}else Mt.add(Ne);break e}else{if((v&1)===0){pg(Z,Ke,v),Wh();break e}Ne=Error(n(426))}}else if(dn&&ke.mode&1){var Vr=Lb(de);if(Vr!==null){(Vr.flags&65536)===0&&(Vr.flags|=256),Ti(Vr,de,ke,Z,v),Kf(Ul(Ne,ke));break e}}Z=Ne=Ul(Ne,ke),Fn!==4&&(Fn=2),wd===null?wd=[Z]:wd.push(Z),Z=de;do{switch(Z.tag){case 3:Z.flags|=65536,v&=-v,Z.lanes|=v;var qe=fg(Z,Ne,v);Tb(Z,qe);break e;case 1:ke=Ne;var Ie=Z.type,Xe=Z.stateNode;if((Z.flags&128)===0&&(typeof Ie.getDerivedStateFromError=="function"||Xe!==null&&typeof Xe.componentDidCatch=="function"&&(vo===null||!vo.has(Xe)))){Z.flags|=65536,v&=-v,Z.lanes|=v;var yt=hg(Z,ke,v);Tb(Z,yt);break e}}Z=Z.return}while(Z!==null)}nu($)}catch(Wt){v=Wt,jn===$&&$!==null&&(jn=$=$.return);continue}break}while(!0)}function Vb(){var p=yd.current;return yd.current=pd,p===null?pd:p}function Wh(){(Fn===0||Fn===3||Fn===2)&&(Fn=4),On===null||(nl&268435455)===0&&(xd&268435455)===0||bo(On,Zn)}function Ed(p,v){var $=jr;jr|=2;var M=Vb();(On!==p||Zn!==v)&&(go=null,al(p,v));do try{Kb();break}catch(q){Mg(p,q)}while(!0);if(Qf(),jr=$,yd.current=M,jn!==null)throw Error(n(261));return On=null,Zn=0,Fn}function Kb(){for(;jn!==null;)Ig(jn)}function G_(){for(;jn!==null&&!Fo();)Ig(jn)}function Ig(p){var v=Bg(p.alternate,p,ns);p.memoizedProps=p.pendingProps,v===null?nu(p):jn=v,bd.current=null}function nu(p){var v=p;do{var $=v.alternate;if(p=v.return,(v.flags&32768)===0){if($=Fb($,v,ns),$!==null){jn=$;return}}else{if($=Ub($,v),$!==null){$.flags&=32767,jn=$;return}if(p!==null)p.flags|=32768,p.subtreeFlags=0,p.deletions=null;else{Fn=6,jn=null;return}}if(v=v.sibling,v!==null){jn=v;return}jn=v=p}while(v!==null);Fn===0&&(Fn=5)}function ol(p,v,$){var M=gr,q=Es.transition;try{Es.transition=null,gr=1,Dg(p,v,$,M)}finally{Es.transition=q,gr=M}return null}function Dg(p,v,$,M){do Gl();while(il!==null);if((jr&6)!==0)throw Error(n(327));$=p.finishedWork;var q=p.finishedLanes;if($===null)return null;if(p.finishedWork=null,p.finishedLanes=0,$===p.current)throw Error(n(177));p.callbackNode=null,p.callbackPriority=0;var Z=$.lanes|$.childLanes;if(Tc(p,Z),p===On&&(jn=On=null,Zn=0),($.subtreeFlags&2064)===0&&($.flags&2064)===0||Sd||(Sd=!0,zg(jt,function(){return Gl(),null})),Z=($.flags&15990)!==0,($.subtreeFlags&15990)!==0||Z){Z=Es.transition,Es.transition=null;var de=gr;gr=1;var ke=jr;jr|=4,bd.current=null,Wb(p,$),Ph($,p),bb(Mf),ao=!!Rf,Mf=Rf=null,p.current=$,Ag($),jl(),jr=ke,gr=de,Es.transition=Z}else p.current=$;if(Sd&&(Sd=!1,il=p,kd=q),Z=p.pendingLanes,Z===0&&(vo=null),mt($.stateNode),Ki(p,Yr()),v!==null)for(M=p.onRecoverableError,$=0;$<v.length;$++)q=v[$],M(q.value,{componentStack:q.stack,digest:q.digest});if(_d)throw _d=!1,p=Lh,Lh=null,p;return(kd&1)!==0&&p.tag!==0&&Gl(),Z=p.pendingLanes,(Z&1)!==0?p===Bh?tu++:(tu=0,Bh=p):tu=0,uo(),null}function Gl(){if(il!==null){var p=zt(kd),v=Es.transition,$=gr;try{if(Es.transition=null,gr=16>p?16:p,il===null)var M=!1;else{if(p=il,il=null,kd=0,(jr&6)!==0)throw Error(n(331));var q=jr;for(jr|=4,Rt=p.current;Rt!==null;){var Z=Rt,de=Z.child;if((Rt.flags&16)!==0){var ke=Z.deletions;if(ke!==null){for(var Ne=0;Ne<ke.length;Ne++){var Ke=ke[Ne];for(Rt=Ke;Rt!==null;){var ft=Rt;switch(ft.tag){case 0:case 11:case 15:Qc(8,ft,Z)}var ht=ft.child;if(ht!==null)ht.return=ft,Rt=ht;else for(;Rt!==null;){ft=Rt;var ct=ft.sibling,Ct=ft.return;if(Eg(ft),ft===Ke){Rt=null;break}if(ct!==null){ct.return=Ct,Rt=ct;break}Rt=Ct}}}var Mt=Z.alternate;if(Mt!==null){var Dt=Mt.child;if(Dt!==null){Mt.child=null;do{var Vr=Dt.sibling;Dt.sibling=null,Dt=Vr}while(Dt!==null)}}Rt=Z}}if((Z.subtreeFlags&2064)!==0&&de!==null)de.return=Z,Rt=de;else e:for(;Rt!==null;){if(Z=Rt,(Z.flags&2048)!==0)switch(Z.tag){case 0:case 11:case 15:Qc(9,Z,Z.return)}var qe=Z.sibling;if(qe!==null){qe.return=Z.return,Rt=qe;break e}Rt=Z.return}}var Ie=p.current;for(Rt=Ie;Rt!==null;){de=Rt;var Xe=de.child;if((de.subtreeFlags&2064)!==0&&Xe!==null)Xe.return=de,Rt=Xe;else e:for(de=Ie;Rt!==null;){if(ke=Rt,(ke.flags&2048)!==0)try{switch(ke.tag){case 0:case 11:case 15:Ah(9,ke)}}catch(Wt){gn(ke,ke.return,Wt)}if(ke===de){Rt=null;break e}var yt=ke.sibling;if(yt!==null){yt.return=ke.return,Rt=yt;break e}Rt=ke.return}}if(jr=q,uo(),lr&&typeof lr.onPostCommitFiberRoot=="function")try{lr.onPostCommitFiberRoot(_t,p)}catch{}M=!0}return M}finally{gr=$,Es.transition=v}}return!1}function Lg(p,v,$){v=Ul($,v),v=fg(p,v,1),p=ho(p,v,1),v=Ai(),p!==null&&(Ds(p,1,v),Ki(p,v))}function gn(p,v,$){if(p.tag===3)Lg(p,p,$);else for(;v!==null;){if(v.tag===3){Lg(v,p,$);break}else if(v.tag===1){var M=v.stateNode;if(typeof v.type.getDerivedStateFromError=="function"||typeof M.componentDidCatch=="function"&&(vo===null||!vo.has(M))){p=Ul($,p),p=hg(v,p,1),v=ho(v,p,1),p=Ai(),v!==null&&(Ds(v,1,p),Ki(v,p));break}}v=v.return}}function Xb(p,v,$){var M=p.pingCache;M!==null&&M.delete(v),v=Ai(),p.pingedLanes|=p.suspendedLanes&$,On===p&&(Zn&$)===$&&(Fn===4||Fn===3&&(Zn&130023424)===Zn&&500>Yr()-Dh?al(p,0):Ih|=$),Ki(p,v)}function Yb(p,v){v===0&&((p.mode&1)===0?v=1:(v=Rr,Rr<<=1,(Rr&130023424)===0&&(Rr=4194304)));var $=Ai();p=Pa(p,v),p!==null&&(Ds(p,v,$),Ki(p,$))}function Jb(p){var v=p.memoizedState,$=0;v!==null&&($=v.retryLane),Yb(p,$)}function Qb(p,v){var $=0;switch(p.tag){case 13:var M=p.stateNode,q=p.memoizedState;q!==null&&($=q.retryLane);break;case 19:M=p.stateNode;break;default:throw Error(n(314))}M!==null&&M.delete(v),Yb(p,$)}var Bg;Bg=function(p,v,$){if(p!==null)if(p.memoizedProps!==v.pendingProps||zi.current)Gi=!0;else{if((p.lanes&$)===0&&(v.flags&128)===0)return Gi=!1,H_(p,v,$);Gi=(p.flags&131072)!==0}else Gi=!1,dn&&(v.flags&1048576)!==0&&Ko(v,id,v.index);switch(v.lanes=0,v.tag){case 2:var M=v.type;gd(p,v),p=v.pendingProps;var q=ji(v,Ei.current);Bl(v,$),q=uh(null,v,M,p,q,$);var Z=dh();return v.flags|=1,typeof q=="object"&&q!==null&&typeof q.render=="function"&&q.$$typeof===void 0?(v.tag=1,v.memoizedState=null,v.updateQueue=null,Fi(M)?(Z=!0,td(v)):Z=!1,v.memoizedState=q.state!==null&&q.state!==void 0?q.state:null,ld(v),q.updater=Ma,v.stateNode=q,q._reactInternals=v,mh(v,M,p,$),v=bh(null,v,M,!0,Z,$)):(v.tag=0,dn&&Z&&Tn(v),di(null,v,q,$),v=v.child),v;case 16:M=v.elementType;e:{switch(gd(p,v),p=v.pendingProps,q=M._init,M=q(M._payload),v.type=M,q=v.tag=Zb(M),p=$n(M,p),q){case 0:v=yh(null,v,M,p,$);break e;case 1:v=bg(null,v,M,p,$);break e;case 11:v=mg(null,v,M,p,$);break e;case 14:v=Yc(null,v,M,$n(M.type,p),$);break e}throw Error(n(306,M,""))}return v;case 0:return M=v.type,q=v.pendingProps,q=v.elementType===M?q:$n(M,q),yh(p,v,M,q,$);case 1:return M=v.type,q=v.pendingProps,q=v.elementType===M?q:$n(M,q),bg(p,v,M,q,$);case 3:e:{if(xh(v),p===null)throw Error(n(387));M=v.pendingProps,Z=v.memoizedState,q=Z.element,th(p,v),cd(v,M,null,$);var de=v.memoizedState;if(M=de.element,Z.isDehydrated)if(Z={element:M,isDehydrated:!1,cache:de.cache,pendingSuspenseBoundaries:de.pendingSuspenseBoundaries,transitions:de.transitions},v.updateQueue.baseState=Z,v.memoizedState=Z,v.flags&256){q=Ul(Error(n(423)),v),v=xg(p,v,M,$,q);break e}else if(M!==q){q=Ul(Error(n(424)),v),v=xg(p,v,M,$,q);break e}else for(rs=lo(v.stateNode.containerInfo.firstChild),Wi=v,dn=!0,Hi=null,$=Yf(v,null,M,$),v.child=$;$;)$.flags=$.flags&-3|4096,$=$.sibling;else{if(Xo(),M===q){v=Ia(p,v,$);break e}di(p,v,M,$)}v=v.child}return v;case 5:return qm(v),p===null&&Gf(v),M=v.type,q=v.pendingProps,Z=p!==null?p.memoizedProps:null,de=q.children,If(M,q)?de=null:Z!==null&&If(M,Z)&&(v.flags|=32),yg(p,v),di(p,v,de,$),v.child;case 6:return p===null&&Gf(v),null;case 13:return wg(p,v,$);case 4:return rh(v,v.stateNode.containerInfo),M=v.pendingProps,p===null?v.child=Ll(v,null,M,$):di(p,v,M,$),v.child;case 11:return M=v.type,q=v.pendingProps,q=v.elementType===M?q:$n(M,q),mg(p,v,M,q,$);case 7:return di(p,v,v.pendingProps,$),v.child;case 8:return di(p,v,v.pendingProps.children,$),v.child;case 12:return di(p,v,v.pendingProps.children,$),v.child;case 10:e:{if(M=v.type._context,q=v.pendingProps,Z=v.memoizedProps,de=q.value,Gr(Yo,M._currentValue),M._currentValue=de,Z!==null)if(qs(Z.value,de)){if(Z.children===q.children&&!zi.current){v=Ia(p,v,$);break e}}else for(Z=v.child,Z!==null&&(Z.return=v);Z!==null;){var ke=Z.dependencies;if(ke!==null){de=Z.child;for(var Ne=ke.firstContext;Ne!==null;){if(Ne.context===M){if(Z.tag===1){Ne=Ra(-1,$&-$),Ne.tag=2;var Ke=Z.updateQueue;if(Ke!==null){Ke=Ke.shared;var ft=Ke.pending;ft===null?Ne.next=Ne:(Ne.next=ft.next,ft.next=Ne),Ke.pending=Ne}}Z.lanes|=$,Ne=Z.alternate,Ne!==null&&(Ne.lanes|=$),Um(Z.return,$,v),ke.lanes|=$;break}Ne=Ne.next}}else if(Z.tag===10)de=Z.type===v.type?null:Z.child;else if(Z.tag===18){if(de=Z.return,de===null)throw Error(n(341));de.lanes|=$,ke=de.alternate,ke!==null&&(ke.lanes|=$),Um(de,$,v),de=Z.sibling}else de=Z.child;if(de!==null)de.return=Z;else for(de=Z;de!==null;){if(de===v){de=null;break}if(Z=de.sibling,Z!==null){Z.return=de.return,de=Z;break}de=de.return}Z=de}di(p,v,q.children,$),v=v.child}return v;case 9:return q=v.type,M=v.pendingProps.children,Bl(v,$),q=Ss(q),M=M(q),v.flags|=1,di(p,v,M,$),v.child;case 14:return M=v.type,q=$n(M,v.pendingProps),q=$n(M.type,q),Yc(p,v,M,q,$);case 15:return gg(p,v,v.type,v.pendingProps,$);case 17:return M=v.type,q=v.pendingProps,q=v.elementType===M?q:$n(M,q),gd(p,v),v.tag=1,Fi(M)?(p=!0,td(v)):p=!1,Bl(v,$),ug(v,M,q),mh(v,M,q,$),bh(null,v,M,!0,p,$);case 19:return kh(p,v,$);case 22:return vg(p,v,$)}throw Error(n(156,v.tag))};function zg(p,v){return xi(p,v)}function V_(p,v,$,M){this.tag=p,this.key=$,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=v,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=M,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function is(p,v,$,M){return new V_(p,v,$,M)}function Hh(p){return p=p.prototype,!(!p||!p.isReactComponent)}function Zb(p){if(typeof p=="function")return Hh(p)?1:0;if(p!=null){if(p=p.$$typeof,p===V)return 11;if(p===H)return 14}return 2}function xo(p,v){var $=p.alternate;return $===null?($=is(p.tag,v,p.key,p.mode),$.elementType=p.elementType,$.type=p.type,$.stateNode=p.stateNode,$.alternate=p,p.alternate=$):($.pendingProps=v,$.type=p.type,$.flags=0,$.subtreeFlags=0,$.deletions=null),$.flags=p.flags&14680064,$.childLanes=p.childLanes,$.lanes=p.lanes,$.child=p.child,$.memoizedProps=p.memoizedProps,$.memoizedState=p.memoizedState,$.updateQueue=p.updateQueue,v=p.dependencies,$.dependencies=v===null?null:{lanes:v.lanes,firstContext:v.firstContext},$.sibling=p.sibling,$.index=p.index,$.ref=p.ref,$}function jd(p,v,$,M,q,Z){var de=2;if(M=p,typeof p=="function")Hh(p)&&(de=1);else if(typeof p=="string")de=5;else e:switch(p){case N:return Vl($.children,q,Z,v);case O:de=8,q|=8;break;case I:return p=is(12,$,v,q|2),p.elementType=I,p.lanes=Z,p;case F:return p=is(13,$,v,q),p.elementType=F,p.lanes=Z,p;case z:return p=is(19,$,v,q),p.elementType=z,p.lanes=Z,p;case se:return Td($,q,Z,v);default:if(typeof p=="object"&&p!==null)switch(p.$$typeof){case W:de=10;break e;case G:de=9;break e;case V:de=11;break e;case H:de=14;break e;case X:de=16,M=null;break e}throw Error(n(130,p==null?p:typeof p,""))}return v=is(de,$,v,q),v.elementType=p,v.type=M,v.lanes=Z,v}function Vl(p,v,$,M){return p=is(7,p,M,v),p.lanes=$,p}function Td(p,v,$,M){return p=is(22,p,M,v),p.elementType=se,p.lanes=$,p.stateNode={isHidden:!1},p}function Gh(p,v,$){return p=is(6,p,null,v),p.lanes=$,p}function Vh(p,v,$){return v=is(4,p.children!==null?p.children:[],p.key,v),v.lanes=$,v.stateNode={containerInfo:p.containerInfo,pendingChildren:null,implementation:p.implementation},v}function K_(p,v,$,M,q){this.tag=v,this.containerInfo=p,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Qe(0),this.expirationTimes=Qe(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qe(0),this.identifierPrefix=M,this.onRecoverableError=q,this.mutableSourceEagerHydrationData=null}function Kh(p,v,$,M,q,Z,de,ke,Ne){return p=new K_(p,v,$,ke,Ne),v===1?(v=1,Z===!0&&(v|=8)):v=0,Z=is(3,null,null,v),p.current=Z,Z.stateNode=p,Z.memoizedState={element:M,isDehydrated:$,cache:null,transitions:null,pendingSuspenseBoundaries:null},ld(Z),p}function X_(p,v,$){var M=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:A,key:M==null?null:""+M,children:p,containerInfo:v,implementation:$}}function Fg(p){if(!p)return co;p=p._reactInternals;e:{if(Ot(p)!==p||p.tag!==1)throw Error(n(170));var v=p;do{switch(v.tag){case 3:v=v.stateNode.context;break e;case 1:if(Fi(v.type)){v=v.stateNode.__reactInternalMemoizedMergedChildContext;break e}}v=v.return}while(v!==null);throw Error(n(171))}if(p.tag===1){var $=p.type;if(Fi($))return Dm(p,$,v)}return v}function ex(p,v,$,M,q,Z,de,ke,Ne){return p=Kh($,M,!0,p,q,Z,de,ke,Ne),p.context=Fg(null),$=p.current,M=Ai(),q=yo($),Z=Ra(M,q),Z.callback=v??null,ho($,Z,q),p.current.lanes=q,Ds(p,q,M),Ki(p,M),p}function Ad(p,v,$,M){var q=v.current,Z=Ai(),de=yo(q);return $=Fg($),v.context===null?v.context=$:v.pendingContext=$,v=Ra(Z,de),v.payload={element:p},M=M===void 0?null:M,M!==null&&(v.callback=M),p=ho(q,v,de),p!==null&&(Ks(p,q,de,Z),Gc(p,q,de)),de}function $d(p){if(p=p.current,!p.child)return null;switch(p.child.tag){case 5:return p.child.stateNode;default:return p.child.stateNode}}function Ug(p,v){if(p=p.memoizedState,p!==null&&p.dehydrated!==null){var $=p.retryLane;p.retryLane=$!==0&&$<v?$:v}}function Xh(p,v){Ug(p,v),(p=p.alternate)&&Ug(p,v)}function tx(){return null}var rx=typeof reportError=="function"?reportError:function(p){console.error(p)};function Yh(p){this._internalRoot=p}Kl.prototype.render=Yh.prototype.render=function(p){var v=this._internalRoot;if(v===null)throw Error(n(409));Ad(p,v,null,null)},Kl.prototype.unmount=Yh.prototype.unmount=function(){var p=this._internalRoot;if(p!==null){this._internalRoot=null;var v=p.containerInfo;sl(function(){Ad(null,p,null,null)}),v[ua]=null}};function Kl(p){this._internalRoot=p}Kl.prototype.unstable_scheduleHydration=function(p){if(p){var v=eo();p={blockedOn:null,target:p,priority:v};for(var $=0;$<Ls.length&&v!==0&&v<Ls[$].priority;$++);Ls.splice($,0,p),$===0&&Ac(p)}};function Jh(p){return!(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)}function Od(p){return!(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11&&(p.nodeType!==8||p.nodeValue!==" react-mount-point-unstable "))}function nx(){}function ix(p,v,$,M,q){if(q){if(typeof M=="function"){var Z=M;M=function(){var Ke=$d(de);Z.call(Ke)}}var de=ex(v,M,p,0,null,!1,!1,"",nx);return p._reactRootContainer=de,p[ua]=de.current,Fc(p.nodeType===8?p.parentNode:p),sl(),de}for(;q=p.lastChild;)p.removeChild(q);if(typeof M=="function"){var ke=M;M=function(){var Ke=$d(Ne);ke.call(Ke)}}var Ne=Kh(p,0,!1,null,null,!1,!1,"",nx);return p._reactRootContainer=Ne,p[ua]=Ne.current,Fc(p.nodeType===8?p.parentNode:p),sl(function(){Ad(v,Ne,$,M)}),Ne}function iu(p,v,$,M,q){var Z=$._reactRootContainer;if(Z){var de=Z;if(typeof q=="function"){var ke=q;q=function(){var Ne=$d(de);ke.call(Ne)}}Ad(v,de,p,q)}else de=ix($,v,p,q,M);return $d(de)}ia=function(p){switch(p.tag){case 3:var v=p.stateNode;if(v.current.memoizedState.isDehydrated){var $=ps(v.pendingLanes);$!==0&&(Tl(v,$|1),Ki(v,Yr()),(jr&6)===0&&(Hl=Yr()+500,uo()))}break;case 13:sl(function(){var M=Pa(p,1);if(M!==null){var q=Ai();Ks(M,p,1,q)}}),Xh(p,1)}},Ea=function(p){if(p.tag===13){var v=Pa(p,134217728);if(v!==null){var $=Ai();Ks(v,p,134217728,$)}Xh(p,134217728)}},ja=function(p){if(p.tag===13){var v=yo(p),$=Pa(p,v);if($!==null){var M=Ai();Ks($,p,v,M)}Xh(p,v)}},eo=function(){return gr},qo=function(p,v){var $=gr;try{return gr=p,v()}finally{gr=$}},Ve=function(p,v,$){switch(v){case"input":if(dt(p,$),v=$.name,$.type==="radio"&&v!=null){for($=p;$.parentNode;)$=$.parentNode;for($=$.querySelectorAll("input[name="+JSON.stringify(""+v)+'][type="radio"]'),v=0;v<$.length;v++){var M=$[v];if(M!==p&&M.form===p.form){var q=Zu(M);if(!q)throw Error(n(90));Me(M),dt(M,q)}}}break;case"textarea":nn(p,$);break;case"select":v=$.value,v!=null&&cr(p,!!$.multiple,v,!1)}},sn=Uh,Li=sl;var qg={usingClientEntryPoint:!1,Events:[Wc,Pl,Zu,Pr,Xr,Uh]},Xs={findFiberByHostInstance:Go,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},sx={bundleType:Xs.bundleType,version:Xs.version,rendererPackageName:Xs.rendererPackageName,rendererConfig:Xs.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:T.ReactCurrentDispatcher,findHostInstanceByFiber:function(p){return p=fs(p),p===null?null:p.stateNode},findFiberByHostInstance:Xs.findFiberByHostInstance||tx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var su=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!su.isDisabled&&su.supportsFiber)try{_t=su.inject(sx),lr=su}catch{}}return Ys.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=qg,Ys.createPortal=function(p,v){var $=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Jh(v))throw Error(n(200));return X_(p,v,null,$)},Ys.createRoot=function(p,v){if(!Jh(p))throw Error(n(299));var $=!1,M="",q=rx;return v!=null&&(v.unstable_strictMode===!0&&($=!0),v.identifierPrefix!==void 0&&(M=v.identifierPrefix),v.onRecoverableError!==void 0&&(q=v.onRecoverableError)),v=Kh(p,1,!1,null,null,$,!1,M,q),p[ua]=v.current,Fc(p.nodeType===8?p.parentNode:p),new Yh(v)},Ys.findDOMNode=function(p){if(p==null)return null;if(p.nodeType===1)return p;var v=p._reactInternals;if(v===void 0)throw typeof p.render=="function"?Error(n(188)):(p=Object.keys(p).join(","),Error(n(268,p)));return p=fs(v),p=p===null?null:p.stateNode,p},Ys.flushSync=function(p){return sl(p)},Ys.hydrate=function(p,v,$){if(!Od(v))throw Error(n(200));return iu(null,p,v,!0,$)},Ys.hydrateRoot=function(p,v,$){if(!Jh(p))throw Error(n(405));var M=$!=null&&$.hydratedSources||null,q=!1,Z="",de=rx;if($!=null&&($.unstable_strictMode===!0&&(q=!0),$.identifierPrefix!==void 0&&(Z=$.identifierPrefix),$.onRecoverableError!==void 0&&(de=$.onRecoverableError)),v=ex(v,null,p,1,$??null,q,!1,Z,de),p[ua]=v.current,Fc(p),M)for(p=0;p<M.length;p++)$=M[p],q=$._getVersion,q=q($._source),v.mutableSourceEagerHydrationData==null?v.mutableSourceEagerHydrationData=[$,q]:v.mutableSourceEagerHydrationData.push($,q);return new Kl(v)},Ys.render=function(p,v,$){if(!Od(v))throw Error(n(200));return iu(null,p,v,!1,$)},Ys.unmountComponentAtNode=function(p){if(!Od(p))throw Error(n(40));return p._reactRootContainer?(sl(function(){iu(null,null,p,!1,function(){p._reactRootContainer=null,p[ua]=null})}),!0):!1},Ys.unstable_batchedUpdates=Uh,Ys.unstable_renderSubtreeIntoContainer=function(p,v,$,M){if(!Od($))throw Error(n(200));if(p==null||p._reactInternals===void 0)throw Error(n(38));return iu(p,v,$,!1,M)},Ys.version="18.3.1-next-f1338f8080-20240426",Ys}var b$;function N5(){if(b$)return e1.exports;b$=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(r){console.error(r)}}return e(),e1.exports=Z8(),e1.exports}var x$;function eU(){if(x$)return lx;x$=1;var e=N5();return lx.createRoot=e.createRoot,lx.hydrateRoot=e.hydrateRoot,lx}var tU=eU();const rU=rn(tU);var B=gT();const Fe=rn(B),w$=e=>{let r;const n=new Set,i=(f,m)=>{const h=typeof f=="function"?f(r):f;if(!Object.is(h,r)){const y=r;r=m??(typeof h!="object"||h===null)?h:Object.assign({},r,h),n.forEach(x=>x(r,y))}},s=()=>r,o={setState:i,getState:s,getInitialState:()=>u,subscribe:f=>(n.add(f),()=>n.delete(f))},u=r=e(i,s,o);return o},nU=(e=>e?w$(e):w$),iU=e=>e;function sU(e,r=iU){const n=Fe.useSyncExternalStore(e.subscribe,Fe.useCallback(()=>r(e.getState()),[e,r]),Fe.useCallback(()=>r(e.getInitialState()),[e,r]));return Fe.useDebugValue(n),n}const _$=e=>{const r=nU(e),n=i=>sU(r,i);return Object.assign(n,r),n},Mn=(e=>e?_$(e):_$);function Io(e){return"'"+e.replace(/'/g,"'\\''")+"'"}const n1=({sessionId:e})=>`claude --dangerously-skip-permissions --session-id ${Io(e)}`,S$=({sessionId:e})=>`claude --session-id ${Io(e)}`,aU=()=>"claude --resume",P5=[{id:"sm-dangerous",label:"Session Manager (skip perms)",description:"claude --dangerously-skip-permissions in this project",category:"build",cwd:"app-cwd",command:n1},{id:"sm-safe",label:"Session Manager (safe)",description:"claude with normal permission prompts in this project",category:"build",cwd:"app-cwd",command:S$},{id:"home-dangerous",label:"Home (skip perms)",description:"claude --dangerously-skip-permissions in ~",category:"build",cwd:"home",command:n1},{id:"pick-dangerous",label:"Pick directory (skip perms)…",description:"Choose a folder, launch claude --dangerously-skip-permissions",category:"build",cwd:"pick",command:n1},{id:"pick-safe",label:"Pick directory (safe)…",description:"Choose a folder, launch claude with normal prompts",category:"build",cwd:"pick",command:S$},{id:"pick-resume",label:"Pick directory + resume…",description:"Choose a folder, then pick a past session to resume",category:"build",cwd:"pick",command:aU},{id:"pick-shell",label:"Pick directory (shell only)…",description:"Bare interactive shell, no claude auto-launch",category:"build",cwd:"pick",command:null}];let La=null;async function oU(){if(La)return La;try{const e=await window.api.app.engageRulesPath();if(!e)return La=[],La;const r=await window.api.config.readJson(e);if(!r.exists||r.parseError||!r.data)return La=[],La;const n=r.data;if(!n.presets||!Array.isArray(n.presets))return La=[],La;const i=n.projectPath;return La=n.presets.map(s=>({id:s.id,label:s.label,description:s.description,category:"engage",cwd:i,platform:s.platform,pipeline:s.pipeline,rules:s.rules,command:()=>`cd ${Io(i)} && ${s.cliEntry}`})),La}catch(e){return console.warn("[presets] Failed to load engage presets:",e),La=[],La}}async function R5(e){const r=P5.find(i=>i.id===e);return r||((await oU()).find(i=>i.id===e)??null)}async function lU(e){return e.cwd==="app-cwd"?window.api.app.cwd():e.cwd==="home"?window.api.app.homeDir():e.cwd==="pick"?window.api.app.pickDirectory():e.cwd}function M5(e,r){return e.command?e.command(r):null}function cU(e){const r=e.split("/").filter(Boolean);return r[r.length-1]||e}const Qt=Mn((e,r)=>({tabs:[],activeTabId:null,hydrated:!1,addTab:({id:n,cwd:i,startupCommand:s,presetId:a=null,label:l})=>{const o=n??crypto.randomUUID();if(r().tabs.find(m=>m.id===o))return e({activeTabId:o}),o;const f={id:o,claudeSessionId:o,label:l??cU(i),cwd:i,pid:null,status:"spawning",exitCode:null,startupCommand:s,presetId:a,generation:0};return e({tabs:[...r().tabs,f],activeTabId:o}),o},setTabRunning:(n,i)=>e({tabs:r().tabs.map(s=>s.id===n?{...s,pid:i,status:"running"}:s)}),setTabExited:(n,i)=>e({tabs:r().tabs.map(s=>s.id===n?{...s,status:"exited",exitCode:i}:s)}),closeTab:n=>{var a;window.api.pty.kill(n),window.api.watchers.killTab(n).catch(()=>{}),window.api.transcripts.closeTab(n).catch(()=>{});const i=r().tabs.filter(l=>l.id!==n),s=r().activeTabId===n?((a=i[i.length-1])==null?void 0:a.id)??null:r().activeTabId;e({tabs:i,activeTabId:s})},setActive:n=>e({activeTabId:n}),restartTab:n=>{const i=r().tabs.find(l=>l.id===n);if(!i)return;window.api.pty.kill(n);const s=crypto.randomUUID(),a=l=>{e({tabs:r().tabs.map(o=>o.id===n?{...o,claudeSessionId:s,pid:null,status:"spawning",exitCode:null,startupCommand:l,generation:o.generation+1}:o)})};i.presetId?R5(i.presetId).then(l=>{a(l?M5(l,{sessionId:s,cwd:i.cwd}):`claude --dangerously-skip-permissions --session-id ${Io(s)}`)}):a(`claude --dangerously-skip-permissions --session-id ${Io(s)}`)},reorderTab:(n,i)=>{const s=[...r().tabs];if(n<0||n>=s.length||i<0||i>=s.length||n===i)return;const[a]=s.splice(n,1);s.splice(i,0,a),e({tabs:s})},restoreTabs:(n,i)=>e({tabs:n,activeTabId:i,hydrated:!0})}));async function I5(){var n;if(Qt.getState().hydrated)return;try{const{tabs:i,activeTabId:s,freshStart:a}=await window.api.sessions.load();if(i.length>0){const l=await Promise.all(i.map(async u=>{let f=!a;if(f){const h=await window.api.transcripts.pathFor(u.cwd,u.claudeSessionId);f=await window.api.config.exists(h)}const m=f?u.claudeSessionId:crypto.randomUUID();return{id:u.id,claudeSessionId:m,cwd:u.cwd,label:u.label,presetId:u.presetId,pid:null,status:"spawning",exitCode:null,startupCommand:f?`claude --dangerously-skip-permissions --resume ${Io(m)}`:`claude --dangerously-skip-permissions --session-id ${Io(m)}`,generation:0}})),o=s&&l.find(u=>u.id===s)?s:((n=l[0])==null?void 0:n.id)??null;Qt.getState().restoreTabs(l,o)}else Qt.setState({hydrated:!0})}catch(i){console.warn("[sessions] hydrate failed:",i),Qt.setState({hydrated:!0})}const e=()=>{const{tabs:i,activeTabId:s}=Qt.getState(),a=i.map(l=>({id:l.id,claudeSessionId:l.claudeSessionId,cwd:l.cwd,label:l.label,presetId:l.presetId}));window.api.sessions.save({tabs:a,activeTabId:s}).catch(l=>{console.warn("[sessions] save failed:",l)})};let r=null;Qt.subscribe((i,s)=>{i.hydrated&&(i.tabs===s.tabs&&i.activeTabId===s.activeTabId||(r!==null&&window.clearTimeout(r),r=window.setTimeout(e,200)))}),e()}const uU=Object.freeze(Object.defineProperty({__proto__:null,hydrateSessions:I5,useSessions:Qt},Symbol.toStringTag,{value:"Module"})),dU=5,k$=100,fU=5e3,iE=new Map;function C$(e){const r=iE.get(e);r!==void 0&&(clearTimeout(r),iE.delete(e))}function hU(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`t-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}const vp=Mn((e,r)=>({toasts:[],history:[],unreadCount:0,show:(n,i)=>{const s=hU(),a=Date.now();e(o=>{const u=[...o.toasts,{id:s,kind:n,message:i,createdAt:a}];for(;u.length>dU;){const h=u.shift();h&&C$(h.id)}const m=[{id:s,kind:n,message:i,createdAt:a,read:!1},...o.history];return m.length>k$&&(m.length=k$),{toasts:u,history:m,unreadCount:o.unreadCount+1}});const l=setTimeout(()=>r().dismiss(s),fU);return iE.set(s,l),s},dismiss:n=>{C$(n),e(i=>({toasts:i.toasts.filter(s=>s.id!==n)}))},markAllRead:()=>{e(n=>n.unreadCount===0?n:{history:n.history.map(i=>i.read?i:{...i,read:!0}),unreadCount:0})},clearHistory:()=>{e({history:[],unreadCount:0})},dismissHistoryEntry:n=>{e(i=>{const s=i.history.filter(l=>l.id!==n);if(s.length===i.history.length)return i;const a=i.history.find(l=>l.id===n&&!l.read);return{history:s,unreadCount:a?Math.max(0,i.unreadCount-1):i.unreadCount}})}})),ot={info:e=>vp.getState().show("info",e),warn:e=>vp.getState().show("warn",e),error:e=>vp.getState().show("error",e)},D5=Object.freeze(Object.defineProperty({__proto__:null,toast:ot,useToast:vp},Symbol.toStringTag,{value:"Module"})),E$=200,pU=/\x1b\[[0-9;]*m/g;function mU(e){return e.replace(pU,"")}const Uv=Mn((e,r)=>({watchers:{},initialized:!1,init:()=>{r().initialized||(e({initialized:!0}),window.api.watchers.onLine(n=>r().ingestLine(n)),window.api.watchers.onClosed(({watcherId:n})=>r().closed(n)))},add:async({tabId:n,label:i,command:s,cwd:a})=>{try{const l=await window.api.watchers.add({tabId:n,label:i,command:s,cwd:a??null}),o={watcherId:l.watcherId,tabId:l.tabId,label:l.label,command:l.command,cwd:l.cwd,pid:l.pid,startedAt:l.startedAt,lineCount:0,lines:[],lastLineAt:null};return e({watchers:{...r().watchers,[o.watcherId]:o}}),o}catch(l){return console.error("[watchers] add failed:",l),ot.error("Failed to add watcher"),null}},remove:async n=>{try{await window.api.watchers.remove(n)}catch(s){console.error("[watchers] remove failed:",s);const a=s instanceof Error?s.message:String(s);ot.error(`Could not remove watcher: ${a}`)}const i={...r().watchers};delete i[n],e({watchers:i})},watchersForTab:n=>Object.values(r().watchers).filter(i=>i.tabId===n),ingestLine:n=>{const i=r().watchers[n.watcherId];if(!i)return;const s=mU(n.line),a=i.lines.length>=E$?[...i.lines.slice(i.lines.length-E$+1),{line:s,ts:n.ts}]:[...i.lines,{line:s,ts:n.ts}];e({watchers:{...r().watchers,[n.watcherId]:{...i,lines:a,lineCount:i.lineCount+1,lastLineAt:n.ts}}})},closed:n=>{if(!r().watchers[n])return;const i={...r().watchers};delete i[n],e({watchers:i})}})),gU=4,j$=40,T$=6;function vU(e){const{onReorder:r,onActivate:n}=e,i=B.useRef(null),s=B.useRef(null),a=B.useRef(0),l=B.useRef(0),[o,u]=B.useState(!1),[,f]=B.useState(0),m=B.useRef(n);m.current=n;const h=B.useCallback(()=>i.current?Array.from(i.current.querySelectorAll("[data-drag-index]")):[],[]),y=B.useCallback((b,w,S)=>{for(let C=0;C<w.length;C++){const T=w[C].left+w[C].width/2;if(b<T)return C<=S?C:C-1}return w.length-1},[]),x=B.useCallback(()=>{const b=s.current,w=i.current;if(!(b!=null&&b.active)||!w)return;const S=w.getBoundingClientRect(),C=b.startX+b.deltaX,T=C-S.left,j=S.right-C;T<j$?w.scrollLeft-=T$:j<j$&&(w.scrollLeft+=T$),a.current=requestAnimationFrame(x)},[]);B.useEffect(()=>{const b=i.current;if(!b)return;let w=!1;const S=()=>{w||(w=!0,l.current=requestAnimationFrame(()=>{w=!1,f(j=>j+1)}))},C=j=>{var W;const A=s.current;if(!A)return;const N=j.clientX-A.startX;if(!A.active&&Math.abs(N)<gU)return;if(!A.active){A.active=!0,A.tabRects=h().map(G=>G.getBoundingClientRect()),u(!0);try{(W=i.current)==null||W.setPointerCapture(A.pointerId)}catch{}a.current=requestAnimationFrame(x)}A.deltaX=N;const O=A.tabRects[A.fromIndex],I=O.left+O.width/2+N;A.currentIndex=y(I,A.tabRects,A.fromIndex),S()},T=j=>{const A=s.current;if(A&&A.pointerId===j.pointerId){cancelAnimationFrame(a.current),cancelAnimationFrame(l.current);try{b.releasePointerCapture(A.pointerId)}catch{}A.active&&A.fromIndex!==A.currentIndex?r(A.fromIndex,A.currentIndex):m.current(A.fromIndex),s.current=null,u(!1),f(N=>N+1)}};return b.addEventListener("pointermove",C),b.addEventListener("pointerup",T),b.addEventListener("pointercancel",T),()=>{b.removeEventListener("pointermove",C),b.removeEventListener("pointerup",T),b.removeEventListener("pointercancel",T),cancelAnimationFrame(a.current),cancelAnimationFrame(l.current)}},[r,h,y,x]);const k=B.useCallback((b,w)=>{b.button!==0||b.target.closest("button")||(s.current={active:!1,fromIndex:w,currentIndex:w,startX:b.clientX,deltaX:0,tabRects:[],pointerId:b.pointerId})},[]);return{getTabDragProps:B.useCallback(b=>{var C;const w=s.current,S={};if(w!=null&&w.active)if(b===w.fromIndex)S.transform=`translateX(${w.deltaX}px) scale(1.03)`,S.zIndex=10,S.opacity=.85,S.boxShadow="0 2px 8px rgba(0,0,0,0.4)",S.position="relative",S.pointerEvents="none";else{const T=w.fromIndex,j=w.currentIndex,N=(((C=w.tabRects[T])==null?void 0:C.width)??0)+4;S.transition="transform 0.15s ease",T<j&&b>T&&b<=j?S.transform=`translateX(-${N}px)`:T>j&&b>=j&&b<T?S.transform=`translateX(${N}px)`:S.transform="translateX(0)"}return{onPointerDown:T=>k(T,b),style:S,"data-drag-index":b}},[k]),isDragging:o,containerRef:i}}const yU=3e4;function bU(){const e=Qt(x=>x.tabs),r=Qt(x=>x.activeTabId),n=Qt(x=>x.closeTab),i=Qt(x=>x.setActive),s=Qt(x=>x.reorderTab),a=Uv(x=>x.watchers),[l,o]=B.useState(()=>Date.now());B.useEffect(()=>{const x=window.setInterval(()=>o(Date.now()),1e3);return()=>window.clearInterval(x)},[]);const u=x=>{for(const k of Object.values(a))if(k.tabId===x&&k.lastLineAt&&l-k.lastLineAt<yU)return!0;return!1},{getTabDragProps:f,isDragging:m,containerRef:h}=vU({tabCount:e.length,onReorder:s,onActivate:x=>{const k=e[x];k&&i(k.id)}}),y=["#6f7d52","#b85c34","#a39079","#7a8466","#5b4a36"];return c.jsxs("div",{className:"h-11 bg-bg-elev border-b border-line flex items-end px-3 gap-0 shrink-0 relative","data-testid":"tour-tabbar",children:[c.jsx("div",{ref:h,className:`flex items-end gap-0.5 overflow-x-auto min-w-0 flex-1 select-none ${m?"cursor-grabbing":""}`,children:e.map((x,k)=>{const _=x.id===r,b=f(k),w=y[k%y.length];return c.jsxs("div",{...b,style:b.style,className:`group flex items-center gap-2 px-3.5 pt-1.5 pb-2 rounded-t-[10px] text-[13px] shrink-0 transition-colors ${m?"":"cursor-grab"} ${_?"bg-bg text-fg font-medium relative z-10 -mb-px border border-b-0 border-line":"text-fg-dim hover:text-fg hover:bg-bg-hi/40"}`,title:x.cwd,"aria-current":_?"true":void 0,children:[c.jsx("span",{className:"w-2 h-2 rounded-full",style:{background:w,boxShadow:"inset 0 0 0 0.5px rgba(0,0,0,0.15)",opacity:x.status==="spawning"?.55:1}}),c.jsx("span",{className:"truncate max-w-[200px]",children:x.label}),x.status==="spawning"&&c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-butter animate-pulse",title:"spawning"}),u(x.id)&&c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse",title:"watcher emitted a line in the last 30s","data-testid":"tab-watcher-dot"}),c.jsx("button",{onClick:S=>{S.stopPropagation(),n(x.id)},className:"text-fg-faint opacity-0 group-hover:opacity-100 hover:text-fg ml-1 leading-none",title:"Close session","aria-label":`Close ${x.label}`,children:"×"})]},x.id)})}),c.jsxs("div",{className:"flex items-center gap-2 pb-2 pl-3 text-[12px] text-fg-faint shrink-0",children:[c.jsx("span",{className:"font-semibold text-fg-dim",children:"Claude Session Manager"}),c.jsxs("span",{className:"font-mono text-[11px] text-fg-faint",children:["v","0.24.0"]})]})]})}function xU(e,r,n){return r?e.map(i=>i.id===r?{...i,lastActivityAt:n}:i):e}function wU(e,r,n){return{tabId:e,sessionUuid:n,cwd:r,path:null,todos:[],lastToolUses:[],plans:[],agents:[],usage:{inputTokens:0,outputTokens:0},lastEventAt:0,activityRing:[],activitySeq:0}}const i0=Mn((e,r)=>({tabs:{},refs:{},unsubs:{},subscribe:(n,i,s)=>{const a={...r().refs};if(a[n]=(a[n]??0)+1,e({refs:a}),a[n]>1)return;e({tabs:{...r().tabs,[n]:wU(n,i,s)}});const l=window.api.transcripts.onEvent(n,o=>r().ingest(n,o));e({unsubs:{...r().unsubs,[n]:l}}),window.api.transcripts.subscribe({tabId:n,cwd:i,sessionUuid:s}).then(async o=>{const u=r().tabs[n];if(!u)return;if(!o.ok){const{toast:m}=await nm(async()=>{const{toast:h}=await Promise.resolve().then(()=>D5);return{toast:h}},void 0,import.meta.url);m.error(`Live view unavailable: ${o.error??"subscribe failed"}`),e({tabs:{...r().tabs,[n]:{...u,path:null}}});return}e({tabs:{...r().tabs,[n]:{...u,path:o.path}}});const f=await window.api.transcripts.buffer(n);for(const m of f)r().ingest(n,m,{replay:!0})}).catch(o=>console.error("[live] transcripts.subscribe failed:",n,o))},unsubscribe:n=>{const i={...r().refs};if(!i[n])return;if(i[n]--,i[n]>0){e({refs:i});return}delete i[n];const s=r().unsubs[n];s==null||s();const a={...r().unsubs};delete a[n];const l={...r().tabs};delete l[n],window.api.transcripts.unsubscribe(n),e({refs:i,unsubs:a,tabs:l})},ingest:(n,i,s)=>{const a=r().tabs[n];if(!a)return;const l=Date.now(),o={...a,lastEventAt:s!=null&&s.replay?a.lastEventAt:l},u=[],f=(m,h)=>m.length>h?m.slice(0,h-1)+"…":m;switch(i.kind){case"todo_write":{const m=Array.isArray(i.data)?i.data:[];o.todos=m,s!=null&&s.replay||u.push({id:0,kind:"todo-update",at:l,label:`Todos · ${m.length} item${m.length!==1?"s":""}`});break}case"tool_use":{const m=i.data,h=m.input,y={};for(const x of["command","file_path","pattern","url","query","subagent_type","description"])h&&x in h&&(y[x]=h[x]);if(o.lastToolUses=[{id:m.id,name:m.name,input:y,at:l},...a.lastToolUses].slice(0,50),!(s!=null&&s.replay)){const x=m.input,k=["Edit","Write","NotebookEdit"].includes(m.name),_=typeof(x==null?void 0:x.file_path)=="string"?x.file_path:void 0,b=typeof(x==null?void 0:x.command)=="string"?x.command:void 0,w=_?_.split("/").pop()??_:b?f(b,28):"";u.push({id:0,kind:"tool-use",at:l,label:w?`${m.name} · ${w}`:m.name,target:_??b,toolName:m.name}),k&&_&&u.push({id:0,kind:"file-edit",at:l,label:`${m.name} · ${f(_.split("/").pop()??_,34)}`,target:_,toolName:m.name})}break}case"plan":{const m=i.data,h=typeof m=="string"?m:(m==null?void 0:m.plan)??JSON.stringify(m);o.plans=[{at:l,content:h??""},...a.plans].slice(0,50),s!=null&&s.replay||u.push({id:0,kind:"plan-revision",at:l,label:"Plan revised"});break}case"agent_spawn":{const m=i.data;o.agents=[{id:m==null?void 0:m.toolUseId,at:l,subagentType:m==null?void 0:m.subagent_type,description:m==null?void 0:m.description,lastActivityAt:l},...a.agents].slice(0,50),s!=null&&s.replay||u.push({id:0,kind:"agent-spawn",at:l,label:m!=null&&m.subagent_type?`Agent: ${f(m.subagent_type,32)}`:"Agent spawned"});break}case"usage":{const m=i.data,h=(a.usage.inputTokens||0)+(a.usage.outputTokens||0),y=m.input_tokens??m.inputTokens??0,x=m.output_tokens??m.outputTokens??0,k=h+y+x;o.usage={inputTokens:(a.usage.inputTokens||0)+y,outputTokens:(a.usage.outputTokens||0)+x,cacheCreationInputTokens:(a.usage.cacheCreationInputTokens||0)+(m.cache_creation_input_tokens??m.cacheCreationInputTokens??0),cacheReadInputTokens:(a.usage.cacheReadInputTokens||0)+(m.cache_read_input_tokens??m.cacheReadInputTokens??0)},!(s!=null&&s.replay)&&Math.floor(k/1e3)>Math.floor(h/1e3)&&u.push({id:0,kind:"usage-tick",at:l,label:`${Math.floor(k/1e3)}k tokens`});break}case"tool_result":{const m=i.data;o.agents=xU(a.agents,m==null?void 0:m.toolUseId,l);break}}if(u.length>0){let m=a.activitySeq;const h=u.map(y=>({...y,id:++m}));o.activitySeq=m,o.activityRing=[...a.activityRing,...h].slice(-32)}e({tabs:{...r().tabs,[n]:o}})}}));function vT(e){const r=i0(s=>s.subscribe),n=i0(s=>s.unsubscribe),i=i0(s=>e?s.tabs[e.id]:void 0);return B.useEffect(()=>{if(e)return r(e.id,e.cwd,e.claudeSessionId),()=>n(e.id)},[e==null?void 0:e.id,e==null?void 0:e.cwd,e==null?void 0:e.claudeSessionId,r,n]),i}var i1={},Gg={},A$;function L5(){if(A$)return Gg;A$=1,Object.defineProperty(Gg,"__esModule",{value:!0}),Gg.baseAssetPath=void 0;const r=typeof window<"u"&&typeof window.document<"u"?window.document.currentScript:null;let n="/";return r&&(n=r.src.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^/]+$/,"/")),Gg.baseAssetPath=n,Gg}var Vg={},$$;function yT(){if($$)return Vg;$$=1,Object.defineProperty(Vg,"__esModule",{value:!0}),Vg.defaultModelFetcher=void 0;const e=r=>fetch(r).then(n=>n.arrayBuffer());return Vg.defaultModelFetcher=e,Vg}var Jl={},Kg={},O$;function Wy(){if(O$)return Kg;O$=1,Object.defineProperty(Kg,"__esModule",{value:!0}),Kg.log=void 0;const e=r=>n=>{console.log(`VAD | ${r} >`,n)};return Kg.log={error:e("error"),debug:e("debug"),warn:e("warn")},Kg}var Xg={},N$;function Vw(){if(N$)return Xg;N$=1,Object.defineProperty(Xg,"__esModule",{value:!0}),Xg.Message=void 0;var e;return(function(r){r.AudioFrame="AUDIO_FRAME",r.SpeechStart="SPEECH_START",r.VADMisfire="VAD_MISFIRE",r.SpeechEnd="SPEECH_END",r.SpeechStop="SPEECH_STOP",r.SpeechRealStart="SPEECH_REAL_START",r.FrameProcessed="FRAME_PROCESSED"})(e||(Xg.Message=e={})),Xg}var P$;function bT(){if(P$)return Jl;P$=1,Object.defineProperty(Jl,"__esModule",{value:!0}),Jl.FrameProcessor=Jl.validateOptions=Jl.defaultFrameProcessorOptions=void 0;const e=Wy(),r=Vw();Jl.defaultFrameProcessorOptions={positiveSpeechThreshold:.3,negativeSpeechThreshold:.25,preSpeechPadMs:800,redemptionMs:1400,minSpeechMs:400,submitUserSpeechOnPause:!1};function n(l){(l.positiveSpeechThreshold<0||l.positiveSpeechThreshold>1)&&e.log.error("positiveSpeechThreshold should be a number between 0 and 1"),(l.negativeSpeechThreshold<0||l.negativeSpeechThreshold>l.positiveSpeechThreshold)&&e.log.error("negativeSpeechThreshold should be between 0 and positiveSpeechThreshold"),l.preSpeechPadMs<0&&e.log.error("preSpeechPadMs should be positive"),l.redemptionMs<0&&e.log.error("redemptionMs should be positive"),l.minSpeechMs<0&&e.log.error("minSpeechMs should be positive")}Jl.validateOptions=n;const i=l=>{const o=l.reduce((f,m)=>(f.push(f.at(-1)+m.length),f),[0]),u=new Float32Array(o.at(-1));return l.forEach((f,m)=>{const h=o[m];u.set(f,h)}),u};function s(l,o){const u=Math.floor(l.redemptionMs/o),f=Math.floor(l.preSpeechPadMs/o),m=Math.floor(l.minSpeechMs/o);return{redemptionFrames:u,preSpeechPadFrames:f,minSpeechFrames:m}}class a{constructor(o,u,f,m){this.modelProcessFunc=o,this.modelResetFunc=u,this.options=f,this.msPerFrame=m,this.speaking=!1,this.redemptionCounter=0,this.speechFrameCount=0,this.active=!1,this.speechRealStartFired=!1,this.setOptions=k=>{this.options={...this.options,...k};const{redemptionFrames:_,preSpeechPadFrames:b,minSpeechFrames:w}=s(this.options,this.msPerFrame);this.redemptionFrames=_,this.preSpeechPadFrames=b,this.minSpeechFrames=w},this.reset=()=>{this.speaking=!1,this.speechRealStartFired=!1,this.audioBuffer=[],this.modelResetFunc(),this.redemptionCounter=0,this.speechFrameCount=0},this.pause=k=>{this.active=!1,this.options.submitUserSpeechOnPause?this.endSegment(k):this.reset()},this.resume=()=>{this.active=!0},this.endSegment=k=>{const _=this.audioBuffer;this.audioBuffer=[];const b=this.speaking;if(this.reset(),b)if(_.reduce((S,C)=>C.isSpeech?S+1:S,0)>=this.minSpeechFrames){const S=i(_.map(C=>C.frame));k({msg:r.Message.SpeechEnd,audio:S})}else k({msg:r.Message.VADMisfire});return{}},this.process=async(k,_)=>{if(!this.active)return;const b=await this.modelProcessFunc(k),w=b.isSpeech>=this.options.positiveSpeechThreshold;if(_({probs:b,msg:r.Message.FrameProcessed,frame:k}),this.audioBuffer.push({frame:k,isSpeech:w}),w&&(this.speechFrameCount++,this.redemptionCounter=0),w&&!this.speaking&&(this.speaking=!0,_({msg:r.Message.SpeechStart})),this.speaking&&this.speechFrameCount===this.minSpeechFrames&&!this.speechRealStartFired&&(this.speechRealStartFired=!0,_({msg:r.Message.SpeechRealStart})),b.isSpeech<this.options.negativeSpeechThreshold&&this.speaking&&++this.redemptionCounter>=this.redemptionFrames){this.redemptionCounter=0,this.speechFrameCount=0,this.speaking=!1,this.speechRealStartFired=!1;const S=this.audioBuffer;if(this.audioBuffer=[],S.reduce((T,j)=>j.isSpeech?T+1:T,0)>=this.minSpeechFrames){const T=i(S.map(j=>j.frame));_({msg:r.Message.SpeechEnd,audio:T})}else _({msg:r.Message.VADMisfire})}if(!this.speaking){for(;this.audioBuffer.length>this.preSpeechPadFrames;)this.audioBuffer.shift();this.speechFrameCount=0}},this.audioBuffer=[];const{redemptionFrames:h,preSpeechPadFrames:y,minSpeechFrames:x}=s(this.options,this.msPerFrame);this.redemptionFrames=h,this.preSpeechPadFrames=y,this.minSpeechFrames=x,this.reset()}}return Jl.FrameProcessor=a,Jl}var Ql={};function Ha(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var s1={exports:{}};/*!
41
+ `+Z.stack}return{value:p,source:v,stack:q,digest:null}}function gh(p,v,$){return{value:p,source:null,stack:$??null,digest:v??null}}function vh(p,v){try{console.error(v.value)}catch($){setTimeout(function(){throw $})}}var Db=typeof WeakMap=="function"?WeakMap:Map;function fg(p,v,$){$=Ra(-1,$),$.tag=3,$.payload={element:null};var M=v.value;return $.callback=function(){_d||(_d=!0,Lh=M),vh(p,v)},$}function hg(p,v,$){$=Ra(-1,$),$.tag=3;var M=p.type.getDerivedStateFromError;if(typeof M=="function"){var q=v.value;$.payload=function(){return M(q)},$.callback=function(){vh(p,v)}}var Z=p.stateNode;return Z!==null&&typeof Z.componentDidCatch=="function"&&($.callback=function(){vh(p,v),typeof M!="function"&&(vo===null?vo=new Set([this]):vo.add(this));var de=v.stack;this.componentDidCatch(v.value,{componentStack:de!==null?de:""})}),$}function pg(p,v,$){var M=p.pingCache;if(M===null){M=p.pingCache=new Db;var q=new Set;M.set(v,q)}else q=M.get(v),q===void 0&&(q=new Set,M.set(v,q));q.has($)||(q.add($),p=Xb.bind(null,p,v,$),v.then(p,p))}function Lb(p){do{var v;if((v=p.tag===13)&&(v=p.memoizedState,v=v!==null?v.dehydrated!==null:!0),v)return p;p=p.return}while(p!==null);return null}function Ti(p,v,$,M,q){return(p.mode&1)===0?(p===v?p.flags|=65536:(p.flags|=128,$.flags|=131072,$.flags&=-52805,$.tag===1&&($.alternate===null?$.tag=17:(v=Ra(-1,1),v.tag=2,ho($,v,1))),$.lanes|=1),p):(p.flags|=65536,p.lanes=q,p)}var Bb=T.ReactCurrentOwner,Gi=!1;function di(p,v,$,M){v.child=p===null?Yf(v,null,$,M):Ll(v,p.child,$,M)}function mg(p,v,$,M,q){$=$.render;var Z=v.ref;return Bl(v,q),M=uh(p,v,$,M,Z,q),$=dh(),p!==null&&!Gi?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~q,Ia(p,v,q)):(dn&&$&&Tn(v),v.flags|=1,di(p,v,M,q),v.child)}function Yc(p,v,$,M,q){if(p===null){var Z=$.type;return typeof Z=="function"&&!Hh(Z)&&Z.defaultProps===void 0&&$.compare===null&&$.defaultProps===void 0?(v.tag=15,v.type=Z,gg(p,v,Z,M,q)):(p=jd($.type,null,M,v,v.mode,q),p.ref=v.ref,p.return=v,v.child=p)}if(Z=p.child,(p.lanes&q)===0){var de=Z.memoizedProps;if($=$.compare,$=$!==null?$:Dc,$(de,M)&&p.ref===v.ref)return Ia(p,v,q)}return v.flags|=1,p=xo(Z,M),p.ref=v.ref,p.return=v,v.child=p}function gg(p,v,$,M,q){if(p!==null){var Z=p.memoizedProps;if(Dc(Z,M)&&p.ref===v.ref)if(Gi=!1,v.pendingProps=M=Z,(p.lanes&q)!==0)(p.flags&131072)!==0&&(Gi=!0);else return v.lanes=p.lanes,Ia(p,v,q)}return yh(p,v,$,M,q)}function vg(p,v,$){var M=v.pendingProps,q=M.children,Z=p!==null?p.memoizedState:null;if(M.mode==="hidden")if((v.mode&1)===0)v.memoizedState={baseLanes:0,cachePool:null,transitions:null},Gr(Wl,ns),ns|=$;else{if(($&1073741824)===0)return p=Z!==null?Z.baseLanes|$:$,v.lanes=v.childLanes=1073741824,v.memoizedState={baseLanes:p,cachePool:null,transitions:null},v.updateQueue=null,Gr(Wl,ns),ns|=p,null;v.memoizedState={baseLanes:0,cachePool:null,transitions:null},M=Z!==null?Z.baseLanes:$,Gr(Wl,ns),ns|=M}else Z!==null?(M=Z.baseLanes|$,v.memoizedState=null):M=$,Gr(Wl,ns),ns|=M;return di(p,v,q,$),v.child}function yg(p,v){var $=v.ref;(p===null&&$!==null||p!==null&&p.ref!==$)&&(v.flags|=512,v.flags|=2097152)}function yh(p,v,$,M,q){var Z=Fi($)?Vo:Ei.current;return Z=ji(v,Z),Bl(v,q),$=uh(p,v,$,M,Z,q),M=dh(),p!==null&&!Gi?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~q,Ia(p,v,q)):(dn&&M&&Tn(v),v.flags|=1,di(p,v,$,q),v.child)}function bg(p,v,$,M,q){if(Fi($)){var Z=!0;td(v)}else Z=!1;if(Bl(v,q),v.stateNode===null)gd(p,v),ug(v,$,M),mh(v,$,M,q),M=!0;else if(p===null){var de=v.stateNode,ke=v.memoizedProps;de.props=ke;var Ne=de.context,Ke=$.contextType;typeof Ke=="object"&&Ke!==null?Ke=Ss(Ke):(Ke=Fi($)?Vo:Ei.current,Ke=ji(v,Ke));var ft=$.getDerivedStateFromProps,ht=typeof ft=="function"||typeof de.getSnapshotBeforeUpdate=="function";ht||typeof de.UNSAFE_componentWillReceiveProps!="function"&&typeof de.componentWillReceiveProps!="function"||(ke!==M||Ne!==Ke)&&dg(v,de,M,Ke),da=!1;var ct=v.memoizedState;de.state=ct,cd(v,M,de,q),Ne=v.memoizedState,ke!==M||ct!==Ne||zi.current||da?(typeof ft=="function"&&(ha(v,$,ft,M),Ne=v.memoizedState),(ke=da||rl(v,$,ke,M,ct,Ne,Ke))?(ht||typeof de.UNSAFE_componentWillMount!="function"&&typeof de.componentWillMount!="function"||(typeof de.componentWillMount=="function"&&de.componentWillMount(),typeof de.UNSAFE_componentWillMount=="function"&&de.UNSAFE_componentWillMount()),typeof de.componentDidMount=="function"&&(v.flags|=4194308)):(typeof de.componentDidMount=="function"&&(v.flags|=4194308),v.memoizedProps=M,v.memoizedState=Ne),de.props=M,de.state=Ne,de.context=Ke,M=ke):(typeof de.componentDidMount=="function"&&(v.flags|=4194308),M=!1)}else{de=v.stateNode,th(p,v),ke=v.memoizedProps,Ke=v.type===v.elementType?ke:$n(v.type,ke),de.props=Ke,ht=v.pendingProps,ct=de.context,Ne=$.contextType,typeof Ne=="object"&&Ne!==null?Ne=Ss(Ne):(Ne=Fi($)?Vo:Ei.current,Ne=ji(v,Ne));var Ct=$.getDerivedStateFromProps;(ft=typeof Ct=="function"||typeof de.getSnapshotBeforeUpdate=="function")||typeof de.UNSAFE_componentWillReceiveProps!="function"&&typeof de.componentWillReceiveProps!="function"||(ke!==ht||ct!==Ne)&&dg(v,de,M,Ne),da=!1,ct=v.memoizedState,de.state=ct,cd(v,M,de,q);var Mt=v.memoizedState;ke!==ht||ct!==Mt||zi.current||da?(typeof Ct=="function"&&(ha(v,$,Ct,M),Mt=v.memoizedState),(Ke=da||rl(v,$,Ke,M,ct,Mt,Ne)||!1)?(ft||typeof de.UNSAFE_componentWillUpdate!="function"&&typeof de.componentWillUpdate!="function"||(typeof de.componentWillUpdate=="function"&&de.componentWillUpdate(M,Mt,Ne),typeof de.UNSAFE_componentWillUpdate=="function"&&de.UNSAFE_componentWillUpdate(M,Mt,Ne)),typeof de.componentDidUpdate=="function"&&(v.flags|=4),typeof de.getSnapshotBeforeUpdate=="function"&&(v.flags|=1024)):(typeof de.componentDidUpdate!="function"||ke===p.memoizedProps&&ct===p.memoizedState||(v.flags|=4),typeof de.getSnapshotBeforeUpdate!="function"||ke===p.memoizedProps&&ct===p.memoizedState||(v.flags|=1024),v.memoizedProps=M,v.memoizedState=Mt),de.props=M,de.state=Mt,de.context=Ne,M=Ke):(typeof de.componentDidUpdate!="function"||ke===p.memoizedProps&&ct===p.memoizedState||(v.flags|=4),typeof de.getSnapshotBeforeUpdate!="function"||ke===p.memoizedProps&&ct===p.memoizedState||(v.flags|=1024),M=!1)}return bh(p,v,$,M,Z,q)}function bh(p,v,$,M,q,Z){yg(p,v);var de=(v.flags&128)!==0;if(!M&&!de)return q&&Lm(v,$,!1),Ia(p,v,Z);M=v.stateNode,Bb.current=v;var ke=de&&typeof $.getDerivedStateFromError!="function"?null:M.render();return v.flags|=1,p!==null&&de?(v.child=Ll(v,p.child,null,Z),v.child=Ll(v,null,ke,Z)):di(p,v,ke,Z),v.memoizedState=M.state,q&&Lm(v,$,!0),v.child}function xh(p){var v=p.stateNode;v.pendingContext?Im(p,v.pendingContext,v.pendingContext!==v.context):v.context&&Im(p,v.context,!1),rh(p,v.containerInfo)}function xg(p,v,$,M,q){return Xo(),Kf(q),v.flags|=256,di(p,v,$,M),v.child}var wh={dehydrated:null,treeContext:null,retryLane:0};function _h(p){return{baseLanes:p,cachePool:null,transitions:null}}function wg(p,v,$){var M=v.pendingProps,q=mn.current,Z=!1,de=(v.flags&128)!==0,ke;if((ke=de)||(ke=p!==null&&p.memoizedState===null?!1:(q&2)!==0),ke?(Z=!0,v.flags&=-129):(p===null||p.memoizedState!==null)&&(q|=1),Gr(mn,q&1),p===null)return Gf(v),p=v.memoizedState,p!==null&&(p=p.dehydrated,p!==null)?((v.mode&1)===0?v.lanes=1:p.data==="$!"?v.lanes=8:v.lanes=1073741824,null):(de=M.children,p=M.fallback,Z?(M=v.mode,Z=v.child,de={mode:"hidden",children:de},(M&1)===0&&Z!==null?(Z.childLanes=0,Z.pendingProps=de):Z=Td(de,M,0,null),p=Vl(p,M,$,null),Z.return=v,p.return=v,Z.sibling=p,v.child=Z,v.child.memoizedState=_h($),v.memoizedState=wh,p):Jc(v,de));if(q=p.memoizedState,q!==null&&(ke=q.dehydrated,ke!==null))return zb(p,v,de,M,ke,q,$);if(Z){Z=M.fallback,de=v.mode,q=p.child,ke=q.sibling;var Ne={mode:"hidden",children:M.children};return(de&1)===0&&v.child!==q?(M=v.child,M.childLanes=0,M.pendingProps=Ne,v.deletions=null):(M=xo(q,Ne),M.subtreeFlags=q.subtreeFlags&14680064),ke!==null?Z=xo(ke,Z):(Z=Vl(Z,de,$,null),Z.flags|=2),Z.return=v,M.return=v,M.sibling=Z,v.child=M,M=Z,Z=v.child,de=p.child.memoizedState,de=de===null?_h($):{baseLanes:de.baseLanes|$,cachePool:null,transitions:de.transitions},Z.memoizedState=de,Z.childLanes=p.childLanes&~$,v.memoizedState=wh,M}return Z=p.child,p=Z.sibling,M=xo(Z,{mode:"visible",children:M.children}),(v.mode&1)===0&&(M.lanes=$),M.return=v,M.sibling=null,p!==null&&($=v.deletions,$===null?(v.deletions=[p],v.flags|=16):$.push(p)),v.child=M,v.memoizedState=null,M}function Jc(p,v){return v=Td({mode:"visible",children:v},p.mode,0,null),v.return=p,p.child=v}function md(p,v,$,M){return M!==null&&Kf(M),Ll(v,p.child,null,$),p=Jc(v,v.pendingProps.children),p.flags|=2,v.memoizedState=null,p}function zb(p,v,$,M,q,Z,de){if($)return v.flags&256?(v.flags&=-257,M=gh(Error(n(422))),md(p,v,de,M)):v.memoizedState!==null?(v.child=p.child,v.flags|=128,null):(Z=M.fallback,q=v.mode,M=Td({mode:"visible",children:M.children},q,0,null),Z=Vl(Z,q,de,null),Z.flags|=2,M.return=v,Z.return=v,M.sibling=Z,v.child=M,(v.mode&1)!==0&&Ll(v,p.child,null,de),v.child.memoizedState=_h(de),v.memoizedState=wh,Z);if((v.mode&1)===0)return md(p,v,de,null);if(q.data==="$!"){if(M=q.nextSibling&&q.nextSibling.dataset,M)var ke=M.dgst;return M=ke,Z=Error(n(419)),M=gh(Z,M,void 0),md(p,v,de,M)}if(ke=(de&p.childLanes)!==0,Gi||ke){if(M=On,M!==null){switch(de&-de){case 4:q=2;break;case 16:q=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:q=32;break;case 536870912:q=268435456;break;default:q=0}q=(q&(M.suspendedLanes|de))!==0?0:q,q!==0&&q!==Z.retryLane&&(Z.retryLane=q,Pa(p,q),Ks(M,p,q,-1))}return Wh(),M=gh(Error(n(421))),md(p,v,de,M)}return q.data==="$?"?(v.flags|=128,v.child=p.child,v=Jb.bind(null,p),q._reactRetry=v,null):(p=Z.treeContext,rs=lo(q.nextSibling),Wi=v,dn=!0,Hi=null,p!==null&&(ws[Ws++]=Ui,ws[Ws++]=qi,ws[Ws++]=_s,Ui=p.id,qi=p.overflow,_s=v),v=Jc(v,M.children),v.flags|=4096,v)}function _g(p,v,$){p.lanes|=v;var M=p.alternate;M!==null&&(M.lanes|=v),Um(p.return,v,$)}function Sh(p,v,$,M,q){var Z=p.memoizedState;Z===null?p.memoizedState={isBackwards:v,rendering:null,renderingStartTime:0,last:M,tail:$,tailMode:q}:(Z.isBackwards=v,Z.rendering=null,Z.renderingStartTime=0,Z.last=M,Z.tail=$,Z.tailMode=q)}function kh(p,v,$){var M=v.pendingProps,q=M.revealOrder,Z=M.tail;if(di(p,v,M.children,$),M=mn.current,(M&2)!==0)M=M&1|2,v.flags|=128;else{if(p!==null&&(p.flags&128)!==0)e:for(p=v.child;p!==null;){if(p.tag===13)p.memoizedState!==null&&_g(p,$,v);else if(p.tag===19)_g(p,$,v);else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===v)break e;for(;p.sibling===null;){if(p.return===null||p.return===v)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}M&=1}if(Gr(mn,M),(v.mode&1)===0)v.memoizedState=null;else switch(q){case"forwards":for($=v.child,q=null;$!==null;)p=$.alternate,p!==null&&ud(p)===null&&(q=$),$=$.sibling;$=q,$===null?(q=v.child,v.child=null):(q=$.sibling,$.sibling=null),Sh(v,!1,q,$,Z);break;case"backwards":for($=null,q=v.child,v.child=null;q!==null;){if(p=q.alternate,p!==null&&ud(p)===null){v.child=q;break}p=q.sibling,q.sibling=$,$=q,q=p}Sh(v,!0,$,null,Z);break;case"together":Sh(v,!1,null,null,void 0);break;default:v.memoizedState=null}return v.child}function gd(p,v){(v.mode&1)===0&&p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2)}function Ia(p,v,$){if(p!==null&&(v.dependencies=p.dependencies),nl|=v.lanes,($&v.childLanes)===0)return null;if(p!==null&&v.child!==p.child)throw Error(n(153));if(v.child!==null){for(p=v.child,$=xo(p,p.pendingProps),v.child=$,$.return=v;p.sibling!==null;)p=p.sibling,$=$.sibling=xo(p,p.pendingProps),$.return=v;$.sibling=null}return v.child}function H_(p,v,$){switch(v.tag){case 3:xh(v),Xo();break;case 5:qm(v);break;case 1:Fi(v.type)&&td(v);break;case 4:rh(v,v.stateNode.containerInfo);break;case 10:var M=v.type._context,q=v.memoizedProps.value;Gr(Yo,M._currentValue),M._currentValue=q;break;case 13:if(M=v.memoizedState,M!==null)return M.dehydrated!==null?(Gr(mn,mn.current&1),v.flags|=128,null):($&v.child.childLanes)!==0?wg(p,v,$):(Gr(mn,mn.current&1),p=Ia(p,v,$),p!==null?p.sibling:null);Gr(mn,mn.current&1);break;case 19:if(M=($&v.childLanes)!==0,(p.flags&128)!==0){if(M)return kh(p,v,$);v.flags|=128}if(q=v.memoizedState,q!==null&&(q.rendering=null,q.tail=null,q.lastEffect=null),Gr(mn,mn.current),M)break;return null;case 22:case 23:return v.lanes=0,vg(p,v,$)}return Ia(p,v,$)}var Ch,Eh,Sg,kg;Ch=function(p,v){for(var $=v.child;$!==null;){if($.tag===5||$.tag===6)p.appendChild($.stateNode);else if($.tag!==4&&$.child!==null){$.child.return=$,$=$.child;continue}if($===v)break;for(;$.sibling===null;){if($.return===null||$.return===v)return;$=$.return}$.sibling.return=$.return,$=$.sibling}},Eh=function(){},Sg=function(p,v,$,M){var q=p.memoizedProps;if(q!==M){p=v.stateNode,Qo(fa.current);var Z=null;switch($){case"input":q=Le(p,q),M=Le(p,M),Z=[];break;case"select":q=ee({},q,{value:void 0}),M=ee({},M,{value:void 0}),Z=[];break;case"textarea":q=Nr(p,q),M=Nr(p,M),Z=[];break;default:typeof q.onClick!="function"&&typeof M.onClick=="function"&&(p.onclick=Qu)}Di($,M);var de;$=null;for(Ke in q)if(!M.hasOwnProperty(Ke)&&q.hasOwnProperty(Ke)&&q[Ke]!=null)if(Ke==="style"){var ke=q[Ke];for(de in ke)ke.hasOwnProperty(de)&&($||($={}),$[de]="")}else Ke!=="dangerouslySetInnerHTML"&&Ke!=="children"&&Ke!=="suppressContentEditableWarning"&&Ke!=="suppressHydrationWarning"&&Ke!=="autoFocus"&&(s.hasOwnProperty(Ke)?Z||(Z=[]):(Z=Z||[]).push(Ke,null));for(Ke in M){var Ne=M[Ke];if(ke=q!=null?q[Ke]:void 0,M.hasOwnProperty(Ke)&&Ne!==ke&&(Ne!=null||ke!=null))if(Ke==="style")if(ke){for(de in ke)!ke.hasOwnProperty(de)||Ne&&Ne.hasOwnProperty(de)||($||($={}),$[de]="");for(de in Ne)Ne.hasOwnProperty(de)&&ke[de]!==Ne[de]&&($||($={}),$[de]=Ne[de])}else $||(Z||(Z=[]),Z.push(Ke,$)),$=Ne;else Ke==="dangerouslySetInnerHTML"?(Ne=Ne?Ne.__html:void 0,ke=ke?ke.__html:void 0,Ne!=null&&ke!==Ne&&(Z=Z||[]).push(Ke,Ne)):Ke==="children"?typeof Ne!="string"&&typeof Ne!="number"||(Z=Z||[]).push(Ke,""+Ne):Ke!=="suppressContentEditableWarning"&&Ke!=="suppressHydrationWarning"&&(s.hasOwnProperty(Ke)?(Ne!=null&&Ke==="onScroll"&&Jr("scroll",p),Z||ke===Ne||(Z=[])):(Z=Z||[]).push(Ke,Ne))}$&&(Z=Z||[]).push("style",$);var Ke=Z;(v.updateQueue=Ke)&&(v.flags|=4)}},kg=function(p,v,$,M){$!==M&&(v.flags|=4)};function vd(p,v){if(!dn)switch(p.tailMode){case"hidden":v=p.tail;for(var $=null;v!==null;)v.alternate!==null&&($=v),v=v.sibling;$===null?p.tail=null:$.sibling=null;break;case"collapsed":$=p.tail;for(var M=null;$!==null;)$.alternate!==null&&(M=$),$=$.sibling;M===null?v||p.tail===null?p.tail=null:p.tail.sibling=null:M.sibling=null}}function fi(p){var v=p.alternate!==null&&p.alternate.child===p.child,$=0,M=0;if(v)for(var q=p.child;q!==null;)$|=q.lanes|q.childLanes,M|=q.subtreeFlags&14680064,M|=q.flags&14680064,q.return=p,q=q.sibling;else for(q=p.child;q!==null;)$|=q.lanes|q.childLanes,M|=q.subtreeFlags,M|=q.flags,q.return=p,q=q.sibling;return p.subtreeFlags|=M,p.childLanes=$,v}function Fb(p,v,$){var M=v.pendingProps;switch(Uf(v),v.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return fi(v),null;case 1:return Fi(v.type)&&ed(),fi(v),null;case 3:return M=v.stateNode,Zo(),Qr(zi),Qr(Ei),sh(),M.pendingContext&&(M.context=M.pendingContext,M.pendingContext=null),(p===null||p.child===null)&&(Hc(v)?v.flags|=4:p===null||p.memoizedState.isDehydrated&&(v.flags&256)===0||(v.flags|=1024,Hi!==null&&(Fh(Hi),Hi=null))),Eh(p,v),fi(v),null;case 5:nh(v);var q=Qo(Fl.current);if($=v.type,p!==null&&v.stateNode!=null)Sg(p,v,$,M,q),p.ref!==v.ref&&(v.flags|=512,v.flags|=2097152);else{if(!M){if(v.stateNode===null)throw Error(n(166));return fi(v),null}if(p=Qo(fa.current),Hc(v)){M=v.stateNode,$=v.type;var Z=v.memoizedProps;switch(M[ca]=v,M[qc]=Z,p=(v.mode&1)!==0,$){case"dialog":Jr("cancel",M),Jr("close",M);break;case"iframe":case"object":case"embed":Jr("load",M);break;case"video":case"audio":for(q=0;q<zc.length;q++)Jr(zc[q],M);break;case"source":Jr("error",M);break;case"img":case"image":case"link":Jr("error",M),Jr("load",M);break;case"details":Jr("toggle",M);break;case"input":Ze(M,Z),Jr("invalid",M);break;case"select":M._wrapperState={wasMultiple:!!Z.multiple},Jr("invalid",M);break;case"textarea":wr(M,Z),Jr("invalid",M)}Di($,Z),q=null;for(var de in Z)if(Z.hasOwnProperty(de)){var ke=Z[de];de==="children"?typeof ke=="string"?M.textContent!==ke&&(Z.suppressHydrationWarning!==!0&&Ju(M.textContent,ke,p),q=["children",ke]):typeof ke=="number"&&M.textContent!==""+ke&&(Z.suppressHydrationWarning!==!0&&Ju(M.textContent,ke,p),q=["children",""+ke]):s.hasOwnProperty(de)&&ke!=null&&de==="onScroll"&&Jr("scroll",M)}switch($){case"input":Ge(M),dr(M,Z,!0);break;case"textarea":Ge(M),Wr(M);break;case"select":case"option":break;default:typeof Z.onClick=="function"&&(M.onclick=Qu)}M=q,v.updateQueue=M,M!==null&&(v.flags|=4)}else{de=q.nodeType===9?q:q.ownerDocument,p==="http://www.w3.org/1999/xhtml"&&(p=ii($)),p==="http://www.w3.org/1999/xhtml"?$==="script"?(p=de.createElement("div"),p.innerHTML="<script><\/script>",p=p.removeChild(p.firstChild)):typeof M.is=="string"?p=de.createElement($,{is:M.is}):(p=de.createElement($),$==="select"&&(de=p,M.multiple?de.multiple=!0:M.size&&(de.size=M.size))):p=de.createElementNS(p,$),p[ca]=v,p[qc]=M,Ch(p,v,!1,!1),v.stateNode=p;e:{switch(de=Cr($,M),$){case"dialog":Jr("cancel",p),Jr("close",p),q=M;break;case"iframe":case"object":case"embed":Jr("load",p),q=M;break;case"video":case"audio":for(q=0;q<zc.length;q++)Jr(zc[q],p);q=M;break;case"source":Jr("error",p),q=M;break;case"img":case"image":case"link":Jr("error",p),Jr("load",p),q=M;break;case"details":Jr("toggle",p),q=M;break;case"input":Ze(p,M),q=Le(p,M),Jr("invalid",p);break;case"option":q=M;break;case"select":p._wrapperState={wasMultiple:!!M.multiple},q=ee({},M,{value:void 0}),Jr("invalid",p);break;case"textarea":wr(p,M),q=Nr(p,M),Jr("invalid",p);break;default:q=M}Di($,q),ke=q;for(Z in ke)if(ke.hasOwnProperty(Z)){var Ne=ke[Z];Z==="style"?yi(p,Ne):Z==="dangerouslySetInnerHTML"?(Ne=Ne?Ne.__html:void 0,Ne!=null&&vt(p,Ne)):Z==="children"?typeof Ne=="string"?($!=="textarea"||Ne!=="")&&Et(p,Ne):typeof Ne=="number"&&Et(p,""+Ne):Z!=="suppressContentEditableWarning"&&Z!=="suppressHydrationWarning"&&Z!=="autoFocus"&&(s.hasOwnProperty(Z)?Ne!=null&&Z==="onScroll"&&Jr("scroll",p):Ne!=null&&C(p,Z,Ne,de))}switch($){case"input":Ge(p),dr(p,M,!1);break;case"textarea":Ge(p),Wr(p);break;case"option":M.value!=null&&p.setAttribute("value",""+ie(M.value));break;case"select":p.multiple=!!M.multiple,Z=M.value,Z!=null?cr(p,!!M.multiple,Z,!1):M.defaultValue!=null&&cr(p,!!M.multiple,M.defaultValue,!0);break;default:typeof q.onClick=="function"&&(p.onclick=Qu)}switch($){case"button":case"input":case"select":case"textarea":M=!!M.autoFocus;break e;case"img":M=!0;break e;default:M=!1}}M&&(v.flags|=4)}v.ref!==null&&(v.flags|=512,v.flags|=2097152)}return fi(v),null;case 6:if(p&&v.stateNode!=null)kg(p,v,p.memoizedProps,M);else{if(typeof M!="string"&&v.stateNode===null)throw Error(n(166));if($=Qo(Fl.current),Qo(fa.current),Hc(v)){if(M=v.stateNode,$=v.memoizedProps,M[ca]=v,(Z=M.nodeValue!==$)&&(p=Wi,p!==null))switch(p.tag){case 3:Ju(M.nodeValue,$,(p.mode&1)!==0);break;case 5:p.memoizedProps.suppressHydrationWarning!==!0&&Ju(M.nodeValue,$,(p.mode&1)!==0)}Z&&(v.flags|=4)}else M=($.nodeType===9?$:$.ownerDocument).createTextNode(M),M[ca]=v,v.stateNode=M}return fi(v),null;case 13:if(Qr(mn),M=v.memoizedState,p===null||p.memoizedState!==null&&p.memoizedState.dehydrated!==null){if(dn&&rs!==null&&(v.mode&1)!==0&&(v.flags&128)===0)zm(),Xo(),v.flags|=98560,Z=!1;else if(Z=Hc(v),M!==null&&M.dehydrated!==null){if(p===null){if(!Z)throw Error(n(318));if(Z=v.memoizedState,Z=Z!==null?Z.dehydrated:null,!Z)throw Error(n(317));Z[ca]=v}else Xo(),(v.flags&128)===0&&(v.memoizedState=null),v.flags|=4;fi(v),Z=!1}else Hi!==null&&(Fh(Hi),Hi=null),Z=!0;if(!Z)return v.flags&65536?v:null}return(v.flags&128)!==0?(v.lanes=$,v):(M=M!==null,M!==(p!==null&&p.memoizedState!==null)&&M&&(v.child.flags|=8192,(v.mode&1)!==0&&(p===null||(mn.current&1)!==0?Fn===0&&(Fn=3):Wh())),v.updateQueue!==null&&(v.flags|=4),fi(v),null);case 4:return Zo(),Eh(p,v),p===null&&Fc(v.stateNode.containerInfo),fi(v),null;case 10:return Zf(v.type._context),fi(v),null;case 17:return Fi(v.type)&&ed(),fi(v),null;case 19:if(Qr(mn),Z=v.memoizedState,Z===null)return fi(v),null;if(M=(v.flags&128)!==0,de=Z.rendering,de===null)if(M)vd(Z,!1);else{if(Fn!==0||p!==null&&(p.flags&128)!==0)for(p=v.child;p!==null;){if(de=ud(p),de!==null){for(v.flags|=128,vd(Z,!1),M=de.updateQueue,M!==null&&(v.updateQueue=M,v.flags|=4),v.subtreeFlags=0,M=$,$=v.child;$!==null;)Z=$,p=M,Z.flags&=14680066,de=Z.alternate,de===null?(Z.childLanes=0,Z.lanes=p,Z.child=null,Z.subtreeFlags=0,Z.memoizedProps=null,Z.memoizedState=null,Z.updateQueue=null,Z.dependencies=null,Z.stateNode=null):(Z.childLanes=de.childLanes,Z.lanes=de.lanes,Z.child=de.child,Z.subtreeFlags=0,Z.deletions=null,Z.memoizedProps=de.memoizedProps,Z.memoizedState=de.memoizedState,Z.updateQueue=de.updateQueue,Z.type=de.type,p=de.dependencies,Z.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext}),$=$.sibling;return Gr(mn,mn.current&1|2),v.child}p=p.sibling}Z.tail!==null&&Yr()>Hl&&(v.flags|=128,M=!0,vd(Z,!1),v.lanes=4194304)}else{if(!M)if(p=ud(de),p!==null){if(v.flags|=128,M=!0,$=p.updateQueue,$!==null&&(v.updateQueue=$,v.flags|=4),vd(Z,!0),Z.tail===null&&Z.tailMode==="hidden"&&!de.alternate&&!dn)return fi(v),null}else 2*Yr()-Z.renderingStartTime>Hl&&$!==1073741824&&(v.flags|=128,M=!0,vd(Z,!1),v.lanes=4194304);Z.isBackwards?(de.sibling=v.child,v.child=de):($=Z.last,$!==null?$.sibling=de:v.child=de,Z.last=de)}return Z.tail!==null?(v=Z.tail,Z.rendering=v,Z.tail=v.sibling,Z.renderingStartTime=Yr(),v.sibling=null,$=mn.current,Gr(mn,M?$&1|2:$&1),v):(fi(v),null);case 22:case 23:return qh(),M=v.memoizedState!==null,p!==null&&p.memoizedState!==null!==M&&(v.flags|=8192),M&&(v.mode&1)!==0?(ns&1073741824)!==0&&(fi(v),v.subtreeFlags&6&&(v.flags|=8192)):fi(v),null;case 24:return null;case 25:return null}throw Error(n(156,v.tag))}function Ub(p,v){switch(Uf(v),v.tag){case 1:return Fi(v.type)&&ed(),p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 3:return Zo(),Qr(zi),Qr(Ei),sh(),p=v.flags,(p&65536)!==0&&(p&128)===0?(v.flags=p&-65537|128,v):null;case 5:return nh(v),null;case 13:if(Qr(mn),p=v.memoizedState,p!==null&&p.dehydrated!==null){if(v.alternate===null)throw Error(n(340));Xo()}return p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 19:return Qr(mn),null;case 4:return Zo(),null;case 10:return Zf(v.type._context),null;case 22:case 23:return qh(),null;case 24:return null;default:return null}}var jh=!1,hi=!1,qb=typeof WeakSet=="function"?WeakSet:Set,Rt=null;function ql(p,v){var $=p.ref;if($!==null)if(typeof $=="function")try{$(null)}catch(M){gn(p,v,M)}else $.current=null}function Th(p,v,$){try{$()}catch(M){gn(p,v,M)}}var Cg=!1;function Wb(p,v){if(Rf=ao,p=Ef(),jf(p)){if("selectionStart"in p)var $={start:p.selectionStart,end:p.selectionEnd};else e:{$=($=p.ownerDocument)&&$.defaultView||window;var M=$.getSelection&&$.getSelection();if(M&&M.rangeCount!==0){$=M.anchorNode;var q=M.anchorOffset,Z=M.focusNode;M=M.focusOffset;try{$.nodeType,Z.nodeType}catch{$=null;break e}var de=0,ke=-1,Ne=-1,Ke=0,ft=0,ht=p,ct=null;t:for(;;){for(var Ct;ht!==$||q!==0&&ht.nodeType!==3||(ke=de+q),ht!==Z||M!==0&&ht.nodeType!==3||(Ne=de+M),ht.nodeType===3&&(de+=ht.nodeValue.length),(Ct=ht.firstChild)!==null;)ct=ht,ht=Ct;for(;;){if(ht===p)break t;if(ct===$&&++Ke===q&&(ke=de),ct===Z&&++ft===M&&(Ne=de),(Ct=ht.nextSibling)!==null)break;ht=ct,ct=ht.parentNode}ht=Ct}$=ke===-1||Ne===-1?null:{start:ke,end:Ne}}else $=null}$=$||{start:0,end:0}}else $=null;for(Mf={focusedElem:p,selectionRange:$},ao=!1,Rt=v;Rt!==null;)if(v=Rt,p=v.child,(v.subtreeFlags&1028)!==0&&p!==null)p.return=v,Rt=p;else for(;Rt!==null;){v=Rt;try{var Mt=v.alternate;if((v.flags&1024)!==0)switch(v.tag){case 0:case 11:case 15:break;case 1:if(Mt!==null){var Dt=Mt.memoizedProps,Vr=Mt.memoizedState,qe=v.stateNode,Ie=qe.getSnapshotBeforeUpdate(v.elementType===v.type?Dt:$n(v.type,Dt),Vr);qe.__reactInternalSnapshotBeforeUpdate=Ie}break;case 3:var Xe=v.stateNode.containerInfo;Xe.nodeType===1?Xe.textContent="":Xe.nodeType===9&&Xe.documentElement&&Xe.removeChild(Xe.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(yt){gn(v,v.return,yt)}if(p=v.sibling,p!==null){p.return=v.return,Rt=p;break}Rt=v.return}return Mt=Cg,Cg=!1,Mt}function Qc(p,v,$){var M=v.updateQueue;if(M=M!==null?M.lastEffect:null,M!==null){var q=M=M.next;do{if((q.tag&p)===p){var Z=q.destroy;q.destroy=void 0,Z!==void 0&&Th(v,$,Z)}q=q.next}while(q!==M)}}function Ah(p,v){if(v=v.updateQueue,v=v!==null?v.lastEffect:null,v!==null){var $=v=v.next;do{if(($.tag&p)===p){var M=$.create;$.destroy=M()}$=$.next}while($!==v)}}function $h(p){var v=p.ref;if(v!==null){var $=p.stateNode;switch(p.tag){case 5:p=$;break;default:p=$}typeof v=="function"?v(p):v.current=p}}function Eg(p){var v=p.alternate;v!==null&&(p.alternate=null,Eg(v)),p.child=null,p.deletions=null,p.sibling=null,p.tag===5&&(v=p.stateNode,v!==null&&(delete v[ca],delete v[qc],delete v[Bf],delete v[Rm],delete v[Mm])),p.stateNode=null,p.return=null,p.dependencies=null,p.memoizedProps=null,p.memoizedState=null,p.pendingProps=null,p.stateNode=null,p.updateQueue=null}function jg(p){return p.tag===5||p.tag===3||p.tag===4}function Tg(p){e:for(;;){for(;p.sibling===null;){if(p.return===null||jg(p.return))return null;p=p.return}for(p.sibling.return=p.return,p=p.sibling;p.tag!==5&&p.tag!==6&&p.tag!==18;){if(p.flags&2||p.child===null||p.tag===4)continue e;p.child.return=p,p=p.child}if(!(p.flags&2))return p.stateNode}}function Oh(p,v,$){var M=p.tag;if(M===5||M===6)p=p.stateNode,v?$.nodeType===8?$.parentNode.insertBefore(p,v):$.insertBefore(p,v):($.nodeType===8?(v=$.parentNode,v.insertBefore(p,$)):(v=$,v.appendChild(p)),$=$._reactRootContainer,$!=null||v.onclick!==null||(v.onclick=Qu));else if(M!==4&&(p=p.child,p!==null))for(Oh(p,v,$),p=p.sibling;p!==null;)Oh(p,v,$),p=p.sibling}function Nh(p,v,$){var M=p.tag;if(M===5||M===6)p=p.stateNode,v?$.insertBefore(p,v):$.appendChild(p);else if(M!==4&&(p=p.child,p!==null))for(Nh(p,v,$),p=p.sibling;p!==null;)Nh(p,v,$),p=p.sibling}var Qn=null,Gs=!1;function mo(p,v,$){for($=$.child;$!==null;)Hb(p,v,$),$=$.sibling}function Hb(p,v,$){if(lr&&typeof lr.onCommitFiberUnmount=="function")try{lr.onCommitFiberUnmount(_t,$)}catch{}switch($.tag){case 5:hi||ql($,v);case 6:var M=Qn,q=Gs;Qn=null,mo(p,v,$),Qn=M,Gs=q,Qn!==null&&(Gs?(p=Qn,$=$.stateNode,p.nodeType===8?p.parentNode.removeChild($):p.removeChild($)):Qn.removeChild($.stateNode));break;case 18:Qn!==null&&(Gs?(p=Qn,$=$.stateNode,p.nodeType===8?Lf(p.parentNode,$):p.nodeType===1&&Lf(p,$),Aa(p)):Lf(Qn,$.stateNode));break;case 4:M=Qn,q=Gs,Qn=$.stateNode.containerInfo,Gs=!0,mo(p,v,$),Qn=M,Gs=q;break;case 0:case 11:case 14:case 15:if(!hi&&(M=$.updateQueue,M!==null&&(M=M.lastEffect,M!==null))){q=M=M.next;do{var Z=q,de=Z.destroy;Z=Z.tag,de!==void 0&&((Z&2)!==0||(Z&4)!==0)&&Th($,v,de),q=q.next}while(q!==M)}mo(p,v,$);break;case 1:if(!hi&&(ql($,v),M=$.stateNode,typeof M.componentWillUnmount=="function"))try{M.props=$.memoizedProps,M.state=$.memoizedState,M.componentWillUnmount()}catch(ke){gn($,v,ke)}mo(p,v,$);break;case 21:mo(p,v,$);break;case 22:$.mode&1?(hi=(M=hi)||$.memoizedState!==null,mo(p,v,$),hi=M):mo(p,v,$);break;default:mo(p,v,$)}}function Zc(p){var v=p.updateQueue;if(v!==null){p.updateQueue=null;var $=p.stateNode;$===null&&($=p.stateNode=new qb),v.forEach(function(M){var q=Qb.bind(null,p,M);$.has(M)||($.add(M),M.then(q,q))})}}function Cs(p,v){var $=v.deletions;if($!==null)for(var M=0;M<$.length;M++){var q=$[M];try{var Z=p,de=v,ke=de;e:for(;ke!==null;){switch(ke.tag){case 5:Qn=ke.stateNode,Gs=!1;break e;case 3:Qn=ke.stateNode.containerInfo,Gs=!0;break e;case 4:Qn=ke.stateNode.containerInfo,Gs=!0;break e}ke=ke.return}if(Qn===null)throw Error(n(160));Hb(Z,de,q),Qn=null,Gs=!1;var Ne=q.alternate;Ne!==null&&(Ne.return=null),q.return=null}catch(Ke){gn(q,v,Ke)}}if(v.subtreeFlags&12854)for(v=v.child;v!==null;)Ph(v,p),v=v.sibling}function Ph(p,v){var $=p.alternate,M=p.flags;switch(p.tag){case 0:case 11:case 14:case 15:if(Cs(v,p),Vs(p),M&4){try{Qc(3,p,p.return),Ah(3,p)}catch(Dt){gn(p,p.return,Dt)}try{Qc(5,p,p.return)}catch(Dt){gn(p,p.return,Dt)}}break;case 1:Cs(v,p),Vs(p),M&512&&$!==null&&ql($,$.return);break;case 5:if(Cs(v,p),Vs(p),M&512&&$!==null&&ql($,$.return),p.flags&32){var q=p.stateNode;try{Et(q,"")}catch(Dt){gn(p,p.return,Dt)}}if(M&4&&(q=p.stateNode,q!=null)){var Z=p.memoizedProps,de=$!==null?$.memoizedProps:Z,ke=p.type,Ne=p.updateQueue;if(p.updateQueue=null,Ne!==null)try{ke==="input"&&Z.type==="radio"&&Z.name!=null&&ut(q,Z),Cr(ke,de);var Ke=Cr(ke,Z);for(de=0;de<Ne.length;de+=2){var ft=Ne[de],ht=Ne[de+1];ft==="style"?yi(q,ht):ft==="dangerouslySetInnerHTML"?vt(q,ht):ft==="children"?Et(q,ht):C(q,ft,ht,Ke)}switch(ke){case"input":dt(q,Z);break;case"textarea":nn(q,Z);break;case"select":var ct=q._wrapperState.wasMultiple;q._wrapperState.wasMultiple=!!Z.multiple;var Ct=Z.value;Ct!=null?cr(q,!!Z.multiple,Ct,!1):ct!==!!Z.multiple&&(Z.defaultValue!=null?cr(q,!!Z.multiple,Z.defaultValue,!0):cr(q,!!Z.multiple,Z.multiple?[]:"",!1))}q[qc]=Z}catch(Dt){gn(p,p.return,Dt)}}break;case 6:if(Cs(v,p),Vs(p),M&4){if(p.stateNode===null)throw Error(n(162));q=p.stateNode,Z=p.memoizedProps;try{q.nodeValue=Z}catch(Dt){gn(p,p.return,Dt)}}break;case 3:if(Cs(v,p),Vs(p),M&4&&$!==null&&$.memoizedState.isDehydrated)try{Aa(v.containerInfo)}catch(Dt){gn(p,p.return,Dt)}break;case 4:Cs(v,p),Vs(p);break;case 13:Cs(v,p),Vs(p),q=p.child,q.flags&8192&&(Z=q.memoizedState!==null,q.stateNode.isHidden=Z,!Z||q.alternate!==null&&q.alternate.memoizedState!==null||(Dh=Yr())),M&4&&Zc(p);break;case 22:if(ft=$!==null&&$.memoizedState!==null,p.mode&1?(hi=(Ke=hi)||ft,Cs(v,p),hi=Ke):Cs(v,p),Vs(p),M&8192){if(Ke=p.memoizedState!==null,(p.stateNode.isHidden=Ke)&&!ft&&(p.mode&1)!==0)for(Rt=p,ft=p.child;ft!==null;){for(ht=Rt=ft;Rt!==null;){switch(ct=Rt,Ct=ct.child,ct.tag){case 0:case 11:case 14:case 15:Qc(4,ct,ct.return);break;case 1:ql(ct,ct.return);var Mt=ct.stateNode;if(typeof Mt.componentWillUnmount=="function"){M=ct,$=ct.return;try{v=M,Mt.props=v.memoizedProps,Mt.state=v.memoizedState,Mt.componentWillUnmount()}catch(Dt){gn(M,$,Dt)}}break;case 5:ql(ct,ct.return);break;case 22:if(ct.memoizedState!==null){Rh(ht);continue}}Ct!==null?(Ct.return=ct,Rt=Ct):Rh(ht)}ft=ft.sibling}e:for(ft=null,ht=p;;){if(ht.tag===5){if(ft===null){ft=ht;try{q=ht.stateNode,Ke?(Z=q.style,typeof Z.setProperty=="function"?Z.setProperty("display","none","important"):Z.display="none"):(ke=ht.stateNode,Ne=ht.memoizedProps.style,de=Ne!=null&&Ne.hasOwnProperty("display")?Ne.display:null,ke.style.display=Ir("display",de))}catch(Dt){gn(p,p.return,Dt)}}}else if(ht.tag===6){if(ft===null)try{ht.stateNode.nodeValue=Ke?"":ht.memoizedProps}catch(Dt){gn(p,p.return,Dt)}}else if((ht.tag!==22&&ht.tag!==23||ht.memoizedState===null||ht===p)&&ht.child!==null){ht.child.return=ht,ht=ht.child;continue}if(ht===p)break e;for(;ht.sibling===null;){if(ht.return===null||ht.return===p)break e;ft===ht&&(ft=null),ht=ht.return}ft===ht&&(ft=null),ht.sibling.return=ht.return,ht=ht.sibling}}break;case 19:Cs(v,p),Vs(p),M&4&&Zc(p);break;case 21:break;default:Cs(v,p),Vs(p)}}function Vs(p){var v=p.flags;if(v&2){try{e:{for(var $=p.return;$!==null;){if(jg($)){var M=$;break e}$=$.return}throw Error(n(160))}switch(M.tag){case 5:var q=M.stateNode;M.flags&32&&(Et(q,""),M.flags&=-33);var Z=Tg(p);Nh(p,Z,q);break;case 3:case 4:var de=M.stateNode.containerInfo,ke=Tg(p);Oh(p,ke,de);break;default:throw Error(n(161))}}catch(Ne){gn(p,p.return,Ne)}p.flags&=-3}v&4096&&(p.flags&=-4097)}function Ag(p,v,$){Rt=p,$g(p)}function $g(p,v,$){for(var M=(p.mode&1)!==0;Rt!==null;){var q=Rt,Z=q.child;if(q.tag===22&&M){var de=q.memoizedState!==null||jh;if(!de){var ke=q.alternate,Ne=ke!==null&&ke.memoizedState!==null||hi;ke=jh;var Ke=hi;if(jh=de,(hi=Ne)&&!Ke)for(Rt=q;Rt!==null;)de=Rt,Ne=de.child,de.tag===22&&de.memoizedState!==null?Mh(q):Ne!==null?(Ne.return=de,Rt=Ne):Mh(q);for(;Z!==null;)Rt=Z,$g(Z),Z=Z.sibling;Rt=q,jh=ke,hi=Ke}Og(p)}else(q.subtreeFlags&8772)!==0&&Z!==null?(Z.return=q,Rt=Z):Og(p)}}function Og(p){for(;Rt!==null;){var v=Rt;if((v.flags&8772)!==0){var $=v.alternate;try{if((v.flags&8772)!==0)switch(v.tag){case 0:case 11:case 15:hi||Ah(5,v);break;case 1:var M=v.stateNode;if(v.flags&4&&!hi)if($===null)M.componentDidMount();else{var q=v.elementType===v.type?$.memoizedProps:$n(v.type,$.memoizedProps);M.componentDidUpdate(q,$.memoizedState,M.__reactInternalSnapshotBeforeUpdate)}var Z=v.updateQueue;Z!==null&&Ab(v,Z,M);break;case 3:var de=v.updateQueue;if(de!==null){if($=null,v.child!==null)switch(v.child.tag){case 5:$=v.child.stateNode;break;case 1:$=v.child.stateNode}Ab(v,de,$)}break;case 5:var ke=v.stateNode;if($===null&&v.flags&4){$=ke;var Ne=v.memoizedProps;switch(v.type){case"button":case"input":case"select":case"textarea":Ne.autoFocus&&$.focus();break;case"img":Ne.src&&($.src=Ne.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(v.memoizedState===null){var Ke=v.alternate;if(Ke!==null){var ft=Ke.memoizedState;if(ft!==null){var ht=ft.dehydrated;ht!==null&&Aa(ht)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(n(163))}hi||v.flags&512&&$h(v)}catch(ct){gn(v,v.return,ct)}}if(v===p){Rt=null;break}if($=v.sibling,$!==null){$.return=v.return,Rt=$;break}Rt=v.return}}function Rh(p){for(;Rt!==null;){var v=Rt;if(v===p){Rt=null;break}var $=v.sibling;if($!==null){$.return=v.return,Rt=$;break}Rt=v.return}}function Mh(p){for(;Rt!==null;){var v=Rt;try{switch(v.tag){case 0:case 11:case 15:var $=v.return;try{Ah(4,v)}catch(Ne){gn(v,$,Ne)}break;case 1:var M=v.stateNode;if(typeof M.componentDidMount=="function"){var q=v.return;try{M.componentDidMount()}catch(Ne){gn(v,q,Ne)}}var Z=v.return;try{$h(v)}catch(Ne){gn(v,Z,Ne)}break;case 5:var de=v.return;try{$h(v)}catch(Ne){gn(v,de,Ne)}}}catch(Ne){gn(v,v.return,Ne)}if(v===p){Rt=null;break}var ke=v.sibling;if(ke!==null){ke.return=v.return,Rt=ke;break}Rt=v.return}}var Gb=Math.ceil,yd=T.ReactCurrentDispatcher,bd=T.ReactCurrentOwner,Es=T.ReactCurrentBatchConfig,jr=0,On=null,jn=null,Zn=0,ns=0,Wl=Oa(0),Fn=0,eu=null,nl=0,xd=0,Ih=0,wd=null,Vi=null,Dh=0,Hl=1/0,go=null,_d=!1,Lh=null,vo=null,Sd=!1,il=null,kd=0,tu=0,Bh=null,ru=-1,Cd=0;function Ai(){return(jr&6)!==0?Yr():ru!==-1?ru:ru=Yr()}function yo(p){return(p.mode&1)===0?1:(jr&2)!==0&&Zn!==0?Zn&-Zn:Xf.transition!==null?(Cd===0&&(Cd=na()),Cd):(p=gr,p!==0||(p=window.event,p=p===void 0?16:he(p.type)),p)}function Ks(p,v,$,M){if(50<tu)throw tu=0,Bh=null,Error(n(185));Ds(p,$,M),((jr&2)===0||p!==On)&&(p===On&&((jr&2)===0&&(xd|=$),Fn===4&&bo(p,Zn)),Ki(p,M),$===1&&jr===0&&(v.mode&1)===0&&(Hl=Yr()+500,rd&&uo()))}function Ki(p,v){var $=p.callbackNode;ms(p,v);var M=Is(p,p===On?Zn:0);if(M===0)$!==null&&Dn($),p.callbackNode=null,p.callbackPriority=0;else if(v=M&-M,p.callbackPriority!==v){if($!=null&&Dn($),v===1)p.tag===0?U_(Rg.bind(null,p)):Bm(Rg.bind(null,p)),Cb(function(){(jr&6)===0&&uo()}),$=null;else{switch(zt(M)){case 1:$=kn;break;case 4:$=bn;break;case 16:$=jt;break;case 536870912:$=it;break;default:$=jt}$=zg($,Ng.bind(null,p))}p.callbackPriority=v,p.callbackNode=$}}function Ng(p,v){if(ru=-1,Cd=0,(jr&6)!==0)throw Error(n(327));var $=p.callbackNode;if(Gl()&&p.callbackNode!==$)return null;var M=Is(p,p===On?Zn:0);if(M===0)return null;if((M&30)!==0||(M&p.expiredLanes)!==0||v)v=Ed(p,M);else{v=M;var q=jr;jr|=2;var Z=Vb();(On!==p||Zn!==v)&&(go=null,Hl=Yr()+500,al(p,v));do try{G_();break}catch(ke){Mg(p,ke)}while(!0);Qf(),yd.current=Z,jr=q,jn!==null?v=0:(On=null,Zn=0,v=Fn)}if(v!==0){if(v===2&&(q=Uo(p),q!==0&&(M=q,v=zh(p,q))),v===1)throw $=eu,al(p,0),bo(p,M),Ki(p,Yr()),$;if(v===6)bo(p,M);else{if(q=p.current.alternate,(M&30)===0&&!Pg(q)&&(v=Ed(p,M),v===2&&(Z=Uo(p),Z!==0&&(M=Z,v=zh(p,Z))),v===1))throw $=eu,al(p,0),bo(p,M),Ki(p,Yr()),$;switch(p.finishedWork=q,p.finishedLanes=M,v){case 0:case 1:throw Error(n(345));case 2:ol(p,Vi,go);break;case 3:if(bo(p,M),(M&130023424)===M&&(v=Dh+500-Yr(),10<v)){if(Is(p,0)!==0)break;if(q=p.suspendedLanes,(q&M)!==M){Ai(),p.pingedLanes|=p.suspendedLanes&q;break}p.timeoutHandle=Df(ol.bind(null,p,Vi,go),v);break}ol(p,Vi,go);break;case 4:if(bo(p,M),(M&4194240)===M)break;for(v=p.eventTimes,q=-1;0<M;){var de=31-fr(M);Z=1<<de,de=v[de],de>q&&(q=de),M&=~Z}if(M=q,M=Yr()-M,M=(120>M?120:480>M?480:1080>M?1080:1920>M?1920:3e3>M?3e3:4320>M?4320:1960*Gb(M/1960))-M,10<M){p.timeoutHandle=Df(ol.bind(null,p,Vi,go),M);break}ol(p,Vi,go);break;case 5:ol(p,Vi,go);break;default:throw Error(n(329))}}}return Ki(p,Yr()),p.callbackNode===$?Ng.bind(null,p):null}function zh(p,v){var $=wd;return p.current.memoizedState.isDehydrated&&(al(p,v).flags|=256),p=Ed(p,v),p!==2&&(v=Vi,Vi=$,v!==null&&Fh(v)),p}function Fh(p){Vi===null?Vi=p:Vi.push.apply(Vi,p)}function Pg(p){for(var v=p;;){if(v.flags&16384){var $=v.updateQueue;if($!==null&&($=$.stores,$!==null))for(var M=0;M<$.length;M++){var q=$[M],Z=q.getSnapshot;q=q.value;try{if(!qs(Z(),q))return!1}catch{return!1}}}if($=v.child,v.subtreeFlags&16384&&$!==null)$.return=v,v=$;else{if(v===p)break;for(;v.sibling===null;){if(v.return===null||v.return===p)return!0;v=v.return}v.sibling.return=v.return,v=v.sibling}}return!0}function bo(p,v){for(v&=~Ih,v&=~xd,p.suspendedLanes|=v,p.pingedLanes&=~v,p=p.expirationTimes;0<v;){var $=31-fr(v),M=1<<$;p[$]=-1,v&=~M}}function Rg(p){if((jr&6)!==0)throw Error(n(327));Gl();var v=Is(p,0);if((v&1)===0)return Ki(p,Yr()),null;var $=Ed(p,v);if(p.tag!==0&&$===2){var M=Uo(p);M!==0&&(v=M,$=zh(p,M))}if($===1)throw $=eu,al(p,0),bo(p,v),Ki(p,Yr()),$;if($===6)throw Error(n(345));return p.finishedWork=p.current.alternate,p.finishedLanes=v,ol(p,Vi,go),Ki(p,Yr()),null}function Uh(p,v){var $=jr;jr|=1;try{return p(v)}finally{jr=$,jr===0&&(Hl=Yr()+500,rd&&uo())}}function sl(p){il!==null&&il.tag===0&&(jr&6)===0&&Gl();var v=jr;jr|=1;var $=Es.transition,M=gr;try{if(Es.transition=null,gr=1,p)return p()}finally{gr=M,Es.transition=$,jr=v,(jr&6)===0&&uo()}}function qh(){ns=Wl.current,Qr(Wl)}function al(p,v){p.finishedWork=null,p.finishedLanes=0;var $=p.timeoutHandle;if($!==-1&&(p.timeoutHandle=-1,kb($)),jn!==null)for($=jn.return;$!==null;){var M=$;switch(Uf(M),M.tag){case 1:M=M.type.childContextTypes,M!=null&&ed();break;case 3:Zo(),Qr(zi),Qr(Ei),sh();break;case 5:nh(M);break;case 4:Zo();break;case 13:Qr(mn);break;case 19:Qr(mn);break;case 10:Zf(M.type._context);break;case 22:case 23:qh()}$=$.return}if(On=p,jn=p=xo(p.current,null),Zn=ns=v,Fn=0,eu=null,Ih=xd=nl=0,Vi=wd=null,zl!==null){for(v=0;v<zl.length;v++)if($=zl[v],M=$.interleaved,M!==null){$.interleaved=null;var q=M.next,Z=$.pending;if(Z!==null){var de=Z.next;Z.next=q,M.next=de}$.pending=M}zl=null}return p}function Mg(p,v){do{var $=jn;try{if(Qf(),ah.current=pd,lh){for(var M=fn.memoizedState;M!==null;){var q=M.queue;q!==null&&(q.pending=null),M=M.next}lh=!1}if(el=0,zn=An=fn=null,tl=!1,po=0,bd.current=null,$===null||$.return===null){Fn=1,eu=v,jn=null;break}e:{var Z=p,de=$.return,ke=$,Ne=v;if(v=Zn,ke.flags|=32768,Ne!==null&&typeof Ne=="object"&&typeof Ne.then=="function"){var Ke=Ne,ft=ke,ht=ft.tag;if((ft.mode&1)===0&&(ht===0||ht===11||ht===15)){var ct=ft.alternate;ct?(ft.updateQueue=ct.updateQueue,ft.memoizedState=ct.memoizedState,ft.lanes=ct.lanes):(ft.updateQueue=null,ft.memoizedState=null)}var Ct=Lb(de);if(Ct!==null){Ct.flags&=-257,Ti(Ct,de,ke,Z,v),Ct.mode&1&&pg(Z,Ke,v),v=Ct,Ne=Ke;var Mt=v.updateQueue;if(Mt===null){var Dt=new Set;Dt.add(Ne),v.updateQueue=Dt}else Mt.add(Ne);break e}else{if((v&1)===0){pg(Z,Ke,v),Wh();break e}Ne=Error(n(426))}}else if(dn&&ke.mode&1){var Vr=Lb(de);if(Vr!==null){(Vr.flags&65536)===0&&(Vr.flags|=256),Ti(Vr,de,ke,Z,v),Kf(Ul(Ne,ke));break e}}Z=Ne=Ul(Ne,ke),Fn!==4&&(Fn=2),wd===null?wd=[Z]:wd.push(Z),Z=de;do{switch(Z.tag){case 3:Z.flags|=65536,v&=-v,Z.lanes|=v;var qe=fg(Z,Ne,v);Tb(Z,qe);break e;case 1:ke=Ne;var Ie=Z.type,Xe=Z.stateNode;if((Z.flags&128)===0&&(typeof Ie.getDerivedStateFromError=="function"||Xe!==null&&typeof Xe.componentDidCatch=="function"&&(vo===null||!vo.has(Xe)))){Z.flags|=65536,v&=-v,Z.lanes|=v;var yt=hg(Z,ke,v);Tb(Z,yt);break e}}Z=Z.return}while(Z!==null)}nu($)}catch(Wt){v=Wt,jn===$&&$!==null&&(jn=$=$.return);continue}break}while(!0)}function Vb(){var p=yd.current;return yd.current=pd,p===null?pd:p}function Wh(){(Fn===0||Fn===3||Fn===2)&&(Fn=4),On===null||(nl&268435455)===0&&(xd&268435455)===0||bo(On,Zn)}function Ed(p,v){var $=jr;jr|=2;var M=Vb();(On!==p||Zn!==v)&&(go=null,al(p,v));do try{Kb();break}catch(q){Mg(p,q)}while(!0);if(Qf(),jr=$,yd.current=M,jn!==null)throw Error(n(261));return On=null,Zn=0,Fn}function Kb(){for(;jn!==null;)Ig(jn)}function G_(){for(;jn!==null&&!Fo();)Ig(jn)}function Ig(p){var v=Bg(p.alternate,p,ns);p.memoizedProps=p.pendingProps,v===null?nu(p):jn=v,bd.current=null}function nu(p){var v=p;do{var $=v.alternate;if(p=v.return,(v.flags&32768)===0){if($=Fb($,v,ns),$!==null){jn=$;return}}else{if($=Ub($,v),$!==null){$.flags&=32767,jn=$;return}if(p!==null)p.flags|=32768,p.subtreeFlags=0,p.deletions=null;else{Fn=6,jn=null;return}}if(v=v.sibling,v!==null){jn=v;return}jn=v=p}while(v!==null);Fn===0&&(Fn=5)}function ol(p,v,$){var M=gr,q=Es.transition;try{Es.transition=null,gr=1,Dg(p,v,$,M)}finally{Es.transition=q,gr=M}return null}function Dg(p,v,$,M){do Gl();while(il!==null);if((jr&6)!==0)throw Error(n(327));$=p.finishedWork;var q=p.finishedLanes;if($===null)return null;if(p.finishedWork=null,p.finishedLanes=0,$===p.current)throw Error(n(177));p.callbackNode=null,p.callbackPriority=0;var Z=$.lanes|$.childLanes;if(Tc(p,Z),p===On&&(jn=On=null,Zn=0),($.subtreeFlags&2064)===0&&($.flags&2064)===0||Sd||(Sd=!0,zg(jt,function(){return Gl(),null})),Z=($.flags&15990)!==0,($.subtreeFlags&15990)!==0||Z){Z=Es.transition,Es.transition=null;var de=gr;gr=1;var ke=jr;jr|=4,bd.current=null,Wb(p,$),Ph($,p),bb(Mf),ao=!!Rf,Mf=Rf=null,p.current=$,Ag($),jl(),jr=ke,gr=de,Es.transition=Z}else p.current=$;if(Sd&&(Sd=!1,il=p,kd=q),Z=p.pendingLanes,Z===0&&(vo=null),mt($.stateNode),Ki(p,Yr()),v!==null)for(M=p.onRecoverableError,$=0;$<v.length;$++)q=v[$],M(q.value,{componentStack:q.stack,digest:q.digest});if(_d)throw _d=!1,p=Lh,Lh=null,p;return(kd&1)!==0&&p.tag!==0&&Gl(),Z=p.pendingLanes,(Z&1)!==0?p===Bh?tu++:(tu=0,Bh=p):tu=0,uo(),null}function Gl(){if(il!==null){var p=zt(kd),v=Es.transition,$=gr;try{if(Es.transition=null,gr=16>p?16:p,il===null)var M=!1;else{if(p=il,il=null,kd=0,(jr&6)!==0)throw Error(n(331));var q=jr;for(jr|=4,Rt=p.current;Rt!==null;){var Z=Rt,de=Z.child;if((Rt.flags&16)!==0){var ke=Z.deletions;if(ke!==null){for(var Ne=0;Ne<ke.length;Ne++){var Ke=ke[Ne];for(Rt=Ke;Rt!==null;){var ft=Rt;switch(ft.tag){case 0:case 11:case 15:Qc(8,ft,Z)}var ht=ft.child;if(ht!==null)ht.return=ft,Rt=ht;else for(;Rt!==null;){ft=Rt;var ct=ft.sibling,Ct=ft.return;if(Eg(ft),ft===Ke){Rt=null;break}if(ct!==null){ct.return=Ct,Rt=ct;break}Rt=Ct}}}var Mt=Z.alternate;if(Mt!==null){var Dt=Mt.child;if(Dt!==null){Mt.child=null;do{var Vr=Dt.sibling;Dt.sibling=null,Dt=Vr}while(Dt!==null)}}Rt=Z}}if((Z.subtreeFlags&2064)!==0&&de!==null)de.return=Z,Rt=de;else e:for(;Rt!==null;){if(Z=Rt,(Z.flags&2048)!==0)switch(Z.tag){case 0:case 11:case 15:Qc(9,Z,Z.return)}var qe=Z.sibling;if(qe!==null){qe.return=Z.return,Rt=qe;break e}Rt=Z.return}}var Ie=p.current;for(Rt=Ie;Rt!==null;){de=Rt;var Xe=de.child;if((de.subtreeFlags&2064)!==0&&Xe!==null)Xe.return=de,Rt=Xe;else e:for(de=Ie;Rt!==null;){if(ke=Rt,(ke.flags&2048)!==0)try{switch(ke.tag){case 0:case 11:case 15:Ah(9,ke)}}catch(Wt){gn(ke,ke.return,Wt)}if(ke===de){Rt=null;break e}var yt=ke.sibling;if(yt!==null){yt.return=ke.return,Rt=yt;break e}Rt=ke.return}}if(jr=q,uo(),lr&&typeof lr.onPostCommitFiberRoot=="function")try{lr.onPostCommitFiberRoot(_t,p)}catch{}M=!0}return M}finally{gr=$,Es.transition=v}}return!1}function Lg(p,v,$){v=Ul($,v),v=fg(p,v,1),p=ho(p,v,1),v=Ai(),p!==null&&(Ds(p,1,v),Ki(p,v))}function gn(p,v,$){if(p.tag===3)Lg(p,p,$);else for(;v!==null;){if(v.tag===3){Lg(v,p,$);break}else if(v.tag===1){var M=v.stateNode;if(typeof v.type.getDerivedStateFromError=="function"||typeof M.componentDidCatch=="function"&&(vo===null||!vo.has(M))){p=Ul($,p),p=hg(v,p,1),v=ho(v,p,1),p=Ai(),v!==null&&(Ds(v,1,p),Ki(v,p));break}}v=v.return}}function Xb(p,v,$){var M=p.pingCache;M!==null&&M.delete(v),v=Ai(),p.pingedLanes|=p.suspendedLanes&$,On===p&&(Zn&$)===$&&(Fn===4||Fn===3&&(Zn&130023424)===Zn&&500>Yr()-Dh?al(p,0):Ih|=$),Ki(p,v)}function Yb(p,v){v===0&&((p.mode&1)===0?v=1:(v=Rr,Rr<<=1,(Rr&130023424)===0&&(Rr=4194304)));var $=Ai();p=Pa(p,v),p!==null&&(Ds(p,v,$),Ki(p,$))}function Jb(p){var v=p.memoizedState,$=0;v!==null&&($=v.retryLane),Yb(p,$)}function Qb(p,v){var $=0;switch(p.tag){case 13:var M=p.stateNode,q=p.memoizedState;q!==null&&($=q.retryLane);break;case 19:M=p.stateNode;break;default:throw Error(n(314))}M!==null&&M.delete(v),Yb(p,$)}var Bg;Bg=function(p,v,$){if(p!==null)if(p.memoizedProps!==v.pendingProps||zi.current)Gi=!0;else{if((p.lanes&$)===0&&(v.flags&128)===0)return Gi=!1,H_(p,v,$);Gi=(p.flags&131072)!==0}else Gi=!1,dn&&(v.flags&1048576)!==0&&Ko(v,id,v.index);switch(v.lanes=0,v.tag){case 2:var M=v.type;gd(p,v),p=v.pendingProps;var q=ji(v,Ei.current);Bl(v,$),q=uh(null,v,M,p,q,$);var Z=dh();return v.flags|=1,typeof q=="object"&&q!==null&&typeof q.render=="function"&&q.$$typeof===void 0?(v.tag=1,v.memoizedState=null,v.updateQueue=null,Fi(M)?(Z=!0,td(v)):Z=!1,v.memoizedState=q.state!==null&&q.state!==void 0?q.state:null,ld(v),q.updater=Ma,v.stateNode=q,q._reactInternals=v,mh(v,M,p,$),v=bh(null,v,M,!0,Z,$)):(v.tag=0,dn&&Z&&Tn(v),di(null,v,q,$),v=v.child),v;case 16:M=v.elementType;e:{switch(gd(p,v),p=v.pendingProps,q=M._init,M=q(M._payload),v.type=M,q=v.tag=Zb(M),p=$n(M,p),q){case 0:v=yh(null,v,M,p,$);break e;case 1:v=bg(null,v,M,p,$);break e;case 11:v=mg(null,v,M,p,$);break e;case 14:v=Yc(null,v,M,$n(M.type,p),$);break e}throw Error(n(306,M,""))}return v;case 0:return M=v.type,q=v.pendingProps,q=v.elementType===M?q:$n(M,q),yh(p,v,M,q,$);case 1:return M=v.type,q=v.pendingProps,q=v.elementType===M?q:$n(M,q),bg(p,v,M,q,$);case 3:e:{if(xh(v),p===null)throw Error(n(387));M=v.pendingProps,Z=v.memoizedState,q=Z.element,th(p,v),cd(v,M,null,$);var de=v.memoizedState;if(M=de.element,Z.isDehydrated)if(Z={element:M,isDehydrated:!1,cache:de.cache,pendingSuspenseBoundaries:de.pendingSuspenseBoundaries,transitions:de.transitions},v.updateQueue.baseState=Z,v.memoizedState=Z,v.flags&256){q=Ul(Error(n(423)),v),v=xg(p,v,M,$,q);break e}else if(M!==q){q=Ul(Error(n(424)),v),v=xg(p,v,M,$,q);break e}else for(rs=lo(v.stateNode.containerInfo.firstChild),Wi=v,dn=!0,Hi=null,$=Yf(v,null,M,$),v.child=$;$;)$.flags=$.flags&-3|4096,$=$.sibling;else{if(Xo(),M===q){v=Ia(p,v,$);break e}di(p,v,M,$)}v=v.child}return v;case 5:return qm(v),p===null&&Gf(v),M=v.type,q=v.pendingProps,Z=p!==null?p.memoizedProps:null,de=q.children,If(M,q)?de=null:Z!==null&&If(M,Z)&&(v.flags|=32),yg(p,v),di(p,v,de,$),v.child;case 6:return p===null&&Gf(v),null;case 13:return wg(p,v,$);case 4:return rh(v,v.stateNode.containerInfo),M=v.pendingProps,p===null?v.child=Ll(v,null,M,$):di(p,v,M,$),v.child;case 11:return M=v.type,q=v.pendingProps,q=v.elementType===M?q:$n(M,q),mg(p,v,M,q,$);case 7:return di(p,v,v.pendingProps,$),v.child;case 8:return di(p,v,v.pendingProps.children,$),v.child;case 12:return di(p,v,v.pendingProps.children,$),v.child;case 10:e:{if(M=v.type._context,q=v.pendingProps,Z=v.memoizedProps,de=q.value,Gr(Yo,M._currentValue),M._currentValue=de,Z!==null)if(qs(Z.value,de)){if(Z.children===q.children&&!zi.current){v=Ia(p,v,$);break e}}else for(Z=v.child,Z!==null&&(Z.return=v);Z!==null;){var ke=Z.dependencies;if(ke!==null){de=Z.child;for(var Ne=ke.firstContext;Ne!==null;){if(Ne.context===M){if(Z.tag===1){Ne=Ra(-1,$&-$),Ne.tag=2;var Ke=Z.updateQueue;if(Ke!==null){Ke=Ke.shared;var ft=Ke.pending;ft===null?Ne.next=Ne:(Ne.next=ft.next,ft.next=Ne),Ke.pending=Ne}}Z.lanes|=$,Ne=Z.alternate,Ne!==null&&(Ne.lanes|=$),Um(Z.return,$,v),ke.lanes|=$;break}Ne=Ne.next}}else if(Z.tag===10)de=Z.type===v.type?null:Z.child;else if(Z.tag===18){if(de=Z.return,de===null)throw Error(n(341));de.lanes|=$,ke=de.alternate,ke!==null&&(ke.lanes|=$),Um(de,$,v),de=Z.sibling}else de=Z.child;if(de!==null)de.return=Z;else for(de=Z;de!==null;){if(de===v){de=null;break}if(Z=de.sibling,Z!==null){Z.return=de.return,de=Z;break}de=de.return}Z=de}di(p,v,q.children,$),v=v.child}return v;case 9:return q=v.type,M=v.pendingProps.children,Bl(v,$),q=Ss(q),M=M(q),v.flags|=1,di(p,v,M,$),v.child;case 14:return M=v.type,q=$n(M,v.pendingProps),q=$n(M.type,q),Yc(p,v,M,q,$);case 15:return gg(p,v,v.type,v.pendingProps,$);case 17:return M=v.type,q=v.pendingProps,q=v.elementType===M?q:$n(M,q),gd(p,v),v.tag=1,Fi(M)?(p=!0,td(v)):p=!1,Bl(v,$),ug(v,M,q),mh(v,M,q,$),bh(null,v,M,!0,p,$);case 19:return kh(p,v,$);case 22:return vg(p,v,$)}throw Error(n(156,v.tag))};function zg(p,v){return xi(p,v)}function V_(p,v,$,M){this.tag=p,this.key=$,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=v,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=M,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function is(p,v,$,M){return new V_(p,v,$,M)}function Hh(p){return p=p.prototype,!(!p||!p.isReactComponent)}function Zb(p){if(typeof p=="function")return Hh(p)?1:0;if(p!=null){if(p=p.$$typeof,p===V)return 11;if(p===H)return 14}return 2}function xo(p,v){var $=p.alternate;return $===null?($=is(p.tag,v,p.key,p.mode),$.elementType=p.elementType,$.type=p.type,$.stateNode=p.stateNode,$.alternate=p,p.alternate=$):($.pendingProps=v,$.type=p.type,$.flags=0,$.subtreeFlags=0,$.deletions=null),$.flags=p.flags&14680064,$.childLanes=p.childLanes,$.lanes=p.lanes,$.child=p.child,$.memoizedProps=p.memoizedProps,$.memoizedState=p.memoizedState,$.updateQueue=p.updateQueue,v=p.dependencies,$.dependencies=v===null?null:{lanes:v.lanes,firstContext:v.firstContext},$.sibling=p.sibling,$.index=p.index,$.ref=p.ref,$}function jd(p,v,$,M,q,Z){var de=2;if(M=p,typeof p=="function")Hh(p)&&(de=1);else if(typeof p=="string")de=5;else e:switch(p){case N:return Vl($.children,q,Z,v);case O:de=8,q|=8;break;case I:return p=is(12,$,v,q|2),p.elementType=I,p.lanes=Z,p;case F:return p=is(13,$,v,q),p.elementType=F,p.lanes=Z,p;case z:return p=is(19,$,v,q),p.elementType=z,p.lanes=Z,p;case se:return Td($,q,Z,v);default:if(typeof p=="object"&&p!==null)switch(p.$$typeof){case W:de=10;break e;case G:de=9;break e;case V:de=11;break e;case H:de=14;break e;case X:de=16,M=null;break e}throw Error(n(130,p==null?p:typeof p,""))}return v=is(de,$,v,q),v.elementType=p,v.type=M,v.lanes=Z,v}function Vl(p,v,$,M){return p=is(7,p,M,v),p.lanes=$,p}function Td(p,v,$,M){return p=is(22,p,M,v),p.elementType=se,p.lanes=$,p.stateNode={isHidden:!1},p}function Gh(p,v,$){return p=is(6,p,null,v),p.lanes=$,p}function Vh(p,v,$){return v=is(4,p.children!==null?p.children:[],p.key,v),v.lanes=$,v.stateNode={containerInfo:p.containerInfo,pendingChildren:null,implementation:p.implementation},v}function K_(p,v,$,M,q){this.tag=v,this.containerInfo=p,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Qe(0),this.expirationTimes=Qe(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qe(0),this.identifierPrefix=M,this.onRecoverableError=q,this.mutableSourceEagerHydrationData=null}function Kh(p,v,$,M,q,Z,de,ke,Ne){return p=new K_(p,v,$,ke,Ne),v===1?(v=1,Z===!0&&(v|=8)):v=0,Z=is(3,null,null,v),p.current=Z,Z.stateNode=p,Z.memoizedState={element:M,isDehydrated:$,cache:null,transitions:null,pendingSuspenseBoundaries:null},ld(Z),p}function X_(p,v,$){var M=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:A,key:M==null?null:""+M,children:p,containerInfo:v,implementation:$}}function Fg(p){if(!p)return co;p=p._reactInternals;e:{if(Ot(p)!==p||p.tag!==1)throw Error(n(170));var v=p;do{switch(v.tag){case 3:v=v.stateNode.context;break e;case 1:if(Fi(v.type)){v=v.stateNode.__reactInternalMemoizedMergedChildContext;break e}}v=v.return}while(v!==null);throw Error(n(171))}if(p.tag===1){var $=p.type;if(Fi($))return Dm(p,$,v)}return v}function ex(p,v,$,M,q,Z,de,ke,Ne){return p=Kh($,M,!0,p,q,Z,de,ke,Ne),p.context=Fg(null),$=p.current,M=Ai(),q=yo($),Z=Ra(M,q),Z.callback=v??null,ho($,Z,q),p.current.lanes=q,Ds(p,q,M),Ki(p,M),p}function Ad(p,v,$,M){var q=v.current,Z=Ai(),de=yo(q);return $=Fg($),v.context===null?v.context=$:v.pendingContext=$,v=Ra(Z,de),v.payload={element:p},M=M===void 0?null:M,M!==null&&(v.callback=M),p=ho(q,v,de),p!==null&&(Ks(p,q,de,Z),Gc(p,q,de)),de}function $d(p){if(p=p.current,!p.child)return null;switch(p.child.tag){case 5:return p.child.stateNode;default:return p.child.stateNode}}function Ug(p,v){if(p=p.memoizedState,p!==null&&p.dehydrated!==null){var $=p.retryLane;p.retryLane=$!==0&&$<v?$:v}}function Xh(p,v){Ug(p,v),(p=p.alternate)&&Ug(p,v)}function tx(){return null}var rx=typeof reportError=="function"?reportError:function(p){console.error(p)};function Yh(p){this._internalRoot=p}Kl.prototype.render=Yh.prototype.render=function(p){var v=this._internalRoot;if(v===null)throw Error(n(409));Ad(p,v,null,null)},Kl.prototype.unmount=Yh.prototype.unmount=function(){var p=this._internalRoot;if(p!==null){this._internalRoot=null;var v=p.containerInfo;sl(function(){Ad(null,p,null,null)}),v[ua]=null}};function Kl(p){this._internalRoot=p}Kl.prototype.unstable_scheduleHydration=function(p){if(p){var v=eo();p={blockedOn:null,target:p,priority:v};for(var $=0;$<Ls.length&&v!==0&&v<Ls[$].priority;$++);Ls.splice($,0,p),$===0&&Ac(p)}};function Jh(p){return!(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)}function Od(p){return!(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11&&(p.nodeType!==8||p.nodeValue!==" react-mount-point-unstable "))}function nx(){}function ix(p,v,$,M,q){if(q){if(typeof M=="function"){var Z=M;M=function(){var Ke=$d(de);Z.call(Ke)}}var de=ex(v,M,p,0,null,!1,!1,"",nx);return p._reactRootContainer=de,p[ua]=de.current,Fc(p.nodeType===8?p.parentNode:p),sl(),de}for(;q=p.lastChild;)p.removeChild(q);if(typeof M=="function"){var ke=M;M=function(){var Ke=$d(Ne);ke.call(Ke)}}var Ne=Kh(p,0,!1,null,null,!1,!1,"",nx);return p._reactRootContainer=Ne,p[ua]=Ne.current,Fc(p.nodeType===8?p.parentNode:p),sl(function(){Ad(v,Ne,$,M)}),Ne}function iu(p,v,$,M,q){var Z=$._reactRootContainer;if(Z){var de=Z;if(typeof q=="function"){var ke=q;q=function(){var Ne=$d(de);ke.call(Ne)}}Ad(v,de,p,q)}else de=ix($,v,p,q,M);return $d(de)}ia=function(p){switch(p.tag){case 3:var v=p.stateNode;if(v.current.memoizedState.isDehydrated){var $=ps(v.pendingLanes);$!==0&&(Tl(v,$|1),Ki(v,Yr()),(jr&6)===0&&(Hl=Yr()+500,uo()))}break;case 13:sl(function(){var M=Pa(p,1);if(M!==null){var q=Ai();Ks(M,p,1,q)}}),Xh(p,1)}},Ea=function(p){if(p.tag===13){var v=Pa(p,134217728);if(v!==null){var $=Ai();Ks(v,p,134217728,$)}Xh(p,134217728)}},ja=function(p){if(p.tag===13){var v=yo(p),$=Pa(p,v);if($!==null){var M=Ai();Ks($,p,v,M)}Xh(p,v)}},eo=function(){return gr},qo=function(p,v){var $=gr;try{return gr=p,v()}finally{gr=$}},Ve=function(p,v,$){switch(v){case"input":if(dt(p,$),v=$.name,$.type==="radio"&&v!=null){for($=p;$.parentNode;)$=$.parentNode;for($=$.querySelectorAll("input[name="+JSON.stringify(""+v)+'][type="radio"]'),v=0;v<$.length;v++){var M=$[v];if(M!==p&&M.form===p.form){var q=Zu(M);if(!q)throw Error(n(90));Me(M),dt(M,q)}}}break;case"textarea":nn(p,$);break;case"select":v=$.value,v!=null&&cr(p,!!$.multiple,v,!1)}},sn=Uh,Li=sl;var qg={usingClientEntryPoint:!1,Events:[Wc,Pl,Zu,Pr,Xr,Uh]},Xs={findFiberByHostInstance:Go,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},sx={bundleType:Xs.bundleType,version:Xs.version,rendererPackageName:Xs.rendererPackageName,rendererConfig:Xs.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:T.ReactCurrentDispatcher,findHostInstanceByFiber:function(p){return p=fs(p),p===null?null:p.stateNode},findFiberByHostInstance:Xs.findFiberByHostInstance||tx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var su=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!su.isDisabled&&su.supportsFiber)try{_t=su.inject(sx),lr=su}catch{}}return Ys.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=qg,Ys.createPortal=function(p,v){var $=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Jh(v))throw Error(n(200));return X_(p,v,null,$)},Ys.createRoot=function(p,v){if(!Jh(p))throw Error(n(299));var $=!1,M="",q=rx;return v!=null&&(v.unstable_strictMode===!0&&($=!0),v.identifierPrefix!==void 0&&(M=v.identifierPrefix),v.onRecoverableError!==void 0&&(q=v.onRecoverableError)),v=Kh(p,1,!1,null,null,$,!1,M,q),p[ua]=v.current,Fc(p.nodeType===8?p.parentNode:p),new Yh(v)},Ys.findDOMNode=function(p){if(p==null)return null;if(p.nodeType===1)return p;var v=p._reactInternals;if(v===void 0)throw typeof p.render=="function"?Error(n(188)):(p=Object.keys(p).join(","),Error(n(268,p)));return p=fs(v),p=p===null?null:p.stateNode,p},Ys.flushSync=function(p){return sl(p)},Ys.hydrate=function(p,v,$){if(!Od(v))throw Error(n(200));return iu(null,p,v,!0,$)},Ys.hydrateRoot=function(p,v,$){if(!Jh(p))throw Error(n(405));var M=$!=null&&$.hydratedSources||null,q=!1,Z="",de=rx;if($!=null&&($.unstable_strictMode===!0&&(q=!0),$.identifierPrefix!==void 0&&(Z=$.identifierPrefix),$.onRecoverableError!==void 0&&(de=$.onRecoverableError)),v=ex(v,null,p,1,$??null,q,!1,Z,de),p[ua]=v.current,Fc(p),M)for(p=0;p<M.length;p++)$=M[p],q=$._getVersion,q=q($._source),v.mutableSourceEagerHydrationData==null?v.mutableSourceEagerHydrationData=[$,q]:v.mutableSourceEagerHydrationData.push($,q);return new Kl(v)},Ys.render=function(p,v,$){if(!Od(v))throw Error(n(200));return iu(null,p,v,!1,$)},Ys.unmountComponentAtNode=function(p){if(!Od(p))throw Error(n(40));return p._reactRootContainer?(sl(function(){iu(null,null,p,!1,function(){p._reactRootContainer=null,p[ua]=null})}),!0):!1},Ys.unstable_batchedUpdates=Uh,Ys.unstable_renderSubtreeIntoContainer=function(p,v,$,M){if(!Od($))throw Error(n(200));if(p==null||p._reactInternals===void 0)throw Error(n(38));return iu(p,v,$,!1,M)},Ys.version="18.3.1-next-f1338f8080-20240426",Ys}var b$;function N5(){if(b$)return e1.exports;b$=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(r){console.error(r)}}return e(),e1.exports=Z8(),e1.exports}var x$;function eU(){if(x$)return lx;x$=1;var e=N5();return lx.createRoot=e.createRoot,lx.hydrateRoot=e.hydrateRoot,lx}var tU=eU();const rU=rn(tU);var B=gT();const Fe=rn(B),w$=e=>{let r;const n=new Set,i=(f,m)=>{const h=typeof f=="function"?f(r):f;if(!Object.is(h,r)){const y=r;r=m??(typeof h!="object"||h===null)?h:Object.assign({},r,h),n.forEach(x=>x(r,y))}},s=()=>r,o={setState:i,getState:s,getInitialState:()=>u,subscribe:f=>(n.add(f),()=>n.delete(f))},u=r=e(i,s,o);return o},nU=(e=>e?w$(e):w$),iU=e=>e;function sU(e,r=iU){const n=Fe.useSyncExternalStore(e.subscribe,Fe.useCallback(()=>r(e.getState()),[e,r]),Fe.useCallback(()=>r(e.getInitialState()),[e,r]));return Fe.useDebugValue(n),n}const _$=e=>{const r=nU(e),n=i=>sU(r,i);return Object.assign(n,r),n},Mn=(e=>e?_$(e):_$);function Io(e){return"'"+e.replace(/'/g,"'\\''")+"'"}const n1=({sessionId:e})=>`claude --dangerously-skip-permissions --session-id ${Io(e)}`,S$=({sessionId:e})=>`claude --session-id ${Io(e)}`,aU=()=>"claude --resume",P5=[{id:"sm-dangerous",label:"Session Manager (skip perms)",description:"claude --dangerously-skip-permissions in this project",category:"build",cwd:"app-cwd",command:n1},{id:"sm-safe",label:"Session Manager (safe)",description:"claude with normal permission prompts in this project",category:"build",cwd:"app-cwd",command:S$},{id:"home-dangerous",label:"Home (skip perms)",description:"claude --dangerously-skip-permissions in ~",category:"build",cwd:"home",command:n1},{id:"pick-dangerous",label:"Pick directory (skip perms)…",description:"Choose a folder, launch claude --dangerously-skip-permissions",category:"build",cwd:"pick",command:n1},{id:"pick-safe",label:"Pick directory (safe)…",description:"Choose a folder, launch claude with normal prompts",category:"build",cwd:"pick",command:S$},{id:"pick-resume",label:"Pick directory + resume…",description:"Choose a folder, then pick a past session to resume",category:"build",cwd:"pick",command:aU},{id:"pick-shell",label:"Pick directory (shell only)…",description:"Bare interactive shell, no claude auto-launch",category:"build",cwd:"pick",command:null}];let La=null;async function oU(){if(La)return La;try{const e=await window.api.app.engageRulesPath();if(!e)return La=[],La;const r=await window.api.config.readJson(e);if(!r.exists||r.parseError||!r.data)return La=[],La;const n=r.data;if(!n.presets||!Array.isArray(n.presets))return La=[],La;const i=n.projectPath;return La=n.presets.map(s=>({id:s.id,label:s.label,description:s.description,category:"engage",cwd:i,platform:s.platform,pipeline:s.pipeline,rules:s.rules,command:()=>`cd ${Io(i)} && ${s.cliEntry}`})),La}catch(e){return console.warn("[presets] Failed to load engage presets:",e),La=[],La}}async function R5(e){const r=P5.find(i=>i.id===e);return r||((await oU()).find(i=>i.id===e)??null)}async function lU(e){return e.cwd==="app-cwd"?window.api.app.cwd():e.cwd==="home"?window.api.app.homeDir():e.cwd==="pick"?window.api.app.pickDirectory():e.cwd}function M5(e,r){return e.command?e.command(r):null}function cU(e){const r=e.split("/").filter(Boolean);return r[r.length-1]||e}const Qt=Mn((e,r)=>({tabs:[],activeTabId:null,hydrated:!1,addTab:({id:n,cwd:i,startupCommand:s,presetId:a=null,label:l})=>{const o=n??crypto.randomUUID();if(r().tabs.find(m=>m.id===o))return e({activeTabId:o}),o;const f={id:o,claudeSessionId:o,label:l??cU(i),cwd:i,pid:null,status:"spawning",exitCode:null,startupCommand:s,presetId:a,generation:0};return e({tabs:[...r().tabs,f],activeTabId:o}),o},setTabRunning:(n,i)=>e({tabs:r().tabs.map(s=>s.id===n?{...s,pid:i,status:"running"}:s)}),setTabExited:(n,i)=>e({tabs:r().tabs.map(s=>s.id===n?{...s,status:"exited",exitCode:i}:s)}),closeTab:n=>{var a;window.api.pty.kill(n),window.api.watchers.killTab(n).catch(()=>{}),window.api.transcripts.closeTab(n).catch(()=>{});const i=r().tabs.filter(l=>l.id!==n),s=r().activeTabId===n?((a=i[i.length-1])==null?void 0:a.id)??null:r().activeTabId;e({tabs:i,activeTabId:s})},setActive:n=>e({activeTabId:n}),restartTab:n=>{const i=r().tabs.find(l=>l.id===n);if(!i)return;window.api.pty.kill(n);const s=crypto.randomUUID(),a=l=>{e({tabs:r().tabs.map(o=>o.id===n?{...o,claudeSessionId:s,pid:null,status:"spawning",exitCode:null,startupCommand:l,generation:o.generation+1}:o)})};i.presetId?R5(i.presetId).then(l=>{a(l?M5(l,{sessionId:s,cwd:i.cwd}):`claude --dangerously-skip-permissions --session-id ${Io(s)}`)}):a(`claude --dangerously-skip-permissions --session-id ${Io(s)}`)},reorderTab:(n,i)=>{const s=[...r().tabs];if(n<0||n>=s.length||i<0||i>=s.length||n===i)return;const[a]=s.splice(n,1);s.splice(i,0,a),e({tabs:s})},restoreTabs:(n,i)=>e({tabs:n,activeTabId:i,hydrated:!0})}));async function I5(){var n;if(Qt.getState().hydrated)return;try{const{tabs:i,activeTabId:s,freshStart:a}=await window.api.sessions.load();if(i.length>0){const l=await Promise.all(i.map(async u=>{let f=!a;if(f){const h=await window.api.transcripts.pathFor(u.cwd,u.claudeSessionId);f=await window.api.config.exists(h)}const m=f?u.claudeSessionId:crypto.randomUUID();return{id:u.id,claudeSessionId:m,cwd:u.cwd,label:u.label,presetId:u.presetId,pid:null,status:"spawning",exitCode:null,startupCommand:f?`claude --dangerously-skip-permissions --resume ${Io(m)}`:`claude --dangerously-skip-permissions --session-id ${Io(m)}`,generation:0}})),o=s&&l.find(u=>u.id===s)?s:((n=l[0])==null?void 0:n.id)??null;Qt.getState().restoreTabs(l,o)}else Qt.setState({hydrated:!0})}catch(i){console.warn("[sessions] hydrate failed:",i),Qt.setState({hydrated:!0})}const e=()=>{const{tabs:i,activeTabId:s}=Qt.getState(),a=i.map(l=>({id:l.id,claudeSessionId:l.claudeSessionId,cwd:l.cwd,label:l.label,presetId:l.presetId}));window.api.sessions.save({tabs:a,activeTabId:s}).catch(l=>{console.warn("[sessions] save failed:",l)})};let r=null;Qt.subscribe((i,s)=>{i.hydrated&&(i.tabs===s.tabs&&i.activeTabId===s.activeTabId||(r!==null&&window.clearTimeout(r),r=window.setTimeout(e,200)))}),e()}const uU=Object.freeze(Object.defineProperty({__proto__:null,hydrateSessions:I5,useSessions:Qt},Symbol.toStringTag,{value:"Module"})),dU=5,k$=100,fU=5e3,iE=new Map;function C$(e){const r=iE.get(e);r!==void 0&&(clearTimeout(r),iE.delete(e))}function hU(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`t-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}const vp=Mn((e,r)=>({toasts:[],history:[],unreadCount:0,show:(n,i)=>{const s=hU(),a=Date.now();e(o=>{const u=[...o.toasts,{id:s,kind:n,message:i,createdAt:a}];for(;u.length>dU;){const h=u.shift();h&&C$(h.id)}const m=[{id:s,kind:n,message:i,createdAt:a,read:!1},...o.history];return m.length>k$&&(m.length=k$),{toasts:u,history:m,unreadCount:o.unreadCount+1}});const l=setTimeout(()=>r().dismiss(s),fU);return iE.set(s,l),s},dismiss:n=>{C$(n),e(i=>({toasts:i.toasts.filter(s=>s.id!==n)}))},markAllRead:()=>{e(n=>n.unreadCount===0?n:{history:n.history.map(i=>i.read?i:{...i,read:!0}),unreadCount:0})},clearHistory:()=>{e({history:[],unreadCount:0})},dismissHistoryEntry:n=>{e(i=>{const s=i.history.filter(l=>l.id!==n);if(s.length===i.history.length)return i;const a=i.history.find(l=>l.id===n&&!l.read);return{history:s,unreadCount:a?Math.max(0,i.unreadCount-1):i.unreadCount}})}})),ot={info:e=>vp.getState().show("info",e),warn:e=>vp.getState().show("warn",e),error:e=>vp.getState().show("error",e)},D5=Object.freeze(Object.defineProperty({__proto__:null,toast:ot,useToast:vp},Symbol.toStringTag,{value:"Module"})),E$=200,pU=/\x1b\[[0-9;]*m/g;function mU(e){return e.replace(pU,"")}const Uv=Mn((e,r)=>({watchers:{},initialized:!1,init:()=>{r().initialized||(e({initialized:!0}),window.api.watchers.onLine(n=>r().ingestLine(n)),window.api.watchers.onClosed(({watcherId:n})=>r().closed(n)))},add:async({tabId:n,label:i,command:s,cwd:a})=>{try{const l=await window.api.watchers.add({tabId:n,label:i,command:s,cwd:a??null}),o={watcherId:l.watcherId,tabId:l.tabId,label:l.label,command:l.command,cwd:l.cwd,pid:l.pid,startedAt:l.startedAt,lineCount:0,lines:[],lastLineAt:null};return e({watchers:{...r().watchers,[o.watcherId]:o}}),o}catch(l){return console.error("[watchers] add failed:",l),ot.error("Failed to add watcher"),null}},remove:async n=>{try{await window.api.watchers.remove(n)}catch(s){console.error("[watchers] remove failed:",s);const a=s instanceof Error?s.message:String(s);ot.error(`Could not remove watcher: ${a}`)}const i={...r().watchers};delete i[n],e({watchers:i})},watchersForTab:n=>Object.values(r().watchers).filter(i=>i.tabId===n),ingestLine:n=>{const i=r().watchers[n.watcherId];if(!i)return;const s=mU(n.line),a=i.lines.length>=E$?[...i.lines.slice(i.lines.length-E$+1),{line:s,ts:n.ts}]:[...i.lines,{line:s,ts:n.ts}];e({watchers:{...r().watchers,[n.watcherId]:{...i,lines:a,lineCount:i.lineCount+1,lastLineAt:n.ts}}})},closed:n=>{if(!r().watchers[n])return;const i={...r().watchers};delete i[n],e({watchers:i})}})),gU=4,j$=40,T$=6;function vU(e){const{onReorder:r,onActivate:n}=e,i=B.useRef(null),s=B.useRef(null),a=B.useRef(0),l=B.useRef(0),[o,u]=B.useState(!1),[,f]=B.useState(0),m=B.useRef(n);m.current=n;const h=B.useCallback(()=>i.current?Array.from(i.current.querySelectorAll("[data-drag-index]")):[],[]),y=B.useCallback((b,w,S)=>{for(let C=0;C<w.length;C++){const T=w[C].left+w[C].width/2;if(b<T)return C<=S?C:C-1}return w.length-1},[]),x=B.useCallback(()=>{const b=s.current,w=i.current;if(!(b!=null&&b.active)||!w)return;const S=w.getBoundingClientRect(),C=b.startX+b.deltaX,T=C-S.left,j=S.right-C;T<j$?w.scrollLeft-=T$:j<j$&&(w.scrollLeft+=T$),a.current=requestAnimationFrame(x)},[]);B.useEffect(()=>{const b=i.current;if(!b)return;let w=!1;const S=()=>{w||(w=!0,l.current=requestAnimationFrame(()=>{w=!1,f(j=>j+1)}))},C=j=>{var W;const A=s.current;if(!A)return;const N=j.clientX-A.startX;if(!A.active&&Math.abs(N)<gU)return;if(!A.active){A.active=!0,A.tabRects=h().map(G=>G.getBoundingClientRect()),u(!0);try{(W=i.current)==null||W.setPointerCapture(A.pointerId)}catch{}a.current=requestAnimationFrame(x)}A.deltaX=N;const O=A.tabRects[A.fromIndex],I=O.left+O.width/2+N;A.currentIndex=y(I,A.tabRects,A.fromIndex),S()},T=j=>{const A=s.current;if(A&&A.pointerId===j.pointerId){cancelAnimationFrame(a.current),cancelAnimationFrame(l.current);try{b.releasePointerCapture(A.pointerId)}catch{}A.active&&A.fromIndex!==A.currentIndex?r(A.fromIndex,A.currentIndex):m.current(A.fromIndex),s.current=null,u(!1),f(N=>N+1)}};return b.addEventListener("pointermove",C),b.addEventListener("pointerup",T),b.addEventListener("pointercancel",T),()=>{b.removeEventListener("pointermove",C),b.removeEventListener("pointerup",T),b.removeEventListener("pointercancel",T),cancelAnimationFrame(a.current),cancelAnimationFrame(l.current)}},[r,h,y,x]);const k=B.useCallback((b,w)=>{b.button!==0||b.target.closest("button")||(s.current={active:!1,fromIndex:w,currentIndex:w,startX:b.clientX,deltaX:0,tabRects:[],pointerId:b.pointerId})},[]);return{getTabDragProps:B.useCallback(b=>{var C;const w=s.current,S={};if(w!=null&&w.active)if(b===w.fromIndex)S.transform=`translateX(${w.deltaX}px) scale(1.03)`,S.zIndex=10,S.opacity=.85,S.boxShadow="0 2px 8px rgba(0,0,0,0.4)",S.position="relative",S.pointerEvents="none";else{const T=w.fromIndex,j=w.currentIndex,N=(((C=w.tabRects[T])==null?void 0:C.width)??0)+4;S.transition="transform 0.15s ease",T<j&&b>T&&b<=j?S.transform=`translateX(-${N}px)`:T>j&&b>=j&&b<T?S.transform=`translateX(${N}px)`:S.transform="translateX(0)"}return{onPointerDown:T=>k(T,b),style:S,"data-drag-index":b}},[k]),isDragging:o,containerRef:i}}const yU=3e4;function bU(){const e=Qt(x=>x.tabs),r=Qt(x=>x.activeTabId),n=Qt(x=>x.closeTab),i=Qt(x=>x.setActive),s=Qt(x=>x.reorderTab),a=Uv(x=>x.watchers),[l,o]=B.useState(()=>Date.now());B.useEffect(()=>{const x=window.setInterval(()=>o(Date.now()),1e3);return()=>window.clearInterval(x)},[]);const u=x=>{for(const k of Object.values(a))if(k.tabId===x&&k.lastLineAt&&l-k.lastLineAt<yU)return!0;return!1},{getTabDragProps:f,isDragging:m,containerRef:h}=vU({tabCount:e.length,onReorder:s,onActivate:x=>{const k=e[x];k&&i(k.id)}}),y=["#6f7d52","#b85c34","#a39079","#7a8466","#5b4a36"];return c.jsxs("div",{className:"h-11 bg-bg-elev border-b border-line flex items-end px-3 gap-0 shrink-0 relative","data-testid":"tour-tabbar",children:[c.jsx("div",{ref:h,className:`flex items-end gap-0.5 overflow-x-auto min-w-0 flex-1 select-none ${m?"cursor-grabbing":""}`,children:e.map((x,k)=>{const _=x.id===r,b=f(k),w=y[k%y.length];return c.jsxs("div",{...b,style:b.style,className:`group flex items-center gap-2 px-3.5 pt-1.5 pb-2 rounded-t-[10px] text-[13px] shrink-0 transition-colors ${m?"":"cursor-grab"} ${_?"bg-bg text-fg font-medium relative z-10 -mb-px border border-b-0 border-line":"text-fg-dim hover:text-fg hover:bg-bg-hi/40"}`,title:x.cwd,"aria-current":_?"true":void 0,children:[c.jsx("span",{className:"w-2 h-2 rounded-full",style:{background:w,boxShadow:"inset 0 0 0 0.5px rgba(0,0,0,0.15)",opacity:x.status==="spawning"?.55:1}}),c.jsx("span",{className:"truncate max-w-[200px]",children:x.label}),x.status==="spawning"&&c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-butter animate-pulse",title:"spawning"}),u(x.id)&&c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse",title:"watcher emitted a line in the last 30s","data-testid":"tab-watcher-dot"}),c.jsx("button",{onClick:S=>{S.stopPropagation(),n(x.id)},className:"text-fg-faint opacity-0 group-hover:opacity-100 hover:text-fg ml-1 leading-none",title:"Close session","aria-label":`Close ${x.label}`,children:"×"})]},x.id)})}),c.jsxs("div",{className:"flex items-center gap-2 pb-2 pl-3 text-[12px] text-fg-faint shrink-0",children:[c.jsx("span",{className:"font-semibold text-fg-dim",children:"Claude Session Manager"}),c.jsxs("span",{className:"font-mono text-[11px] text-fg-faint",children:["v","0.25.0"]})]})]})}function xU(e,r,n){return r?e.map(i=>i.id===r?{...i,lastActivityAt:n}:i):e}function wU(e,r,n){return{tabId:e,sessionUuid:n,cwd:r,path:null,todos:[],lastToolUses:[],plans:[],agents:[],usage:{inputTokens:0,outputTokens:0},lastEventAt:0,activityRing:[],activitySeq:0}}const i0=Mn((e,r)=>({tabs:{},refs:{},unsubs:{},subscribe:(n,i,s)=>{const a={...r().refs};if(a[n]=(a[n]??0)+1,e({refs:a}),a[n]>1)return;e({tabs:{...r().tabs,[n]:wU(n,i,s)}});const l=window.api.transcripts.onEvent(n,o=>r().ingest(n,o));e({unsubs:{...r().unsubs,[n]:l}}),window.api.transcripts.subscribe({tabId:n,cwd:i,sessionUuid:s}).then(async o=>{const u=r().tabs[n];if(!u)return;if(!o.ok){const{toast:m}=await nm(async()=>{const{toast:h}=await Promise.resolve().then(()=>D5);return{toast:h}},void 0,import.meta.url);m.error(`Live view unavailable: ${o.error??"subscribe failed"}`),e({tabs:{...r().tabs,[n]:{...u,path:null}}});return}e({tabs:{...r().tabs,[n]:{...u,path:o.path}}});const f=await window.api.transcripts.buffer(n);for(const m of f)r().ingest(n,m,{replay:!0})}).catch(o=>console.error("[live] transcripts.subscribe failed:",n,o))},unsubscribe:n=>{const i={...r().refs};if(!i[n])return;if(i[n]--,i[n]>0){e({refs:i});return}delete i[n];const s=r().unsubs[n];s==null||s();const a={...r().unsubs};delete a[n];const l={...r().tabs};delete l[n],window.api.transcripts.unsubscribe(n),e({refs:i,unsubs:a,tabs:l})},ingest:(n,i,s)=>{const a=r().tabs[n];if(!a)return;const l=Date.now(),o={...a,lastEventAt:s!=null&&s.replay?a.lastEventAt:l},u=[],f=(m,h)=>m.length>h?m.slice(0,h-1)+"…":m;switch(i.kind){case"todo_write":{const m=Array.isArray(i.data)?i.data:[];o.todos=m,s!=null&&s.replay||u.push({id:0,kind:"todo-update",at:l,label:`Todos · ${m.length} item${m.length!==1?"s":""}`});break}case"tool_use":{const m=i.data,h=m.input,y={};for(const x of["command","file_path","pattern","url","query","subagent_type","description"])h&&x in h&&(y[x]=h[x]);if(o.lastToolUses=[{id:m.id,name:m.name,input:y,at:l},...a.lastToolUses].slice(0,50),!(s!=null&&s.replay)){const x=m.input,k=["Edit","Write","NotebookEdit"].includes(m.name),_=typeof(x==null?void 0:x.file_path)=="string"?x.file_path:void 0,b=typeof(x==null?void 0:x.command)=="string"?x.command:void 0,w=_?_.split("/").pop()??_:b?f(b,28):"";u.push({id:0,kind:"tool-use",at:l,label:w?`${m.name} · ${w}`:m.name,target:_??b,toolName:m.name}),k&&_&&u.push({id:0,kind:"file-edit",at:l,label:`${m.name} · ${f(_.split("/").pop()??_,34)}`,target:_,toolName:m.name})}break}case"plan":{const m=i.data,h=typeof m=="string"?m:(m==null?void 0:m.plan)??JSON.stringify(m);o.plans=[{at:l,content:h??""},...a.plans].slice(0,50),s!=null&&s.replay||u.push({id:0,kind:"plan-revision",at:l,label:"Plan revised"});break}case"agent_spawn":{const m=i.data;o.agents=[{id:m==null?void 0:m.toolUseId,at:l,subagentType:m==null?void 0:m.subagent_type,description:m==null?void 0:m.description,lastActivityAt:l},...a.agents].slice(0,50),s!=null&&s.replay||u.push({id:0,kind:"agent-spawn",at:l,label:m!=null&&m.subagent_type?`Agent: ${f(m.subagent_type,32)}`:"Agent spawned"});break}case"usage":{const m=i.data,h=(a.usage.inputTokens||0)+(a.usage.outputTokens||0),y=m.input_tokens??m.inputTokens??0,x=m.output_tokens??m.outputTokens??0,k=h+y+x;o.usage={inputTokens:(a.usage.inputTokens||0)+y,outputTokens:(a.usage.outputTokens||0)+x,cacheCreationInputTokens:(a.usage.cacheCreationInputTokens||0)+(m.cache_creation_input_tokens??m.cacheCreationInputTokens??0),cacheReadInputTokens:(a.usage.cacheReadInputTokens||0)+(m.cache_read_input_tokens??m.cacheReadInputTokens??0)},!(s!=null&&s.replay)&&Math.floor(k/1e3)>Math.floor(h/1e3)&&u.push({id:0,kind:"usage-tick",at:l,label:`${Math.floor(k/1e3)}k tokens`});break}case"tool_result":{const m=i.data;o.agents=xU(a.agents,m==null?void 0:m.toolUseId,l);break}}if(u.length>0){let m=a.activitySeq;const h=u.map(y=>({...y,id:++m}));o.activitySeq=m,o.activityRing=[...a.activityRing,...h].slice(-32)}e({tabs:{...r().tabs,[n]:o}})}}));function vT(e){const r=i0(s=>s.subscribe),n=i0(s=>s.unsubscribe),i=i0(s=>e?s.tabs[e.id]:void 0);return B.useEffect(()=>{if(e)return r(e.id,e.cwd,e.claudeSessionId),()=>n(e.id)},[e==null?void 0:e.id,e==null?void 0:e.cwd,e==null?void 0:e.claudeSessionId,r,n]),i}var i1={},Gg={},A$;function L5(){if(A$)return Gg;A$=1,Object.defineProperty(Gg,"__esModule",{value:!0}),Gg.baseAssetPath=void 0;const r=typeof window<"u"&&typeof window.document<"u"?window.document.currentScript:null;let n="/";return r&&(n=r.src.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^/]+$/,"/")),Gg.baseAssetPath=n,Gg}var Vg={},$$;function yT(){if($$)return Vg;$$=1,Object.defineProperty(Vg,"__esModule",{value:!0}),Vg.defaultModelFetcher=void 0;const e=r=>fetch(r).then(n=>n.arrayBuffer());return Vg.defaultModelFetcher=e,Vg}var Jl={},Kg={},O$;function Wy(){if(O$)return Kg;O$=1,Object.defineProperty(Kg,"__esModule",{value:!0}),Kg.log=void 0;const e=r=>n=>{console.log(`VAD | ${r} >`,n)};return Kg.log={error:e("error"),debug:e("debug"),warn:e("warn")},Kg}var Xg={},N$;function Vw(){if(N$)return Xg;N$=1,Object.defineProperty(Xg,"__esModule",{value:!0}),Xg.Message=void 0;var e;return(function(r){r.AudioFrame="AUDIO_FRAME",r.SpeechStart="SPEECH_START",r.VADMisfire="VAD_MISFIRE",r.SpeechEnd="SPEECH_END",r.SpeechStop="SPEECH_STOP",r.SpeechRealStart="SPEECH_REAL_START",r.FrameProcessed="FRAME_PROCESSED"})(e||(Xg.Message=e={})),Xg}var P$;function bT(){if(P$)return Jl;P$=1,Object.defineProperty(Jl,"__esModule",{value:!0}),Jl.FrameProcessor=Jl.validateOptions=Jl.defaultFrameProcessorOptions=void 0;const e=Wy(),r=Vw();Jl.defaultFrameProcessorOptions={positiveSpeechThreshold:.3,negativeSpeechThreshold:.25,preSpeechPadMs:800,redemptionMs:1400,minSpeechMs:400,submitUserSpeechOnPause:!1};function n(l){(l.positiveSpeechThreshold<0||l.positiveSpeechThreshold>1)&&e.log.error("positiveSpeechThreshold should be a number between 0 and 1"),(l.negativeSpeechThreshold<0||l.negativeSpeechThreshold>l.positiveSpeechThreshold)&&e.log.error("negativeSpeechThreshold should be between 0 and positiveSpeechThreshold"),l.preSpeechPadMs<0&&e.log.error("preSpeechPadMs should be positive"),l.redemptionMs<0&&e.log.error("redemptionMs should be positive"),l.minSpeechMs<0&&e.log.error("minSpeechMs should be positive")}Jl.validateOptions=n;const i=l=>{const o=l.reduce((f,m)=>(f.push(f.at(-1)+m.length),f),[0]),u=new Float32Array(o.at(-1));return l.forEach((f,m)=>{const h=o[m];u.set(f,h)}),u};function s(l,o){const u=Math.floor(l.redemptionMs/o),f=Math.floor(l.preSpeechPadMs/o),m=Math.floor(l.minSpeechMs/o);return{redemptionFrames:u,preSpeechPadFrames:f,minSpeechFrames:m}}class a{constructor(o,u,f,m){this.modelProcessFunc=o,this.modelResetFunc=u,this.options=f,this.msPerFrame=m,this.speaking=!1,this.redemptionCounter=0,this.speechFrameCount=0,this.active=!1,this.speechRealStartFired=!1,this.setOptions=k=>{this.options={...this.options,...k};const{redemptionFrames:_,preSpeechPadFrames:b,minSpeechFrames:w}=s(this.options,this.msPerFrame);this.redemptionFrames=_,this.preSpeechPadFrames=b,this.minSpeechFrames=w},this.reset=()=>{this.speaking=!1,this.speechRealStartFired=!1,this.audioBuffer=[],this.modelResetFunc(),this.redemptionCounter=0,this.speechFrameCount=0},this.pause=k=>{this.active=!1,this.options.submitUserSpeechOnPause?this.endSegment(k):this.reset()},this.resume=()=>{this.active=!0},this.endSegment=k=>{const _=this.audioBuffer;this.audioBuffer=[];const b=this.speaking;if(this.reset(),b)if(_.reduce((S,C)=>C.isSpeech?S+1:S,0)>=this.minSpeechFrames){const S=i(_.map(C=>C.frame));k({msg:r.Message.SpeechEnd,audio:S})}else k({msg:r.Message.VADMisfire});return{}},this.process=async(k,_)=>{if(!this.active)return;const b=await this.modelProcessFunc(k),w=b.isSpeech>=this.options.positiveSpeechThreshold;if(_({probs:b,msg:r.Message.FrameProcessed,frame:k}),this.audioBuffer.push({frame:k,isSpeech:w}),w&&(this.speechFrameCount++,this.redemptionCounter=0),w&&!this.speaking&&(this.speaking=!0,_({msg:r.Message.SpeechStart})),this.speaking&&this.speechFrameCount===this.minSpeechFrames&&!this.speechRealStartFired&&(this.speechRealStartFired=!0,_({msg:r.Message.SpeechRealStart})),b.isSpeech<this.options.negativeSpeechThreshold&&this.speaking&&++this.redemptionCounter>=this.redemptionFrames){this.redemptionCounter=0,this.speechFrameCount=0,this.speaking=!1,this.speechRealStartFired=!1;const S=this.audioBuffer;if(this.audioBuffer=[],S.reduce((T,j)=>j.isSpeech?T+1:T,0)>=this.minSpeechFrames){const T=i(S.map(j=>j.frame));_({msg:r.Message.SpeechEnd,audio:T})}else _({msg:r.Message.VADMisfire})}if(!this.speaking){for(;this.audioBuffer.length>this.preSpeechPadFrames;)this.audioBuffer.shift();this.speechFrameCount=0}},this.audioBuffer=[];const{redemptionFrames:h,preSpeechPadFrames:y,minSpeechFrames:x}=s(this.options,this.msPerFrame);this.redemptionFrames=h,this.preSpeechPadFrames=y,this.minSpeechFrames=x,this.reset()}}return Jl.FrameProcessor=a,Jl}var Ql={};function Ha(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var s1={exports:{}};/*!
42
42
  * ONNX Runtime Web v1.26.0
43
43
  * Copyright (c) Microsoft Corporation. All rights reserved.
44
44
  * Licensed under the MIT License.
@@ -2892,7 +2892,7 @@ ${D}`,U=E.createShaderModule({code:L,label:d.name});hr("verbose",()=>`[WebGPU] $
2892
2892
  * ONNX Runtime Web v1.26.0
2893
2893
  * Copyright (c) Microsoft Corporation. All rights reserved.
2894
2894
  * Licensed under the MIT License.
2895
- */var U$;function TU(){return U$||(U$=1,(function(e,r){var n=(()=>{var i=Object.defineProperty,s=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,o=(ae=>typeof Ha<"u"?Ha:typeof Proxy<"u"?new Proxy(ae,{get:(he,be)=>(typeof Ha<"u"?Ha:he)[be]}):ae)(function(ae){if(typeof Ha<"u")return Ha.apply(this,arguments);throw Error('Dynamic require of "'+ae+'" is not supported')}),u=(ae,he)=>()=>(ae&&(he=ae(ae=0)),he),f=(ae,he)=>{for(var be in he)i(ae,be,{get:he[be],enumerable:!0})},m=(ae,he,be,Oe)=>{if(he&&typeof he=="object"||typeof he=="function")for(let Ee of a(he))!l.call(ae,Ee)&&Ee!==be&&i(ae,Ee,{get:()=>he[Ee],enumerable:!(Oe=s(he,Ee))||Oe.enumerable});return ae},h=ae=>m(i({},"__esModule",{value:!0}),ae),y,x,k,_,b,w=u(()=>{y=new Map,x=[],k=(ae,he,be)=>{if(he&&typeof he.init=="function"&&typeof he.createInferenceSessionHandler=="function"){let Oe=y.get(ae);if(Oe===void 0)y.set(ae,{backend:he,priority:be});else{if(Oe.priority>be)return;if(Oe.priority===be&&Oe.backend!==he)throw new Error(`cannot register backend "${ae}" using priority ${be}`)}if(be>=0){let Ee=x.indexOf(ae);Ee!==-1&&x.splice(Ee,1);for(let ze=0;ze<x.length;ze++)if(y.get(x[ze]).priority<=be){x.splice(ze,0,ae);return}x.push(ae)}return}throw new TypeError("not a valid backend")},_=async ae=>{let he=y.get(ae);if(!he)return"backend not found.";if(he.initialized)return he.backend;if(he.aborted)return he.error;{let be=!!he.initPromise;try{return be||(he.initPromise=he.backend.init(ae)),await he.initPromise,he.initialized=!0,he.backend}catch(Oe){return be||(he.error=`${Oe}`,he.aborted=!0),he.error}finally{delete he.initPromise}}},b=async ae=>{let he=ae.executionProviders||[],be=he.map(Ue=>typeof Ue=="string"?Ue:Ue.name),Oe=be.length===0?x:be,Ee,ze=[],Pe=new Set;for(let Ue of Oe){let tt=await _(Ue);typeof tt=="string"?ze.push({name:Ue,err:tt}):(Ee||(Ee=tt),Ee===tt&&Pe.add(Ue))}if(!Ee)throw new Error(`no available backend found. ERR: ${ze.map(Ue=>`[${Ue.name}] ${Ue.err}`).join(", ")}`);for(let{name:Ue,err:tt}of ze)be.includes(Ue)&&console.warn(`removing requested execution provider "${Ue}" from session options because it is not available: ${tt}`);let Re=he.filter(Ue=>Pe.has(typeof Ue=="string"?Ue:Ue.name));return[Ee,new Proxy(ae,{get:(Ue,tt)=>tt==="executionProviders"?Re:Reflect.get(Ue,tt)})]}}),S=u(()=>{w()}),C,T=u(()=>{C="1.26.0"}),j,A,N=u(()=>{T(),j="warning",A={wasm:{},webgl:{},webgpu:{},versions:{common:C},set logLevel(ae){if(ae!==void 0){if(typeof ae!="string"||["verbose","info","warning","error","fatal"].indexOf(ae)===-1)throw new Error(`Unsupported logging level: ${ae}`);j=ae}},get logLevel(){return j}},Object.defineProperty(A,"logLevel",{enumerable:!0})}),O,I=u(()=>{N(),O=A}),W,G,V=u(()=>{W=(ae,he)=>{let be=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);be.width=ae.dims[3],be.height=ae.dims[2];let Oe=be.getContext("2d");if(Oe!=null){let Ee,ze;(he==null?void 0:he.tensorLayout)!==void 0&&he.tensorLayout==="NHWC"?(Ee=ae.dims[2],ze=ae.dims[3]):(Ee=ae.dims[3],ze=ae.dims[2]);let Pe=(he==null?void 0:he.format)!==void 0?he.format:"RGB",Re=he==null?void 0:he.norm,Ue,tt;Re===void 0||Re.mean===void 0?Ue=[255,255,255,255]:typeof Re.mean=="number"?Ue=[Re.mean,Re.mean,Re.mean,Re.mean]:(Ue=[Re.mean[0],Re.mean[1],Re.mean[2],0],Re.mean[3]!==void 0&&(Ue[3]=Re.mean[3])),Re===void 0||Re.bias===void 0?tt=[0,0,0,0]:typeof Re.bias=="number"?tt=[Re.bias,Re.bias,Re.bias,Re.bias]:(tt=[Re.bias[0],Re.bias[1],Re.bias[2],0],Re.bias[3]!==void 0&&(tt[3]=Re.bias[3]));let lt=ze*Ee,nt=0,Je=lt,Nt=lt*2,Be=-1;Pe==="RGBA"?(nt=0,Je=lt,Nt=lt*2,Be=lt*3):Pe==="RGB"?(nt=0,Je=lt,Nt=lt*2):Pe==="RBG"&&(nt=0,Nt=lt,Je=lt*2);for(let pt=0;pt<ze;pt++)for(let Br=0;Br<Ee;Br++){let nr=(ae.data[nt++]-tt[0])*Ue[0],ir=(ae.data[Je++]-tt[1])*Ue[1],zr=(ae.data[Nt++]-tt[2])*Ue[2],Ft=Be===-1?255:(ae.data[Be++]-tt[3])*Ue[3];Oe.fillStyle="rgba("+nr+","+ir+","+zr+","+Ft+")",Oe.fillRect(Br,pt,1,1)}if("toDataURL"in be)return be.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},G=(ae,he)=>{let be=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),Oe;if(be!=null){let Ee,ze,Pe;(he==null?void 0:he.tensorLayout)!==void 0&&he.tensorLayout==="NHWC"?(Ee=ae.dims[2],ze=ae.dims[1],Pe=ae.dims[3]):(Ee=ae.dims[3],ze=ae.dims[2],Pe=ae.dims[1]);let Re=he!==void 0&&he.format!==void 0?he.format:"RGB",Ue=he==null?void 0:he.norm,tt,lt;Ue===void 0||Ue.mean===void 0?tt=[255,255,255,255]:typeof Ue.mean=="number"?tt=[Ue.mean,Ue.mean,Ue.mean,Ue.mean]:(tt=[Ue.mean[0],Ue.mean[1],Ue.mean[2],255],Ue.mean[3]!==void 0&&(tt[3]=Ue.mean[3])),Ue===void 0||Ue.bias===void 0?lt=[0,0,0,0]:typeof Ue.bias=="number"?lt=[Ue.bias,Ue.bias,Ue.bias,Ue.bias]:(lt=[Ue.bias[0],Ue.bias[1],Ue.bias[2],0],Ue.bias[3]!==void 0&&(lt[3]=Ue.bias[3]));let nt=ze*Ee;if(he!==void 0&&(he.format!==void 0&&Pe===4&&he.format!=="RGBA"||Pe===3&&he.format!=="RGB"&&he.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let Je=4,Nt=0,Be=1,pt=2,Br=3,nr=0,ir=nt,zr=nt*2,Ft=-1;Re==="RGBA"?(nr=0,ir=nt,zr=nt*2,Ft=nt*3):Re==="RGB"?(nr=0,ir=nt,zr=nt*2):Re==="RBG"&&(nr=0,zr=nt,ir=nt*2),Oe=be.createImageData(Ee,ze);for(let Hr=0;Hr<ze*Ee;Nt+=Je,Be+=Je,pt+=Je,Br+=Je,Hr++)Oe.data[Nt]=(ae.data[nr++]-lt[0])*tt[0],Oe.data[Be]=(ae.data[ir++]-lt[1])*tt[1],Oe.data[pt]=(ae.data[zr++]-lt[2])*tt[2],Oe.data[Br]=Ft===-1?255:(ae.data[Ft++]-lt[3])*tt[3]}else throw new Error("Can not access image data");return Oe}}),F,z,H,X,se,oe,Q=u(()=>{ye(),F=(ae,he)=>{if(ae===void 0)throw new Error("Image buffer must be defined");if(he.height===void 0||he.width===void 0)throw new Error("Image height and width must be defined");if(he.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:be,width:Oe}=he,Ee=he.norm??{mean:255,bias:0},ze,Pe;typeof Ee.mean=="number"?ze=[Ee.mean,Ee.mean,Ee.mean,Ee.mean]:ze=[Ee.mean[0],Ee.mean[1],Ee.mean[2],Ee.mean[3]??255],typeof Ee.bias=="number"?Pe=[Ee.bias,Ee.bias,Ee.bias,Ee.bias]:Pe=[Ee.bias[0],Ee.bias[1],Ee.bias[2],Ee.bias[3]??0];let Re=he.format!==void 0?he.format:"RGBA",Ue=he.tensorFormat!==void 0&&he.tensorFormat!==void 0?he.tensorFormat:"RGB",tt=be*Oe,lt=Ue==="RGBA"?new Float32Array(tt*4):new Float32Array(tt*3),nt=4,Je=0,Nt=1,Be=2,pt=3,Br=0,nr=tt,ir=tt*2,zr=-1;Re==="RGB"&&(nt=3,Je=0,Nt=1,Be=2,pt=-1),Ue==="RGBA"?zr=tt*3:Ue==="RBG"?(Br=0,ir=tt,nr=tt*2):Ue==="BGR"&&(ir=0,nr=tt,Br=tt*2);for(let Ft=0;Ft<tt;Ft++,Je+=nt,Be+=nt,Nt+=nt,pt+=nt)lt[Br++]=(ae[Je]+Pe[0])/ze[0],lt[nr++]=(ae[Nt]+Pe[1])/ze[1],lt[ir++]=(ae[Be]+Pe[2])/ze[2],zr!==-1&&pt!==-1&&(lt[zr++]=(ae[pt]+Pe[3])/ze[3]);return Ue==="RGBA"?new ie("float32",lt,[1,4,be,Oe]):new ie("float32",lt,[1,3,be,Oe])},z=async(ae,he)=>{let be=typeof HTMLImageElement<"u"&&ae instanceof HTMLImageElement,Oe=typeof ImageData<"u"&&ae instanceof ImageData,Ee=typeof ImageBitmap<"u"&&ae instanceof ImageBitmap,ze=typeof ae=="string",Pe,Re=he??{},Ue=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},tt=lt=>typeof HTMLCanvasElement<"u"&&lt instanceof HTMLCanvasElement||lt instanceof OffscreenCanvas?lt.getContext("2d"):null;if(be){let lt=Ue();lt.width=ae.width,lt.height=ae.height;let nt=tt(lt);if(nt!=null){let Je=ae.height,Nt=ae.width;if(he!==void 0&&he.resizedHeight!==void 0&&he.resizedWidth!==void 0&&(Je=he.resizedHeight,Nt=he.resizedWidth),he!==void 0){if(Re=he,he.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");Re.tensorFormat="RGBA",Re.height=Je,Re.width=Nt}else Re.tensorFormat="RGBA",Re.height=Je,Re.width=Nt;nt.drawImage(ae,0,0),Pe=nt.getImageData(0,0,Nt,Je).data}else throw new Error("Can not access image data")}else if(Oe){let lt,nt;if(he!==void 0&&he.resizedWidth!==void 0&&he.resizedHeight!==void 0?(lt=he.resizedHeight,nt=he.resizedWidth):(lt=ae.height,nt=ae.width),he!==void 0&&(Re=he),Re.format="RGBA",Re.height=lt,Re.width=nt,he!==void 0){let Je=Ue();Je.width=nt,Je.height=lt;let Nt=tt(Je);if(Nt!=null)Nt.putImageData(ae,0,0),Pe=Nt.getImageData(0,0,nt,lt).data;else throw new Error("Can not access image data")}else Pe=ae.data}else if(Ee){if(he===void 0)throw new Error("Please provide image config with format for Imagebitmap");let lt=Ue();lt.width=ae.width,lt.height=ae.height;let nt=tt(lt);if(nt!=null){let Je=ae.height,Nt=ae.width;return nt.drawImage(ae,0,0,Nt,Je),Pe=nt.getImageData(0,0,Nt,Je).data,Re.height=Je,Re.width=Nt,F(Pe,Re)}else throw new Error("Can not access image data")}else{if(ze)return new Promise((lt,nt)=>{let Je=Ue(),Nt=tt(Je);if(!ae||!Nt)return nt();let Be=new Image;Be.crossOrigin="Anonymous",Be.src=ae,Be.onload=()=>{Je.width=Be.width,Je.height=Be.height,Nt.drawImage(Be,0,0,Je.width,Je.height);let pt=Nt.getImageData(0,0,Je.width,Je.height);Re.height=Je.height,Re.width=Je.width,lt(F(pt.data,Re))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(Pe!==void 0)return F(Pe,Re);throw new Error("Input data provided is not supported - aborted tensor creation")},H=(ae,he)=>{let{width:be,height:Oe,download:Ee,dispose:ze}=he,Pe=[1,Oe,be,4];return new ie({location:"texture",type:"float32",texture:ae,dims:Pe,download:Ee,dispose:ze})},X=(ae,he)=>{let{dataType:be,dims:Oe,download:Ee,dispose:ze}=he;return new ie({location:"gpu-buffer",type:be??"float32",gpuBuffer:ae,dims:Oe,download:Ee,dispose:ze})},se=(ae,he)=>{let{dataType:be,dims:Oe,download:Ee,dispose:ze}=he;return new ie({location:"ml-tensor",type:be??"float32",mlTensor:ae,dims:Oe,download:Ee,dispose:ze})},oe=(ae,he,be)=>new ie({location:"cpu-pinned",type:ae,data:he,dims:be??[he.length]})}),ee,Y,te,ce,we=u(()=>{ee=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Y=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),te=!1,ce=()=>{if(!te){te=!0;let ae=typeof BigInt64Array<"u"&&BigInt64Array.from,he=typeof BigUint64Array<"u"&&BigUint64Array.from,be=globalThis.Float16Array,Oe=typeof be<"u"&&be.from;ae&&(ee.set("int64",BigInt64Array),Y.set(BigInt64Array,"int64")),he&&(ee.set("uint64",BigUint64Array),Y.set(BigUint64Array,"uint64")),Oe?(ee.set("float16",be),Y.set(be,"float16")):ee.set("float16",Uint16Array)}}}),_e,Ae,ve=u(()=>{ye(),_e=ae=>{let he=1;for(let be=0;be<ae.length;be++){let Oe=ae[be];if(typeof Oe!="number"||!Number.isSafeInteger(Oe))throw new TypeError(`dims[${be}] must be an integer, got: ${Oe}`);if(Oe<0)throw new RangeError(`dims[${be}] must be a non-negative integer, got: ${Oe}`);he*=Oe}return he},Ae=(ae,he)=>{switch(ae.location){case"cpu":return new ie(ae.type,ae.data,he);case"cpu-pinned":return new ie({location:"cpu-pinned",data:ae.data,type:ae.type,dims:he});case"texture":return new ie({location:"texture",texture:ae.texture,type:ae.type,dims:he});case"gpu-buffer":return new ie({location:"gpu-buffer",gpuBuffer:ae.gpuBuffer,type:ae.type,dims:he});case"ml-tensor":return new ie({location:"ml-tensor",mlTensor:ae.mlTensor,type:ae.type,dims:he});default:throw new Error(`tensorReshape: tensor location ${ae.location} is not supported`)}}}),ie,ye=u(()=>{V(),Q(),we(),ve(),ie=class{constructor(ae,he,be){ce();let Oe,Ee;if(typeof ae=="object"&&"location"in ae)switch(this.dataLocation=ae.location,Oe=ae.type,Ee=ae.dims,ae.location){case"cpu-pinned":{let Pe=ee.get(Oe);if(!Pe)throw new TypeError(`unsupported type "${Oe}" to create tensor from pinned buffer`);if(!(ae.data instanceof Pe))throw new TypeError(`buffer should be of type ${Pe.name}`);this.cpuData=ae.data;break}case"texture":{if(Oe!=="float32")throw new TypeError(`unsupported type "${Oe}" to create tensor from texture`);this.gpuTextureData=ae.texture,this.downloader=ae.download,this.disposer=ae.dispose;break}case"gpu-buffer":{if(Oe!=="float32"&&Oe!=="float16"&&Oe!=="int32"&&Oe!=="int64"&&Oe!=="uint32"&&Oe!=="uint8"&&Oe!=="bool"&&Oe!=="uint4"&&Oe!=="int4")throw new TypeError(`unsupported type "${Oe}" to create tensor from gpu buffer`);this.gpuBufferData=ae.gpuBuffer,this.downloader=ae.download,this.disposer=ae.dispose;break}case"ml-tensor":{if(Oe!=="float32"&&Oe!=="float16"&&Oe!=="int32"&&Oe!=="int64"&&Oe!=="uint32"&&Oe!=="uint64"&&Oe!=="int8"&&Oe!=="uint8"&&Oe!=="bool"&&Oe!=="uint4"&&Oe!=="int4")throw new TypeError(`unsupported type "${Oe}" to create tensor from MLTensor`);this.mlTensorData=ae.mlTensor,this.downloader=ae.download,this.disposer=ae.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let Pe,Re;if(typeof ae=="string")if(Oe=ae,Re=be,ae==="string"){if(!Array.isArray(he))throw new TypeError("A string tensor's data must be a string array.");Pe=he}else{let Ue=ee.get(ae);if(Ue===void 0)throw new TypeError(`Unsupported tensor type: ${ae}.`);if(Array.isArray(he)){if(ae==="float16"&&Ue===Uint16Array||ae==="uint4"||ae==="int4")throw new TypeError(`Creating a ${ae} tensor from number array is not supported. Please use ${Ue.name} as data.`);ae==="uint64"||ae==="int64"?Pe=Ue.from(he,BigInt):Pe=Ue.from(he)}else if(he instanceof Ue)Pe=he;else if(he instanceof Uint8ClampedArray)if(ae==="uint8")Pe=Uint8Array.from(he);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(ae==="float16"&&he instanceof Uint16Array&&Ue!==Uint16Array)Pe=new globalThis.Float16Array(he.buffer,he.byteOffset,he.length);else throw new TypeError(`A ${Oe} tensor's data must be type of ${Ue}`)}else if(Re=he,Array.isArray(ae)){if(ae.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let Ue=typeof ae[0];if(Ue==="string")Oe="string",Pe=ae;else if(Ue==="boolean")Oe="bool",Pe=Uint8Array.from(ae);else throw new TypeError(`Invalid element type of data array: ${Ue}.`)}else if(ae instanceof Uint8ClampedArray)Oe="uint8",Pe=Uint8Array.from(ae);else{let Ue=Y.get(ae.constructor);if(Ue===void 0)throw new TypeError(`Unsupported type for tensor data: ${ae.constructor}.`);Oe=Ue,Pe=ae}if(Re===void 0)Re=[Pe.length];else if(!Array.isArray(Re))throw new TypeError("A tensor's dims must be a number array");Ee=Re,this.cpuData=Pe,this.dataLocation="cpu"}let ze=_e(Ee);if(this.cpuData&&ze!==this.cpuData.length&&!((Oe==="uint4"||Oe==="int4")&&Math.ceil(ze/2)===this.cpuData.length))throw new Error(`Tensor's size(${ze}) does not match data length(${this.cpuData.length}).`);this.type=Oe,this.dims=Ee,this.size=ze}static async fromImage(ae,he){return z(ae,he)}static fromTexture(ae,he){return H(ae,he)}static fromGpuBuffer(ae,he){return X(ae,he)}static fromMLTensor(ae,he){return se(ae,he)}static fromPinnedBuffer(ae,he,be){return oe(ae,he,be)}toDataURL(ae){return W(this,ae)}toImageData(ae){return G(this,ae)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(ae){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let he=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=he,ae&&this.disposer&&(this.disposer(),this.disposer=void 0),he}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(ae){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Ae(this,ae)}}}),xe,Ge=u(()=>{ye(),xe=ie}),Me,We,Le,Ze,ut,dt,dr=u(()=>{N(),Me=(ae,he)=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||console.timeStamp(`${ae}::ORT::${he}`)},We=(ae,he)=>{var Ee;let be=((Ee=new Error().stack)==null?void 0:Ee.split(/\r\n|\r|\n/g))||[],Oe=!1;for(let ze=0;ze<be.length;ze++){if(Oe&&!be[ze].includes("TRACE_FUNC")){let Pe=`FUNC_${ae}::${be[ze].trim().split(" ")[1]}`;he&&(Pe+=`::${he}`),Me("CPU",Pe);return}be[ze].includes("TRACE_FUNC")&&(Oe=!0)}},Le=ae=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||We("BEGIN",ae)},Ze=ae=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||We("END",ae)},ut=ae=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||console.time(`ORT::${ae}`)},dt=ae=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||console.timeEnd(`ORT::${ae}`)}}),Xt,Jt=u(()=>{w(),Ge(),dr(),Xt=class q5{constructor(he){this.handler=he}async run(he,be,Oe){Le(),ut("InferenceSession.run");let Ee={},ze={};if(typeof he!="object"||he===null||he instanceof xe||Array.isArray(he))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let Pe=!0;if(typeof be=="object"){if(be===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(be instanceof xe)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(be)){if(be.length===0)throw new TypeError("'fetches' cannot be an empty array.");Pe=!1;for(let tt of be){if(typeof tt!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(tt)===-1)throw new RangeError(`'fetches' contains invalid output name: ${tt}.`);Ee[tt]=null}if(typeof Oe=="object"&&Oe!==null)ze=Oe;else if(typeof Oe<"u")throw new TypeError("'options' must be an object.")}else{let tt=!1,lt=Object.getOwnPropertyNames(be);for(let nt of this.outputNames)if(lt.indexOf(nt)!==-1){let Je=be[nt];(Je===null||Je instanceof xe)&&(tt=!0,Pe=!1,Ee[nt]=Je)}if(tt){if(typeof Oe=="object"&&Oe!==null)ze=Oe;else if(typeof Oe<"u")throw new TypeError("'options' must be an object.")}else ze=be}}else if(typeof be<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let tt of this.inputNames)if(typeof he[tt]>"u")throw new Error(`input '${tt}' is missing in 'feeds'.`);if(Pe)for(let tt of this.outputNames)Ee[tt]=null;let Re=await this.handler.run(he,Ee,ze),Ue={};for(let tt in Re)if(Object.hasOwnProperty.call(Re,tt)){let lt=Re[tt];lt instanceof xe?Ue[tt]=lt:Ue[tt]=new xe(lt.type,lt.data,lt.dims)}return dt("InferenceSession.run"),Ze(),Ue}async release(){return this.handler.dispose()}static async create(he,be,Oe,Ee){Le(),ut("InferenceSession.create");let ze,Pe={};if(typeof he=="string"){if(ze=he,typeof be=="object"&&be!==null)Pe=be;else if(typeof be<"u")throw new TypeError("'options' must be an object.")}else if(he instanceof Uint8Array){if(ze=he,typeof be=="object"&&be!==null)Pe=be;else if(typeof be<"u")throw new TypeError("'options' must be an object.")}else if(he instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&he instanceof SharedArrayBuffer){let lt=he,nt=0,Je=he.byteLength;if(typeof be=="object"&&be!==null)Pe=be;else if(typeof be=="number"){if(nt=be,!Number.isSafeInteger(nt))throw new RangeError("'byteOffset' must be an integer.");if(nt<0||nt>=lt.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${lt.byteLength}).`);if(Je=he.byteLength-nt,typeof Oe=="number"){if(Je=Oe,!Number.isSafeInteger(Je))throw new RangeError("'byteLength' must be an integer.");if(Je<=0||nt+Je>lt.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${lt.byteLength-nt}].`);if(typeof Ee=="object"&&Ee!==null)Pe=Ee;else if(typeof Ee<"u")throw new TypeError("'options' must be an object.")}else if(typeof Oe<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof be<"u")throw new TypeError("'options' must be an object.");ze=new Uint8Array(lt,nt,Je)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[Re,Ue]=await b(Pe),tt=await Re.createInferenceSessionHandler(ze,Ue);return dt("InferenceSession.create"),Ze(),new q5(tt)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),cr,Nr=u(()=>{Jt(),cr=Xt}),wr=u(()=>{}),nn=u(()=>{}),Wr=u(()=>{}),ii=u(()=>{}),Kn={};f(Kn,{InferenceSession:()=>cr,TRACE:()=>Me,TRACE_EVENT_BEGIN:()=>ut,TRACE_EVENT_END:()=>dt,TRACE_FUNC_BEGIN:()=>Le,TRACE_FUNC_END:()=>Ze,Tensor:()=>xe,env:()=>O,registerBackend:()=>k});var mr=u(()=>{S(),I(),Nr(),Ge(),wr(),nn(),dr(),Wr(),ii()}),vt=u(()=>{}),Et={};f(Et,{default:()=>Ir});var It,Pt,Ir,yi=u(()=>{var ae;Tl(),bi(),pn(),It="ort-wasm-proxy-worker",Pt=((ae=globalThis.self)==null?void 0:ae.name)===It,Pt&&(self.onmessage=he=>{let{type:be,in:Oe}=he.data;try{switch(be){case"init-wasm":ds(Oe.wasm).then(()=>{Jn(Oe).then(()=>{postMessage({type:be})},Ee=>{postMessage({type:be,err:Ee})})},Ee=>{postMessage({type:be,err:Ee})});break;case"init-ep":{let{epName:Ee,env:ze}=Oe;hs(ze,Ee).then(()=>{postMessage({type:be})},Pe=>{postMessage({type:be,err:Pe})});break}case"copy-from":{let{buffer:Ee}=Oe,ze=hr(Ee);postMessage({type:be,out:ze});break}case"create":{let{model:Ee,options:ze}=Oe;ms(Ee,ze).then(Pe=>{postMessage({type:be,out:Pe})},Pe=>{postMessage({type:be,err:Pe})});break}case"release":Uo(Oe),postMessage({type:be});break;case"run":{let{sessionId:Ee,inputIndices:ze,inputs:Pe,outputIndices:Re,options:Ue}=Oe;Qe(Ee,ze,Pe,Re,new Array(Re.length).fill(null),Ue).then(tt=>{tt.some(lt=>lt[3]!=="cpu")?postMessage({type:be,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:be,out:tt},Tc([...Pe,...tt]))},tt=>{postMessage({type:be,err:tt})});break}case"end-profiling":Ds(Oe),postMessage({type:be});break;default:}}catch(Ee){postMessage({type:be,err:Ee})}}),Ir=Pt?null:he=>new Worker(he??Cr,{type:"classic",name:It})}),ka,Di,Cr,si,In,Ve,rt,$t,ur,Pr,Xr,sn,Li,pn=u(()=>{vt(),ka=typeof location>"u"?void 0:location.origin,Di=()=>{var ae,he;return typeof document<"u"?(ae=document.currentScript)==null?void 0:ae.src:typeof self<"u"?(he=self.location)==null?void 0:he.href:void 0},Cr=Di(),si=()=>{if(Cr&&!Cr.startsWith("blob:"))return Cr.substring(0,Cr.lastIndexOf("/")+1)},In=(ae,he)=>{try{let be=he??Cr;return(be?new URL(ae,be):new URL(ae)).origin===ka}catch{return!1}},Ve=(ae,he)=>{let be=he??Cr;try{return(be?new URL(ae,be):new URL(ae)).href}catch{return}},rt=(ae,he)=>`${he??"./"}${ae}`,$t=async ae=>{let he=await(await fetch(ae,{credentials:"same-origin"})).blob();return URL.createObjectURL(he)},ur=async ae=>(await import(ae)).default,Pr=(yi(),h(Et)).default,Xr=async()=>{if(!Cr)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(In(Cr))return[void 0,Pr()];let ae=await $t(Cr);return[ae,Pr(ae)]},sn=void 0,Li=async(ae,he,be,Oe)=>{let Ee=sn&&!(ae||he);if(Ee)if(Cr)Ee=In(Cr)||Oe&&!be;else if(Oe&&!be)Ee=!0;else throw new Error("cannot determine the script source URL.");if(Ee)return[void 0,sn];{let ze="ort-wasm-simd-threaded.mjs",Pe=ae??Ve(ze,he),Re=be&&Pe&&!In(Pe,he),Ue=Re?await $t(Pe):Pe??rt(ze,he);return[Re?Ue:void 0,await ur(Ue)]}}}),es,Bi,_r,Xn,El,Rs,Ms,ds,Kt,bi=u(()=>{pn(),Bi=!1,_r=!1,Xn=!1,El=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Rs=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Ms=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},ds=async ae=>{if(Bi)return Promise.resolve();if(_r)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Xn)throw new Error("previous call to 'initializeWebAssembly()' failed.");_r=!0;let he=ae.initTimeout,be=ae.numThreads;if(ae.simd!==!1){if(ae.simd==="relaxed"){if(!Ms())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!Rs())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let Oe=El();be>1&&!Oe&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+be+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),ae.numThreads=be=1);let Ee=ae.wasmPaths,ze=typeof Ee=="string"?Ee:void 0,Pe=Ee==null?void 0:Ee.mjs,Re=(Pe==null?void 0:Pe.href)??Pe,Ue=Ee==null?void 0:Ee.wasm,tt=(Ue==null?void 0:Ue.href)??Ue,lt=ae.wasmBinary,[nt,Je]=await Li(Re,ze,be>1,!!lt||!!tt),Nt=!1,Be=[];if(he>0&&Be.push(new Promise(pt=>{setTimeout(()=>{Nt=!0,pt()},he)})),Be.push(new Promise((pt,Br)=>{let nr={numThreads:be};if(lt)nr.wasmBinary=lt,nr.locateFile=ir=>ir;else if(tt||ze)nr.locateFile=ir=>tt??ze+ir;else if(Re&&Re.indexOf("blob:")!==0)nr.locateFile=ir=>new URL(ir,Re).href;else if(nt){let ir=si();ir&&(nr.locateFile=zr=>ir+zr)}Je(nr).then(ir=>{_r=!1,Bi=!0,es=ir,pt(),nt&&URL.revokeObjectURL(nt)},ir=>{_r=!1,Xn=!0,Br(ir)})})),await Promise.race(Be),Nt)throw new Error(`WebAssembly backend initializing failed due to timeout: ${he}ms`)},Kt=()=>{if(Bi&&es)return es;throw new Error("WebAssembly is not initialized yet.")}}),Sr,ai,Ot,ta=u(()=>{bi(),Sr=(ae,he)=>{let be=Kt(),Oe=be.lengthBytesUTF8(ae)+1,Ee=be._malloc(Oe);return be.stringToUTF8(ae,Ee,Oe),he.push(Ee),Ee},ai=(ae,he,be,Oe)=>{if(typeof ae=="object"&&ae!==null){if(be.has(ae))throw new Error("Circular reference in options");be.add(ae)}Object.entries(ae).forEach(([Ee,ze])=>{let Pe=he?he+Ee:Ee;if(typeof ze=="object")ai(ze,Pe+".",be,Oe);else if(typeof ze=="string"||typeof ze=="number")Oe(Pe,ze.toString());else if(typeof ze=="boolean")Oe(Pe,ze?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof ze}`)})},Ot=ae=>{let he=Kt(),be=he.stackSave();try{let Oe=he.PTR_SIZE,Ee=he.stackAlloc(2*Oe);he._OrtGetLastError(Ee,Ee+Oe);let ze=Number(he.getValue(Ee,Oe===4?"i32":"i64")),Pe=he.getValue(Ee+Oe,"*"),Re=Pe?he.UTF8ToString(Pe):"";throw new Error(`${ae} ERROR_CODE: ${ze}, ERROR_MESSAGE: ${Re}`)}finally{he.stackRestore(be)}}}),Ca,zo=u(()=>{bi(),ta(),Ca=ae=>{let he=Kt(),be=0,Oe=[],Ee=ae||{};try{if((ae==null?void 0:ae.logSeverityLevel)===void 0)Ee.logSeverityLevel=2;else if(typeof ae.logSeverityLevel!="number"||!Number.isInteger(ae.logSeverityLevel)||ae.logSeverityLevel<0||ae.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${ae.logSeverityLevel}`);if((ae==null?void 0:ae.logVerbosityLevel)===void 0)Ee.logVerbosityLevel=0;else if(typeof ae.logVerbosityLevel!="number"||!Number.isInteger(ae.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${ae.logVerbosityLevel}`);(ae==null?void 0:ae.terminate)===void 0&&(Ee.terminate=!1);let ze=0;return(ae==null?void 0:ae.tag)!==void 0&&(ze=Sr(ae.tag,Oe)),be=he._OrtCreateRunOptions(Ee.logSeverityLevel,Ee.logVerbosityLevel,!!Ee.terminate,ze),be===0&&Ot("Can't create run options."),(ae==null?void 0:ae.extra)!==void 0&&ai(ae.extra,"",new WeakSet,(Pe,Re)=>{let Ue=Sr(Pe,Oe),tt=Sr(Re,Oe);he._OrtAddRunConfigEntry(be,Ue,tt)!==0&&Ot(`Can't set a run config entry: ${Pe} - ${Re}.`)}),[be,Oe]}catch(ze){throw be!==0&&he._OrtReleaseRunOptions(be),Oe.forEach(Pe=>he._free(Pe)),ze}}}),fs,ra,xi,Dn,Fo,jl,Yr=u(()=>{bi(),ta(),fs=ae=>{switch(ae){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${ae}`)}},ra=ae=>{switch(ae){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${ae}`)}},xi=ae=>{ae.extra||(ae.extra={}),ae.extra.session||(ae.extra.session={});let he=ae.extra.session;he.use_ort_model_bytes_directly||(he.use_ort_model_bytes_directly="1"),ae.executionProviders&&ae.executionProviders.some(be=>(typeof be=="string"?be:be.name)==="webgpu")&&(ae.enableMemPattern=!1)},Dn=(ae,he,be,Oe)=>{let Ee=Sr(he,Oe),ze=Sr(be,Oe);Kt()._OrtAddSessionConfigEntry(ae,Ee,ze)!==0&&Ot(`Can't set a session config entry: ${he} - ${be}.`)},Fo=async(ae,he,be)=>{let Oe=he.executionProviders;for(let Ee of Oe){let ze=typeof Ee=="string"?Ee:Ee.name,Pe=[];switch(ze){case"webnn":if(ze="WEBNN",Dn(ae,"session.disable_quant_qdq","1",be),Dn(ae,"session.disable_qdq_constant_folding","1",be),typeof Ee!="string"){let nt=Ee==null?void 0:Ee.deviceType;nt&&Dn(ae,"deviceType",nt,be)}break;case"webgpu":if(ze="JS",typeof Ee!="string"){let nt=Ee;if(nt!=null&&nt.preferredLayout){if(nt.preferredLayout!=="NCHW"&&nt.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${nt.preferredLayout}`);Dn(ae,"preferredLayout",nt.preferredLayout,be)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${ze}`)}let Re=Sr(ze,be),Ue=Pe.length,tt=0,lt=0;if(Ue>0){tt=Kt()._malloc(Ue*Kt().PTR_SIZE),be.push(tt),lt=Kt()._malloc(Ue*Kt().PTR_SIZE),be.push(lt);for(let nt=0;nt<Ue;nt++)Kt().setValue(tt+nt*Kt().PTR_SIZE,Pe[nt][0],"*"),Kt().setValue(lt+nt*Kt().PTR_SIZE,Pe[nt][1],"*")}await Kt()._OrtAppendExecutionProvider(ae,Re,tt,lt,Ue)!==0&&Ot(`Can't append execution provider: ${ze}.`)}},jl=async ae=>{let he=Kt(),be=0,Oe=[],Ee=ae||{};xi(Ee);try{let ze=fs(Ee.graphOptimizationLevel??"all"),Pe=ra(Ee.executionMode??"sequential"),Re=typeof Ee.logId=="string"?Sr(Ee.logId,Oe):0,Ue=Ee.logSeverityLevel??2;if(!Number.isInteger(Ue)||Ue<0||Ue>4)throw new Error(`log severity level is not valid: ${Ue}`);let tt=Ee.logVerbosityLevel??0;if(!Number.isInteger(tt)||tt<0||tt>4)throw new Error(`log verbosity level is not valid: ${tt}`);let lt=typeof Ee.optimizedModelFilePath=="string"?Sr(Ee.optimizedModelFilePath,Oe):0;if(be=he._OrtCreateSessionOptions(ze,!!Ee.enableCpuMemArena,!!Ee.enableMemPattern,Pe,!!Ee.enableProfiling,0,Re,Ue,tt,lt),be===0&&Ot("Can't create session options."),Ee.executionProviders&&await Fo(be,Ee,Oe),Ee.enableGraphCapture!==void 0){if(typeof Ee.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${Ee.enableGraphCapture}`);Dn(be,"enableGraphCapture",Ee.enableGraphCapture.toString(),Oe)}if(Ee.freeDimensionOverrides)for(let[nt,Je]of Object.entries(Ee.freeDimensionOverrides)){if(typeof nt!="string")throw new Error(`free dimension override name must be a string: ${nt}`);if(typeof Je!="number"||!Number.isInteger(Je)||Je<0)throw new Error(`free dimension override value must be a non-negative integer: ${Je}`);let Nt=Sr(nt,Oe);he._OrtAddFreeDimensionOverride(be,Nt,Je)!==0&&Ot(`Can't set a free dimension override: ${nt} - ${Je}.`)}return Ee.extra!==void 0&&ai(Ee.extra,"",new WeakSet,(nt,Je)=>{Dn(be,nt,Je,Oe)}),[be,Oe]}catch(ze){throw be!==0&&he._OrtReleaseSessionOptions(be)!==0&&Ot("Can't release session options."),Oe.forEach(Pe=>he._free(Pe)),ze}}}),oi,kn,bn,jt,Se,it,_t,lr,mt=u(()=>{oi=ae=>{switch(ae){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${ae}`)}},kn=ae=>{switch(ae){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${ae}`)}},bn=(ae,he)=>{let be=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][ae],Oe=typeof he=="number"?he:he.reduce((Ee,ze)=>Ee*ze,1);return be>0?Math.ceil(Oe*be):void 0},jt=ae=>{switch(ae){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${ae}`)}},Se=ae=>{switch(ae){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${ae}`)}},it=ae=>ae==="float32"||ae==="float16"||ae==="int32"||ae==="int64"||ae==="uint32"||ae==="uint8"||ae==="bool"||ae==="uint4"||ae==="int4",_t=ae=>ae==="float32"||ae==="float16"||ae==="int32"||ae==="int64"||ae==="uint32"||ae==="uint64"||ae==="int8"||ae==="uint8"||ae==="bool"||ae==="uint4"||ae==="int4",lr=ae=>{switch(ae){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${ae}`)}}}),fr,an=u(()=>{vt(),fr=async ae=>{if(typeof ae=="string"){let he=await fetch(ae);if(!he.ok)throw new Error(`failed to load external data file: ${ae}`);let be=he.headers.get("Content-Length"),Oe=be?parseInt(be,10):0;if(Oe<1073741824)return new Uint8Array(await he.arrayBuffer());{if(!he.body)throw new Error(`failed to load external data file: ${ae}, no response body.`);let Ee=he.body.getReader(),ze;try{ze=new ArrayBuffer(Oe)}catch(Re){if(Re instanceof RangeError){let Ue=Math.ceil(Oe/65536);ze=new WebAssembly.Memory({initial:Ue,maximum:Ue}).buffer}else throw Re}let Pe=0;for(;;){let{done:Re,value:Ue}=await Ee.read();if(Re)break;let tt=Ue.byteLength;new Uint8Array(ze,Pe,tt).set(Ue),Pe+=tt}return new Uint8Array(ze,0,Oe)}}else return ae instanceof Blob?new Uint8Array(await ae.arrayBuffer()):ae instanceof Uint8Array?ae:new Uint8Array(ae)}}),Yn,Jn,hs,Rr,ps,Is,hr,ms,Uo,na,Qe,Ds,Tc,Tl=u(()=>{mr(),zo(),Yr(),mt(),bi(),ta(),an(),Yn=(ae,he)=>{Kt()._OrtInit(ae,he)!==0&&Ot("Can't initialize onnxruntime.")},Jn=async ae=>{Yn(ae.wasm.numThreads,Se(ae.logLevel))},hs=async(ae,he)=>{var Oe,Ee;(Ee=(Oe=Kt()).asyncInit)==null||Ee.call(Oe);let be=ae.webgpu.adapter;if(he==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(be){if(typeof be.limits!="object"||typeof be.features!="object"||typeof be.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let ze=ae.webgpu.powerPreference;if(ze!==void 0&&ze!=="low-power"&&ze!=="high-performance")throw new Error(`Invalid powerPreference setting: "${ze}"`);let Pe=ae.webgpu.forceFallbackAdapter;if(Pe!==void 0&&typeof Pe!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${Pe}"`);if(be=await navigator.gpu.requestAdapter({powerPreference:ze,forceFallbackAdapter:Pe}),!be)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(he==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment")},Rr=new Map,ps=ae=>{let he=Kt(),be=he.stackSave();try{let Oe=he.PTR_SIZE,Ee=he.stackAlloc(2*Oe);he._OrtGetInputOutputCount(ae,Ee,Ee+Oe)!==0&&Ot("Can't get session input/output count.");let ze=Oe===4?"i32":"i64";return[Number(he.getValue(Ee,ze)),Number(he.getValue(Ee+Oe,ze))]}finally{he.stackRestore(be)}},Is=(ae,he)=>{let be=Kt(),Oe=be.stackSave(),Ee=0;try{let ze=be.PTR_SIZE,Pe=be.stackAlloc(2*ze);be._OrtGetInputOutputMetadata(ae,he,Pe,Pe+ze)!==0&&Ot("Can't get session input/output metadata.");let Re=Number(be.getValue(Pe,"*"));Ee=Number(be.getValue(Pe+ze,"*"));let Ue=be.HEAP32[Ee/4];if(Ue===0)return[Re,0];let tt=be.HEAPU32[Ee/4+1],lt=[];for(let nt=0;nt<tt;nt++){let Je=Number(be.getValue(Ee+8+nt*ze,"*"));lt.push(Je!==0?be.UTF8ToString(Je):Number(be.getValue(Ee+8+(nt+tt)*ze,"*")))}return[Re,Ue,lt]}finally{be.stackRestore(Oe),Ee!==0&&be._OrtFree(Ee)}},hr=ae=>{let he=Kt(),be=he._malloc(ae.byteLength);if(be===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${ae.byteLength}.`);return he.HEAPU8.set(ae,be),[be,ae.byteLength]},ms=async(ae,he)=>{var lt,nt,Je;let be,Oe,Ee=Kt();Array.isArray(ae)?[be,Oe]=ae:ae.buffer===Ee.HEAPU8.buffer?[be,Oe]=[ae.byteOffset,ae.byteLength]:[be,Oe]=hr(ae);let ze=0,Pe=0,Re=[],Ue=[],tt=[];try{if([Pe,Re]=await jl(he),(he==null?void 0:he.externalData)&&Ee.mountExternalData){let Hr=[];for(let yr of he.externalData){let Ln=typeof yr=="string"?yr:yr.path;Hr.push(fr(typeof yr=="string"?yr:yr.data).then(ci=>{Ee.mountExternalData(Ln,ci)}))}await Promise.all(Hr)}for(let Hr of(he==null?void 0:he.executionProviders)??[])if((typeof Hr=="string"?Hr:Hr.name)==="webnn"){if(Ee.shouldTransferToMLTensor=!1,typeof Hr!="string"){let yr=Hr,Ln=yr==null?void 0:yr.context,ci=yr==null?void 0:yr.gpuDevice,wi=yr==null?void 0:yr.deviceType,$l=yr==null?void 0:yr.powerPreference;Ln?Ee.currentContext=Ln:ci?Ee.currentContext=await Ee.webnnCreateMLContext(ci):Ee.currentContext=await Ee.webnnCreateMLContext({deviceType:wi,powerPreference:$l})}else Ee.currentContext=await Ee.webnnCreateMLContext();break}ze=await Ee._OrtCreateSession(be,Oe,Pe),(lt=Ee.webgpuOnCreateSession)==null||lt.call(Ee,ze),ze===0&&Ot("Can't create a session."),(nt=Ee.jsepOnCreateSession)==null||nt.call(Ee),Ee.currentContext&&(Ee.webnnRegisterMLContext(ze,Ee.currentContext),Ee.currentContext=void 0,Ee.shouldTransferToMLTensor=!0);let[Nt,Be]=ps(ze),pt=!!(he!=null&&he.enableGraphCapture),Br=[],nr=[],ir=[],zr=[],Ft=[];for(let Hr=0;Hr<Nt;Hr++){let[yr,Ln,ci]=Is(ze,Hr);yr===0&&Ot("Can't get an input name."),Ue.push(yr);let wi=Ee.UTF8ToString(yr);Br.push(wi),ir.push(Ln===0?{name:wi,isTensor:!1}:{name:wi,isTensor:!0,type:kn(Ln),shape:ci})}for(let Hr=0;Hr<Be;Hr++){let[yr,Ln,ci]=Is(ze,Hr+Nt);yr===0&&Ot("Can't get an output name."),tt.push(yr);let wi=Ee.UTF8ToString(yr);nr.push(wi),zr.push(Ln===0?{name:wi,isTensor:!1}:{name:wi,isTensor:!0,type:kn(Ln),shape:ci})}return Rr.set(ze,[ze,Ue,tt,null,pt,!1]),[ze,Br,nr,ir,zr]}catch(Nt){throw Ue.forEach(Be=>Ee._OrtFree(Be)),tt.forEach(Be=>Ee._OrtFree(Be)),ze!==0&&Ee._OrtReleaseSession(ze)!==0&&Ot("Can't release session."),Nt}finally{Ee._free(be),Pe!==0&&Ee._OrtReleaseSessionOptions(Pe)!==0&&Ot("Can't release session options."),Re.forEach(Nt=>Ee._free(Nt)),(Je=Ee.unmountExternalData)==null||Je.call(Ee)}},Uo=ae=>{var Ue,tt,lt;let he=Kt(),be=Rr.get(ae);if(!be)throw new Error(`cannot release session. invalid session id: ${ae}`);let[Oe,Ee,ze,Pe,Re]=be;Pe&&(Re&&he._OrtClearBoundOutputs(Pe.handle)!==0&&Ot("Can't clear bound outputs."),he._OrtReleaseBinding(Pe.handle)!==0&&Ot("Can't release IO binding.")),(Ue=he.jsepOnReleaseSession)==null||Ue.call(he,ae),(tt=he.webnnOnReleaseSession)==null||tt.call(he,ae),(lt=he.webgpuOnReleaseSession)==null||lt.call(he,ae),Ee.forEach(nt=>he._OrtFree(nt)),ze.forEach(nt=>he._OrtFree(nt)),he._OrtReleaseSession(Oe)!==0&&Ot("Can't release session."),Rr.delete(ae)},na=async(ae,he,be,Oe,Ee,ze,Pe=!1)=>{if(!ae){he.push(0);return}let Re=Kt(),Ue=Re.PTR_SIZE,tt=ae[0],lt=ae[1],nt=ae[3],Je=nt,Nt,Be;if(tt==="string"&&(nt==="gpu-buffer"||nt==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(Pe&&nt!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${ze} when enableGraphCapture is true.`);if(nt==="gpu-buffer"){let nr=ae[2].gpuBuffer;Be=bn(oi(tt),lt);{let ir=Re.jsepRegisterBuffer;if(!ir)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');Nt=ir(Oe,ze,nr,Be)}}else if(nt==="ml-tensor"){let nr=ae[2].mlTensor;Be=bn(oi(tt),lt);let ir=Re.webnnRegisterMLTensor;if(!ir)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');Nt=ir(Oe,nr,oi(tt),lt)}else{let nr=ae[2];if(Array.isArray(nr)){Be=Ue*nr.length,Nt=Re._malloc(Be),be.push(Nt);for(let ir=0;ir<nr.length;ir++){if(typeof nr[ir]!="string")throw new TypeError(`tensor data at index ${ir} is not a string`);Re.setValue(Nt+ir*Ue,Sr(nr[ir],be),"*")}}else{let ir=Re.webnnIsGraphInput,zr=Re.webnnIsGraphOutput;if(tt!=="string"&&ir&&zr){let Ft=Re.UTF8ToString(Ee);if(ir(Oe,Ft)||zr(Oe,Ft)){let Hr=oi(tt);Be=bn(Hr,lt),Je="ml-tensor";let yr=Re.webnnCreateTemporaryTensor,Ln=Re.webnnUploadTensor;if(!yr||!Ln)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let ci=await yr(Oe,Hr,lt);Ln(ci,new Uint8Array(nr.buffer,nr.byteOffset,nr.byteLength)),Nt=ci}else Be=nr.byteLength,Nt=Re._malloc(Be),be.push(Nt),Re.HEAPU8.set(new Uint8Array(nr.buffer,nr.byteOffset,Be),Nt)}else Be=nr.byteLength,Nt=Re._malloc(Be),be.push(Nt),Re.HEAPU8.set(new Uint8Array(nr.buffer,nr.byteOffset,Be),Nt)}}let pt=Re.stackSave(),Br=Re.stackAlloc(4*lt.length);try{lt.forEach((ir,zr)=>Re.setValue(Br+zr*Ue,ir,Ue===4?"i32":"i64"));let nr=Re._OrtCreateTensor(oi(tt),Nt,Be,Br,lt.length,lr(Je));nr===0&&Ot(`Can't create tensor for input/output. session=${Oe}, index=${ze}.`),he.push(nr)}finally{Re.stackRestore(pt)}},Qe=async(ae,he,be,Oe,Ee,ze)=>{var _i,Pc,zu;let Pe=Kt(),Re=Pe.PTR_SIZE,Ue=Rr.get(ae);if(!Ue)throw new Error(`cannot run inference. invalid session id: ${ae}`);let tt=Ue[0],lt=Ue[1],nt=Ue[2],Je=Ue[3],Nt=Ue[4];Ue[5];let Be=he.length,pt=Oe.length,Br=0,nr=[],ir=[],zr=[],Ft=[],Hr=[],yr=Pe.stackSave(),Ln=Pe.stackAlloc(Be*Re),ci=Pe.stackAlloc(Be*Re),wi=Pe.stackAlloc(pt*Re),$l=Pe.stackAlloc(pt*Re);try{[Br,nr]=Ca(ze),ut("wasm prepareInputOutputTensor");for(let pr=0;pr<Be;pr++)await na(be[pr],ir,Ft,ae,lt[he[pr]],he[pr],Nt);for(let pr=0;pr<pt;pr++)await na(Ee[pr],zr,Ft,ae,nt[Oe[pr]],Be+Oe[pr],Nt);dt("wasm prepareInputOutputTensor");for(let pr=0;pr<Be;pr++)Pe.setValue(Ln+pr*Re,ir[pr],"*"),Pe.setValue(ci+pr*Re,lt[he[pr]],"*");for(let pr=0;pr<pt;pr++)Pe.setValue(wi+pr*Re,zr[pr],"*"),Pe.setValue($l+pr*Re,nt[Oe[pr]],"*");(_i=Pe.jsepOnRunStart)==null||_i.call(Pe,tt),(Pc=Pe.webnnOnRunStart)==null||Pc.call(Pe,tt);let Bn;Bn=await Pe._OrtRun(tt,ci,Ln,Be,$l,pt,wi,Br),Bn!==0&&Ot("failed to call OrtRun().");let Bs=[],Fu=[];ut("wasm ProcessOutputTensor");for(let pr=0;pr<pt;pr++){let ys=Number(Pe.getValue(wi+pr*Re,"*"));if(ys===zr[pr]||Hr.includes(zr[pr])){Bs.push(Ee[pr]),ys!==zr[pr]&&Pe._OrtReleaseTensor(ys)!==0&&Ot("Can't release tensor.");continue}let xf=Pe.stackSave(),oa=Pe.stackAlloc(4*Re),Wo=!1,Cn,Si=0;try{Pe._OrtGetTensorData(ys,oa,oa+Re,oa+2*Re,oa+3*Re)!==0&&Ot(`Can't access output tensor data on index ${pr}.`);let Rc=Re===4?"i32":"i64",ki=Number(Pe.getValue(oa,Rc));Si=Pe.getValue(oa+Re,"*");let Uu=Pe.getValue(oa+Re*2,"*"),wf=Number(Pe.getValue(oa+Re*3,Rc)),la=[];for(let En=0;En<wf;En++)la.push(Number(Pe.getValue(Uu+En*Re,Rc)));Pe._OrtFree(Uu)!==0&&Ot("Can't free memory for tensor dims.");let bs=la.reduce((En,on)=>En*on,1);Cn=kn(ki);let zs=Je==null?void 0:Je.outputPreferredLocations[Oe[pr]];if(Cn==="string"){if(zs==="gpu-buffer"||zs==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let En=[];for(let on=0;on<bs;on++){let xs=Pe.getValue(Si+on*Re,"*"),qu=Pe.getValue(Si+(on+1)*Re,"*"),Wu=on===bs-1?void 0:qu-xs;En.push(Pe.UTF8ToString(xs,Wu))}Bs.push([Cn,la,En,"cpu"])}else if(zs==="gpu-buffer"&&bs>0){let En=Pe.jsepGetBuffer;if(!En)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let on=En(Si),xs=bn(ki,bs);if(xs===void 0||!it(Cn))throw new Error(`Unsupported data type: ${Cn}`);Wo=!0,Bs.push([Cn,la,{gpuBuffer:on,download:Pe.jsepCreateDownloader(on,xs,Cn),dispose:()=>{Pe._OrtReleaseTensor(ys)!==0&&Ot("Can't release tensor.")}},"gpu-buffer"])}else if(zs==="ml-tensor"&&bs>0){let En=Pe.webnnEnsureTensor,on=Pe.webnnIsGraphInputOutputTypeSupported;if(!En||!on)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(bn(ki,bs)===void 0||!_t(Cn))throw new Error(`Unsupported data type: ${Cn}`);if(!on(ae,Cn,!1))throw new Error(`preferredLocation "ml-tensor" for ${Cn} output is not supported by current WebNN Context.`);let xs=await En(ae,Si,ki,la,!1);Wo=!0,Bs.push([Cn,la,{mlTensor:xs,download:Pe.webnnCreateMLTensorDownloader(Si,Cn),dispose:()=>{Pe.webnnReleaseTensorId(Si),Pe._OrtReleaseTensor(ys)}},"ml-tensor"])}else if(zs==="ml-tensor-cpu-output"&&bs>0){let En=Pe.webnnCreateMLTensorDownloader(Si,Cn)(),on=Bs.length;Wo=!0,Fu.push((async()=>{let xs=[on,await En];return Pe.webnnReleaseTensorId(Si),Pe._OrtReleaseTensor(ys),xs})()),Bs.push([Cn,la,[],"cpu"])}else{let En=jt(Cn),on=new En(bs);new Uint8Array(on.buffer,on.byteOffset,on.byteLength).set(Pe.HEAPU8.subarray(Si,Si+on.byteLength)),Bs.push([Cn,la,on,"cpu"])}}finally{Pe.stackRestore(xf),Cn==="string"&&Si&&Pe._free(Si),Wo||Pe._OrtReleaseTensor(ys)}}Je&&!Nt&&(Pe._OrtClearBoundOutputs(Je.handle)!==0&&Ot("Can't clear bound outputs."),Rr.set(ae,[tt,lt,nt,Je,Nt,!1]));for(let[pr,ys]of await Promise.all(Fu))Bs[pr][2]=ys;return dt("wasm ProcessOutputTensor"),Bs}finally{(zu=Pe.webnnOnRunEnd)==null||zu.call(Pe,tt),Pe.stackRestore(yr),ir.forEach(Bn=>Pe._OrtReleaseTensor(Bn)),zr.forEach(Bn=>Pe._OrtReleaseTensor(Bn)),Ft.forEach(Bn=>Pe._free(Bn)),Br!==0&&Pe._OrtReleaseRunOptions(Br),nr.forEach(Bn=>Pe._free(Bn))}},Ds=ae=>{let he=Kt(),be=Rr.get(ae);if(!be)throw new Error("invalid session id");let Oe=be[0],Ee=he._OrtEndProfiling(Oe);Ee===0&&Ot("Can't get an profile file name."),he._OrtFree(Ee)},Tc=ae=>{let he=[];for(let be of ae){let Oe=be[2];!Array.isArray(Oe)&&"buffer"in Oe&&he.push(Oe.buffer)}return he}}),gr,zt,ia,Ea,ja,eo,qo,to,ts,li,gs,vs,Ta,ro,Ls,bf,no,io,Du=u(()=>{mr(),Tl(),bi(),pn(),gr=()=>!!O.wasm.proxy&&typeof document<"u",ia=!1,Ea=!1,ja=!1,to=new Map,ts=(ae,he)=>{let be=to.get(ae);be?be.push(he):to.set(ae,[he])},li=()=>{if(ia||!Ea||ja||!zt)throw new Error("worker not ready")},gs=ae=>{switch(ae.data.type){case"init-wasm":ia=!1,ae.data.err?(ja=!0,qo[1](ae.data.err)):(Ea=!0,qo[0]()),eo&&(URL.revokeObjectURL(eo),eo=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let he=to.get(ae.data.type);ae.data.err?he.shift()[1](ae.data.err):he.shift()[0](ae.data.out);break}}},vs=async()=>{if(!Ea){if(ia)throw new Error("multiple calls to 'initWasm()' detected.");if(ja)throw new Error("previous call to 'initWasm()' failed.");if(ia=!0,gr())return new Promise((ae,he)=>{zt==null||zt.terminate(),Xr().then(([be,Oe])=>{try{zt=Oe,zt.onerror=ze=>he(ze),zt.onmessage=gs,qo=[ae,he];let Ee={type:"init-wasm",in:O};if(!Ee.in.wasm.wasmPaths&&be){let ze=si();ze&&(Ee.in.wasm.wasmPaths=ze)}zt.postMessage(Ee),eo=be}catch(Ee){he(Ee)}},he)});try{await ds(O.wasm),await Jn(O),Ea=!0}catch(ae){throw ja=!0,ae}finally{ia=!1}}},Ta=async ae=>{if(gr())return li(),new Promise((he,be)=>{ts("init-ep",[he,be]);let Oe={type:"init-ep",in:{epName:ae,env:O}};zt.postMessage(Oe)});await hs(O,ae)},ro=async ae=>gr()?(li(),new Promise((he,be)=>{ts("copy-from",[he,be]);let Oe={type:"copy-from",in:{buffer:ae}};zt.postMessage(Oe,[ae.buffer])})):hr(ae),Ls=async(ae,he)=>{if(gr()){if(he!=null&&he.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return li(),new Promise((be,Oe)=>{ts("create",[be,Oe]);let Ee={type:"create",in:{model:ae,options:{...he}}},ze=[];ae instanceof Uint8Array&&ze.push(ae.buffer),zt.postMessage(Ee,ze)})}else return ms(ae,he)},bf=async ae=>{if(gr())return li(),new Promise((he,be)=>{ts("release",[he,be]);let Oe={type:"release",in:ae};zt.postMessage(Oe)});Uo(ae)},no=async(ae,he,be,Oe,Ee,ze)=>{if(gr()){if(be.some(Pe=>Pe[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(Ee.some(Pe=>Pe))throw new Error("pre-allocated output tensor is not supported for proxy.");return li(),new Promise((Pe,Re)=>{ts("run",[Pe,Re]);let Ue=be,tt={type:"run",in:{sessionId:ae,inputIndices:he,inputs:Ue,outputIndices:Oe,options:ze}};zt.postMessage(tt,Tc(Ue))})}else return Qe(ae,he,be,Oe,Ee,ze)},io=async ae=>{if(gr())return li(),new Promise((he,be)=>{ts("end-profiling",[he,be]);let Oe={type:"end-profiling",in:ae};zt.postMessage(Oe)});Ds(ae)}}),Ac,so,Al,$c=u(()=>{mr(),Du(),mt(),vt(),an(),Ac=(ae,he)=>{switch(ae.location){case"cpu":return[ae.type,ae.dims,ae.data,"cpu"];case"gpu-buffer":return[ae.type,ae.dims,{gpuBuffer:ae.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[ae.type,ae.dims,{mlTensor:ae.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${ae.location} for ${he()}`)}},so=ae=>{switch(ae[3]){case"cpu":return new xe(ae[0],ae[2],ae[1]);case"gpu-buffer":{let he=ae[0];if(!it(he))throw new Error(`not supported data type: ${he} for deserializing GPU tensor`);let{gpuBuffer:be,download:Oe,dispose:Ee}=ae[2];return xe.fromGpuBuffer(be,{dataType:he,dims:ae[1],download:Oe,dispose:Ee})}case"ml-tensor":{let he=ae[0];if(!_t(he))throw new Error(`not supported data type: ${he} for deserializing MLTensor tensor`);let{mlTensor:be,download:Oe,dispose:Ee}=ae[2];return xe.fromMLTensor(be,{dataType:he,dims:ae[1],download:Oe,dispose:Ee})}default:throw new Error(`invalid data location: ${ae[3]}`)}},Al=class{async fetchModelAndCopyToWasmMemory(ae){return ro(await fr(ae))}async loadModel(ae,he){Le();let be;typeof ae=="string"?be=await this.fetchModelAndCopyToWasmMemory(ae):be=ae,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Ls(be,he),Ze()}async dispose(){return bf(this.sessionId)}async run(ae,he,be){Le();let Oe=[],Ee=[];Object.entries(ae).forEach(nt=>{let Je=nt[0],Nt=nt[1],Be=this.inputNames.indexOf(Je);if(Be===-1)throw new Error(`invalid input '${Je}'`);Oe.push(Nt),Ee.push(Be)});let ze=[],Pe=[];Object.entries(he).forEach(nt=>{let Je=nt[0],Nt=nt[1],Be=this.outputNames.indexOf(Je);if(Be===-1)throw new Error(`invalid output '${Je}'`);ze.push(Nt),Pe.push(Be)});let Re=Oe.map((nt,Je)=>Ac(nt,()=>`input "${this.inputNames[Ee[Je]]}"`)),Ue=ze.map((nt,Je)=>nt?Ac(nt,()=>`output "${this.outputNames[Pe[Je]]}"`):null),tt=await no(this.sessionId,Ee,Re,Pe,Ue,be),lt={};for(let nt=0;nt<tt.length;nt++)lt[this.outputNames[Pe[nt]]]=ze[nt]??so(tt[nt]);return Ze(),lt}startProfiling(){}endProfiling(){io(this.sessionId)}}}),sa={};f(sa,{OnnxruntimeWebAssemblyBackend:()=>aa,initializeFlags:()=>Aa,wasmBackend:()=>ao});var Aa,aa,ao,Lu=u(()=>{mr(),Du(),$c(),Aa=()=>{(typeof O.wasm.initTimeout!="number"||O.wasm.initTimeout<0)&&(O.wasm.initTimeout=0);let ae=O.wasm.simd;if(typeof ae!="boolean"&&ae!==void 0&&ae!=="fixed"&&ae!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${ae}". Reset it to \`false\` and ignore SIMD feature checking.`),O.wasm.simd=!1),typeof O.wasm.proxy!="boolean"&&(O.wasm.proxy=!1),typeof O.wasm.trace!="boolean"&&(O.wasm.trace=!1),typeof O.wasm.numThreads!="number"||!Number.isInteger(O.wasm.numThreads)||O.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)O.wasm.numThreads=1;else{let he=typeof navigator>"u"?o("node:os").cpus().length:navigator.hardwareConcurrency;O.wasm.numThreads=Math.min(4,Math.ceil((he||1)/2))}},aa=class{async init(ae){Aa(),await vs(),await Ta(ae)}async createInferenceSessionHandler(ae,he){let be=new Al;return await be.loadModel(ae,he),be}},ao=new aa}),Bu={};f(Bu,{InferenceSession:()=>cr,TRACE:()=>Me,TRACE_EVENT_BEGIN:()=>ut,TRACE_EVENT_END:()=>dt,TRACE_FUNC_BEGIN:()=>Le,TRACE_FUNC_END:()=>Ze,Tensor:()=>xe,default:()=>Nc,env:()=>O,registerBackend:()=>k}),mr(),mr(),mr();var Oc="1.26.0",Nc=Kn;{let ae=(Lu(),h(sa)).wasmBackend;k("cpu",ae,10),k("wasm",ae,10)}return Object.defineProperty(O.versions,"web",{value:Oc,enumerable:!0}),h(Bu)})();e.exports=n})(o1)),o1.exports}var q$;function AU(){return q$||(q$=1,(function(e){var r=Zl&&Zl.__createBinding||(Object.create?(function(C,T,j,A){A===void 0&&(A=j);var N=Object.getOwnPropertyDescriptor(T,j);(!N||("get"in N?!T.__esModule:N.writable||N.configurable))&&(N={enumerable:!0,get:function(){return T[j]}}),Object.defineProperty(C,A,N)}):(function(C,T,j,A){A===void 0&&(A=j),C[A]=T[j]})),n=Zl&&Zl.__setModuleDefault||(Object.create?(function(C,T){Object.defineProperty(C,"default",{enumerable:!0,value:T})}):function(C,T){C.default=T}),i=Zl&&Zl.__importStar||function(C){if(C&&C.__esModule)return C;var T={};if(C!=null)for(var j in C)j!=="default"&&Object.prototype.hasOwnProperty.call(C,j)&&r(T,C,j);return n(T,C),T};Object.defineProperty(e,"__esModule",{value:!0}),e.MicVAD=e.getDefaultRealTimeVADOptions=e.ort=e.DEFAULT_MODEL=void 0;const s=i(TU()),a=yT(),l=bT(),o=Wy(),u=Vw(),f=F5(),m=U5();e.DEFAULT_MODEL="legacy",e.ort=s;const h="vad.worklet.bundle.min.js",y="silero_vad_v5.onnx",x="silero_vad_legacy.onnx",k=C=>({...l.defaultFrameProcessorOptions,onFrameProcessed:()=>{},onVADMisfire:()=>{o.log.debug("VAD misfire")},onSpeechStart:()=>{o.log.debug("Detected speech start")},onSpeechEnd:()=>{o.log.debug("Detected speech end")},onSpeechRealStart:()=>{o.log.debug("Detected real speech start")},baseAssetPath:"./",onnxWASMBasePath:"./",model:C,workletOptions:{},getStream:async()=>await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}}),pauseStream:async T=>{T.getTracks().forEach(j=>{j.stop()})},resumeStream:async()=>await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}}),ortConfig:T=>{T.env.logLevel="error"},startOnLoad:!0,processorType:"auto"});e.getDefaultRealTimeVADOptions=k;const _=C=>"audioWorklet"in C&&typeof AudioWorkletNode=="function"?"AudioWorklet":"ScriptProcessor";async function b(C,T,j,A,N){await j.audioWorklet.addModule(C),T.processorOptions={...T.processorOptions??{},frameSamples:A};const O=new AudioWorkletNode(j,"vad-helper-worklet",T);return O.port.onmessage=async I=>{const W=I.data;if(!(typeof W=="object"&&W&&"message"in W)){console.error("Invalid message event",W);return}switch(W.message){case u.Message.AudioFrame:{if(!("data"in W&&W.data instanceof ArrayBuffer)){console.log("Audio frame message has no data");return}const G=new Float32Array(W.data);await N(G);break}}},O}async function w(C,T,j){const A=new m.Resampler({nativeSampleRate:C.sampleRate,targetSampleRate:16e3,targetFrameSize:T});o.log.debug("using script processor");const O=C.createScriptProcessor(4096,1,1);let I=!1;return O.onaudioprocess=async W=>{if(!I){I=!0;try{const G=W.inputBuffer.getChannelData(0);W.outputBuffer.getChannelData(0).fill(0);const F=A.process(G);for(const z of F)await j(z)}catch(G){console.error("Error processing audio:",G)}finally{I=!1}}},O.connect(C.destination),O}class S{constructor(T,j,A,N,O=!1,I=null,W=null,G=null,V=null,F=null,z=null,H="uninitialized",X=!1){this.options=T,this.frameProcessor=j,this.model=A,this.frameSamples=N,this.listening=O,this.errored=I,this._stream=W,this._audioContext=G,this._vadNode=V,this._mediaStreamAudioSourceNode=F,this._audioProcessorAdapterType=z,this.initializationState=H,this.ownsAudioContext=X,this.getAudioInstances=()=>{if(this._stream===null||this._audioContext===null||this._vadNode==null||this._mediaStreamAudioSourceNode==null)throw new Error("MicVAD has null stream, audio context, or processor adapter");return{stream:this._stream,audioContext:this._audioContext,vadNode:this._vadNode,mediaStreamAudioSourceNode:this._mediaStreamAudioSourceNode}},this.setErrored=se=>{this.initializationState="errored",this.errored=se},this.start=async()=>{switch(this.initializationState){case"uninitialized":{o.log.debug("initializing micVAD"),this.initializationState="initializing",this.frameProcessor.resume();try{this._stream=await this.options.getStream()}catch(se){throw se instanceof Error?this.setErrored(se.message):this.setErrored(String(se)),se}if(this.options.audioContext?(console.log("using custom audio context"),this._audioContext=this.options.audioContext):(console.log("using default audio context"),this._audioContext=new AudioContext,this.ownsAudioContext=!0),!this._audioContext)throw this.setErrored("Audio context is null"),Error("Audio context is null");switch(this._audioProcessorAdapterType=this.options.processorType=="auto"?_(this._audioContext):this.options.processorType,this._audioProcessorAdapterType){case"AudioWorklet":this._vadNode=await b(this.options.baseAssetPath+h,this.options.workletOptions,this._audioContext,this.frameSamples,this.processFrame);break;case"ScriptProcessor":this._vadNode=await w(this._audioContext,this.frameSamples,this.processFrame);break;default:throw new Error(`Unsupported audio processor adapter type: ${this._audioProcessorAdapterType}`)}this._mediaStreamAudioSourceNode=new MediaStreamAudioSourceNode(this._audioContext,{mediaStream:this._stream}),this._mediaStreamAudioSourceNode.connect(this._vadNode),o.log.debug("started micVAD"),this.listening=!0,this.initializationState="initialized";break}case"initializing":{o.log.warn("start called while initializing");break}case"initialized":{if(this.listening)return;this.listening=!0,this.frameProcessor.resume();const{stream:se,audioContext:oe,vadNode:Q}=this.getAudioInstances();this._stream=await this.options.resumeStream(se);const ee=new MediaStreamAudioSourceNode(oe,{mediaStream:this._stream});this._mediaStreamAudioSourceNode=ee,ee.connect(Q);break}case"destroyed":{o.log.warn("start called after destroyed");break}case"errored":{o.log.error("start called after errored");break}default:{o.log.warn("weird initialization state");break}}},this.pause=async()=>{if(!this.listening)return;this.listening=!1;const{stream:se,mediaStreamAudioSourceNode:oe}=this.getAudioInstances();await this.options.pauseStream(se),oe.disconnect(),this.frameProcessor.pause(this.handleFrameProcessorEvent)},this.destroy=async()=>{var oe;o.log.debug("destroy called"),this.initializationState="destroyed";const{vadNode:se}=this.getAudioInstances();se instanceof AudioWorkletNode&&se.port.postMessage(u.Message.SpeechStop),this.listening&&await this.pause(),await this.model.release(),this.ownsAudioContext&&await((oe=this._audioContext)==null?void 0:oe.close())},this.setOptions=se=>{this.frameProcessor.setOptions(se)},this.processFrame=async se=>{await this.frameProcessor.process(se,this.handleFrameProcessorEvent)},this.handleFrameProcessorEvent=se=>{switch(se.msg){case u.Message.FrameProcessed:this.options.onFrameProcessed(se.probs,se.frame);break;case u.Message.SpeechStart:this.options.onSpeechStart();break;case u.Message.SpeechRealStart:this.options.onSpeechRealStart();break;case u.Message.VADMisfire:this.options.onVADMisfire();break;case u.Message.SpeechEnd:this.options.onSpeechEnd(se.audio);break}}}static async new(T={}){const j={...(0,e.getDefaultRealTimeVADOptions)(T.model??e.DEFAULT_MODEL),...T};(0,l.validateOptions)(j),e.ort.env.wasm.wasmPaths=j.onnxWASMBasePath,j.ortConfig!==void 0&&j.ortConfig(e.ort);const A=j.model==="v5"?y:x,N=j.baseAssetPath+A,O=j.model==="v5"?f.SileroV5.new:f.SileroLegacy.new;let I;try{I=await O(e.ort,()=>(0,a.defaultModelFetcher)(N))}catch(z){throw console.error(`Encountered an error while loading model file ${N}`),z}const W=j.model==="v5"?512:1536,G=W/16,V=new l.FrameProcessor(I.process,I.reset_state,{positiveSpeechThreshold:j.positiveSpeechThreshold,negativeSpeechThreshold:j.negativeSpeechThreshold,redemptionMs:j.redemptionMs,preSpeechPadMs:j.preSpeechPadMs,minSpeechMs:j.minSpeechMs,submitUserSpeechOnPause:j.submitUserSpeechOnPause},G),F=new S(j,V,I,W);if(j.startOnLoad)try{await F.start()}catch(z){throw console.error("Error starting micVad",z),z}return F}}e.MicVAD=S})(Zl)),Zl}var W$;function $U(){return W$||(W$=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.getDefaultRealTimeVADOptions=e.MicVAD=e.DEFAULT_MODEL=e.utils=e.NonRealTimeVAD=e.Message=e.FrameProcessor=e.defaultModelFetcher=e.baseAssetPath=void 0;var r=L5();Object.defineProperty(e,"baseAssetPath",{enumerable:!0,get:function(){return r.baseAssetPath}});var n=yT();Object.defineProperty(e,"defaultModelFetcher",{enumerable:!0,get:function(){return n.defaultModelFetcher}});var i=bT();Object.defineProperty(e,"FrameProcessor",{enumerable:!0,get:function(){return i.FrameProcessor}});var s=Vw();Object.defineProperty(e,"Message",{enumerable:!0,get:function(){return s.Message}});var a=EU();Object.defineProperty(e,"NonRealTimeVAD",{enumerable:!0,get:function(){return a.NonRealTimeVAD}});const l=jU();e.utils={audioFileToArray:l.audioFileToArray,minFramesForTargetMS:l.minFramesForTargetMS,arrayBufferToBase64:l.arrayBufferToBase64,encodeWAV:l.encodeWAV};var o=AU();Object.defineProperty(e,"DEFAULT_MODEL",{enumerable:!0,get:function(){return o.DEFAULT_MODEL}}),Object.defineProperty(e,"MicVAD",{enumerable:!0,get:function(){return o.MicVAD}}),Object.defineProperty(e,"getDefaultRealTimeVADOptions",{enumerable:!0,get:function(){return o.getDefaultRealTimeVADOptions}})})(i1)),i1}var OU=$U();function cx(e,r,n,i){var a,l;try{(l=(a=window.api)==null?void 0:a.logs)==null||l.write(e,r,n,i)}catch{}const s=r==="error"?console.error:r==="warn"?console.warn:console.log;i!==void 0?s(`[${e}]`,n,i):s(`[${e}]`,n)}const gt={debug:(e,r,n)=>cx(e,"debug",r,n),info:(e,r,n)=>cx(e,"info",r,n),warn:(e,r,n)=>cx(e,"warn",r,n),error:(e,r,n)=>cx(e,"error",r,n)},W5=16e3,NU=6,Qh=W5*NU,PU=400,RU=W5*PU/1e3,H$=300,G$=2e3,V$=1500,K$=3e3,MU=600,H5=.5,G5=.35,X$=.85,Y$=.7;let Js=null,vl=!1,As=!1;const sE=new Set;function ux(e){for(const r of Array.from(sE))try{r(e)}catch(n){gt.warn("speech","workerDeath listener threw",{error:n instanceof Error?n.message:String(n)})}}let l1=0;const J$=2;let yp=!1,V5=!1;function K5(e){e.addEventListener("message",r=>{var i;if(((i=r.data)==null?void 0:i.type)!=="log")return;const n=r.data.level||"info";gt[n]("whisperWorker",r.data.message??"",r.data.meta)}),e.addEventListener("error",r=>{gt.error("whisperWorker","worker error event (fatal)",{message:r.message,filename:r.filename,lineno:r.lineno}),IU(`error:${r.message||"unknown"}`)})}function b0(){return Js||(Js=new Worker(new URL(""+new URL("whisperWorker-Dbia1OpC.js",import.meta.url).href,import.meta.url),{type:"module"}),K5(Js),gt.info("speech","worker spawned"),Js)}let dx=!1;function IU(e){if(!yp){if(dx){gt.warn("speech","respawnWorker: already in flight, ignoring",{reason:e});return}if(dx=!0,l1+=1,V5=!0,gt.warn("speech","respawnWorker: starting",{reason:e,attempt:l1}),ux({reason:e,respawned:!1,finalOnly:!0}),l1>J$){if(yp=!0,gt.error("speech","respawnWorker: limit exceeded, disabling speech",{limit:J$}),Js)try{Js.terminate()}catch{}Js=null,vl=!1,As=!1,ux({reason:"respawn-limit-exceeded",respawned:!1,finalOnly:!0}),dx=!1;return}if(Js)try{Js.terminate()}catch{}Js=null,vl=!1,As=!1;try{Js=new Worker(new URL(""+new URL("whisperWorker-Dbia1OpC.js",import.meta.url).href,import.meta.url),{type:"module"}),K5(Js),As=!0,Js.postMessage({type:"load"}),gt.info("speech","respawnWorker: new worker spawned, load posted"),ux({reason:e,respawned:!0,finalOnly:!0})}catch(r){yp=!0,gt.error("speech","respawnWorker: spawn failed, disabling speech",{error:r instanceof Error?r.message:String(r)}),ux({reason:"spawn-failed",respawned:!1,finalOnly:!0})}finally{dx=!1}}}function DU(e,r){if(vl||As)return;As=!0;const n=b0();gt.info("speech","preloadModel: posting load");const i=s=>{s.data.type==="status"?(e==null||e(s.data.status,s.data.message),s.data.status==="ready"&&(vl=!0,As=!1,gt.info("speech","preloadModel: ready"),n.removeEventListener("message",i))):s.data.type==="progress"?r==null||r(s.data.pct):s.data.type==="error"&&(As=!1,gt.error("speech","preloadModel: worker reported error",{error:s.data.error}),e==null||e("error",s.data.error),n.removeEventListener("message",i))};n.addEventListener("message",i),n.postMessage({type:"load"})}function LU(){gt.info("speech","resetModel: clearing load flags"),vl=!1,As=!1}function xT(){var e;return typeof Worker<"u"&&!!((e=navigator.mediaDevices)!=null&&e.getUserMedia)&&typeof AudioWorkletNode<"u"}function BU(e){const r=b0();return!vl&&!As&&(As=!0,r.postMessage({type:"load"})),new Promise((n,i)=>{const s=a=>{var l,o,u;((l=a.data)==null?void 0:l.type)==="result"?(r.removeEventListener("message",s),n((a.data.text??"").trim())):((o=a.data)==null?void 0:o.type)==="error"?(r.removeEventListener("message",s),i(new Error(String(a.data.error??"Transcription failed")))):((u=a.data)==null?void 0:u.type)==="status"&&a.data.status==="ready"&&(vl=!0,As=!1)};r.addEventListener("message",s),r.postMessage({type:"transcribe",audio:e},[e.buffer])})}function zU(e){let r=b0(),n=!1,i=null,s=null,a=null,l=null,o=null;const u=[],f=new Set;let m=null,h=0,y=!1,x=0,k=!1,_=!1,b=0,w=0,S=0,C=-1,T=H$,j=0,A=null,N="",O="",I=!1,W=0;function G(ce,we){const _e=Math.min(ce.length,we.length);let Ae=0;for(;Ae<_e&&ce.charCodeAt(Ae)===we.charCodeAt(Ae);)Ae++;return Ae}function V(ce){const we=G(N,ce);return N=ce,we>O.length&&(O=ce.slice(0,we)),O.length>ce.length&&(O=ce),O}const F=()=>(m||(m=new Float32Array(Qh)),m),z=()=>{h=0},H=ce=>{const we=F(),_e=ce.length;if(_e>=Qh){we.set(ce.subarray(_e-Qh)),h=Qh;return}if(h+_e<=Qh){we.set(ce,h),h+=_e;return}const Ae=h+_e-Qh;we.copyWithin(0,Ae,h),h-=Ae,we.set(ce,h),h+=_e},X=()=>{A&&(clearTimeout(A),A=null)},se=()=>{X(),y=!1,k=!1,_=!1,T=H$,N="",O="",I=!1,W=0,z()},oe=()=>{if(n||!y||_||k||A)return;if(h<RU){A=setTimeout(()=>{A=null,oe()},T);return}const ce=performance.now()-b;if(ce<T&&b!==0){A=setTimeout(()=>{A=null,oe()},T-ce);return}if(V5||yp||e.partialsEnabled&&!e.partialsEnabled())return;const we=F(),_e=new Float32Array(h);_e.set(we.subarray(0,h)),w+=1,S=w,k=!0,j=performance.now(),b=j,r.postMessage({type:"transcribe-partial",audio:_e,seq:w},[_e.buffer])},Q=ce=>ce.length===0?Promise.resolve():yp?(gt.warn("speech","transcribeAudio: speech disabled (worker respawn limit hit)"),n||e.onError("Speech recognition disabled — please reload the app."),Promise.resolve()):new Promise(we=>{u.push(we),w+=1;const _e=w;C=_e,r.postMessage({type:"transcribe",audio:ce,seq:_e},[ce.buffer])}),ee=ce=>{const we=Q(ce);return f.add(we),we.finally(()=>{f.delete(we)}),we},Y=ce=>{var we,_e,Ae,ve,ie;if(ce.data.type==="result"){const ye=ce.data.text,xe=ce.data.seq??0;xe&&xe<C&&gt.warn("speech","result: seq below latestFinalSeq (delivering anyway)",{seq:xe,latestFinalSeq:C}),!n&&ye&&e.onFinal(ye),(we=u.shift())==null||we()}else if(ce.data.type==="partial"){const ye=ce.data.seq??0,xe=ce.data.text??"",Ge=performance.now()-j;k=!1,Ge>=K$?(_=!0,gt.warn("speech","partials.disabled.budget",{elapsedMs:Math.round(Ge),seq:ye})):Ge>=V$&&(T=Math.min(T*2,G$),gt.warn("speech","partials.slowdown",{elapsedMs:Math.round(Ge),newIntervalMs:T,seq:ye})),I||(I=!0,Ge>MU&&T<500&&(T=500,gt.info("speech","partials.probe.slow_host",{elapsedMs:Math.round(Ge),newIntervalMs:500})));const Me=ye!==S||ye<=C;if(!n&&!Me&&xe){const We=V(xe);We&&((_e=e.onPartial)==null||_e.call(e,We),W===0&&(W=performance.now(),gt.info("speech","partial.first",{msSinceSpeechStart:Math.round(W-x)})))}oe()}else if(ce.data.type==="partial-error"){const ye=performance.now()-j;k=!1,ye>=K$?(_=!0,gt.warn("speech","partials.disabled.budget (after error)",{elapsedMs:Math.round(ye),seq:ce.data.seq})):ye>=V$&&(T=Math.min(T*2,G$),gt.warn("speech","partials.slowdown (after error)",{elapsedMs:Math.round(ye),newIntervalMs:T,seq:ce.data.seq})),gt.warn("speech","partial encode failed",{error:ce.data.error,seq:ce.data.seq}),oe()}else ce.data.type==="error"?(n||e.onError(ce.data.error),(Ae=u.shift())==null||Ae()):ce.data.type==="status"?(n||(ve=e.onModelStatus)==null||ve.call(e,ce.data.status,ce.data.message),ce.data.status==="ready"&&(vl=!0,As=!1)):ce.data.type==="progress"&&(n||(ie=e.onProgress)==null||ie.call(e,ce.data.pct))};r.addEventListener("message",Y);const te=ce=>{var we,_e;if(!n){for(gt.warn("speech","createRecognition: worker death event",ce),(we=e.onStatusChange)==null||we.call(e,"restarting");u.length;)(_e=u.shift())==null||_e();if(f.clear(),X(),k=!1,ce.respawned){try{r.removeEventListener("message",Y)}catch{}r=b0(),r.addEventListener("message",Y)}}};return sE.add(te),{start:async()=>{if(!n){if(yp){e.onError("Speech recognition disabled — please reload the app.");return}!vl&&!As&&(As=!0,gt.info("speech","createRecognition.start: triggering model load"),r.postMessage({type:"load"})),gt.info("speech","createRecognition.start: initializing VAD",{modelReady:vl,modelLoading:As});try{const ce=new URL("vad/",document.baseURI).href,we=e.inputDeviceId||null,_e={channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0};we&&(_e.deviceId={exact:we}),gt.info("speech","getUserMedia",{hasDeviceId:!!we,deviceIdPrefix:we?we.slice(0,8):null});const Ae=await navigator.mediaDevices.getUserMedia({audio:_e});s=Ae,a=new AudioContext;for(const ve of Ae.getAudioTracks())ve.addEventListener("ended",()=>{n||(gt.warn("speech","mic track ended (permission revoked or device removed)"),e.onError("Microphone disconnected or permission revoked"))});try{o=a.createMediaStreamSource(s),l=a.createAnalyser(),l.fftSize=2048,l.smoothingTimeConstant=.3,o.connect(l)}catch(ve){gt.warn("speech","analyser init failed",{error:ve instanceof Error?ve.message:String(ve)}),o=null,l=null}i=await OU.MicVAD.new({audioContext:a,getStream:async()=>Ae,resumeStream:async()=>Ae,pauseStream:async()=>{},baseAssetPath:ce,onnxWASMBasePath:ce,model:"v5",positiveSpeechThreshold:H5,negativeSpeechThreshold:G5,minSpeechMs:300,redemptionMs:1500,preSpeechPadMs:300,submitUserSpeechOnPause:!0,onFrameProcessed:(ve,ie)=>{var ye;n||((ye=e.onFrame)==null||ye.call(e,ve),y&&(H(ie),oe()))},onSpeechStart:()=>{var ve;n||(se(),y=!0,x=performance.now(),(ve=e.onSpeechStart)==null||ve.call(e))},onSpeechEnd:ve=>{var ie;n||((ie=e.onStatusChange)==null||ie.call(e,"transcribing"),se(),ee(ve))},onVADMisfire:()=>{var ve,ie;n||((ve=e.onStatusChange)==null||ve.call(e,"idle"),se(),(ie=e.onMisfire)==null||ie.call(e))}}),i.start()}catch(ce){const we=ce instanceof Error?ce.message:"Microphone access denied",_e=ce instanceof Error?ce.stack:"";if(gt.error("speech","createRecognition.start: VAD init failed",{error:we,stack:_e}),l){try{l.disconnect()}catch{}l=null}if(o){try{o.disconnect()}catch{}o=null}if(s){try{s.getTracks().forEach(Ae=>Ae.stop())}catch{}s=null}if(a){try{await a.close()}catch{}a=null}e.onError(we)}}},stop:async()=>{if(i)try{await i.pause()}catch{}for(se();f.size>0;)await Promise.all(Array.from(f));if(i){try{await i.destroy()}catch{}i=null}if(l){try{l.disconnect()}catch{}l=null}if(o){try{o.disconnect()}catch{}o=null}if(s){try{s.getTracks().forEach(ce=>ce.stop())}catch{}s=null}if(a){try{await a.close()}catch{}a=null}},setVadThresholds:(ce,we)=>{if(i)try{i.setOptions({positiveSpeechThreshold:ce,negativeSpeechThreshold:we})}catch(_e){gt.warn("speech","setVadThresholds failed",{error:_e instanceof Error?_e.message:String(_e)})}},getAnalyser:()=>l,destroy:()=>{if(n=!0,se(),i){try{i.destroy()}catch{}i=null}if(l){try{l.disconnect()}catch{}l=null}if(o){try{o.disconnect()}catch{}o=null}if(a){try{a.close()}catch{}a=null}if(s){try{s.getTracks().forEach(ce=>ce.stop())}catch{}s=null}sE.delete(te),r.removeEventListener("message",Y)}}}let qv=null;const aE=new Set,oE=new Set;function FU(){for(const e of aE)try{e()}catch{}}function lE(){for(const e of oE)try{e()}catch{}}function UU(e){return e.replace(/```[\s\S]*?```/g,"").replace(/`([^`]+)`/g,"$1").replace(/^#{1,6}\s+/gm,"").replace(/\*{1,3}([^*]+)\*{1,3}/g,"$1").replace(/_{1,3}([^_]+)_{1,3}/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/^[-*_]{3,}\s*$/gm,"").replace(/^>\s?/gm,"").replace(/^[\s]*[-*+]\s/gm,"").replace(/^[\s]*\d+\.\s/gm,"").trim()}function qU(e){if(!window.speechSynthesis)return;const r=UU(e);if(!r)return;const n=new SpeechSynthesisUtterance(r);n.rate=1,n.pitch=1,n.onstart=()=>{qv=performance.now(),FU()},n.onend=()=>{!window.speechSynthesis.speaking&&!window.speechSynthesis.pending&&(qv=null,lE())},n.onerror=i=>{i.error!=="canceled"&&!window.speechSynthesis.speaking&&!window.speechSynthesis.pending&&(qv=null,lE())},window.speechSynthesis.speak(n)}function X5(){window.speechSynthesis&&(window.speechSynthesis.cancel(),qv=null,lE())}function Y5(){var e;return((e=window.speechSynthesis)==null?void 0:e.speaking)??!1}function WU(){return qv}function HU(e){return aE.add(e),()=>{aE.delete(e)}}function GU(e){return oE.add(e),()=>{oE.delete(e)}}function VU(e){Y5()&&(e.setVadThresholds(X$,Y$),gt.info("voice","tts.duck.on",{reason:"already-speaking-on-attach"}));const r=HU(()=>{e.setVadThresholds(X$,Y$),gt.info("voice","tts.duck.on")}),n=GU(()=>{e.setVadThresholds(H5,G5),gt.info("voice","tts.duck.off")});return()=>{r(),n()}}const KU=[{match:/^(send|submit|enter)\.?$/i,data:"\r",label:"send"},{match:/^(cancel|escape)\.?$/i,data:"\x1B",label:"cancel"},{match:/^clear( line)?\.?$/i,data:"",label:"clear"}];function XU(e){const r=e.trim();return KU.find(n=>n.match.test(r))??null}const YU=4e4;let Wd=null;function bp(){Wd&&clearTimeout(Wd),Wd=setTimeout(()=>{Wd=null,Lt.getState().stopRecording()},YU)}function fx(){Wd&&(clearTimeout(Wd),Wd=null)}let wu=null,xu=null;const JU=.04,QU=.3;let x0=0,cE=0;function ZU(e){xu!==null&&cancelAnimationFrame(xu);const r=()=>{if(wu===null||Lt.getState().submitCountdownStartAt===null){xu=null;return}const n=performance.now();if(n-cE<200&&x0>QU){const s=n-e;gt.info("voice","submit.preempted_by_voice",{reason:"vad",prob:x0.toFixed(2),msIntoCountdown:Math.round(s)}),gu(),bp();return}const i=J5();if(i){const s=new Uint8Array(i.fftSize);i.getByteTimeDomainData(s);let a=0;for(let o=0;o<s.length;o++){const u=(s[o]-128)/128;a+=u*u}const l=Math.sqrt(a/s.length);if(l>JU){const o=n-e;gt.info("voice","submit.preempted_by_voice",{reason:"rms",rms:l.toFixed(3),msIntoCountdown:Math.round(o)}),gu(),bp();return}}xu=requestAnimationFrame(r)};xu=requestAnimationFrame(r)}function eq(e){wu&&clearTimeout(wu);const r=Lt.getState().submitDelayMs,n=performance.now();Lt.setState({submitCountdownStartAt:n}),wu=setTimeout(()=>{wu=null,Lt.setState({submitCountdownStartAt:null});try{window.api.pty.write({tabId:e,data:"\r"})}catch(i){gt.warn("voice","submit pty.write failed",{error:i instanceof Error?i.message:String(i)})}bp()},r),ZU(n)}function gu(){xu!==null&&(cancelAnimationFrame(xu),xu=null),wu&&(clearTimeout(wu),wu=null),Lt.getState().submitCountdownStartAt!==null&&Lt.setState({submitCountdownStartAt:null})}let Oi=null,ss=null;function J5(){var e;return((e=Oi==null?void 0:Oi.getAnalyser)==null?void 0:e.call(Oi))??null}const hx=1e4;let Wv=null;function px(){Wv&&(clearTimeout(Wv),Wv=null)}let a0=null,o0=null;function mx(){a0=null,o0&&(o0(),o0=null)}const tq=1500,rq=9e4;let gx=0,l0=null,uE=-1;function vx(){l0&&(clearTimeout(l0),l0=null,uE=-1)}const nq=new Set(["you","You","Thank you.","Thanks for watching.","Thanks for watching!","Thank you for watching.","Thank you for watching!",".","Bye.","Bye!"]),Lt=Mn((e,r)=>({isRecording:!1,ttsEnabled:!1,autoSubmit:!0,submitDelayMs:8e3,submitCountdownStartAt:null,lastTranscript:"",lastPartial:"",statusPill:"idle",partialsEnabled:!0,error:null,errorKind:null,modelStatus:"idle",loadingProgress:0,permissionState:"unknown",lastBargeInAt:null,hotkeyState:"idle",levelMeterEnabled:!0,turnDetectorState:"disabled",turnDetectorMode:"off",wizardArmed:!1,wizardOpen:!1,initModel:()=>{if(r().modelStatus!=="idle")return;gt.info("voice","initModel: kicking off preload"),e({modelStatus:"loading",error:null,errorKind:null,loadingProgress:0});const n=++gx,i=()=>{n===gx&&(vx(),uE=n,l0=setTimeout(()=>{uE===n&&r().modelStatus==="loading"&&(gt.warn("voice","mic.gate.timeout: no progress within 90s"),e({modelStatus:"error",error:"Model load timed out",errorKind:"timeout"}))},rq))};i(),DU((s,a)=>{n===gx&&(s==="ready"?(vx(),gt.info("voice","modelStatus -> ready"),e({modelStatus:"ready",loadingProgress:100,errorKind:null})):s==="error"?(vx(),gt.error("voice","modelStatus -> error",{msg:a}),e({modelStatus:"error",error:a,errorKind:"load"})):(i(),e({modelStatus:"loading"})))},s=>{n===gx&&(i(),e({loadingProgress:Math.round(s)}))})},resetAndRetryModel:()=>{gt.info("voice","mic.gate.retry"),vx(),LU(),e({modelStatus:"idle",error:null,errorKind:null,loadingProgress:0}),r().initModel()},startRecording:n=>{if(r().isRecording)return;if(Oi){gt.warn("voice","startRecording: prior handle still draining, ignoring");return}if(!xT()){e({error:"Microphone or Web Worker not available",errorKind:"recording"});return}const i=s=>{try{const a=zU({inputDeviceId:s,onStatusChange:l=>{e(l==="transcribing"?{statusPill:"transcribing"}:l==="restarting"?{statusPill:"restarting"}:{statusPill:"idle"})},onPartial:l=>{r().partialsEnabled&&e({lastPartial:l})},partialsEnabled:()=>r().partialsEnabled,onFrame:l=>{x0=l.isSpeech,cE=performance.now()},onSpeechStart:()=>{if(e({statusPill:"listening",lastPartial:""}),fx(),gu(),Y5()){const o=WU(),u=o!==null?performance.now()-o:null;X5(),e({lastBargeInAt:performance.now()}),gt.info("voice","barge-in",{tabId:n,utteranceOffsetMs:u})}else gt.debug("voice","barge-in.no-op",{tabId:n})},onMisfire:()=>{e({lastPartial:"",statusPill:"idle"}),bp();const l=r().lastBargeInAt;l!==null&&performance.now()-l<600&&gt.warn("voice","barge-in.misfire",{tabId:n,sinceBargeInMs:Math.round(performance.now()-l)})},onFinal:l=>{bp();const o=l.trim();if(!o||nq.has(o)){e({lastTranscript:"",lastPartial:"",statusPill:"idle"});return}const u=XU(o);if(u){gt.info("voice","voice-command",{tabId:n,label:u.label,transcript:o}),window.api.pty.write({tabId:n,data:u.data}),e({lastTranscript:"",lastPartial:"",statusPill:"idle"}),gu();const m=window;m.__transcripts&&(m.__transcripts.push({tabId:n,text:o}),m.__transcripts.length>500&&m.__transcripts.shift());return}window.api.pty.write({tabId:n,data:o}),e({lastTranscript:"",lastPartial:"",statusPill:"idle"}),r().autoSubmit&&eq(n);const f=window;f.__transcripts&&(f.__transcripts.push({tabId:n,text:o}),f.__transcripts.length>500&&f.__transcripts.shift())},onError:l=>{gt.error("voice","recognition error",{err:l}),gu(),e({error:l,errorKind:"recording",isRecording:!1,lastPartial:"",statusPill:"idle"}),ss==null||ss(),ss=null,fx(),Oi==null||Oi.destroy(),Oi=null,ot.error(`Microphone error: ${l}`)},onModelStatus:l=>{l==="ready"?e({modelStatus:"ready",loadingProgress:100}):l==="loading"&&e({modelStatus:"loading"})},onProgress:l=>e({loadingProgress:Math.round(l)})});Oi=a,e({isRecording:!0,error:null,lastTranscript:"",lastPartial:"",statusPill:"listening"}),bp(),a.start().then(()=>{Oi===a&&(ss==null||ss(),ss=VU(a))}).catch(l=>{const o=l instanceof Error?l.message:String(l);gt.error("voice","handle.start() failed",{error:o}),ot.error(`Could not start mic: ${o}`)})}catch(a){e({error:a instanceof Error?a.message:"Failed to start recording",errorKind:"recording"})}};Promise.resolve().then(()=>{var s,a,l;return((l=(a=(s=window.api)==null?void 0:s.voice)==null?void 0:a.getDevicePref)==null?void 0:l.call(a))??Promise.resolve(null)}).then(s=>i((s==null?void 0:s.selectedDeviceId)??null)).catch(s=>{gt.warn("voice","getDevicePref failed; using default device",{error:s instanceof Error?s.message:String(s)}),i(null)})},stopRecording:()=>{const n=Oi;n&&(fx(),gu(),x0=0,cE=0,ss==null||ss(),ss=null,e({isRecording:!1,lastTranscript:"",lastPartial:"",statusPill:"idle"}),n.stop().finally(()=>{n.destroy(),Oi===n&&(Oi=null),r().hotkeyState==="stopping"&&(px(),e({hotkeyState:"idle"}))}))},restartWithDevice:async()=>{if(!r().isRecording)return;const n=Oi;if(!n)return;fx(),ss==null||ss(),ss=null,e({isRecording:!1,lastTranscript:"",lastPartial:""});try{await n.stop()}catch(a){gt.warn("voice","restartWithDevice: drain rejected",{error:a instanceof Error?a.message:String(a)})}n.destroy(),Oi===n&&(Oi=null);const{useSessions:i}=await nm(async()=>{const{useSessions:a}=await Promise.resolve().then(()=>uU);return{useSessions:a}},[],import.meta.url),s=i.getState().activeTabId;s&&r().startRecording(s)},toggleTTS:()=>e(n=>({ttsEnabled:!n.ttsEnabled})),setAutoSubmit:n=>e({autoSubmit:n}),setSubmitDelayMs:n=>e({submitDelayMs:Math.max(500,Math.min(13e3,Math.floor(n)))}),cancelSubmit:()=>gu(),setPartialsEnabled:n=>{r().partialsEnabled!==n&&(e({partialsEnabled:n}),n||e({lastPartial:""}))},clearError:()=>e({error:null,errorKind:null}),setPermissionState:n=>{r().permissionState!==n&&(gt.info("voice","mic.gate.permission_changed",{from:r().permissionState,to:n}),e({permissionState:n}))},setLevelMeterEnabled:n=>{r().levelMeterEnabled!==n&&e({levelMeterEnabled:n})},setTurnDetectorRuntimeState:n=>{r().turnDetectorState!==n&&(e({turnDetectorState:n}),n==="load_failed"?gt.warn("voice-turn","voice-turn.load_failed"):n==="runtime_error"?gt.warn("voice-turn","voice-turn.runtime_error"):n==="disabled"&&gt.info("voice-turn","voice-turn.fallback_to_vad"))},setWizardArmed:n=>{r().wizardArmed!==n&&e({wizardArmed:n})},openWizard:()=>{r().wizardOpen||e({wizardOpen:!0})},closeWizard:()=>{r().wizardOpen&&e({wizardOpen:!1})},armHotkey:({phase:n,source:i,mode:s,tabId:a})=>{const l=r(),{canRecord:o,reason:u}=dE(l);if(n==="down"){if(u==="error"||u==="load-timeout"){l.resetAndRetryModel(),gt.info("voice-hotkey","down.retry",{source:i,reason:u});return}if(!o&&u!=="loading"){gt.warn("voice-hotkey","miss-model-loading",{modelStatus:l.modelStatus,reason:u});return}if(l.hotkeyState==="recording"||l.isRecording){(s==="toggle"||i==="global")&&(e({hotkeyState:"stopping"}),px(),Wv=setTimeout(()=>{r().hotkeyState==="stopping"&&(gt.warn("voice-hotkey","drain-timeout",{durationMs:hx}),e({hotkeyState:"aborted"}),setTimeout(()=>{r().hotkeyState==="aborted"&&e({hotkeyState:"idle"})},0))},hx),l.stopRecording());return}if(u==="loading"){l.hotkeyState!=="armed"&&(e({hotkeyState:"armed"}),gt.info("voice-hotkey","armed",{source:i,modelStatus:l.modelStatus})),mx(),a0={tabId:a,source:i,mode:s},o0=Lt.subscribe((f,m)=>{if(a0&&f.modelStatus==="ready"&&m.modelStatus!=="ready"&&f.hotkeyState==="armed"){const h=a0;if(mx(),!h.tabId){gt.warn("voice-hotkey","armed-promote-no-tab",{source:h.source}),e({hotkeyState:"idle"});return}gt.info("voice-hotkey","armed-promote",h),e({hotkeyState:"recording"}),Lt.getState().startRecording(h.tabId)}});return}if(!a){gt.warn("voice-hotkey","no-active-tab",{source:i});return}gt.info("voice-hotkey","start",{source:i,mode:s,tabId:a}),l.startRecording(a),r().isRecording?e({hotkeyState:"recording"}):(gt.warn("voice-hotkey","start: recording did not engage",{errorKind:r().errorKind}),e({hotkeyState:"idle"}));return}if(!(s!=="hold"||i==="global")){if(l.hotkeyState==="armed"){mx(),gt.info("voice-hotkey","miss-model-loading-armed-up"),e({hotkeyState:"idle"});return}l.hotkeyState==="recording"&&(e({hotkeyState:"stopping"}),px(),Wv=setTimeout(()=>{r().hotkeyState==="stopping"&&(gt.warn("voice-hotkey","drain-timeout",{durationMs:hx}),e({hotkeyState:"aborted"}),setTimeout(()=>{r().hotkeyState==="aborted"&&e({hotkeyState:"idle"})},0))},hx),l.stopRecording())}},destroyHotkey:()=>{const n=r();if(mx(),gu(),n.hotkeyState==="recording"){gt.warn("voice-hotkey","destroyed-mid-recording"),e({hotkeyState:"destroyed"});try{n.stopRecording()}catch{}}else(n.hotkeyState==="armed"||n.hotkeyState==="stopping")&&(px(),e({hotkeyState:"destroyed"}))}})),iq=e=>({isRecording:e.isRecording,statusPill:e.statusPill,lastPartial:e.lastPartial,lastTranscript:e.lastTranscript,submitCountdownStartAt:e.submitCountdownStartAt}),dE=e=>xT()?e.permissionState==="denied"?{canRecord:!1,reason:"permission-denied"}:e.modelStatus==="ready"?{canRecord:!0,reason:"ready"}:e.modelStatus==="loading"?{canRecord:!1,reason:"loading"}:e.modelStatus==="error"?{canRecord:!1,reason:e.errorKind==="timeout"?"load-timeout":"error"}:{canRecord:!1,reason:"idle"}:{canRecord:!1,reason:"unsupported"};if(typeof window<"u"){const e=window;e.__voice=Lt,e.__transcripts=[]}function wT(e,r,n){return new Promise((i,s)=>{const a=setTimeout(()=>s(new Error(`${n} timed out after ${r}ms`)),r);e.then(l=>{clearTimeout(a),i(l)},l=>{clearTimeout(a),s(l)})})}const sq=5e3,Tu=Mn(()=>({snapshot:null,loaded:!1}));let Q$=!1,Z$=!1,Zg;async function aq(){var e;if(!Q$){Q$=!0;try{const r=await wT(window.api.schedule.state(),sq,"schedule.state");Tu.setState({snapshot:r,loaded:!0}),Zg=((e=r.paused)==null?void 0:e.reason)??null}catch(r){if(!Z$){Z$=!0;const n=r instanceof Error?r.message:String(r);ot.error(`Scheduler state hydrate failed: ${n}`)}Zg=null}window.api.schedule.onState(r=>{var i;const n=((i=r.paused)==null?void 0:i.reason)??null;Zg!==void 0&&n!==Zg&&(n==="auth"?ot.error("Scheduler paused: Claude sign-in expired or invalid. Restart the app or re-run `claude login`, then Resume."):n==="network"&&ot.error("Scheduler paused: billing endpoint unreachable. Will auto-resume in 30 minutes.")),Zg=n,Tu.setState({snapshot:r,loaded:!0})})}}const oq=6e4,lq=5e3,xp=Mn(()=>({data:null,refreshing:!1}));let eO=!1,c0=null,tO=null,rO=!1;async function _T(){xp.setState({refreshing:!0});let e=oq;try{const r=await wT(window.api.billing.fetch(),lq,"billing.fetch");xp.setState({data:r,refreshing:!1}),r.kind==="transient"?e=tO==="transient"?3e4:5e3:r.kind==="auth"&&(e=3e4),tO=r.kind}catch(r){if(xp.setState({refreshing:!1}),!rO){rO=!0;const n=r instanceof Error?r.message:String(r);ot.warn(`Billing usage fetch failed: ${n}`)}}c0=setTimeout(_T,e)}function cq(){eO||(eO=!0,_T())}function Kw(e){return e?e.kind==="ok"||e.kind==="ok-stale"?e.data:e.kind==="auth"&&e.cached?e.cached:null:null}function w0(){c0!==null&&(clearTimeout(c0),c0=null),_T()}function us({name:e,size:r=17,stroke:n=1.6,className:i}){const s={width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round",className:i};switch(e){case"home":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M4 11l8-7 8 7"}),c.jsx("path",{d:"M6 10v9h12v-9"}),c.jsx("path",{d:"M10 19v-5h4v5"})]});case"terminal":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),c.jsx("path",{d:"M7 10l3 2-3 2"}),c.jsx("path",{d:"M13 14h4"})]});case"agents":case"subagents":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"7",cy:"9",r:"2.5"}),c.jsx("circle",{cx:"17",cy:"9",r:"2.5"}),c.jsx("circle",{cx:"12",cy:"17",r:"2.5"}),c.jsx("path",{d:"M8.6 11l2.8 4M15.4 11l-2.8 4M9.5 9h5"})]});case"skills":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M12 3l2.5 5.5L20 9l-4 4 1 6-5-3-5 3 1-6-4-4 5.5-.5z"})});case"history":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"12",r:"8"}),c.jsx("path",{d:"M12 7v5l3 2"}),c.jsx("path",{d:"M4 6l2 2"})]});case"usage":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M4 19V8M10 19V5M16 19v-7M22 19H2"})});case"hive":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M8 4h8l4 7-4 7H8l-4-7z"}),c.jsx("circle",{cx:"12",cy:"11",r:"2.5"})]});case"knowledge-graph":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"6",cy:"7",r:"2.2"}),c.jsx("circle",{cx:"18",cy:"6",r:"2.2"}),c.jsx("circle",{cx:"17",cy:"18",r:"2.2"}),c.jsx("circle",{cx:"7",cy:"17",r:"2.2"}),c.jsx("path",{d:"M8 8l8 8M8 16l8-9M8 7h8"})]});case"plugins":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M9 3v4M15 3v4M5 7h14v6a5 5 0 01-5 5h-4a5 5 0 01-5-5V7z"})});case"mcp":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"4",width:"18",height:"6",rx:"1.5"}),c.jsx("rect",{x:"3",y:"14",width:"18",height:"6",rx:"1.5"}),c.jsx("circle",{cx:"6.5",cy:"7",r:".5",fill:"currentColor"}),c.jsx("circle",{cx:"6.5",cy:"17",r:".5",fill:"currentColor"})]});case"hooks":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M12 4v9a3 3 0 003 3h5"}),c.jsx("path",{d:"M9 17l3 3 3-3"})]});case"keys":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"8",cy:"12",r:"4"}),c.jsx("path",{d:"M12 12h9M17 12v3M20 12v2"})]});case"plans":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),c.jsx("path",{d:"M8 9h8M8 13h8M8 17h5"})]});case"tasks":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"4",width:"7",height:"7",rx:"1.5"}),c.jsx("rect",{x:"3",y:"13",width:"7",height:"7",rx:"1.5"}),c.jsx("path",{d:"M14 6h7M14 10h5M14 15h7M14 19h5"})]});case"projects":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M3 7l3-3h4l2 2h9v13H3z"})});case"docs":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M6 3h8l4 4v14H6z"}),c.jsx("path",{d:"M14 3v4h4M9 13h6M9 17h6M9 9h3"})]});case"memory":case"agent-memory":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M9 4a4 4 0 00-4 4v1a3 3 0 000 6v1a4 4 0 004 4h6a4 4 0 004-4v-1a3 3 0 000-6V8a4 4 0 00-4-4z"}),c.jsx("path",{d:"M9 9v6M12 6v12M15 9v6"})]});case"search":case"global-search":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"11",cy:"11",r:"6"}),c.jsx("path",{d:"M16 16l4 4"})]});case"chevron":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M9 6l6 6-6 6"})});case"caret":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M6 9l6 6 6-6"})});case"dot":return c.jsx("svg",{...s,children:c.jsx("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor",stroke:"none"})});case"plus":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M12 5v14M5 12h14"})});case"folder":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M3 7l3-3h4l2 2h9v13H3z"})});case"file":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M7 3h7l4 4v14H7z"}),c.jsx("path",{d:"M14 3v4h4"})]});case"play":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M8 5l11 7-11 7z",fill:"currentColor",stroke:"none"})});case"pause":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"7",y:"5",width:"3.5",height:"14",fill:"currentColor",stroke:"none",rx:"0.5"}),c.jsx("rect",{x:"13.5",y:"5",width:"3.5",height:"14",fill:"currentColor",stroke:"none",rx:"0.5"})]});case"sparkle":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M12 4v6M12 14v6M4 12h6M14 12h6"})});case"book":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M4 5a2 2 0 012-2h6v18H6a2 2 0 01-2-2zM12 3h6a2 2 0 012 2v14H12z"})});case"compass":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"12",r:"8"}),c.jsx("path",{d:"M15 9l-2 5-5 2 2-5z",fill:"currentColor",stroke:"none"})]});case"scheduler":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"5",width:"18",height:"15",rx:"2"}),c.jsx("path",{d:"M3 10h18M8 3v4M16 3v4"}),c.jsx("path",{d:"M8 14l2 2 4-4"})]});case"settings":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"12",r:"3"}),c.jsx("path",{d:"M12 2v3M12 19v3M4 12H1M23 12h-3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1"})]});case"mic":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"9",y:"3",width:"6",height:"12",rx:"3"}),c.jsx("path",{d:"M5 11a7 7 0 0014 0M12 18v3M9 21h6"})]});case"clock":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"12",r:"8"}),c.jsx("path",{d:"M12 7v5l3 2"})]});case"leaf":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M20 4c-9 0-14 5-14 11 0 3 2 5 5 5 6 0 9-5 9-14z"}),c.jsx("path",{d:"M6 20c2-5 5-8 11-11"})]});case"orchestrator":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"6",r:"2.5"}),c.jsx("circle",{cx:"5",cy:"17",r:"2.5"}),c.jsx("circle",{cx:"12",cy:"17",r:"2.5"}),c.jsx("circle",{cx:"19",cy:"17",r:"2.5"}),c.jsx("path",{d:"M12 8.5v6M12 14.5l-7 0M12 14.5l7 0"})]});case"race":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M5 4v16M5 5h7l-1 3h7v6h-7l-1 3H5"})});case"background":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M3 4h18v4H3zM3 10h18v4H3zM3 16h18v4H3z"}),c.jsx("circle",{cx:"6",cy:"6",r:".75",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"6",cy:"12",r:".75",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"6",cy:"18",r:".75",fill:"currentColor",stroke:"none"})]});case"repoviz":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"6",cy:"12",r:"3"}),c.jsx("circle",{cx:"18",cy:"6",r:"3"}),c.jsx("circle",{cx:"18",cy:"18",r:"3"}),c.jsx("path",{d:"M8.5 10.5L15.5 7.5M8.5 13.5L15.5 16.5"})]});case"system-prompt":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"4",y:"4",width:"16",height:"14",rx:"2"}),c.jsx("path",{d:"M8 10h8M8 14h5M9 18l-2 3M15 18l2 3"})]});case"permissions":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"5",y:"11",width:"14",height:"9",rx:"2"}),c.jsx("path",{d:"M8 11V8a4 4 0 018 0v3"}),c.jsx("circle",{cx:"12",cy:"15.5",r:"1.2",fill:"currentColor",stroke:"none"})]});case"tool":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M14 4a4 4 0 014 4l-7 7-4-4 7-7zM7 11l-3 3 6 6 3-3"})});case"quick-open":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),c.jsx("path",{d:"M3 9h18M7 13h10M7 16h6"})]});case"remote":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M5 12.5a7 7 0 0114 0M1.5 9a11 11 0 0121 0M8.5 16a3.5 3.5 0 017 0"}),c.jsx("circle",{cx:"12",cy:"20",r:"1",fill:"currentColor",stroke:"none"})]});case"wifi":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M5 12.5a10 10 0 0114 0M8 15.5a6 6 0 018 0M12 18.5h.01"})});case"shield":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z"}),c.jsx("path",{d:"M9 12l2 2 4-4"})]});case"link":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M9 12h6"}),c.jsx("path",{d:"M10 8H7a4 4 0 000 8h3M14 8h3a4 4 0 010 8h-3"})]});case"copy":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),c.jsx("path",{d:"M5 15V5a2 2 0 012-2h8"})]});default:return null}}const Q5=e=>`sm.fileTree.expanded:${e}`;function uq(e){try{const r=localStorage.getItem(Q5(e)),n=r?JSON.parse(r):[];return Array.isArray(n)?n.filter(i=>typeof i=="string"):[]}catch{return[]}}function dq(e,r){try{localStorage.setItem(Q5(e),JSON.stringify([...r].slice(0,500)))}catch{}}function c1(e,r){const n=r+"/";let i=!1;const s=new Set;for(const a of e){if(a===r||a.startsWith(n)){i=!0;continue}s.add(a)}return i?s:e}const u1={modified:{color:"#e2a93d",label:"M"},added:{color:"#3fb950",label:"A"},deleted:{color:"#f85149",label:"D"},renamed:{color:"#a371f7",label:"R"},untracked:{color:"#8b949e",label:"U"},staged:{color:"#3fb950",label:"S"},conflict:{color:"#f85149",label:"!"}},fq=new Set(["md","txt","json","jsonl","ndjson","js","jsx","ts","tsx","py","go","rs","rb","c","cpp","h","hpp","java","sh","bash","css","scss","html","xml","yaml","yml","toml","ini","conf","env","log","sql","gitignore","png","jpg","jpeg","gif","svg","webp"]);function hq(e){const r=e.toLowerCase().split(".").pop()||"";return fq.has(r)}function pq(e,r){if(r)return"#d97757";switch(e.toLowerCase().split(".").pop()||""){case"ts":case"tsx":return"#3178c6";case"js":case"jsx":return"#f7df1e";case"json":return"#cbcb41";case"md":return"#8a93a0";case"css":case"scss":return"#cc6699";case"py":return"#3776ab";case"go":return"#00add8";case"rs":return"#dea584";case"sh":case"bash":return"#89e051";case"png":case"jpg":case"jpeg":case"gif":case"svg":return"#a4c639";default:return"#8a93a0"}}async function yx(e){var r;try{const n=window.api;return(r=n==null?void 0:n.git)!=null&&r.fileStatus?await n.git.fileStatus(e):{}}catch{return{}}}function mq({cwd:e,onPreviewFile:r,onSendToChat:n,activeTabId:i}){const[s,a]=B.useState([]),[l,o]=B.useState(new Set),u=B.useRef(l);u.current=l;const[f,m]=B.useState(""),[h,y]=B.useState(!1),[x,k]=B.useState(!1),[_,b]=B.useState(null),[w,S]=B.useState({}),[C,T]=B.useState(null),[j,A]=B.useState(null),[N,O]=B.useState(""),[I,W]=B.useState(null),[G,V]=B.useState(""),[F,z]=B.useState(null),H=B.useRef(null),X=B.useRef(null),se=B.useRef(0),oe=B.useCallback(async()=>{if(!e)return;const Le=++se.current;k(!0),b(null);const Ze=await window.api.files.list(e,h);se.current===Le&&(Ze.ok?a(Ze.entries.map(ut=>({...ut}))):(b(Ze.error??"failed to list"),a([])),k(!1))},[e,h]),Q=B.useCallback(async Le=>{const Ze=se.current,ut=new Map;for(const dr of Le){const Xt=dr.split("/").length,Jt=ut.get(Xt);Jt?Jt.push(dr):ut.set(Xt,[dr])}const dt=[];for(const dr of[...ut.keys()].sort((Xt,Jt)=>Xt-Jt)){const Xt=ut.get(dr),Jt=await Promise.all(Xt.map(async cr=>({p:cr,result:await window.api.files.list(cr,h)})));if(se.current!==Ze)return dt;for(const{p:cr,result:Nr}of Jt)Nr.ok?a(wr=>u0(wr,cr,Nr.entries.map(nn=>({...nn})))):dt.push(cr)}return dt},[h]),ee=B.useCallback(async Le=>(await oe(),Le.length?Q(Le):[]),[oe,Q]);B.useEffect(()=>{m(""),A(null),T(null),W(null),z(null),S({});const Le=uq(e),Ze=new Set(Le);u.current=Ze,o(Ze);let ut=!1;return(async()=>{const dt=await ee(Le);ut||!dt.length||te(dr=>{const Xt=new Set;let Jt=!1;for(const cr of dr){if(dt.some(Nr=>cr===Nr||cr.startsWith(Nr+"/"))){Jt=!0;continue}Xt.add(cr)}return Jt?Xt:dr})})(),yx(e).then(dt=>{ut||S(dt)}),()=>{ut=!0}},[e]);const Y=B.useRef(!0);B.useEffect(()=>{if(Y.current){Y.current=!1;return}ee([...u.current])},[h]),B.useEffect(()=>{if(!e)return;const Le=window.setInterval(()=>{yx(e).then(S)},5e3);return()=>window.clearInterval(Le)},[e]),B.useEffect(()=>{if(!C)return;const Le=()=>T(null),Ze=ut=>{ut.key==="Escape"&&T(null)};return window.addEventListener("mousedown",Le),window.addEventListener("keydown",Ze),()=>{window.removeEventListener("mousedown",Le),window.removeEventListener("keydown",Ze)}},[C]),B.useEffect(()=>{j&&setTimeout(()=>{var Le;return(Le=H.current)==null?void 0:Le.select()},30)},[j]),B.useEffect(()=>{I&&setTimeout(()=>{var Le;return(Le=X.current)==null?void 0:Le.focus()},30)},[I]);const te=B.useCallback(Le=>{const Ze=u.current,ut=Le(Ze);ut!==Ze&&(u.current=ut,o(ut),dq(e,ut))},[e]),ce=B.useCallback(async Le=>{if(l.has(Le.path)){te(ut=>c1(ut,Le.path));return}if(te(ut=>new Set(ut).add(Le.path)),Le.children)return;const Ze=await window.api.files.list(Le.path,h);Ze.ok&&a(ut=>u0(ut,Le.path,Ze.entries.map(dt=>({...dt}))))},[l,h,te]),we=B.useCallback(async Le=>{if(Le===e){await oe();return}const Ze=await window.api.files.list(Le,h);Ze.ok&&a(ut=>u0(ut,Le,Ze.entries.map(dt=>({...dt}))))},[e,oe,h]),_e=B.useCallback(Le=>{if(Le.isDirectory){ce(Le);return}hq(Le.name)&&r?r(Le.path):window.api.files.openExternal(Le.path)},[ce,r]),Ae=B.useCallback(Le=>{if(n){n(Le);return}if(i){const Ze=Le.startsWith(e+"/")?Le.slice(e.length+1):Le;window.api.pty.write({tabId:i,data:`@${Ze} `})}},[n,i,e]),ve=B.useCallback((Le,Ze)=>{Le.preventDefault(),Le.stopPropagation(),T({x:Le.clientX,y:Le.clientY,node:Ze})},[]),ie=Le=>{A(Le.path),O(Le.name)},ye=async()=>{if(!j)return;const Le=N.trim();if(!Le){A(null);return}const Ze=await window.api.files.rename(j,Le);if(A(null),Ze.ok){const ut=j.slice(0,j.lastIndexOf("/"));te(dt=>c1(dt,j)),await we(ut||e),yx(e).then(S)}else b(Ze.error??"rename failed")},xe=async()=>{if(!I)return;const Le=G.trim();if(!Le){W(null),V("");return}const Ze=await window.api.files.create(I.parent,Le,I.kind);W(null),V(""),Ze.ok?(await we(I.parent),I.kind==="folder"&&te(ut=>new Set(ut).add(I.parent))):b(Ze.error??"create failed")},Ge=async()=>{if(!F)return;const Le=await window.api.files.delete(F.path),Ze=F.path.slice(0,F.path.lastIndexOf("/"));z(null),Le.ok?(te(ut=>c1(ut,F.path)),await we(Ze||e),yx(e).then(S)):b(Le.error??"delete failed")},Me=B.useMemo(()=>{if(!f.trim())return s;const Le=f.toLowerCase();return s.filter(Ze=>Ze.name.toLowerCase().includes(Le))},[s,f]),We=(e==null?void 0:e.split("/").filter(Boolean).pop())||"project";return c.jsxs("div",{className:"w-60 h-full flex flex-col bg-bg-elev border-r border-line text-fg",children:[c.jsxs("div",{className:"p-3 border-b border-line shrink-0",children:[c.jsxs("div",{className:"flex items-center gap-2 mb-2 min-w-0",children:[c.jsx(e4,{size:14,className:"shrink-0 text-accent"}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("p",{className:"text-xs font-medium text-fg truncate",children:We}),c.jsx("p",{className:"text-[10px] text-fg-faint truncate",title:e,children:e})]}),c.jsx("button",{onClick:oe,className:"p-1 rounded text-fg-faint hover:text-fg hover:bg-bg-hi transition-colors",title:"Refresh",disabled:x,children:c.jsx(wq,{size:12,className:x?"animate-spin":""})})]}),c.jsx("div",{className:"relative",children:c.jsx("input",{value:f,onChange:Le=>m(Le.target.value),placeholder:"Search files…",className:"w-full px-2 py-1 text-xs bg-bg-hi border border-line rounded text-fg placeholder-fg-faint focus:outline-none focus:border-accent/40"})})]}),c.jsxs("div",{className:"flex items-center gap-1 px-3 py-1.5 border-b border-line shrink-0",children:[c.jsx("button",{onClick:()=>W({parent:e,kind:"file"}),className:"p-1.5 rounded text-fg-faint hover:text-fg hover:bg-bg-hi transition-colors",title:"New file",children:c.jsx(_q,{size:12})}),c.jsx("button",{onClick:()=>W({parent:e,kind:"folder"}),className:"p-1.5 rounded text-fg-faint hover:text-fg hover:bg-bg-hi transition-colors",title:"New folder",children:c.jsx(Sq,{size:12})}),c.jsx("div",{className:"flex-1"}),c.jsx("button",{onClick:()=>y(Le=>!Le),className:`p-1.5 rounded transition-colors ${h?"text-accent":"text-fg-faint hover:text-fg"} hover:bg-bg-hi`,title:h?"Hide hidden files":"Show hidden files",children:h?c.jsx(kq,{size:12}):c.jsx(Cq,{size:12})})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto py-1",children:[_&&c.jsx("div",{className:"px-3 py-2 text-[11px] text-red-400",children:_}),!_&&Me.length===0&&!x&&c.jsx("div",{className:"p-4 text-center text-[11px] text-fg-faint",children:f?"no matches":"empty folder"}),!_&&c.jsx(Z5,{nodes:Me,depth:0,expanded:l,gitStatus:w,renaming:j,renameValue:N,renameInputRef:H,onRenameChange:O,onRenameCommit:ye,onRenameCancel:()=>A(null),onToggleDir:ce,onFileClick:_e,onSendToChat:Ae,onContextMenu:ve})]}),c.jsx("div",{className:"px-3 py-1.5 border-t border-line text-[10px] text-fg-faint shrink-0",children:"Click to preview · Double-click external · Right-click for more"}),C&&c.jsx(gq,{x:C.x,y:C.y,node:C.node,onClose:()=>T(null),onRename:()=>{ie(C.node),T(null)},onDelete:()=>{z(C.node),T(null)},onNewFile:()=>{W({parent:C.node.path,kind:"file"}),T(null)},onNewFolder:()=>{W({parent:C.node.path,kind:"folder"}),T(null)},onOpenExternal:()=>{window.api.files.openExternal(C.node.path),T(null)},onShowInFinder:()=>{window.api.files.showInFinder(C.node.path),T(null)},onCopyPath:()=>{var Le;(Le=navigator.clipboard)==null||Le.writeText(C.node.path),T(null)},onSendToChat:()=>{Ae(C.node.path),T(null)}}),I&&c.jsx(nO,{title:`New ${I.kind}`,subtitle:`in ${vq(I.parent)}`,onCancel:()=>{W(null),V("")},onConfirm:xe,confirmLabel:"Create",confirmDisabled:!G.trim(),children:c.jsx("input",{ref:X,value:G,onChange:Le=>V(Le.target.value),onKeyDown:Le=>{Le.key==="Enter"&&xe(),Le.key==="Escape"&&(W(null),V(""))},placeholder:I.kind==="file"?"filename.txt":"folder-name",className:"w-full px-3 py-2 rounded bg-bg-hi border border-line text-fg text-sm placeholder-fg-faint focus:outline-none focus:border-accent/50"})}),F&&c.jsx(nO,{title:`Delete ${F.isDirectory?"folder":"file"}`,subtitle:null,onCancel:()=>z(null),onConfirm:Ge,confirmLabel:"Delete",danger:!0,children:c.jsxs("p",{className:"text-sm text-fg-dim",children:["Move ",c.jsxs("span",{className:"text-fg font-medium",children:['"',F.name,'"']})," to the trash?",F.isDirectory&&c.jsx("span",{className:"block text-xs text-fg-faint mt-1",children:"All contents will be moved with it."})]})})]})}function Z5(e){const{nodes:r,depth:n,expanded:i,gitStatus:s,renaming:a,onContextMenu:l}=e;return c.jsx(c.Fragment,{children:r.map(o=>{const u=i.has(o.path),f=a===o.path,m=s[o.path],h=pq(o.name,o.isDirectory);return c.jsxs("div",{children:[c.jsxs("div",{className:"group flex items-center gap-1.5 py-0.5 pr-2 cursor-pointer transition-colors hover:bg-bg-hi",style:{paddingLeft:`${8+n*14}px`},onClick:()=>{f||(o.isDirectory?e.onToggleDir(o):e.onFileClick(o))},onDoubleClick:()=>{o.isDirectory||window.api.files.openExternal(o.path)},onContextMenu:y=>l(y,o),children:[o.isDirectory?c.jsx(xq,{size:10,className:`shrink-0 text-fg-faint transition-transform ${u?"rotate-90":""}`}):c.jsx("span",{className:"w-[10px] shrink-0"}),o.isDirectory?u?c.jsx(yq,{size:12,color:h}):c.jsx(e4,{size:12,color:h}):c.jsx(bq,{size:12,color:h}),f?c.jsx("input",{ref:e.renameInputRef,value:e.renameValue,onChange:y=>e.onRenameChange(y.target.value),onClick:y=>y.stopPropagation(),onBlur:e.onRenameCommit,onKeyDown:y=>{y.key==="Enter"&&e.onRenameCommit(),y.key==="Escape"&&e.onRenameCancel()},className:"flex-1 min-w-0 px-1 py-0 text-xs bg-bg border border-accent/40 rounded text-fg focus:outline-none"}):c.jsx("span",{className:`flex-1 truncate text-xs ${o.name.startsWith(".")?"text-fg-faint":"text-fg-dim"}`,children:o.name}),m&&c.jsx("span",{className:"shrink-0 text-[9px] font-bold px-1 rounded",style:{color:u1[m].color,backgroundColor:`${u1[m].color}20`},title:m,children:u1[m].label}),!o.isDirectory&&c.jsx("button",{onClick:y=>{y.stopPropagation(),e.onSendToChat(o.path)},title:"Send @path to active terminal",className:"opacity-0 group-hover:opacity-100 p-0.5 rounded text-fg-faint hover:text-accent hover:bg-bg transition-all shrink-0",children:c.jsx(Eq,{size:10})})]}),o.isDirectory&&u&&o.children&&c.jsx(Z5,{...e,nodes:o.children,depth:n+1})]},o.path)})})}function gq(e){const{x:r,y:n,node:i}=e;return c.jsxs("div",{onMouseDown:s=>s.stopPropagation(),className:"fixed z-[300] w-56 rounded-lg border border-line bg-bg-elev shadow-xl text-xs py-1",style:{left:r,top:n},children:[!i.isDirectory&&c.jsx(lu,{label:"Send to chat",onClick:e.onSendToChat}),c.jsx(lu,{label:"Open in default app",onClick:e.onOpenExternal}),c.jsx(lu,{label:"Reveal in OS",onClick:e.onShowInFinder}),c.jsx(d1,{}),c.jsx(lu,{label:"Copy path",onClick:e.onCopyPath}),c.jsx(lu,{label:"Rename",onClick:e.onRename}),i.isDirectory&&c.jsxs(c.Fragment,{children:[c.jsx(d1,{}),c.jsx(lu,{label:"New file",onClick:e.onNewFile}),c.jsx(lu,{label:"New folder",onClick:e.onNewFolder})]}),c.jsx(d1,{}),c.jsx(lu,{label:"Delete",onClick:e.onDelete,danger:!0})]})}function lu({label:e,onClick:r,danger:n}){return c.jsx("button",{onClick:r,className:`w-full text-left px-3 py-1.5 hover:bg-bg-hi transition-colors ${n?"text-red-400":"text-fg-dim hover:text-fg"}`,children:e})}function d1(){return c.jsx("div",{className:"my-1 border-t border-line"})}function nO(e){return c.jsx("div",{className:"fixed inset-0 z-[400] flex items-center justify-center bg-black/60",onMouseDown:r=>{r.target===r.currentTarget&&e.onCancel()},children:c.jsxs("div",{className:"w-96 rounded-lg border border-line bg-bg-elev p-4 shadow-2xl",children:[c.jsx("h3",{className:"text-sm font-medium text-fg mb-1",children:e.title}),e.subtitle&&c.jsx("p",{className:"text-[11px] text-fg-faint mb-3 truncate",children:e.subtitle}),c.jsx("div",{className:"mb-4",children:e.children}),c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx("button",{onClick:e.onCancel,className:"px-3 py-1 text-xs text-fg-dim hover:text-fg border border-line rounded transition-colors",children:"Cancel"}),c.jsx("button",{onClick:e.onConfirm,disabled:!!e.confirmDisabled,className:`px-3 py-1 text-xs text-white rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed ${e.danger?"bg-red-600 hover:bg-red-500":"bg-accent hover:bg-accent/90"}`,children:e.confirmLabel??"OK"})]})]})})}function vq(e){return e.split("/").filter(Boolean).pop()||e}function u0(e,r,n){return e.map(i=>i.path===r?{...i,children:n}:i.children?{...i,children:u0(i.children,r,n)}:i)}function Sl({size:e,children:r,className:n,color:i}){return c.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:i||"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:n,children:r})}function e4({size:e,className:r,color:n}){return c.jsx(Sl,{size:e,className:r,color:n,children:c.jsx("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})})}function yq({size:e,className:r,color:n}){return c.jsx(Sl,{size:e,className:r,color:n,children:c.jsx("path",{d:"M6 14l1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2"})})}function bq({size:e,className:r,color:n}){return c.jsxs(Sl,{size:e,className:r,color:n,children:[c.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),c.jsx("polyline",{points:"14 2 14 8 20 8"})]})}function xq({size:e,className:r}){return c.jsx(Sl,{size:e,className:r,children:c.jsx("polyline",{points:"9 18 15 12 9 6"})})}function wq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("polyline",{points:"23 4 23 10 17 10"}),c.jsx("polyline",{points:"1 20 1 14 7 14"}),c.jsx("path",{d:"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"})]})}function _q({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),c.jsx("polyline",{points:"14 2 14 8 20 8"}),c.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"12"}),c.jsx("line",{x1:"9",y1:"15",x2:"15",y2:"15"})]})}function Sq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"}),c.jsx("line",{x1:"12",y1:"11",x2:"12",y2:"17"}),c.jsx("line",{x1:"9",y1:"14",x2:"15",y2:"14"})]})}function kq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),c.jsx("circle",{cx:"12",cy:"12",r:"3"})]})}function Cq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),c.jsx("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})}function Eq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),c.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})}function jq(e,r={}){switch(e){case"ready":return r.isRecording?"Stop voice input":"Start voice input (local Whisper, offline)";case"idle":return"Microphone — speech model not started";case"loading":return`Microphone — loading speech model, ${typeof r.loadingPct=="number"?Math.round(r.loadingPct):0} percent`;case"error":return r.errorMessage?`Microphone — speech model error: ${r.errorMessage}. Activate to retry.`:"Microphone — speech model error. Activate to retry.";case"load-timeout":return"Microphone — model load timed out. Activate to retry.";case"permission-denied":return"Microphone — permission denied. Open OS settings.";case"unsupported":return"Microphone — voice input not supported in this build."}}const iO=e=>Symbol.iterator in e,sO=e=>"entries"in e,aO=(e,r)=>{const n=e instanceof Map?e:new Map(e.entries()),i=r instanceof Map?r:new Map(r.entries());if(n.size!==i.size)return!1;for(const[s,a]of n)if(!i.has(s)||!Object.is(a,i.get(s)))return!1;return!0},Tq=(e,r)=>{const n=e[Symbol.iterator](),i=r[Symbol.iterator]();let s=n.next(),a=i.next();for(;!s.done&&!a.done;){if(!Object.is(s.value,a.value))return!1;s=n.next(),a=i.next()}return!!s.done&&!!a.done};function Aq(e,r){return Object.is(e,r)?!0:typeof e!="object"||e===null||typeof r!="object"||r===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(r)?!1:iO(e)&&iO(r)?sO(e)&&sO(r)?aO(e,r):Tq(e,r):aO({entries:()=>Object.entries(e)},{entries:()=>Object.entries(r)})}function t4(e){const r=Fe.useRef(void 0);return n=>{const i=e(n);return Aq(r.current,i)?r.current:r.current=i}}let oO=0;const $q=1e3;function Oq(e){const r=performance.now();r-oO<$q||(oO=r,gt.debug("voice","mic.gate.click_rejected",{reason:e}))}function r4(){const e=Lt(f=>f.isRecording),r=Lt(f=>f.error),n=Lt(f=>f.loadingProgress),i=Lt(t4(dE)),s=()=>{const f=Lt.getState(),{canRecord:m,reason:h}=dE(f);if(f.isRecording)return f.stopRecording();if(f.wizardArmed&&!f.wizardOpen){f.openWizard();return}if(h==="error"||h==="load-timeout"){f.resetAndRetryModel();return}if(!m)return Oq(h);const y=Qt.getState().activeTabId;y&&f.startRecording(y)},a=jq(i.reason,{loadingPct:n,errorMessage:r,isRecording:e}),l=i.reason==="unsupported",o=!i.canRecord,u=i.reason==="loading"?"text-fg-faint animate-pulse cursor-wait":i.reason==="error"||i.reason==="load-timeout"?"text-red-400 cursor-pointer":i.reason==="permission-denied"?"text-amber-400 cursor-pointer":i.reason==="idle"?"text-fg-faint cursor-pointer":i.reason==="unsupported"?"text-fg-faint cursor-not-allowed":e?"text-red-400 ring-2 ring-red-400 animate-pulse":"text-fg-dim hover:text-fg";return c.jsx("button",{onClick:s,disabled:l,"aria-disabled":o,"aria-label":a,title:a,"data-testid":"mic-button","data-state":i.reason,className:`p-1.5 rounded transition-colors ${u}`,children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("rect",{x:"9",y:"1",width:"6",height:"12",rx:"3"}),c.jsx("path",{d:"M5 10a7 7 0 0 0 14 0"}),c.jsx("line",{x1:"12",y1:"17",x2:"12",y2:"21"}),c.jsx("line",{x1:"8",y1:"21",x2:"16",y2:"21"})]})})}function Nq(){const e=Lt(n=>n.ttsEnabled),r=Lt(n=>n.toggleTTS);return c.jsxs("button",{onClick:r,title:e?"Read Claude replies aloud: ON":"Read Claude replies aloud: OFF",className:`px-1.5 py-1 rounded transition-colors flex items-center gap-1 ${e?"text-accent":"text-fg-dim hover:text-fg"}`,children:[c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),e?c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M15.54 8.46a5 5 0 0 1 0 7.07"}),c.jsx("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14"})]}):c.jsxs(c.Fragment,{children:[c.jsx("line",{x1:"23",y1:"9",x2:"17",y2:"15"}),c.jsx("line",{x1:"17",y1:"9",x2:"23",y2:"15"})]})]}),c.jsx("span",{className:"text-[10px] font-medium tracking-wide",children:"TTS"})]})}const lO=[{key:"overview",label:"Home",icon:"home",hint:"Today's sessions + the 5-hour window"},{key:"terminal",label:"Terminal",icon:"terminal",hint:"Live Claude Code, in-app"},{key:"subagents",label:"Subagents",icon:"hive",liveKind:"subagents",hint:"Fan out work: Hive · Orchestrate · Race · Boss"},{key:"scheduler",label:"Scheduler",icon:"scheduler",liveKind:"scheduler",hint:"Author PRDs + run them as claude -p jobs"},{key:"prompts",label:"Prompts",icon:"book",hint:"Click-to-insert prompt library"},{key:"tasks",label:"Tasks",icon:"tasks",liveKind:"tasks",hint:"Active to-dos across sessions"},{key:"history",label:"History",icon:"history",hint:"Every session, ever — resumable"},{key:"usage",label:"Usage",icon:"usage",hint:"Tokens, cost, sessions per day"},{key:"knowledge-graph",label:"Knowledge Graph",icon:"knowledge-graph",hint:"Distilled graph + Q&A over your prompt log"}],cO=[{key:"skills",label:"Skills",icon:"skills",hint:"Reusable instructions Claude loads"},{key:"plugins",label:"Plugins",icon:"plugins",hint:"Extensions for Claude Code"},{key:"mcp",label:"MCP Servers",icon:"mcp",hint:"External tools and integrations"},{key:"hooks",label:"Hooks",icon:"hooks",hint:"Run scripts on session events"},{key:"keybindings",label:"Keybindings",icon:"keys",hint:"Shortcuts you can override"},{key:"doc-editor",label:"Doc Editor",icon:"docs",hint:"Edit CLAUDE.md and friends"},{key:"memory",label:"Memory",icon:"memory",hint:"Workspace memory store"},{key:"projects",label:"Projects",icon:"projects",hint:"All known project folders"},{key:"system-prompt",label:"System Prompt",icon:"system-prompt",hint:"Personality and behavior"},{key:"permissions",label:"Permissions",icon:"permissions",hint:"Allow / deny rules"},{key:"settings",label:"Settings",icon:"settings",hint:"Theme, voice, billing window"},{key:"remote",label:"Remote",icon:"remote",hint:"Web remote control — disabled by default"}],uO=[{key:"voice",label:"Voice",icon:"mic",hint:"Whisper transcription + push-to-talk"},{key:"repoviz",label:"Repo Viz",icon:"repoviz",hint:"Language + directory map"},{key:"search",label:"Search",icon:"global-search",hint:"⌘P file · ⌘⇧F content"}],fE="sm.almanac.sidebarWidth",n4=180,i4=480,hE=252;function Pq(){try{const e=parseInt(localStorage.getItem(fE)??"",10);if(Number.isFinite(e))return Math.min(i4,Math.max(n4,e))}catch{}return hE}const s4="sm.almanac.sidebarMode";function Rq(){try{return localStorage.getItem(s4)==="files"?"files":"nav"}catch{return"nav"}}const a4="sm.almanac.collapsedGroups";function Mq(){try{const e=localStorage.getItem(a4);if(!e)return new Set;const r=JSON.parse(e);return Array.isArray(r)?new Set(r.filter(n=>n==="Workspace"||n==="Configure"||n==="Tools")):new Set}catch{return new Set}}function Iq(){const e=i0(a=>a.tabs),r=Tu(a=>{var l;return(((l=a.snapshot)==null?void 0:l.jobs)??[]).some(o=>o.status==="running")}),[n,i]=B.useState(()=>Date.now());B.useEffect(()=>{const a=setInterval(()=>i(Date.now()),5e3);return()=>clearInterval(a)},[]);const s=Object.values(e);return{subagents:s.some(a=>a.agents.some(l=>n-l.at<6e4)),tasks:s.some(a=>a.todos.some(l=>l.status==="in_progress")),scheduler:r}}function Dq({active:e,onNavigate:r,onNewSession:n,onOpenFile:i}){const[s,a]=B.useState(()=>Rq()),l=B.useCallback(C=>{a(C);try{localStorage.setItem(s4,C)}catch{}},[]),[o,u]=B.useState(()=>Mq()),f=B.useCallback(C=>{u(T=>{const j=new Set(T);j.has(C)?j.delete(C):j.add(C);try{localStorage.setItem(a4,JSON.stringify(Array.from(j)))}catch{}return j})},[]),m=Qt(C=>C.tabs),h=Qt(C=>C.activeTabId),y=m.find(C=>C.id===h)??null,x=Iq(),[k,_]=B.useState(()=>Pq()),b=B.useRef(k);b.current=k;const w=B.useCallback(C=>{C.preventDefault();const T=C.clientX,j=b.current;let A=j;const N=I=>{A=Math.min(i4,Math.max(n4,j+(I.clientX-T))),_(A)},O=()=>{window.removeEventListener("pointermove",N),window.removeEventListener("pointerup",O),document.body.style.cursor="",document.body.style.userSelect="";try{localStorage.setItem(fE,String(A))}catch{}};window.addEventListener("pointermove",N),window.addEventListener("pointerup",O),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[]),S=B.useCallback(()=>{_(hE);try{localStorage.setItem(fE,String(hE))}catch{}},[]);return c.jsxs("aside",{className:"shrink-0 bg-bg-elev border-r border-line flex flex-col relative",style:{width:k},"data-testid":"tour-leftnav","aria-label":"Primary navigation",children:[c.jsx(Lq,{tab:y,onNewSession:n}),c.jsx("div",{className:"px-3.5 pt-3 pb-2 flex gap-1",children:["nav","files"].map(C=>c.jsx("button",{onClick:()=>l(C),"aria-pressed":s===C,className:`flex-1 py-1.5 rounded-md text-[12px] font-semibold tracking-[0.02em] transition-colors ${s===C?"bg-bg-hi text-fg border border-line":"text-fg-faint hover:text-fg-dim border border-transparent"}`,children:C==="nav"?"Navigate":"Files"},C))}),c.jsx("div",{className:"flex-1 min-h-0 overflow-auto px-2 pb-3",children:s==="nav"?c.jsxs(c.Fragment,{children:[c.jsx(f1,{label:"Workspace",collapsed:o.has("Workspace"),count:lO.length,onToggle:()=>f("Workspace")}),!o.has("Workspace")&&lO.map(C=>c.jsx(dO,{item:C,active:e===C.key,live:C.liveKind?x[C.liveKind]:!1,onClick:()=>r(C.key)},C.key)),c.jsx(f1,{label:"Configure",collapsed:o.has("Configure"),count:cO.length,onToggle:()=>f("Configure")}),!o.has("Configure")&&cO.map(C=>c.jsx(dO,{item:C,active:e===C.key,live:!1,onClick:()=>r(C.key)},C.key)),c.jsx(f1,{label:"Tools",collapsed:o.has("Tools"),count:uO.length,onToggle:()=>f("Tools")}),!o.has("Tools")&&uO.map(C=>c.jsx(Fq,{tool:C,active:e===C.key,onClick:()=>r(C.key)},C.key))]}):c.jsx(Uq,{tab:y,onOpenFile:i})}),c.jsx(Wq,{}),c.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar",title:"Drag to resize · double-click to reset",onPointerDown:w,onDoubleClick:S,className:"absolute top-0 right-0 h-full w-1.5 translate-x-1/2 z-10 cursor-col-resize hover:bg-accent/40 active:bg-accent/60 transition-colors"})]})}function Lq({tab:e,onNewSession:r}){const n=(e==null?void 0:e.label)??"no session",i=zq((e==null?void 0:e.cwd)??null);return c.jsxs("div",{className:"px-[18px] pt-[14px] pb-[10px] border-b border-rule",children:[c.jsx("div",{className:"text-[11px] font-semibold tracking-[0.06em] text-fg-faint uppercase",children:"Project"}),c.jsxs("div",{className:"flex items-baseline gap-2 mt-1",children:[c.jsx("span",{className:"self-center w-2 h-2 rounded-full bg-sage"}),c.jsx("span",{className:"font-serif text-[18px] font-medium text-fg truncate",title:(e==null?void 0:e.cwd)??"",children:n})]}),c.jsx("div",{className:"text-[12px] text-fg-faint font-mono mt-0.5 truncate",children:i?`⌥${i}`:e?e.cwd:"—"}),c.jsxs("div",{className:"mt-3 flex items-stretch gap-1.5",children:[c.jsxs("button",{onClick:r,"data-testid":"tour-new-session",className:"flex-1 px-3 py-1.5 rounded-md bg-bg-hi border border-line text-fg text-[12.5px] font-medium hover:bg-bg-hi/80 hover:border-accent/40 transition-colors flex items-center justify-center gap-1.5",children:[c.jsx(us,{name:"plus",size:13,stroke:1.8}),"New session"]}),c.jsx("div",{className:"flex items-center rounded-md bg-bg-hi border border-line",children:c.jsx(r4,{})})]})]})}const bx=new Map,Bq=3e4;function zq(e){const[r,n]=B.useState(()=>{var i;return e?((i=bx.get(e))==null?void 0:i.value)??null:null});return B.useEffect(()=>{if(!e){n(null);return}let i=!1;return(async()=>{const a=bx.get(e);if(a&&Date.now()-a.ts<Bq){i||n(a.value);return}try{const l=await window.api.app.gitBranch(e);if(i)return;bx.set(e,{value:l,ts:Date.now()}),n(l)}catch{if(i)return;bx.set(e,{value:null,ts:Date.now()}),n(null)}})(),()=>{i=!0}},[e]),r}function f1({label:e,collapsed:r,count:n,onToggle:i}){return c.jsxs("button",{onClick:i,"aria-expanded":!r,title:r?`Expand ${e}`:`Collapse ${e}`,className:"group w-full flex items-center gap-1.5 px-3 pt-3.5 pb-1.5 font-serif italic text-[11px] font-bold tracking-[0.07em] uppercase text-fg-faint hover:text-fg-dim transition-colors text-left",children:[c.jsx("span",{"aria-hidden":!0,className:"inline-block w-2 text-[9px] not-italic transition-transform",style:{transform:r?"rotate(-90deg)":"rotate(0deg)"},children:"▾"}),c.jsx("span",{className:"flex-1",children:e}),r&&c.jsx("span",{className:"not-italic text-[10px] font-mono text-fg-faint/70 normal-case tracking-normal",children:n})]})}function dO({item:e,active:r,live:n,onClick:i}){return c.jsxs("button",{onClick:i,title:e.hint,className:`relative w-full flex items-center gap-3 px-3.5 py-[9px] rounded-[10px] text-left text-[14px] mb-0.5 transition-colors ${r?"bg-bg-hi text-fg font-semibold border border-line":"text-fg-dim hover:bg-bg-hi/50 hover:text-fg border border-transparent"}`,children:[r&&c.jsx("span",{"aria-hidden":!0,className:"absolute -left-[10px] top-3 bottom-3 w-[3px] rounded-sm bg-accent"}),c.jsx("span",{className:`inline-flex ${r?"text-accent":"text-fg-faint"}`,children:c.jsx(us,{name:e.icon,size:17,stroke:1.6})}),c.jsx("span",{className:"flex-1 truncate",children:e.label}),n&&c.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-accent animate-pulse",title:"live activity"})]})}function Fq({tool:e,active:r,onClick:n}){return c.jsxs("button",{onClick:n,title:e.hint,className:`relative w-full flex items-center gap-3 px-3.5 py-[7px] rounded-[10px] text-left text-[13px] mb-0.5 transition-colors ${r?"bg-bg-hi text-fg font-semibold border border-line":"text-fg-dim hover:bg-bg-hi/50 hover:text-fg border border-transparent"}`,children:[r&&c.jsx("span",{"aria-hidden":!0,className:"absolute -left-[10px] top-2 bottom-2 w-[3px] rounded-sm bg-accent"}),c.jsx("span",{className:`inline-flex ${r?"text-accent":"text-fg-faint"}`,children:c.jsx(us,{name:e.icon,size:15,stroke:1.6})}),c.jsx("span",{className:"flex-1 truncate",children:e.label})]})}function Uq({tab:e,onOpenFile:r}){return e?c.jsxs("div",{className:"pt-1",children:[c.jsx("div",{className:"px-3 pb-2 text-[11.5px] text-fg-faint font-mono truncate",title:e.cwd,children:qq(e.cwd)}),c.jsx(mq,{cwd:e.cwd,activeTabId:e.id,onPreviewFile:r})]}):c.jsx("div",{className:"px-3 py-6 text-center text-[12px] text-fg-faint",children:"No session selected."})}function qq(e){const r="/home/";if(e.startsWith(r)){const n=e.slice(r.length).split("/").slice(1).join("/");return n?`~/${n}`:"~"}return e}function Wq(){const e=Lt(l=>l.isRecording),r=Qt(l=>l.tabs),n=Qt(l=>l.activeTabId),i=r.find(l=>l.id===n)??null,[s,a]=B.useState(null);return B.useEffect(()=>{let l=!1;if(!(i!=null&&i.presetId)){a(null);return}return R5(i.presetId).then(o=>{l||a((o==null?void 0:o.model)??null)}).catch(()=>{l||a(null)}),()=>{l=!0}},[i==null?void 0:i.presetId]),c.jsxs("div",{className:"px-3.5 py-2.5 border-t border-rule flex items-center gap-2 text-[11.5px] text-fg-dim font-mono",children:[c.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${e?"bg-red-500 animate-pulse":"bg-sage"}`,title:e?"recording":"idle"}),c.jsx("span",{className:"truncate",title:s??"",children:e?"recording…":s?`Claude · ${Hq(s)}`:"Claude Code"})]})}function Hq(e){var n,i,s,a,l,o;const r=e.toLowerCase();if(r.includes("opus")){const u=(i=(n=e.match(/(\d+[-.]?\d*)/))==null?void 0:n[1])==null?void 0:i.replace("-",".");return u?`Opus ${u}`:"Opus"}if(r.includes("sonnet")){const u=(a=(s=e.match(/(\d+[-.]?\d*)/))==null?void 0:s[1])==null?void 0:a.replace("-",".");return u?`Sonnet ${u}`:"Sonnet"}if(r.includes("haiku")){const u=(o=(l=e.match(/(\d+[-.]?\d*)/))==null?void 0:l[1])==null?void 0:o.replace("-",".");return u?`Haiku ${u}`:"Haiku"}return e}function Gq({onNavigate:e}){const r=Qt(b=>b.tabs),n=Qt(b=>b.activeTabId),i=r.find(b=>b.id===n)??null,s=vT(i),a=(s==null?void 0:s.lastEventAt)??0,l=xp(b=>b.data),o=Tu(b=>{var w;return((w=b.snapshot)==null?void 0:w.paused)??null}),[u,f]=B.useState(null),[,m]=B.useState(0);B.useEffect(()=>{const b=setInterval(()=>m(w=>w+1),6e4);return()=>clearInterval(b)},[]),B.useEffect(()=>{let b=!1;if(!(i!=null&&i.cwd)){f(null);return}return window.api.app.gitBranch(i.cwd).then(w=>{b||f(w)}).catch(()=>{b||f(null)}),()=>{b=!0}},[i==null?void 0:i.cwd]);const h=Kw(l),y=(h==null?void 0:h.usage.five_hour)??null,x=y?Math.round(y.utilization):null,k=(l==null?void 0:l.kind)==="ok"||(l==null?void 0:l.kind)==="ok-stale",_=a>0?Vq(Date.now()-a):"—";return c.jsxs("div",{className:"h-[30px] shrink-0 bg-bg-elev border-t border-line flex items-center gap-4 px-[18px] font-mono text-[11.5px] text-fg-dim","data-testid":"tour-statusbar",children:[c.jsxs("button",{onClick:()=>e==null?void 0:e("settings"),className:"flex items-center gap-1.5 hover:text-fg transition-colors",title:k?"Connected to Anthropic":"Disconnected",children:[c.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${k?"bg-sage":"bg-fg-faint"}`}),c.jsx("span",{children:k?"connected":"offline"})]}),c.jsx("button",{onClick:()=>e==null?void 0:e("usage"),className:"hover:text-fg transition-colors",title:"Open Usage",children:x!=null?`${x}% of 5h window used`:"5h —"}),o&&c.jsxs("button",{onClick:()=>e==null?void 0:e("scheduler"),title:"Scheduler is paused — click to open Scheduler",className:`flex items-center gap-1 px-1.5 py-0.5 rounded border font-mono text-[10.5px] transition-colors ${o.reason==="auth"||o.reason==="network"?"border-red-700/60 text-red-300 hover:bg-red-900/20":"border-amber-700/60 text-amber-300 hover:bg-amber-900/20"}`,children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-current opacity-80"}),"Scheduler paused · ",o.reason]}),i&&c.jsxs("span",{className:"text-fg-faint",title:i.cwd,children:[i.label,u&&c.jsxs("span",{className:"text-fg-dim",children:[" · ⌥",u]})]}),c.jsxs("span",{className:"text-fg-faint",children:["last activity: ",c.jsx("span",{className:"text-fg-dim",children:_})]}),c.jsx("span",{className:"flex-1"}),c.jsxs("span",{className:"text-fg-faint",children:["v","0.24.0"]})]})}function Vq(e){const r=Math.max(0,Math.floor(e/1e3));if(r<60)return`${r}s ago`;const n=Math.floor(r/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}var h1={exports:{}},fO;function Kq(){return fO||(fO=1,(function(e,r){(function(n,i){e.exports=i()})(globalThis,(()=>(()=>{var n={4567:function(l,o,u){var f=this&&this.__decorate||function(S,C,T,j){var A,N=arguments.length,O=N<3?C:j===null?j=Object.getOwnPropertyDescriptor(C,T):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(S,C,T,j);else for(var I=S.length-1;I>=0;I--)(A=S[I])&&(O=(N<3?A(O):N>3?A(C,T,O):A(C,T))||O);return N>3&&O&&Object.defineProperty(C,T,O),O},m=this&&this.__param||function(S,C){return function(T,j){C(T,j,S)}};Object.defineProperty(o,"__esModule",{value:!0}),o.AccessibilityManager=void 0;const h=u(9042),y=u(9924),x=u(844),k=u(4725),_=u(2585),b=u(3656);let w=o.AccessibilityManager=class extends x.Disposable{constructor(S,C,T,j){super(),this._terminal=S,this._coreBrowserService=T,this._renderService=j,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let A=0;A<this._terminal.rows;A++)this._rowElements[A]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[A]);if(this._topBoundaryFocusListener=A=>this._handleBoundaryFocus(A,0),this._bottomBoundaryFocusListener=A=>this._handleBoundaryFocus(A,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new y.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((A=>this._handleResize(A.rows)))),this.register(this._terminal.onRender((A=>this._refreshRows(A.start,A.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((A=>this._handleChar(A)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
2895
+ */var U$;function TU(){return U$||(U$=1,(function(e,r){var n=(()=>{var i=Object.defineProperty,s=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,o=(ae=>typeof Ha<"u"?Ha:typeof Proxy<"u"?new Proxy(ae,{get:(he,be)=>(typeof Ha<"u"?Ha:he)[be]}):ae)(function(ae){if(typeof Ha<"u")return Ha.apply(this,arguments);throw Error('Dynamic require of "'+ae+'" is not supported')}),u=(ae,he)=>()=>(ae&&(he=ae(ae=0)),he),f=(ae,he)=>{for(var be in he)i(ae,be,{get:he[be],enumerable:!0})},m=(ae,he,be,Oe)=>{if(he&&typeof he=="object"||typeof he=="function")for(let Ee of a(he))!l.call(ae,Ee)&&Ee!==be&&i(ae,Ee,{get:()=>he[Ee],enumerable:!(Oe=s(he,Ee))||Oe.enumerable});return ae},h=ae=>m(i({},"__esModule",{value:!0}),ae),y,x,k,_,b,w=u(()=>{y=new Map,x=[],k=(ae,he,be)=>{if(he&&typeof he.init=="function"&&typeof he.createInferenceSessionHandler=="function"){let Oe=y.get(ae);if(Oe===void 0)y.set(ae,{backend:he,priority:be});else{if(Oe.priority>be)return;if(Oe.priority===be&&Oe.backend!==he)throw new Error(`cannot register backend "${ae}" using priority ${be}`)}if(be>=0){let Ee=x.indexOf(ae);Ee!==-1&&x.splice(Ee,1);for(let ze=0;ze<x.length;ze++)if(y.get(x[ze]).priority<=be){x.splice(ze,0,ae);return}x.push(ae)}return}throw new TypeError("not a valid backend")},_=async ae=>{let he=y.get(ae);if(!he)return"backend not found.";if(he.initialized)return he.backend;if(he.aborted)return he.error;{let be=!!he.initPromise;try{return be||(he.initPromise=he.backend.init(ae)),await he.initPromise,he.initialized=!0,he.backend}catch(Oe){return be||(he.error=`${Oe}`,he.aborted=!0),he.error}finally{delete he.initPromise}}},b=async ae=>{let he=ae.executionProviders||[],be=he.map(Ue=>typeof Ue=="string"?Ue:Ue.name),Oe=be.length===0?x:be,Ee,ze=[],Pe=new Set;for(let Ue of Oe){let tt=await _(Ue);typeof tt=="string"?ze.push({name:Ue,err:tt}):(Ee||(Ee=tt),Ee===tt&&Pe.add(Ue))}if(!Ee)throw new Error(`no available backend found. ERR: ${ze.map(Ue=>`[${Ue.name}] ${Ue.err}`).join(", ")}`);for(let{name:Ue,err:tt}of ze)be.includes(Ue)&&console.warn(`removing requested execution provider "${Ue}" from session options because it is not available: ${tt}`);let Re=he.filter(Ue=>Pe.has(typeof Ue=="string"?Ue:Ue.name));return[Ee,new Proxy(ae,{get:(Ue,tt)=>tt==="executionProviders"?Re:Reflect.get(Ue,tt)})]}}),S=u(()=>{w()}),C,T=u(()=>{C="1.26.0"}),j,A,N=u(()=>{T(),j="warning",A={wasm:{},webgl:{},webgpu:{},versions:{common:C},set logLevel(ae){if(ae!==void 0){if(typeof ae!="string"||["verbose","info","warning","error","fatal"].indexOf(ae)===-1)throw new Error(`Unsupported logging level: ${ae}`);j=ae}},get logLevel(){return j}},Object.defineProperty(A,"logLevel",{enumerable:!0})}),O,I=u(()=>{N(),O=A}),W,G,V=u(()=>{W=(ae,he)=>{let be=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);be.width=ae.dims[3],be.height=ae.dims[2];let Oe=be.getContext("2d");if(Oe!=null){let Ee,ze;(he==null?void 0:he.tensorLayout)!==void 0&&he.tensorLayout==="NHWC"?(Ee=ae.dims[2],ze=ae.dims[3]):(Ee=ae.dims[3],ze=ae.dims[2]);let Pe=(he==null?void 0:he.format)!==void 0?he.format:"RGB",Re=he==null?void 0:he.norm,Ue,tt;Re===void 0||Re.mean===void 0?Ue=[255,255,255,255]:typeof Re.mean=="number"?Ue=[Re.mean,Re.mean,Re.mean,Re.mean]:(Ue=[Re.mean[0],Re.mean[1],Re.mean[2],0],Re.mean[3]!==void 0&&(Ue[3]=Re.mean[3])),Re===void 0||Re.bias===void 0?tt=[0,0,0,0]:typeof Re.bias=="number"?tt=[Re.bias,Re.bias,Re.bias,Re.bias]:(tt=[Re.bias[0],Re.bias[1],Re.bias[2],0],Re.bias[3]!==void 0&&(tt[3]=Re.bias[3]));let lt=ze*Ee,nt=0,Je=lt,Nt=lt*2,Be=-1;Pe==="RGBA"?(nt=0,Je=lt,Nt=lt*2,Be=lt*3):Pe==="RGB"?(nt=0,Je=lt,Nt=lt*2):Pe==="RBG"&&(nt=0,Nt=lt,Je=lt*2);for(let pt=0;pt<ze;pt++)for(let Br=0;Br<Ee;Br++){let nr=(ae.data[nt++]-tt[0])*Ue[0],ir=(ae.data[Je++]-tt[1])*Ue[1],zr=(ae.data[Nt++]-tt[2])*Ue[2],Ft=Be===-1?255:(ae.data[Be++]-tt[3])*Ue[3];Oe.fillStyle="rgba("+nr+","+ir+","+zr+","+Ft+")",Oe.fillRect(Br,pt,1,1)}if("toDataURL"in be)return be.toDataURL();throw new Error("toDataURL is not supported")}else throw new Error("Can not access image data")},G=(ae,he)=>{let be=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d"),Oe;if(be!=null){let Ee,ze,Pe;(he==null?void 0:he.tensorLayout)!==void 0&&he.tensorLayout==="NHWC"?(Ee=ae.dims[2],ze=ae.dims[1],Pe=ae.dims[3]):(Ee=ae.dims[3],ze=ae.dims[2],Pe=ae.dims[1]);let Re=he!==void 0&&he.format!==void 0?he.format:"RGB",Ue=he==null?void 0:he.norm,tt,lt;Ue===void 0||Ue.mean===void 0?tt=[255,255,255,255]:typeof Ue.mean=="number"?tt=[Ue.mean,Ue.mean,Ue.mean,Ue.mean]:(tt=[Ue.mean[0],Ue.mean[1],Ue.mean[2],255],Ue.mean[3]!==void 0&&(tt[3]=Ue.mean[3])),Ue===void 0||Ue.bias===void 0?lt=[0,0,0,0]:typeof Ue.bias=="number"?lt=[Ue.bias,Ue.bias,Ue.bias,Ue.bias]:(lt=[Ue.bias[0],Ue.bias[1],Ue.bias[2],0],Ue.bias[3]!==void 0&&(lt[3]=Ue.bias[3]));let nt=ze*Ee;if(he!==void 0&&(he.format!==void 0&&Pe===4&&he.format!=="RGBA"||Pe===3&&he.format!=="RGB"&&he.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let Je=4,Nt=0,Be=1,pt=2,Br=3,nr=0,ir=nt,zr=nt*2,Ft=-1;Re==="RGBA"?(nr=0,ir=nt,zr=nt*2,Ft=nt*3):Re==="RGB"?(nr=0,ir=nt,zr=nt*2):Re==="RBG"&&(nr=0,zr=nt,ir=nt*2),Oe=be.createImageData(Ee,ze);for(let Hr=0;Hr<ze*Ee;Nt+=Je,Be+=Je,pt+=Je,Br+=Je,Hr++)Oe.data[Nt]=(ae.data[nr++]-lt[0])*tt[0],Oe.data[Be]=(ae.data[ir++]-lt[1])*tt[1],Oe.data[pt]=(ae.data[zr++]-lt[2])*tt[2],Oe.data[Br]=Ft===-1?255:(ae.data[Ft++]-lt[3])*tt[3]}else throw new Error("Can not access image data");return Oe}}),F,z,H,X,se,oe,Q=u(()=>{ye(),F=(ae,he)=>{if(ae===void 0)throw new Error("Image buffer must be defined");if(he.height===void 0||he.width===void 0)throw new Error("Image height and width must be defined");if(he.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let{height:be,width:Oe}=he,Ee=he.norm??{mean:255,bias:0},ze,Pe;typeof Ee.mean=="number"?ze=[Ee.mean,Ee.mean,Ee.mean,Ee.mean]:ze=[Ee.mean[0],Ee.mean[1],Ee.mean[2],Ee.mean[3]??255],typeof Ee.bias=="number"?Pe=[Ee.bias,Ee.bias,Ee.bias,Ee.bias]:Pe=[Ee.bias[0],Ee.bias[1],Ee.bias[2],Ee.bias[3]??0];let Re=he.format!==void 0?he.format:"RGBA",Ue=he.tensorFormat!==void 0&&he.tensorFormat!==void 0?he.tensorFormat:"RGB",tt=be*Oe,lt=Ue==="RGBA"?new Float32Array(tt*4):new Float32Array(tt*3),nt=4,Je=0,Nt=1,Be=2,pt=3,Br=0,nr=tt,ir=tt*2,zr=-1;Re==="RGB"&&(nt=3,Je=0,Nt=1,Be=2,pt=-1),Ue==="RGBA"?zr=tt*3:Ue==="RBG"?(Br=0,ir=tt,nr=tt*2):Ue==="BGR"&&(ir=0,nr=tt,Br=tt*2);for(let Ft=0;Ft<tt;Ft++,Je+=nt,Be+=nt,Nt+=nt,pt+=nt)lt[Br++]=(ae[Je]+Pe[0])/ze[0],lt[nr++]=(ae[Nt]+Pe[1])/ze[1],lt[ir++]=(ae[Be]+Pe[2])/ze[2],zr!==-1&&pt!==-1&&(lt[zr++]=(ae[pt]+Pe[3])/ze[3]);return Ue==="RGBA"?new ie("float32",lt,[1,4,be,Oe]):new ie("float32",lt,[1,3,be,Oe])},z=async(ae,he)=>{let be=typeof HTMLImageElement<"u"&&ae instanceof HTMLImageElement,Oe=typeof ImageData<"u"&&ae instanceof ImageData,Ee=typeof ImageBitmap<"u"&&ae instanceof ImageBitmap,ze=typeof ae=="string",Pe,Re=he??{},Ue=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},tt=lt=>typeof HTMLCanvasElement<"u"&&lt instanceof HTMLCanvasElement||lt instanceof OffscreenCanvas?lt.getContext("2d"):null;if(be){let lt=Ue();lt.width=ae.width,lt.height=ae.height;let nt=tt(lt);if(nt!=null){let Je=ae.height,Nt=ae.width;if(he!==void 0&&he.resizedHeight!==void 0&&he.resizedWidth!==void 0&&(Je=he.resizedHeight,Nt=he.resizedWidth),he!==void 0){if(Re=he,he.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");Re.tensorFormat="RGBA",Re.height=Je,Re.width=Nt}else Re.tensorFormat="RGBA",Re.height=Je,Re.width=Nt;nt.drawImage(ae,0,0),Pe=nt.getImageData(0,0,Nt,Je).data}else throw new Error("Can not access image data")}else if(Oe){let lt,nt;if(he!==void 0&&he.resizedWidth!==void 0&&he.resizedHeight!==void 0?(lt=he.resizedHeight,nt=he.resizedWidth):(lt=ae.height,nt=ae.width),he!==void 0&&(Re=he),Re.format="RGBA",Re.height=lt,Re.width=nt,he!==void 0){let Je=Ue();Je.width=nt,Je.height=lt;let Nt=tt(Je);if(Nt!=null)Nt.putImageData(ae,0,0),Pe=Nt.getImageData(0,0,nt,lt).data;else throw new Error("Can not access image data")}else Pe=ae.data}else if(Ee){if(he===void 0)throw new Error("Please provide image config with format for Imagebitmap");let lt=Ue();lt.width=ae.width,lt.height=ae.height;let nt=tt(lt);if(nt!=null){let Je=ae.height,Nt=ae.width;return nt.drawImage(ae,0,0,Nt,Je),Pe=nt.getImageData(0,0,Nt,Je).data,Re.height=Je,Re.width=Nt,F(Pe,Re)}else throw new Error("Can not access image data")}else{if(ze)return new Promise((lt,nt)=>{let Je=Ue(),Nt=tt(Je);if(!ae||!Nt)return nt();let Be=new Image;Be.crossOrigin="Anonymous",Be.src=ae,Be.onload=()=>{Je.width=Be.width,Je.height=Be.height,Nt.drawImage(Be,0,0,Je.width,Je.height);let pt=Nt.getImageData(0,0,Je.width,Je.height);Re.height=Je.height,Re.width=Je.width,lt(F(pt.data,Re))}});throw new Error("Input data provided is not supported - aborted tensor creation")}if(Pe!==void 0)return F(Pe,Re);throw new Error("Input data provided is not supported - aborted tensor creation")},H=(ae,he)=>{let{width:be,height:Oe,download:Ee,dispose:ze}=he,Pe=[1,Oe,be,4];return new ie({location:"texture",type:"float32",texture:ae,dims:Pe,download:Ee,dispose:ze})},X=(ae,he)=>{let{dataType:be,dims:Oe,download:Ee,dispose:ze}=he;return new ie({location:"gpu-buffer",type:be??"float32",gpuBuffer:ae,dims:Oe,download:Ee,dispose:ze})},se=(ae,he)=>{let{dataType:be,dims:Oe,download:Ee,dispose:ze}=he;return new ie({location:"ml-tensor",type:be??"float32",mlTensor:ae,dims:Oe,download:Ee,dispose:ze})},oe=(ae,he,be)=>new ie({location:"cpu-pinned",type:ae,data:he,dims:be??[he.length]})}),ee,Y,te,ce,we=u(()=>{ee=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),Y=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),te=!1,ce=()=>{if(!te){te=!0;let ae=typeof BigInt64Array<"u"&&BigInt64Array.from,he=typeof BigUint64Array<"u"&&BigUint64Array.from,be=globalThis.Float16Array,Oe=typeof be<"u"&&be.from;ae&&(ee.set("int64",BigInt64Array),Y.set(BigInt64Array,"int64")),he&&(ee.set("uint64",BigUint64Array),Y.set(BigUint64Array,"uint64")),Oe?(ee.set("float16",be),Y.set(be,"float16")):ee.set("float16",Uint16Array)}}}),_e,Ae,ve=u(()=>{ye(),_e=ae=>{let he=1;for(let be=0;be<ae.length;be++){let Oe=ae[be];if(typeof Oe!="number"||!Number.isSafeInteger(Oe))throw new TypeError(`dims[${be}] must be an integer, got: ${Oe}`);if(Oe<0)throw new RangeError(`dims[${be}] must be a non-negative integer, got: ${Oe}`);he*=Oe}return he},Ae=(ae,he)=>{switch(ae.location){case"cpu":return new ie(ae.type,ae.data,he);case"cpu-pinned":return new ie({location:"cpu-pinned",data:ae.data,type:ae.type,dims:he});case"texture":return new ie({location:"texture",texture:ae.texture,type:ae.type,dims:he});case"gpu-buffer":return new ie({location:"gpu-buffer",gpuBuffer:ae.gpuBuffer,type:ae.type,dims:he});case"ml-tensor":return new ie({location:"ml-tensor",mlTensor:ae.mlTensor,type:ae.type,dims:he});default:throw new Error(`tensorReshape: tensor location ${ae.location} is not supported`)}}}),ie,ye=u(()=>{V(),Q(),we(),ve(),ie=class{constructor(ae,he,be){ce();let Oe,Ee;if(typeof ae=="object"&&"location"in ae)switch(this.dataLocation=ae.location,Oe=ae.type,Ee=ae.dims,ae.location){case"cpu-pinned":{let Pe=ee.get(Oe);if(!Pe)throw new TypeError(`unsupported type "${Oe}" to create tensor from pinned buffer`);if(!(ae.data instanceof Pe))throw new TypeError(`buffer should be of type ${Pe.name}`);this.cpuData=ae.data;break}case"texture":{if(Oe!=="float32")throw new TypeError(`unsupported type "${Oe}" to create tensor from texture`);this.gpuTextureData=ae.texture,this.downloader=ae.download,this.disposer=ae.dispose;break}case"gpu-buffer":{if(Oe!=="float32"&&Oe!=="float16"&&Oe!=="int32"&&Oe!=="int64"&&Oe!=="uint32"&&Oe!=="uint8"&&Oe!=="bool"&&Oe!=="uint4"&&Oe!=="int4")throw new TypeError(`unsupported type "${Oe}" to create tensor from gpu buffer`);this.gpuBufferData=ae.gpuBuffer,this.downloader=ae.download,this.disposer=ae.dispose;break}case"ml-tensor":{if(Oe!=="float32"&&Oe!=="float16"&&Oe!=="int32"&&Oe!=="int64"&&Oe!=="uint32"&&Oe!=="uint64"&&Oe!=="int8"&&Oe!=="uint8"&&Oe!=="bool"&&Oe!=="uint4"&&Oe!=="int4")throw new TypeError(`unsupported type "${Oe}" to create tensor from MLTensor`);this.mlTensorData=ae.mlTensor,this.downloader=ae.download,this.disposer=ae.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let Pe,Re;if(typeof ae=="string")if(Oe=ae,Re=be,ae==="string"){if(!Array.isArray(he))throw new TypeError("A string tensor's data must be a string array.");Pe=he}else{let Ue=ee.get(ae);if(Ue===void 0)throw new TypeError(`Unsupported tensor type: ${ae}.`);if(Array.isArray(he)){if(ae==="float16"&&Ue===Uint16Array||ae==="uint4"||ae==="int4")throw new TypeError(`Creating a ${ae} tensor from number array is not supported. Please use ${Ue.name} as data.`);ae==="uint64"||ae==="int64"?Pe=Ue.from(he,BigInt):Pe=Ue.from(he)}else if(he instanceof Ue)Pe=he;else if(he instanceof Uint8ClampedArray)if(ae==="uint8")Pe=Uint8Array.from(he);else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");else if(ae==="float16"&&he instanceof Uint16Array&&Ue!==Uint16Array)Pe=new globalThis.Float16Array(he.buffer,he.byteOffset,he.length);else throw new TypeError(`A ${Oe} tensor's data must be type of ${Ue}`)}else if(Re=he,Array.isArray(ae)){if(ae.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let Ue=typeof ae[0];if(Ue==="string")Oe="string",Pe=ae;else if(Ue==="boolean")Oe="bool",Pe=Uint8Array.from(ae);else throw new TypeError(`Invalid element type of data array: ${Ue}.`)}else if(ae instanceof Uint8ClampedArray)Oe="uint8",Pe=Uint8Array.from(ae);else{let Ue=Y.get(ae.constructor);if(Ue===void 0)throw new TypeError(`Unsupported type for tensor data: ${ae.constructor}.`);Oe=Ue,Pe=ae}if(Re===void 0)Re=[Pe.length];else if(!Array.isArray(Re))throw new TypeError("A tensor's dims must be a number array");Ee=Re,this.cpuData=Pe,this.dataLocation="cpu"}let ze=_e(Ee);if(this.cpuData&&ze!==this.cpuData.length&&!((Oe==="uint4"||Oe==="int4")&&Math.ceil(ze/2)===this.cpuData.length))throw new Error(`Tensor's size(${ze}) does not match data length(${this.cpuData.length}).`);this.type=Oe,this.dims=Ee,this.size=ze}static async fromImage(ae,he){return z(ae,he)}static fromTexture(ae,he){return H(ae,he)}static fromGpuBuffer(ae,he){return X(ae,he)}static fromMLTensor(ae,he){return se(ae,he)}static fromPinnedBuffer(ae,he,be){return oe(ae,he,be)}toDataURL(ae){return W(this,ae)}toImageData(ae){return G(this,ae)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(ae){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":{if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let he=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=he,ae&&this.disposer&&(this.disposer(),this.disposer=void 0),he}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(ae){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return Ae(this,ae)}}}),xe,Ge=u(()=>{ye(),xe=ie}),Me,We,Le,Ze,ut,dt,dr=u(()=>{N(),Me=(ae,he)=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||console.timeStamp(`${ae}::ORT::${he}`)},We=(ae,he)=>{var Ee;let be=((Ee=new Error().stack)==null?void 0:Ee.split(/\r\n|\r|\n/g))||[],Oe=!1;for(let ze=0;ze<be.length;ze++){if(Oe&&!be[ze].includes("TRACE_FUNC")){let Pe=`FUNC_${ae}::${be[ze].trim().split(" ")[1]}`;he&&(Pe+=`::${he}`),Me("CPU",Pe);return}be[ze].includes("TRACE_FUNC")&&(Oe=!0)}},Le=ae=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||We("BEGIN",ae)},Ze=ae=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||We("END",ae)},ut=ae=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||console.time(`ORT::${ae}`)},dt=ae=>{(typeof A.trace>"u"?!A.wasm.trace:!A.trace)||console.timeEnd(`ORT::${ae}`)}}),Xt,Jt=u(()=>{w(),Ge(),dr(),Xt=class q5{constructor(he){this.handler=he}async run(he,be,Oe){Le(),ut("InferenceSession.run");let Ee={},ze={};if(typeof he!="object"||he===null||he instanceof xe||Array.isArray(he))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let Pe=!0;if(typeof be=="object"){if(be===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(be instanceof xe)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(be)){if(be.length===0)throw new TypeError("'fetches' cannot be an empty array.");Pe=!1;for(let tt of be){if(typeof tt!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(tt)===-1)throw new RangeError(`'fetches' contains invalid output name: ${tt}.`);Ee[tt]=null}if(typeof Oe=="object"&&Oe!==null)ze=Oe;else if(typeof Oe<"u")throw new TypeError("'options' must be an object.")}else{let tt=!1,lt=Object.getOwnPropertyNames(be);for(let nt of this.outputNames)if(lt.indexOf(nt)!==-1){let Je=be[nt];(Je===null||Je instanceof xe)&&(tt=!0,Pe=!1,Ee[nt]=Je)}if(tt){if(typeof Oe=="object"&&Oe!==null)ze=Oe;else if(typeof Oe<"u")throw new TypeError("'options' must be an object.")}else ze=be}}else if(typeof be<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let tt of this.inputNames)if(typeof he[tt]>"u")throw new Error(`input '${tt}' is missing in 'feeds'.`);if(Pe)for(let tt of this.outputNames)Ee[tt]=null;let Re=await this.handler.run(he,Ee,ze),Ue={};for(let tt in Re)if(Object.hasOwnProperty.call(Re,tt)){let lt=Re[tt];lt instanceof xe?Ue[tt]=lt:Ue[tt]=new xe(lt.type,lt.data,lt.dims)}return dt("InferenceSession.run"),Ze(),Ue}async release(){return this.handler.dispose()}static async create(he,be,Oe,Ee){Le(),ut("InferenceSession.create");let ze,Pe={};if(typeof he=="string"){if(ze=he,typeof be=="object"&&be!==null)Pe=be;else if(typeof be<"u")throw new TypeError("'options' must be an object.")}else if(he instanceof Uint8Array){if(ze=he,typeof be=="object"&&be!==null)Pe=be;else if(typeof be<"u")throw new TypeError("'options' must be an object.")}else if(he instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&he instanceof SharedArrayBuffer){let lt=he,nt=0,Je=he.byteLength;if(typeof be=="object"&&be!==null)Pe=be;else if(typeof be=="number"){if(nt=be,!Number.isSafeInteger(nt))throw new RangeError("'byteOffset' must be an integer.");if(nt<0||nt>=lt.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${lt.byteLength}).`);if(Je=he.byteLength-nt,typeof Oe=="number"){if(Je=Oe,!Number.isSafeInteger(Je))throw new RangeError("'byteLength' must be an integer.");if(Je<=0||nt+Je>lt.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${lt.byteLength-nt}].`);if(typeof Ee=="object"&&Ee!==null)Pe=Ee;else if(typeof Ee<"u")throw new TypeError("'options' must be an object.")}else if(typeof Oe<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof be<"u")throw new TypeError("'options' must be an object.");ze=new Uint8Array(lt,nt,Je)}else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");let[Re,Ue]=await b(Pe),tt=await Re.createInferenceSessionHandler(ze,Ue);return dt("InferenceSession.create"),Ze(),new q5(tt)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),cr,Nr=u(()=>{Jt(),cr=Xt}),wr=u(()=>{}),nn=u(()=>{}),Wr=u(()=>{}),ii=u(()=>{}),Kn={};f(Kn,{InferenceSession:()=>cr,TRACE:()=>Me,TRACE_EVENT_BEGIN:()=>ut,TRACE_EVENT_END:()=>dt,TRACE_FUNC_BEGIN:()=>Le,TRACE_FUNC_END:()=>Ze,Tensor:()=>xe,env:()=>O,registerBackend:()=>k});var mr=u(()=>{S(),I(),Nr(),Ge(),wr(),nn(),dr(),Wr(),ii()}),vt=u(()=>{}),Et={};f(Et,{default:()=>Ir});var It,Pt,Ir,yi=u(()=>{var ae;Tl(),bi(),pn(),It="ort-wasm-proxy-worker",Pt=((ae=globalThis.self)==null?void 0:ae.name)===It,Pt&&(self.onmessage=he=>{let{type:be,in:Oe}=he.data;try{switch(be){case"init-wasm":ds(Oe.wasm).then(()=>{Jn(Oe).then(()=>{postMessage({type:be})},Ee=>{postMessage({type:be,err:Ee})})},Ee=>{postMessage({type:be,err:Ee})});break;case"init-ep":{let{epName:Ee,env:ze}=Oe;hs(ze,Ee).then(()=>{postMessage({type:be})},Pe=>{postMessage({type:be,err:Pe})});break}case"copy-from":{let{buffer:Ee}=Oe,ze=hr(Ee);postMessage({type:be,out:ze});break}case"create":{let{model:Ee,options:ze}=Oe;ms(Ee,ze).then(Pe=>{postMessage({type:be,out:Pe})},Pe=>{postMessage({type:be,err:Pe})});break}case"release":Uo(Oe),postMessage({type:be});break;case"run":{let{sessionId:Ee,inputIndices:ze,inputs:Pe,outputIndices:Re,options:Ue}=Oe;Qe(Ee,ze,Pe,Re,new Array(Re.length).fill(null),Ue).then(tt=>{tt.some(lt=>lt[3]!=="cpu")?postMessage({type:be,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:be,out:tt},Tc([...Pe,...tt]))},tt=>{postMessage({type:be,err:tt})});break}case"end-profiling":Ds(Oe),postMessage({type:be});break;default:}}catch(Ee){postMessage({type:be,err:Ee})}}),Ir=Pt?null:he=>new Worker(he??Cr,{type:"classic",name:It})}),ka,Di,Cr,si,In,Ve,rt,$t,ur,Pr,Xr,sn,Li,pn=u(()=>{vt(),ka=typeof location>"u"?void 0:location.origin,Di=()=>{var ae,he;return typeof document<"u"?(ae=document.currentScript)==null?void 0:ae.src:typeof self<"u"?(he=self.location)==null?void 0:he.href:void 0},Cr=Di(),si=()=>{if(Cr&&!Cr.startsWith("blob:"))return Cr.substring(0,Cr.lastIndexOf("/")+1)},In=(ae,he)=>{try{let be=he??Cr;return(be?new URL(ae,be):new URL(ae)).origin===ka}catch{return!1}},Ve=(ae,he)=>{let be=he??Cr;try{return(be?new URL(ae,be):new URL(ae)).href}catch{return}},rt=(ae,he)=>`${he??"./"}${ae}`,$t=async ae=>{let he=await(await fetch(ae,{credentials:"same-origin"})).blob();return URL.createObjectURL(he)},ur=async ae=>(await import(ae)).default,Pr=(yi(),h(Et)).default,Xr=async()=>{if(!Cr)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(In(Cr))return[void 0,Pr()];let ae=await $t(Cr);return[ae,Pr(ae)]},sn=void 0,Li=async(ae,he,be,Oe)=>{let Ee=sn&&!(ae||he);if(Ee)if(Cr)Ee=In(Cr)||Oe&&!be;else if(Oe&&!be)Ee=!0;else throw new Error("cannot determine the script source URL.");if(Ee)return[void 0,sn];{let ze="ort-wasm-simd-threaded.mjs",Pe=ae??Ve(ze,he),Re=be&&Pe&&!In(Pe,he),Ue=Re?await $t(Pe):Pe??rt(ze,he);return[Re?Ue:void 0,await ur(Ue)]}}}),es,Bi,_r,Xn,El,Rs,Ms,ds,Kt,bi=u(()=>{pn(),Bi=!1,_r=!1,Xn=!1,El=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Rs=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Ms=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},ds=async ae=>{if(Bi)return Promise.resolve();if(_r)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(Xn)throw new Error("previous call to 'initializeWebAssembly()' failed.");_r=!0;let he=ae.initTimeout,be=ae.numThreads;if(ae.simd!==!1){if(ae.simd==="relaxed"){if(!Ms())throw new Error("Relaxed WebAssembly SIMD is not supported in the current environment.")}else if(!Rs())throw new Error("WebAssembly SIMD is not supported in the current environment.")}let Oe=El();be>1&&!Oe&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+be+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),ae.numThreads=be=1);let Ee=ae.wasmPaths,ze=typeof Ee=="string"?Ee:void 0,Pe=Ee==null?void 0:Ee.mjs,Re=(Pe==null?void 0:Pe.href)??Pe,Ue=Ee==null?void 0:Ee.wasm,tt=(Ue==null?void 0:Ue.href)??Ue,lt=ae.wasmBinary,[nt,Je]=await Li(Re,ze,be>1,!!lt||!!tt),Nt=!1,Be=[];if(he>0&&Be.push(new Promise(pt=>{setTimeout(()=>{Nt=!0,pt()},he)})),Be.push(new Promise((pt,Br)=>{let nr={numThreads:be};if(lt)nr.wasmBinary=lt,nr.locateFile=ir=>ir;else if(tt||ze)nr.locateFile=ir=>tt??ze+ir;else if(Re&&Re.indexOf("blob:")!==0)nr.locateFile=ir=>new URL(ir,Re).href;else if(nt){let ir=si();ir&&(nr.locateFile=zr=>ir+zr)}Je(nr).then(ir=>{_r=!1,Bi=!0,es=ir,pt(),nt&&URL.revokeObjectURL(nt)},ir=>{_r=!1,Xn=!0,Br(ir)})})),await Promise.race(Be),Nt)throw new Error(`WebAssembly backend initializing failed due to timeout: ${he}ms`)},Kt=()=>{if(Bi&&es)return es;throw new Error("WebAssembly is not initialized yet.")}}),Sr,ai,Ot,ta=u(()=>{bi(),Sr=(ae,he)=>{let be=Kt(),Oe=be.lengthBytesUTF8(ae)+1,Ee=be._malloc(Oe);return be.stringToUTF8(ae,Ee,Oe),he.push(Ee),Ee},ai=(ae,he,be,Oe)=>{if(typeof ae=="object"&&ae!==null){if(be.has(ae))throw new Error("Circular reference in options");be.add(ae)}Object.entries(ae).forEach(([Ee,ze])=>{let Pe=he?he+Ee:Ee;if(typeof ze=="object")ai(ze,Pe+".",be,Oe);else if(typeof ze=="string"||typeof ze=="number")Oe(Pe,ze.toString());else if(typeof ze=="boolean")Oe(Pe,ze?"1":"0");else throw new Error(`Can't handle extra config type: ${typeof ze}`)})},Ot=ae=>{let he=Kt(),be=he.stackSave();try{let Oe=he.PTR_SIZE,Ee=he.stackAlloc(2*Oe);he._OrtGetLastError(Ee,Ee+Oe);let ze=Number(he.getValue(Ee,Oe===4?"i32":"i64")),Pe=he.getValue(Ee+Oe,"*"),Re=Pe?he.UTF8ToString(Pe):"";throw new Error(`${ae} ERROR_CODE: ${ze}, ERROR_MESSAGE: ${Re}`)}finally{he.stackRestore(be)}}}),Ca,zo=u(()=>{bi(),ta(),Ca=ae=>{let he=Kt(),be=0,Oe=[],Ee=ae||{};try{if((ae==null?void 0:ae.logSeverityLevel)===void 0)Ee.logSeverityLevel=2;else if(typeof ae.logSeverityLevel!="number"||!Number.isInteger(ae.logSeverityLevel)||ae.logSeverityLevel<0||ae.logSeverityLevel>4)throw new Error(`log severity level is not valid: ${ae.logSeverityLevel}`);if((ae==null?void 0:ae.logVerbosityLevel)===void 0)Ee.logVerbosityLevel=0;else if(typeof ae.logVerbosityLevel!="number"||!Number.isInteger(ae.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${ae.logVerbosityLevel}`);(ae==null?void 0:ae.terminate)===void 0&&(Ee.terminate=!1);let ze=0;return(ae==null?void 0:ae.tag)!==void 0&&(ze=Sr(ae.tag,Oe)),be=he._OrtCreateRunOptions(Ee.logSeverityLevel,Ee.logVerbosityLevel,!!Ee.terminate,ze),be===0&&Ot("Can't create run options."),(ae==null?void 0:ae.extra)!==void 0&&ai(ae.extra,"",new WeakSet,(Pe,Re)=>{let Ue=Sr(Pe,Oe),tt=Sr(Re,Oe);he._OrtAddRunConfigEntry(be,Ue,tt)!==0&&Ot(`Can't set a run config entry: ${Pe} - ${Re}.`)}),[be,Oe]}catch(ze){throw be!==0&&he._OrtReleaseRunOptions(be),Oe.forEach(Pe=>he._free(Pe)),ze}}}),fs,ra,xi,Dn,Fo,jl,Yr=u(()=>{bi(),ta(),fs=ae=>{switch(ae){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"layout":return 3;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${ae}`)}},ra=ae=>{switch(ae){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${ae}`)}},xi=ae=>{ae.extra||(ae.extra={}),ae.extra.session||(ae.extra.session={});let he=ae.extra.session;he.use_ort_model_bytes_directly||(he.use_ort_model_bytes_directly="1"),ae.executionProviders&&ae.executionProviders.some(be=>(typeof be=="string"?be:be.name)==="webgpu")&&(ae.enableMemPattern=!1)},Dn=(ae,he,be,Oe)=>{let Ee=Sr(he,Oe),ze=Sr(be,Oe);Kt()._OrtAddSessionConfigEntry(ae,Ee,ze)!==0&&Ot(`Can't set a session config entry: ${he} - ${be}.`)},Fo=async(ae,he,be)=>{let Oe=he.executionProviders;for(let Ee of Oe){let ze=typeof Ee=="string"?Ee:Ee.name,Pe=[];switch(ze){case"webnn":if(ze="WEBNN",Dn(ae,"session.disable_quant_qdq","1",be),Dn(ae,"session.disable_qdq_constant_folding","1",be),typeof Ee!="string"){let nt=Ee==null?void 0:Ee.deviceType;nt&&Dn(ae,"deviceType",nt,be)}break;case"webgpu":if(ze="JS",typeof Ee!="string"){let nt=Ee;if(nt!=null&&nt.preferredLayout){if(nt.preferredLayout!=="NCHW"&&nt.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${nt.preferredLayout}`);Dn(ae,"preferredLayout",nt.preferredLayout,be)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${ze}`)}let Re=Sr(ze,be),Ue=Pe.length,tt=0,lt=0;if(Ue>0){tt=Kt()._malloc(Ue*Kt().PTR_SIZE),be.push(tt),lt=Kt()._malloc(Ue*Kt().PTR_SIZE),be.push(lt);for(let nt=0;nt<Ue;nt++)Kt().setValue(tt+nt*Kt().PTR_SIZE,Pe[nt][0],"*"),Kt().setValue(lt+nt*Kt().PTR_SIZE,Pe[nt][1],"*")}await Kt()._OrtAppendExecutionProvider(ae,Re,tt,lt,Ue)!==0&&Ot(`Can't append execution provider: ${ze}.`)}},jl=async ae=>{let he=Kt(),be=0,Oe=[],Ee=ae||{};xi(Ee);try{let ze=fs(Ee.graphOptimizationLevel??"all"),Pe=ra(Ee.executionMode??"sequential"),Re=typeof Ee.logId=="string"?Sr(Ee.logId,Oe):0,Ue=Ee.logSeverityLevel??2;if(!Number.isInteger(Ue)||Ue<0||Ue>4)throw new Error(`log severity level is not valid: ${Ue}`);let tt=Ee.logVerbosityLevel??0;if(!Number.isInteger(tt)||tt<0||tt>4)throw new Error(`log verbosity level is not valid: ${tt}`);let lt=typeof Ee.optimizedModelFilePath=="string"?Sr(Ee.optimizedModelFilePath,Oe):0;if(be=he._OrtCreateSessionOptions(ze,!!Ee.enableCpuMemArena,!!Ee.enableMemPattern,Pe,!!Ee.enableProfiling,0,Re,Ue,tt,lt),be===0&&Ot("Can't create session options."),Ee.executionProviders&&await Fo(be,Ee,Oe),Ee.enableGraphCapture!==void 0){if(typeof Ee.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${Ee.enableGraphCapture}`);Dn(be,"enableGraphCapture",Ee.enableGraphCapture.toString(),Oe)}if(Ee.freeDimensionOverrides)for(let[nt,Je]of Object.entries(Ee.freeDimensionOverrides)){if(typeof nt!="string")throw new Error(`free dimension override name must be a string: ${nt}`);if(typeof Je!="number"||!Number.isInteger(Je)||Je<0)throw new Error(`free dimension override value must be a non-negative integer: ${Je}`);let Nt=Sr(nt,Oe);he._OrtAddFreeDimensionOverride(be,Nt,Je)!==0&&Ot(`Can't set a free dimension override: ${nt} - ${Je}.`)}return Ee.extra!==void 0&&ai(Ee.extra,"",new WeakSet,(nt,Je)=>{Dn(be,nt,Je,Oe)}),[be,Oe]}catch(ze){throw be!==0&&he._OrtReleaseSessionOptions(be)!==0&&Ot("Can't release session options."),Oe.forEach(Pe=>he._free(Pe)),ze}}}),oi,kn,bn,jt,Se,it,_t,lr,mt=u(()=>{oi=ae=>{switch(ae){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${ae}`)}},kn=ae=>{switch(ae){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${ae}`)}},bn=(ae,he)=>{let be=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][ae],Oe=typeof he=="number"?he:he.reduce((Ee,ze)=>Ee*ze,1);return be>0?Math.ceil(Oe*be):void 0},jt=ae=>{switch(ae){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"bool":return Uint8Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${ae}`)}},Se=ae=>{switch(ae){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${ae}`)}},it=ae=>ae==="float32"||ae==="float16"||ae==="int32"||ae==="int64"||ae==="uint32"||ae==="uint8"||ae==="bool"||ae==="uint4"||ae==="int4",_t=ae=>ae==="float32"||ae==="float16"||ae==="int32"||ae==="int64"||ae==="uint32"||ae==="uint64"||ae==="int8"||ae==="uint8"||ae==="bool"||ae==="uint4"||ae==="int4",lr=ae=>{switch(ae){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${ae}`)}}}),fr,an=u(()=>{vt(),fr=async ae=>{if(typeof ae=="string"){let he=await fetch(ae);if(!he.ok)throw new Error(`failed to load external data file: ${ae}`);let be=he.headers.get("Content-Length"),Oe=be?parseInt(be,10):0;if(Oe<1073741824)return new Uint8Array(await he.arrayBuffer());{if(!he.body)throw new Error(`failed to load external data file: ${ae}, no response body.`);let Ee=he.body.getReader(),ze;try{ze=new ArrayBuffer(Oe)}catch(Re){if(Re instanceof RangeError){let Ue=Math.ceil(Oe/65536);ze=new WebAssembly.Memory({initial:Ue,maximum:Ue}).buffer}else throw Re}let Pe=0;for(;;){let{done:Re,value:Ue}=await Ee.read();if(Re)break;let tt=Ue.byteLength;new Uint8Array(ze,Pe,tt).set(Ue),Pe+=tt}return new Uint8Array(ze,0,Oe)}}else return ae instanceof Blob?new Uint8Array(await ae.arrayBuffer()):ae instanceof Uint8Array?ae:new Uint8Array(ae)}}),Yn,Jn,hs,Rr,ps,Is,hr,ms,Uo,na,Qe,Ds,Tc,Tl=u(()=>{mr(),zo(),Yr(),mt(),bi(),ta(),an(),Yn=(ae,he)=>{Kt()._OrtInit(ae,he)!==0&&Ot("Can't initialize onnxruntime.")},Jn=async ae=>{Yn(ae.wasm.numThreads,Se(ae.logLevel))},hs=async(ae,he)=>{var Oe,Ee;(Ee=(Oe=Kt()).asyncInit)==null||Ee.call(Oe);let be=ae.webgpu.adapter;if(he==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");if(be){if(typeof be.limits!="object"||typeof be.features!="object"||typeof be.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let ze=ae.webgpu.powerPreference;if(ze!==void 0&&ze!=="low-power"&&ze!=="high-performance")throw new Error(`Invalid powerPreference setting: "${ze}"`);let Pe=ae.webgpu.forceFallbackAdapter;if(Pe!==void 0&&typeof Pe!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${Pe}"`);if(be=await navigator.gpu.requestAdapter({powerPreference:ze,forceFallbackAdapter:Pe}),!be)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}}if(he==="webnn"&&(typeof navigator>"u"||!navigator.ml))throw new Error("WebNN is not supported in current environment")},Rr=new Map,ps=ae=>{let he=Kt(),be=he.stackSave();try{let Oe=he.PTR_SIZE,Ee=he.stackAlloc(2*Oe);he._OrtGetInputOutputCount(ae,Ee,Ee+Oe)!==0&&Ot("Can't get session input/output count.");let ze=Oe===4?"i32":"i64";return[Number(he.getValue(Ee,ze)),Number(he.getValue(Ee+Oe,ze))]}finally{he.stackRestore(be)}},Is=(ae,he)=>{let be=Kt(),Oe=be.stackSave(),Ee=0;try{let ze=be.PTR_SIZE,Pe=be.stackAlloc(2*ze);be._OrtGetInputOutputMetadata(ae,he,Pe,Pe+ze)!==0&&Ot("Can't get session input/output metadata.");let Re=Number(be.getValue(Pe,"*"));Ee=Number(be.getValue(Pe+ze,"*"));let Ue=be.HEAP32[Ee/4];if(Ue===0)return[Re,0];let tt=be.HEAPU32[Ee/4+1],lt=[];for(let nt=0;nt<tt;nt++){let Je=Number(be.getValue(Ee+8+nt*ze,"*"));lt.push(Je!==0?be.UTF8ToString(Je):Number(be.getValue(Ee+8+(nt+tt)*ze,"*")))}return[Re,Ue,lt]}finally{be.stackRestore(Oe),Ee!==0&&be._OrtFree(Ee)}},hr=ae=>{let he=Kt(),be=he._malloc(ae.byteLength);if(be===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${ae.byteLength}.`);return he.HEAPU8.set(ae,be),[be,ae.byteLength]},ms=async(ae,he)=>{var lt,nt,Je;let be,Oe,Ee=Kt();Array.isArray(ae)?[be,Oe]=ae:ae.buffer===Ee.HEAPU8.buffer?[be,Oe]=[ae.byteOffset,ae.byteLength]:[be,Oe]=hr(ae);let ze=0,Pe=0,Re=[],Ue=[],tt=[];try{if([Pe,Re]=await jl(he),(he==null?void 0:he.externalData)&&Ee.mountExternalData){let Hr=[];for(let yr of he.externalData){let Ln=typeof yr=="string"?yr:yr.path;Hr.push(fr(typeof yr=="string"?yr:yr.data).then(ci=>{Ee.mountExternalData(Ln,ci)}))}await Promise.all(Hr)}for(let Hr of(he==null?void 0:he.executionProviders)??[])if((typeof Hr=="string"?Hr:Hr.name)==="webnn"){if(Ee.shouldTransferToMLTensor=!1,typeof Hr!="string"){let yr=Hr,Ln=yr==null?void 0:yr.context,ci=yr==null?void 0:yr.gpuDevice,wi=yr==null?void 0:yr.deviceType,$l=yr==null?void 0:yr.powerPreference;Ln?Ee.currentContext=Ln:ci?Ee.currentContext=await Ee.webnnCreateMLContext(ci):Ee.currentContext=await Ee.webnnCreateMLContext({deviceType:wi,powerPreference:$l})}else Ee.currentContext=await Ee.webnnCreateMLContext();break}ze=await Ee._OrtCreateSession(be,Oe,Pe),(lt=Ee.webgpuOnCreateSession)==null||lt.call(Ee,ze),ze===0&&Ot("Can't create a session."),(nt=Ee.jsepOnCreateSession)==null||nt.call(Ee),Ee.currentContext&&(Ee.webnnRegisterMLContext(ze,Ee.currentContext),Ee.currentContext=void 0,Ee.shouldTransferToMLTensor=!0);let[Nt,Be]=ps(ze),pt=!!(he!=null&&he.enableGraphCapture),Br=[],nr=[],ir=[],zr=[],Ft=[];for(let Hr=0;Hr<Nt;Hr++){let[yr,Ln,ci]=Is(ze,Hr);yr===0&&Ot("Can't get an input name."),Ue.push(yr);let wi=Ee.UTF8ToString(yr);Br.push(wi),ir.push(Ln===0?{name:wi,isTensor:!1}:{name:wi,isTensor:!0,type:kn(Ln),shape:ci})}for(let Hr=0;Hr<Be;Hr++){let[yr,Ln,ci]=Is(ze,Hr+Nt);yr===0&&Ot("Can't get an output name."),tt.push(yr);let wi=Ee.UTF8ToString(yr);nr.push(wi),zr.push(Ln===0?{name:wi,isTensor:!1}:{name:wi,isTensor:!0,type:kn(Ln),shape:ci})}return Rr.set(ze,[ze,Ue,tt,null,pt,!1]),[ze,Br,nr,ir,zr]}catch(Nt){throw Ue.forEach(Be=>Ee._OrtFree(Be)),tt.forEach(Be=>Ee._OrtFree(Be)),ze!==0&&Ee._OrtReleaseSession(ze)!==0&&Ot("Can't release session."),Nt}finally{Ee._free(be),Pe!==0&&Ee._OrtReleaseSessionOptions(Pe)!==0&&Ot("Can't release session options."),Re.forEach(Nt=>Ee._free(Nt)),(Je=Ee.unmountExternalData)==null||Je.call(Ee)}},Uo=ae=>{var Ue,tt,lt;let he=Kt(),be=Rr.get(ae);if(!be)throw new Error(`cannot release session. invalid session id: ${ae}`);let[Oe,Ee,ze,Pe,Re]=be;Pe&&(Re&&he._OrtClearBoundOutputs(Pe.handle)!==0&&Ot("Can't clear bound outputs."),he._OrtReleaseBinding(Pe.handle)!==0&&Ot("Can't release IO binding.")),(Ue=he.jsepOnReleaseSession)==null||Ue.call(he,ae),(tt=he.webnnOnReleaseSession)==null||tt.call(he,ae),(lt=he.webgpuOnReleaseSession)==null||lt.call(he,ae),Ee.forEach(nt=>he._OrtFree(nt)),ze.forEach(nt=>he._OrtFree(nt)),he._OrtReleaseSession(Oe)!==0&&Ot("Can't release session."),Rr.delete(ae)},na=async(ae,he,be,Oe,Ee,ze,Pe=!1)=>{if(!ae){he.push(0);return}let Re=Kt(),Ue=Re.PTR_SIZE,tt=ae[0],lt=ae[1],nt=ae[3],Je=nt,Nt,Be;if(tt==="string"&&(nt==="gpu-buffer"||nt==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(Pe&&nt!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${ze} when enableGraphCapture is true.`);if(nt==="gpu-buffer"){let nr=ae[2].gpuBuffer;Be=bn(oi(tt),lt);{let ir=Re.jsepRegisterBuffer;if(!ir)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');Nt=ir(Oe,ze,nr,Be)}}else if(nt==="ml-tensor"){let nr=ae[2].mlTensor;Be=bn(oi(tt),lt);let ir=Re.webnnRegisterMLTensor;if(!ir)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');Nt=ir(Oe,nr,oi(tt),lt)}else{let nr=ae[2];if(Array.isArray(nr)){Be=Ue*nr.length,Nt=Re._malloc(Be),be.push(Nt);for(let ir=0;ir<nr.length;ir++){if(typeof nr[ir]!="string")throw new TypeError(`tensor data at index ${ir} is not a string`);Re.setValue(Nt+ir*Ue,Sr(nr[ir],be),"*")}}else{let ir=Re.webnnIsGraphInput,zr=Re.webnnIsGraphOutput;if(tt!=="string"&&ir&&zr){let Ft=Re.UTF8ToString(Ee);if(ir(Oe,Ft)||zr(Oe,Ft)){let Hr=oi(tt);Be=bn(Hr,lt),Je="ml-tensor";let yr=Re.webnnCreateTemporaryTensor,Ln=Re.webnnUploadTensor;if(!yr||!Ln)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');let ci=await yr(Oe,Hr,lt);Ln(ci,new Uint8Array(nr.buffer,nr.byteOffset,nr.byteLength)),Nt=ci}else Be=nr.byteLength,Nt=Re._malloc(Be),be.push(Nt),Re.HEAPU8.set(new Uint8Array(nr.buffer,nr.byteOffset,Be),Nt)}else Be=nr.byteLength,Nt=Re._malloc(Be),be.push(Nt),Re.HEAPU8.set(new Uint8Array(nr.buffer,nr.byteOffset,Be),Nt)}}let pt=Re.stackSave(),Br=Re.stackAlloc(4*lt.length);try{lt.forEach((ir,zr)=>Re.setValue(Br+zr*Ue,ir,Ue===4?"i32":"i64"));let nr=Re._OrtCreateTensor(oi(tt),Nt,Be,Br,lt.length,lr(Je));nr===0&&Ot(`Can't create tensor for input/output. session=${Oe}, index=${ze}.`),he.push(nr)}finally{Re.stackRestore(pt)}},Qe=async(ae,he,be,Oe,Ee,ze)=>{var _i,Pc,zu;let Pe=Kt(),Re=Pe.PTR_SIZE,Ue=Rr.get(ae);if(!Ue)throw new Error(`cannot run inference. invalid session id: ${ae}`);let tt=Ue[0],lt=Ue[1],nt=Ue[2],Je=Ue[3],Nt=Ue[4];Ue[5];let Be=he.length,pt=Oe.length,Br=0,nr=[],ir=[],zr=[],Ft=[],Hr=[],yr=Pe.stackSave(),Ln=Pe.stackAlloc(Be*Re),ci=Pe.stackAlloc(Be*Re),wi=Pe.stackAlloc(pt*Re),$l=Pe.stackAlloc(pt*Re);try{[Br,nr]=Ca(ze),ut("wasm prepareInputOutputTensor");for(let pr=0;pr<Be;pr++)await na(be[pr],ir,Ft,ae,lt[he[pr]],he[pr],Nt);for(let pr=0;pr<pt;pr++)await na(Ee[pr],zr,Ft,ae,nt[Oe[pr]],Be+Oe[pr],Nt);dt("wasm prepareInputOutputTensor");for(let pr=0;pr<Be;pr++)Pe.setValue(Ln+pr*Re,ir[pr],"*"),Pe.setValue(ci+pr*Re,lt[he[pr]],"*");for(let pr=0;pr<pt;pr++)Pe.setValue(wi+pr*Re,zr[pr],"*"),Pe.setValue($l+pr*Re,nt[Oe[pr]],"*");(_i=Pe.jsepOnRunStart)==null||_i.call(Pe,tt),(Pc=Pe.webnnOnRunStart)==null||Pc.call(Pe,tt);let Bn;Bn=await Pe._OrtRun(tt,ci,Ln,Be,$l,pt,wi,Br),Bn!==0&&Ot("failed to call OrtRun().");let Bs=[],Fu=[];ut("wasm ProcessOutputTensor");for(let pr=0;pr<pt;pr++){let ys=Number(Pe.getValue(wi+pr*Re,"*"));if(ys===zr[pr]||Hr.includes(zr[pr])){Bs.push(Ee[pr]),ys!==zr[pr]&&Pe._OrtReleaseTensor(ys)!==0&&Ot("Can't release tensor.");continue}let xf=Pe.stackSave(),oa=Pe.stackAlloc(4*Re),Wo=!1,Cn,Si=0;try{Pe._OrtGetTensorData(ys,oa,oa+Re,oa+2*Re,oa+3*Re)!==0&&Ot(`Can't access output tensor data on index ${pr}.`);let Rc=Re===4?"i32":"i64",ki=Number(Pe.getValue(oa,Rc));Si=Pe.getValue(oa+Re,"*");let Uu=Pe.getValue(oa+Re*2,"*"),wf=Number(Pe.getValue(oa+Re*3,Rc)),la=[];for(let En=0;En<wf;En++)la.push(Number(Pe.getValue(Uu+En*Re,Rc)));Pe._OrtFree(Uu)!==0&&Ot("Can't free memory for tensor dims.");let bs=la.reduce((En,on)=>En*on,1);Cn=kn(ki);let zs=Je==null?void 0:Je.outputPreferredLocations[Oe[pr]];if(Cn==="string"){if(zs==="gpu-buffer"||zs==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let En=[];for(let on=0;on<bs;on++){let xs=Pe.getValue(Si+on*Re,"*"),qu=Pe.getValue(Si+(on+1)*Re,"*"),Wu=on===bs-1?void 0:qu-xs;En.push(Pe.UTF8ToString(xs,Wu))}Bs.push([Cn,la,En,"cpu"])}else if(zs==="gpu-buffer"&&bs>0){let En=Pe.jsepGetBuffer;if(!En)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let on=En(Si),xs=bn(ki,bs);if(xs===void 0||!it(Cn))throw new Error(`Unsupported data type: ${Cn}`);Wo=!0,Bs.push([Cn,la,{gpuBuffer:on,download:Pe.jsepCreateDownloader(on,xs,Cn),dispose:()=>{Pe._OrtReleaseTensor(ys)!==0&&Ot("Can't release tensor.")}},"gpu-buffer"])}else if(zs==="ml-tensor"&&bs>0){let En=Pe.webnnEnsureTensor,on=Pe.webnnIsGraphInputOutputTypeSupported;if(!En||!on)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(bn(ki,bs)===void 0||!_t(Cn))throw new Error(`Unsupported data type: ${Cn}`);if(!on(ae,Cn,!1))throw new Error(`preferredLocation "ml-tensor" for ${Cn} output is not supported by current WebNN Context.`);let xs=await En(ae,Si,ki,la,!1);Wo=!0,Bs.push([Cn,la,{mlTensor:xs,download:Pe.webnnCreateMLTensorDownloader(Si,Cn),dispose:()=>{Pe.webnnReleaseTensorId(Si),Pe._OrtReleaseTensor(ys)}},"ml-tensor"])}else if(zs==="ml-tensor-cpu-output"&&bs>0){let En=Pe.webnnCreateMLTensorDownloader(Si,Cn)(),on=Bs.length;Wo=!0,Fu.push((async()=>{let xs=[on,await En];return Pe.webnnReleaseTensorId(Si),Pe._OrtReleaseTensor(ys),xs})()),Bs.push([Cn,la,[],"cpu"])}else{let En=jt(Cn),on=new En(bs);new Uint8Array(on.buffer,on.byteOffset,on.byteLength).set(Pe.HEAPU8.subarray(Si,Si+on.byteLength)),Bs.push([Cn,la,on,"cpu"])}}finally{Pe.stackRestore(xf),Cn==="string"&&Si&&Pe._free(Si),Wo||Pe._OrtReleaseTensor(ys)}}Je&&!Nt&&(Pe._OrtClearBoundOutputs(Je.handle)!==0&&Ot("Can't clear bound outputs."),Rr.set(ae,[tt,lt,nt,Je,Nt,!1]));for(let[pr,ys]of await Promise.all(Fu))Bs[pr][2]=ys;return dt("wasm ProcessOutputTensor"),Bs}finally{(zu=Pe.webnnOnRunEnd)==null||zu.call(Pe,tt),Pe.stackRestore(yr),ir.forEach(Bn=>Pe._OrtReleaseTensor(Bn)),zr.forEach(Bn=>Pe._OrtReleaseTensor(Bn)),Ft.forEach(Bn=>Pe._free(Bn)),Br!==0&&Pe._OrtReleaseRunOptions(Br),nr.forEach(Bn=>Pe._free(Bn))}},Ds=ae=>{let he=Kt(),be=Rr.get(ae);if(!be)throw new Error("invalid session id");let Oe=be[0],Ee=he._OrtEndProfiling(Oe);Ee===0&&Ot("Can't get an profile file name."),he._OrtFree(Ee)},Tc=ae=>{let he=[];for(let be of ae){let Oe=be[2];!Array.isArray(Oe)&&"buffer"in Oe&&he.push(Oe.buffer)}return he}}),gr,zt,ia,Ea,ja,eo,qo,to,ts,li,gs,vs,Ta,ro,Ls,bf,no,io,Du=u(()=>{mr(),Tl(),bi(),pn(),gr=()=>!!O.wasm.proxy&&typeof document<"u",ia=!1,Ea=!1,ja=!1,to=new Map,ts=(ae,he)=>{let be=to.get(ae);be?be.push(he):to.set(ae,[he])},li=()=>{if(ia||!Ea||ja||!zt)throw new Error("worker not ready")},gs=ae=>{switch(ae.data.type){case"init-wasm":ia=!1,ae.data.err?(ja=!0,qo[1](ae.data.err)):(Ea=!0,qo[0]()),eo&&(URL.revokeObjectURL(eo),eo=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let he=to.get(ae.data.type);ae.data.err?he.shift()[1](ae.data.err):he.shift()[0](ae.data.out);break}}},vs=async()=>{if(!Ea){if(ia)throw new Error("multiple calls to 'initWasm()' detected.");if(ja)throw new Error("previous call to 'initWasm()' failed.");if(ia=!0,gr())return new Promise((ae,he)=>{zt==null||zt.terminate(),Xr().then(([be,Oe])=>{try{zt=Oe,zt.onerror=ze=>he(ze),zt.onmessage=gs,qo=[ae,he];let Ee={type:"init-wasm",in:O};if(!Ee.in.wasm.wasmPaths&&be){let ze=si();ze&&(Ee.in.wasm.wasmPaths=ze)}zt.postMessage(Ee),eo=be}catch(Ee){he(Ee)}},he)});try{await ds(O.wasm),await Jn(O),Ea=!0}catch(ae){throw ja=!0,ae}finally{ia=!1}}},Ta=async ae=>{if(gr())return li(),new Promise((he,be)=>{ts("init-ep",[he,be]);let Oe={type:"init-ep",in:{epName:ae,env:O}};zt.postMessage(Oe)});await hs(O,ae)},ro=async ae=>gr()?(li(),new Promise((he,be)=>{ts("copy-from",[he,be]);let Oe={type:"copy-from",in:{buffer:ae}};zt.postMessage(Oe,[ae.buffer])})):hr(ae),Ls=async(ae,he)=>{if(gr()){if(he!=null&&he.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return li(),new Promise((be,Oe)=>{ts("create",[be,Oe]);let Ee={type:"create",in:{model:ae,options:{...he}}},ze=[];ae instanceof Uint8Array&&ze.push(ae.buffer),zt.postMessage(Ee,ze)})}else return ms(ae,he)},bf=async ae=>{if(gr())return li(),new Promise((he,be)=>{ts("release",[he,be]);let Oe={type:"release",in:ae};zt.postMessage(Oe)});Uo(ae)},no=async(ae,he,be,Oe,Ee,ze)=>{if(gr()){if(be.some(Pe=>Pe[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(Ee.some(Pe=>Pe))throw new Error("pre-allocated output tensor is not supported for proxy.");return li(),new Promise((Pe,Re)=>{ts("run",[Pe,Re]);let Ue=be,tt={type:"run",in:{sessionId:ae,inputIndices:he,inputs:Ue,outputIndices:Oe,options:ze}};zt.postMessage(tt,Tc(Ue))})}else return Qe(ae,he,be,Oe,Ee,ze)},io=async ae=>{if(gr())return li(),new Promise((he,be)=>{ts("end-profiling",[he,be]);let Oe={type:"end-profiling",in:ae};zt.postMessage(Oe)});Ds(ae)}}),Ac,so,Al,$c=u(()=>{mr(),Du(),mt(),vt(),an(),Ac=(ae,he)=>{switch(ae.location){case"cpu":return[ae.type,ae.dims,ae.data,"cpu"];case"gpu-buffer":return[ae.type,ae.dims,{gpuBuffer:ae.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[ae.type,ae.dims,{mlTensor:ae.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${ae.location} for ${he()}`)}},so=ae=>{switch(ae[3]){case"cpu":return new xe(ae[0],ae[2],ae[1]);case"gpu-buffer":{let he=ae[0];if(!it(he))throw new Error(`not supported data type: ${he} for deserializing GPU tensor`);let{gpuBuffer:be,download:Oe,dispose:Ee}=ae[2];return xe.fromGpuBuffer(be,{dataType:he,dims:ae[1],download:Oe,dispose:Ee})}case"ml-tensor":{let he=ae[0];if(!_t(he))throw new Error(`not supported data type: ${he} for deserializing MLTensor tensor`);let{mlTensor:be,download:Oe,dispose:Ee}=ae[2];return xe.fromMLTensor(be,{dataType:he,dims:ae[1],download:Oe,dispose:Ee})}default:throw new Error(`invalid data location: ${ae[3]}`)}},Al=class{async fetchModelAndCopyToWasmMemory(ae){return ro(await fr(ae))}async loadModel(ae,he){Le();let be;typeof ae=="string"?be=await this.fetchModelAndCopyToWasmMemory(ae):be=ae,[this.sessionId,this.inputNames,this.outputNames,this.inputMetadata,this.outputMetadata]=await Ls(be,he),Ze()}async dispose(){return bf(this.sessionId)}async run(ae,he,be){Le();let Oe=[],Ee=[];Object.entries(ae).forEach(nt=>{let Je=nt[0],Nt=nt[1],Be=this.inputNames.indexOf(Je);if(Be===-1)throw new Error(`invalid input '${Je}'`);Oe.push(Nt),Ee.push(Be)});let ze=[],Pe=[];Object.entries(he).forEach(nt=>{let Je=nt[0],Nt=nt[1],Be=this.outputNames.indexOf(Je);if(Be===-1)throw new Error(`invalid output '${Je}'`);ze.push(Nt),Pe.push(Be)});let Re=Oe.map((nt,Je)=>Ac(nt,()=>`input "${this.inputNames[Ee[Je]]}"`)),Ue=ze.map((nt,Je)=>nt?Ac(nt,()=>`output "${this.outputNames[Pe[Je]]}"`):null),tt=await no(this.sessionId,Ee,Re,Pe,Ue,be),lt={};for(let nt=0;nt<tt.length;nt++)lt[this.outputNames[Pe[nt]]]=ze[nt]??so(tt[nt]);return Ze(),lt}startProfiling(){}endProfiling(){io(this.sessionId)}}}),sa={};f(sa,{OnnxruntimeWebAssemblyBackend:()=>aa,initializeFlags:()=>Aa,wasmBackend:()=>ao});var Aa,aa,ao,Lu=u(()=>{mr(),Du(),$c(),Aa=()=>{(typeof O.wasm.initTimeout!="number"||O.wasm.initTimeout<0)&&(O.wasm.initTimeout=0);let ae=O.wasm.simd;if(typeof ae!="boolean"&&ae!==void 0&&ae!=="fixed"&&ae!=="relaxed"&&(console.warn(`Property "env.wasm.simd" is set to unknown value "${ae}". Reset it to \`false\` and ignore SIMD feature checking.`),O.wasm.simd=!1),typeof O.wasm.proxy!="boolean"&&(O.wasm.proxy=!1),typeof O.wasm.trace!="boolean"&&(O.wasm.trace=!1),typeof O.wasm.numThreads!="number"||!Number.isInteger(O.wasm.numThreads)||O.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)O.wasm.numThreads=1;else{let he=typeof navigator>"u"?o("node:os").cpus().length:navigator.hardwareConcurrency;O.wasm.numThreads=Math.min(4,Math.ceil((he||1)/2))}},aa=class{async init(ae){Aa(),await vs(),await Ta(ae)}async createInferenceSessionHandler(ae,he){let be=new Al;return await be.loadModel(ae,he),be}},ao=new aa}),Bu={};f(Bu,{InferenceSession:()=>cr,TRACE:()=>Me,TRACE_EVENT_BEGIN:()=>ut,TRACE_EVENT_END:()=>dt,TRACE_FUNC_BEGIN:()=>Le,TRACE_FUNC_END:()=>Ze,Tensor:()=>xe,default:()=>Nc,env:()=>O,registerBackend:()=>k}),mr(),mr(),mr();var Oc="1.26.0",Nc=Kn;{let ae=(Lu(),h(sa)).wasmBackend;k("cpu",ae,10),k("wasm",ae,10)}return Object.defineProperty(O.versions,"web",{value:Oc,enumerable:!0}),h(Bu)})();e.exports=n})(o1)),o1.exports}var q$;function AU(){return q$||(q$=1,(function(e){var r=Zl&&Zl.__createBinding||(Object.create?(function(C,T,j,A){A===void 0&&(A=j);var N=Object.getOwnPropertyDescriptor(T,j);(!N||("get"in N?!T.__esModule:N.writable||N.configurable))&&(N={enumerable:!0,get:function(){return T[j]}}),Object.defineProperty(C,A,N)}):(function(C,T,j,A){A===void 0&&(A=j),C[A]=T[j]})),n=Zl&&Zl.__setModuleDefault||(Object.create?(function(C,T){Object.defineProperty(C,"default",{enumerable:!0,value:T})}):function(C,T){C.default=T}),i=Zl&&Zl.__importStar||function(C){if(C&&C.__esModule)return C;var T={};if(C!=null)for(var j in C)j!=="default"&&Object.prototype.hasOwnProperty.call(C,j)&&r(T,C,j);return n(T,C),T};Object.defineProperty(e,"__esModule",{value:!0}),e.MicVAD=e.getDefaultRealTimeVADOptions=e.ort=e.DEFAULT_MODEL=void 0;const s=i(TU()),a=yT(),l=bT(),o=Wy(),u=Vw(),f=F5(),m=U5();e.DEFAULT_MODEL="legacy",e.ort=s;const h="vad.worklet.bundle.min.js",y="silero_vad_v5.onnx",x="silero_vad_legacy.onnx",k=C=>({...l.defaultFrameProcessorOptions,onFrameProcessed:()=>{},onVADMisfire:()=>{o.log.debug("VAD misfire")},onSpeechStart:()=>{o.log.debug("Detected speech start")},onSpeechEnd:()=>{o.log.debug("Detected speech end")},onSpeechRealStart:()=>{o.log.debug("Detected real speech start")},baseAssetPath:"./",onnxWASMBasePath:"./",model:C,workletOptions:{},getStream:async()=>await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}}),pauseStream:async T=>{T.getTracks().forEach(j=>{j.stop()})},resumeStream:async()=>await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0}}),ortConfig:T=>{T.env.logLevel="error"},startOnLoad:!0,processorType:"auto"});e.getDefaultRealTimeVADOptions=k;const _=C=>"audioWorklet"in C&&typeof AudioWorkletNode=="function"?"AudioWorklet":"ScriptProcessor";async function b(C,T,j,A,N){await j.audioWorklet.addModule(C),T.processorOptions={...T.processorOptions??{},frameSamples:A};const O=new AudioWorkletNode(j,"vad-helper-worklet",T);return O.port.onmessage=async I=>{const W=I.data;if(!(typeof W=="object"&&W&&"message"in W)){console.error("Invalid message event",W);return}switch(W.message){case u.Message.AudioFrame:{if(!("data"in W&&W.data instanceof ArrayBuffer)){console.log("Audio frame message has no data");return}const G=new Float32Array(W.data);await N(G);break}}},O}async function w(C,T,j){const A=new m.Resampler({nativeSampleRate:C.sampleRate,targetSampleRate:16e3,targetFrameSize:T});o.log.debug("using script processor");const O=C.createScriptProcessor(4096,1,1);let I=!1;return O.onaudioprocess=async W=>{if(!I){I=!0;try{const G=W.inputBuffer.getChannelData(0);W.outputBuffer.getChannelData(0).fill(0);const F=A.process(G);for(const z of F)await j(z)}catch(G){console.error("Error processing audio:",G)}finally{I=!1}}},O.connect(C.destination),O}class S{constructor(T,j,A,N,O=!1,I=null,W=null,G=null,V=null,F=null,z=null,H="uninitialized",X=!1){this.options=T,this.frameProcessor=j,this.model=A,this.frameSamples=N,this.listening=O,this.errored=I,this._stream=W,this._audioContext=G,this._vadNode=V,this._mediaStreamAudioSourceNode=F,this._audioProcessorAdapterType=z,this.initializationState=H,this.ownsAudioContext=X,this.getAudioInstances=()=>{if(this._stream===null||this._audioContext===null||this._vadNode==null||this._mediaStreamAudioSourceNode==null)throw new Error("MicVAD has null stream, audio context, or processor adapter");return{stream:this._stream,audioContext:this._audioContext,vadNode:this._vadNode,mediaStreamAudioSourceNode:this._mediaStreamAudioSourceNode}},this.setErrored=se=>{this.initializationState="errored",this.errored=se},this.start=async()=>{switch(this.initializationState){case"uninitialized":{o.log.debug("initializing micVAD"),this.initializationState="initializing",this.frameProcessor.resume();try{this._stream=await this.options.getStream()}catch(se){throw se instanceof Error?this.setErrored(se.message):this.setErrored(String(se)),se}if(this.options.audioContext?(console.log("using custom audio context"),this._audioContext=this.options.audioContext):(console.log("using default audio context"),this._audioContext=new AudioContext,this.ownsAudioContext=!0),!this._audioContext)throw this.setErrored("Audio context is null"),Error("Audio context is null");switch(this._audioProcessorAdapterType=this.options.processorType=="auto"?_(this._audioContext):this.options.processorType,this._audioProcessorAdapterType){case"AudioWorklet":this._vadNode=await b(this.options.baseAssetPath+h,this.options.workletOptions,this._audioContext,this.frameSamples,this.processFrame);break;case"ScriptProcessor":this._vadNode=await w(this._audioContext,this.frameSamples,this.processFrame);break;default:throw new Error(`Unsupported audio processor adapter type: ${this._audioProcessorAdapterType}`)}this._mediaStreamAudioSourceNode=new MediaStreamAudioSourceNode(this._audioContext,{mediaStream:this._stream}),this._mediaStreamAudioSourceNode.connect(this._vadNode),o.log.debug("started micVAD"),this.listening=!0,this.initializationState="initialized";break}case"initializing":{o.log.warn("start called while initializing");break}case"initialized":{if(this.listening)return;this.listening=!0,this.frameProcessor.resume();const{stream:se,audioContext:oe,vadNode:Q}=this.getAudioInstances();this._stream=await this.options.resumeStream(se);const ee=new MediaStreamAudioSourceNode(oe,{mediaStream:this._stream});this._mediaStreamAudioSourceNode=ee,ee.connect(Q);break}case"destroyed":{o.log.warn("start called after destroyed");break}case"errored":{o.log.error("start called after errored");break}default:{o.log.warn("weird initialization state");break}}},this.pause=async()=>{if(!this.listening)return;this.listening=!1;const{stream:se,mediaStreamAudioSourceNode:oe}=this.getAudioInstances();await this.options.pauseStream(se),oe.disconnect(),this.frameProcessor.pause(this.handleFrameProcessorEvent)},this.destroy=async()=>{var oe;o.log.debug("destroy called"),this.initializationState="destroyed";const{vadNode:se}=this.getAudioInstances();se instanceof AudioWorkletNode&&se.port.postMessage(u.Message.SpeechStop),this.listening&&await this.pause(),await this.model.release(),this.ownsAudioContext&&await((oe=this._audioContext)==null?void 0:oe.close())},this.setOptions=se=>{this.frameProcessor.setOptions(se)},this.processFrame=async se=>{await this.frameProcessor.process(se,this.handleFrameProcessorEvent)},this.handleFrameProcessorEvent=se=>{switch(se.msg){case u.Message.FrameProcessed:this.options.onFrameProcessed(se.probs,se.frame);break;case u.Message.SpeechStart:this.options.onSpeechStart();break;case u.Message.SpeechRealStart:this.options.onSpeechRealStart();break;case u.Message.VADMisfire:this.options.onVADMisfire();break;case u.Message.SpeechEnd:this.options.onSpeechEnd(se.audio);break}}}static async new(T={}){const j={...(0,e.getDefaultRealTimeVADOptions)(T.model??e.DEFAULT_MODEL),...T};(0,l.validateOptions)(j),e.ort.env.wasm.wasmPaths=j.onnxWASMBasePath,j.ortConfig!==void 0&&j.ortConfig(e.ort);const A=j.model==="v5"?y:x,N=j.baseAssetPath+A,O=j.model==="v5"?f.SileroV5.new:f.SileroLegacy.new;let I;try{I=await O(e.ort,()=>(0,a.defaultModelFetcher)(N))}catch(z){throw console.error(`Encountered an error while loading model file ${N}`),z}const W=j.model==="v5"?512:1536,G=W/16,V=new l.FrameProcessor(I.process,I.reset_state,{positiveSpeechThreshold:j.positiveSpeechThreshold,negativeSpeechThreshold:j.negativeSpeechThreshold,redemptionMs:j.redemptionMs,preSpeechPadMs:j.preSpeechPadMs,minSpeechMs:j.minSpeechMs,submitUserSpeechOnPause:j.submitUserSpeechOnPause},G),F=new S(j,V,I,W);if(j.startOnLoad)try{await F.start()}catch(z){throw console.error("Error starting micVad",z),z}return F}}e.MicVAD=S})(Zl)),Zl}var W$;function $U(){return W$||(W$=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.getDefaultRealTimeVADOptions=e.MicVAD=e.DEFAULT_MODEL=e.utils=e.NonRealTimeVAD=e.Message=e.FrameProcessor=e.defaultModelFetcher=e.baseAssetPath=void 0;var r=L5();Object.defineProperty(e,"baseAssetPath",{enumerable:!0,get:function(){return r.baseAssetPath}});var n=yT();Object.defineProperty(e,"defaultModelFetcher",{enumerable:!0,get:function(){return n.defaultModelFetcher}});var i=bT();Object.defineProperty(e,"FrameProcessor",{enumerable:!0,get:function(){return i.FrameProcessor}});var s=Vw();Object.defineProperty(e,"Message",{enumerable:!0,get:function(){return s.Message}});var a=EU();Object.defineProperty(e,"NonRealTimeVAD",{enumerable:!0,get:function(){return a.NonRealTimeVAD}});const l=jU();e.utils={audioFileToArray:l.audioFileToArray,minFramesForTargetMS:l.minFramesForTargetMS,arrayBufferToBase64:l.arrayBufferToBase64,encodeWAV:l.encodeWAV};var o=AU();Object.defineProperty(e,"DEFAULT_MODEL",{enumerable:!0,get:function(){return o.DEFAULT_MODEL}}),Object.defineProperty(e,"MicVAD",{enumerable:!0,get:function(){return o.MicVAD}}),Object.defineProperty(e,"getDefaultRealTimeVADOptions",{enumerable:!0,get:function(){return o.getDefaultRealTimeVADOptions}})})(i1)),i1}var OU=$U();function cx(e,r,n,i){var a,l;try{(l=(a=window.api)==null?void 0:a.logs)==null||l.write(e,r,n,i)}catch{}const s=r==="error"?console.error:r==="warn"?console.warn:console.log;i!==void 0?s(`[${e}]`,n,i):s(`[${e}]`,n)}const gt={debug:(e,r,n)=>cx(e,"debug",r,n),info:(e,r,n)=>cx(e,"info",r,n),warn:(e,r,n)=>cx(e,"warn",r,n),error:(e,r,n)=>cx(e,"error",r,n)},W5=16e3,NU=6,Qh=W5*NU,PU=400,RU=W5*PU/1e3,H$=300,G$=2e3,V$=1500,K$=3e3,MU=600,H5=.5,G5=.35,X$=.85,Y$=.7;let Js=null,vl=!1,As=!1;const sE=new Set;function ux(e){for(const r of Array.from(sE))try{r(e)}catch(n){gt.warn("speech","workerDeath listener threw",{error:n instanceof Error?n.message:String(n)})}}let l1=0;const J$=2;let yp=!1,V5=!1;function K5(e){e.addEventListener("message",r=>{var i;if(((i=r.data)==null?void 0:i.type)!=="log")return;const n=r.data.level||"info";gt[n]("whisperWorker",r.data.message??"",r.data.meta)}),e.addEventListener("error",r=>{gt.error("whisperWorker","worker error event (fatal)",{message:r.message,filename:r.filename,lineno:r.lineno}),IU(`error:${r.message||"unknown"}`)})}function b0(){return Js||(Js=new Worker(new URL(""+new URL("whisperWorker-Dbia1OpC.js",import.meta.url).href,import.meta.url),{type:"module"}),K5(Js),gt.info("speech","worker spawned"),Js)}let dx=!1;function IU(e){if(!yp){if(dx){gt.warn("speech","respawnWorker: already in flight, ignoring",{reason:e});return}if(dx=!0,l1+=1,V5=!0,gt.warn("speech","respawnWorker: starting",{reason:e,attempt:l1}),ux({reason:e,respawned:!1,finalOnly:!0}),l1>J$){if(yp=!0,gt.error("speech","respawnWorker: limit exceeded, disabling speech",{limit:J$}),Js)try{Js.terminate()}catch{}Js=null,vl=!1,As=!1,ux({reason:"respawn-limit-exceeded",respawned:!1,finalOnly:!0}),dx=!1;return}if(Js)try{Js.terminate()}catch{}Js=null,vl=!1,As=!1;try{Js=new Worker(new URL(""+new URL("whisperWorker-Dbia1OpC.js",import.meta.url).href,import.meta.url),{type:"module"}),K5(Js),As=!0,Js.postMessage({type:"load"}),gt.info("speech","respawnWorker: new worker spawned, load posted"),ux({reason:e,respawned:!0,finalOnly:!0})}catch(r){yp=!0,gt.error("speech","respawnWorker: spawn failed, disabling speech",{error:r instanceof Error?r.message:String(r)}),ux({reason:"spawn-failed",respawned:!1,finalOnly:!0})}finally{dx=!1}}}function DU(e,r){if(vl||As)return;As=!0;const n=b0();gt.info("speech","preloadModel: posting load");const i=s=>{s.data.type==="status"?(e==null||e(s.data.status,s.data.message),s.data.status==="ready"&&(vl=!0,As=!1,gt.info("speech","preloadModel: ready"),n.removeEventListener("message",i))):s.data.type==="progress"?r==null||r(s.data.pct):s.data.type==="error"&&(As=!1,gt.error("speech","preloadModel: worker reported error",{error:s.data.error}),e==null||e("error",s.data.error),n.removeEventListener("message",i))};n.addEventListener("message",i),n.postMessage({type:"load"})}function LU(){gt.info("speech","resetModel: clearing load flags"),vl=!1,As=!1}function xT(){var e;return typeof Worker<"u"&&!!((e=navigator.mediaDevices)!=null&&e.getUserMedia)&&typeof AudioWorkletNode<"u"}function BU(e){const r=b0();return!vl&&!As&&(As=!0,r.postMessage({type:"load"})),new Promise((n,i)=>{const s=a=>{var l,o,u;((l=a.data)==null?void 0:l.type)==="result"?(r.removeEventListener("message",s),n((a.data.text??"").trim())):((o=a.data)==null?void 0:o.type)==="error"?(r.removeEventListener("message",s),i(new Error(String(a.data.error??"Transcription failed")))):((u=a.data)==null?void 0:u.type)==="status"&&a.data.status==="ready"&&(vl=!0,As=!1)};r.addEventListener("message",s),r.postMessage({type:"transcribe",audio:e},[e.buffer])})}function zU(e){let r=b0(),n=!1,i=null,s=null,a=null,l=null,o=null;const u=[],f=new Set;let m=null,h=0,y=!1,x=0,k=!1,_=!1,b=0,w=0,S=0,C=-1,T=H$,j=0,A=null,N="",O="",I=!1,W=0;function G(ce,we){const _e=Math.min(ce.length,we.length);let Ae=0;for(;Ae<_e&&ce.charCodeAt(Ae)===we.charCodeAt(Ae);)Ae++;return Ae}function V(ce){const we=G(N,ce);return N=ce,we>O.length&&(O=ce.slice(0,we)),O.length>ce.length&&(O=ce),O}const F=()=>(m||(m=new Float32Array(Qh)),m),z=()=>{h=0},H=ce=>{const we=F(),_e=ce.length;if(_e>=Qh){we.set(ce.subarray(_e-Qh)),h=Qh;return}if(h+_e<=Qh){we.set(ce,h),h+=_e;return}const Ae=h+_e-Qh;we.copyWithin(0,Ae,h),h-=Ae,we.set(ce,h),h+=_e},X=()=>{A&&(clearTimeout(A),A=null)},se=()=>{X(),y=!1,k=!1,_=!1,T=H$,N="",O="",I=!1,W=0,z()},oe=()=>{if(n||!y||_||k||A)return;if(h<RU){A=setTimeout(()=>{A=null,oe()},T);return}const ce=performance.now()-b;if(ce<T&&b!==0){A=setTimeout(()=>{A=null,oe()},T-ce);return}if(V5||yp||e.partialsEnabled&&!e.partialsEnabled())return;const we=F(),_e=new Float32Array(h);_e.set(we.subarray(0,h)),w+=1,S=w,k=!0,j=performance.now(),b=j,r.postMessage({type:"transcribe-partial",audio:_e,seq:w},[_e.buffer])},Q=ce=>ce.length===0?Promise.resolve():yp?(gt.warn("speech","transcribeAudio: speech disabled (worker respawn limit hit)"),n||e.onError("Speech recognition disabled — please reload the app."),Promise.resolve()):new Promise(we=>{u.push(we),w+=1;const _e=w;C=_e,r.postMessage({type:"transcribe",audio:ce,seq:_e},[ce.buffer])}),ee=ce=>{const we=Q(ce);return f.add(we),we.finally(()=>{f.delete(we)}),we},Y=ce=>{var we,_e,Ae,ve,ie;if(ce.data.type==="result"){const ye=ce.data.text,xe=ce.data.seq??0;xe&&xe<C&&gt.warn("speech","result: seq below latestFinalSeq (delivering anyway)",{seq:xe,latestFinalSeq:C}),!n&&ye&&e.onFinal(ye),(we=u.shift())==null||we()}else if(ce.data.type==="partial"){const ye=ce.data.seq??0,xe=ce.data.text??"",Ge=performance.now()-j;k=!1,Ge>=K$?(_=!0,gt.warn("speech","partials.disabled.budget",{elapsedMs:Math.round(Ge),seq:ye})):Ge>=V$&&(T=Math.min(T*2,G$),gt.warn("speech","partials.slowdown",{elapsedMs:Math.round(Ge),newIntervalMs:T,seq:ye})),I||(I=!0,Ge>MU&&T<500&&(T=500,gt.info("speech","partials.probe.slow_host",{elapsedMs:Math.round(Ge),newIntervalMs:500})));const Me=ye!==S||ye<=C;if(!n&&!Me&&xe){const We=V(xe);We&&((_e=e.onPartial)==null||_e.call(e,We),W===0&&(W=performance.now(),gt.info("speech","partial.first",{msSinceSpeechStart:Math.round(W-x)})))}oe()}else if(ce.data.type==="partial-error"){const ye=performance.now()-j;k=!1,ye>=K$?(_=!0,gt.warn("speech","partials.disabled.budget (after error)",{elapsedMs:Math.round(ye),seq:ce.data.seq})):ye>=V$&&(T=Math.min(T*2,G$),gt.warn("speech","partials.slowdown (after error)",{elapsedMs:Math.round(ye),newIntervalMs:T,seq:ce.data.seq})),gt.warn("speech","partial encode failed",{error:ce.data.error,seq:ce.data.seq}),oe()}else ce.data.type==="error"?(n||e.onError(ce.data.error),(Ae=u.shift())==null||Ae()):ce.data.type==="status"?(n||(ve=e.onModelStatus)==null||ve.call(e,ce.data.status,ce.data.message),ce.data.status==="ready"&&(vl=!0,As=!1)):ce.data.type==="progress"&&(n||(ie=e.onProgress)==null||ie.call(e,ce.data.pct))};r.addEventListener("message",Y);const te=ce=>{var we,_e;if(!n){for(gt.warn("speech","createRecognition: worker death event",ce),(we=e.onStatusChange)==null||we.call(e,"restarting");u.length;)(_e=u.shift())==null||_e();if(f.clear(),X(),k=!1,ce.respawned){try{r.removeEventListener("message",Y)}catch{}r=b0(),r.addEventListener("message",Y)}}};return sE.add(te),{start:async()=>{if(!n){if(yp){e.onError("Speech recognition disabled — please reload the app.");return}!vl&&!As&&(As=!0,gt.info("speech","createRecognition.start: triggering model load"),r.postMessage({type:"load"})),gt.info("speech","createRecognition.start: initializing VAD",{modelReady:vl,modelLoading:As});try{const ce=new URL("vad/",document.baseURI).href,we=e.inputDeviceId||null,_e={channelCount:1,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0};we&&(_e.deviceId={exact:we}),gt.info("speech","getUserMedia",{hasDeviceId:!!we,deviceIdPrefix:we?we.slice(0,8):null});const Ae=await navigator.mediaDevices.getUserMedia({audio:_e});s=Ae,a=new AudioContext;for(const ve of Ae.getAudioTracks())ve.addEventListener("ended",()=>{n||(gt.warn("speech","mic track ended (permission revoked or device removed)"),e.onError("Microphone disconnected or permission revoked"))});try{o=a.createMediaStreamSource(s),l=a.createAnalyser(),l.fftSize=2048,l.smoothingTimeConstant=.3,o.connect(l)}catch(ve){gt.warn("speech","analyser init failed",{error:ve instanceof Error?ve.message:String(ve)}),o=null,l=null}i=await OU.MicVAD.new({audioContext:a,getStream:async()=>Ae,resumeStream:async()=>Ae,pauseStream:async()=>{},baseAssetPath:ce,onnxWASMBasePath:ce,model:"v5",positiveSpeechThreshold:H5,negativeSpeechThreshold:G5,minSpeechMs:300,redemptionMs:1500,preSpeechPadMs:300,submitUserSpeechOnPause:!0,onFrameProcessed:(ve,ie)=>{var ye;n||((ye=e.onFrame)==null||ye.call(e,ve),y&&(H(ie),oe()))},onSpeechStart:()=>{var ve;n||(se(),y=!0,x=performance.now(),(ve=e.onSpeechStart)==null||ve.call(e))},onSpeechEnd:ve=>{var ie;n||((ie=e.onStatusChange)==null||ie.call(e,"transcribing"),se(),ee(ve))},onVADMisfire:()=>{var ve,ie;n||((ve=e.onStatusChange)==null||ve.call(e,"idle"),se(),(ie=e.onMisfire)==null||ie.call(e))}}),i.start()}catch(ce){const we=ce instanceof Error?ce.message:"Microphone access denied",_e=ce instanceof Error?ce.stack:"";if(gt.error("speech","createRecognition.start: VAD init failed",{error:we,stack:_e}),l){try{l.disconnect()}catch{}l=null}if(o){try{o.disconnect()}catch{}o=null}if(s){try{s.getTracks().forEach(Ae=>Ae.stop())}catch{}s=null}if(a){try{await a.close()}catch{}a=null}e.onError(we)}}},stop:async()=>{if(i)try{await i.pause()}catch{}for(se();f.size>0;)await Promise.all(Array.from(f));if(i){try{await i.destroy()}catch{}i=null}if(l){try{l.disconnect()}catch{}l=null}if(o){try{o.disconnect()}catch{}o=null}if(s){try{s.getTracks().forEach(ce=>ce.stop())}catch{}s=null}if(a){try{await a.close()}catch{}a=null}},setVadThresholds:(ce,we)=>{if(i)try{i.setOptions({positiveSpeechThreshold:ce,negativeSpeechThreshold:we})}catch(_e){gt.warn("speech","setVadThresholds failed",{error:_e instanceof Error?_e.message:String(_e)})}},getAnalyser:()=>l,destroy:()=>{if(n=!0,se(),i){try{i.destroy()}catch{}i=null}if(l){try{l.disconnect()}catch{}l=null}if(o){try{o.disconnect()}catch{}o=null}if(a){try{a.close()}catch{}a=null}if(s){try{s.getTracks().forEach(ce=>ce.stop())}catch{}s=null}sE.delete(te),r.removeEventListener("message",Y)}}}let qv=null;const aE=new Set,oE=new Set;function FU(){for(const e of aE)try{e()}catch{}}function lE(){for(const e of oE)try{e()}catch{}}function UU(e){return e.replace(/```[\s\S]*?```/g,"").replace(/`([^`]+)`/g,"$1").replace(/^#{1,6}\s+/gm,"").replace(/\*{1,3}([^*]+)\*{1,3}/g,"$1").replace(/_{1,3}([^_]+)_{1,3}/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/^[-*_]{3,}\s*$/gm,"").replace(/^>\s?/gm,"").replace(/^[\s]*[-*+]\s/gm,"").replace(/^[\s]*\d+\.\s/gm,"").trim()}function qU(e){if(!window.speechSynthesis)return;const r=UU(e);if(!r)return;const n=new SpeechSynthesisUtterance(r);n.rate=1,n.pitch=1,n.onstart=()=>{qv=performance.now(),FU()},n.onend=()=>{!window.speechSynthesis.speaking&&!window.speechSynthesis.pending&&(qv=null,lE())},n.onerror=i=>{i.error!=="canceled"&&!window.speechSynthesis.speaking&&!window.speechSynthesis.pending&&(qv=null,lE())},window.speechSynthesis.speak(n)}function X5(){window.speechSynthesis&&(window.speechSynthesis.cancel(),qv=null,lE())}function Y5(){var e;return((e=window.speechSynthesis)==null?void 0:e.speaking)??!1}function WU(){return qv}function HU(e){return aE.add(e),()=>{aE.delete(e)}}function GU(e){return oE.add(e),()=>{oE.delete(e)}}function VU(e){Y5()&&(e.setVadThresholds(X$,Y$),gt.info("voice","tts.duck.on",{reason:"already-speaking-on-attach"}));const r=HU(()=>{e.setVadThresholds(X$,Y$),gt.info("voice","tts.duck.on")}),n=GU(()=>{e.setVadThresholds(H5,G5),gt.info("voice","tts.duck.off")});return()=>{r(),n()}}const KU=[{match:/^(send|submit|enter)\.?$/i,data:"\r",label:"send"},{match:/^(cancel|escape)\.?$/i,data:"\x1B",label:"cancel"},{match:/^clear( line)?\.?$/i,data:"",label:"clear"}];function XU(e){const r=e.trim();return KU.find(n=>n.match.test(r))??null}const YU=4e4;let Wd=null;function bp(){Wd&&clearTimeout(Wd),Wd=setTimeout(()=>{Wd=null,Lt.getState().stopRecording()},YU)}function fx(){Wd&&(clearTimeout(Wd),Wd=null)}let wu=null,xu=null;const JU=.04,QU=.3;let x0=0,cE=0;function ZU(e){xu!==null&&cancelAnimationFrame(xu);const r=()=>{if(wu===null||Lt.getState().submitCountdownStartAt===null){xu=null;return}const n=performance.now();if(n-cE<200&&x0>QU){const s=n-e;gt.info("voice","submit.preempted_by_voice",{reason:"vad",prob:x0.toFixed(2),msIntoCountdown:Math.round(s)}),gu(),bp();return}const i=J5();if(i){const s=new Uint8Array(i.fftSize);i.getByteTimeDomainData(s);let a=0;for(let o=0;o<s.length;o++){const u=(s[o]-128)/128;a+=u*u}const l=Math.sqrt(a/s.length);if(l>JU){const o=n-e;gt.info("voice","submit.preempted_by_voice",{reason:"rms",rms:l.toFixed(3),msIntoCountdown:Math.round(o)}),gu(),bp();return}}xu=requestAnimationFrame(r)};xu=requestAnimationFrame(r)}function eq(e){wu&&clearTimeout(wu);const r=Lt.getState().submitDelayMs,n=performance.now();Lt.setState({submitCountdownStartAt:n}),wu=setTimeout(()=>{wu=null,Lt.setState({submitCountdownStartAt:null});try{window.api.pty.write({tabId:e,data:"\r"})}catch(i){gt.warn("voice","submit pty.write failed",{error:i instanceof Error?i.message:String(i)})}bp()},r),ZU(n)}function gu(){xu!==null&&(cancelAnimationFrame(xu),xu=null),wu&&(clearTimeout(wu),wu=null),Lt.getState().submitCountdownStartAt!==null&&Lt.setState({submitCountdownStartAt:null})}let Oi=null,ss=null;function J5(){var e;return((e=Oi==null?void 0:Oi.getAnalyser)==null?void 0:e.call(Oi))??null}const hx=1e4;let Wv=null;function px(){Wv&&(clearTimeout(Wv),Wv=null)}let a0=null,o0=null;function mx(){a0=null,o0&&(o0(),o0=null)}const tq=1500,rq=9e4;let gx=0,l0=null,uE=-1;function vx(){l0&&(clearTimeout(l0),l0=null,uE=-1)}const nq=new Set(["you","You","Thank you.","Thanks for watching.","Thanks for watching!","Thank you for watching.","Thank you for watching!",".","Bye.","Bye!"]),Lt=Mn((e,r)=>({isRecording:!1,ttsEnabled:!1,autoSubmit:!0,submitDelayMs:8e3,submitCountdownStartAt:null,lastTranscript:"",lastPartial:"",statusPill:"idle",partialsEnabled:!0,error:null,errorKind:null,modelStatus:"idle",loadingProgress:0,permissionState:"unknown",lastBargeInAt:null,hotkeyState:"idle",levelMeterEnabled:!0,turnDetectorState:"disabled",turnDetectorMode:"off",wizardArmed:!1,wizardOpen:!1,initModel:()=>{if(r().modelStatus!=="idle")return;gt.info("voice","initModel: kicking off preload"),e({modelStatus:"loading",error:null,errorKind:null,loadingProgress:0});const n=++gx,i=()=>{n===gx&&(vx(),uE=n,l0=setTimeout(()=>{uE===n&&r().modelStatus==="loading"&&(gt.warn("voice","mic.gate.timeout: no progress within 90s"),e({modelStatus:"error",error:"Model load timed out",errorKind:"timeout"}))},rq))};i(),DU((s,a)=>{n===gx&&(s==="ready"?(vx(),gt.info("voice","modelStatus -> ready"),e({modelStatus:"ready",loadingProgress:100,errorKind:null})):s==="error"?(vx(),gt.error("voice","modelStatus -> error",{msg:a}),e({modelStatus:"error",error:a,errorKind:"load"})):(i(),e({modelStatus:"loading"})))},s=>{n===gx&&(i(),e({loadingProgress:Math.round(s)}))})},resetAndRetryModel:()=>{gt.info("voice","mic.gate.retry"),vx(),LU(),e({modelStatus:"idle",error:null,errorKind:null,loadingProgress:0}),r().initModel()},startRecording:n=>{if(r().isRecording)return;if(Oi){gt.warn("voice","startRecording: prior handle still draining, ignoring");return}if(!xT()){e({error:"Microphone or Web Worker not available",errorKind:"recording"});return}const i=s=>{try{const a=zU({inputDeviceId:s,onStatusChange:l=>{e(l==="transcribing"?{statusPill:"transcribing"}:l==="restarting"?{statusPill:"restarting"}:{statusPill:"idle"})},onPartial:l=>{r().partialsEnabled&&e({lastPartial:l})},partialsEnabled:()=>r().partialsEnabled,onFrame:l=>{x0=l.isSpeech,cE=performance.now()},onSpeechStart:()=>{if(e({statusPill:"listening",lastPartial:""}),fx(),gu(),Y5()){const o=WU(),u=o!==null?performance.now()-o:null;X5(),e({lastBargeInAt:performance.now()}),gt.info("voice","barge-in",{tabId:n,utteranceOffsetMs:u})}else gt.debug("voice","barge-in.no-op",{tabId:n})},onMisfire:()=>{e({lastPartial:"",statusPill:"idle"}),bp();const l=r().lastBargeInAt;l!==null&&performance.now()-l<600&&gt.warn("voice","barge-in.misfire",{tabId:n,sinceBargeInMs:Math.round(performance.now()-l)})},onFinal:l=>{bp();const o=l.trim();if(!o||nq.has(o)){e({lastTranscript:"",lastPartial:"",statusPill:"idle"});return}const u=XU(o);if(u){gt.info("voice","voice-command",{tabId:n,label:u.label,transcript:o}),window.api.pty.write({tabId:n,data:u.data}),e({lastTranscript:"",lastPartial:"",statusPill:"idle"}),gu();const m=window;m.__transcripts&&(m.__transcripts.push({tabId:n,text:o}),m.__transcripts.length>500&&m.__transcripts.shift());return}window.api.pty.write({tabId:n,data:o}),e({lastTranscript:"",lastPartial:"",statusPill:"idle"}),r().autoSubmit&&eq(n);const f=window;f.__transcripts&&(f.__transcripts.push({tabId:n,text:o}),f.__transcripts.length>500&&f.__transcripts.shift())},onError:l=>{gt.error("voice","recognition error",{err:l}),gu(),e({error:l,errorKind:"recording",isRecording:!1,lastPartial:"",statusPill:"idle"}),ss==null||ss(),ss=null,fx(),Oi==null||Oi.destroy(),Oi=null,ot.error(`Microphone error: ${l}`)},onModelStatus:l=>{l==="ready"?e({modelStatus:"ready",loadingProgress:100}):l==="loading"&&e({modelStatus:"loading"})},onProgress:l=>e({loadingProgress:Math.round(l)})});Oi=a,e({isRecording:!0,error:null,lastTranscript:"",lastPartial:"",statusPill:"listening"}),bp(),a.start().then(()=>{Oi===a&&(ss==null||ss(),ss=VU(a))}).catch(l=>{const o=l instanceof Error?l.message:String(l);gt.error("voice","handle.start() failed",{error:o}),ot.error(`Could not start mic: ${o}`)})}catch(a){e({error:a instanceof Error?a.message:"Failed to start recording",errorKind:"recording"})}};Promise.resolve().then(()=>{var s,a,l;return((l=(a=(s=window.api)==null?void 0:s.voice)==null?void 0:a.getDevicePref)==null?void 0:l.call(a))??Promise.resolve(null)}).then(s=>i((s==null?void 0:s.selectedDeviceId)??null)).catch(s=>{gt.warn("voice","getDevicePref failed; using default device",{error:s instanceof Error?s.message:String(s)}),i(null)})},stopRecording:()=>{const n=Oi;n&&(fx(),gu(),x0=0,cE=0,ss==null||ss(),ss=null,e({isRecording:!1,lastTranscript:"",lastPartial:"",statusPill:"idle"}),n.stop().finally(()=>{n.destroy(),Oi===n&&(Oi=null),r().hotkeyState==="stopping"&&(px(),e({hotkeyState:"idle"}))}))},restartWithDevice:async()=>{if(!r().isRecording)return;const n=Oi;if(!n)return;fx(),ss==null||ss(),ss=null,e({isRecording:!1,lastTranscript:"",lastPartial:""});try{await n.stop()}catch(a){gt.warn("voice","restartWithDevice: drain rejected",{error:a instanceof Error?a.message:String(a)})}n.destroy(),Oi===n&&(Oi=null);const{useSessions:i}=await nm(async()=>{const{useSessions:a}=await Promise.resolve().then(()=>uU);return{useSessions:a}},[],import.meta.url),s=i.getState().activeTabId;s&&r().startRecording(s)},toggleTTS:()=>e(n=>({ttsEnabled:!n.ttsEnabled})),setAutoSubmit:n=>e({autoSubmit:n}),setSubmitDelayMs:n=>e({submitDelayMs:Math.max(500,Math.min(13e3,Math.floor(n)))}),cancelSubmit:()=>gu(),setPartialsEnabled:n=>{r().partialsEnabled!==n&&(e({partialsEnabled:n}),n||e({lastPartial:""}))},clearError:()=>e({error:null,errorKind:null}),setPermissionState:n=>{r().permissionState!==n&&(gt.info("voice","mic.gate.permission_changed",{from:r().permissionState,to:n}),e({permissionState:n}))},setLevelMeterEnabled:n=>{r().levelMeterEnabled!==n&&e({levelMeterEnabled:n})},setTurnDetectorRuntimeState:n=>{r().turnDetectorState!==n&&(e({turnDetectorState:n}),n==="load_failed"?gt.warn("voice-turn","voice-turn.load_failed"):n==="runtime_error"?gt.warn("voice-turn","voice-turn.runtime_error"):n==="disabled"&&gt.info("voice-turn","voice-turn.fallback_to_vad"))},setWizardArmed:n=>{r().wizardArmed!==n&&e({wizardArmed:n})},openWizard:()=>{r().wizardOpen||e({wizardOpen:!0})},closeWizard:()=>{r().wizardOpen&&e({wizardOpen:!1})},armHotkey:({phase:n,source:i,mode:s,tabId:a})=>{const l=r(),{canRecord:o,reason:u}=dE(l);if(n==="down"){if(u==="error"||u==="load-timeout"){l.resetAndRetryModel(),gt.info("voice-hotkey","down.retry",{source:i,reason:u});return}if(!o&&u!=="loading"){gt.warn("voice-hotkey","miss-model-loading",{modelStatus:l.modelStatus,reason:u});return}if(l.hotkeyState==="recording"||l.isRecording){(s==="toggle"||i==="global")&&(e({hotkeyState:"stopping"}),px(),Wv=setTimeout(()=>{r().hotkeyState==="stopping"&&(gt.warn("voice-hotkey","drain-timeout",{durationMs:hx}),e({hotkeyState:"aborted"}),setTimeout(()=>{r().hotkeyState==="aborted"&&e({hotkeyState:"idle"})},0))},hx),l.stopRecording());return}if(u==="loading"){l.hotkeyState!=="armed"&&(e({hotkeyState:"armed"}),gt.info("voice-hotkey","armed",{source:i,modelStatus:l.modelStatus})),mx(),a0={tabId:a,source:i,mode:s},o0=Lt.subscribe((f,m)=>{if(a0&&f.modelStatus==="ready"&&m.modelStatus!=="ready"&&f.hotkeyState==="armed"){const h=a0;if(mx(),!h.tabId){gt.warn("voice-hotkey","armed-promote-no-tab",{source:h.source}),e({hotkeyState:"idle"});return}gt.info("voice-hotkey","armed-promote",h),e({hotkeyState:"recording"}),Lt.getState().startRecording(h.tabId)}});return}if(!a){gt.warn("voice-hotkey","no-active-tab",{source:i});return}gt.info("voice-hotkey","start",{source:i,mode:s,tabId:a}),l.startRecording(a),r().isRecording?e({hotkeyState:"recording"}):(gt.warn("voice-hotkey","start: recording did not engage",{errorKind:r().errorKind}),e({hotkeyState:"idle"}));return}if(!(s!=="hold"||i==="global")){if(l.hotkeyState==="armed"){mx(),gt.info("voice-hotkey","miss-model-loading-armed-up"),e({hotkeyState:"idle"});return}l.hotkeyState==="recording"&&(e({hotkeyState:"stopping"}),px(),Wv=setTimeout(()=>{r().hotkeyState==="stopping"&&(gt.warn("voice-hotkey","drain-timeout",{durationMs:hx}),e({hotkeyState:"aborted"}),setTimeout(()=>{r().hotkeyState==="aborted"&&e({hotkeyState:"idle"})},0))},hx),l.stopRecording())}},destroyHotkey:()=>{const n=r();if(mx(),gu(),n.hotkeyState==="recording"){gt.warn("voice-hotkey","destroyed-mid-recording"),e({hotkeyState:"destroyed"});try{n.stopRecording()}catch{}}else(n.hotkeyState==="armed"||n.hotkeyState==="stopping")&&(px(),e({hotkeyState:"destroyed"}))}})),iq=e=>({isRecording:e.isRecording,statusPill:e.statusPill,lastPartial:e.lastPartial,lastTranscript:e.lastTranscript,submitCountdownStartAt:e.submitCountdownStartAt}),dE=e=>xT()?e.permissionState==="denied"?{canRecord:!1,reason:"permission-denied"}:e.modelStatus==="ready"?{canRecord:!0,reason:"ready"}:e.modelStatus==="loading"?{canRecord:!1,reason:"loading"}:e.modelStatus==="error"?{canRecord:!1,reason:e.errorKind==="timeout"?"load-timeout":"error"}:{canRecord:!1,reason:"idle"}:{canRecord:!1,reason:"unsupported"};if(typeof window<"u"){const e=window;e.__voice=Lt,e.__transcripts=[]}function wT(e,r,n){return new Promise((i,s)=>{const a=setTimeout(()=>s(new Error(`${n} timed out after ${r}ms`)),r);e.then(l=>{clearTimeout(a),i(l)},l=>{clearTimeout(a),s(l)})})}const sq=5e3,Tu=Mn(()=>({snapshot:null,loaded:!1}));let Q$=!1,Z$=!1,Zg;async function aq(){var e;if(!Q$){Q$=!0;try{const r=await wT(window.api.schedule.state(),sq,"schedule.state");Tu.setState({snapshot:r,loaded:!0}),Zg=((e=r.paused)==null?void 0:e.reason)??null}catch(r){if(!Z$){Z$=!0;const n=r instanceof Error?r.message:String(r);ot.error(`Scheduler state hydrate failed: ${n}`)}Zg=null}window.api.schedule.onState(r=>{var i;const n=((i=r.paused)==null?void 0:i.reason)??null;Zg!==void 0&&n!==Zg&&(n==="auth"?ot.error("Scheduler paused: Claude sign-in expired or invalid. Restart the app or re-run `claude login`, then Resume."):n==="network"&&ot.error("Scheduler paused: billing endpoint unreachable. Will auto-resume in 30 minutes.")),Zg=n,Tu.setState({snapshot:r,loaded:!0})})}}const oq=6e4,lq=5e3,xp=Mn(()=>({data:null,refreshing:!1}));let eO=!1,c0=null,tO=null,rO=!1;async function _T(){xp.setState({refreshing:!0});let e=oq;try{const r=await wT(window.api.billing.fetch(),lq,"billing.fetch");xp.setState({data:r,refreshing:!1}),r.kind==="transient"?e=tO==="transient"?3e4:5e3:r.kind==="auth"&&(e=3e4),tO=r.kind}catch(r){if(xp.setState({refreshing:!1}),!rO){rO=!0;const n=r instanceof Error?r.message:String(r);ot.warn(`Billing usage fetch failed: ${n}`)}}c0=setTimeout(_T,e)}function cq(){eO||(eO=!0,_T())}function Kw(e){return e?e.kind==="ok"||e.kind==="ok-stale"?e.data:e.kind==="auth"&&e.cached?e.cached:null:null}function w0(){c0!==null&&(clearTimeout(c0),c0=null),_T()}function us({name:e,size:r=17,stroke:n=1.6,className:i}){const s={width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round",className:i};switch(e){case"home":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M4 11l8-7 8 7"}),c.jsx("path",{d:"M6 10v9h12v-9"}),c.jsx("path",{d:"M10 19v-5h4v5"})]});case"terminal":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),c.jsx("path",{d:"M7 10l3 2-3 2"}),c.jsx("path",{d:"M13 14h4"})]});case"agents":case"subagents":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"7",cy:"9",r:"2.5"}),c.jsx("circle",{cx:"17",cy:"9",r:"2.5"}),c.jsx("circle",{cx:"12",cy:"17",r:"2.5"}),c.jsx("path",{d:"M8.6 11l2.8 4M15.4 11l-2.8 4M9.5 9h5"})]});case"skills":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M12 3l2.5 5.5L20 9l-4 4 1 6-5-3-5 3 1-6-4-4 5.5-.5z"})});case"history":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"12",r:"8"}),c.jsx("path",{d:"M12 7v5l3 2"}),c.jsx("path",{d:"M4 6l2 2"})]});case"usage":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M4 19V8M10 19V5M16 19v-7M22 19H2"})});case"hive":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M8 4h8l4 7-4 7H8l-4-7z"}),c.jsx("circle",{cx:"12",cy:"11",r:"2.5"})]});case"knowledge-graph":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"6",cy:"7",r:"2.2"}),c.jsx("circle",{cx:"18",cy:"6",r:"2.2"}),c.jsx("circle",{cx:"17",cy:"18",r:"2.2"}),c.jsx("circle",{cx:"7",cy:"17",r:"2.2"}),c.jsx("path",{d:"M8 8l8 8M8 16l8-9M8 7h8"})]});case"plugins":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M9 3v4M15 3v4M5 7h14v6a5 5 0 01-5 5h-4a5 5 0 01-5-5V7z"})});case"mcp":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"4",width:"18",height:"6",rx:"1.5"}),c.jsx("rect",{x:"3",y:"14",width:"18",height:"6",rx:"1.5"}),c.jsx("circle",{cx:"6.5",cy:"7",r:".5",fill:"currentColor"}),c.jsx("circle",{cx:"6.5",cy:"17",r:".5",fill:"currentColor"})]});case"hooks":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M12 4v9a3 3 0 003 3h5"}),c.jsx("path",{d:"M9 17l3 3 3-3"})]});case"keys":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"8",cy:"12",r:"4"}),c.jsx("path",{d:"M12 12h9M17 12v3M20 12v2"})]});case"plans":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),c.jsx("path",{d:"M8 9h8M8 13h8M8 17h5"})]});case"tasks":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"4",width:"7",height:"7",rx:"1.5"}),c.jsx("rect",{x:"3",y:"13",width:"7",height:"7",rx:"1.5"}),c.jsx("path",{d:"M14 6h7M14 10h5M14 15h7M14 19h5"})]});case"projects":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M3 7l3-3h4l2 2h9v13H3z"})});case"docs":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M6 3h8l4 4v14H6z"}),c.jsx("path",{d:"M14 3v4h4M9 13h6M9 17h6M9 9h3"})]});case"memory":case"agent-memory":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M9 4a4 4 0 00-4 4v1a3 3 0 000 6v1a4 4 0 004 4h6a4 4 0 004-4v-1a3 3 0 000-6V8a4 4 0 00-4-4z"}),c.jsx("path",{d:"M9 9v6M12 6v12M15 9v6"})]});case"search":case"global-search":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"11",cy:"11",r:"6"}),c.jsx("path",{d:"M16 16l4 4"})]});case"chevron":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M9 6l6 6-6 6"})});case"caret":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M6 9l6 6 6-6"})});case"dot":return c.jsx("svg",{...s,children:c.jsx("circle",{cx:"12",cy:"12",r:"3",fill:"currentColor",stroke:"none"})});case"plus":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M12 5v14M5 12h14"})});case"folder":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M3 7l3-3h4l2 2h9v13H3z"})});case"file":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M7 3h7l4 4v14H7z"}),c.jsx("path",{d:"M14 3v4h4"})]});case"play":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M8 5l11 7-11 7z",fill:"currentColor",stroke:"none"})});case"pause":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"7",y:"5",width:"3.5",height:"14",fill:"currentColor",stroke:"none",rx:"0.5"}),c.jsx("rect",{x:"13.5",y:"5",width:"3.5",height:"14",fill:"currentColor",stroke:"none",rx:"0.5"})]});case"sparkle":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M12 4v6M12 14v6M4 12h6M14 12h6"})});case"book":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M4 5a2 2 0 012-2h6v18H6a2 2 0 01-2-2zM12 3h6a2 2 0 012 2v14H12z"})});case"compass":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"12",r:"8"}),c.jsx("path",{d:"M15 9l-2 5-5 2 2-5z",fill:"currentColor",stroke:"none"})]});case"scheduler":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"5",width:"18",height:"15",rx:"2"}),c.jsx("path",{d:"M3 10h18M8 3v4M16 3v4"}),c.jsx("path",{d:"M8 14l2 2 4-4"})]});case"settings":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"12",r:"3"}),c.jsx("path",{d:"M12 2v3M12 19v3M4 12H1M23 12h-3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1"})]});case"mic":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"9",y:"3",width:"6",height:"12",rx:"3"}),c.jsx("path",{d:"M5 11a7 7 0 0014 0M12 18v3M9 21h6"})]});case"clock":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"12",r:"8"}),c.jsx("path",{d:"M12 7v5l3 2"})]});case"leaf":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M20 4c-9 0-14 5-14 11 0 3 2 5 5 5 6 0 9-5 9-14z"}),c.jsx("path",{d:"M6 20c2-5 5-8 11-11"})]});case"orchestrator":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"12",cy:"6",r:"2.5"}),c.jsx("circle",{cx:"5",cy:"17",r:"2.5"}),c.jsx("circle",{cx:"12",cy:"17",r:"2.5"}),c.jsx("circle",{cx:"19",cy:"17",r:"2.5"}),c.jsx("path",{d:"M12 8.5v6M12 14.5l-7 0M12 14.5l7 0"})]});case"race":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M5 4v16M5 5h7l-1 3h7v6h-7l-1 3H5"})});case"background":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M3 4h18v4H3zM3 10h18v4H3zM3 16h18v4H3z"}),c.jsx("circle",{cx:"6",cy:"6",r:".75",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"6",cy:"12",r:".75",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"6",cy:"18",r:".75",fill:"currentColor",stroke:"none"})]});case"repoviz":return c.jsxs("svg",{...s,children:[c.jsx("circle",{cx:"6",cy:"12",r:"3"}),c.jsx("circle",{cx:"18",cy:"6",r:"3"}),c.jsx("circle",{cx:"18",cy:"18",r:"3"}),c.jsx("path",{d:"M8.5 10.5L15.5 7.5M8.5 13.5L15.5 16.5"})]});case"system-prompt":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"4",y:"4",width:"16",height:"14",rx:"2"}),c.jsx("path",{d:"M8 10h8M8 14h5M9 18l-2 3M15 18l2 3"})]});case"permissions":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"5",y:"11",width:"14",height:"9",rx:"2"}),c.jsx("path",{d:"M8 11V8a4 4 0 018 0v3"}),c.jsx("circle",{cx:"12",cy:"15.5",r:"1.2",fill:"currentColor",stroke:"none"})]});case"tool":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M14 4a4 4 0 014 4l-7 7-4-4 7-7zM7 11l-3 3 6 6 3-3"})});case"quick-open":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),c.jsx("path",{d:"M3 9h18M7 13h10M7 16h6"})]});case"remote":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M5 12.5a7 7 0 0114 0M1.5 9a11 11 0 0121 0M8.5 16a3.5 3.5 0 017 0"}),c.jsx("circle",{cx:"12",cy:"20",r:"1",fill:"currentColor",stroke:"none"})]});case"wifi":return c.jsx("svg",{...s,children:c.jsx("path",{d:"M5 12.5a10 10 0 0114 0M8 15.5a6 6 0 018 0M12 18.5h.01"})});case"shield":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z"}),c.jsx("path",{d:"M9 12l2 2 4-4"})]});case"link":return c.jsxs("svg",{...s,children:[c.jsx("path",{d:"M9 12h6"}),c.jsx("path",{d:"M10 8H7a4 4 0 000 8h3M14 8h3a4 4 0 010 8h-3"})]});case"copy":return c.jsxs("svg",{...s,children:[c.jsx("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),c.jsx("path",{d:"M5 15V5a2 2 0 012-2h8"})]});default:return null}}const Q5=e=>`sm.fileTree.expanded:${e}`;function uq(e){try{const r=localStorage.getItem(Q5(e)),n=r?JSON.parse(r):[];return Array.isArray(n)?n.filter(i=>typeof i=="string"):[]}catch{return[]}}function dq(e,r){try{localStorage.setItem(Q5(e),JSON.stringify([...r].slice(0,500)))}catch{}}function c1(e,r){const n=r+"/";let i=!1;const s=new Set;for(const a of e){if(a===r||a.startsWith(n)){i=!0;continue}s.add(a)}return i?s:e}const u1={modified:{color:"#e2a93d",label:"M"},added:{color:"#3fb950",label:"A"},deleted:{color:"#f85149",label:"D"},renamed:{color:"#a371f7",label:"R"},untracked:{color:"#8b949e",label:"U"},staged:{color:"#3fb950",label:"S"},conflict:{color:"#f85149",label:"!"}},fq=new Set(["md","txt","json","jsonl","ndjson","js","jsx","ts","tsx","py","go","rs","rb","c","cpp","h","hpp","java","sh","bash","css","scss","html","xml","yaml","yml","toml","ini","conf","env","log","sql","gitignore","png","jpg","jpeg","gif","svg","webp"]);function hq(e){const r=e.toLowerCase().split(".").pop()||"";return fq.has(r)}function pq(e,r){if(r)return"#d97757";switch(e.toLowerCase().split(".").pop()||""){case"ts":case"tsx":return"#3178c6";case"js":case"jsx":return"#f7df1e";case"json":return"#cbcb41";case"md":return"#8a93a0";case"css":case"scss":return"#cc6699";case"py":return"#3776ab";case"go":return"#00add8";case"rs":return"#dea584";case"sh":case"bash":return"#89e051";case"png":case"jpg":case"jpeg":case"gif":case"svg":return"#a4c639";default:return"#8a93a0"}}async function yx(e){var r;try{const n=window.api;return(r=n==null?void 0:n.git)!=null&&r.fileStatus?await n.git.fileStatus(e):{}}catch{return{}}}function mq({cwd:e,onPreviewFile:r,onSendToChat:n,activeTabId:i}){const[s,a]=B.useState([]),[l,o]=B.useState(new Set),u=B.useRef(l);u.current=l;const[f,m]=B.useState(""),[h,y]=B.useState(!1),[x,k]=B.useState(!1),[_,b]=B.useState(null),[w,S]=B.useState({}),[C,T]=B.useState(null),[j,A]=B.useState(null),[N,O]=B.useState(""),[I,W]=B.useState(null),[G,V]=B.useState(""),[F,z]=B.useState(null),H=B.useRef(null),X=B.useRef(null),se=B.useRef(0),oe=B.useCallback(async()=>{if(!e)return;const Le=++se.current;k(!0),b(null);const Ze=await window.api.files.list(e,h);se.current===Le&&(Ze.ok?a(Ze.entries.map(ut=>({...ut}))):(b(Ze.error??"failed to list"),a([])),k(!1))},[e,h]),Q=B.useCallback(async Le=>{const Ze=se.current,ut=new Map;for(const dr of Le){const Xt=dr.split("/").length,Jt=ut.get(Xt);Jt?Jt.push(dr):ut.set(Xt,[dr])}const dt=[];for(const dr of[...ut.keys()].sort((Xt,Jt)=>Xt-Jt)){const Xt=ut.get(dr),Jt=await Promise.all(Xt.map(async cr=>({p:cr,result:await window.api.files.list(cr,h)})));if(se.current!==Ze)return dt;for(const{p:cr,result:Nr}of Jt)Nr.ok?a(wr=>u0(wr,cr,Nr.entries.map(nn=>({...nn})))):dt.push(cr)}return dt},[h]),ee=B.useCallback(async Le=>(await oe(),Le.length?Q(Le):[]),[oe,Q]);B.useEffect(()=>{m(""),A(null),T(null),W(null),z(null),S({});const Le=uq(e),Ze=new Set(Le);u.current=Ze,o(Ze);let ut=!1;return(async()=>{const dt=await ee(Le);ut||!dt.length||te(dr=>{const Xt=new Set;let Jt=!1;for(const cr of dr){if(dt.some(Nr=>cr===Nr||cr.startsWith(Nr+"/"))){Jt=!0;continue}Xt.add(cr)}return Jt?Xt:dr})})(),yx(e).then(dt=>{ut||S(dt)}),()=>{ut=!0}},[e]);const Y=B.useRef(!0);B.useEffect(()=>{if(Y.current){Y.current=!1;return}ee([...u.current])},[h]),B.useEffect(()=>{if(!e)return;const Le=window.setInterval(()=>{yx(e).then(S)},5e3);return()=>window.clearInterval(Le)},[e]),B.useEffect(()=>{if(!C)return;const Le=()=>T(null),Ze=ut=>{ut.key==="Escape"&&T(null)};return window.addEventListener("mousedown",Le),window.addEventListener("keydown",Ze),()=>{window.removeEventListener("mousedown",Le),window.removeEventListener("keydown",Ze)}},[C]),B.useEffect(()=>{j&&setTimeout(()=>{var Le;return(Le=H.current)==null?void 0:Le.select()},30)},[j]),B.useEffect(()=>{I&&setTimeout(()=>{var Le;return(Le=X.current)==null?void 0:Le.focus()},30)},[I]);const te=B.useCallback(Le=>{const Ze=u.current,ut=Le(Ze);ut!==Ze&&(u.current=ut,o(ut),dq(e,ut))},[e]),ce=B.useCallback(async Le=>{if(l.has(Le.path)){te(ut=>c1(ut,Le.path));return}if(te(ut=>new Set(ut).add(Le.path)),Le.children)return;const Ze=await window.api.files.list(Le.path,h);Ze.ok&&a(ut=>u0(ut,Le.path,Ze.entries.map(dt=>({...dt}))))},[l,h,te]),we=B.useCallback(async Le=>{if(Le===e){await oe();return}const Ze=await window.api.files.list(Le,h);Ze.ok&&a(ut=>u0(ut,Le,Ze.entries.map(dt=>({...dt}))))},[e,oe,h]),_e=B.useCallback(Le=>{if(Le.isDirectory){ce(Le);return}hq(Le.name)&&r?r(Le.path):window.api.files.openExternal(Le.path)},[ce,r]),Ae=B.useCallback(Le=>{if(n){n(Le);return}if(i){const Ze=Le.startsWith(e+"/")?Le.slice(e.length+1):Le;window.api.pty.write({tabId:i,data:`@${Ze} `})}},[n,i,e]),ve=B.useCallback((Le,Ze)=>{Le.preventDefault(),Le.stopPropagation(),T({x:Le.clientX,y:Le.clientY,node:Ze})},[]),ie=Le=>{A(Le.path),O(Le.name)},ye=async()=>{if(!j)return;const Le=N.trim();if(!Le){A(null);return}const Ze=await window.api.files.rename(j,Le);if(A(null),Ze.ok){const ut=j.slice(0,j.lastIndexOf("/"));te(dt=>c1(dt,j)),await we(ut||e),yx(e).then(S)}else b(Ze.error??"rename failed")},xe=async()=>{if(!I)return;const Le=G.trim();if(!Le){W(null),V("");return}const Ze=await window.api.files.create(I.parent,Le,I.kind);W(null),V(""),Ze.ok?(await we(I.parent),I.kind==="folder"&&te(ut=>new Set(ut).add(I.parent))):b(Ze.error??"create failed")},Ge=async()=>{if(!F)return;const Le=await window.api.files.delete(F.path),Ze=F.path.slice(0,F.path.lastIndexOf("/"));z(null),Le.ok?(te(ut=>c1(ut,F.path)),await we(Ze||e),yx(e).then(S)):b(Le.error??"delete failed")},Me=B.useMemo(()=>{if(!f.trim())return s;const Le=f.toLowerCase();return s.filter(Ze=>Ze.name.toLowerCase().includes(Le))},[s,f]),We=(e==null?void 0:e.split("/").filter(Boolean).pop())||"project";return c.jsxs("div",{className:"w-60 h-full flex flex-col bg-bg-elev border-r border-line text-fg",children:[c.jsxs("div",{className:"p-3 border-b border-line shrink-0",children:[c.jsxs("div",{className:"flex items-center gap-2 mb-2 min-w-0",children:[c.jsx(e4,{size:14,className:"shrink-0 text-accent"}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("p",{className:"text-xs font-medium text-fg truncate",children:We}),c.jsx("p",{className:"text-[10px] text-fg-faint truncate",title:e,children:e})]}),c.jsx("button",{onClick:oe,className:"p-1 rounded text-fg-faint hover:text-fg hover:bg-bg-hi transition-colors",title:"Refresh",disabled:x,children:c.jsx(wq,{size:12,className:x?"animate-spin":""})})]}),c.jsx("div",{className:"relative",children:c.jsx("input",{value:f,onChange:Le=>m(Le.target.value),placeholder:"Search files…",className:"w-full px-2 py-1 text-xs bg-bg-hi border border-line rounded text-fg placeholder-fg-faint focus:outline-none focus:border-accent/40"})})]}),c.jsxs("div",{className:"flex items-center gap-1 px-3 py-1.5 border-b border-line shrink-0",children:[c.jsx("button",{onClick:()=>W({parent:e,kind:"file"}),className:"p-1.5 rounded text-fg-faint hover:text-fg hover:bg-bg-hi transition-colors",title:"New file",children:c.jsx(_q,{size:12})}),c.jsx("button",{onClick:()=>W({parent:e,kind:"folder"}),className:"p-1.5 rounded text-fg-faint hover:text-fg hover:bg-bg-hi transition-colors",title:"New folder",children:c.jsx(Sq,{size:12})}),c.jsx("div",{className:"flex-1"}),c.jsx("button",{onClick:()=>y(Le=>!Le),className:`p-1.5 rounded transition-colors ${h?"text-accent":"text-fg-faint hover:text-fg"} hover:bg-bg-hi`,title:h?"Hide hidden files":"Show hidden files",children:h?c.jsx(kq,{size:12}):c.jsx(Cq,{size:12})})]}),c.jsxs("div",{className:"flex-1 overflow-y-auto py-1",children:[_&&c.jsx("div",{className:"px-3 py-2 text-[11px] text-red-400",children:_}),!_&&Me.length===0&&!x&&c.jsx("div",{className:"p-4 text-center text-[11px] text-fg-faint",children:f?"no matches":"empty folder"}),!_&&c.jsx(Z5,{nodes:Me,depth:0,expanded:l,gitStatus:w,renaming:j,renameValue:N,renameInputRef:H,onRenameChange:O,onRenameCommit:ye,onRenameCancel:()=>A(null),onToggleDir:ce,onFileClick:_e,onSendToChat:Ae,onContextMenu:ve})]}),c.jsx("div",{className:"px-3 py-1.5 border-t border-line text-[10px] text-fg-faint shrink-0",children:"Click to preview · Double-click external · Right-click for more"}),C&&c.jsx(gq,{x:C.x,y:C.y,node:C.node,onClose:()=>T(null),onRename:()=>{ie(C.node),T(null)},onDelete:()=>{z(C.node),T(null)},onNewFile:()=>{W({parent:C.node.path,kind:"file"}),T(null)},onNewFolder:()=>{W({parent:C.node.path,kind:"folder"}),T(null)},onOpenExternal:()=>{window.api.files.openExternal(C.node.path),T(null)},onShowInFinder:()=>{window.api.files.showInFinder(C.node.path),T(null)},onCopyPath:()=>{var Le;(Le=navigator.clipboard)==null||Le.writeText(C.node.path),T(null)},onSendToChat:()=>{Ae(C.node.path),T(null)}}),I&&c.jsx(nO,{title:`New ${I.kind}`,subtitle:`in ${vq(I.parent)}`,onCancel:()=>{W(null),V("")},onConfirm:xe,confirmLabel:"Create",confirmDisabled:!G.trim(),children:c.jsx("input",{ref:X,value:G,onChange:Le=>V(Le.target.value),onKeyDown:Le=>{Le.key==="Enter"&&xe(),Le.key==="Escape"&&(W(null),V(""))},placeholder:I.kind==="file"?"filename.txt":"folder-name",className:"w-full px-3 py-2 rounded bg-bg-hi border border-line text-fg text-sm placeholder-fg-faint focus:outline-none focus:border-accent/50"})}),F&&c.jsx(nO,{title:`Delete ${F.isDirectory?"folder":"file"}`,subtitle:null,onCancel:()=>z(null),onConfirm:Ge,confirmLabel:"Delete",danger:!0,children:c.jsxs("p",{className:"text-sm text-fg-dim",children:["Move ",c.jsxs("span",{className:"text-fg font-medium",children:['"',F.name,'"']})," to the trash?",F.isDirectory&&c.jsx("span",{className:"block text-xs text-fg-faint mt-1",children:"All contents will be moved with it."})]})})]})}function Z5(e){const{nodes:r,depth:n,expanded:i,gitStatus:s,renaming:a,onContextMenu:l}=e;return c.jsx(c.Fragment,{children:r.map(o=>{const u=i.has(o.path),f=a===o.path,m=s[o.path],h=pq(o.name,o.isDirectory);return c.jsxs("div",{children:[c.jsxs("div",{className:"group flex items-center gap-1.5 py-0.5 pr-2 cursor-pointer transition-colors hover:bg-bg-hi",style:{paddingLeft:`${8+n*14}px`},onClick:()=>{f||(o.isDirectory?e.onToggleDir(o):e.onFileClick(o))},onDoubleClick:()=>{o.isDirectory||window.api.files.openExternal(o.path)},onContextMenu:y=>l(y,o),children:[o.isDirectory?c.jsx(xq,{size:10,className:`shrink-0 text-fg-faint transition-transform ${u?"rotate-90":""}`}):c.jsx("span",{className:"w-[10px] shrink-0"}),o.isDirectory?u?c.jsx(yq,{size:12,color:h}):c.jsx(e4,{size:12,color:h}):c.jsx(bq,{size:12,color:h}),f?c.jsx("input",{ref:e.renameInputRef,value:e.renameValue,onChange:y=>e.onRenameChange(y.target.value),onClick:y=>y.stopPropagation(),onBlur:e.onRenameCommit,onKeyDown:y=>{y.key==="Enter"&&e.onRenameCommit(),y.key==="Escape"&&e.onRenameCancel()},className:"flex-1 min-w-0 px-1 py-0 text-xs bg-bg border border-accent/40 rounded text-fg focus:outline-none"}):c.jsx("span",{className:`flex-1 truncate text-xs ${o.name.startsWith(".")?"text-fg-faint":"text-fg-dim"}`,children:o.name}),m&&c.jsx("span",{className:"shrink-0 text-[9px] font-bold px-1 rounded",style:{color:u1[m].color,backgroundColor:`${u1[m].color}20`},title:m,children:u1[m].label}),!o.isDirectory&&c.jsx("button",{onClick:y=>{y.stopPropagation(),e.onSendToChat(o.path)},title:"Send @path to active terminal",className:"opacity-0 group-hover:opacity-100 p-0.5 rounded text-fg-faint hover:text-accent hover:bg-bg transition-all shrink-0",children:c.jsx(Eq,{size:10})})]}),o.isDirectory&&u&&o.children&&c.jsx(Z5,{...e,nodes:o.children,depth:n+1})]},o.path)})})}function gq(e){const{x:r,y:n,node:i}=e;return c.jsxs("div",{onMouseDown:s=>s.stopPropagation(),className:"fixed z-[300] w-56 rounded-lg border border-line bg-bg-elev shadow-xl text-xs py-1",style:{left:r,top:n},children:[!i.isDirectory&&c.jsx(lu,{label:"Send to chat",onClick:e.onSendToChat}),c.jsx(lu,{label:"Open in default app",onClick:e.onOpenExternal}),c.jsx(lu,{label:"Reveal in OS",onClick:e.onShowInFinder}),c.jsx(d1,{}),c.jsx(lu,{label:"Copy path",onClick:e.onCopyPath}),c.jsx(lu,{label:"Rename",onClick:e.onRename}),i.isDirectory&&c.jsxs(c.Fragment,{children:[c.jsx(d1,{}),c.jsx(lu,{label:"New file",onClick:e.onNewFile}),c.jsx(lu,{label:"New folder",onClick:e.onNewFolder})]}),c.jsx(d1,{}),c.jsx(lu,{label:"Delete",onClick:e.onDelete,danger:!0})]})}function lu({label:e,onClick:r,danger:n}){return c.jsx("button",{onClick:r,className:`w-full text-left px-3 py-1.5 hover:bg-bg-hi transition-colors ${n?"text-red-400":"text-fg-dim hover:text-fg"}`,children:e})}function d1(){return c.jsx("div",{className:"my-1 border-t border-line"})}function nO(e){return c.jsx("div",{className:"fixed inset-0 z-[400] flex items-center justify-center bg-black/60",onMouseDown:r=>{r.target===r.currentTarget&&e.onCancel()},children:c.jsxs("div",{className:"w-96 rounded-lg border border-line bg-bg-elev p-4 shadow-2xl",children:[c.jsx("h3",{className:"text-sm font-medium text-fg mb-1",children:e.title}),e.subtitle&&c.jsx("p",{className:"text-[11px] text-fg-faint mb-3 truncate",children:e.subtitle}),c.jsx("div",{className:"mb-4",children:e.children}),c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx("button",{onClick:e.onCancel,className:"px-3 py-1 text-xs text-fg-dim hover:text-fg border border-line rounded transition-colors",children:"Cancel"}),c.jsx("button",{onClick:e.onConfirm,disabled:!!e.confirmDisabled,className:`px-3 py-1 text-xs text-white rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed ${e.danger?"bg-red-600 hover:bg-red-500":"bg-accent hover:bg-accent/90"}`,children:e.confirmLabel??"OK"})]})]})})}function vq(e){return e.split("/").filter(Boolean).pop()||e}function u0(e,r,n){return e.map(i=>i.path===r?{...i,children:n}:i.children?{...i,children:u0(i.children,r,n)}:i)}function Sl({size:e,children:r,className:n,color:i}){return c.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:i||"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:n,children:r})}function e4({size:e,className:r,color:n}){return c.jsx(Sl,{size:e,className:r,color:n,children:c.jsx("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})})}function yq({size:e,className:r,color:n}){return c.jsx(Sl,{size:e,className:r,color:n,children:c.jsx("path",{d:"M6 14l1.45-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.55 6a2 2 0 0 1-1.94 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.93a2 2 0 0 1 1.66.9l.82 1.2a2 2 0 0 0 1.66.9H18a2 2 0 0 1 2 2v2"})})}function bq({size:e,className:r,color:n}){return c.jsxs(Sl,{size:e,className:r,color:n,children:[c.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),c.jsx("polyline",{points:"14 2 14 8 20 8"})]})}function xq({size:e,className:r}){return c.jsx(Sl,{size:e,className:r,children:c.jsx("polyline",{points:"9 18 15 12 9 6"})})}function wq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("polyline",{points:"23 4 23 10 17 10"}),c.jsx("polyline",{points:"1 20 1 14 7 14"}),c.jsx("path",{d:"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"})]})}function _q({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),c.jsx("polyline",{points:"14 2 14 8 20 8"}),c.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"12"}),c.jsx("line",{x1:"9",y1:"15",x2:"15",y2:"15"})]})}function Sq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"}),c.jsx("line",{x1:"12",y1:"11",x2:"12",y2:"17"}),c.jsx("line",{x1:"9",y1:"14",x2:"15",y2:"14"})]})}function kq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),c.jsx("circle",{cx:"12",cy:"12",r:"3"})]})}function Cq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),c.jsx("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})}function Eq({size:e,className:r}){return c.jsxs(Sl,{size:e,className:r,children:[c.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),c.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})}function jq(e,r={}){switch(e){case"ready":return r.isRecording?"Stop voice input":"Start voice input (local Whisper, offline)";case"idle":return"Microphone — speech model not started";case"loading":return`Microphone — loading speech model, ${typeof r.loadingPct=="number"?Math.round(r.loadingPct):0} percent`;case"error":return r.errorMessage?`Microphone — speech model error: ${r.errorMessage}. Activate to retry.`:"Microphone — speech model error. Activate to retry.";case"load-timeout":return"Microphone — model load timed out. Activate to retry.";case"permission-denied":return"Microphone — permission denied. Open OS settings.";case"unsupported":return"Microphone — voice input not supported in this build."}}const iO=e=>Symbol.iterator in e,sO=e=>"entries"in e,aO=(e,r)=>{const n=e instanceof Map?e:new Map(e.entries()),i=r instanceof Map?r:new Map(r.entries());if(n.size!==i.size)return!1;for(const[s,a]of n)if(!i.has(s)||!Object.is(a,i.get(s)))return!1;return!0},Tq=(e,r)=>{const n=e[Symbol.iterator](),i=r[Symbol.iterator]();let s=n.next(),a=i.next();for(;!s.done&&!a.done;){if(!Object.is(s.value,a.value))return!1;s=n.next(),a=i.next()}return!!s.done&&!!a.done};function Aq(e,r){return Object.is(e,r)?!0:typeof e!="object"||e===null||typeof r!="object"||r===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(r)?!1:iO(e)&&iO(r)?sO(e)&&sO(r)?aO(e,r):Tq(e,r):aO({entries:()=>Object.entries(e)},{entries:()=>Object.entries(r)})}function t4(e){const r=Fe.useRef(void 0);return n=>{const i=e(n);return Aq(r.current,i)?r.current:r.current=i}}let oO=0;const $q=1e3;function Oq(e){const r=performance.now();r-oO<$q||(oO=r,gt.debug("voice","mic.gate.click_rejected",{reason:e}))}function r4(){const e=Lt(f=>f.isRecording),r=Lt(f=>f.error),n=Lt(f=>f.loadingProgress),i=Lt(t4(dE)),s=()=>{const f=Lt.getState(),{canRecord:m,reason:h}=dE(f);if(f.isRecording)return f.stopRecording();if(f.wizardArmed&&!f.wizardOpen){f.openWizard();return}if(h==="error"||h==="load-timeout"){f.resetAndRetryModel();return}if(!m)return Oq(h);const y=Qt.getState().activeTabId;y&&f.startRecording(y)},a=jq(i.reason,{loadingPct:n,errorMessage:r,isRecording:e}),l=i.reason==="unsupported",o=!i.canRecord,u=i.reason==="loading"?"text-fg-faint animate-pulse cursor-wait":i.reason==="error"||i.reason==="load-timeout"?"text-red-400 cursor-pointer":i.reason==="permission-denied"?"text-amber-400 cursor-pointer":i.reason==="idle"?"text-fg-faint cursor-pointer":i.reason==="unsupported"?"text-fg-faint cursor-not-allowed":e?"text-red-400 ring-2 ring-red-400 animate-pulse":"text-fg-dim hover:text-fg";return c.jsx("button",{onClick:s,disabled:l,"aria-disabled":o,"aria-label":a,title:a,"data-testid":"mic-button","data-state":i.reason,className:`p-1.5 rounded transition-colors ${u}`,children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("rect",{x:"9",y:"1",width:"6",height:"12",rx:"3"}),c.jsx("path",{d:"M5 10a7 7 0 0 0 14 0"}),c.jsx("line",{x1:"12",y1:"17",x2:"12",y2:"21"}),c.jsx("line",{x1:"8",y1:"21",x2:"16",y2:"21"})]})})}function Nq(){const e=Lt(n=>n.ttsEnabled),r=Lt(n=>n.toggleTTS);return c.jsxs("button",{onClick:r,title:e?"Read Claude replies aloud: ON":"Read Claude replies aloud: OFF",className:`px-1.5 py-1 rounded transition-colors flex items-center gap-1 ${e?"text-accent":"text-fg-dim hover:text-fg"}`,children:[c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5"}),e?c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M15.54 8.46a5 5 0 0 1 0 7.07"}),c.jsx("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14"})]}):c.jsxs(c.Fragment,{children:[c.jsx("line",{x1:"23",y1:"9",x2:"17",y2:"15"}),c.jsx("line",{x1:"17",y1:"9",x2:"23",y2:"15"})]})]}),c.jsx("span",{className:"text-[10px] font-medium tracking-wide",children:"TTS"})]})}const lO=[{key:"overview",label:"Home",icon:"home",hint:"Today's sessions + the 5-hour window"},{key:"terminal",label:"Terminal",icon:"terminal",hint:"Live Claude Code, in-app"},{key:"subagents",label:"Subagents",icon:"hive",liveKind:"subagents",hint:"Fan out work: Hive · Orchestrate · Race · Boss"},{key:"scheduler",label:"Scheduler",icon:"scheduler",liveKind:"scheduler",hint:"Author PRDs + run them as claude -p jobs"},{key:"prompts",label:"Prompts",icon:"book",hint:"Click-to-insert prompt library"},{key:"tasks",label:"Tasks",icon:"tasks",liveKind:"tasks",hint:"Active to-dos across sessions"},{key:"history",label:"History",icon:"history",hint:"Every session, ever — resumable"},{key:"usage",label:"Usage",icon:"usage",hint:"Tokens, cost, sessions per day"},{key:"knowledge-graph",label:"Knowledge Graph",icon:"knowledge-graph",hint:"Distilled graph + Q&A over your prompt log"}],cO=[{key:"skills",label:"Skills",icon:"skills",hint:"Reusable instructions Claude loads"},{key:"plugins",label:"Plugins",icon:"plugins",hint:"Extensions for Claude Code"},{key:"mcp",label:"MCP Servers",icon:"mcp",hint:"External tools and integrations"},{key:"hooks",label:"Hooks",icon:"hooks",hint:"Run scripts on session events"},{key:"keybindings",label:"Keybindings",icon:"keys",hint:"Shortcuts you can override"},{key:"doc-editor",label:"Doc Editor",icon:"docs",hint:"Edit CLAUDE.md and friends"},{key:"memory",label:"Memory",icon:"memory",hint:"Workspace memory store"},{key:"projects",label:"Projects",icon:"projects",hint:"All known project folders"},{key:"system-prompt",label:"System Prompt",icon:"system-prompt",hint:"Personality and behavior"},{key:"permissions",label:"Permissions",icon:"permissions",hint:"Allow / deny rules"},{key:"settings",label:"Settings",icon:"settings",hint:"Theme, voice, billing window"},{key:"remote",label:"Remote",icon:"remote",hint:"Web remote control — disabled by default"}],uO=[{key:"voice",label:"Voice",icon:"mic",hint:"Whisper transcription + push-to-talk"},{key:"repoviz",label:"Repo Viz",icon:"repoviz",hint:"Language + directory map"},{key:"search",label:"Search",icon:"global-search",hint:"⌘P file · ⌘⇧F content"}],fE="sm.almanac.sidebarWidth",n4=180,i4=480,hE=252;function Pq(){try{const e=parseInt(localStorage.getItem(fE)??"",10);if(Number.isFinite(e))return Math.min(i4,Math.max(n4,e))}catch{}return hE}const s4="sm.almanac.sidebarMode";function Rq(){try{return localStorage.getItem(s4)==="files"?"files":"nav"}catch{return"nav"}}const a4="sm.almanac.collapsedGroups";function Mq(){try{const e=localStorage.getItem(a4);if(!e)return new Set;const r=JSON.parse(e);return Array.isArray(r)?new Set(r.filter(n=>n==="Workspace"||n==="Configure"||n==="Tools")):new Set}catch{return new Set}}function Iq(){const e=i0(a=>a.tabs),r=Tu(a=>{var l;return(((l=a.snapshot)==null?void 0:l.jobs)??[]).some(o=>o.status==="running")}),[n,i]=B.useState(()=>Date.now());B.useEffect(()=>{const a=setInterval(()=>i(Date.now()),5e3);return()=>clearInterval(a)},[]);const s=Object.values(e);return{subagents:s.some(a=>a.agents.some(l=>n-l.at<6e4)),tasks:s.some(a=>a.todos.some(l=>l.status==="in_progress")),scheduler:r}}function Dq({active:e,onNavigate:r,onNewSession:n,onOpenFile:i}){const[s,a]=B.useState(()=>Rq()),l=B.useCallback(C=>{a(C);try{localStorage.setItem(s4,C)}catch{}},[]),[o,u]=B.useState(()=>Mq()),f=B.useCallback(C=>{u(T=>{const j=new Set(T);j.has(C)?j.delete(C):j.add(C);try{localStorage.setItem(a4,JSON.stringify(Array.from(j)))}catch{}return j})},[]),m=Qt(C=>C.tabs),h=Qt(C=>C.activeTabId),y=m.find(C=>C.id===h)??null,x=Iq(),[k,_]=B.useState(()=>Pq()),b=B.useRef(k);b.current=k;const w=B.useCallback(C=>{C.preventDefault();const T=C.clientX,j=b.current;let A=j;const N=I=>{A=Math.min(i4,Math.max(n4,j+(I.clientX-T))),_(A)},O=()=>{window.removeEventListener("pointermove",N),window.removeEventListener("pointerup",O),document.body.style.cursor="",document.body.style.userSelect="";try{localStorage.setItem(fE,String(A))}catch{}};window.addEventListener("pointermove",N),window.addEventListener("pointerup",O),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[]),S=B.useCallback(()=>{_(hE);try{localStorage.setItem(fE,String(hE))}catch{}},[]);return c.jsxs("aside",{className:"shrink-0 bg-bg-elev border-r border-line flex flex-col relative",style:{width:k},"data-testid":"tour-leftnav","aria-label":"Primary navigation",children:[c.jsx(Lq,{tab:y,onNewSession:n}),c.jsx("div",{className:"px-3.5 pt-3 pb-2 flex gap-1",children:["nav","files"].map(C=>c.jsx("button",{onClick:()=>l(C),"aria-pressed":s===C,className:`flex-1 py-1.5 rounded-md text-[12px] font-semibold tracking-[0.02em] transition-colors ${s===C?"bg-bg-hi text-fg border border-line":"text-fg-faint hover:text-fg-dim border border-transparent"}`,children:C==="nav"?"Navigate":"Files"},C))}),c.jsx("div",{className:"flex-1 min-h-0 overflow-auto px-2 pb-3",children:s==="nav"?c.jsxs(c.Fragment,{children:[c.jsx(f1,{label:"Workspace",collapsed:o.has("Workspace"),count:lO.length,onToggle:()=>f("Workspace")}),!o.has("Workspace")&&lO.map(C=>c.jsx(dO,{item:C,active:e===C.key,live:C.liveKind?x[C.liveKind]:!1,onClick:()=>r(C.key)},C.key)),c.jsx(f1,{label:"Configure",collapsed:o.has("Configure"),count:cO.length,onToggle:()=>f("Configure")}),!o.has("Configure")&&cO.map(C=>c.jsx(dO,{item:C,active:e===C.key,live:!1,onClick:()=>r(C.key)},C.key)),c.jsx(f1,{label:"Tools",collapsed:o.has("Tools"),count:uO.length,onToggle:()=>f("Tools")}),!o.has("Tools")&&uO.map(C=>c.jsx(Fq,{tool:C,active:e===C.key,onClick:()=>r(C.key)},C.key))]}):c.jsx(Uq,{tab:y,onOpenFile:i})}),c.jsx(Wq,{}),c.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize sidebar",title:"Drag to resize · double-click to reset",onPointerDown:w,onDoubleClick:S,className:"absolute top-0 right-0 h-full w-1.5 translate-x-1/2 z-10 cursor-col-resize hover:bg-accent/40 active:bg-accent/60 transition-colors"})]})}function Lq({tab:e,onNewSession:r}){const n=(e==null?void 0:e.label)??"no session",i=zq((e==null?void 0:e.cwd)??null);return c.jsxs("div",{className:"px-[18px] pt-[14px] pb-[10px] border-b border-rule",children:[c.jsx("div",{className:"text-[11px] font-semibold tracking-[0.06em] text-fg-faint uppercase",children:"Project"}),c.jsxs("div",{className:"flex items-baseline gap-2 mt-1",children:[c.jsx("span",{className:"self-center w-2 h-2 rounded-full bg-sage"}),c.jsx("span",{className:"font-serif text-[18px] font-medium text-fg truncate",title:(e==null?void 0:e.cwd)??"",children:n})]}),c.jsx("div",{className:"text-[12px] text-fg-faint font-mono mt-0.5 truncate",children:i?`⌥${i}`:e?e.cwd:"—"}),c.jsxs("div",{className:"mt-3 flex items-stretch gap-1.5",children:[c.jsxs("button",{onClick:r,"data-testid":"tour-new-session",className:"flex-1 px-3 py-1.5 rounded-md bg-bg-hi border border-line text-fg text-[12.5px] font-medium hover:bg-bg-hi/80 hover:border-accent/40 transition-colors flex items-center justify-center gap-1.5",children:[c.jsx(us,{name:"plus",size:13,stroke:1.8}),"New session"]}),c.jsx("div",{className:"flex items-center rounded-md bg-bg-hi border border-line",children:c.jsx(r4,{})})]})]})}const bx=new Map,Bq=3e4;function zq(e){const[r,n]=B.useState(()=>{var i;return e?((i=bx.get(e))==null?void 0:i.value)??null:null});return B.useEffect(()=>{if(!e){n(null);return}let i=!1;return(async()=>{const a=bx.get(e);if(a&&Date.now()-a.ts<Bq){i||n(a.value);return}try{const l=await window.api.app.gitBranch(e);if(i)return;bx.set(e,{value:l,ts:Date.now()}),n(l)}catch{if(i)return;bx.set(e,{value:null,ts:Date.now()}),n(null)}})(),()=>{i=!0}},[e]),r}function f1({label:e,collapsed:r,count:n,onToggle:i}){return c.jsxs("button",{onClick:i,"aria-expanded":!r,title:r?`Expand ${e}`:`Collapse ${e}`,className:"group w-full flex items-center gap-1.5 px-3 pt-3.5 pb-1.5 font-serif italic text-[11px] font-bold tracking-[0.07em] uppercase text-fg-faint hover:text-fg-dim transition-colors text-left",children:[c.jsx("span",{"aria-hidden":!0,className:"inline-block w-2 text-[9px] not-italic transition-transform",style:{transform:r?"rotate(-90deg)":"rotate(0deg)"},children:"▾"}),c.jsx("span",{className:"flex-1",children:e}),r&&c.jsx("span",{className:"not-italic text-[10px] font-mono text-fg-faint/70 normal-case tracking-normal",children:n})]})}function dO({item:e,active:r,live:n,onClick:i}){return c.jsxs("button",{onClick:i,title:e.hint,className:`relative w-full flex items-center gap-3 px-3.5 py-[9px] rounded-[10px] text-left text-[14px] mb-0.5 transition-colors ${r?"bg-bg-hi text-fg font-semibold border border-line":"text-fg-dim hover:bg-bg-hi/50 hover:text-fg border border-transparent"}`,children:[r&&c.jsx("span",{"aria-hidden":!0,className:"absolute -left-[10px] top-3 bottom-3 w-[3px] rounded-sm bg-accent"}),c.jsx("span",{className:`inline-flex ${r?"text-accent":"text-fg-faint"}`,children:c.jsx(us,{name:e.icon,size:17,stroke:1.6})}),c.jsx("span",{className:"flex-1 truncate",children:e.label}),n&&c.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-accent animate-pulse",title:"live activity"})]})}function Fq({tool:e,active:r,onClick:n}){return c.jsxs("button",{onClick:n,title:e.hint,className:`relative w-full flex items-center gap-3 px-3.5 py-[7px] rounded-[10px] text-left text-[13px] mb-0.5 transition-colors ${r?"bg-bg-hi text-fg font-semibold border border-line":"text-fg-dim hover:bg-bg-hi/50 hover:text-fg border border-transparent"}`,children:[r&&c.jsx("span",{"aria-hidden":!0,className:"absolute -left-[10px] top-2 bottom-2 w-[3px] rounded-sm bg-accent"}),c.jsx("span",{className:`inline-flex ${r?"text-accent":"text-fg-faint"}`,children:c.jsx(us,{name:e.icon,size:15,stroke:1.6})}),c.jsx("span",{className:"flex-1 truncate",children:e.label})]})}function Uq({tab:e,onOpenFile:r}){return e?c.jsxs("div",{className:"pt-1",children:[c.jsx("div",{className:"px-3 pb-2 text-[11.5px] text-fg-faint font-mono truncate",title:e.cwd,children:qq(e.cwd)}),c.jsx(mq,{cwd:e.cwd,activeTabId:e.id,onPreviewFile:r})]}):c.jsx("div",{className:"px-3 py-6 text-center text-[12px] text-fg-faint",children:"No session selected."})}function qq(e){const r="/home/";if(e.startsWith(r)){const n=e.slice(r.length).split("/").slice(1).join("/");return n?`~/${n}`:"~"}return e}function Wq(){const e=Lt(l=>l.isRecording),r=Qt(l=>l.tabs),n=Qt(l=>l.activeTabId),i=r.find(l=>l.id===n)??null,[s,a]=B.useState(null);return B.useEffect(()=>{let l=!1;if(!(i!=null&&i.presetId)){a(null);return}return R5(i.presetId).then(o=>{l||a((o==null?void 0:o.model)??null)}).catch(()=>{l||a(null)}),()=>{l=!0}},[i==null?void 0:i.presetId]),c.jsxs("div",{className:"px-3.5 py-2.5 border-t border-rule flex items-center gap-2 text-[11.5px] text-fg-dim font-mono",children:[c.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${e?"bg-red-500 animate-pulse":"bg-sage"}`,title:e?"recording":"idle"}),c.jsx("span",{className:"truncate",title:s??"",children:e?"recording…":s?`Claude · ${Hq(s)}`:"Claude Code"})]})}function Hq(e){var n,i,s,a,l,o;const r=e.toLowerCase();if(r.includes("opus")){const u=(i=(n=e.match(/(\d+[-.]?\d*)/))==null?void 0:n[1])==null?void 0:i.replace("-",".");return u?`Opus ${u}`:"Opus"}if(r.includes("sonnet")){const u=(a=(s=e.match(/(\d+[-.]?\d*)/))==null?void 0:s[1])==null?void 0:a.replace("-",".");return u?`Sonnet ${u}`:"Sonnet"}if(r.includes("haiku")){const u=(o=(l=e.match(/(\d+[-.]?\d*)/))==null?void 0:l[1])==null?void 0:o.replace("-",".");return u?`Haiku ${u}`:"Haiku"}return e}function Gq({onNavigate:e}){const r=Qt(b=>b.tabs),n=Qt(b=>b.activeTabId),i=r.find(b=>b.id===n)??null,s=vT(i),a=(s==null?void 0:s.lastEventAt)??0,l=xp(b=>b.data),o=Tu(b=>{var w;return((w=b.snapshot)==null?void 0:w.paused)??null}),[u,f]=B.useState(null),[,m]=B.useState(0);B.useEffect(()=>{const b=setInterval(()=>m(w=>w+1),6e4);return()=>clearInterval(b)},[]),B.useEffect(()=>{let b=!1;if(!(i!=null&&i.cwd)){f(null);return}return window.api.app.gitBranch(i.cwd).then(w=>{b||f(w)}).catch(()=>{b||f(null)}),()=>{b=!0}},[i==null?void 0:i.cwd]);const h=Kw(l),y=(h==null?void 0:h.usage.five_hour)??null,x=y?Math.round(y.utilization):null,k=(l==null?void 0:l.kind)==="ok"||(l==null?void 0:l.kind)==="ok-stale",_=a>0?Vq(Date.now()-a):"—";return c.jsxs("div",{className:"h-[30px] shrink-0 bg-bg-elev border-t border-line flex items-center gap-4 px-[18px] font-mono text-[11.5px] text-fg-dim","data-testid":"tour-statusbar",children:[c.jsxs("button",{onClick:()=>e==null?void 0:e("settings"),className:"flex items-center gap-1.5 hover:text-fg transition-colors",title:k?"Connected to Anthropic":"Disconnected",children:[c.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${k?"bg-sage":"bg-fg-faint"}`}),c.jsx("span",{children:k?"connected":"offline"})]}),c.jsx("button",{onClick:()=>e==null?void 0:e("usage"),className:"hover:text-fg transition-colors",title:"Open Usage",children:x!=null?`${x}% of 5h window used`:"5h —"}),o&&c.jsxs("button",{onClick:()=>e==null?void 0:e("scheduler"),title:"Scheduler is paused — click to open Scheduler",className:`flex items-center gap-1 px-1.5 py-0.5 rounded border font-mono text-[10.5px] transition-colors ${o.reason==="auth"||o.reason==="network"?"border-red-700/60 text-red-300 hover:bg-red-900/20":"border-amber-700/60 text-amber-300 hover:bg-amber-900/20"}`,children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-current opacity-80"}),"Scheduler paused · ",o.reason]}),i&&c.jsxs("span",{className:"text-fg-faint",title:i.cwd,children:[i.label,u&&c.jsxs("span",{className:"text-fg-dim",children:[" · ⌥",u]})]}),c.jsxs("span",{className:"text-fg-faint",children:["last activity: ",c.jsx("span",{className:"text-fg-dim",children:_})]}),c.jsx("span",{className:"flex-1"}),c.jsxs("span",{className:"text-fg-faint",children:["v","0.25.0"]})]})}function Vq(e){const r=Math.max(0,Math.floor(e/1e3));if(r<60)return`${r}s ago`;const n=Math.floor(r/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}var h1={exports:{}},fO;function Kq(){return fO||(fO=1,(function(e,r){(function(n,i){e.exports=i()})(globalThis,(()=>(()=>{var n={4567:function(l,o,u){var f=this&&this.__decorate||function(S,C,T,j){var A,N=arguments.length,O=N<3?C:j===null?j=Object.getOwnPropertyDescriptor(C,T):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(S,C,T,j);else for(var I=S.length-1;I>=0;I--)(A=S[I])&&(O=(N<3?A(O):N>3?A(C,T,O):A(C,T))||O);return N>3&&O&&Object.defineProperty(C,T,O),O},m=this&&this.__param||function(S,C){return function(T,j){C(T,j,S)}};Object.defineProperty(o,"__esModule",{value:!0}),o.AccessibilityManager=void 0;const h=u(9042),y=u(9924),x=u(844),k=u(4725),_=u(2585),b=u(3656);let w=o.AccessibilityManager=class extends x.Disposable{constructor(S,C,T,j){super(),this._terminal=S,this._coreBrowserService=T,this._renderService=j,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let A=0;A<this._terminal.rows;A++)this._rowElements[A]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[A]);if(this._topBoundaryFocusListener=A=>this._handleBoundaryFocus(A,0),this._bottomBoundaryFocusListener=A=>this._handleBoundaryFocus(A,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new y.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((A=>this._handleResize(A.rows)))),this.register(this._terminal.onRender((A=>this._refreshRows(A.start,A.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((A=>this._handleChar(A)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
2896
2896
  `)))),this.register(this._terminal.onA11yTab((A=>this._handleTab(A)))),this.register(this._terminal.onKey((A=>this._handleKey(A.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,b.addDisposableDomListener)(document,"selectionchange",(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,x.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(S){for(let C=0;C<S;C++)this._handleChar(" ")}_handleChar(S){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==S&&(this._charsToAnnounce+=S):this._charsToAnnounce+=S,S===`
2897
2897
  `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=h.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(S){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(S)||this._charsToConsume.push(S)}_refreshRows(S,C){this._liveRegionDebouncer.refresh(S,C,this._terminal.rows)}_renderRows(S,C){const T=this._terminal.buffer,j=T.lines.length.toString();for(let A=S;A<=C;A++){const N=T.lines.get(T.ydisp+A),O=[],I=(N==null?void 0:N.translateToString(!0,void 0,void 0,O))||"",W=(T.ydisp+A+1).toString(),G=this._rowElements[A];G&&(I.length===0?(G.innerText=" ",this._rowColumns.set(G,[0,1])):(G.textContent=I,this._rowColumns.set(G,O)),G.setAttribute("aria-posinset",W),G.setAttribute("aria-setsize",j))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(S,C){const T=S.target,j=this._rowElements[C===0?1:this._rowElements.length-2];if(T.getAttribute("aria-posinset")===(C===0?"1":`${this._terminal.buffer.lines.length}`)||S.relatedTarget!==j)return;let A,N;if(C===0?(A=T,N=this._rowElements.pop(),this._rowContainer.removeChild(N)):(A=this._rowElements.shift(),N=T,this._rowContainer.removeChild(A)),A.removeEventListener("focus",this._topBoundaryFocusListener),N.removeEventListener("focus",this._bottomBoundaryFocusListener),C===0){const O=this._createAccessibilityTreeNode();this._rowElements.unshift(O),this._rowContainer.insertAdjacentElement("afterbegin",O)}else{const O=this._createAccessibilityTreeNode();this._rowElements.push(O),this._rowContainer.appendChild(O)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(C===0?-1:1),this._rowElements[C===0?1:this._rowElements.length-2].focus(),S.preventDefault(),S.stopImmediatePropagation()}_handleSelectionChange(){var I;if(this._rowElements.length===0)return;const S=document.getSelection();if(!S)return;if(S.isCollapsed)return void(this._rowContainer.contains(S.anchorNode)&&this._terminal.clearSelection());if(!S.anchorNode||!S.focusNode)return void console.error("anchorNode and/or focusNode are null");let C={node:S.anchorNode,offset:S.anchorOffset},T={node:S.focusNode,offset:S.focusOffset};if((C.node.compareDocumentPosition(T.node)&Node.DOCUMENT_POSITION_PRECEDING||C.node===T.node&&C.offset>T.offset)&&([C,T]=[T,C]),C.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(C={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(C.node))return;const j=this._rowElements.slice(-1)[0];if(T.node.compareDocumentPosition(j)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(T={node:j,offset:((I=j.textContent)==null?void 0:I.length)??0}),!this._rowContainer.contains(T.node))return;const A=({node:W,offset:G})=>{const V=W instanceof Text?W.parentNode:W;let F=parseInt(V==null?void 0:V.getAttribute("aria-posinset"),10)-1;if(isNaN(F))return console.warn("row is invalid. Race condition?"),null;const z=this._rowColumns.get(V);if(!z)return console.warn("columns is null. Race condition?"),null;let H=G<z.length?z[G]:z.slice(-1)[0]+1;return H>=this._terminal.cols&&(++F,H=0),{row:F,column:H}},N=A(C),O=A(T);if(N&&O){if(N.row>O.row||N.row===O.row&&N.column>=O.column)throw new Error("invalid range");this._terminal.select(N.column,N.row,(O.row-N.row)*this._terminal.cols-N.column+O.column)}}_handleResize(S){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let C=this._rowContainer.children.length;C<this._terminal.rows;C++)this._rowElements[C]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[C]);for(;this._rowElements.length>S;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const S=this._coreBrowserService.mainDocument.createElement("div");return S.setAttribute("role","listitem"),S.tabIndex=-1,this._refreshRowDimensions(S),S}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let S=0;S<this._terminal.rows;S++)this._refreshRowDimensions(this._rowElements[S])}}_refreshRowDimensions(S){S.style.height=`${this._renderService.dimensions.css.cell.height}px`}};o.AccessibilityManager=w=f([m(1,_.IInstantiationService),m(2,k.ICoreBrowserService),m(3,k.IRenderService)],w)},3614:(l,o)=>{function u(y){return y.replace(/\r?\n/g,"\r")}function f(y,x){return x?"\x1B[200~"+y+"\x1B[201~":y}function m(y,x,k,_){y=f(y=u(y),k.decPrivateModes.bracketedPasteMode&&_.rawOptions.ignoreBracketedPasteMode!==!0),k.triggerDataEvent(y,!0),x.value=""}function h(y,x,k){const _=k.getBoundingClientRect(),b=y.clientX-_.left-10,w=y.clientY-_.top-10;x.style.width="20px",x.style.height="20px",x.style.left=`${b}px`,x.style.top=`${w}px`,x.style.zIndex="1000",x.focus()}Object.defineProperty(o,"__esModule",{value:!0}),o.rightClickHandler=o.moveTextAreaUnderMouseCursor=o.paste=o.handlePasteEvent=o.copyHandler=o.bracketTextForPaste=o.prepareTextForTerminal=void 0,o.prepareTextForTerminal=u,o.bracketTextForPaste=f,o.copyHandler=function(y,x){y.clipboardData&&y.clipboardData.setData("text/plain",x.selectionText),y.preventDefault()},o.handlePasteEvent=function(y,x,k,_){y.stopPropagation(),y.clipboardData&&m(y.clipboardData.getData("text/plain"),x,k,_)},o.paste=m,o.moveTextAreaUnderMouseCursor=h,o.rightClickHandler=function(y,x,k,_,b){h(y,x,k),b&&_.rightClickSelect(y),x.value=_.selectionText,x.select()}},7239:(l,o,u)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ColorContrastCache=void 0;const f=u(1505);o.ColorContrastCache=class{constructor(){this._color=new f.TwoKeyMap,this._css=new f.TwoKeyMap}setCss(m,h,y){this._css.set(m,h,y)}getCss(m,h){return this._css.get(m,h)}setColor(m,h,y){this._color.set(m,h,y)}getColor(m,h){return this._color.get(m,h)}clear(){this._color.clear(),this._css.clear()}}},3656:(l,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.addDisposableDomListener=void 0,o.addDisposableDomListener=function(u,f,m,h){u.addEventListener(f,m,h);let y=!1;return{dispose:()=>{y||(y=!0,u.removeEventListener(f,m,h))}}}},3551:function(l,o,u){var f=this&&this.__decorate||function(w,S,C,T){var j,A=arguments.length,N=A<3?S:T===null?T=Object.getOwnPropertyDescriptor(S,C):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")N=Reflect.decorate(w,S,C,T);else for(var O=w.length-1;O>=0;O--)(j=w[O])&&(N=(A<3?j(N):A>3?j(S,C,N):j(S,C))||N);return A>3&&N&&Object.defineProperty(S,C,N),N},m=this&&this.__param||function(w,S){return function(C,T){S(C,T,w)}};Object.defineProperty(o,"__esModule",{value:!0}),o.Linkifier=void 0;const h=u(3656),y=u(8460),x=u(844),k=u(2585),_=u(4725);let b=o.Linkifier=class extends x.Disposable{get currentLink(){return this._currentLink}constructor(w,S,C,T,j){super(),this._element=w,this._mouseService=S,this._renderService=C,this._bufferService=T,this._linkProviderService=j,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new y.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new y.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,x.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,x.toDisposable)((()=>{var A;this._lastMouseEvent=void 0,(A=this._activeProviderReplies)==null||A.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,h.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,h.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,h.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,h.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(w){this._lastMouseEvent=w;const S=this._positionFromMouseEvent(w,this._element,this._mouseService);if(!S)return;this._isMouseOut=!1;const C=w.composedPath();for(let T=0;T<C.length;T++){const j=C[T];if(j.classList.contains("xterm"))break;if(j.classList.contains("xterm-hover"))return}this._lastBufferCell&&S.x===this._lastBufferCell.x&&S.y===this._lastBufferCell.y||(this._handleHover(S),this._lastBufferCell=S)}_handleHover(w){if(this._activeLine!==w.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(w,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,w)||(this._clearCurrentLink(),this._askForLink(w,!0))}_askForLink(w,S){var T,j;this._activeProviderReplies&&S||((T=this._activeProviderReplies)==null||T.forEach((A=>{A==null||A.forEach((N=>{N.link.dispose&&N.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=w.y);let C=!1;for(const[A,N]of this._linkProviderService.linkProviders.entries())S?(j=this._activeProviderReplies)!=null&&j.get(A)&&(C=this._checkLinkProviderResult(A,w,C)):N.provideLinks(w.y,(O=>{var W,G;if(this._isMouseOut)return;const I=O==null?void 0:O.map((V=>({link:V})));(W=this._activeProviderReplies)==null||W.set(A,I),C=this._checkLinkProviderResult(A,w,C),((G=this._activeProviderReplies)==null?void 0:G.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(w.y,this._activeProviderReplies)}))}_removeIntersectingLinks(w,S){const C=new Set;for(let T=0;T<S.size;T++){const j=S.get(T);if(j)for(let A=0;A<j.length;A++){const N=j[A],O=N.link.range.start.y<w?0:N.link.range.start.x,I=N.link.range.end.y>w?this._bufferService.cols:N.link.range.end.x;for(let W=O;W<=I;W++){if(C.has(W)){j.splice(A--,1);break}C.add(W)}}}}_checkLinkProviderResult(w,S,C){var A;if(!this._activeProviderReplies)return C;const T=this._activeProviderReplies.get(w);let j=!1;for(let N=0;N<w;N++)this._activeProviderReplies.has(N)&&!this._activeProviderReplies.get(N)||(j=!0);if(!j&&T){const N=T.find((O=>this._linkAtPosition(O.link,S)));N&&(C=!0,this._handleNewLink(N))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!C)for(let N=0;N<this._activeProviderReplies.size;N++){const O=(A=this._activeProviderReplies.get(N))==null?void 0:A.find((I=>this._linkAtPosition(I.link,S)));if(O){C=!0,this._handleNewLink(O);break}}return C}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(w){if(!this._currentLink)return;const S=this._positionFromMouseEvent(w,this._element,this._mouseService);S&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,S)&&this._currentLink.link.activate(w,this._currentLink.link.text)}_clearCurrentLink(w,S){this._currentLink&&this._lastMouseEvent&&(!w||!S||this._currentLink.link.range.start.y>=w&&this._currentLink.link.range.end.y<=S)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,x.disposeArray)(this._linkCacheDisposables))}_handleNewLink(w){if(!this._lastMouseEvent)return;const S=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);S&&this._linkAtPosition(w.link,S)&&(this._currentLink=w,this._currentLink.state={decorations:{underline:w.link.decorations===void 0||w.link.decorations.underline,pointerCursor:w.link.decorations===void 0||w.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,w.link,this._lastMouseEvent),w.link.decorations={},Object.defineProperties(w.link.decorations,{pointerCursor:{get:()=>{var C,T;return(T=(C=this._currentLink)==null?void 0:C.state)==null?void 0:T.decorations.pointerCursor},set:C=>{var T;(T=this._currentLink)!=null&&T.state&&this._currentLink.state.decorations.pointerCursor!==C&&(this._currentLink.state.decorations.pointerCursor=C,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",C))}},underline:{get:()=>{var C,T;return(T=(C=this._currentLink)==null?void 0:C.state)==null?void 0:T.decorations.underline},set:C=>{var T,j,A;(T=this._currentLink)!=null&&T.state&&((A=(j=this._currentLink)==null?void 0:j.state)==null?void 0:A.decorations.underline)!==C&&(this._currentLink.state.decorations.underline=C,this._currentLink.state.isHovered&&this._fireUnderlineEvent(w.link,C))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((C=>{if(!this._currentLink)return;const T=C.start===0?0:C.start+1+this._bufferService.buffer.ydisp,j=this._bufferService.buffer.ydisp+1+C.end;if(this._currentLink.link.range.start.y>=T&&this._currentLink.link.range.end.y<=j&&(this._clearCurrentLink(T,j),this._lastMouseEvent)){const A=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);A&&this._askForLink(A,!1)}}))))}_linkHover(w,S,C){var T;(T=this._currentLink)!=null&&T.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(S,!0),this._currentLink.state.decorations.pointerCursor&&w.classList.add("xterm-cursor-pointer")),S.hover&&S.hover(C,S.text)}_fireUnderlineEvent(w,S){const C=w.range,T=this._bufferService.buffer.ydisp,j=this._createLinkUnderlineEvent(C.start.x-1,C.start.y-T-1,C.end.x,C.end.y-T-1,void 0);(S?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(j)}_linkLeave(w,S,C){var T;(T=this._currentLink)!=null&&T.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(S,!1),this._currentLink.state.decorations.pointerCursor&&w.classList.remove("xterm-cursor-pointer")),S.leave&&S.leave(C,S.text)}_linkAtPosition(w,S){const C=w.range.start.y*this._bufferService.cols+w.range.start.x,T=w.range.end.y*this._bufferService.cols+w.range.end.x,j=S.y*this._bufferService.cols+S.x;return C<=j&&j<=T}_positionFromMouseEvent(w,S,C){const T=C.getCoords(w,S,this._bufferService.cols,this._bufferService.rows);if(T)return{x:T[0],y:T[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(w,S,C,T,j){return{x1:w,y1:S,x2:C,y2:T,cols:this._bufferService.cols,fg:j}}};o.Linkifier=b=f([m(1,_.IMouseService),m(2,_.IRenderService),m(3,k.IBufferService),m(4,_.ILinkProviderService)],b)},9042:(l,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.tooMuchOutput=o.promptLabel=void 0,o.promptLabel="Terminal input",o.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(l,o,u){var f=this&&this.__decorate||function(_,b,w,S){var C,T=arguments.length,j=T<3?b:S===null?S=Object.getOwnPropertyDescriptor(b,w):S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(_,b,w,S);else for(var A=_.length-1;A>=0;A--)(C=_[A])&&(j=(T<3?C(j):T>3?C(b,w,j):C(b,w))||j);return T>3&&j&&Object.defineProperty(b,w,j),j},m=this&&this.__param||function(_,b){return function(w,S){b(w,S,_)}};Object.defineProperty(o,"__esModule",{value:!0}),o.OscLinkProvider=void 0;const h=u(511),y=u(2585);let x=o.OscLinkProvider=class{constructor(_,b,w){this._bufferService=_,this._optionsService=b,this._oscLinkService=w}provideLinks(_,b){var I;const w=this._bufferService.buffer.lines.get(_-1);if(!w)return void b(void 0);const S=[],C=this._optionsService.rawOptions.linkHandler,T=new h.CellData,j=w.getTrimmedLength();let A=-1,N=-1,O=!1;for(let W=0;W<j;W++)if(N!==-1||w.hasContent(W)){if(w.loadCell(W,T),T.hasExtendedAttrs()&&T.extended.urlId){if(N===-1){N=W,A=T.extended.urlId;continue}O=T.extended.urlId!==A}else N!==-1&&(O=!0);if(O||N!==-1&&W===j-1){const G=(I=this._oscLinkService.getLinkData(A))==null?void 0:I.uri;if(G){const V={start:{x:N+1,y:_},end:{x:W+(O||W!==j-1?0:1),y:_}};let F=!1;if(!(C!=null&&C.allowNonHttpProtocols))try{const z=new URL(G);["http:","https:"].includes(z.protocol)||(F=!0)}catch{F=!0}F||S.push({text:G,range:V,activate:(z,H)=>C?C.activate(z,H,V):k(0,H),hover:(z,H)=>{var X;return(X=C==null?void 0:C.hover)==null?void 0:X.call(C,z,H,V)},leave:(z,H)=>{var X;return(X=C==null?void 0:C.leave)==null?void 0:X.call(C,z,H,V)}})}O=!1,T.hasExtendedAttrs()&&T.extended.urlId?(N=W,A=T.extended.urlId):(N=-1,A=-1)}}b(S)}};function k(_,b){if(confirm(`Do you want to navigate to ${b}?
2898
2898
 
@@ -3504,7 +3504,7 @@ Invoke the \`security-review\` skill on the currently staged diff. Walk OWASP To
3504
3504
  `,n0e="---\nid: security/secret-credential-scan\ntitle: Secret + credential scan with remediation plan\ncategory: Security\nsendMode: auto-fire\ndescription: Greps the tree for hardcoded secrets, checks git history, and orders rotate → redact → gitignore.\n---\nGrep the working tree for hardcoded secrets — API keys, OAuth tokens, JWTs, private keys, database URLs with embedded passwords, and webhook signing secrets. Use both pattern matching (e.g., `sk-`, `xoxb-`, `AKIA`, `-----BEGIN`, `Bearer `) and entropy heuristics on string literals over 20 chars. For each finding report file:line, the secret type, whether it is in tracked git history (`git log -S`), and a remediation order: rotate first, then redact, then add to `.gitignore`/secret manager. Do not print the secret value in clear — show a masked prefix only.\n",i0e=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/,s0e=["id","title","category","sendMode","description"];function j8(e){const r=e.match(i0e);if(!r)return console.error("[promptFrontmatter] no frontmatter block found"),null;const n=r[1],i=(r[2]??"").trim(),s={};for(const l of n.split(/\r?\n/)){const o=l.indexOf(":");if(o<0||l.startsWith(" ")||l.startsWith(" "))continue;const u=l.slice(0,o).trim(),f=l.slice(o+1).trim();u&&(s[u]=f)}for(const l of s0e)if(!s[l])return console.error(`[promptFrontmatter] missing required key "${l}" in: ${e.slice(0,120).replace(/\n/g,"\\n")}`),null;const a=s.sendMode==="auto-fire"?"auto-fire":"paste";return{id:s.id,title:s.title,category:s.category,sendMode:a,description:s.description,body:i}}const a0e=Object.assign({"../../seed/prompts/code-review/ac-coverage-check.md":fxe,"../../seed/prompts/code-review/correctness-only.md":hxe,"../../seed/prompts/code-review/full-spectrum-high.md":pxe,"../../seed/prompts/code-review/hallucination-check.md":mxe,"../../seed/prompts/code-review/public-api-compat.md":gxe,"../../seed/prompts/code-review/readability-naming.md":vxe,"../../seed/prompts/debugging/bug-as-failing-test.md":yxe,"../../seed/prompts/debugging/git-bisect-regression.md":bxe,"../../seed/prompts/debugging/instrument-intermittent-bug.md":xxe,"../../seed/prompts/debugging/localize-pipeline-failure.md":wxe,"../../seed/prompts/debugging/reproduce-then-diagnose.md":_xe,"../../seed/prompts/documentation/adr-from-change.md":Sxe,"../../seed/prompts/documentation/module-readme.md":kxe,"../../seed/prompts/documentation/onboarding-plan.md":Cxe,"../../seed/prompts/documentation/refresh-claude-md.md":Exe,"../../seed/prompts/documentation/tsdoc-public-exports.md":jxe,"../../seed/prompts/git-pr/conventional-commit.md":Txe,"../../seed/prompts/git-pr/draft-pr-title-body.md":Axe,"../../seed/prompts/git-pr/pre-commit-safety-sweep.md":$xe,"../../seed/prompts/git-pr/release-notes-block.md":Oxe,"../../seed/prompts/git-pr/split-large-pr.md":Nxe,"../../seed/prompts/performance/bundle-startup-audit.md":Pxe,"../../seed/prompts/performance/complexity-audit.md":Rxe,"../../seed/prompts/performance/cpu-profile-hot-path.md":Mxe,"../../seed/prompts/performance/db-query-plan-review.md":Ixe,"../../seed/prompts/performance/memory-leak-hunt.md":Dxe,"../../seed/prompts/qa/api-contract-tests.md":Lxe,"../../seed/prompts/qa/e2e-critical-path.md":Bxe,"../../seed/prompts/qa/failing-test-for-bug.md":zxe,"../../seed/prompts/qa/find-missing-test-coverage.md":Fxe,"../../seed/prompts/qa/stabilize-flaky-test.md":Uxe,"../../seed/prompts/qa/tdd-red-first.md":qxe,"../../seed/prompts/qa/visual-regression-review.md":Wxe,"../../seed/prompts/qa/wcag-axe-scan.md":Hxe,"../../seed/prompts/refactoring/dead-code-sweep.md":Gxe,"../../seed/prompts/refactoring/extract-duplicated-pattern.md":Vxe,"../../seed/prompts/refactoring/modernize-legacy-file.md":Kxe,"../../seed/prompts/refactoring/reduce-cyclomatic-complexity.md":Xxe,"../../seed/prompts/refactoring/tighten-module-boundaries.md":Yxe,"../../seed/prompts/security/authz-audit.md":Jxe,"../../seed/prompts/security/crypto-correctness.md":Qxe,"../../seed/prompts/security/cwe-top-25-hunt.md":Zxe,"../../seed/prompts/security/dependency-audit.md":e0e,"../../seed/prompts/security/ipc-boundary-hardening.md":t0e,"../../seed/prompts/security/owasp-top-10-staged-diff.md":r0e,"../../seed/prompts/security/secret-credential-scan.md":n0e}),Ud=Object.values(a0e).map(j8).filter(e=>e!==null);let e0=null;async function i$(){return e0||(e0=await window.api.app.homeDir(),e0)}function s$(e){const r=Ud.find(n=>n.id===e);if(!r)throw new Error(`[promptsStore] unknown prompt id: ${e}`);return r}function a$(e,r){if(!/^[a-z0-9][a-z0-9_-]*\/[a-z0-9][a-z0-9_-]*$/i.test(r))throw new Error(`invalid prompt id: ${r}`);return`${e}/.claude/session-manager/prompts/${r}.md`}function o0e(e,r){return["---",`id: ${e.id}`,`title: ${e.title}`,`category: ${e.category}`,`sendMode: ${e.sendMode}`,`description: ${e.description}`,"---",r].join(`
3505
3505
  `)}async function d5(e){const r=s$(e);try{const n=await i$(),i=await window.api.config.readText(a$(n,e));if(i.exists&&i.text){const s=j8(i.text);if(s)return s}}catch{}return r}async function T8(e,r){const n=s$(e),i=await i$();await window.api.config.writeText(a$(i,e),o0e(n,r))}async function l0e(e){const r=s$(e),n=await i$(),i=a$(n,e);if(!(await window.api.config.readText(i)).exists)return;(await window.api.files.delete(i)).ok||await T8(e,r.body)}function c0e({prompt:e,open:r,activeTabId:n,onClose:i}){const[s,a]=B.useState(e.body),[l,o]=B.useState(e.sendMode);function u(){if(!n)return;const f=l==="auto-fire"?s+`
3506
3506
  `:s;window.api.pty.write({tabId:n,data:f}),i(),ot.info(`Sent to terminal (${l})`)}return c.jsxs(kc,{open:r,onClose:i,title:`Tweak: ${e.title}`,size:"lg",children:[c.jsx("textarea",{value:s,onChange:f=>a(f.target.value),rows:12,className:"w-full bg-bg border border-line rounded px-3 py-2 text-xs font-mono text-fg resize-y focus:outline-none focus:border-accent/60","aria-label":"Prompt body"}),c.jsxs("div",{className:"mt-3 flex items-center gap-4 text-xs text-fg-dim",children:[c.jsx("span",{className:"font-medium text-fg",children:"Send mode:"}),["paste","auto-fire"].map(f=>c.jsxs("label",{className:"flex items-center gap-1.5 cursor-pointer select-none",children:[c.jsx("input",{type:"radio",name:"sendMode",value:f,checked:l===f,onChange:()=>o(f),className:"accent-accent"}),c.jsx("span",{className:l===f?"text-fg":"",children:f})]},f)),l==="paste"&&c.jsx("span",{className:"text-fg-faint italic",children:"— you hit Enter to submit"}),l==="auto-fire"&&c.jsx("span",{className:"text-fg-faint italic",children:"— submits immediately"})]}),c.jsxs("div",{className:"mt-4 flex items-center justify-end gap-3",children:[c.jsx("button",{onClick:i,className:"text-xs text-fg-dim hover:text-fg transition-colors",children:"Cancel"}),c.jsx("button",{onClick:u,disabled:!n,title:n?void 0:"Open a terminal session first",className:"px-4 py-1.5 rounded bg-accent text-white text-xs font-medium hover:bg-accent/80 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:"Send to terminal"})]})]})}const f5=["Security","QA","Performance","Code Review","Debugging","Refactoring","Documentation","Git / PR"],h5=[...f5,...[...new Set(Ud.map(e=>e.category))].filter(e=>!f5.includes(e))],u0e={Security:"bg-red-500/10 text-red-400 border-red-500/20",QA:"bg-green-500/10 text-green-400 border-green-500/20",Performance:"bg-orange-500/10 text-orange-400 border-orange-500/20","Code Review":"bg-blue-500/10 text-blue-400 border-blue-500/20",Debugging:"bg-yellow-500/10 text-yellow-400 border-yellow-500/20",Refactoring:"bg-purple-500/10 text-purple-400 border-purple-500/20",Documentation:"bg-cyan-500/10 text-cyan-400 border-cyan-500/20","Git / PR":"bg-pink-500/10 text-pink-400 border-pink-500/20"},d0e={paste:"bg-fg-faint/10 text-fg-faint border-fg-faint/20","auto-fire":"bg-accent/10 text-accent border-accent/20"};function f0e(){const[e,r]=B.useState(""),[n,i]=B.useState(()=>{var V;return((V=Ud[0])==null?void 0:V.id)??null}),[s,a]=B.useState(!1),[l,o]=B.useState(!1),[u,f]=B.useState(null),[m,h]=B.useState(!1),[y,x]=B.useState(""),[k,_]=B.useState(!1),[b,w]=B.useState(null),S=Qt(V=>V.activeTabId),C=B.useRef(n);C.current=n,B.useEffect(()=>{if(!n){f(null);return}let V=!1;return h(!0),d5(n).then(F=>{V||(f(F),h(!1))}).catch(()=>{if(!V){const F=Ud.find(z=>z.id===n)??null;f(F),h(!1)}}),()=>{V=!0}},[n]),B.useEffect(()=>{l&&u&&(x(u.body),w(null))},[l,u]);const T=l&&u!==null&&y!==u.body,j=B.useMemo(()=>{var V;return((V=Ud.find(F=>F.id===n))==null?void 0:V.body)??null},[n]),A=u!==null&&j!==null&&u.body!==j,N=B.useMemo(()=>{const V=e.toLowerCase();return h5.map(F=>({category:F,items:Ud.filter(z=>z.category===F&&(!V||z.title.toLowerCase().includes(V)||z.description.toLowerCase().includes(V)))})).filter(F=>F.items.length>0)},[e]),O=B.useCallback(V=>{V!==n&&(i(V),o(!1),w(null))},[n]);async function I(V,F){if(!n)return;const z=n;_(!0),w(null);try{await V(z);const H=await d5(z);if(C.current!==z)return;f(H),o(!1)}catch(H){const X=H instanceof Error?H.message:F;ot.error(X),C.current===z&&w(X)}finally{_(!1)}}const W=()=>I(V=>T8(V,y),"save failed"),G=()=>I(l0e,"reset failed");return c.jsxs(un,{toolbar:c.jsxs("span",{className:"text-fg-faint",children:[Ud.length," prompts across ",h5.length," categories"]}),footer:l&&n?c.jsx($u,{dirty:T,busy:k,parseError:b,lastSavedAt:null,onSave:W,onRevert:()=>{x((u==null?void 0:u.body)??""),w(null)}}):null,children:[c.jsx(ff,{sidebarWidth:"17rem",sidebar:c.jsxs("div",{className:"py-1",children:[c.jsx("div",{className:"px-2 pb-2 pt-1",children:c.jsx("input",{value:e,onChange:V=>r(V.target.value),placeholder:"filter…",className:"w-full bg-bg border border-line rounded px-2 py-0.5 text-xs text-fg"})}),N.length===0?c.jsx("div",{className:"px-3 py-2 text-xs text-fg-faint italic",children:"no matches"}):N.map(({category:V,items:F})=>c.jsxs("div",{className:"mb-2",children:[c.jsx("div",{className:"px-3 py-1 text-[10.5px] uppercase tracking-wider text-fg-faint font-semibold",children:V}),F.map(z=>c.jsx("button",{onClick:()=>O(z.id),title:z.description,className:`w-full px-3 py-1.5 text-xs text-left truncate transition-colors ${n===z.id?"bg-bg-hi text-fg":"text-fg-dim hover:text-fg hover:bg-bg-hi/50"}`,children:z.title},z.id))]},V))]}),detail:m||!u?c.jsx(qt,{title:m?"loading…":"select a prompt"}):l?c.jsx(p0e,{draft:y,onChange:x,onCancel:()=>o(!1)}):c.jsx(h0e,{effective:u,isCustomized:A,activeTabId:S,onUsePrompt:()=>a(!0),onEdit:()=>o(!0),onReset:G})}),s&&u&&c.jsx(c0e,{prompt:u,open:s,activeTabId:S,onClose:()=>a(!1)},u.id)]})}function h0e({effective:e,isCustomized:r,activeTabId:n,onUsePrompt:i,onEdit:s,onReset:a}){const l=u0e[e.category]??"bg-fg-faint/10 text-fg-faint border-fg-faint/20",o=d0e[e.sendMode];return c.jsxs("div",{className:"p-4 flex flex-col gap-3",children:[c.jsxs("div",{className:"flex items-start gap-2 flex-wrap",children:[c.jsx("h2",{className:"text-sm font-semibold text-fg flex-1 min-w-0",children:e.title}),c.jsx("span",{className:`shrink-0 text-[10.5px] px-1.5 py-0.5 rounded border font-mono ${l}`,children:e.category}),c.jsx("span",{className:`shrink-0 text-[10.5px] px-1.5 py-0.5 rounded border font-mono ${o}`,children:e.sendMode})]}),c.jsx("p",{className:"text-xs text-fg-dim",children:e.description}),c.jsx("pre",{className:"whitespace-pre-wrap font-mono text-[12.5px] bg-bg-elev border border-line rounded p-3 text-fg overflow-x-auto",children:e.body}),c.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[c.jsxs("button",{onClick:i,className:"px-3 py-1.5 rounded bg-accent text-white text-xs font-medium hover:bg-accent/80 transition-colors",children:["Use prompt",!n&&c.jsx("span",{className:"ml-1 opacity-60 font-normal",children:"(no session)"})]}),c.jsx("button",{onClick:s,className:"px-3 py-1.5 rounded bg-bg-hi border border-line text-fg text-xs hover:bg-bg-hi/70 transition-colors",children:"Edit root template"}),r&&c.jsx("button",{onClick:a,className:"ml-auto px-3 py-1.5 rounded border border-line text-xs text-fg-dim hover:text-fg hover:border-accent/40 transition-colors",children:"Reset to default"})]})]})}function p0e({draft:e,onChange:r,onCancel:n}){return c.jsxs("div",{className:"p-4 flex flex-col gap-3 h-full",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-xs font-medium text-fg",children:"Edit root template"}),c.jsx("button",{onClick:n,className:"text-xs text-fg-dim hover:text-fg transition-colors",children:"Cancel"})]}),c.jsx("textarea",{value:e,onChange:i=>r(i.target.value),className:"flex-1 min-h-[16rem] w-full bg-bg border border-line rounded px-3 py-2 text-xs font-mono text-fg resize-y focus:outline-none focus:border-accent/60","aria-label":"Edit prompt body"}),c.jsxs("p",{className:"text-[11px] text-fg-faint",children:["Saves to ",c.jsx("code",{children:"~/.claude/session-manager/prompts/…"})," — overrides the seed on future opens."]})]})}function m0e(){const e=Do(),r=vT(e);if(!e)return c.jsx(un,{children:c.jsx(qt,{title:"no active session",hint:"open a terminal tab and run claude to see tasks"})});const n=(r==null?void 0:r.todos)??[],i={completed:n.filter(s=>s.status==="completed").length,in_progress:n.filter(s=>s.status==="in_progress").length,pending:n.filter(s=>s.status==="pending").length};return c.jsx(un,{toolbar:c.jsxs(c.Fragment,{children:[c.jsxs("span",{className:"text-fg-faint",children:["session ",e.claudeSessionId.slice(0,8)]}),c.jsx("div",{className:"flex-1"}),c.jsxs("span",{className:"text-fg-faint",children:[c.jsx("span",{className:"text-green-400",children:i.completed})," done ·"," ",c.jsx("span",{className:"text-accent",children:i.in_progress})," active ·"," ",c.jsx("span",{className:"text-fg-dim",children:i.pending})," pending"]})]}),children:n.length===0?c.jsx(qt,{title:"no todos yet",hint:"todos appear when claude calls TodoWrite"}):c.jsx("ul",{className:"p-4 space-y-1 max-w-3xl",children:n.map((s,a)=>c.jsxs("li",{className:`flex items-start gap-3 py-1.5 px-2 rounded text-xs ${s.status==="in_progress"?"bg-bg-elev":""}`,children:[c.jsx(g0e,{status:s.status}),c.jsx("span",{className:`flex-1 ${s.status==="completed"?"text-fg-faint line-through":s.status==="in_progress"?"text-fg":"text-fg-dim"}`,children:s.status==="in_progress"&&s.activeForm?s.activeForm:s.content})]},a))})})}function g0e({status:e}){return e==="completed"?c.jsx("span",{className:"text-green-400 w-4 shrink-0",children:"✓"}):e==="in_progress"?c.jsx("span",{className:"text-accent w-4 shrink-0",children:c.jsx("span",{className:"inline-block w-2 h-2 rounded-full bg-accent animate-pulse"})}):c.jsx("span",{className:"text-fg-faint w-4 shrink-0",children:"○"})}const A8="~/.claude/session-manager/projects-prefs.json",v0e={project:"asc",sessions:"desc",last:"desc",size:"desc"};function fu(e){const r=e(),n={pinned:r.pinned,sort:r.sort,recentFilter:r.recentFilter,hasRemote:r.hasRemote,hasClaudemd:r.hasClaudemd,pinnedOnly:r.pinnedOnly,search:r.search,editor:r.editor};window.api.config.writeJson(A8,n).catch(()=>{})}const p5=Mn((e,r)=>({pinned:{},sort:{col:"last",dir:"desc"},recentFilter:"all",hasRemote:null,hasClaudemd:null,pinnedOnly:!1,search:"",editor:"auto",hydrated:!1,hydrate:async()=>{try{const n=await window.api.config.readJson(A8);if(n.exists&&n.data&&typeof n.data=="object"){const i=n.data;e({pinned:i.pinned??{},sort:i.sort??{col:"last",dir:"desc"},recentFilter:i.recentFilter??"all",hasRemote:i.hasRemote??null,hasClaudemd:i.hasClaudemd??null,pinnedOnly:i.pinnedOnly??!1,search:i.search??"",editor:i.editor??"auto",hydrated:!0});return}}catch{}e({hydrated:!0})},togglePin:n=>{const i={...r().pinned,[n]:!r().pinned[n]};e({pinned:i}),fu(r)},setSort:n=>{const i=r(),s=i.sort.col===n?i.sort.dir==="asc"?"desc":"asc":v0e[n];e({sort:{col:n,dir:s}}),fu(r)},setRecentFilter:n=>{e({recentFilter:n}),fu(r)},setHasRemote:n=>{e({hasRemote:n}),fu(r)},setHasClaudemd:n=>{e({hasClaudemd:n}),fu(r)},setPinnedOnly:n=>{e({pinnedOnly:n}),fu(r)},setSearch:n=>{e({search:n}),fu(r)},setEditor:n=>{e({editor:n}),fu(r)}}));async function y0e(e){const r={};try{const n=await window.api.config.readJson(`${e}/package.json`);if(n.exists&&n.data){const i=n.data.name;typeof i=="string"&&(r.name=i)}}catch{}try{const n=await window.api.config.readText(`${e}/.git/config`);if(n.exists&&n.text){const i=n.text.match(/\[remote "origin"\][^\[]*url\s*=\s*([^\n]+)/);if(i){let s=i[1].trim();s=s.replace(/^git@([^:]+):/,"$1/").replace(/\.git$/,"").replace(/^https?:\/\//,""),r.gitRemote=s}}}catch{}try{const n=await window.api.config.readText(`${e}/.git/HEAD`);if(n.exists&&n.text){const i=n.text.match(/ref: refs\/heads\/(.+)/);i&&(r.lastBranch=i[1].trim())}}catch{}try{const n=await window.api.config.readText(`${e}/CLAUDE.md`);n.exists&&n.text&&(r.claudemdPreview=n.text.slice(0,200))}catch{}if(!r.name){const n=e.split("/");r.name=n[n.length-1]||e}return r}function b0e({cwd:e,projectName:r,onClose:n}){const[i,s]=B.useState(null),[a,l]=B.useState(!0),o=B.useRef(null);B.useEffect(()=>{l(!0),s(null),window.api.config.readText(`${e}/CLAUDE.md`).then(f=>{s(f.exists&&f.text?f.text:null),l(!1)}).catch(()=>{s(null),l(!1)})},[e]),B.useEffect(()=>{const f=m=>{m.key==="Escape"&&(m.stopPropagation(),n())};return document.addEventListener("keydown",f,{capture:!0}),()=>document.removeEventListener("keydown",f,{capture:!0})},[n]);const u=f=>{f.target===o.current&&n()};return c.jsx("div",{ref:o,className:"absolute inset-0 z-20",onClick:u,children:c.jsxs("div",{className:"absolute right-0 top-0 bottom-0 w-2/5 bg-bg-elev border-l border-line shadow-2xl z-30 flex flex-col",onClick:f=>f.stopPropagation(),children:[c.jsxs("header",{className:"shrink-0 flex items-center gap-2 px-3 py-2 border-b border-line bg-bg-elev",children:[c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("div",{className:"text-fg text-xs font-medium truncate",children:r}),c.jsxs("div",{className:"text-fg-faint text-[10px] font-mono truncate",children:[e,"/CLAUDE.md"]})]}),c.jsx("button",{onClick:n,className:"shrink-0 text-fg-faint hover:text-fg px-1.5 py-0.5 rounded hover:bg-bg-hi text-xs",title:"Close (Escape)",children:"✕"})]}),c.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:a?c.jsx(qt,{title:"loading…"}):i==null?c.jsx(qt,{title:"No CLAUDE.md found"}):c.jsx(Sc,{value:i,onChange:()=>{},path:`${e}/CLAUDE.md`,readOnly:!0})})]})})}function XC(e){return e.replace(/-/g,"/")}async function YC(e){const n=(await window.api.config.listDir(e,{filesOnly:!0})).entries.filter(i=>i.name.endsWith(".jsonl")).sort((i,s)=>i.size-s.size);for(const i of n){const s=await window.api.config.readText(i.path);if(!(!s.exists||!s.text)){for(const a of s.text.split(`
3507
- `))if(a.includes('"cwd"'))try{const l=JSON.parse(a);if(typeof l.cwd=="string"&&l.cwd.length>0)return l.cwd}catch{}}}return null}function x0e(e){if(!e)return"—";const n=(Date.now()-e)/864e5;return n<1?"today":n<2?"yesterday":n<7?`${Math.floor(n)}d ago`:n<30?`${Math.floor(n/7)}w ago`:new Date(e).toLocaleDateString()}function JC(){return c.jsx("span",{className:"inline-block h-3 w-12 rounded bg-bg-hi animate-pulse","aria-hidden":!0})}function hu({label:e,active:r,onClick:n,tip:i}){return c.jsx(No,{content:i,align:"bottom-center",children:c.jsx("button",{onClick:n,title:i,className:`px-2 py-0.5 rounded text-[10px] border transition-colors ${r?"border-blue-500 text-blue-400 bg-blue-500/10":"border-line text-fg-faint hover:text-fg hover:border-fg-faint"}`,children:e})})}function lp({tip:e,onClick:r,disabled:n,danger:i,children:s}){return c.jsx(No,{content:e,children:c.jsx("button",{onClick:a=>{a.stopPropagation(),n||r()},title:e,disabled:n,className:`px-1.5 py-0.5 rounded text-sm leading-none transition-colors ${n?"text-fg-faint/30 cursor-not-allowed":i?"text-red-400/60 hover:text-red-400 hover:bg-red-950/30":"text-fg-faint hover:text-fg hover:bg-bg-hi"}`,children:s})})}const QC=7*864e5,w0e=30*864e5,_0e=[{value:"auto",label:"auto"},{value:"code",label:"VS Code"},{value:"cursor",label:"Cursor"},{value:"subl",label:"Sublime"},{value:"nano",label:"nano"}];function S0e(){var si,In;const e=Sn(),[r,n]=B.useState([]),[i,s]=B.useState(!0),[a,l]=B.useState({}),[o,u]=B.useState(""),[f,m]=B.useState(""),[h,y]=B.useState(new Set),[x,k]=B.useState(null),[_,b]=B.useState(null),[w,S]=B.useState(!1),[C,T]=B.useState(null),[j,A]=B.useState(null),N=B.useRef(null),O=B.useRef(null),I=Qt(Ve=>Ve.addTab),{hydrated:W,hydrate:G,pinned:V,togglePin:F,sort:z,setSort:H,recentFilter:X,setRecentFilter:se,hasRemote:oe,setHasRemote:Q,hasClaudemd:ee,setHasClaudemd:Y,pinnedOnly:te,setPinnedOnly:ce,setSearch:we,editor:_e,setEditor:Ae}=p5();B.useEffect(()=>{G()},[]);const ve=B.useRef(!1);B.useEffect(()=>{if(W&&!ve.current){ve.current=!0;const Ve=p5.getState().search;u(Ve),m(Ve)}},[W]),B.useEffect(()=>{if(!ve.current)return;const Ve=setTimeout(()=>{m(o),we(o)},200);return()=>clearTimeout(Ve)},[o,we]),B.useEffect(()=>{if(!C)return;const Ve=setTimeout(()=>T(null),3e3);return()=>clearTimeout(Ve)},[C]),B.useEffect(()=>{if(!e)return;let Ve=!1;return(async()=>{s(!0);try{const rt=await window.api.config.listDir(`${e}/.claude/projects`,{dirsOnly:!0});if(Ve)return;const $t=[];for(const ur of rt.entries){if(Ve)return;const Xr=(await window.api.config.listDir(ur.path,{filesOnly:!0})).entries.filter(pn=>pn.name.endsWith(".jsonl")),sn=Xr.reduce((pn,es)=>Math.max(pn,es.mtimeMs),0),Li=Xr.reduce((pn,es)=>pn+es.size,0);$t.push({encoded:ur.name,displayPath:XC(ur.name),sessionCount:Xr.length,lastSession:sn,path:ur.path,sizeBytes:Li})}$t.sort((ur,Pr)=>Pr.lastSession-ur.lastSession),Ve||(n($t),l({}),y(new Set))}catch(rt){console.error("[Projects] scan failed:",rt)}finally{Ve||s(!1)}})(),()=>{Ve=!0}},[e]),B.useEffect(()=>{if(!r.length)return;let Ve=!1;const rt=r.slice();let $t=0;const ur=()=>{for(;!Ve&&$t<6&&rt.length;){const Pr=rt.shift();$t++,YC(Pr.path).then(async Xr=>{if(Ve)return;const sn=Xr?await y0e(Xr):{};Ve||l(Li=>({...Li,[Pr.encoded]:{cwd:Xr??null,...sn}}))}).catch(()=>{Ve||l(Xr=>({...Xr,[Pr.encoded]:{cwd:null}}))}).finally(()=>{$t--,Ve||ur()})}};return ur(),()=>{Ve=!0}},[r]);const ie=Object.keys(a).length>=r.length,ye=Object.values(a).some(Ve=>Ve.gitRemote),xe=Object.values(a).some(Ve=>Ve.lastBranch),Ge=r.length>0&&(ye||!ie),Me=r.length>0&&(xe||!ie),We=Date.now(),Le=r.filter(Ve=>{var $t,ur,Pr,Xr;if(X==="7d"&&We-Ve.lastSession>QC||X==="30d"&&We-Ve.lastSession>w0e||te&&!V[Ve.encoded])return!1;const rt=a[Ve.encoded];if(rt&&(oe===!0&&!rt.gitRemote||oe===!1&&rt.gitRemote||ee===!0&&!rt.claudemdPreview||ee===!1&&rt.claudemdPreview))return!1;if(f){const sn=f.toLowerCase();if(!(Ve.displayPath.toLowerCase().includes(sn)||((($t=rt==null?void 0:rt.cwd)==null?void 0:$t.toLowerCase().includes(sn))??!1)||(((ur=rt==null?void 0:rt.name)==null?void 0:ur.toLowerCase().includes(sn))??!1)||(((Pr=rt==null?void 0:rt.gitRemote)==null?void 0:Pr.toLowerCase().includes(sn))??!1)||(((Xr=rt==null?void 0:rt.claudemdPreview)==null?void 0:Xr.toLowerCase().includes(sn))??!1)))return!1}return!0}),Ze=[...Le].sort((Ve,rt)=>{var Xr,sn;const $t=V[Ve.encoded]?1:0,ur=V[rt.encoded]?1:0;if($t!==ur)return ur-$t;let Pr=0;switch(z.col){case"project":{const Li=((Xr=a[Ve.encoded])==null?void 0:Xr.cwd)??Ve.displayPath,pn=((sn=a[rt.encoded])==null?void 0:sn.cwd)??rt.displayPath;Pr=Li.localeCompare(pn);break}case"sessions":Pr=Ve.sessionCount-rt.sessionCount;break;case"last":Pr=Ve.lastSession-rt.lastSession;break;case"size":Pr=Ve.sizeBytes-rt.sizeBytes;break}return z.dir==="asc"?Pr:-Pr}),ut=Ze.length>0&&Ze.every(Ve=>h.has(Ve.encoded)),dt=Ze.some(Ve=>h.has(Ve.encoded));B.useEffect(()=>{O.current&&(O.current.indeterminate=dt&&!ut)},[dt,ut]);const dr=()=>{y(ut?Ve=>{const rt=new Set(Ve);return Ze.forEach($t=>rt.delete($t.encoded)),rt}:Ve=>{const rt=new Set(Ve);return Ze.forEach($t=>rt.add($t.encoded)),rt})},Xt=async Ve=>{var rt;return((rt=a[Ve.encoded])==null?void 0:rt.cwd)??await YC(Ve.path)},Jt=Ve=>T(Ve),cr=async Ve=>{var ur;let rt=((ur=a[Ve.encoded])==null?void 0:ur.cwd)??null;if(rt||(rt=await YC(Ve.path)),!rt&&(rt=await window.api.app.pickDirectory(),!rt))return;const $t=crypto.randomUUID();I({id:$t,cwd:rt,startupCommand:`claude --dangerously-skip-permissions --session-id ${Io($t)}`,presetId:"projects-tab"})},Nr=async Ve=>{const rt=await Xt(Ve);if(!rt){Jt("Project directory not yet resolved");return}const $t=await window.api.app.openInEditor(rt,_e||null);$t.ok||Jt($t.error??"No editor found")},wr=async Ve=>{const rt=await Xt(Ve);if(!rt){Jt("Project directory not yet resolved");return}const $t=await window.api.app.openInFinder(rt);$t.ok||Jt($t.error??"Failed to open file manager")},nn=async Ve=>{const rt=await Xt(Ve);if(!rt){Jt("Project directory not yet resolved");return}const $t=await window.api.app.openInTerminal(rt);$t.ok||Jt($t.error??"No terminal emulator found")},Wr=Ve=>{k(Ve.encoded)},ii=async Ve=>{b(null),S(!0);const rt=[];for(const $t of Ve)try{const ur=await window.api.app.archiveProject($t);ur.ok?rt.push($t):Jt(ur.error??`Failed to archive ${$t}`)}catch(ur){Jt(ur instanceof Error?ur.message:"Archive failed")}rt.length&&(n($t=>$t.filter(ur=>!rt.includes(ur.encoded))),y($t=>{const ur=new Set($t);return rt.forEach(Pr=>ur.delete(Pr)),ur}),x&&rt.includes(x)&&k(null)),S(!1)},Kn=r.length,mr=r.filter(Ve=>We-Ve.lastSession<QC).length,vt=r.reduce((Ve,rt)=>Ve+rt.sessionCount,0),Et=r.reduce((Ve,rt)=>Ve+rt.sizeBytes,0),It=[...r].filter(Ve=>We-Ve.lastSession<QC).sort((Ve,rt)=>rt.sessionCount-Ve.sessionCount).slice(0,3),Pt=Ve=>{var $t;const rt=($t=N.current)==null?void 0:$t.querySelector(`[data-row-key="${Ve}"]`);rt==null||rt.scrollIntoView({behavior:"smooth",block:"center"}),A(Ve),setTimeout(()=>A(null),2e3)},Ir=(Ve,rt)=>c.jsx(No,{content:`Sort by ${rt}`,align:"bottom-center",children:c.jsxs("button",{onClick:()=>H(Ve),title:`Sort by ${rt}`,className:"flex items-center gap-1 hover:text-fg w-full uppercase tracking-wider",children:[c.jsx("span",{children:rt}),z.col===Ve&&c.jsx("span",{className:"text-[10px] leading-none",children:z.dir==="asc"?"▲":"▼"})]})}),yi=x?((si=a[x])==null?void 0:si.cwd)??null:null,ka=x?((In=a[x])==null?void 0:In.cwd)??`/${XC(x)}`:"",Di=[];Me&&Di.push({key:"branch",header:"branch",width:"8rem",render:Ve=>{const rt=a[Ve.encoded];return rt?rt.lastBranch?c.jsx("span",{className:"font-mono text-fg-faint truncate block",children:rt.lastBranch}):c.jsx("span",{className:"text-fg-faint",children:"—"}):c.jsx(JC,{})}}),Ge&&Di.push({key:"remote",header:"remote",render:Ve=>{const rt=a[Ve.encoded];return rt?rt.gitRemote?c.jsx("span",{className:"font-mono text-fg-faint truncate block text-[10px]",children:rt.gitRemote}):c.jsx("span",{className:"text-fg-faint",children:"—"}):c.jsx(JC,{})}});const Cr=[{key:"select",header:c.jsx("input",{ref:O,type:"checkbox",checked:ut,onChange:dr,className:"accent-accent cursor-pointer",title:"Select all visible",onClick:Ve=>Ve.stopPropagation()}),width:"2rem",className:"px-1",render:Ve=>c.jsx("input",{type:"checkbox",checked:h.has(Ve.encoded),onChange:()=>{y(rt=>{const $t=new Set(rt);return $t.has(Ve.encoded)?$t.delete(Ve.encoded):$t.add(Ve.encoded),$t})},onClick:rt=>rt.stopPropagation(),className:"accent-accent cursor-pointer"})},{key:"pin",header:"",width:"2rem",className:"px-1",render:Ve=>c.jsx(No,{content:V[Ve.encoded]?"Unpin":"Pin to top",children:c.jsx("button",{onClick:rt=>{rt.stopPropagation(),F(Ve.encoded)},title:V[Ve.encoded]?"Unpin":"Pin to top",className:`text-sm leading-none transition-colors ${V[Ve.encoded]?"text-yellow-400":"text-fg-faint hover:text-fg-dim"}`,children:V[Ve.encoded]?"★":"☆"})})},{key:"path",header:Ir("project","project"),render:Ve=>{const rt=a[Ve.encoded],$t=(rt==null?void 0:rt.cwd)??`/${Ve.displayPath}`,ur=c.jsx("span",{className:"font-mono text-fg-dim truncate block max-w-[22rem]",children:$t});return rt!=null&&rt.claudemdPreview?c.jsx(No,{content:c.jsx("span",{className:"font-mono text-[9px] whitespace-pre-wrap",children:rt.claudemdPreview}),align:"bottom-center",children:ur}):ur}},{key:"name",header:"name",width:"7rem",render:Ve=>{const rt=a[Ve.encoded];return rt?c.jsx("span",{className:"text-fg-dim truncate block",children:rt.name??"—"}):c.jsx(JC,{})}},{key:"sessions",header:Ir("sessions","sessions"),width:"6rem",render:Ve=>c.jsx("span",{className:"text-fg-dim",children:Ve.sessionCount})},{key:"size",header:Ir("size","size"),width:"6rem",render:Ve=>c.jsx("span",{className:"text-fg-faint",children:df(Ve.sizeBytes)})},{key:"last",header:Ir("last","last active"),width:"9rem",render:Ve=>c.jsx("span",{className:"text-fg-faint",children:x0e(Ve.lastSession)})},...Di,{key:"action",header:"",width:"11rem",render:Ve=>{const rt=a[Ve.encoded],$t=!!(rt!=null&&rt.claudemdPreview);return c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx(lp,{tip:"Open in new terminal session",onClick:()=>cr(Ve),children:"▷"}),c.jsx(lp,{tip:"Open in editor",onClick:()=>Nr(Ve),children:"✏"}),c.jsx(lp,{tip:"Open in file manager",onClick:()=>wr(Ve),children:"⌂"}),c.jsx(lp,{tip:"Open in terminal",onClick:()=>nn(Ve),children:"⊞"}),c.jsx(lp,{tip:$t?"Preview CLAUDE.md":"No CLAUDE.md",onClick:()=>Wr(Ve),disabled:!$t,children:"Ⓜ"}),c.jsx(lp,{tip:"Archive project",onClick:()=>b([Ve.encoded]),danger:!0,children:"⊗"})]})}}];return c.jsxs("div",{className:"h-full flex flex-col",children:[!i&&r.length>0&&c.jsxs("div",{className:"shrink-0 border-b border-line bg-bg px-3 py-1.5 flex items-center gap-4 text-[10px] text-fg-faint flex-wrap",children:[c.jsxs("span",{children:[c.jsx("span",{className:"text-fg-dim font-medium",children:Kn})," projects"]}),c.jsxs("span",{children:[c.jsx("span",{className:"text-fg-dim font-medium",children:mr})," active 7d"]}),c.jsxs("span",{children:[c.jsx("span",{className:"text-fg-dim font-medium",children:vt})," sessions"]}),c.jsxs("span",{children:[c.jsx("span",{className:"text-fg-dim font-medium",children:df(Et)})," on disk"]}),It.length>0&&c.jsxs("span",{className:"flex items-center gap-1 flex-wrap",children:[c.jsx("span",{className:"text-fg-faint",children:"most active:"}),It.map(Ve=>{var $t,ur,Pr;const rt=((ur=($t=a[Ve.encoded])==null?void 0:$t.cwd)==null?void 0:ur.split("/").pop())??Ve.displayPath.split("/").pop()??Ve.encoded;return c.jsx("button",{onClick:()=>Pt(Ve.encoded),className:"px-1.5 py-0 rounded border border-line hover:border-fg-faint hover:text-fg transition-colors font-mono",title:((Pr=a[Ve.encoded])==null?void 0:Pr.cwd)??Ve.displayPath,children:rt},Ve.encoded)})]})]}),c.jsx("div",{className:"shrink-0 border-b border-line bg-bg-elev px-3 py-1.5 text-xs",children:c.jsxs("div",{className:"flex flex-col gap-1.5 w-full py-0.5",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"search",placeholder:"search projects…",value:o,onChange:Ve=>u(Ve.target.value),className:"h-6 px-2 bg-bg border border-line rounded text-xs text-fg placeholder:text-fg-faint focus:outline-none focus:border-fg-faint w-48"}),c.jsx("span",{className:"text-fg-faint",children:Le.length===r.length?`${r.length} projects`:`${Le.length} of ${r.length}`}),c.jsx("div",{className:"flex-1"}),c.jsx(No,{content:"Preferred editor for 'Open in editor' action",children:c.jsx("select",{value:_e,onChange:Ve=>Ae(Ve.target.value),className:"h-6 bg-bg border border-line rounded text-xs text-fg-dim px-1 focus:outline-none focus:border-fg-faint",children:_0e.map(Ve=>c.jsxs("option",{value:Ve.value,children:["Editor: ",Ve.label]},Ve.value))})}),c.jsx("span",{className:"text-fg-faint font-mono truncate",children:"~/.claude/projects/"})]}),c.jsxs("div",{className:"flex items-center gap-1 flex-wrap",children:[c.jsx(hu,{label:"All",active:X==="all",onClick:()=>se("all"),tip:"Show all projects"}),c.jsx(hu,{label:"≤7d",active:X==="7d",onClick:()=>se("7d"),tip:"Active in last 7 days"}),c.jsx(hu,{label:"≤30d",active:X==="30d",onClick:()=>se("30d"),tip:"Active in last 30 days"}),c.jsx("span",{className:"w-px h-3 bg-line mx-0.5 shrink-0"}),c.jsx(hu,{label:"Has remote",active:oe===!0,onClick:()=>Q(oe===!0?null:!0),tip:"Only projects with a git remote"}),c.jsx(hu,{label:"No remote",active:oe===!1,onClick:()=>Q(oe===!1?null:!1),tip:"Only projects without a git remote"}),c.jsx("span",{className:"w-px h-3 bg-line mx-0.5 shrink-0"}),c.jsx(hu,{label:"Has CLAUDE.md",active:ee===!0,onClick:()=>Y(ee===!0?null:!0),tip:"Only projects with a CLAUDE.md"}),c.jsx(hu,{label:"No CLAUDE.md",active:ee===!1,onClick:()=>Y(ee===!1?null:!1),tip:"Only projects without a CLAUDE.md"}),c.jsx("span",{className:"w-px h-3 bg-line mx-0.5 shrink-0"}),c.jsx(hu,{label:"Pinned",active:te,onClick:()=>ce(!te),tip:"Only pinned projects"})]})]})}),c.jsxs("div",{className:"flex-1 min-h-0 flex relative",children:[c.jsx("div",{className:"flex-1 min-w-0 overflow-auto",ref:N,children:i?c.jsx(qt,{title:"scanning projects…"}):c.jsx(AT,{columns:Cr,rows:Ze,getKey:Ve=>Ve.encoded,activeKey:j,empty:"no projects with claude session history"})}),x&&yi&&c.jsx(b0e,{cwd:yi,projectName:ka,onClose:()=>k(null)})]}),h.size>0&&c.jsxs("div",{className:"shrink-0 border-t border-line bg-bg-elev px-3 py-2 flex items-center gap-2 text-xs",children:[c.jsxs("span",{className:"text-fg-faint",children:[h.size," selected"]}),c.jsx("div",{className:"flex-1"}),w&&c.jsx("span",{className:"text-fg-faint animate-pulse",children:"archiving…"}),c.jsxs("button",{onClick:()=>b(Array.from(h)),disabled:w,className:"px-2 py-1 border border-red-900/50 text-red-400/80 rounded hover:bg-red-950/30 hover:text-red-400 disabled:opacity-40 transition-colors",children:["Archive ",h.size]}),c.jsx("button",{onClick:async()=>{const Ve=r.filter(rt=>h.has(rt.encoded));for(const rt of Ve)await Nr(rt)},disabled:w,className:"px-2 py-1 border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi disabled:opacity-40 transition-colors",children:"Open all in editor"}),c.jsx("button",{onClick:()=>y(new Set),className:"px-2 py-1 border border-line rounded text-fg-faint hover:text-fg hover:bg-bg-hi transition-colors",children:"Cancel"})]}),c.jsxs(kc,{open:!!_,onClose:()=>b(null),title:"Archive projects?",children:[c.jsxs("p",{className:"text-sm text-fg-dim mb-1",children:["Move ",(_==null?void 0:_.length)??0," project",((_==null?void 0:_.length)??0)!==1?"s":""," to"]}),c.jsx("p",{className:"text-xs text-fg-faint font-mono mb-4",children:"~/.claude/projects-archive/"}),_&&_.length<=5&&c.jsx("ul",{className:"mb-4 space-y-0.5 text-[10px] font-mono text-fg-faint",children:_.map(Ve=>{var rt;return c.jsx("li",{className:"truncate",children:((rt=a[Ve])==null?void 0:rt.cwd)??`/${XC(Ve)}`},Ve)})}),c.jsxs("div",{className:"flex gap-2 justify-end",children:[c.jsx("button",{onClick:()=>b(null),className:"px-3 py-1.5 text-xs border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi",children:"Cancel"}),c.jsx("button",{onClick:()=>_&&ii(_),className:"px-3 py-1.5 text-xs border border-red-900/50 rounded text-red-400 hover:bg-red-950/30",children:"Archive"})]})]}),C&&c.jsx("div",{role:"alert",className:"pointer-events-none fixed bottom-4 right-4 z-50 bg-red-950 border border-red-900/60 text-red-300 text-xs px-3 py-1.5 rounded shadow-lg max-w-xs",children:C})]})}const hT="~/.config/session-manager/doc-editor.json",k0e=20;let ZC=null;function Ev(e){ZC&&clearTimeout(ZC),ZC=setTimeout(async()=>{const r=e();try{const n=await window.api.config.readJson(hT).catch(()=>null),i=(n==null?void 0:n.data)??{};await window.api.config.writeJson(hT,{...i,recents:r.recents,openPaths:Object.keys(r.docs),viewModes:r.viewModes})}catch(n){console.warn("[docEditor] persist failed:",n)}},500)}function m5(e,r){return[r,...e.filter(n=>n!==r)].slice(0,k0e)}const ga=Mn((e,r)=>({docs:{},activePath:null,recents:[],viewModes:{},hydrated:!1,open:async n=>{if(r().docs[n]){e({activePath:n});return}const s=await window.api.docEditor.readFile(n);if(!s.ok){ot.warn(`Could not open ${n.split("/").pop()}: ${s.error??"unknown error"}`),e(l=>({recents:l.recents.filter(o=>o!==n)})),Ev(r);return}const a={path:n,diskText:s.text??"",bufferText:s.text??"",mtimeMs:s.mtimeMs??0,loadedAt:Date.now()};e(l=>({docs:{...l.docs,[n]:a},activePath:n,recents:m5(l.recents,n)})),Ev(r)},close:n=>{var o;const i=r(),s=i.docs[n];if(!s)return;if(s.bufferText!==s.diskText){const u=n.split("/").pop()??n;if(!window.confirm(`"${u}" has unsaved changes. Close without saving?`))return}const a={...i.docs};delete a[n];let l=i.activePath;i.activePath===n&&(l=((o=Object.values(a).sort((f,m)=>m.loadedAt-f.loadedAt)[0])==null?void 0:o.path)??null),e({docs:a,activePath:l}),Ev(r)},setActive:n=>{e({activePath:n})},setViewMode:(n,i)=>{e(s=>({viewModes:{...s.viewModes,[n]:i}})),Ev(r)},edit:(n,i)=>{const s=r().docs[n];s&&e(a=>({docs:{...a.docs,[n]:{...s,bufferText:i}}}))},save:async n=>{const i=r().docs[n];if(!i)return;const s=i.bufferText,a=await window.api.docEditor.writeFile(n,s);if(!a.ok){ot.error(`Save failed for ${n.split("/").pop()}: ${a.error??"unknown"}`);return}e(l=>{const o=l.docs[n];return o?{docs:{...l.docs,[n]:{...o,diskText:s,mtimeMs:a.mtimeMs??o.mtimeMs}},recents:m5(l.recents,n)}:{}}),Ev(r)},saveAll:async()=>{const n=Object.values(r().docs).filter(i=>i.bufferText!==i.diskText).map(i=>i.path);await Promise.all(n.map(i=>r().save(i)))},hydrate:async()=>{if(!r().hydrated){e({hydrated:!0});try{const i=(await window.api.config.readJson(hT)).data??{},s=Array.isArray(i.recents)?i.recents:[],a=Array.isArray(i.openPaths)?i.openPaths:[],l=i.viewModes??{},o={};for(const[u,f]of Object.entries(l))(f==="wysiwyg"||f==="source")&&(o[u]=f);e({recents:s,viewModes:o});for(const u of a)await r().open(u)}catch(n){console.warn("[docEditor] hydrate failed:",n)}}}}));window.__docEditor=ga;const C0e={json:"json",ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",cjs:"javascript",mjs:"javascript",py:"python",sh:"shell",bash:"shell",yaml:"yaml",yml:"yaml",toml:"ini",css:"css",html:"html",xml:"xml",sql:"sql",rs:"rust",go:"go",md:"markdown",markdown:"markdown"},g5={Dockerfile:"dockerfile",Makefile:"makefile"};function E0e(e){const r=e.split("/").pop()??e;if(g5[r])return g5[r];const n=r.lastIndexOf(".");if(n===-1)return null;const i=r.slice(n+1);return C0e[i]??null}const j0e=B.lazy(()=>nm(()=>import("./TiptapBody-BEQBrmt2.js"),__vite__mapDeps([2,0,1]),import.meta.url).then(e=>({default:e.TiptapBody})));function T0e(e){return e.split("/").pop()??e}function A0e(e){return e.endsWith(".md")||e.endsWith(".markdown")}function $0e({docs:e,activePath:r,onSetActive:n,onClose:i}){const s=Object.keys(e);return c.jsx("div",{className:"h-9 bg-bg-elev border-b border-line flex items-center overflow-x-auto shrink-0 px-2 gap-1","data-testid":"doc-tab-strip",children:s.map(a=>{const l=e[a],o=l.bufferText!==l.diskText,u=T0e(a),f=a===r;return c.jsxs("div",{className:`group px-3 py-1 flex items-center gap-1 rounded-t text-xs shrink-0 cursor-pointer transition-colors ${f?"bg-bg-hi text-fg font-semibold border border-b-0 border-accent border-t-2 -mb-px relative z-10":"bg-bg-elev text-fg-dim border border-line hover:text-fg hover:bg-bg"}`,onClick:()=>n(a),title:a,"data-testid":`doc-tab-${u}`,children:[o&&c.jsx("span",{className:"text-amber-400","aria-label":"unsaved changes","data-testid":"doc-tab-dirty",children:"●"}),c.jsx("span",{children:u}),c.jsx("button",{type:"button",onClick:m=>{m.stopPropagation(),i(a)},className:"text-fg-faint opacity-0 group-hover:opacity-100 hover:text-fg ml-1",title:`Close ${u}`,"aria-label":`Close ${u}`,"data-testid":`doc-x-${u}`,children:"×"})]},a)})})}function O0e({path:e,value:r,onChange:n,language:i}){const s=B.useRef(null),a=B.useRef(e);a.current=e;const l=async o=>{s.current=o;const u=await nm(()=>import("./monaco-editor-BW5C4Iv1.js").then(f=>f.b),__vite__mapDeps([0,1]),import.meta.url);o.addCommand(u.KeyMod.CtrlCmd|u.KeyCode.KeyS,()=>{ga.getState().save(a.current)})};return c.jsx(Yw,{path:`file://${e}`,language:i,value:r,onChange:o=>n(o??""),onMount:l,theme:"vs-dark",options:{minimap:{enabled:!1},fontSize:12,fontFamily:"JetBrains Mono, ui-monospace, Menlo, monospace",lineNumbers:"on",renderLineHighlight:"line",scrollBeyondLastLine:!1,tabSize:2,formatOnPaste:!0,automaticLayout:!0,bracketPairColorization:{enabled:!0},wordWrap:"on"}})}function N0e({path:e,value:r,onChange:n}){const i=E0e(e);if(!i){const s=e.split("/").pop()??e;return c.jsx("textarea",{className:"w-full h-full resize-none bg-bg text-fg font-mono text-sm p-3 focus:outline-none leading-relaxed",value:r,onChange:a=>n(a.target.value),spellCheck:!1,"data-testid":"doc-textarea","aria-label":`Edit ${s}`},e)}return c.jsx(O0e,{path:e,value:r,onChange:n,language:i})}function P0e(){const e=ga(b=>b.docs),r=ga(b=>b.activePath),n=ga(b=>b.viewModes),i=ga(b=>b.open),s=ga(b=>b.close),a=ga(b=>b.setActive),l=ga(b=>b.edit),o=ga(b=>b.save),u=ga(b=>b.saveAll),f=ga(b=>b.setViewMode),m=ga(b=>b.hydrate);B.useEffect(()=>{m()},[m]);const h=r?e[r]??null:null,y=Object.values(e).some(b=>b.bufferText!==b.diskText),x=r?n[r]??"wysiwyg":"wysiwyg",k=r?A0e(r):!1,_=async()=>{const b=r?r.split("/").slice(0,-1).join("/"):void 0,w=await window.api.docEditor.pickFile(b?{lastDir:b}:void 0);w.path&&await i(w.path)};return r===null?c.jsx(qt,{title:"No document open",hint:c.jsxs("span",{children:["Click ",c.jsx("strong",{children:"Open…"})," or use"," ",c.jsx("kbd",{className:"px-1 py-0.5 border border-line rounded font-mono text-[10px]",children:"Cmd-K"})," ","and type ",c.jsx("code",{children:"doc:open"})]})}):c.jsxs("div",{className:"h-full flex flex-col",onKeyDown:b=>{(b.ctrlKey||b.metaKey)&&b.key.toLowerCase()==="s"&&!b.shiftKey&&(b.preventDefault(),r&&o(r)),(b.ctrlKey||b.metaKey)&&b.key.toLowerCase()==="w"&&!b.shiftKey&&(b.preventDefault(),r&&s(r))},"data-testid":"doc-editor-panel",children:[c.jsx($0e,{docs:e,activePath:r,onSetActive:a,onClose:s}),c.jsxs("div",{className:"shrink-0 border-b border-line bg-bg-elev px-3 py-1.5 flex items-center gap-2 text-xs",children:[c.jsx("button",{type:"button",onClick:_,className:"px-2 py-1 border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi transition-colors","data-testid":"doc-open-btn",children:"Open…"}),c.jsx("button",{type:"button",onClick:()=>r&&o(r),disabled:!h||h.bufferText===h.diskText,className:"px-2 py-1 border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi transition-colors disabled:opacity-40 disabled:cursor-not-allowed","data-testid":"doc-save-btn",children:"Save"}),c.jsx("button",{type:"button",onClick:()=>u(),disabled:!y,className:"px-2 py-1 border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi transition-colors disabled:opacity-40 disabled:cursor-not-allowed","data-testid":"doc-save-all-btn",children:"Save All"}),k&&r&&c.jsxs("div",{className:"flex items-center border border-line rounded overflow-hidden text-[11px]","data-testid":"view-mode-toggle",children:[c.jsx("button",{type:"button",onClick:()=>f(r,"wysiwyg"),className:`px-2 py-0.5 transition-colors ${x==="wysiwyg"?"bg-accent text-bg font-semibold":"text-fg-dim hover:text-fg hover:bg-bg-hi"}`,"data-testid":"view-mode-wysiwyg",children:"WYSIWYG"}),c.jsx("button",{type:"button",onClick:()=>f(r,"source"),className:`px-2 py-0.5 transition-colors ${x==="source"?"bg-accent text-bg font-semibold":"text-fg-dim hover:text-fg hover:bg-bg-hi"}`,"data-testid":"view-mode-source",children:"Source"})]}),r&&c.jsx("span",{className:"ml-2 text-fg-faint truncate flex-1 font-mono text-[11px]",title:r,children:r})]}),c.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:k&&x==="wysiwyg"&&r&&h?c.jsx(B.Suspense,{fallback:c.jsx("div",{className:"p-4 text-fg-faint text-sm",children:"Loading editor…"}),children:c.jsx(j0e,{value:h.bufferText,onChange:b=>l(r,b)},r)}):k&&r&&h?c.jsx(Sc,{path:r,value:h.bufferText,onChange:b=>l(r,b)},r):r&&h?c.jsx(N0e,{path:r,value:h.bufferText,onChange:b=>l(r,b)}):null})]})}const R0e=5e3;let t0=null,jv=null;async function pT(e){const r=Date.now();return!(e!=null&&e.fresh)&&t0&&r-t0.at<R0e?t0.result:jv||(jv=(async()=>{try{const n=await window.api.schedule.lintQueue();return t0={result:n,at:Date.now()},n}finally{jv=null}})(),jv)}const v5=2e3;function M0e(e){return e.is_error===!0||e.error!=null&&e.error!==""||e.type==="result"&&e.subtype!=="success"&&e.subtype!=null}function I0e(e){return typeof e.error=="string"&&e.error?e.error:typeof e.result=="string"&&e.result?e.result:typeof e.subtype=="string"?e.subtype:JSON.stringify(e).slice(0,200)}function D0e(e){if(typeof e.text=="string")return e.text.slice(0,200);if(typeof e.content=="string")return e.content.slice(0,200);if(Array.isArray(e.content)){for(const n of e.content)if(n&&typeof n=="object"&&"text"in n&&typeof n.text=="string")return n.text.slice(0,200)}const r=e.message;if(r&&typeof r=="object"){const n=r;if(typeof n.content=="string")return n.content.slice(0,200);if(Array.isArray(n.content)){for(const i of n.content)if(i&&typeof i=="object"&&"text"in i&&typeof i.text=="string")return i.text.slice(0,200)}}return typeof e.result=="string"&&e.result?e.result.slice(0,200):typeof e.subtype=="string"?e.subtype:JSON.stringify(e).slice(0,200)}function L0e(e){if(!e||!e.trim())return{events:[],errors:{count:0,firstMessage:null},rawLineCount:0,truncated:!1};const n=e.split(`
3507
+ `))if(a.includes('"cwd"'))try{const l=JSON.parse(a);if(typeof l.cwd=="string"&&l.cwd.length>0)return l.cwd}catch{}}}return null}function x0e(e){if(!e)return"—";const n=(Date.now()-e)/864e5;return n<1?"today":n<2?"yesterday":n<7?`${Math.floor(n)}d ago`:n<30?`${Math.floor(n/7)}w ago`:new Date(e).toLocaleDateString()}function JC(){return c.jsx("span",{className:"inline-block h-3 w-12 rounded bg-bg-hi animate-pulse","aria-hidden":!0})}function hu({label:e,active:r,onClick:n,tip:i}){return c.jsx(No,{content:i,align:"bottom-center",children:c.jsx("button",{onClick:n,title:i,className:`px-2 py-0.5 rounded text-[10px] border transition-colors ${r?"border-blue-500 text-blue-400 bg-blue-500/10":"border-line text-fg-faint hover:text-fg hover:border-fg-faint"}`,children:e})})}function lp({tip:e,onClick:r,disabled:n,danger:i,children:s}){return c.jsx(No,{content:e,children:c.jsx("button",{onClick:a=>{a.stopPropagation(),n||r()},title:e,disabled:n,className:`px-1.5 py-0.5 rounded text-sm leading-none transition-colors ${n?"text-fg-faint/30 cursor-not-allowed":i?"text-red-400/60 hover:text-red-400 hover:bg-red-950/30":"text-fg-faint hover:text-fg hover:bg-bg-hi"}`,children:s})})}const QC=7*864e5,w0e=30*864e5,_0e=[{value:"auto",label:"auto"},{value:"code",label:"VS Code"},{value:"cursor",label:"Cursor"},{value:"subl",label:"Sublime"},{value:"nano",label:"nano"}];function S0e(){var si,In;const e=Sn(),[r,n]=B.useState([]),[i,s]=B.useState(!0),[a,l]=B.useState({}),[o,u]=B.useState(""),[f,m]=B.useState(""),[h,y]=B.useState(new Set),[x,k]=B.useState(null),[_,b]=B.useState(null),[w,S]=B.useState(!1),[C,T]=B.useState(null),[j,A]=B.useState(null),N=B.useRef(null),O=B.useRef(null),I=Qt(Ve=>Ve.addTab),{hydrated:W,hydrate:G,pinned:V,togglePin:F,sort:z,setSort:H,recentFilter:X,setRecentFilter:se,hasRemote:oe,setHasRemote:Q,hasClaudemd:ee,setHasClaudemd:Y,pinnedOnly:te,setPinnedOnly:ce,setSearch:we,editor:_e,setEditor:Ae}=p5();B.useEffect(()=>{G()},[]);const ve=B.useRef(!1);B.useEffect(()=>{if(W&&!ve.current){ve.current=!0;const Ve=p5.getState().search;u(Ve),m(Ve)}},[W]),B.useEffect(()=>{if(!ve.current)return;const Ve=setTimeout(()=>{m(o),we(o)},200);return()=>clearTimeout(Ve)},[o,we]),B.useEffect(()=>{if(!C)return;const Ve=setTimeout(()=>T(null),3e3);return()=>clearTimeout(Ve)},[C]),B.useEffect(()=>{if(!e)return;let Ve=!1;return(async()=>{s(!0);try{const rt=await window.api.config.listDir(`${e}/.claude/projects`,{dirsOnly:!0});if(Ve)return;const $t=[];for(const ur of rt.entries){if(Ve)return;const Xr=(await window.api.config.listDir(ur.path,{filesOnly:!0})).entries.filter(pn=>pn.name.endsWith(".jsonl")),sn=Xr.reduce((pn,es)=>Math.max(pn,es.mtimeMs),0),Li=Xr.reduce((pn,es)=>pn+es.size,0);$t.push({encoded:ur.name,displayPath:XC(ur.name),sessionCount:Xr.length,lastSession:sn,path:ur.path,sizeBytes:Li})}$t.sort((ur,Pr)=>Pr.lastSession-ur.lastSession),Ve||(n($t),l({}),y(new Set))}catch(rt){console.error("[Projects] scan failed:",rt)}finally{Ve||s(!1)}})(),()=>{Ve=!0}},[e]),B.useEffect(()=>{if(!r.length)return;let Ve=!1;const rt=r.slice();let $t=0;const ur=()=>{for(;!Ve&&$t<6&&rt.length;){const Pr=rt.shift();$t++,YC(Pr.path).then(async Xr=>{if(Ve)return;const sn=Xr?await y0e(Xr):{};Ve||l(Li=>({...Li,[Pr.encoded]:{cwd:Xr??null,...sn}}))}).catch(()=>{Ve||l(Xr=>({...Xr,[Pr.encoded]:{cwd:null}}))}).finally(()=>{$t--,Ve||ur()})}};return ur(),()=>{Ve=!0}},[r]);const ie=Object.keys(a).length>=r.length,ye=Object.values(a).some(Ve=>Ve.gitRemote),xe=Object.values(a).some(Ve=>Ve.lastBranch),Ge=r.length>0&&(ye||!ie),Me=r.length>0&&(xe||!ie),We=Date.now(),Le=r.filter(Ve=>{var $t,ur,Pr,Xr;if(X==="7d"&&We-Ve.lastSession>QC||X==="30d"&&We-Ve.lastSession>w0e||te&&!V[Ve.encoded])return!1;const rt=a[Ve.encoded];if(rt&&(oe===!0&&!rt.gitRemote||oe===!1&&rt.gitRemote||ee===!0&&!rt.claudemdPreview||ee===!1&&rt.claudemdPreview))return!1;if(f){const sn=f.toLowerCase();if(!(Ve.displayPath.toLowerCase().includes(sn)||((($t=rt==null?void 0:rt.cwd)==null?void 0:$t.toLowerCase().includes(sn))??!1)||(((ur=rt==null?void 0:rt.name)==null?void 0:ur.toLowerCase().includes(sn))??!1)||(((Pr=rt==null?void 0:rt.gitRemote)==null?void 0:Pr.toLowerCase().includes(sn))??!1)||(((Xr=rt==null?void 0:rt.claudemdPreview)==null?void 0:Xr.toLowerCase().includes(sn))??!1)))return!1}return!0}),Ze=[...Le].sort((Ve,rt)=>{var Xr,sn;const $t=V[Ve.encoded]?1:0,ur=V[rt.encoded]?1:0;if($t!==ur)return ur-$t;let Pr=0;switch(z.col){case"project":{const Li=((Xr=a[Ve.encoded])==null?void 0:Xr.cwd)??Ve.displayPath,pn=((sn=a[rt.encoded])==null?void 0:sn.cwd)??rt.displayPath;Pr=Li.localeCompare(pn);break}case"sessions":Pr=Ve.sessionCount-rt.sessionCount;break;case"last":Pr=Ve.lastSession-rt.lastSession;break;case"size":Pr=Ve.sizeBytes-rt.sizeBytes;break}return z.dir==="asc"?Pr:-Pr}),ut=Ze.length>0&&Ze.every(Ve=>h.has(Ve.encoded)),dt=Ze.some(Ve=>h.has(Ve.encoded));B.useEffect(()=>{O.current&&(O.current.indeterminate=dt&&!ut)},[dt,ut]);const dr=()=>{y(ut?Ve=>{const rt=new Set(Ve);return Ze.forEach($t=>rt.delete($t.encoded)),rt}:Ve=>{const rt=new Set(Ve);return Ze.forEach($t=>rt.add($t.encoded)),rt})},Xt=async Ve=>{var rt;return((rt=a[Ve.encoded])==null?void 0:rt.cwd)??await YC(Ve.path)},Jt=Ve=>T(Ve),cr=async Ve=>{var ur;let rt=((ur=a[Ve.encoded])==null?void 0:ur.cwd)??null;if(rt||(rt=await YC(Ve.path)),!rt&&(rt=await window.api.app.pickDirectory(),!rt))return;const $t=crypto.randomUUID();I({id:$t,cwd:rt,startupCommand:`claude --dangerously-skip-permissions --session-id ${Io($t)}`,presetId:"projects-tab"})},Nr=async Ve=>{const rt=await Xt(Ve);if(!rt){Jt("Project directory not yet resolved");return}const $t=await window.api.app.openInEditor(rt,_e||null);$t.ok||Jt($t.error??"No editor found")},wr=async Ve=>{const rt=await Xt(Ve);if(!rt){Jt("Project directory not yet resolved");return}const $t=await window.api.app.openInFinder(rt);$t.ok||Jt($t.error??"Failed to open file manager")},nn=async Ve=>{const rt=await Xt(Ve);if(!rt){Jt("Project directory not yet resolved");return}const $t=await window.api.app.openInTerminal(rt);$t.ok||Jt($t.error??"No terminal emulator found")},Wr=Ve=>{k(Ve.encoded)},ii=async Ve=>{b(null),S(!0);const rt=[];for(const $t of Ve)try{const ur=await window.api.app.archiveProject($t);ur.ok?rt.push($t):Jt(ur.error??`Failed to archive ${$t}`)}catch(ur){Jt(ur instanceof Error?ur.message:"Archive failed")}rt.length&&(n($t=>$t.filter(ur=>!rt.includes(ur.encoded))),y($t=>{const ur=new Set($t);return rt.forEach(Pr=>ur.delete(Pr)),ur}),x&&rt.includes(x)&&k(null)),S(!1)},Kn=r.length,mr=r.filter(Ve=>We-Ve.lastSession<QC).length,vt=r.reduce((Ve,rt)=>Ve+rt.sessionCount,0),Et=r.reduce((Ve,rt)=>Ve+rt.sizeBytes,0),It=[...r].filter(Ve=>We-Ve.lastSession<QC).sort((Ve,rt)=>rt.sessionCount-Ve.sessionCount).slice(0,3),Pt=Ve=>{var $t;const rt=($t=N.current)==null?void 0:$t.querySelector(`[data-row-key="${Ve}"]`);rt==null||rt.scrollIntoView({behavior:"smooth",block:"center"}),A(Ve),setTimeout(()=>A(null),2e3)},Ir=(Ve,rt)=>c.jsx(No,{content:`Sort by ${rt}`,align:"bottom-center",children:c.jsxs("button",{onClick:()=>H(Ve),title:`Sort by ${rt}`,className:"flex items-center gap-1 hover:text-fg w-full uppercase tracking-wider",children:[c.jsx("span",{children:rt}),z.col===Ve&&c.jsx("span",{className:"text-[10px] leading-none",children:z.dir==="asc"?"▲":"▼"})]})}),yi=x?((si=a[x])==null?void 0:si.cwd)??null:null,ka=x?((In=a[x])==null?void 0:In.cwd)??`/${XC(x)}`:"",Di=[];Me&&Di.push({key:"branch",header:"branch",width:"8rem",render:Ve=>{const rt=a[Ve.encoded];return rt?rt.lastBranch?c.jsx("span",{className:"font-mono text-fg-faint truncate block",children:rt.lastBranch}):c.jsx("span",{className:"text-fg-faint",children:"—"}):c.jsx(JC,{})}}),Ge&&Di.push({key:"remote",header:"remote",render:Ve=>{const rt=a[Ve.encoded];return rt?rt.gitRemote?c.jsx("span",{className:"font-mono text-fg-faint truncate block text-[10px]",children:rt.gitRemote}):c.jsx("span",{className:"text-fg-faint",children:"—"}):c.jsx(JC,{})}});const Cr=[{key:"select",header:c.jsx("input",{ref:O,type:"checkbox",checked:ut,onChange:dr,className:"accent-accent cursor-pointer",title:"Select all visible",onClick:Ve=>Ve.stopPropagation()}),width:"2rem",className:"px-1",render:Ve=>c.jsx("input",{type:"checkbox",checked:h.has(Ve.encoded),onChange:()=>{y(rt=>{const $t=new Set(rt);return $t.has(Ve.encoded)?$t.delete(Ve.encoded):$t.add(Ve.encoded),$t})},onClick:rt=>rt.stopPropagation(),className:"accent-accent cursor-pointer"})},{key:"pin",header:"",width:"2rem",className:"px-1",render:Ve=>c.jsx(No,{content:V[Ve.encoded]?"Unpin":"Pin to top",children:c.jsx("button",{onClick:rt=>{rt.stopPropagation(),F(Ve.encoded)},title:V[Ve.encoded]?"Unpin":"Pin to top",className:`text-sm leading-none transition-colors ${V[Ve.encoded]?"text-yellow-400":"text-fg-faint hover:text-fg-dim"}`,children:V[Ve.encoded]?"★":"☆"})})},{key:"path",header:Ir("project","project"),render:Ve=>{const rt=a[Ve.encoded],$t=(rt==null?void 0:rt.cwd)??`/${Ve.displayPath}`,ur=c.jsx("span",{className:"font-mono text-fg-dim truncate block max-w-[22rem]",children:$t});return rt!=null&&rt.claudemdPreview?c.jsx(No,{content:c.jsx("span",{className:"font-mono text-[9px] whitespace-pre-wrap",children:rt.claudemdPreview}),align:"bottom-center",children:ur}):ur}},{key:"name",header:"name",width:"7rem",render:Ve=>{const rt=a[Ve.encoded];return rt?c.jsx("span",{className:"text-fg-dim truncate block",children:rt.name??"—"}):c.jsx(JC,{})}},{key:"sessions",header:Ir("sessions","sessions"),width:"6rem",render:Ve=>c.jsx("span",{className:"text-fg-dim",children:Ve.sessionCount})},{key:"size",header:Ir("size","size"),width:"6rem",render:Ve=>c.jsx("span",{className:"text-fg-faint",children:df(Ve.sizeBytes)})},{key:"last",header:Ir("last","last active"),width:"9rem",render:Ve=>c.jsx("span",{className:"text-fg-faint",children:x0e(Ve.lastSession)})},...Di,{key:"action",header:"",width:"11rem",render:Ve=>{const rt=a[Ve.encoded],$t=!!(rt!=null&&rt.claudemdPreview);return c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx(lp,{tip:"Open in new terminal session",onClick:()=>cr(Ve),children:"▷"}),c.jsx(lp,{tip:"Open in editor",onClick:()=>Nr(Ve),children:"✏"}),c.jsx(lp,{tip:"Open in file manager",onClick:()=>wr(Ve),children:"⌂"}),c.jsx(lp,{tip:"Open in terminal",onClick:()=>nn(Ve),children:"⊞"}),c.jsx(lp,{tip:$t?"Preview CLAUDE.md":"No CLAUDE.md",onClick:()=>Wr(Ve),disabled:!$t,children:"Ⓜ"}),c.jsx(lp,{tip:"Archive project",onClick:()=>b([Ve.encoded]),danger:!0,children:"⊗"})]})}}];return c.jsxs("div",{className:"h-full flex flex-col",children:[!i&&r.length>0&&c.jsxs("div",{className:"shrink-0 border-b border-line bg-bg px-3 py-1.5 flex items-center gap-4 text-[10px] text-fg-faint flex-wrap",children:[c.jsxs("span",{children:[c.jsx("span",{className:"text-fg-dim font-medium",children:Kn})," projects"]}),c.jsxs("span",{children:[c.jsx("span",{className:"text-fg-dim font-medium",children:mr})," active 7d"]}),c.jsxs("span",{children:[c.jsx("span",{className:"text-fg-dim font-medium",children:vt})," sessions"]}),c.jsxs("span",{children:[c.jsx("span",{className:"text-fg-dim font-medium",children:df(Et)})," on disk"]}),It.length>0&&c.jsxs("span",{className:"flex items-center gap-1 flex-wrap",children:[c.jsx("span",{className:"text-fg-faint",children:"most active:"}),It.map(Ve=>{var $t,ur,Pr;const rt=((ur=($t=a[Ve.encoded])==null?void 0:$t.cwd)==null?void 0:ur.split("/").pop())??Ve.displayPath.split("/").pop()??Ve.encoded;return c.jsx("button",{onClick:()=>Pt(Ve.encoded),className:"px-1.5 py-0 rounded border border-line hover:border-fg-faint hover:text-fg transition-colors font-mono",title:((Pr=a[Ve.encoded])==null?void 0:Pr.cwd)??Ve.displayPath,children:rt},Ve.encoded)})]})]}),c.jsx("div",{className:"shrink-0 border-b border-line bg-bg-elev px-3 py-1.5 text-xs",children:c.jsxs("div",{className:"flex flex-col gap-1.5 w-full py-0.5",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"search",placeholder:"search projects…",value:o,onChange:Ve=>u(Ve.target.value),className:"h-6 px-2 bg-bg border border-line rounded text-xs text-fg placeholder:text-fg-faint focus:outline-none focus:border-fg-faint w-48"}),c.jsx("span",{className:"text-fg-faint",children:Le.length===r.length?`${r.length} projects`:`${Le.length} of ${r.length}`}),c.jsx("div",{className:"flex-1"}),c.jsx(No,{content:"Preferred editor for 'Open in editor' action",children:c.jsx("select",{value:_e,onChange:Ve=>Ae(Ve.target.value),className:"h-6 bg-bg border border-line rounded text-xs text-fg-dim px-1 focus:outline-none focus:border-fg-faint",children:_0e.map(Ve=>c.jsxs("option",{value:Ve.value,children:["Editor: ",Ve.label]},Ve.value))})}),c.jsx("span",{className:"text-fg-faint font-mono truncate",children:"~/.claude/projects/"})]}),c.jsxs("div",{className:"flex items-center gap-1 flex-wrap",children:[c.jsx(hu,{label:"All",active:X==="all",onClick:()=>se("all"),tip:"Show all projects"}),c.jsx(hu,{label:"≤7d",active:X==="7d",onClick:()=>se("7d"),tip:"Active in last 7 days"}),c.jsx(hu,{label:"≤30d",active:X==="30d",onClick:()=>se("30d"),tip:"Active in last 30 days"}),c.jsx("span",{className:"w-px h-3 bg-line mx-0.5 shrink-0"}),c.jsx(hu,{label:"Has remote",active:oe===!0,onClick:()=>Q(oe===!0?null:!0),tip:"Only projects with a git remote"}),c.jsx(hu,{label:"No remote",active:oe===!1,onClick:()=>Q(oe===!1?null:!1),tip:"Only projects without a git remote"}),c.jsx("span",{className:"w-px h-3 bg-line mx-0.5 shrink-0"}),c.jsx(hu,{label:"Has CLAUDE.md",active:ee===!0,onClick:()=>Y(ee===!0?null:!0),tip:"Only projects with a CLAUDE.md"}),c.jsx(hu,{label:"No CLAUDE.md",active:ee===!1,onClick:()=>Y(ee===!1?null:!1),tip:"Only projects without a CLAUDE.md"}),c.jsx("span",{className:"w-px h-3 bg-line mx-0.5 shrink-0"}),c.jsx(hu,{label:"Pinned",active:te,onClick:()=>ce(!te),tip:"Only pinned projects"})]})]})}),c.jsxs("div",{className:"flex-1 min-h-0 flex relative",children:[c.jsx("div",{className:"flex-1 min-w-0 overflow-auto",ref:N,children:i?c.jsx(qt,{title:"scanning projects…"}):c.jsx(AT,{columns:Cr,rows:Ze,getKey:Ve=>Ve.encoded,activeKey:j,empty:"no projects with claude session history"})}),x&&yi&&c.jsx(b0e,{cwd:yi,projectName:ka,onClose:()=>k(null)})]}),h.size>0&&c.jsxs("div",{className:"shrink-0 border-t border-line bg-bg-elev px-3 py-2 flex items-center gap-2 text-xs",children:[c.jsxs("span",{className:"text-fg-faint",children:[h.size," selected"]}),c.jsx("div",{className:"flex-1"}),w&&c.jsx("span",{className:"text-fg-faint animate-pulse",children:"archiving…"}),c.jsxs("button",{onClick:()=>b(Array.from(h)),disabled:w,className:"px-2 py-1 border border-red-900/50 text-red-400/80 rounded hover:bg-red-950/30 hover:text-red-400 disabled:opacity-40 transition-colors",children:["Archive ",h.size]}),c.jsx("button",{onClick:async()=>{const Ve=r.filter(rt=>h.has(rt.encoded));for(const rt of Ve)await Nr(rt)},disabled:w,className:"px-2 py-1 border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi disabled:opacity-40 transition-colors",children:"Open all in editor"}),c.jsx("button",{onClick:()=>y(new Set),className:"px-2 py-1 border border-line rounded text-fg-faint hover:text-fg hover:bg-bg-hi transition-colors",children:"Cancel"})]}),c.jsxs(kc,{open:!!_,onClose:()=>b(null),title:"Archive projects?",children:[c.jsxs("p",{className:"text-sm text-fg-dim mb-1",children:["Move ",(_==null?void 0:_.length)??0," project",((_==null?void 0:_.length)??0)!==1?"s":""," to"]}),c.jsx("p",{className:"text-xs text-fg-faint font-mono mb-4",children:"~/.claude/projects-archive/"}),_&&_.length<=5&&c.jsx("ul",{className:"mb-4 space-y-0.5 text-[10px] font-mono text-fg-faint",children:_.map(Ve=>{var rt;return c.jsx("li",{className:"truncate",children:((rt=a[Ve])==null?void 0:rt.cwd)??`/${XC(Ve)}`},Ve)})}),c.jsxs("div",{className:"flex gap-2 justify-end",children:[c.jsx("button",{onClick:()=>b(null),className:"px-3 py-1.5 text-xs border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi",children:"Cancel"}),c.jsx("button",{onClick:()=>_&&ii(_),className:"px-3 py-1.5 text-xs border border-red-900/50 rounded text-red-400 hover:bg-red-950/30",children:"Archive"})]})]}),C&&c.jsx("div",{role:"alert",className:"pointer-events-none fixed bottom-4 right-4 z-50 bg-red-950 border border-red-900/60 text-red-300 text-xs px-3 py-1.5 rounded shadow-lg max-w-xs",children:C})]})}const hT="~/.config/session-manager/doc-editor.json",k0e=20;let ZC=null;function Ev(e){ZC&&clearTimeout(ZC),ZC=setTimeout(async()=>{const r=e();try{const n=await window.api.config.readJson(hT).catch(()=>null),i=(n==null?void 0:n.data)??{};await window.api.config.writeJson(hT,{...i,recents:r.recents,openPaths:Object.keys(r.docs),viewModes:r.viewModes})}catch(n){console.warn("[docEditor] persist failed:",n)}},500)}function m5(e,r){return[r,...e.filter(n=>n!==r)].slice(0,k0e)}const ga=Mn((e,r)=>({docs:{},activePath:null,recents:[],viewModes:{},hydrated:!1,open:async n=>{if(r().docs[n]){e({activePath:n});return}const s=await window.api.docEditor.readFile(n);if(!s.ok){ot.warn(`Could not open ${n.split("/").pop()}: ${s.error??"unknown error"}`),e(l=>({recents:l.recents.filter(o=>o!==n)})),Ev(r);return}const a={path:n,diskText:s.text??"",bufferText:s.text??"",mtimeMs:s.mtimeMs??0,loadedAt:Date.now()};e(l=>({docs:{...l.docs,[n]:a},activePath:n,recents:m5(l.recents,n)})),Ev(r)},close:n=>{var o;const i=r(),s=i.docs[n];if(!s)return;if(s.bufferText!==s.diskText){const u=n.split("/").pop()??n;if(!window.confirm(`"${u}" has unsaved changes. Close without saving?`))return}const a={...i.docs};delete a[n];let l=i.activePath;i.activePath===n&&(l=((o=Object.values(a).sort((f,m)=>m.loadedAt-f.loadedAt)[0])==null?void 0:o.path)??null),e({docs:a,activePath:l}),Ev(r)},setActive:n=>{e({activePath:n})},setViewMode:(n,i)=>{e(s=>({viewModes:{...s.viewModes,[n]:i}})),Ev(r)},edit:(n,i)=>{const s=r().docs[n];s&&e(a=>({docs:{...a.docs,[n]:{...s,bufferText:i}}}))},save:async n=>{const i=r().docs[n];if(!i)return;const s=i.bufferText,a=await window.api.docEditor.writeFile(n,s);if(!a.ok){ot.error(`Save failed for ${n.split("/").pop()}: ${a.error??"unknown"}`);return}e(l=>{const o=l.docs[n];return o?{docs:{...l.docs,[n]:{...o,diskText:s,mtimeMs:a.mtimeMs??o.mtimeMs}},recents:m5(l.recents,n)}:{}}),Ev(r)},saveAll:async()=>{const n=Object.values(r().docs).filter(i=>i.bufferText!==i.diskText).map(i=>i.path);await Promise.all(n.map(i=>r().save(i)))},hydrate:async()=>{if(!r().hydrated){e({hydrated:!0});try{const i=(await window.api.config.readJson(hT)).data??{},s=Array.isArray(i.recents)?i.recents:[],a=Array.isArray(i.openPaths)?i.openPaths:[],l=i.viewModes??{},o={};for(const[u,f]of Object.entries(l))(f==="wysiwyg"||f==="source")&&(o[u]=f);e({recents:s,viewModes:o});for(const u of a)await r().open(u)}catch(n){console.warn("[docEditor] hydrate failed:",n)}}}}));window.__docEditor=ga;const C0e={json:"json",ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",cjs:"javascript",mjs:"javascript",py:"python",sh:"shell",bash:"shell",yaml:"yaml",yml:"yaml",toml:"ini",css:"css",html:"html",xml:"xml",sql:"sql",rs:"rust",go:"go",md:"markdown",markdown:"markdown"},g5={Dockerfile:"dockerfile",Makefile:"makefile"};function E0e(e){const r=e.split("/").pop()??e;if(g5[r])return g5[r];const n=r.lastIndexOf(".");if(n===-1)return null;const i=r.slice(n+1);return C0e[i]??null}const j0e=B.lazy(()=>nm(()=>import("./TiptapBody-BIuH7h34.js"),__vite__mapDeps([2,0,1]),import.meta.url).then(e=>({default:e.TiptapBody})));function T0e(e){return e.split("/").pop()??e}function A0e(e){return e.endsWith(".md")||e.endsWith(".markdown")}function $0e({docs:e,activePath:r,onSetActive:n,onClose:i}){const s=Object.keys(e);return c.jsx("div",{className:"h-9 bg-bg-elev border-b border-line flex items-center overflow-x-auto shrink-0 px-2 gap-1","data-testid":"doc-tab-strip",children:s.map(a=>{const l=e[a],o=l.bufferText!==l.diskText,u=T0e(a),f=a===r;return c.jsxs("div",{className:`group px-3 py-1 flex items-center gap-1 rounded-t text-xs shrink-0 cursor-pointer transition-colors ${f?"bg-bg-hi text-fg font-semibold border border-b-0 border-accent border-t-2 -mb-px relative z-10":"bg-bg-elev text-fg-dim border border-line hover:text-fg hover:bg-bg"}`,onClick:()=>n(a),title:a,"data-testid":`doc-tab-${u}`,children:[o&&c.jsx("span",{className:"text-amber-400","aria-label":"unsaved changes","data-testid":"doc-tab-dirty",children:"●"}),c.jsx("span",{children:u}),c.jsx("button",{type:"button",onClick:m=>{m.stopPropagation(),i(a)},className:"text-fg-faint opacity-0 group-hover:opacity-100 hover:text-fg ml-1",title:`Close ${u}`,"aria-label":`Close ${u}`,"data-testid":`doc-x-${u}`,children:"×"})]},a)})})}function O0e({path:e,value:r,onChange:n,language:i}){const s=B.useRef(null),a=B.useRef(e);a.current=e;const l=async o=>{s.current=o;const u=await nm(()=>import("./monaco-editor-BW5C4Iv1.js").then(f=>f.b),__vite__mapDeps([0,1]),import.meta.url);o.addCommand(u.KeyMod.CtrlCmd|u.KeyCode.KeyS,()=>{ga.getState().save(a.current)})};return c.jsx(Yw,{path:`file://${e}`,language:i,value:r,onChange:o=>n(o??""),onMount:l,theme:"vs-dark",options:{minimap:{enabled:!1},fontSize:12,fontFamily:"JetBrains Mono, ui-monospace, Menlo, monospace",lineNumbers:"on",renderLineHighlight:"line",scrollBeyondLastLine:!1,tabSize:2,formatOnPaste:!0,automaticLayout:!0,bracketPairColorization:{enabled:!0},wordWrap:"on"}})}function N0e({path:e,value:r,onChange:n}){const i=E0e(e);if(!i){const s=e.split("/").pop()??e;return c.jsx("textarea",{className:"w-full h-full resize-none bg-bg text-fg font-mono text-sm p-3 focus:outline-none leading-relaxed",value:r,onChange:a=>n(a.target.value),spellCheck:!1,"data-testid":"doc-textarea","aria-label":`Edit ${s}`},e)}return c.jsx(O0e,{path:e,value:r,onChange:n,language:i})}function P0e(){const e=ga(b=>b.docs),r=ga(b=>b.activePath),n=ga(b=>b.viewModes),i=ga(b=>b.open),s=ga(b=>b.close),a=ga(b=>b.setActive),l=ga(b=>b.edit),o=ga(b=>b.save),u=ga(b=>b.saveAll),f=ga(b=>b.setViewMode),m=ga(b=>b.hydrate);B.useEffect(()=>{m()},[m]);const h=r?e[r]??null:null,y=Object.values(e).some(b=>b.bufferText!==b.diskText),x=r?n[r]??"wysiwyg":"wysiwyg",k=r?A0e(r):!1,_=async()=>{const b=r?r.split("/").slice(0,-1).join("/"):void 0,w=await window.api.docEditor.pickFile(b?{lastDir:b}:void 0);w.path&&await i(w.path)};return r===null?c.jsx(qt,{title:"No document open",hint:c.jsxs("span",{children:["Click ",c.jsx("strong",{children:"Open…"})," or use"," ",c.jsx("kbd",{className:"px-1 py-0.5 border border-line rounded font-mono text-[10px]",children:"Cmd-K"})," ","and type ",c.jsx("code",{children:"doc:open"})]})}):c.jsxs("div",{className:"h-full flex flex-col",onKeyDown:b=>{(b.ctrlKey||b.metaKey)&&b.key.toLowerCase()==="s"&&!b.shiftKey&&(b.preventDefault(),r&&o(r)),(b.ctrlKey||b.metaKey)&&b.key.toLowerCase()==="w"&&!b.shiftKey&&(b.preventDefault(),r&&s(r))},"data-testid":"doc-editor-panel",children:[c.jsx($0e,{docs:e,activePath:r,onSetActive:a,onClose:s}),c.jsxs("div",{className:"shrink-0 border-b border-line bg-bg-elev px-3 py-1.5 flex items-center gap-2 text-xs",children:[c.jsx("button",{type:"button",onClick:_,className:"px-2 py-1 border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi transition-colors","data-testid":"doc-open-btn",children:"Open…"}),c.jsx("button",{type:"button",onClick:()=>r&&o(r),disabled:!h||h.bufferText===h.diskText,className:"px-2 py-1 border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi transition-colors disabled:opacity-40 disabled:cursor-not-allowed","data-testid":"doc-save-btn",children:"Save"}),c.jsx("button",{type:"button",onClick:()=>u(),disabled:!y,className:"px-2 py-1 border border-line rounded text-fg-dim hover:text-fg hover:bg-bg-hi transition-colors disabled:opacity-40 disabled:cursor-not-allowed","data-testid":"doc-save-all-btn",children:"Save All"}),k&&r&&c.jsxs("div",{className:"flex items-center border border-line rounded overflow-hidden text-[11px]","data-testid":"view-mode-toggle",children:[c.jsx("button",{type:"button",onClick:()=>f(r,"wysiwyg"),className:`px-2 py-0.5 transition-colors ${x==="wysiwyg"?"bg-accent text-bg font-semibold":"text-fg-dim hover:text-fg hover:bg-bg-hi"}`,"data-testid":"view-mode-wysiwyg",children:"WYSIWYG"}),c.jsx("button",{type:"button",onClick:()=>f(r,"source"),className:`px-2 py-0.5 transition-colors ${x==="source"?"bg-accent text-bg font-semibold":"text-fg-dim hover:text-fg hover:bg-bg-hi"}`,"data-testid":"view-mode-source",children:"Source"})]}),r&&c.jsx("span",{className:"ml-2 text-fg-faint truncate flex-1 font-mono text-[11px]",title:r,children:r})]}),c.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:k&&x==="wysiwyg"&&r&&h?c.jsx(B.Suspense,{fallback:c.jsx("div",{className:"p-4 text-fg-faint text-sm",children:"Loading editor…"}),children:c.jsx(j0e,{value:h.bufferText,onChange:b=>l(r,b)},r)}):k&&r&&h?c.jsx(Sc,{path:r,value:h.bufferText,onChange:b=>l(r,b)},r):r&&h?c.jsx(N0e,{path:r,value:h.bufferText,onChange:b=>l(r,b)}):null})]})}const R0e=5e3;let t0=null,jv=null;async function pT(e){const r=Date.now();return!(e!=null&&e.fresh)&&t0&&r-t0.at<R0e?t0.result:jv||(jv=(async()=>{try{const n=await window.api.schedule.lintQueue();return t0={result:n,at:Date.now()},n}finally{jv=null}})(),jv)}const v5=2e3;function M0e(e){return e.is_error===!0||e.error!=null&&e.error!==""||e.type==="result"&&e.subtype!=="success"&&e.subtype!=null}function I0e(e){return typeof e.error=="string"&&e.error?e.error:typeof e.result=="string"&&e.result?e.result:typeof e.subtype=="string"?e.subtype:JSON.stringify(e).slice(0,200)}function D0e(e){if(typeof e.text=="string")return e.text.slice(0,200);if(typeof e.content=="string")return e.content.slice(0,200);if(Array.isArray(e.content)){for(const n of e.content)if(n&&typeof n=="object"&&"text"in n&&typeof n.text=="string")return n.text.slice(0,200)}const r=e.message;if(r&&typeof r=="object"){const n=r;if(typeof n.content=="string")return n.content.slice(0,200);if(Array.isArray(n.content)){for(const i of n.content)if(i&&typeof i=="object"&&"text"in i&&typeof i.text=="string")return i.text.slice(0,200)}}return typeof e.result=="string"&&e.result?e.result.slice(0,200):typeof e.subtype=="string"?e.subtype:JSON.stringify(e).slice(0,200)}function L0e(e){if(!e||!e.trim())return{events:[],errors:{count:0,firstMessage:null},rawLineCount:0,truncated:!1};const n=e.split(`
3508
3508
  `).filter(f=>f.trim().length>0),i=n.length,s=i>v5,a=s?n.slice(0,v5):n,l=[];let o=0,u=null;for(const f of a){let m=null;try{const h=JSON.parse(f);h!==null&&typeof h=="object"&&!Array.isArray(h)&&"type"in h&&(m=h)}catch{}if(m!==null){const h=typeof m.type=="string"?m.type:"unknown",y=M0e(m);y&&(o++,u===null&&(u=I0e(m))),l.push({type:h,raw:f,preview:D0e(m),isError:y})}else l.push({type:"raw",raw:f,preview:f.slice(0,200),isError:!1})}return{events:l,errors:{count:o,firstMessage:u},rawLineCount:i,truncated:s}}const B0e={assistant:"accent",user:"default",system:"dim",result:"warn",tool_use:"default",tool_result:"default",raw:"dim"};function z0e(e){return B0e[e]??"default"}function $8({runId:e,slug:r,title:n,onClose:i}){const[s,a]=B.useState(!0),[l,o]=B.useState(null),[u,f]=B.useState(""),[m,h]=B.useState(null),[y,x]=B.useState("parsed");return B.useEffect(()=>{a(!0),o(null),window.api.schedule.readLog(e,r).then(k=>{if(k.ok){const _=k.text??"";f(_),h(L0e(_))}else{const _=k.error??"Failed to read log";o(_),ot.error(`Log read failed: ${_}`)}}).catch(k=>{const _=k instanceof Error?k.message:String(k);o(_),ot.error(`Log read failed: ${_}`)}).finally(()=>a(!1))},[e,r]),c.jsx(kc,{open:!0,onClose:i,size:"xl",fillHeight:!0,noPadding:!0,title:n,children:c.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[c.jsxs("div",{className:"shrink-0 flex items-center gap-2 px-4 py-2 border-b border-line",children:[c.jsx("button",{type:"button",onClick:()=>x("parsed"),className:`text-[10px] px-2 py-0.5 rounded border ${y==="parsed"?"bg-accent/20 text-accent border-accent/40":"text-fg-faint border-line hover:text-fg-dim hover:border-fg-faint"}`,children:"Parsed"}),c.jsx("button",{type:"button",onClick:()=>x("raw"),className:`text-[10px] px-2 py-0.5 rounded border ${y==="raw"?"bg-accent/20 text-accent border-accent/40":"text-fg-faint border-line hover:text-fg-dim hover:border-fg-faint"}`,children:"Raw"}),c.jsxs("span",{className:"ml-auto text-[10px] text-fg-faint font-mono",children:[r," · ",e.slice(0,8)]}),c.jsx("button",{type:"button",onClick:i,className:"text-fg-faint hover:text-fg-dim text-sm leading-none ml-1","aria-label":"Close",children:"×"})]}),c.jsxs("div",{className:"flex-1 min-h-0 flex flex-col overflow-hidden",children:[s&&c.jsx("div",{className:"flex-1 flex items-center justify-center text-[11px] text-fg-faint",children:"Loading log…"}),!s&&l&&c.jsx("div",{className:"flex-1 flex items-center justify-center",children:c.jsx("div",{className:"text-[11px] text-red-300 px-6 text-center max-w-md",children:l})}),!s&&!l&&y==="raw"&&c.jsx("pre",{className:"flex-1 overflow-auto p-4 text-[10px] font-mono text-fg-dim whitespace-pre-wrap break-all leading-relaxed",children:u||c.jsx("span",{className:"text-fg-faint italic",children:"log is empty"})}),!s&&!l&&y==="parsed"&&m&&c.jsx(F0e,{parsed:m,onSwitchRaw:()=>x("raw")})]})]})})}function F0e({parsed:e,onSwitchRaw:r}){const{events:n,errors:i,rawLineCount:s,truncated:a}=e;return n.length===0?c.jsx("div",{className:"flex-1 flex items-center justify-center text-[11px] text-fg-faint italic",children:"log is empty"}):c.jsxs("div",{className:"flex-1 min-h-0 flex flex-col overflow-hidden",children:[c.jsx("div",{className:`shrink-0 px-4 py-2 border-b border-line text-[11px] ${i.count>0?"bg-red-950/20":"bg-bg-elev/50"}`,children:i.count>0?c.jsxs("span",{className:"text-red-300",children:[c.jsxs("span",{className:"font-medium",children:[i.count," error",i.count===1?"":"s"," detected"]}),i.firstMessage&&c.jsx("span",{className:"text-red-300/70 ml-2 font-mono",children:i.firstMessage.slice(0,120)})]}):c.jsx("span",{className:"text-green-400/70",children:"no errors detected"})}),a&&c.jsxs("div",{className:"shrink-0 px-4 py-1.5 border-b border-line bg-yellow-950/20 text-[10px] text-yellow-400/80",children:["showing first ",n.length," of ",s," events —"," ",c.jsx("button",{type:"button",onClick:r,className:"underline hover:text-yellow-300",children:"open Raw for full"})]}),c.jsx("div",{className:"flex-1 overflow-y-auto",children:n.map((l,o)=>c.jsx(U0e,{event:l},o))})]})}function U0e({event:e}){const[r,n]=B.useState(!1),i=e.type==="raw";return c.jsxs("div",{className:`flex items-start gap-2 px-3 py-1 border-b border-line/30 cursor-pointer hover:bg-bg-hi ${e.isError?"bg-red-950/10":""}`,onClick:()=>n(s=>!s),children:[c.jsx("div",{className:"shrink-0 pt-0.5 w-16",children:i?c.jsx("span",{className:"text-[9px] text-fg-faint/50 font-mono",children:"raw"}):c.jsx(Vn,{tone:z0e(e.type),className:"text-[9px]",children:e.type})}),c.jsx("div",{className:"flex-1 min-w-0",children:r?c.jsx("pre",{className:"text-[10px] font-mono text-fg-dim whitespace-pre-wrap break-all",children:e.raw}):c.jsx("span",{className:`text-[10px] truncate block ${i?"text-fg-faint/60 font-mono":"text-fg-dim"}`,children:e.preview||c.jsx("span",{className:"italic text-fg-faint/40",children:"(empty)"})})})]})}function O8({options:e,value:r,onChange:n,pillPadding:i="px-3 py-1.5"}){return c.jsx("div",{className:"flex gap-1.5 flex-wrap",children:e.map(s=>{const a=s.value===r;return c.jsx("button",{type:"button",onClick:()=>n(s.value),className:`rounded-full ${i} text-[12.5px] border transition-colors ${a?"bg-accent text-white border-accent font-semibold":"bg-bg-hi text-fg-dim border-line hover:border-fg-faint font-medium"}`,children:s.label},s.value)})})}const y5=["#6f7d52","#b85c34","#8a7a60","#e4b85a","#5f6f86","#4f7d72","#8a5a6e"];function q0e(e){let r=0;for(let n=0;n<e.length;n++)r=r*31+e.charCodeAt(n)>>>0;return r}function W0e(e,r){const n=e?e.split("/").filter(Boolean).pop()??"":r??"";return y5[q0e(n)%y5.length]}const H0e={running:"bg-accent text-white",pending:"bg-bg text-fg-dim border border-line",completed:"bg-sage/20 text-sage",needs_review:"bg-butter/25 text-fg-dim",failed:"bg-accent/15 text-accent"},G0e={pending:"○",completed:"✓",needs_review:"!",failed:"✕"};function N8({status:e}){const r=G0e[e];return c.jsxs("span",{className:`inline-flex items-center gap-1.5 shrink-0 px-2.5 py-1 rounded-lg min-w-[104px] justify-center text-xs font-semibold tracking-wide ${H0e[e]}`,role:"status","aria-label":`Status: ${e.replace("_"," ")}`,children:[e==="running"?c.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-white animate-pulse","aria-hidden":"true"}):r&&c.jsx("span",{"aria-hidden":"true",children:r}),e.replace("_"," ")]})}function o$({cwd:e,name:r}){const n=r??(e?e.split("/").filter(Boolean).pop()??e:"—"),i=W0e(e,r);return c.jsxs("span",{className:"inline-flex items-center gap-1.5 font-mono text-xs text-fg-faint",children:[c.jsx("span",{className:"w-1.5 h-1.5 rounded-full shrink-0",style:{backgroundColor:i},"aria-hidden":"true"}),n]})}function Su({label:e,children:r}){return c.jsxs("div",{children:[c.jsx("div",{className:"text-[11px] font-bold tracking-[0.7px] uppercase text-fg-faint mb-2",children:e}),c.jsx("div",{className:"grid gap-1.5",children:r})]})}function Pi({k:e,v:r,wrap:n}){return c.jsxs("div",{className:"flex gap-2 font-mono text-xs leading-relaxed",children:[c.jsx("span",{className:"text-fg-faint shrink-0 w-14",children:e}),c.jsx("span",{className:`text-fg ${n?"break-all":""}`,children:r})]})}function eE({dotClass:e,n:r,label:n}){return c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[13px] text-fg-dim",children:[c.jsx("span",{className:`w-2 h-2 rounded-full ${e}`,"aria-hidden":"true"}),c.jsx("strong",{className:"text-fg font-mono text-[13.5px]",children:r})," ",n]})}const V0e={running:{bg:"bg-butter/30",text:"text-fg-dim",border:!1,label:"running"},queued:{bg:"bg-sage/25",text:"text-sage",border:!1,label:"queued"},ready:{bg:"bg-bg",text:"text-fg-dim",border:!0,label:"ready to run"},draft:{bg:"bg-bg",text:"text-fg-faint",border:!0,label:"draft"},completed:{bg:"bg-sage/20",text:"text-sage",border:!1,label:"completed"},failed:{bg:"bg-accent/15",text:"text-accent",border:!1,label:"failed"},needs_review:{bg:"bg-butter/25",text:"text-fg-dim",border:!1,label:"needs review"}},K0e=5,X0e=1440*60*1e3,P8="sm.scheduler.hiddenCompletedSlugs",tE="sm.scheduler.focusedJobIndex",R8="sm.scheduler.queueFilter",Y0e=["all","running","pending","completed","needs_review","failed"];function J0e(){try{const e=localStorage.getItem(R8);if(!e)return{text:"",status:"all"};const r=JSON.parse(e);return{text:"",status:Y0e.includes(r.status)?r.status:"all"}}catch{return{text:"",status:"all"}}}function Q0e(e){try{localStorage.setItem(R8,JSON.stringify({status:e.status}))}catch{}}function Z0e(e,r){if(r.status==="all"&&!r.text)return e;const n=r.text.toLowerCase();return e.filter(i=>{if(r.status!=="all"&&i.status!==r.status)return!1;if(!n)return!0;const s=twe(i.cwd)??"";return i.title.toLowerCase().includes(n)||i.slug.toLowerCase().includes(n)||s.toLowerCase().includes(n)})}const b5={halt:"verifier halted",deps_unmet:"dependencies unmet",transcript_errors:"transcript had errors",verify_unavailable:"verify unavailable",uncommitted_changes:"uncommitted changes"};function ewe(){try{const e=localStorage.getItem(P8);if(!e)return new Set;const r=JSON.parse(e);return Array.isArray(r)?new Set(r.filter(n=>typeof n=="string")):new Set}catch{return new Set}}function x5(e){try{localStorage.setItem(P8,JSON.stringify([...e]))}catch{}}function twe(e){if(!e)return null;const r=e.replace(/\/+$/,"").split("/");return r[r.length-1]||e}function rwe(){const e=Tu(_e=>_e.snapshot),[r,n]=B.useState(null),[i,s]=B.useState(!1),[a,l]=B.useState(()=>Date.now()),[o,u]=B.useState(()=>ewe()),[f,m]=B.useState(!1),[h,y]=B.useState(()=>J0e()),[x,k]=B.useState(!1),[_,b]=B.useState("queue"),w=B.useRef(null),[S,C]=B.useState(()=>{try{return Number(localStorage.getItem(tE))||0}catch{return 0}}),[T,j]=B.useState("");B.useEffect(()=>(window.api.schedule.health().then(n).catch(()=>{}),window.api.schedule.onState(()=>{window.api.schedule.health().then(n).catch(()=>{})})),[]),B.useEffect(()=>{const _e=setInterval(()=>l(Date.now()),1e3);return()=>clearInterval(_e)},[]);const A=B.useMemo(()=>{if(!e)return 15e4;const _e=[];for(const Ae of e.jobs)if(Ae.status==="completed"&&Ae.startedAt&&Ae.finishedAt){const ve=Date.parse(Ae.finishedAt)-Date.parse(Ae.startedAt);ve>0&&_e.push(ve)}return _e.length===0?15e4:_e.reduce((Ae,ve)=>Ae+ve,0)/_e.length},[e]),N=B.useRef(new Map);if(B.useEffect(()=>{if(!e)return;const _e=[];for(const Ae of e.jobs){const ve=N.current.get(Ae.slug);ve&&ve!==Ae.status&&_e.push(`${Ae.title}: ${ve} → ${Ae.status}`),N.current.set(Ae.slug,Ae.status)}_e.length>0&&j(_e.join("; "))},[e]),!e)return null;if(_==="supervisor")return c.jsx(dwe,{supervisorConfig:e.config.supervisor,onSetConfig:_e=>window.api.schedule.setConfig({supervisor:_e}),onBack:()=>b("queue")});const{config:O,jobs:I,paused:W,lastRunAt:G,nextReset:V}=e,F={pending:0,running:0,completed:0,needs_review:0,failed:0};for(const _e of I)_e.status in F&&F[_e.status]++;const z=I.filter(_e=>_e.status==="running"),H=nwe({snap:e,now:a,avgDurationMs:A,runningJobs:z}),X=Z0e(I,h),se=iwe(X),{inline:oe,collapsedCount:Q}=swe(X,o,a,f),ee=()=>{const _e=new Set(o);for(const Ae of I)(Ae.status==="completed"||Ae.status==="failed")&&_e.add(Ae.slug);u(_e),x5(_e)},Y=async()=>{const _e=I.filter(ie=>ie.status!=="running").length;if(_e===0)return;const Ae=`Archive ${_e} non-running PRD${_e===1?"":"s"} and remove from the queue?
3509
3509
 
3510
3510
  Files are moved to prds-archived/<timestamp>/ and can be restored from disk. Running jobs are kept.`;if(!window.confirm(Ae))return;const ve=await window.api.schedule.clearQueue();ve.ok||ot.error(`Clear queue failed: ${ve.error??"unknown error"}`)},te=()=>{u(new Set),x5(new Set),m(!1)},ce=oe.some(_e=>_e.status==="completed"),we=B.useCallback(_e=>{var ve,ie,ye;const Ae=(ve=w.current)==null?void 0:ve.querySelectorAll("[data-job-row]");if(!(!Ae||Ae.length===0)){if(_e.key==="ArrowDown"){_e.preventDefault();const xe=Math.min(S+1,Ae.length-1);C(xe);try{localStorage.setItem(tE,String(xe))}catch{}(ie=Ae[xe])==null||ie.focus()}else if(_e.key==="ArrowUp"){_e.preventDefault();const xe=Math.max(S-1,0);C(xe);try{localStorage.setItem(tE,String(xe))}catch{}(ye=Ae[xe])==null||ye.focus()}}},[S]);return c.jsxs("div",{className:"overflow-y-auto h-full",children:[c.jsx("div",{"aria-live":"polite","aria-atomic":"true",className:"sr-only",children:T}),c.jsxs("div",{className:"px-9 py-6 max-w-[1100px] mx-auto space-y-4",children:[c.jsxs("div",{className:`flex flex-wrap items-center gap-3 px-4 py-3 rounded-xl border ${owe(H.kind)}`,title:H.tooltip,children:[c.jsxs("div",{className:"flex items-center gap-2.5 min-w-0 flex-1",children:[c.jsx(awe,{kind:H.kind}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[13px] font-medium text-fg truncate",children:H.line1}),H.line2&&c.jsx("div",{className:"text-[11.5px] text-fg-faint font-mono mt-0.5 truncate",children:H.line2})]})]}),H.action&&c.jsx("button",{type:"button",onClick:H.action.onClick,className:"text-[12px] px-3 py-1.5 border border-line hover:border-fg-faint rounded-lg shrink-0 hover:bg-bg-hi text-fg-dim hover:text-fg",title:H.action.title,children:H.action.label})]}),r&&r.consecutiveFailures>5&&r.lastFailureKind==="meter_rate_limited"&&!W&&!x&&c.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-3 bg-amber-400/15 border border-amber-400/30 rounded-xl",children:[c.jsx("span",{className:"text-[12.5px] text-amber-400 font-medium",children:"Meter rate-limited — firing on heuristic"}),c.jsx("button",{type:"button",onClick:()=>k(!0),className:"text-[12px] text-amber-400/70 hover:text-amber-400 shrink-0",title:"Dismiss this banner. The scheduler continues firing normally.",children:"Dismiss"})]}),c.jsxs("div",{className:"flex items-center gap-[18px] flex-wrap bg-bg-elev border border-line rounded-xl px-4 py-3",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[13px] text-fg-dim",children:"Start jobs"}),c.jsxs("select",{value:O.firePolicy??"when-available",onChange:_e=>window.api.schedule.setConfig({firePolicy:_e.target.value}),className:"appearance-none border border-line bg-bg-hi rounded-lg px-2.5 py-1.5 font-sans text-[13px] text-fg font-medium",title:"when-available: poll usage and fire when tokens are below threshold. on-reset: fire after each 5h reset. manual: only on Run now.",children:[c.jsx("option",{value:"when-available",children:"when available"}),c.jsx("option",{value:"on-reset",children:"only on reset"}),c.jsx("option",{value:"manual",children:"manually"})]})]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[13px] text-fg-dim",children:"Up to"}),c.jsx("input",{type:"number",min:1,max:20,value:O.concurrencyCap,onChange:_e=>window.api.schedule.setConfig({concurrencyCap:Number(_e.target.value)}),className:"w-11 text-center border border-line bg-bg-hi rounded-lg py-1.5 font-mono text-[13px] text-fg",title:"Max simultaneous jobs within a parallel group"}),c.jsx("span",{className:"text-[13px] text-fg-dim",children:"at once"})]}),(O.firePolicy??"when-available")==="when-available"&&c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[13px] text-fg-dim",children:"Pause above"}),c.jsx("input",{type:"number",min:0,max:100,value:O.utilizationThreshold??90,onChange:_e=>window.api.schedule.setConfig({utilizationThreshold:Number(_e.target.value)}),className:"w-11 text-center border border-line bg-bg-hi rounded-lg py-1.5 font-mono text-[13px] text-fg",title:"Fire only when 5h utilization is below this percent"}),c.jsx("span",{className:"text-[13px] text-fg-dim",children:"% of window"})]}),c.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[c.jsx("button",{type:"button",onClick:()=>window.api.schedule.forceTick(),disabled:F.pending===0&&F.running===0,className:"bg-accent text-white rounded-lg px-4 py-2 text-[13px] font-semibold whitespace-nowrap disabled:opacity-40 disabled:cursor-not-allowed hover:opacity-90",title:"Bypasses the billing-usage poll. Use when the meter is rate-limited or you want immediate progress.",children:"Fire next batch now"}),c.jsx("button",{type:"button",onClick:()=>window.api.schedule.rescan(),className:"bg-bg-hi border border-line text-fg-dim hover:text-fg rounded-lg px-3.5 py-2 text-[13px] font-medium",title:"Re-scan the prds/ folder. Use when you've added or edited PRDs on disk and want the queue to reflect them immediately.",children:"Refresh"})]})]}),z.length>0&&(()=>{var ie;const _e=O.concurrencyCap??4,Ae=(ie=z[0])==null?void 0:ie.parallelGroup,ve=I.filter(ye=>ye.status==="pending"&&ye.parallelGroup===Ae).length;return c.jsxs("div",{className:"flex items-center gap-2 text-[12px] font-mono",children:[c.jsxs("span",{className:"px-2 py-0.5 rounded bg-amber-400/20 text-amber-400 shrink-0",children:[z.length,"/",_e," running"]}),ve>0&&c.jsxs("span",{className:"text-fg-faint",children:["+",ve," ready in this group"]})]})})(),I.length>0&&c.jsx(uwe,{filter:h,onChange:_e=>{y(_e),Q0e(_e)}}),c.jsxs("div",{className:"bg-bg-hi border border-line rounded-2xl overflow-hidden",children:[c.jsxs("div",{className:"flex items-center justify-between px-[18px] py-3 bg-bg-elev",children:[c.jsxs("span",{className:"font-serif text-base font-semibold text-fg",children:[X.length," job",X.length!==1?"s":""]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsxs("span",{className:"font-mono text-[12px] text-fg-faint",children:[F.pending,"p · ",F.running,"r · ",F.completed,"d",F.failed>0&&c.jsxs("span",{className:"text-accent",children:[" · ",F.failed,"f"]})]}),ce&&c.jsx("button",{type:"button",onClick:ee,className:"text-[12.5px] text-fg-dim hover:text-fg bg-transparent border-0 cursor-pointer font-medium",title:"Hide completed jobs from this view (queue.json unchanged — they remain in history)",children:"Clear completed"}),c.jsx("button",{type:"button",onClick:Y,disabled:I.every(_e=>_e.status==="running"),className:"text-[12.5px] text-fg-dim hover:text-accent bg-transparent border-0 cursor-pointer font-medium disabled:opacity-40 disabled:cursor-not-allowed",title:"Archive every non-running PRD (moved to prds-archived/<timestamp>/) and remove them from the queue. Running jobs are kept.",children:"Clear queue"})]})]}),I.length===0&&c.jsxs("div",{className:"px-[18px] py-6 text-[13px] text-fg-faint italic",children:["No PRDs queued. Drop .md files in:",c.jsx("button",{type:"button",onClick:()=>window.api.schedule.openFolder(),className:"block mt-1 text-fg-dim hover:text-fg underline truncate w-full text-left",children:"~/.claude/session-manager/scheduled-plans/prds/"})]}),I.length>0&&oe.length===0&&Q===0&&c.jsx("div",{className:"px-[18px] py-6 text-[13px] text-fg-faint italic",children:"no matching jobs"}),c.jsx("div",{ref:w,role:"list","aria-label":"Job queue",onKeyDown:we,children:oe.map((_e,Ae)=>c.jsx(cwe,{job:_e,eta:lwe(_e,I,se.get(_e.slug)??0,A,H.kind,a),now:a,avgDurationMs:A,listIndex:Ae},_e.slug))}),Q>0&&c.jsxs("button",{type:"button",onClick:()=>m(_e=>!_e),className:"w-full text-left text-[12px] text-fg-faint hover:text-fg-dim px-[18px] py-3 border-t border-line",title:f?"Re-collapse old/cleared completed":"Show all completed (incl. cleared and >24h)",children:[f?"▾":"▸"," ",Q," more completed",o.size>0&&c.jsx("span",{className:"ml-2 underline",onClick:_e=>{_e.stopPropagation(),te()},children:"un-hide"})]})]}),c.jsx(pwe,{snap:e}),c.jsx(hwe,{health:r,now:a,showHealth:i,setShowHealth:s}),c.jsxs("div",{className:"flex items-center justify-between text-[12px] text-fg-faint pt-1 border-t border-line",children:[c.jsxs("span",{children:[V&&c.jsxs("span",{title:`next 5h reset: ${V}`,children:["reset ",Mo(Date.parse(V)-a)]}),G&&c.jsxs("span",{className:"ml-2",title:G,children:["last run ",Mo(a-Date.parse(G))," ago"]})]}),c.jsxs("div",{className:"flex items-center gap-3",children:[c.jsx("button",{type:"button",onClick:()=>b("supervisor"),className:"hover:text-fg-dim underline",title:"Open supervisor log and settings",children:"supervisor"}),c.jsx("button",{type:"button",onClick:()=>window.api.schedule.openFolder(),className:"hover:text-fg-dim underline",children:"folder"})]})]})]})]})}function nwe({snap:e,now:r,avgDurationMs:n,runningJobs:i}){const{config:s,jobs:a,paused:l,nextReset:o,utilization:u}=e;let f=0,m=0;for(const b of a)b.status==="pending"?f++:b.status==="completed"&&m++;const h=i.length,y=f+h,x=s.concurrencyCap??4;if(h>0){const b=i.reduce((j,A)=>(j.startedAt??"")<(A.startedAt??"")?j:A),w=b.startedAt?r-Date.parse(b.startedAt):0,S=m+h,C=m+y,T=h>1?` · ${h}/${x} parallel`:"";return{kind:"running",line1:`Running ${S}/${C}${T} · ${sy(w)}`,line2:h===1?b.title:i.map(j=>j.title).join(", "),tooltip:i.map(j=>`${j.slug} (g${j.parallelGroup})`).join("; ")}}if(l){const b=l.resumeAt?Date.parse(l.resumeAt)-r:null;return{kind:"paused",line1:{rate_limit:"Paused — tokens exhausted",auth:"Paused — authentication failed",network:"Paused — network unreachable",reset_failure:"Paused — billing data unavailable",manual:"Paused — manual"}[l.reason]??`Paused — ${l.reason}`,line2:l.reason==="auth"?"Run `claude` in any terminal to refresh credentials, then Resume":b!==null&&b>0?`auto-resume ${_p(Date.parse(l.resumeAt))} (in ${Mo(b)})`:l.resumeAt?"resuming…":"no auto-resume scheduled",tooltip:l.resumeAt??"",action:{label:"Resume",onClick:()=>window.api.schedule.resume(),title:"Clear the pause and resume queue immediately"}}}if(y===0)return{kind:"idle",line1:"No work queued",line2:null};const k=s.firePolicy??"when-available";if(k==="manual")return{kind:"manual",line1:`Manual · ${f} pending`,line2:"click Fire next batch now to fire",action:{label:"Fire next batch now",onClick:()=>window.api.schedule.forceTick(),title:"Bypasses the billing-usage poll. Use when the meter is rate-limited or you want immediate progress."}};if(k==="on-reset"){if(!o)return{kind:"on-reset",line1:"On-reset · waiting for billing data",line2:null};const b=Date.parse(o)+s.offsetMinutes*6e4,w=b-r;return{kind:"on-reset",line1:`On-reset · ${f} pending`,line2:w>0?`fires ${_p(b)} (in ${Mo(w)})`:"firing now…"}}const _=s.utilizationThreshold??90;if(u==null)return{kind:"auto-soon",line1:`Auto · ${f} pending`,line2:"checking token availability…"};if(u>=_){const b=o?Date.parse(o)-r:null;return{kind:"auto-throttled",line1:`Auto · throttled (util ${u.toFixed(0)}% ≥ ${_}%)`,line2:b&&b>0?`next reset ${_p(Date.parse(o))} (in ${Mo(b)})`:"will fire when usage drops"}}return{kind:"auto-soon",line1:`Auto · ${f} pending · util ${u.toFixed(0)}%`,line2:"fires within 2 min (poll cycle)"}}function iwe(e){const r=e.filter(i=>i.status==="running"||i.status==="pending").sort((i,s)=>i.parallelGroup-s.parallelGroup||i.slug.localeCompare(s.slug)),n=new Map;return r.forEach((i,s)=>n.set(i.slug,s)),n}function swe(e,r,n,i){if(i)return{inline:e,collapsedCount:0};const s=e.filter(f=>f.status==="completed").sort((f,m)=>{const h=f.finishedAt?Date.parse(f.finishedAt):0;return(m.finishedAt?Date.parse(m.finishedAt):0)-h}),a=new Set;let l=0;for(const f of s){if(l>=K0e)break;r.has(f.slug)||f.finishedAt&&n-Date.parse(f.finishedAt)>X0e||(a.add(f.slug),l++)}const o=[];let u=0;for(const f of e){if(f.status==="failed"&&r.has(f.slug)){u++;continue}if(f.status!=="completed"){o.push(f);continue}a.has(f.slug)?o.push(f):u++}return{inline:o,collapsedCount:u}}function awe({kind:e}){return e==="running"?c.jsx("span",{className:"w-2 h-2 rounded-full bg-amber-400 animate-pulse shrink-0"}):e==="paused"?c.jsx("span",{className:"text-[13px] shrink-0",title:"paused",children:"⏸"}):e==="manual"?c.jsx("span",{className:"text-[13px] shrink-0",title:"manual",children:"✋"}):e==="on-reset"||e==="auto-soon"?c.jsx("span",{className:"text-[13px] shrink-0",title:"auto",children:"⏰"}):e==="auto-throttled"?c.jsx("span",{className:"text-[13px] shrink-0",title:"throttled",children:"⏳"}):c.jsx("span",{className:"w-2 h-2 rounded-full bg-fg-faint/40 shrink-0"})}function owe(e){return e==="running"?"bg-amber-400/10 border-amber-400/25":e==="paused"?"bg-amber-500/10 border-amber-500/25":e==="auto-throttled"?"bg-amber-500/5 border-amber-500/15":"bg-bg-elev border-line"}function lwe(e,r,n,i,s,a){if(e.status!=="pending"||s==="paused"||s==="manual"||s==="auto-throttled")return null;let l=n*i;if(n>0){const o=r.find(u=>u.status==="running"&&u.startedAt);o&&o.startedAt&&(l-=Math.min(i,a-Date.parse(o.startedAt)))}return l<=5e3?"~now":`~${sy(l)}`}function cwe({job:e,eta:r,now:n,avgDurationMs:i,listIndex:s}){const[a,l]=B.useState(!1),[o,u]=B.useState(!1),f=e.status==="running",m=e.status==="failed";let h=null;f&&e.startedAt?h=`${S0(n-Date.parse(e.startedAt))} elapsed`:e.status==="completed"&&e.startedAt&&e.finishedAt?h=`took ${sy(Date.parse(e.finishedAt)-Date.parse(e.startedAt))}`:r&&(h=r);const y=e.error??null,x=m&&y?y.split(`